Files
cmdla/project/testing.ipynb
2023-11-25 20:17:20 +01:00

3020 lines
479 KiB
Plaintext
Generated
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "57a2b335-a7f3-4ace-a2d8-52219c4febc5",
"metadata": {},
"outputs": [],
"source": [
"include(\"thinQR.jl\")\n",
"using .thinQR"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "8b3d71f8-2f4f-44f0-8c97-dd9d78706163",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x = [-1.5012955407352218e-16, 0.5000000000000001]\n"
]
},
{
"data": {
"text/plain": [
"3-element Vector{Float64}:\n",
" 0.9999999999999991\n",
" 1.9999999999999996\n",
" 2.9999999999999996"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"A = [1. 2; 3. 4.; 5. 6.]\n",
"A = qrhous!(A)\n",
"b = [1., 2, 3]\n",
"x = A \\ b\n",
"@show x\n",
"A * x"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "afd34800-7b9a-4006-9849-071fa197d962",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x = [5.810770900369532e-16, 0.4999999999999994]\n"
]
},
{
"data": {
"text/plain": [
"3-element Vector{Float64}:\n",
" 0.9999999999999993\n",
" 1.9999999999999993\n",
" 2.999999999999999"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"using LinearAlgebra: \\, qr\n",
"A = [1. 2.; 3. 4.; 5. 6.]\n",
"(Q, R) = qr(A)\n",
"x = A \\ [1., 2, 3]\n",
"@show x\n",
"A * x"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "d7d24c53-5485-4f8a-bea3-3fe4ec1f456b",
"metadata": {},
"outputs": [],
"source": [
"using BenchmarkTools\n",
"A=randn(100, 10_000)\n",
"a=deepcopy(A)\n",
"y=randn(100);"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "652fe3c4-6b44-45e1-9bdc-5d7d41b55c6a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 20 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m246.781 ms\u001b[22m\u001b[39m … \u001b[35m278.597 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m18.71% … 22.05%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m250.615 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m19.94%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m252.757 ms\u001b[22m\u001b[39m ± \u001b[32m 7.079 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m20.18% ± 0.96%\n",
"\n",
" \u001b[39m \u001b[39m \u001b[39m \u001b[39m▄\u001b[39m▁\u001b[39m█\u001b[34m \u001b[39m\u001b[39m \u001b[39m \u001b[39m▁\u001b[39m▁\u001b[32m \u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \n",
" \u001b[39m▆\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[39m█\u001b[39m█\u001b[34m▁\u001b[39m\u001b[39m▁\u001b[39m▆\u001b[39m█\u001b[39m█\u001b[32m▁\u001b[39m\u001b[39m▁\u001b[39m▁\u001b[39m▆\u001b[39m▆\u001b[39m▆\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▆\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▆\u001b[39m \u001b[39m▁\n",
" 247 ms\u001b[90m Histogram: frequency by time\u001b[39m 279 ms \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m1.54 GiB\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m4804\u001b[39m."
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"A = deepcopy(a)\n",
"@benchmark begin x = qrhous!($A) \\ $y; end"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c8e93f5c-b32c-4334-bd97-9779360d5d81",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 85 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m48.265 ms\u001b[22m\u001b[39m … \u001b[35m75.642 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 6.42%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m60.888 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m59.241 ms\u001b[22m\u001b[39m ± \u001b[32m 7.561 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m0.76% ± 1.71%\n",
"\n",
" \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▂\u001b[39m█\u001b[39m█\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[32m \u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[34m▂\u001b[39m\u001b[39m▅\u001b[39m▂\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \n",
" \u001b[39m▅\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m▄\u001b[39m▁\u001b[39m▅\u001b[39m▁\u001b[39m▅\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▅\u001b[39m▁\u001b[32m▁\u001b[39m\u001b[39m▁\u001b[39m▄\u001b[39m▄\u001b[34m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m▅\u001b[39m▄\u001b[39m▄\u001b[39m▁\u001b[39m▅\u001b[39m▅\u001b[39m▅\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▅\u001b[39m▁\u001b[39m▄\u001b[39m▅\u001b[39m▄\u001b[39m▁\u001b[39m▄\u001b[39m▄\u001b[39m▅\u001b[39m▅\u001b[39m▁\u001b[39m▄\u001b[39m▄\u001b[39m▄\u001b[39m \u001b[39m▁\n",
" 48.3 ms\u001b[90m Histogram: frequency by time\u001b[39m 73.7 ms \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m7.92 MiB\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m624\u001b[39m."
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"using LinearAlgebra\n",
"\n",
"@benchmark begin x = $a \\ $y; end"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "43d521a7-6bf4-45c6-abb6-0a07a666570d",
"metadata": {},
"outputs": [],
"source": [
"using Profile, ProfileSVG"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "9443e1c4-03dd-46cb-a8ea-652c6862dbcf",
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<svg version=\"1.1\" width=\"960\" height=\"436\" viewBox=\"0 0 960 436\"\n",
" xmlns=\"http://www.w3.org/2000/svg\" id=\"fig-8b5179c773ea468eb6c7b65a2b2284f0\">\n",
"<defs>\n",
" <clipPath id=\"fig-8b5179c773ea468eb6c7b65a2b2284f0-clip\">\n",
" <rect x=\"0\" y=\"0\" width=\"960\" height=\"436\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<style type=\"text/css\">\n",
" #fig-8b5179c773ea468eb6c7b65a2b2284f0 text {\n",
" pointer-events: none;\n",
" font-family: inherit;\n",
" font-size: 12px;\n",
" fill: #000000;\n",
" }\n",
" text#fig-8b5179c773ea468eb6c7b65a2b2284f0-caption {\n",
" font-size: 16.8px;\n",
" fill: #000000;\n",
" text-anchor: middle;\n",
" }\n",
" #fig-8b5179c773ea468eb6c7b65a2b2284f0-bg {\n",
" fill: #FFFFFF;\n",
" }\n",
" #fig-8b5179c773ea468eb6c7b65a2b2284f0-viewport rect, #fig-8b5179c773ea468eb6c7b65a2b2284f0-viewport path {\n",
" vector-effect: non-scaling-stroke;\n",
" fill-opacity: 1;\n",
" }\n",
" #fig-8b5179c773ea468eb6c7b65a2b2284f0-viewport text {\n",
" stroke: #000000;\n",
" stroke-width: 0;\n",
" stroke-opacity: 0.35;\n",
" }\n",
" #fig-8b5179c773ea468eb6c7b65a2b2284f0-viewport rect:hover, #fig-8b5179c773ea468eb6c7b65a2b2284f0-viewport path:hover {\n",
" fill-opacity: 0.75;\n",
" stroke: #000000;\n",
" stroke-width: 0.5;\n",
" }\n",
" #fig-8b5179c773ea468eb6c7b65a2b2284f0-viewport + rect {\n",
" fill: #FFFFFF;\n",
" opacity: 0.8;\n",
" }\n",
" text#fig-8b5179c773ea468eb6c7b65a2b2284f0-details{\n",
" fill: #000000;\n",
" }\n",
"</style>\n",
"<g id=\"fig-8b5179c773ea468eb6c7b65a2b2284f0-frame\" clip-path=\"url(#fig-8b5179c773ea468eb6c7b65a2b2284f0-clip)\">\n",
"<rect id=\"fig-8b5179c773ea468eb6c7b65a2b2284f0-bg\" x=\"0\" y=\"0\" width=\"960\" height=\"436\"/>\n",
"<text id=\"fig-8b5179c773ea468eb6c7b65a2b2284f0-caption\" x=\"480\" y=\"24\">Profile results</text>\n",
"<g id=\"fig-8b5179c773ea468eb6c7b65a2b2284f0-viewport\" transform=\"scale(1)\">\n",
"<rect x=\"10\" y=\"383\" width=\"940.75\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"\"/>\n",
"<text x=\"10\" dx=\"4\" y=\"394.25\"> in :-1</text>\n",
"<rect x=\"14.44\" y=\"368\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"379.25\">#15 in task.jl:514</text>\n",
"<rect x=\"14.44\" y=\"353\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"/Users/elvis/.julia/packages/IJulia/Vo51o/src/\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"364.25\">eventloop in eventloop.jl:8</text>\n",
"<rect x=\"14.44\" y=\"338\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"349.25\">invokelatest in essentials.jl:816</text>\n",
"<rect x=\"14.44\" y=\"323\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"334.25\">#invokelatest#2 in essentials.jl:819</text>\n",
"<rect x=\"14.44\" y=\"308\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#D42137\" data-dinfo=\"/Users/elvis/.julia/packages/IJulia/Vo51o/src/\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"319.25\">execute_request in execute_request.jl:67</text>\n",
"<rect x=\"14.44\" y=\"293\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"/Users/elvis/.julia/packages/SoftGlobalScope/u4UzH/src/\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"304.25\">softscope_include_string in SoftGlobalScope.jl:65</text>\n",
"<rect x=\"14.44\" y=\"278\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"289.25\">include_string in loading.jl:1903</text>\n",
"<rect x=\"14.44\" y=\"263\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"274.25\">eval in boot.jl:370</text>\n",
"<rect x=\"14.44\" y=\"248\" width=\"17.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"259.25\">\\ in thinQR.jl:108</text>\n",
"<rect x=\"14.44\" y=\"233\" width=\"17.75\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"244.25\">qyhoust in thinQR.jl:57</text>\n",
"<rect x=\"14.44\" y=\"218\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"229.25\">getindex in abstractarray.jl:1296</text>\n",
"<rect x=\"14.44\" y=\"203\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"214.25\">_getindex in multidimensional.jl:861</text>\n",
"<rect x=\"14.44\" y=\"188\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"199.25\">_unsafe_getindex in multidimensional.jl:875</text>\n",
"<rect x=\"14.44\" y=\"173\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"184.25\">_unsafe_getindex! in multidimensional.jl:884</text>\n",
"<rect x=\"14.44\" y=\"158\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"169.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"14.44\" y=\"143\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"154.25\">macro expansion in multidimensional.jl:889</text>\n",
"<rect x=\"14.44\" y=\"128\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"139.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"23.31\" y=\"218\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"229.25\">- in arraymath.jl:8</text>\n",
"<rect x=\"23.31\" y=\"203\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"214.25\">broadcast_preserving_zero_d in broadcast.jl:862</text>\n",
"<rect x=\"23.31\" y=\"188\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"199.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"23.31\" y=\"173\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"184.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"23.31\" y=\"158\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"169.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"23.31\" y=\"143\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"154.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"23.31\" y=\"128\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"139.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"23.31\" y=\"113\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"124.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"23.31\" y=\"98\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"109.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"32.19\" y=\"248\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"259.25\">qrhous! in thinQR.jl:22</text>\n",
"<rect x=\"32.19\" y=\"233\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"244.25\">getindex in abstractarray.jl:1296</text>\n",
"<rect x=\"32.19\" y=\"218\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"229.25\">_getindex in multidimensional.jl:861</text>\n",
"<rect x=\"32.19\" y=\"203\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"214.25\">_unsafe_getindex in multidimensional.jl:875</text>\n",
"<rect x=\"32.19\" y=\"188\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"199.25\">_unsafe_getindex! in multidimensional.jl:884</text>\n",
"<rect x=\"32.19\" y=\"173\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"184.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"32.19\" y=\"158\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"169.25\">macro expansion in multidimensional.jl:889</text>\n",
"<rect x=\"32.19\" y=\"143\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"154.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"36.62\" y=\"248\" width=\"705.57\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"259.25\">qrhous! in thinQR.jl:31</text>\n",
"<rect x=\"36.62\" y=\"233\" width=\"350.57\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"244.25\">getindex in abstractarray.jl:1296</text>\n",
"<rect x=\"36.62\" y=\"218\" width=\"350.57\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"229.25\">_getindex in multidimensional.jl:861</text>\n",
"<rect x=\"36.62\" y=\"203\" width=\"17.76\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"214.25\">_unsafe_getindex in multidimensional.jl:873</text>\n",
"<rect x=\"36.62\" y=\"188\" width=\"17.76\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"199.25\">similar in abstractarray.jl:838</text>\n",
"<rect x=\"36.62\" y=\"173\" width=\"17.76\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"184.25\">similar in array.jl:374</text>\n",
"<rect x=\"36.62\" y=\"158\" width=\"17.76\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"169.25\">Array in boot.jl:487</text>\n",
"<rect x=\"36.62\" y=\"143\" width=\"17.76\" height=\"15\" rx=\"2\" fill=\"#FFA400\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"154.25\">Array in boot.jl:479</text>\n",
"<rect x=\"54.38\" y=\"203\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"54.38\" dx=\"4\" y=\"214.25\">_unsafe_getindex in multidimensional.jl:875</text>\n",
"<rect x=\"54.38\" y=\"188\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"54.38\" dx=\"4\" y=\"199.25\">_unsafe_getindex! in multidimensional.jl:884</text>\n",
"<rect x=\"54.38\" y=\"173\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"54.38\" dx=\"4\" y=\"184.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"54.38\" y=\"158\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"54.38\" dx=\"4\" y=\"169.25\">macro expansion in multidimensional.jl:889</text>\n",
"<rect x=\"54.38\" y=\"143\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"54.38\" dx=\"4\" y=\"154.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"58.81\" y=\"203\" width=\"328.38\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"58.81\" dx=\"4\" y=\"214.25\">_unsafe_getindex in multidimensional.jl:875</text>\n",
"<rect x=\"58.81\" y=\"188\" width=\"328.38\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"58.81\" dx=\"4\" y=\"199.25\">_unsafe_getindex! in multidimensional.jl:884</text>\n",
"<rect x=\"58.81\" y=\"173\" width=\"328.38\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"58.81\" dx=\"4\" y=\"184.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"58.81\" y=\"158\" width=\"88.75\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"58.81\" dx=\"4\" y=\"169.25\">macro expansion in multidimensional.jl:887</text>\n",
"<rect x=\"147.56\" y=\"158\" width=\"239.63\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"147.56\" dx=\"4\" y=\"169.25\">macro expansion in multidimensional.jl:889</text>\n",
"<rect x=\"147.56\" y=\"143\" width=\"239.63\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"147.56\" dx=\"4\" y=\"154.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"387.19\" y=\"233\" width=\"97.62\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"387.19\" dx=\"4\" y=\"244.25\">setindex! in abstractarray.jl:1399</text>\n",
"<rect x=\"387.19\" y=\"218\" width=\"97.62\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"387.19\" dx=\"4\" y=\"229.25\">_setindex! in multidimensional.jl:916</text>\n",
"<rect x=\"387.19\" y=\"203\" width=\"97.62\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"387.19\" dx=\"4\" y=\"214.25\">_unsafe_setindex! in multidimensional.jl:927</text>\n",
"<rect x=\"387.19\" y=\"188\" width=\"88.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"387.19\" dx=\"4\" y=\"199.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"387.19\" y=\"173\" width=\"17.75\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"387.19\" dx=\"4\" y=\"184.25\">macro expansion in multidimensional.jl:930</text>\n",
"<rect x=\"404.94\" y=\"173\" width=\"57.68\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"404.94\" dx=\"4\" y=\"184.25\">macro expansion in multidimensional.jl:932</text>\n",
"<rect x=\"404.94\" y=\"158\" width=\"57.68\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"404.94\" dx=\"4\" y=\"169.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"462.62\" y=\"173\" width=\"13.32\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"462.62\" dx=\"4\" y=\"184.25\">macro expansion in multidimensional.jl:933</text>\n",
"<rect x=\"462.62\" y=\"158\" width=\"13.32\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"462.62\" dx=\"4\" y=\"169.25\">iterate in array.jl:893</text>\n",
"<rect x=\"462.62\" y=\"143\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"462.62\" dx=\"4\" y=\"154.25\">getindex in essentials.jl:13</text>\n",
"<rect x=\"467.06\" y=\"143\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"467.06\" dx=\"4\" y=\"154.25\">- in int.jl:1042</text>\n",
"<rect x=\"467.06\" y=\"128\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"467.06\" dx=\"4\" y=\"139.25\">- in int.jl:86</text>\n",
"<rect x=\"471.5\" y=\"143\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"471.5\" dx=\"4\" y=\"154.25\">&amp;lt; in int.jl:494</text>\n",
"<rect x=\"471.5\" y=\"128\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"471.5\" dx=\"4\" y=\"139.25\">&amp;lt; in int.jl:487</text>\n",
"<rect x=\"475.94\" y=\"188\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"475.94\" dx=\"4\" y=\"199.25\">macro expansion in cartesian.jl:66</text>\n",
"<rect x=\"475.94\" y=\"173\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"475.94\" dx=\"4\" y=\"184.25\">iterate in range.jl:891</text>\n",
"<rect x=\"475.94\" y=\"158\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"475.94\" dx=\"4\" y=\"169.25\">== in promotion.jl:499</text>\n",
"<rect x=\"484.81\" y=\"233\" width=\"164.19\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"244.25\">- in arraymath.jl:8</text>\n",
"<rect x=\"484.81\" y=\"218\" width=\"164.19\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"229.25\">broadcast_preserving_zero_d in broadcast.jl:862</text>\n",
"<rect x=\"484.81\" y=\"203\" width=\"164.19\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"214.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"484.81\" y=\"188\" width=\"164.19\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"199.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"484.81\" y=\"173\" width=\"155.31\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"184.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"484.81\" y=\"158\" width=\"155.31\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"169.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"484.81\" y=\"143\" width=\"142\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"154.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"484.81\" y=\"128\" width=\"142\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"139.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"484.81\" y=\"113\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"124.25\">getindex in broadcast.jl:610</text>\n",
"<rect x=\"484.81\" y=\"98\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"109.25\">_broadcast_getindex in broadcast.jl:655</text>\n",
"<rect x=\"484.81\" y=\"83\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"94.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"484.81\" y=\"68\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"79.25\">_broadcast_getindex in broadcast.jl:649</text>\n",
"<rect x=\"484.81\" y=\"53\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"64.25\">getindex in multidimensional.jl:668</text>\n",
"<rect x=\"484.81\" y=\"38\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"49.25\">getindex in essentials.jl:14</text>\n",
"<rect x=\"538.06\" y=\"113\" width=\"88.75\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"538.06\" dx=\"4\" y=\"124.25\">setindex! in multidimensional.jl:670</text>\n",
"<rect x=\"538.06\" y=\"98\" width=\"88.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"538.06\" dx=\"4\" y=\"109.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"626.81\" y=\"143\" width=\"13.31\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"626.81\" dx=\"4\" y=\"154.25\">macro expansion in simdloop.jl:78</text>\n",
"<rect x=\"626.81\" y=\"128\" width=\"13.31\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"626.81\" dx=\"4\" y=\"139.25\">+ in int.jl:87</text>\n",
"<rect x=\"640.12\" y=\"173\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"184.25\">similar in broadcast.jl:211</text>\n",
"<rect x=\"640.12\" y=\"158\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"169.25\">similar in broadcast.jl:212</text>\n",
"<rect x=\"640.12\" y=\"143\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"154.25\">similar in abstractarray.jl:883</text>\n",
"<rect x=\"640.12\" y=\"128\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"139.25\">similar in abstractarray.jl:884</text>\n",
"<rect x=\"640.12\" y=\"113\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"124.25\">Array in boot.jl:494</text>\n",
"<rect x=\"640.12\" y=\"98\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"109.25\">Array in boot.jl:487</text>\n",
"<rect x=\"640.12\" y=\"83\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#FFA400\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"94.25\">Array in boot.jl:479</text>\n",
"<rect x=\"649\" y=\"233\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"/private/tmp/julia-20231114-6658-1ywjgwz/julia-1.9.4/usr/share/julia/stdlib/v1.9/LinearAlgebra/src/\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"244.25\">* in adjtrans.jl:439</text>\n",
"<rect x=\"649\" y=\"218\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"229.25\">broadcast in broadcast.jl:811</text>\n",
"<rect x=\"649\" y=\"203\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"214.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"649\" y=\"188\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"199.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"649\" y=\"173\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"184.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"649\" y=\"158\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"169.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"649\" y=\"143\" width=\"79.88\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"154.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"649\" y=\"128\" width=\"79.88\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"139.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"649\" y=\"113\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"124.25\">getindex in broadcast.jl:610</text>\n",
"<rect x=\"649\" y=\"98\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"109.25\">_broadcast_getindex in broadcast.jl:655</text>\n",
"<rect x=\"649\" y=\"83\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"94.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"649\" y=\"68\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"79.25\">_broadcast_getindex in broadcast.jl:649</text>\n",
"<rect x=\"649\" y=\"53\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"64.25\">getindex in multidimensional.jl:668</text>\n",
"<rect x=\"649\" y=\"38\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"49.25\">getindex in essentials.jl:13</text>\n",
"<rect x=\"657.88\" y=\"113\" width=\"71\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"657.88\" dx=\"4\" y=\"124.25\">setindex! in multidimensional.jl:670</text>\n",
"<rect x=\"657.88\" y=\"98\" width=\"71\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"657.88\" dx=\"4\" y=\"109.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"728.88\" y=\"143\" width=\"13.31\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"728.88\" dx=\"4\" y=\"154.25\">macro expansion in simdloop.jl:78</text>\n",
"<rect x=\"728.88\" y=\"128\" width=\"13.31\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"728.88\" dx=\"4\" y=\"139.25\">+ in int.jl:87</text>\n",
"</g></g>\n",
"<script><![CDATA[\n",
"// Snap.svg 0.3.0\n",
"// \n",
"// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n",
"// \n",
"// Licensed under the Apache License, Version 2.0 (the \"License\");\n",
"// you may not use this file except in compliance with the License.\n",
"// You may obtain a copy of the License at\n",
"// \n",
"// http://www.apache.org/licenses/LICENSE-2.0\n",
"// \n",
"// Unless required by applicable law or agreed to in writing, software\n",
"// distributed under the License is distributed on an \"AS IS\" BASIS,\n",
"// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
"// See the License for the specific language governing permissions and\n",
"// limitations under the License.\n",
"// \n",
"// build: 2014-06-03\n",
"!function(a){var b,c,d=\"0.4.2\",e=\"hasOwnProperty\",f=/[\\.\\/]/,g=/\\s*,\\s*/,h=\"*\",i=function(a,b){return a-b},j={n:{}},k=function(){for(var a=0,b=this.length;b>a;a++)if(\"undefined\"!=typeof this[a])return this[a]},l=function(){for(var a=this.length;--a;)if(\"undefined\"!=typeof this[a])return this[a]},m=function(a,d){a=String(a);var e,f=c,g=Array.prototype.slice.call(arguments,2),h=m.listeners(a),j=0,n=[],o={},p=[],q=b;p.firstDefined=k,p.lastDefined=l,b=a,c=0;for(var r=0,s=h.length;s>r;r++)\"zIndex\"in h[r]&&(n.push(h[r].zIndex),h[r].zIndex<0&&(o[h[r].zIndex]=h[r]));for(n.sort(i);n[j]<0;)if(e=o[n[j++] ],p.push(e.apply(d,g)),c)return c=f,p;for(r=0;s>r;r++)if(e=h[r],\"zIndex\"in e)if(e.zIndex==n[j]){if(p.push(e.apply(d,g)),c)break;do if(j++,e=o[n[j] ],e&&p.push(e.apply(d,g)),c)break;while(e)}else o[e.zIndex]=e;else if(p.push(e.apply(d,g)),c)break;return c=f,b=q,p};m._events=j,m.listeners=function(a){var b,c,d,e,g,i,k,l,m=a.split(f),n=j,o=[n],p=[];for(e=0,g=m.length;g>e;e++){for(l=[],i=0,k=o.length;k>i;i++)for(n=o[i].n,c=[n[m[e] ],n[h] ],d=2;d--;)b=c[d],b&&(l.push(b),p=p.concat(b.f||[]));o=l}return p},m.on=function(a,b){if(a=String(a),\"function\"!=typeof b)return function(){};for(var c=a.split(g),d=0,e=c.length;e>d;d++)!function(a){for(var c,d=a.split(f),e=j,g=0,h=d.length;h>g;g++)e=e.n,e=e.hasOwnProperty(d[g])&&e[d[g] ]||(e[d[g] ]={n:{}});for(e.f=e.f||[],g=0,h=e.f.length;h>g;g++)if(e.f[g]==b){c=!0;break}!c&&e.f.push(b)}(c[d]);return function(a){+a==+a&&(b.zIndex=+a)}},m.f=function(a){var b=[].slice.call(arguments,1);return function(){m.apply(null,[a,null].concat(b).concat([].slice.call(arguments,0)))}},m.stop=function(){c=1},m.nt=function(a){return a?new RegExp(\"(?:\\\\.|\\\\/|^)\"+a+\"(?:\\\\.|\\\\/|$)\").test(b):b},m.nts=function(){return b.split(f)},m.off=m.unbind=function(a,b){if(!a)return void(m._events=j={n:{}});var c=a.split(g);if(c.length>1)for(var d=0,i=c.length;i>d;d++)m.off(c[d],b);else{c=a.split(f);var k,l,n,d,i,o,p,q=[j];for(d=0,i=c.length;i>d;d++)for(o=0;o<q.length;o+=n.length-2){if(n=[o,1],k=q[o].n,c[d]!=h)k[c[d] ]&&n.push(k[c[d] ]);else for(l in k)k[e](l)&&n.push(k[l]);q.splice.apply(q,n)}for(d=0,i=q.length;i>d;d++)for(k=q[d];k.n;){if(b){if(k.f){for(o=0,p=k.f.length;p>o;o++)if(k.f[o]==b){k.f.splice(o,1);break}!k.f.length&&delete k.f}for(l in k.n)if(k.n[e](l)&&k.n[l].f){var r=k.n[l].f;for(o=0,p=r.length;p>o;o++)if(r[o]==b){r.splice(o,1);break}!r.length&&delete k.n[l].f}}else{delete k.f;for(l in k.n)k.n[e](l)&&k.n[l].f&&delete k.n[l].f}k=k.n}}},m.once=function(a,b){var c=function(){return m.unbind(a,c),b.apply(this,arguments)};return m.on(a,c)},m.version=d,m.toString=function(){return\"You are running Eve \"+d},\"undefined\"!=typeof module&&module.exports?module.exports=m:\"function\"==typeof define&&define.amd?define(\"eve\",[],function(){return m}):a.eve=m}(this),function(a,b){\"function\"==typeof define&&define.amd?define('ProfileSVG/snap.svg', [\"eve\"],function(c){return b(a,c)}):b(a,a.eve)}(this,function(a,b){var c=function(b){var c={},d=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(a){setTimeout(a,16)},e=Array.isArray||function(a){return a instanceof Array||\"[object Array]\"==Object.prototype.toString.call(a)},f=0,g=\"M\"+(+new Date).toString(36),h=function(){return g+(f++).toString(36)},i=Date.now||function(){return+new Date},j=function(a){var b=this;if(null==a)return b.s;var c=b.s-a;b.b+=b.dur*c,b.B+=b.dur*c,b.s=a},k=function(a){var b=this;return null==a?b.spd:void(b.spd=a)},l=function(a){var b=this;return null==a?b.dur:(b.s=b.s*a/b.dur,void(b.dur=a))},m=function(){var a=this;delete c[a.id],a.update(),b(\"mina.stop.\"+a.id,a)},n=function(){var a=this;a.pdif||(delete c[a.id],a.update(),a.pdif=a.get()-a.b)},o=function(){var a=this;a.pdif&&(a.b=a.get()-a.pdif,delete a.pdif,c[a.id]=a)},p=function(){var a,b=this;if(e(b.start)){a=[];for(var c=0,d=b.start.length;d>c;c++)a[c]=+b.start[c]+(b.end[c]-b.start[c])*b.easing(b.s)}else a=+b.start+(b.end-b.start)*b.easing(b.s);b.set(a)},q=function(){var a=0;for(var e in c)if(c.hasOwnProperty(e)){var f=c[e],g=f.get();a++,f.s=(g-f.b)/(f.dur/f.spd),f.s>=1&&(delete c[e],f.s=1,a--,function(a){setTimeout(function(){b(\"mina.finish.\"+a.id,a)})}(f)),f.update()}a&&d(q)},r=function(a,b,e,f,g,i,s){var t={id:h(),start:a,end:b,b:e,s:0,dur:f-e,spd:1,get:g,set:i,easing:s||r.linear,status:j,speed:k,duration:l,stop:m,pause:n,resume:o,update:p};c[t.id]=t;var u,v=0;for(u in c)if(c.hasOwnProperty(u)&&(v++,2==v))break;return 1==v&&d(q),t};return r.time=i,r.getById=function(a){return c[a]||null},r.linear=function(a){return a},r.easeout=function(a){return Math.pow(a,1.7)},r.easein=function(a){return Math.pow(a,.48)},r.easeinout=function(a){if(1==a)return 1;if(0==a)return 0;var b=.48-a/1.04,c=Math.sqrt(.1734+b*b),d=c-b,e=Math.pow(Math.abs(d),1/3)*(0>d?-1:1),f=-c-b,g=Math.pow(Math.abs(f),1/3)*(0>f?-1:1),h=e+g+.5;return 3*(1-h)*h*h+h*h*h},r.backin=function(a){if(1==a)return 1;var b=1.70158;return a*a*((b+1)*a-b)},r.backout=function(a){if(0==a)return 0;a-=1;var b=1.70158;return a*a*((b+1)*a+b)+1},r.elastic=function(a){return a==!!a?a:Math.pow(2,-10*a)*Math.sin(2*(a-.075)*Math.PI/.3)+1},r.bounce=function(a){var b,c=7.5625,d=2.75;return 1/d>a?b=c*a*a:2/d>a?(a-=1.5/d,b=c*a*a+.75):2.5/d>a?(a-=2.25/d,b=c*a*a+.9375):(a-=2.625/d,b=c*a*a+.984375),b},a.mina=r,r}(\"undefined\"==typeof b?function(){}:b),d=function(){function d(a,b){if(a){if(a.tagName)return y(a);if(f(a,\"array\")&&d.set)return d.set.apply(d,a);if(a instanceof u)return a;if(null==b)return a=z.doc.querySelector(a),y(a)}return a=null==a?\"100%\":a,b=null==b?\"100%\":b,new x(a,b)}function e(a,b){if(b){if(\"#text\"==a&&(a=z.doc.createTextNode(b.text||\"\")),\"string\"==typeof a&&(a=e(a)),\"string\"==typeof b)return\"xlink:\"==b.substring(0,6)?a.getAttributeNS(W,b.substring(6)):\"xml:\"==b.substring(0,4)?a.getAttributeNS(X,b.substring(4)):a.getAttribute(b);for(var c in b)if(b[A](c)){var d=B(b[c]);d?\"xlink:\"==c.substring(0,6)?a.setAttributeNS(W,c.substring(6),d):\"xml:\"==c.substring(0,4)?a.setAttributeNS(X,c.substring(4),d):a.setAttribute(c,d):a.removeAttribute(c)}}else a=z.doc.createElementNS(X,a);return a}function f(a,b){return b=B.prototype.toLowerCase.call(b),\"finite\"==b?isFinite(a):\"array\"==b&&(a instanceof Array||Array.isArray&&Array.isArray(a))?!0:\"null\"==b&&null===a||b==typeof a&&null!==a||\"object\"==b&&a===Object(a)||L.call(a).slice(8,-1).toLowerCase()==b}function h(a){if(\"function\"==typeof a||Object(a)!==a)return a;var b=new a.constructor;for(var c in a)a[A](c)&&(b[c]=h(a[c]));return b}function i(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return a.push(a.splice(c,1)[0])}function j(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join(\"␀\"),g=d.cache=d.cache||{},h=d.count=d.count||[];return g[A](f)?(i(h,f),c?c(g[f]):g[f]):(h.length>=1e3&&delete g[h.shift()],h.push(f),g[f]=a.apply(b,e),c?c(g[f]):g[f])}return d}function k(a,b,c,d,e,f){if(null==e){var g=a-c,h=b-d;return g||h?(180+180*E.atan2(-h,-g)/I+360)%360:0}return k(a,b,e,f)-k(c,d,e,f)}function l(a){return a%360*I/180}function m(a){return 180*a/I%360}function n(a){var b=[];return a=a.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g,function(a,c,d){return d=d.split(/\\s*,\\s*|\\s+/),\"rotate\"==c&&1==d.length&&d.push(0,0),\"scale\"==c&&(d.length>2?d=d.slice(0,2):2==d.length&&d.push(0,0),1==d.length&&d.push(d[0],0,0)),b.push(\"skewX\"==c?[\"m\",1,0,E.tan(l(d[0])),1,0,0]:\"skewY\"==c?[\"m\",1,E.tan(l(d[0])),0,1,0,0]:[c.charAt(0)].concat(d)),a}),b}function o(a,b){var c=eb(a),e=new d.Matrix;if(c)for(var f=0,g=c.length;g>f;f++){var h,i,j,k,l,m=c[f],n=m.length,o=B(m[0]).toLowerCase(),p=m[0]!=o,q=p?e.invert():0;\"t\"==o&&2==n?e.translate(m[1],0):\"t\"==o&&3==n?p?(h=q.x(0,0),i=q.y(0,0),j=q.x(m[1],m[2]),k=q.y(m[1],m[2]),e.translate(j-h,k-i)):e.translate(m[1],m[2]):\"r\"==o?2==n?(l=l||b,e.rotate(m[1],l.x+l.width/2,l.y+l.height/2)):4==n&&(p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.rotate(m[1],j,k)):e.rotate(m[1],m[2],m[3])):\"s\"==o?2==n||3==n?(l=l||b,e.scale(m[1],m[n-1],l.x+l.width/2,l.y+l.height/2)):4==n?p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.scale(m[1],m[1],j,k)):e.scale(m[1],m[1],m[2],m[3]):5==n&&(p?(j=q.x(m[3],m[4]),k=q.y(m[3],m[4]),e.scale(m[1],m[2],j,k)):e.scale(m[1],m[2],m[3],m[4])):\"m\"==o&&7==n&&e.add(m[1],m[2],m[3],m[4],m[5],m[6])}return e}function p(a,b){if(null==b){var c=!0;if(b=a.node.getAttribute(\"linearGradient\"==a.type||\"radialGradient\"==a.type?\"gradientTransform\":\"pattern\"==a.type?\"patternTransform\":\"transform\"),!b)return new d.Matrix;b=n(b)}else b=d._.rgTransform.test(b)?B(b).replace(/\\.{3}|\\u2026/g,a._.transform||J):n(b),f(b,\"array\")&&(b=d.path?d.path.toString.call(b):B(b)),a._.transform=b;var e=o(b,a.getBBox(1));return c?e:void(a.matrix=e)}function q(a){var b=a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||a.node.parentNode&&y(a.node.parentNode)||d.select(\"svg\")||d(0,0),c=b.select(\"defs\"),e=null==c?!1:c.node;return e||(e=w(\"defs\",b.node).node),e}function r(a){return a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||d.select(\"svg\")}function s(a,b,c){function d(a){if(null==a)return J;if(a==+a)return a;e(j,{width:a});try{return j.getBBox().width}catch(b){return 0}}function f(a){if(null==a)return J;if(a==+a)return a;e(j,{height:a});try{return j.getBBox().height}catch(b){return 0}}function g(d,e){null==b?i[d]=e(a.attr(d)||0):d==b&&(i=e(null==c?a.attr(d)||0:c))}var h=r(a).node,i={},j=h.querySelector(\".svg---mgr\");switch(j||(j=e(\"rect\"),e(j,{x:-9e9,y:-9e9,width:10,height:10,\"class\":\"svg---mgr\",fill:\"none\"}),h.appendChild(j)),a.type){case\"rect\":g(\"rx\",d),g(\"ry\",f);case\"image\":g(\"width\",d),g(\"height\",f);case\"text\":g(\"x\",d),g(\"y\",f);break;case\"circle\":g(\"cx\",d),g(\"cy\",f),g(\"r\",d);break;case\"ellipse\":g(\"cx\",d),g(\"cy\",f),g(\"rx\",d),g(\"ry\",f);break;case\"line\":g(\"x1\",d),g(\"x2\",d),g(\"y1\",f),g(\"y2\",f);break;case\"marker\":g(\"refX\",d),g(\"markerWidth\",d),g(\"refY\",f),g(\"markerHeight\",f);break;case\"radialGradient\":g(\"fx\",d),g(\"fy\",f);break;case\"tspan\":g(\"dx\",d),g(\"dy\",f);break;default:g(b,d)}return h.removeChild(j),i}function t(a){f(a,\"array\")||(a=Array.prototype.slice.call(arguments,0));for(var b=0,c=0,d=this.node;this[b];)delete this[b++];for(b=0;b<a.length;b++)\"set\"==a[b].type?a[b].forEach(function(a){d.appendChild(a.node)}):d.appendChild(a[b].node);var e=d.childNodes;for(b=0;b<e.length;b++)this[c++]=y(e[b]);return this}function u(a){if(a.snap in Y)return Y[a.snap];var b,c=this.id=V();try{b=a.ownerSVGElement}catch(d){}if(this.node=a,b&&(this.paper=new x(b)),this.type=a.tagName,this.anims={},this._={transform:[]},a.snap=c,Y[c]=this,\"g\"==this.type&&(this.add=t),this.type in{g:1,mask:1,pattern:1})for(var e in x.prototype)x.prototype[A](e)&&(this[e]=x.prototype[e])}function v(a){this.node=a}function w(a,b){var c=e(a);b.appendChild(c);var d=y(c);return d}function x(a,b){var c,d,f,g=x.prototype;if(a&&\"svg\"==a.tagName){if(a.snap in Y)return Y[a.snap];var h=a.ownerDocument;c=new u(a),d=a.getElementsByTagName(\"desc\")[0],f=a.getElementsByTagName(\"defs\")[0],d||(d=e(\"desc\"),d.appendChild(h.createTextNode(\"Created with Snap\")),c.node.appendChild(d)),f||(f=e(\"defs\"),c.node.appendChild(f)),c.defs=f;for(var i in g)g[A](i)&&(c[i]=g[i]);c.paper=c.root=c}else c=w(\"svg\",z.doc.body),e(c.node,{height:b,version:1.1,width:a,xmlns:X});return c}function y(a){return a?a instanceof u||a instanceof v?a:a.tagName&&\"svg\"==a.tagName.toLowerCase()?new x(a):a.tagName&&\"object\"==a.tagName.toLowerCase()&&\"image/svg+xml\"==a.type?new x(a.contentDocument.getElementsByTagName(\"svg\")[0]):new u(a):a}d.version=\"0.3.0\",d.toString=function(){return\"Snap v\"+this.version},d._={};var z={win:a,doc:a.document};d._.glob=z;var A=\"hasOwnProperty\",B=String,C=parseFloat,D=parseInt,E=Math,F=E.max,G=E.min,H=E.abs,I=(E.pow,E.PI),J=(E.round,\"\"),K=\" \",L=Object.prototype.toString,M=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i,N=\"\t\\n\\x0b\\f\\r    \\u2028\\u2029\",O=(d._.separator=new RegExp(\"[,\"+N+\"]+\"),new RegExp(\"[\"+N+\"]\",\"g\"),new RegExp(\"[\"+N+\"]*,[\"+N+\"]*\")),P={hs:1,rg:1},Q=new RegExp(\"([a-z])[\"+N+\",]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\"+N+\"]*,?[\"+N+\"]*)+)\",\"ig\"),R=new RegExp(\"([rstm])[\"+N+\",]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\"+N+\"]*,?[\"+N+\"]*)+)\",\"ig\"),S=new RegExp(\"(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[\"+N+\"]*,?[\"+N+\"]*\",\"ig\"),T=0,U=\"S\"+(+new Date).toString(36),V=function(){return U+(T++).toString(36)},W=\"http://www.w3.org/1999/xlink\",X=\"http://www.w3.org/2000/svg\",Y={},Z=d.url=function(a){return\"url('#\"+a+\"')\"};d._.$=e,d._.id=V,d.format=function(){var a=/\\{([^\\}]+)\\}/g,b=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,c=function(a,c,d){var e=d;return c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),\"function\"==typeof e&&f&&(e=e()))}),e=(null==e||e==d?a:e)+\"\"};return function(b,d){return B(b).replace(a,function(a,b){return c(a,b,d)})}}(),d._.clone=h,d._.cacher=j,d.rad=l,d.deg=m,d.angle=k,d.is=f,d.snapTo=function(a,b,c){if(c=f(c,\"finite\")?c:10,f(a,\"array\")){for(var d=a.length;d--;)if(H(a[d]-b)<=c)return a[d]}else{a=+a;var e=b%a;if(c>e)return b-e;if(e>a-c)return b-e+a}return b},d.getRGB=j(function(a){if(!a||(a=B(a)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb};if(\"none\"==a)return{r:-1,g:-1,b:-1,hex:\"none\",toString:bb};if(!(P[A](a.toLowerCase().substring(0,2))||\"#\"==a.charAt())&&(a=$(a)),!a)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb};var b,c,e,g,h,i,j=a.match(M);return j?(j[2]&&(e=D(j[2].substring(5),16),c=D(j[2].substring(3,5),16),b=D(j[2].substring(1,3),16)),j[3]&&(e=D((h=j[3].charAt(3))+h,16),c=D((h=j[3].charAt(2))+h,16),b=D((h=j[3].charAt(1))+h,16)),j[4]&&(i=j[4].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b*=2.55),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c*=2.55),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e*=2.55),\"rgba\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100)),j[5]?(i=j[5].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b/=100),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c/=100),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e/=100),(\"deg\"==i[0].slice(-3)||\"°\"==i[0].slice(-1))&&(b/=360),\"hsba\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100),d.hsb2rgb(b,c,e,g)):j[6]?(i=j[6].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b/=100),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c/=100),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e/=100),(\"deg\"==i[0].slice(-3)||\"°\"==i[0].slice(-1))&&(b/=360),\"hsla\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100),d.hsl2rgb(b,c,e,g)):(b=G(E.round(b),255),c=G(E.round(c),255),e=G(E.round(e),255),g=G(F(g,0),1),j={r:b,g:c,b:e,toString:bb},j.hex=\"#\"+(16777216|e|c<<8|b<<16).toString(16).slice(1),j.opacity=f(g,\"finite\")?g:1,j)):{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb}},d),d.hsb=j(function(a,b,c){return d.hsb2rgb(a,b,c).hex}),d.hsl=j(function(a,b,c){return d.hsl2rgb(a,b,c).hex}),d.rgb=j(function(a,b,c,d){if(f(d,\"finite\")){var e=E.round;return\"rgba(\"+[e(a),e(b),e(c),+d.toFixed(2)]+\")\"}return\"#\"+(16777216|c|b<<8|a<<16).toString(16).slice(1)});var $=function(a){var b=z.doc.getElementsByTagName(\"head\")[0]||z.doc.getElementsByTagName(\"svg\")[0],c=\"rgb(255, 0, 0)\";return($=j(function(a){if(\"red\"==a.toLowerCase())return c;b.style.color=c,b.style.color=a;var d=z.doc.defaultView.getComputedStyle(b,J).getPropertyValue(\"color\");return d==c?null:d}))(a)},_=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},ab=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},bb=function(){return 1==this.opacity||null==this.opacity?this.hex:\"rgba(\"+[this.r,this.g,this.b,this.opacity]+\")\"},cb=function(a,b,c){if(null==b&&f(a,\"object\")&&\"r\"in a&&\"g\"in a&&\"b\"in a&&(c=a.b,b=a.g,a=a.r),null==b&&f(a,string)){var e=d.getRGB(a);a=e.r,b=e.g,c=e.b}return(a>1||b>1||c>1)&&(a/=255,b/=255,c/=255),[a,b,c]},db=function(a,b,c,e){a=E.round(255*a),b=E.round(255*b),c=E.round(255*c);var g={r:a,g:b,b:c,opacity:f(e,\"finite\")?e:1,hex:d.rgb(a,b,c),toString:bb};return f(e,\"finite\")&&(g.opacity=e),g};d.color=function(a){var b;return f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"b\"in a?(b=d.hsb2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"l\"in a?(b=d.hsl2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):(f(a,\"string\")&&(a=d.getRGB(a)),f(a,\"object\")&&\"r\"in a&&\"g\"in a&&\"b\"in a&&!(\"error\"in a)?(b=d.rgb2hsl(a),a.h=b.h,a.s=b.s,a.l=b.l,b=d.rgb2hsb(a),a.v=b.b):(a={hex:\"none\"},a.r=a.g=a.b=a.h=a.s=a.v=a.l=-1,a.error=1)),a.toString=bb,a},d.hsb2rgb=function(a,b,c,d){f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"b\"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,g,h,i,j;return a=a%360/60,j=c*b,i=j*(1-H(a%2-1)),e=g=h=c-j,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.hsl2rgb=function(a,b,c,d){f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"l\"in a&&(c=a.l,b=a.s,a=a.h),(a>1||b>1||c>1)&&(a/=360,b/=100,c/=100),a*=360;var e,g,h,i,j;return a=a%360/60,j=2*b*(.5>c?c:1-c),i=j*(1-H(a%2-1)),e=g=h=c-j/2,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.rgb2hsb=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;return f=F(a,b,c),g=f-G(a,b,c),d=0==g?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=0==g?0:g/f,{h:d,s:e,b:f,toString:_}},d.rgb2hsl=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;return g=F(a,b,c),h=G(a,b,c),i=g-h,d=0==i?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=0==i?0:.5>f?i/(2*f):i/(2-2*f),{h:d,s:e,l:f,toString:ab}},d.parsePathString=function(a){if(!a)return null;var b=d.path(a);if(b.arr)return d.path.clone(b.arr);var c={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},e=[];return f(a,\"array\")&&f(a[0],\"array\")&&(e=d.path.clone(a)),e.length||B(a).replace(Q,function(a,b,d){var f=[],g=b.toLowerCase();if(d.replace(S,function(a,b){b&&f.push(+b)}),\"m\"==g&&f.length>2&&(e.push([b].concat(f.splice(0,2))),g=\"l\",b=\"m\"==b?\"l\":\"L\"),\"o\"==g&&1==f.length&&e.push([b,f[0] ]),\"r\"==g)e.push([b].concat(f));else for(;f.length>=c[g]&&(e.push([b].concat(f.splice(0,c[g]))),c[g]););}),e.toString=d.path.toString,b.arr=d.path.clone(e),e};var eb=d.parseTransformString=function(a){if(!a)return null;var b=[];return f(a,\"array\")&&f(a[0],\"array\")&&(b=d.path.clone(a)),b.length||B(a).replace(R,function(a,c,d){{var e=[];c.toLowerCase()}d.replace(S,function(a,b){b&&e.push(+b)}),b.push([c].concat(e))}),b.toString=d.path.toString,b};d._.svgTransform2string=n,d._.rgTransform=new RegExp(\"^[a-z][\"+N+\"]*-?\\\\.?\\\\d\",\"i\"),d._.transform2matrix=o,d._unit2px=s;z.doc.contains||z.doc.compareDocumentPosition?function(a,b){var c=9==a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a==d||!(!d||1!=d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b;)if(b=b.parentNode,b==a)return!0;return!1};d._.getSomeDefs=q,d._.getSomeSVG=r,d.select=function(a){return y(z.doc.querySelector(a))},d.selectAll=function(a){for(var b=z.doc.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},setInterval(function(){for(var a in Y)if(Y[A](a)){var b=Y[a],c=b.node;(\"svg\"!=b.type&&!c.ownerSVGElement||\"svg\"==b.type&&(!c.parentNode||\"ownerSVGElement\"in c.parentNode&&!c.ownerSVGElement))&&delete Y[a]}},1e4),function(a){function g(a){function b(a,b){var c=e(a.node,b);c=c&&c.match(g),c=c&&c[2],c&&\"#\"==c.charAt()&&(c=c.substring(1),c&&(i[c]=(i[c]||[]).concat(function(c){var d={};d[b]=Z(c),e(a.node,d)})))}function c(a){var b=e(a.node,\"xlink:href\");b&&\"#\"==b.charAt()&&(b=b.substring(1),b&&(i[b]=(i[b]||[]).concat(function(b){a.attr(\"xlink:href\",\"#\"+b)})))}for(var d,f=a.selectAll(\"*\"),g=/^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/,h=[],i={},j=0,k=f.length;k>j;j++){d=f[j],b(d,\"fill\"),b(d,\"stroke\"),b(d,\"filter\"),b(d,\"mask\"),b(d,\"clip-path\"),c(d);var l=e(d.node,\"id\");l&&(e(d.node,{id:d.id}),h.push({old:l,id:d.id}))}for(j=0,k=h.length;k>j;j++){var m=i[h[j].old];if(m)for(var n=0,o=m.length;o>n;n++)m[n](h[j].id)}}function h(a,b,c){return function(d){var e=d.slice(a,b);return 1==e.length&&(e=e[0]),c?c(e):e}}function i(a){return function(){var b=a?\"<\"+this.type:\"\",c=this.node.attributes,d=this.node.childNodes;if(a)for(var e=0,f=c.length;f>e;e++)b+=\" \"+c[e].name+'=\"'+c[e].value.replace(/\"/g,'\\\\\"')+'\"';if(d.length){for(a&&(b+=\">\"),e=0,f=d.length;f>e;e++)3==d[e].nodeType?b+=d[e].nodeValue:1==d[e].nodeType&&(b+=y(d[e]).toString());a&&(b+=\"</\"+this.type+\">\")}else a&&(b+=\"/>\");return b}}a.attr=function(a,c){{var d=this;d.node}if(!a)return d;if(f(a,\"string\")){if(!(arguments.length>1))return b(\"snap.util.getattr.\"+a,d).firstDefined();var e={};e[a]=c,a=e}for(var g in a)a[A](g)&&b(\"snap.util.attr.\"+g,d,a[g]);return d},a.getBBox=function(a){if(!d.Matrix||!d.path)return this.node.getBBox();var b=this,c=new d.Matrix;if(b.removed)return d._.box();for(;\"use\"==b.type;)if(a||(c=c.add(b.transform().localMatrix.translate(b.attr(\"x\")||0,b.attr(\"y\")||0))),b.original)b=b.original;else{var e=b.attr(\"xlink:href\");b=b.original=b.node.ownerDocument.getElementById(e.substring(e.indexOf(\"#\")+1))}var f=b._,g=d.path.get[b.type]||d.path.get.deflt;try{return a?(f.bboxwt=g?d.path.getBBox(b.realPath=g(b)):d._.box(b.node.getBBox()),d._.box(f.bboxwt)):(b.realPath=g(b),b.matrix=b.transform().localMatrix,f.bbox=d.path.getBBox(d.path.map(b.realPath,c.add(b.matrix))),d._.box(f.bbox))}catch(h){return d._.box()}};var j=function(){return this.string};a.transform=function(a){var b=this._;if(null==a){for(var c,f=this,g=new d.Matrix(this.node.getCTM()),h=p(this),i=[h],k=new d.Matrix,l=h.toTransformString(),m=B(h)==B(this.matrix)?B(b.transform):l;\"svg\"!=f.type&&(f=f.parent());)i.push(p(f));for(c=i.length;c--;)k.add(i[c]);return{string:m,globalMatrix:g,totalMatrix:k,localMatrix:h,diffMatrix:g.clone().add(h.invert()),global:g.toTransformString(),total:k.toTransformString(),local:l,toString:j}}return a instanceof d.Matrix?this.matrix=a:p(this,a),this.node&&(\"linearGradient\"==this.type||\"radialGradient\"==this.type?e(this.node,{gradientTransform:this.matrix}):\"pattern\"==this.type?e(this.node,{patternTransform:this.matrix}):e(this.node,{transform:this.matrix})),this},a.parent=function(){return y(this.node.parentNode)},a.append=a.add=function(a){if(a){if(\"set\"==a.type){var b=this;return a.forEach(function(a){b.add(a)}),this}a=y(a),this.node.appendChild(a.node),a.paper=this.paper}return this},a.appendTo=function(a){return a&&(a=y(a),a.append(this)),this},a.prepend=function(a){if(a){if(\"set\"==a.type){var b,c=this;return a.forEach(function(a){b?b.after(a):c.prepend(a),b=a}),this}a=y(a);var d=a.parent();this.node.insertBefore(a.node,this.node.firstChild),this.add&&this.add(),a.paper=this.paper,this.parent()&&this.parent().add(),d&&d.add()}return this},a.prependTo=function(a){return a=y(a),a.prepend(this),this},a.before=function(a){if(\"set\"==a.type){var b=this;return a.forEach(function(a){var c=a.parent();b.node.parentNode.insertBefore(a.node,b.node),c&&c.add()}),this.parent().add(),this}a=y(a);var c=a.parent();return this.node.parentNode.insertBefore(a.node,this.node),this.parent()&&this.parent().add(),c&&c.add(),a.paper=this.paper,this},a.after=function(a){a=y(a);var b=a.parent();return this.node.nextSibling?this.node.parentNode.insertBefore(a.node,this.node.nextSibling):this.node.parentNode.appendChild(a.node),this.parent()&&this.parent().add(),b&&b.add(),a.paper=this.paper,this},a.insertBefore=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.insertAfter=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node.nextSibling),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.remove=function(){var a=this.parent();return this.node.parentNode&&this.node.parentNode.removeChild(this.node),delete this.paper,this.removed=!0,a&&a.add(),this},a.select=function(a){return y(this.node.querySelector(a))},a.selectAll=function(a){for(var b=this.node.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},a.asPX=function(a,b){return null==b&&(b=this.attr(a)),+s(this,a,b)},a.use=function(){var a,b=this.node.id;return b||(b=this.id,e(this.node,{id:b})),a=\"linearGradient\"==this.type||\"radialGradient\"==this.type||\"pattern\"==this.type?w(this.type,this.node.parentNode):w(\"use\",this.node.parentNode),e(a.node,{\"xlink:href\":\"#\"+b}),a.original=this,a};var k=/\\S+/g;a.addClass=function(a){var b,c,d,e,f=(a||\"\").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(f.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c||i.push(d);e=i.join(\" \"),h!=e&&(g.className.baseVal=e)}return this},a.removeClass=function(a){var b,c,d,e,f=(a||\"\").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(i.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c&&i.splice(c,1);e=i.join(\" \"),h!=e&&(g.className.baseVal=e)}return this},a.hasClass=function(a){var b=this.node,c=b.className.baseVal,d=c.match(k)||[];return!!~d.indexOf(a)},a.toggleClass=function(a,b){if(null!=b)return b?this.addClass(a):this.removeClass(a);var c,d,e,f,g=(a||\"\").match(k)||[],h=this.node,i=h.className.baseVal,j=i.match(k)||[];for(c=0;e=g[c++];)d=j.indexOf(e),~d?j.splice(d,1):j.push(e);return f=j.join(\" \"),i!=f&&(h.className.baseVal=f),this},a.clone=function(){var a=y(this.node.cloneNode(!0));return e(a.node,\"id\")&&e(a.node,{id:a.id}),g(a),a.insertAfter(this),a},a.toDefs=function(){var a=q(this);return a.appendChild(this.node),this},a.pattern=a.toPattern=function(a,b,c,d){var g=w(\"pattern\",q(this));return null==a&&(a=this.getBBox()),f(a,\"object\")&&\"x\"in a&&(b=a.y,c=a.width,d=a.height,a=a.x),e(g.node,{x:a,y:b,width:c,height:d,patternUnits:\"userSpaceOnUse\",id:g.id,viewBox:[a,b,c,d].join(\" \")}),g.node.appendChild(this.node),g},a.marker=function(a,b,c,d,g,h){var i=w(\"marker\",q(this));return null==a&&(a=this.getBBox()),f(a,\"object\")&&\"x\"in a&&(b=a.y,c=a.width,d=a.height,g=a.refX||a.cx,h=a.refY||a.cy,a=a.x),e(i.node,{viewBox:[a,b,c,d].join(K),markerWidth:c,markerHeight:d,orient:\"auto\",refX:g||0,refY:h||0,id:i.id}),i.node.appendChild(this.node),i};var l=function(a,b,d,e){\"function\"!=typeof d||d.length||(e=d,d=c.linear),this.attr=a,this.dur=b,d&&(this.easing=d),e&&(this.callback=e)};d._.Animation=l,d.animation=function(a,b,c,d){return new l(a,b,c,d)},a.inAnim=function(){var a=this,b=[];for(var c in a.anims)a.anims[A](c)&&!function(a){b.push({anim:new l(a._attrs,a.dur,a.easing,a._callback),mina:a,curStatus:a.status(),status:function(b){return a.status(b)},stop:function(){a.stop()}})}(a.anims[c]);return b},d.animate=function(a,d,e,f,g,h){\"function\"!=typeof g||g.length||(h=g,g=c.linear);var i=c.time(),j=c(a,d,i,i+f,c.time,e,g);return h&&b.once(\"mina.finish.\"+j.id,h),j},a.stop=function(){for(var a=this.inAnim(),b=0,c=a.length;c>b;b++)a[b].stop();return this},a.animate=function(a,d,e,g){\"function\"!=typeof e||e.length||(g=e,e=c.linear),a instanceof l&&(g=a.callback,e=a.easing,d=e.dur,a=a.attr);var i,j,k,m,n=[],o=[],p={},q=this;for(var r in a)if(a[A](r)){q.equal?(m=q.equal(r,B(a[r])),i=m.from,j=m.to,k=m.f):(i=+q.attr(r),j=+a[r]);var s=f(i,\"array\")?i.length:1;p[r]=h(n.length,n.length+s,k),n=n.concat(i),o=o.concat(j)}var t=c.time(),u=c(n,o,t,t+d,c.time,function(a){var b={};for(var c in p)p[A](c)&&(b[c]=p[c](a));q.attr(b)},e);return q.anims[u.id]=u,u._attrs=a,u._callback=g,b(\"snap.animcreated.\"+q.id,u),b.once(\"mina.finish.\"+u.id,function(){delete q.anims[u.id],g&&g.call(q)}),b.once(\"mina.stop.\"+u.id,function(){delete q.anims[u.id]}),q};var m={};a.data=function(a,c){var e=m[this.id]=m[this.id]||{};if(0==arguments.length)return b(\"snap.data.get.\"+this.id,this,e,null),e;if(1==arguments.length){if(d.is(a,\"object\")){for(var f in a)a[A](f)&&this.data(f,a[f]);return this}return b(\"snap.data.get.\"+this.id,this,e[a],a),e[a]}return e[a]=c,b(\"snap.data.set.\"+this.id,this,c,a),this},a.removeData=function(a){return null==a?m[this.id]={}:m[this.id]&&delete m[this.id][a],this},a.outerSVG=a.toString=i(1),a.innerSVG=i()}(u.prototype),d.parse=function(a){var b=z.doc.createDocumentFragment(),c=!0,d=z.doc.createElement(\"div\");if(a=B(a),a.match(/^\\s*<\\s*svg(?:\\s|>)/)||(a=\"<svg>\"+a+\"</svg>\",c=!1),d.innerHTML=a,a=d.getElementsByTagName(\"svg\")[0])if(c)b=a;else for(;a.firstChild;)b.appendChild(a.firstChild);return d.innerHTML=J,new v(b)},v.prototype.select=u.prototype.select,v.prototype.selectAll=u.prototype.selectAll,d.fragment=function(){for(var a=Array.prototype.slice.call(arguments,0),b=z.doc.createDocumentFragment(),c=0,e=a.length;e>c;c++){var f=a[c];f.node&&f.node.nodeType&&b.appendChild(f.node),f.nodeType&&b.appendChild(f),\"string\"==typeof f&&b.appendChild(d.parse(f).node)}return new v(b)},d._.make=w,d._.wrap=y,x.prototype.el=function(a,b){var c=w(a,this.node);return b&&c.attr(b),c},b.on(\"snap.util.getattr\",function(){var a=b.nt();a=a.substring(a.lastIndexOf(\".\")+1);var c=a.replace(/[A-Z]/g,function(a){return\"-\"+a.toLowerCase()});return fb[A](c)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(c):e(this.node,a)});var fb={\"alignment-baseline\":0,\"baseline-shift\":0,clip:0,\"clip-path\":0,\"clip-rule\":0,color:0,\"color-interpolation\":0,\"color-interpolation-filters\":0,\"color-profile\":0,\"color-rendering\":0,cursor:0,direction:0,display:0,\"dominant-baseline\":0,\"enable-background\":0,fill:0,\"fill-opacity\":0,\"fill-rule\":0,filter:0,\"flood-color\":0,\"flood-opacity\":0,font:0,\"font-family\":0,\"font-size\":0,\"font-size-adjust\":0,\"font-stretch\":0,\"font-style\":0,\"font-variant\":0,\"font-weight\":0,\"glyph-orientation-horizontal\":0,\"glyph-orientation-vertical\":0,\"image-rendering\":0,kerning:0,\"letter-spacing\":0,\"lighting-color\":0,marker:0,\"marker-end\":0,\"marker-mid\":0,\"marker-start\":0,mask:0,opacity:0,overflow:0,\"pointer-events\":0,\"shape-rendering\":0,\"stop-color\":0,\"stop-opacity\":0,stroke:0,\"stroke-dasharray\":0,\"stroke-dashoffset\":0,\"stroke-linecap\":0,\"stroke-linejoin\":0,\"stroke-miterlimit\":0,\"stroke-opacity\":0,\"stroke-width\":0,\"text-anchor\":0,\"text-decoration\":0,\"text-rendering\":0,\"unicode-bidi\":0,visibility:0,\"word-spacing\":0,\"writing-mode\":0};b.on(\"snap.util.attr\",function(a){var c=b.nt(),d={};c=c.substring(c.lastIndexOf(\".\")+1),d[c]=a;var f=c.replace(/-(\\w)/gi,function(a,b){return b.toUpperCase()}),g=c.replace(/[A-Z]/g,function(a){return\"-\"+a.toLowerCase()});fb[A](g)?this.node.style[f]=null==a?J:a:e(this.node,d)}),function(){}(x.prototype),d.ajax=function(a,c,d,e){var g=new XMLHttpRequest,h=V();if(g){if(f(c,\"function\"))e=d,d=c,c=null;else if(f(c,\"object\")){var i=[];for(var j in c)c.hasOwnProperty(j)&&i.push(encodeURIComponent(j)+\"=\"+encodeURIComponent(c[j]));c=i.join(\"&\")}return g.open(c?\"POST\":\"GET\",a,!0),c&&(g.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\"),g.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\")),d&&(b.once(\"snap.ajax.\"+h+\".0\",d),b.once(\"snap.ajax.\"+h+\".200\",d),b.once(\"snap.ajax.\"+h+\".304\",d)),g.onreadystatechange=function(){4==g.readyState&&b(\"snap.ajax.\"+h+\".\"+g.status,e,g)},4==g.readyState?g:(g.send(c),g)}},d.load=function(a,b,c){d.ajax(a,function(a){var e=d.parse(a.responseText);c?b.call(c,e):b(e)})};var gb=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,h=e.clientLeft||d.clientLeft||0,i=b.top+(g.win.pageYOffset||e.scrollTop||d.scrollTop)-f,j=b.left+(g.win.pageXOffset||e.scrollLeft||d.scrollLeft)-h;return{y:i,x:j}};return d.getElementByPoint=function(a,b){var c=this,d=(c.canvas,z.doc.elementFromPoint(a,b));if(z.win.opera&&\"svg\"==d.tagName){var e=gb(d),f=d.createSVGRect();f.x=a-e.x,f.y=b-e.y,f.width=f.height=1;var g=d.getIntersectionList(f,null);g.length&&(d=g[g.length-1])}return d?y(d):null},d.plugin=function(a){a(d,u,x,z,v)},z.win.Snap=d,d}();return d.plugin(function(a){function b(a,b,d,e,f,g){return null==b&&\"[object SVGMatrix]\"==c.call(a)?(this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.e=a.e,void(this.f=a.f)):void(null!=a?(this.a=+a,this.b=+b,this.c=+d,this.d=+e,this.e=+f,this.f=+g):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0))}var c=Object.prototype.toString,d=String,e=Math,f=\"\";!function(c){function g(a){return a[0]*a[0]+a[1]*a[1]\n",
"}function h(a){var b=e.sqrt(g(a));a[0]&&(a[0]/=b),a[1]&&(a[1]/=b)}c.add=function(a,c,d,e,f,g){var h,i,j,k,l=[[],[],[] ],m=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1] ],n=[[a,d,f],[c,e,g],[0,0,1] ];for(a&&a instanceof b&&(n=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1] ]),h=0;3>h;h++)for(i=0;3>i;i++){for(k=0,j=0;3>j;j++)k+=m[h][j]*n[j][i];l[h][i]=k}return this.a=l[0][0],this.b=l[1][0],this.c=l[0][1],this.d=l[1][1],this.e=l[0][2],this.f=l[1][2],this},c.invert=function(){var a=this,c=a.a*a.d-a.b*a.c;return new b(a.d/c,-a.b/c,-a.c/c,a.a/c,(a.c*a.f-a.d*a.e)/c,(a.b*a.e-a.a*a.f)/c)},c.clone=function(){return new b(this.a,this.b,this.c,this.d,this.e,this.f)},c.translate=function(a,b){return this.add(1,0,0,1,a,b)},c.scale=function(a,b,c,d){return null==b&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d),this},c.rotate=function(b,c,d){b=a.rad(b),c=c||0,d=d||0;var f=+e.cos(b).toFixed(9),g=+e.sin(b).toFixed(9);return this.add(f,g,-g,f,c,d),this.add(1,0,0,1,-c,-d)},c.x=function(a,b){return a*this.a+b*this.c+this.e},c.y=function(a,b){return a*this.b+b*this.d+this.f},c.get=function(a){return+this[d.fromCharCode(97+a)].toFixed(4)},c.toString=function(){return\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\"},c.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},c.determinant=function(){return this.a*this.d-this.b*this.c},c.split=function(){var b={};b.dx=this.e,b.dy=this.f;var c=[[this.a,this.c],[this.b,this.d] ];b.scalex=e.sqrt(g(c[0])),h(c[0]),b.shear=c[0][0]*c[1][0]+c[0][1]*c[1][1],c[1]=[c[1][0]-c[0][0]*b.shear,c[1][1]-c[0][1]*b.shear],b.scaley=e.sqrt(g(c[1])),h(c[1]),b.shear/=b.scaley,this.determinant()<0&&(b.scalex=-b.scalex);var d=-c[0][1],f=c[1][1];return 0>f?(b.rotate=a.deg(e.acos(f)),0>d&&(b.rotate=360-b.rotate)):b.rotate=a.deg(e.asin(d)),b.isSimple=!(+b.shear.toFixed(9)||b.scalex.toFixed(9)!=b.scaley.toFixed(9)&&b.rotate),b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate,b.noRotation=!+b.shear.toFixed(9)&&!b.rotate,b},c.toTransformString=function(a){var b=a||this.split();return+b.shear.toFixed(9)?\"m\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]:(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?\"t\"+[+b.dx.toFixed(4),+b.dy.toFixed(4)]:f)+(1!=b.scalex||1!=b.scaley?\"s\"+[b.scalex,b.scaley,0,0]:f)+(b.rotate?\"r\"+[+b.rotate.toFixed(4),0,0]:f))}}(b.prototype),a.Matrix=b,a.matrix=function(a,c,d,e,f,g){return new b(a,c,d,e,f,g)}}),d.plugin(function(a,c,d,e,f){function g(d){return function(e){if(b.stop(),e instanceof f&&1==e.node.childNodes.length&&(\"radialGradient\"==e.node.firstChild.tagName||\"linearGradient\"==e.node.firstChild.tagName||\"pattern\"==e.node.firstChild.tagName)&&(e=e.node.firstChild,n(this).appendChild(e),e=l(e)),e instanceof c)if(\"radialGradient\"==e.type||\"linearGradient\"==e.type||\"pattern\"==e.type){e.node.id||p(e.node,{id:e.id});var g=q(e.node.id)}else g=e.attr(d);else if(g=a.color(e),g.error){var h=a(n(this).ownerSVGElement).gradient(e);h?(h.node.id||p(h.node,{id:h.id}),g=q(h.node.id)):g=e}else g=r(g);var i={};i[d]=g,p(this.node,i),this.node.style[d]=t}}function h(a){b.stop(),a==+a&&(a+=\"px\"),this.node.style.fontSize=a}function i(a){for(var b=[],c=a.childNodes,d=0,e=c.length;e>d;d++){var f=c[d];3==f.nodeType&&b.push(f.nodeValue),\"tspan\"==f.tagName&&b.push(1==f.childNodes.length&&3==f.firstChild.nodeType?f.firstChild.nodeValue:i(f))}return b}function j(){return b.stop(),this.node.style.fontSize}var k=a._.make,l=a._.wrap,m=a.is,n=a._.getSomeDefs,o=/^url\\(#?([^)]+)\\)$/,p=a._.$,q=a.url,r=String,s=a._.separator,t=\"\";b.on(\"snap.util.attr.mask\",function(a){if(a instanceof c||a instanceof f){if(b.stop(),a instanceof f&&1==a.node.childNodes.length&&(a=a.node.firstChild,n(this).appendChild(a),a=l(a)),\"mask\"==a.type)var d=a;else d=k(\"mask\",n(this)),d.node.appendChild(a.node);!d.node.id&&p(d.node,{id:d.id}),p(this.node,{mask:q(d.id)})}}),function(a){b.on(\"snap.util.attr.clip\",a),b.on(\"snap.util.attr.clip-path\",a),b.on(\"snap.util.attr.clipPath\",a)}(function(a){if(a instanceof c||a instanceof f){if(b.stop(),\"clipPath\"==a.type)var d=a;else d=k(\"clipPath\",n(this)),d.node.appendChild(a.node),!d.node.id&&p(d.node,{id:d.id});p(this.node,{\"clip-path\":q(d.id)})}}),b.on(\"snap.util.attr.fill\",g(\"fill\")),b.on(\"snap.util.attr.stroke\",g(\"stroke\"));var u=/^([lr])(?:\\(([^)]*)\\))?(.*)$/i;b.on(\"snap.util.grad.parse\",function(a){a=r(a);var b=a.match(u);if(!b)return null;var c=b[1],d=b[2],e=b[3];return d=d.split(/\\s*,\\s*/).map(function(a){return+a==a?+a:a}),1==d.length&&0==d[0]&&(d=[]),e=e.split(\"-\"),e=e.map(function(a){a=a.split(\":\");var b={color:a[0]};return a[1]&&(b.offset=parseFloat(a[1])),b}),{type:c,params:d,stops:e}}),b.on(\"snap.util.attr.d\",function(c){b.stop(),m(c,\"array\")&&m(c[0],\"array\")&&(c=a.path.toString.call(c)),c=r(c),c.match(/[ruo]/i)&&(c=a.path.toAbsolute(c)),p(this.node,{d:c})})(-1),b.on(\"snap.util.attr.#text\",function(a){b.stop(),a=r(a);for(var c=e.doc.createTextNode(a);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(c)})(-1),b.on(\"snap.util.attr.path\",function(a){b.stop(),this.attr({d:a})})(-1),b.on(\"snap.util.attr.class\",function(a){b.stop(),this.node.className.baseVal=a})(-1),b.on(\"snap.util.attr.viewBox\",function(a){var c;c=m(a,\"object\")&&\"x\"in a?[a.x,a.y,a.width,a.height].join(\" \"):m(a,\"array\")?a.join(\" \"):a,p(this.node,{viewBox:c}),b.stop()})(-1),b.on(\"snap.util.attr.transform\",function(a){this.transform(a),b.stop()})(-1),b.on(\"snap.util.attr.r\",function(a){\"rect\"==this.type&&(b.stop(),p(this.node,{rx:a,ry:a}))})(-1),b.on(\"snap.util.attr.textpath\",function(a){if(b.stop(),\"text\"==this.type){var d,e,f;if(!a&&this.textPath){for(e=this.textPath;e.node.firstChild;)this.node.appendChild(e.node.firstChild);return e.remove(),void delete this.textPath}if(m(a,\"string\")){var g=n(this),h=l(g.parentNode).path(a);g.appendChild(h.node),d=h.id,h.attr({id:d})}else a=l(a),a instanceof c&&(d=a.attr(\"id\"),d||(d=a.id,a.attr({id:d})));if(d)if(e=this.textPath,f=this.node,e)e.attr({\"xlink:href\":\"#\"+d});else{for(e=p(\"textPath\",{\"xlink:href\":\"#\"+d});f.firstChild;)e.appendChild(f.firstChild);f.appendChild(e),this.textPath=l(e)}}})(-1),b.on(\"snap.util.attr.text\",function(a){if(\"text\"==this.type){for(var c=this.node,d=function(a){var b=p(\"tspan\");if(m(a,\"array\"))for(var c=0;c<a.length;c++)b.appendChild(d(a[c]));else b.appendChild(e.doc.createTextNode(a));return b.normalize&&b.normalize(),b};c.firstChild;)c.removeChild(c.firstChild);for(var f=d(a);f.firstChild;)c.appendChild(f.firstChild)}b.stop()})(-1),b.on(\"snap.util.attr.fontSize\",h)(-1),b.on(\"snap.util.attr.font-size\",h)(-1),b.on(\"snap.util.getattr.transform\",function(){return b.stop(),this.transform()})(-1),b.on(\"snap.util.getattr.textpath\",function(){return b.stop(),this.textPath})(-1),function(){function c(c){return function(){b.stop();var d=e.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue(\"marker-\"+c);return\"none\"==d?d:a(e.doc.getElementById(d.match(o)[1]))}}function d(a){return function(c){b.stop();var d=\"marker\"+a.charAt(0).toUpperCase()+a.substring(1);if(\"\"==c||!c)return void(this.node.style[d]=\"none\");if(\"marker\"==c.type){var e=c.node.id;return e||p(c.node,{id:c.id}),void(this.node.style[d]=q(e))}}}b.on(\"snap.util.getattr.marker-end\",c(\"end\"))(-1),b.on(\"snap.util.getattr.markerEnd\",c(\"end\"))(-1),b.on(\"snap.util.getattr.marker-start\",c(\"start\"))(-1),b.on(\"snap.util.getattr.markerStart\",c(\"start\"))(-1),b.on(\"snap.util.getattr.marker-mid\",c(\"mid\"))(-1),b.on(\"snap.util.getattr.markerMid\",c(\"mid\"))(-1),b.on(\"snap.util.attr.marker-end\",d(\"end\"))(-1),b.on(\"snap.util.attr.markerEnd\",d(\"end\"))(-1),b.on(\"snap.util.attr.marker-start\",d(\"start\"))(-1),b.on(\"snap.util.attr.markerStart\",d(\"start\"))(-1),b.on(\"snap.util.attr.marker-mid\",d(\"mid\"))(-1),b.on(\"snap.util.attr.markerMid\",d(\"mid\"))(-1)}(),b.on(\"snap.util.getattr.r\",function(){return\"rect\"==this.type&&p(this.node,\"rx\")==p(this.node,\"ry\")?(b.stop(),p(this.node,\"rx\")):void 0})(-1),b.on(\"snap.util.getattr.text\",function(){if(\"text\"==this.type||\"tspan\"==this.type){b.stop();var a=i(this.node);return 1==a.length?a[0]:a}})(-1),b.on(\"snap.util.getattr.#text\",function(){return this.node.textContent})(-1),b.on(\"snap.util.getattr.viewBox\",function(){b.stop();var c=p(this.node,\"viewBox\");return c?(c=c.split(s),a._.box(+c[0],+c[1],+c[2],+c[3])):void 0})(-1),b.on(\"snap.util.getattr.points\",function(){var a=p(this.node,\"points\");return b.stop(),a?a.split(s):void 0})(-1),b.on(\"snap.util.getattr.path\",function(){var a=p(this.node,\"d\");return b.stop(),a})(-1),b.on(\"snap.util.getattr.class\",function(){return this.node.className.baseVal})(-1),b.on(\"snap.util.getattr.fontSize\",j)(-1),b.on(\"snap.util.getattr.font-size\",j)(-1)}),d.plugin(function(){function a(a){return a}function c(a){return function(b){return+b.toFixed(3)+a}}var d={\"+\":function(a,b){return a+b},\"-\":function(a,b){return a-b},\"/\":function(a,b){return a/b},\"*\":function(a,b){return a*b}},e=String,f=/[a-z]+$/i,g=/^\\s*([+\\-\\/*])\\s*=\\s*([\\d.eE+\\-]+)\\s*([^\\d\\s]+)?\\s*$/;b.on(\"snap.util.attr\",function(a){var c=e(a).match(g);if(c){var h=b.nt(),i=h.substring(h.lastIndexOf(\".\")+1),j=this.attr(i),k={};b.stop();var l=c[3]||\"\",m=j.match(f),n=d[c[1] ];if(m&&m==l?a=n(parseFloat(j),+c[2]):(j=this.asPX(i),a=n(this.asPX(i),this.asPX(i,c[2]+l))),isNaN(j)||isNaN(a))return;k[i]=a,this.attr(k)}})(-10),b.on(\"snap.util.equal\",function(h,i){var j=e(this.attr(h)||\"\"),k=e(i).match(g);if(k){b.stop();var l=k[3]||\"\",m=j.match(f),n=d[k[1] ];return m&&m==l?{from:parseFloat(j),to:n(parseFloat(j),+k[2]),f:c(m)}:(j=this.asPX(h),{from:j,to:n(j,this.asPX(h,k[2]+l)),f:a})}})(-10)}),d.plugin(function(a,c,d,e){var f=d.prototype,g=a.is;f.rect=function(a,b,c,d,e,f){var h;return null==f&&(f=e),g(a,\"object\")&&\"[object Object]\"==a?h=a:null!=a&&(h={x:a,y:b,width:c,height:d},null!=e&&(h.rx=e,h.ry=f)),this.el(\"rect\",h)},f.circle=function(a,b,c){var d;return g(a,\"object\")&&\"[object Object]\"==a?d=a:null!=a&&(d={cx:a,cy:b,r:c}),this.el(\"circle\",d)};var h=function(){function a(){this.parentNode.removeChild(this)}return function(b,c){var d=e.doc.createElement(\"img\"),f=e.doc.body;d.style.cssText=\"position:absolute;left:-9999em;top:-9999em\",d.onload=function(){c.call(d),d.onload=d.onerror=null,f.removeChild(d)},d.onerror=a,f.appendChild(d),d.src=b}}();f.image=function(b,c,d,e,f){var i=this.el(\"image\");if(g(b,\"object\")&&\"src\"in b)i.attr(b);else if(null!=b){var j={\"xlink:href\":b,preserveAspectRatio:\"none\"};null!=c&&null!=d&&(j.x=c,j.y=d),null!=e&&null!=f?(j.width=e,j.height=f):h(b,function(){a._.$(i.node,{width:this.offsetWidth,height:this.offsetHeight})}),a._.$(i.node,j)}return i},f.ellipse=function(a,b,c,d){var e;return g(a,\"object\")&&\"[object Object]\"==a?e=a:null!=a&&(e={cx:a,cy:b,rx:c,ry:d}),this.el(\"ellipse\",e)},f.path=function(a){var b;return g(a,\"object\")&&!g(a,\"array\")?b=a:a&&(b={d:a}),this.el(\"path\",b)},f.group=f.g=function(a){var b=this.el(\"g\");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.svg=function(a,b,c,d,e,f,h,i){var j={};return g(a,\"object\")&&null==b?j=a:(null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])),this.el(\"svg\",j)},f.mask=function(a){var b=this.el(\"mask\");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.ptrn=function(a,b,c,d,e,f,h,i){if(g(a,\"object\"))var j=a;else arguments.length?(j={},null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])):j={patternUnits:\"userSpaceOnUse\"};return this.el(\"pattern\",j)},f.use=function(a){if(null!=a){{make(\"use\",this.node)}return a instanceof c&&(a.attr(\"id\")||a.attr({id:ID()}),a=a.attr(\"id\")),this.el(\"use\",{\"xlink:href\":a})}return c.prototype.use.call(this)},f.text=function(a,b,c){var d={};return g(a,\"object\")?d=a:null!=a&&(d={x:a,y:b,text:c||\"\"}),this.el(\"text\",d)},f.line=function(a,b,c,d){var e={};return g(a,\"object\")?e=a:null!=a&&(e={x1:a,x2:c,y1:b,y2:d}),this.el(\"line\",e)},f.polyline=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,\"object\")&&!g(a,\"array\")?b=a:null!=a&&(b={points:a}),this.el(\"polyline\",b)},f.polygon=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,\"object\")&&!g(a,\"array\")?b=a:null!=a&&(b={points:a}),this.el(\"polygon\",b)},function(){function c(){return this.selectAll(\"stop\")}function d(b,c){var d=j(\"stop\"),e={offset:+c+\"%\"};return b=a.color(b),e[\"stop-color\"]=b.hex,b.opacity<1&&(e[\"stop-opacity\"]=b.opacity),j(d,e),this.node.appendChild(d),this}function e(){if(\"linearGradient\"==this.type){var b=j(this.node,\"x1\")||0,c=j(this.node,\"x2\")||1,d=j(this.node,\"y1\")||0,e=j(this.node,\"y2\")||0;return a._.box(b,d,math.abs(c-b),math.abs(e-d))}var f=this.node.cx||.5,g=this.node.cy||.5,h=this.node.r||0;return a._.box(f-h,g-h,2*h,2*h)}function g(a,c){function d(a,b){for(var c=(b-l)/(a-m),d=m;a>d;d++)g[d].offset=+(+l+c*(d-m)).toFixed(2);m=a,l=b}var e,f=b(\"snap.util.grad.parse\",null,c).firstDefined();if(!f)return null;f.params.unshift(a),e=\"l\"==f.type.toLowerCase()?h.apply(0,f.params):i.apply(0,f.params),f.type!=f.type.toLowerCase()&&j(e.node,{gradientUnits:\"userSpaceOnUse\"});var g=f.stops,k=g.length,l=0,m=0;k--;for(var n=0;k>n;n++)\"offset\"in g[n]&&d(n,g[n].offset);for(g[k].offset=g[k].offset||100,d(k,g[k].offset),n=0;k>=n;n++){var o=g[n];e.addStop(o.color,o.offset)}return e}function h(b,f,g,h,i){var k=a._.make(\"linearGradient\",b);return k.stops=c,k.addStop=d,k.getBBox=e,null!=f&&j(k.node,{x1:f,y1:g,x2:h,y2:i}),k}function i(b,f,g,h,i,k){var l=a._.make(\"radialGradient\",b);return l.stops=c,l.addStop=d,l.getBBox=e,null!=f&&j(l.node,{cx:f,cy:g,r:h}),null!=i&&null!=k&&j(l.node,{fx:i,fy:k}),l}var j=a._.$;f.gradient=function(a){return g(this.defs,a)},f.gradientLinear=function(a,b,c,d){return h(this.defs,a,b,c,d)},f.gradientRadial=function(a,b,c,d,e){return i(this.defs,a,b,c,d,e)},f.toString=function(){var b,c=this.node.ownerDocument,d=c.createDocumentFragment(),e=c.createElement(\"div\"),f=this.node.cloneNode(!0);return d.appendChild(e),e.appendChild(f),a._.$(f,{xmlns:\"http://www.w3.org/2000/svg\"}),b=e.innerHTML,d.removeChild(d.firstChild),b},f.clear=function(){for(var a,b=this.node.firstChild;b;)a=b.nextSibling,\"defs\"!=b.tagName?b.parentNode.removeChild(b):f.clear.call({node:b}),b=a}}()}),d.plugin(function(a,b){function c(a){var b=c.ps=c.ps||{};return b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[K](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])}),b[a]}function d(a,b,c,d){return null==a&&(a=b=c=d=0),null==b&&(b=a.y,c=a.width,d=a.height,a=a.x),{x:a,y:b,width:c,w:c,height:d,h:d,x2:a+c,y2:b+d,cx:a+c/2,cy:b+d/2,r1:N.min(c,d)/2,r2:N.max(c,d)/2,r0:N.sqrt(c*c+d*d)/2,path:w(a,b,c,d),vb:[a,b,c,d].join(\" \")}}function e(){return this.join(\",\").replace(L,\"$1\")}function f(a){var b=J(a);return b.toString=e,b}function g(a,b,c,d,e,f,g,h,j){return null==j?n(a,b,c,d,e,f,g,h):i(a,b,c,d,e,f,g,h,o(a,b,c,d,e,f,g,h,j))}function h(c,d){function e(a){return+(+a).toFixed(3)}return a._.cacher(function(a,f,h){a instanceof b&&(a=a.attr(\"d\")),a=E(a);for(var j,k,l,m,n,o=\"\",p={},q=0,r=0,s=a.length;s>r;r++){if(l=a[r],\"M\"==l[0])j=+l[1],k=+l[2];else{if(m=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6]),q+m>f){if(d&&!p.start){if(n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q),o+=[\"C\"+e(n.start.x),e(n.start.y),e(n.m.x),e(n.m.y),e(n.x),e(n.y)],h)return o;p.start=o,o=[\"M\"+e(n.x),e(n.y)+\"C\"+e(n.n.x),e(n.n.y),e(n.end.x),e(n.end.y),e(l[5]),e(l[6])].join(),q+=m,j=+l[5],k=+l[6];continue}if(!c&&!d)return n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q)}q+=m,j=+l[5],k=+l[6]}o+=l.shift()+l}return p.end=o,n=c?q:d?p:i(j,k,l[0],l[1],l[2],l[3],l[4],l[5],1)},null,a._.clone)}function i(a,b,c,d,e,f,g,h,i){var j=1-i,k=R(j,3),l=R(j,2),m=i*i,n=m*i,o=k*a+3*l*i*c+3*j*i*i*e+n*g,p=k*b+3*l*i*d+3*j*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,w=j*e+i*g,x=j*f+i*h,y=90-180*N.atan2(q-s,r-t)/O;return{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:w,y:x},alpha:y}}function j(b,c,e,f,g,h,i,j){a.is(b,\"array\")||(b=[b,c,e,f,g,h,i,j]);var k=D.apply(null,b);return d(k.min.x,k.min.y,k.max.x-k.min.x,k.max.y-k.min.y)}function k(a,b,c){return b>=a.x&&b<=a.x+a.width&&c>=a.y&&c<=a.y+a.height}function l(a,b){return a=d(a),b=d(b),k(b,a.x,a.y)||k(b,a.x2,a.y)||k(b,a.x,a.y2)||k(b,a.x2,a.y2)||k(a,b.x,b.y)||k(a,b.x2,b.y)||k(a,b.x,b.y2)||k(a,b.x2,b.y2)||(a.x<b.x2&&a.x>b.x||b.x<a.x2&&b.x>a.x)&&(a.y<b.y2&&a.y>b.y||b.y<a.y2&&b.y>a.y)}function m(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c}function n(a,b,c,d,e,f,g,h,i){null==i&&(i=1),i=i>1?1:0>i?0:i;for(var j=i/2,k=12,l=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],n=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],o=0,p=0;k>p;p++){var q=j*l[p]+j,r=m(q,a,c,e,g),s=m(q,b,d,f,h),t=r*r+s*s;o+=n[p]*N.sqrt(t)}return j*o}function o(a,b,c,d,e,f,g,h,i){if(!(0>i||n(a,b,c,d,e,f,g,h)<i)){var j,k=1,l=k/2,m=k-l,o=.01;for(j=n(a,b,c,d,e,f,g,h,m);S(j-i)>o;)l/=2,m+=(i>j?1:-1)*l,j=n(a,b,c,d,e,f,g,h,m);return m}}function p(a,b,c,d,e,f,g,h){if(!(Q(a,c)<P(e,g)||P(a,c)>Q(e,g)||Q(b,d)<P(f,h)||P(b,d)>Q(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(k){var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(!(n<+P(a,c).toFixed(2)||n>+Q(a,c).toFixed(2)||n<+P(e,g).toFixed(2)||n>+Q(e,g).toFixed(2)||o<+P(b,d).toFixed(2)||o>+Q(b,d).toFixed(2)||o<+P(f,h).toFixed(2)||o>+Q(f,h).toFixed(2)))return{x:l,y:m}}}}function q(a,b,c){var d=j(a),e=j(b);if(!l(d,e))return c?0:[];for(var f=n.apply(0,a),g=n.apply(0,b),h=~~(f/8),k=~~(g/8),m=[],o=[],q={},r=c?0:[],s=0;h+1>s;s++){var t=i.apply(0,a.concat(s/h));m.push({x:t.x,y:t.y,t:s/h})}for(s=0;k+1>s;s++)t=i.apply(0,b.concat(s/k)),o.push({x:t.x,y:t.y,t:s/k});for(s=0;h>s;s++)for(var u=0;k>u;u++){var v=m[s],w=m[s+1],x=o[u],y=o[u+1],z=S(w.x-v.x)<.001?\"y\":\"x\",A=S(y.x-x.x)<.001?\"y\":\"x\",B=p(v.x,v.y,w.x,w.y,x.x,x.y,y.x,y.y);if(B){if(q[B.x.toFixed(4)]==B.y.toFixed(4))continue;q[B.x.toFixed(4)]=B.y.toFixed(4);var C=v.t+S((B[z]-v[z])/(w[z]-v[z]))*(w.t-v.t),D=x.t+S((B[A]-x[A])/(y[A]-x[A]))*(y.t-x.t);C>=0&&1>=C&&D>=0&&1>=D&&(c?r++:r.push({x:B.x,y:B.y,t1:C,t2:D}))}}return r}function r(a,b){return t(a,b)}function s(a,b){return t(a,b,1)}function t(a,b,c){a=E(a),b=E(b);for(var d,e,f,g,h,i,j,k,l,m,n=c?0:[],o=0,p=a.length;p>o;o++){var r=a[o];if(\"M\"==r[0])d=h=r[1],e=i=r[2];else{\"C\"==r[0]?(l=[d,e].concat(r.slice(1)),d=l[6],e=l[7]):(l=[d,e,d,e,h,i,h,i],d=h,e=i);for(var s=0,t=b.length;t>s;s++){var u=b[s];if(\"M\"==u[0])f=j=u[1],g=k=u[2];else{\"C\"==u[0]?(m=[f,g].concat(u.slice(1)),f=m[6],g=m[7]):(m=[f,g,f,g,j,k,j,k],f=j,g=k);var v=q(l,m,c);if(c)n+=v;else{for(var w=0,x=v.length;x>w;w++)v[w].segment1=o,v[w].segment2=s,v[w].bez1=l,v[w].bez2=m;n=n.concat(v)}}}}}return n}function u(a,b,c){var d=v(a);return k(d,b,c)&&t(a,[[\"M\",b,c],[\"H\",d.x2+10] ],1)%2==1}function v(a){var b=c(a);if(b.bbox)return J(b.bbox);if(!a)return d();a=E(a);for(var e,f=0,g=0,h=[],i=[],j=0,k=a.length;k>j;j++)if(e=a[j],\"M\"==e[0])f=e[1],g=e[2],h.push(f),i.push(g);else{var l=D(f,g,e[1],e[2],e[3],e[4],e[5],e[6]);h=h.concat(l.min.x,l.max.x),i=i.concat(l.min.y,l.max.y),f=e[5],g=e[6]}var m=P.apply(0,h),n=P.apply(0,i),o=Q.apply(0,h),p=Q.apply(0,i),q=d(m,n,o-m,p-n);return b.bbox=J(q),q}function w(a,b,c,d,f){if(f)return[[\"M\",+a+ +f,b],[\"l\",c-2*f,0],[\"a\",f,f,0,0,1,f,f],[\"l\",0,d-2*f],[\"a\",f,f,0,0,1,-f,f],[\"l\",2*f-c,0],[\"a\",f,f,0,0,1,-f,-f],[\"l\",0,2*f-d],[\"a\",f,f,0,0,1,f,-f],[\"z\"] ];var g=[[\"M\",a,b],[\"l\",c,0],[\"l\",0,d],[\"l\",-c,0],[\"z\"] ];return g.toString=e,g}function x(a,b,c,d,f){if(null==f&&null==d&&(d=c),a=+a,b=+b,c=+c,d=+d,null!=f)var g=Math.PI/180,h=a+c*Math.cos(-d*g),i=a+c*Math.cos(-f*g),j=b+c*Math.sin(-d*g),k=b+c*Math.sin(-f*g),l=[[\"M\",h,j],[\"A\",c,c,0,+(f-d>180),0,i,k] ];else l=[[\"M\",a,b],[\"m\",0,-d],[\"a\",c,d,0,1,1,0,2*d],[\"a\",c,d,0,1,1,0,-2*d],[\"z\"] ];return l.toString=e,l}function y(b){var d=c(b),g=String.prototype.toLowerCase;if(d.rel)return f(d.rel);a.is(b,\"array\")&&a.is(b&&b[0],\"array\")||(b=a.parsePathString(b));var h=[],i=0,j=0,k=0,l=0,m=0;\"M\"==b[0][0]&&(i=b[0][1],j=b[0][2],k=i,l=j,m++,h.push([\"M\",i,j]));for(var n=m,o=b.length;o>n;n++){var p=h[n]=[],q=b[n];if(q[0]!=g.call(q[0]))switch(p[0]=g.call(q[0]),p[0]){case\"a\":p[1]=q[1],p[2]=q[2],p[3]=q[3],p[4]=q[4],p[5]=q[5],p[6]=+(q[6]-i).toFixed(3),p[7]=+(q[7]-j).toFixed(3);break;case\"v\":p[1]=+(q[1]-j).toFixed(3);break;case\"m\":k=q[1],l=q[2];default:for(var r=1,s=q.length;s>r;r++)p[r]=+(q[r]-(r%2?i:j)).toFixed(3)}else{p=h[n]=[],\"m\"==q[0]&&(k=q[1]+i,l=q[2]+j);for(var t=0,u=q.length;u>t;t++)h[n][t]=q[t]}var v=h[n].length;switch(h[n][0]){case\"z\":i=k,j=l;break;case\"h\":i+=+h[n][v-1];break;case\"v\":j+=+h[n][v-1];break;default:i+=+h[n][v-2],j+=+h[n][v-1]}}return h.toString=e,d.rel=f(h),h}function z(b){var d=c(b);if(d.abs)return f(d.abs);if(I(b,\"array\")&&I(b&&b[0],\"array\")||(b=a.parsePathString(b)),!b||!b.length)return[[\"M\",0,0] ];var g,h=[],i=0,j=0,k=0,l=0,m=0;\"M\"==b[0][0]&&(i=+b[0][1],j=+b[0][2],k=i,l=j,m++,h[0]=[\"M\",i,j]);for(var n,o,p=3==b.length&&\"M\"==b[0][0]&&\"R\"==b[1][0].toUpperCase()&&\"Z\"==b[2][0].toUpperCase(),q=m,r=b.length;r>q;q++){if(h.push(n=[]),o=b[q],g=o[0],g!=g.toUpperCase())switch(n[0]=g.toUpperCase(),n[0]){case\"A\":n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=+o[6]+i,n[7]=+o[7]+j;break;case\"V\":n[1]=+o[1]+j;break;case\"H\":n[1]=+o[1]+i;break;case\"R\":for(var s=[i,j].concat(o.slice(1)),t=2,u=s.length;u>t;t++)s[t]=+s[t]+i,s[++t]=+s[t]+j;h.pop(),h=h.concat(G(s,p));break;case\"O\":h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);break;case\"U\":h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=[\"U\"].concat(h[h.length-1].slice(-2));break;case\"M\":k=+o[1]+i,l=+o[2]+j;default:for(t=1,u=o.length;u>t;t++)n[t]=+o[t]+(t%2?i:j)}else if(\"R\"==g)s=[i,j].concat(o.slice(1)),h.pop(),h=h.concat(G(s,p)),n=[\"R\"].concat(o.slice(-2));else if(\"O\"==g)h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);else if(\"U\"==g)h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=[\"U\"].concat(h[h.length-1].slice(-2));else for(var v=0,w=o.length;w>v;v++)n[v]=o[v];if(g=g.toUpperCase(),\"O\"!=g)switch(n[0]){case\"Z\":i=+k,j=+l;break;case\"H\":i=n[1];break;case\"V\":j=n[1];break;case\"M\":k=n[n.length-2],l=n[n.length-1];default:i=n[n.length-2],j=n[n.length-1]}}return h.toString=e,d.abs=f(h),h}function A(a,b,c,d){return[a,b,c,d,c,d]}function B(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]}function C(b,c,d,e,f,g,h,i,j,k){var l,m=120*O/180,n=O/180*(+f||0),o=[],p=a._.cacher(function(a,b,c){var d=a*N.cos(c)-b*N.sin(c),e=a*N.sin(c)+b*N.cos(c);return{x:d,y:e}});if(k)y=k[0],z=k[1],w=k[2],x=k[3];else{l=p(b,c,-n),b=l.x,c=l.y,l=p(i,j,-n),i=l.x,j=l.y;var q=(N.cos(O/180*f),N.sin(O/180*f),(b-i)/2),r=(c-j)/2,s=q*q/(d*d)+r*r/(e*e);s>1&&(s=N.sqrt(s),d=s*d,e=s*e);var t=d*d,u=e*e,v=(g==h?-1:1)*N.sqrt(S((t*u-t*r*r-u*q*q)/(t*r*r+u*q*q))),w=v*d*r/e+(b+i)/2,x=v*-e*q/d+(c+j)/2,y=N.asin(((c-x)/e).toFixed(9)),z=N.asin(((j-x)/e).toFixed(9));y=w>b?O-y:y,z=w>i?O-z:z,0>y&&(y=2*O+y),0>z&&(z=2*O+z),h&&y>z&&(y-=2*O),!h&&z>y&&(z-=2*O)}var A=z-y;if(S(A)>m){var B=z,D=i,E=j;z=y+m*(h&&z>y?1:-1),i=w+d*N.cos(z),j=x+e*N.sin(z),o=C(i,j,d,e,f,0,h,D,E,[z,B,w,x])}A=z-y;var F=N.cos(y),G=N.sin(y),H=N.cos(z),I=N.sin(z),J=N.tan(A/4),K=4/3*d*J,L=4/3*e*J,M=[b,c],P=[b+K*G,c-L*F],Q=[i+K*I,j-L*H],R=[i,j];if(P[0]=2*M[0]-P[0],P[1]=2*M[1]-P[1],k)return[P,Q,R].concat(o);o=[P,Q,R].concat(o).join().split(\",\");for(var T=[],U=0,V=o.length;V>U;U++)T[U]=U%2?p(o[U-1],o[U],n).y:p(o[U],o[U+1],n).x;return T}function D(a,b,c,d,e,f,g,h){for(var i,j,k,l,m,n,o,p,q=[],r=[[],[] ],s=0;2>s;++s)if(0==s?(j=6*a-12*c+6*e,i=-3*a+9*c-9*e+3*g,k=3*c-3*a):(j=6*b-12*d+6*f,i=-3*b+9*d-9*f+3*h,k=3*d-3*b),S(i)<1e-12){if(S(j)<1e-12)continue;l=-k/j,l>0&&1>l&&q.push(l)}else o=j*j-4*k*i,p=N.sqrt(o),0>o||(m=(-j+p)/(2*i),m>0&&1>m&&q.push(m),n=(-j-p)/(2*i),n>0&&1>n&&q.push(n));for(var t,u=q.length,v=u;u--;)l=q[u],t=1-l,r[0][u]=t*t*t*a+3*t*t*l*c+3*t*l*l*e+l*l*l*g,r[1][u]=t*t*t*b+3*t*t*l*d+3*t*l*l*f+l*l*l*h;return r[0][v]=a,r[1][v]=b,r[0][v+1]=g,r[1][v+1]=h,r[0].length=r[1].length=v+2,{min:{x:P.apply(0,r[0]),y:P.apply(0,r[1])},max:{x:Q.apply(0,r[0]),y:Q.apply(0,r[1])}}}function E(a,b){var d=!b&&c(a);if(!b&&d.curve)return f(d.curve);for(var e=z(a),g=b&&z(b),h={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},i={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},j=(function(a,b,c){var d,e;if(!a)return[\"C\",b.x,b.y,b.x,b.y,b.x,b.y];switch(!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null),a[0]){case\"M\":b.X=a[1],b.Y=a[2];break;case\"A\":a=[\"C\"].concat(C.apply(0,[b.x,b.y].concat(a.slice(1))));break;case\"S\":\"C\"==c||\"S\"==c?(d=2*b.x-b.bx,e=2*b.y-b.by):(d=b.x,e=b.y),a=[\"C\",d,e].concat(a.slice(1));break;case\"T\":\"Q\"==c||\"T\"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y),a=[\"C\"].concat(B(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case\"Q\":b.qx=a[1],b.qy=a[2],a=[\"C\"].concat(B(b.x,b.y,a[1],a[2],a[3],a[4]));break;case\"L\":a=[\"C\"].concat(A(b.x,b.y,a[1],a[2]));break;case\"H\":a=[\"C\"].concat(A(b.x,b.y,a[1],b.y));break;case\"V\":a=[\"C\"].concat(A(b.x,b.y,b.x,a[1]));break;case\"Z\":a=[\"C\"].concat(A(b.x,b.y,b.X,b.Y))}return a}),k=function(a,b){if(a[b].length>7){a[b].shift();for(var c=a[b];c.length;)m[b]=\"A\",g&&(n[b]=\"A\"),a.splice(b++,0,[\"C\"].concat(c.splice(0,6)));a.splice(b,1),r=Q(e.length,g&&g.length||0)}},l=function(a,b,c,d,f){a&&b&&\"M\"==a[f][0]&&\"M\"!=b[f][0]&&(b.splice(f,0,[\"M\",d.x,d.y]),c.bx=0,c.by=0,c.x=a[f][1],c.y=a[f][2],r=Q(e.length,g&&g.length||0))},m=[],n=[],o=\"\",p=\"\",q=0,r=Q(e.length,g&&g.length||0);r>q;q++){e[q]&&(o=e[q][0]),\"C\"!=o&&(m[q]=o,q&&(p=m[q-1])),e[q]=j(e[q],h,p),\"A\"!=m[q]&&\"C\"==o&&(m[q]=\"C\"),k(e,q),g&&(g[q]&&(o=g[q][0]),\"C\"!=o&&(n[q]=o,q&&(p=n[q-1])),g[q]=j(g[q],i,p),\"A\"!=n[q]&&\"C\"==o&&(n[q]=\"C\"),k(g,q)),l(e,g,h,i,q),l(g,e,i,h,q);var s=e[q],t=g&&g[q],u=s.length,v=g&&t.length;h.x=s[u-2],h.y=s[u-1],h.bx=M(s[u-4])||h.x,h.by=M(s[u-3])||h.y,i.bx=g&&(M(t[v-4])||i.x),i.by=g&&(M(t[v-3])||i.y),i.x=g&&t[v-2],i.y=g&&t[v-1]}return g||(d.curve=f(e)),g?[e,g]:e}function F(a,b){if(!b)return a;var c,d,e,f,g,h,i;for(a=E(a),e=0,g=a.length;g>e;e++)for(i=a[e],f=1,h=i.length;h>f;f+=2)c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d;return a}function G(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push([\"C\",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}var H=b.prototype,I=a.is,J=a._.clone,K=\"hasOwnProperty\",L=/,?([a-z]),?/gi,M=parseFloat,N=Math,O=N.PI,P=N.min,Q=N.max,R=N.pow,S=N.abs,T=h(1),U=h(),V=h(0,1),W=a._unit2px,X={path:function(a){return a.attr(\"path\")},circle:function(a){var b=W(a);return x(b.cx,b.cy,b.r)},ellipse:function(a){var b=W(a);return x(b.cx||0,b.cy||0,b.rx,b.ry)},rect:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height,b.rx,b.ry)},image:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height)},line:function(a){return\"M\"+[a.attr(\"x1\")||0,a.attr(\"y1\")||0,a.attr(\"x2\"),a.attr(\"y2\")]},polyline:function(a){return\"M\"+a.attr(\"points\")},polygon:function(a){return\"M\"+a.attr(\"points\")+\"z\"},deflt:function(a){var b=a.node.getBBox();return w(b.x,b.y,b.width,b.height)}};a.path=c,a.path.getTotalLength=T,a.path.getPointAtLength=U,a.path.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return V(a,b).end;var d=V(a,c,1);return b?V(d,b).end:d},H.getTotalLength=function(){return this.node.getTotalLength?this.node.getTotalLength():void 0},H.getPointAtLength=function(a){return U(this.attr(\"d\"),a)},H.getSubpath=function(b,c){return a.path.getSubpath(this.attr(\"d\"),b,c)},a._.box=d,a.path.findDotsAtSegment=i,a.path.bezierBBox=j,a.path.isPointInsideBBox=k,a.path.isBBoxIntersect=l,a.path.intersection=r,a.path.intersectionNumber=s,a.path.isPointInside=u,a.path.getBBox=v,a.path.get=X,a.path.toRelative=y,a.path.toAbsolute=z,a.path.toCubic=E,a.path.map=F,a.path.toString=e,a.path.clone=f}),d.plugin(function(a){var d=Math.max,e=Math.min,f=function(a){if(this.items=[],this.bindings={},this.length=0,this.type=\"set\",a)for(var b=0,c=a.length;c>b;b++)a[b]&&(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},g=f.prototype;g.push=function(){for(var a,b,c=0,d=arguments.length;d>c;c++)a=arguments[c],a&&(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},g.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},g.forEach=function(a,b){for(var c=0,d=this.items.length;d>c;c++)if(a.call(b,this.items[c],c)===!1)return this;return this},g.animate=function(d,e,f,g){\"function\"!=typeof f||f.length||(g=f,f=c.linear),d instanceof a._.Animation&&(g=d.callback,f=d.easing,e=f.dur,d=d.attr);var h=arguments;if(a.is(d,\"array\")&&a.is(h[h.length-1],\"array\"))var i=!0;var j,k=function(){j?this.b=j:j=this.b},l=0,m=g&&function(){l++==this.length&&g.call(this)};return this.forEach(function(a,c){b.once(\"snap.animcreated.\"+a.id,k),i?h[c]&&a.animate.apply(a,h[c]):a.animate(d,e,f,m)})},g.remove=function(){for(;this.length;)this.pop().remove();return this},g.bind=function(a,b,c){var d={};if(\"function\"==typeof b)this.bindings[a]=b;else{var e=c||a;this.bindings[a]=function(a){d[e]=a,b.attr(d)}}return this},g.attr=function(a){var b={};for(var c in a)this.bindings[c]?this.bindings[c](a[c]):b[c]=a[c];for(var d=0,e=this.items.length;e>d;d++)this.items[d].attr(b);return this},g.clear=function(){for(;this.length;)this.pop()},g.splice=function(a,b){a=0>a?d(this.length+a,0):a,b=d(0,e(this.length-a,b));var c,g=[],h=[],i=[];for(c=2;c<arguments.length;c++)i.push(arguments[c]);for(c=0;b>c;c++)h.push(this[a+c]);for(;c<this.length-a;c++)g.push(this[a+c]);var j=i.length;for(c=0;c<j+g.length;c++)this.items[a+c]=this[a+c]=j>c?i[c]:g[c-j];for(c=this.items.length=this.length-=b-j;this[c];)delete this[c++];return new f(h)},g.exclude=function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]==a)return this.splice(b,1),!0;return!1},g.insertAfter=function(a){for(var b=this.items.length;b--;)this.items[b].insertAfter(a);return this},g.getBBox=function(){for(var a=[],b=[],c=[],f=[],g=this.items.length;g--;)if(!this.items[g].removed){var h=this.items[g].getBBox();a.push(h.x),b.push(h.y),c.push(h.x+h.width),f.push(h.y+h.height)}return a=e.apply(0,a),b=e.apply(0,b),c=d.apply(0,c),f=d.apply(0,f),{x:a,y:b,x2:c,y2:f,width:c-a,height:f-b,cx:a+(c-a)/2,cy:b+(f-b)/2}},g.clone=function(a){a=new f;for(var b=0,c=this.items.length;c>b;b++)a.push(this.items[b].clone());return a},g.toString=function(){return\"Snaps set\"},g.type=\"set\",a.set=function(){var a=new f;return arguments.length&&a.push.apply(a,Array.prototype.slice.call(arguments,0)),a}}),d.plugin(function(a,c){function d(a){var b=a[0];switch(b.toLowerCase()){case\"t\":return[b,0,0];case\"m\":return[b,1,0,0,1,0,0];case\"r\":return 4==a.length?[b,0,a[2],a[3] ]:[b,0];case\"s\":return 5==a.length?[b,1,1,a[3],a[4] ]:3==a.length?[b,1,1]:[b,1]}}function e(b,c,e){c=m(c).replace(/\\.{3}|\\u2026/g,b),b=a.parseTransformString(b)||[],c=a.parseTransformString(c)||[];for(var f,g,h,k,l=Math.max(b.length,c.length),n=[],o=[],p=0;l>p;p++){if(h=b[p]||d(c[p]),k=c[p]||d(h),h[0]!=k[0]||\"r\"==h[0].toLowerCase()&&(h[2]!=k[2]||h[3]!=k[3])||\"s\"==h[0].toLowerCase()&&(h[3]!=k[3]||h[4]!=k[4])){b=a._.transform2matrix(b,e()),c=a._.transform2matrix(c,e()),n=[[\"m\",b.a,b.b,b.c,b.d,b.e,b.f] ],o=[[\"m\",c.a,c.b,c.c,c.d,c.e,c.f] ];break}for(n[p]=[],o[p]=[],f=0,g=Math.max(h.length,k.length);g>f;f++)f in h&&(n[p][f]=h[f]),f in k&&(o[p][f]=k[f])}return{from:j(n),to:j(o),f:i(n)}}function f(a){return a}function g(a){return function(b){return+b.toFixed(3)+a}}function h(b){return a.rgb(b[0],b[1],b[2])}function i(a){var b,c,d,e,f,g,h=0,i=[];for(b=0,c=a.length;c>b;b++){for(f=\"[\",g=['\"'+a[b][0]+'\"'],d=1,e=a[b].length;e>d;d++)g[d]=\"val[\"+h++ +\"]\";\n",
"f+=g+\"]\",i[b]=f}return Function(\"val\",\"return Snap.path.toString.call([\"+i+\"])\")}function j(a){for(var b=[],c=0,d=a.length;d>c;c++)for(var e=1,f=a[c].length;f>e;e++)b.push(a[c][e]);return b}var k={},l=/[a-z]+$/i,m=String;k.stroke=k.fill=\"colour\",c.prototype.equal=function(a,c){return b(\"snap.util.equal\",this,a,c).firstDefined()},b.on(\"snap.util.equal\",function(b,c){var d,n,o=m(this.attr(b)||\"\"),p=this;if(o==+o&&c==+c)return{from:+o,to:+c,f:f};if(\"colour\"==k[b])return d=a.color(o),n=a.color(c),{from:[d.r,d.g,d.b,d.opacity],to:[n.r,n.g,n.b,n.opacity],f:h};if(\"transform\"==b||\"gradientTransform\"==b||\"patternTransform\"==b)return c instanceof a.Matrix&&(c=c.toTransformString()),a._.rgTransform.test(c)||(c=a._.svgTransform2string(c)),e(o,c,function(){return p.getBBox(1)});if(\"d\"==b||\"path\"==b)return d=a.path.toCubic(o,c),{from:j(d[0]),to:j(d[1]),f:i(d[0])};if(\"points\"==b)return d=m(o).split(a._.separator),n=m(c).split(a._.separator),{from:d,to:n,f:function(a){return a}};aUnit=o.match(l);var q=m(c).match(l);return aUnit&&aUnit==q?{from:parseFloat(o),to:parseFloat(c),f:g(aUnit)}:{from:this.asPX(b),to:this.asPX(b,c),f:f}})}),d.plugin(function(a,c,d,e){for(var f=c.prototype,g=\"hasOwnProperty\",h=(\"createTouch\"in e.doc),i=[\"click\",\"dblclick\",\"mousedown\",\"mousemove\",\"mouseout\",\"mouseover\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\"],j={mousedown:\"touchstart\",mousemove:\"touchmove\",mouseup:\"touchend\"},k=(function(a,b){var c=\"y\"==a?\"scrollTop\":\"scrollLeft\",d=b&&b.node?b.node.ownerDocument:e.doc;return d[c in d.documentElement?\"documentElement\":\"body\"][c]}),l=function(){this.returnValue=!1},m=function(){return this.originalEvent.preventDefault()},n=function(){this.cancelBubble=!0},o=function(){return this.originalEvent.stopPropagation()},p=function(){return e.doc.addEventListener?function(a,b,c,d){var e=h&&j[b]?j[b]:b,f=function(e){var f=k(\"y\",d),i=k(\"x\",d);if(h&&j[g](b))for(var l=0,n=e.targetTouches&&e.targetTouches.length;n>l;l++)if(e.targetTouches[l].target==a||a.contains(e.targetTouches[l].target)){var p=e;e=e.targetTouches[l],e.originalEvent=p,e.preventDefault=m,e.stopPropagation=o;break}var q=e.clientX+i,r=e.clientY+f;return c.call(d,e,q,r)};return b!==e&&a.addEventListener(b,f,!1),a.addEventListener(e,f,!1),function(){return b!==e&&a.removeEventListener(b,f,!1),a.removeEventListener(e,f,!1),!0}}:e.doc.attachEvent?function(a,b,c,d){var e=function(a){a=a||d.node.ownerDocument.window.event;var b=k(\"y\",d),e=k(\"x\",d),f=a.clientX+e,g=a.clientY+b;return a.preventDefault=a.preventDefault||l,a.stopPropagation=a.stopPropagation||n,c.call(d,a,f,g)};a.attachEvent(\"on\"+b,e);var f=function(){return a.detachEvent(\"on\"+b,e),!0};return f}:void 0}(),q=[],r=function(a){for(var c,d=a.clientX,e=a.clientY,f=k(\"y\"),g=k(\"x\"),i=q.length;i--;){if(c=q[i],h){for(var j,l=a.touches&&a.touches.length;l--;)if(j=a.touches[l],j.identifier==c.el._drag.id||c.el.node.contains(j.target)){d=j.clientX,e=j.clientY,(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();{var m=c.el.node;m.nextSibling,m.parentNode,m.style.display}d+=g,e+=f,b(\"snap.drag.move.\"+c.el.id,c.move_scope||c.el,d-c.el._drag.x,e-c.el._drag.y,d,e,a)}},s=function(c){a.unmousemove(r).unmouseup(s);for(var d,e=q.length;e--;)d=q[e],d.el._drag={},b(\"snap.drag.end.\"+d.el.id,d.end_scope||d.start_scope||d.move_scope||d.el,c);q=[]},t=i.length;t--;)!function(b){a[b]=f[b]=function(c,d){return a.is(c,\"function\")&&(this.events=this.events||[],this.events.push({name:b,f:c,unbind:p(this.node||document,b,c,d||this)})),this},a[\"un\"+b]=f[\"un\"+b]=function(a){for(var c=this.events||[],d=c.length;d--;)if(c[d].name==b&&(c[d].f==a||!a))return c[d].unbind(),c.splice(d,1),!c.length&&delete this.events,this;return this}}(i[t]);f.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},f.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var u=[];f.drag=function(c,d,e,f,g,h){function i(i,j,k){(i.originalEvent||i).preventDefault(),this._drag.x=j,this._drag.y=k,this._drag.id=i.identifier,!q.length&&a.mousemove(r).mouseup(s),q.push({el:this,move_scope:f,start_scope:g,end_scope:h}),d&&b.on(\"snap.drag.start.\"+this.id,d),c&&b.on(\"snap.drag.move.\"+this.id,c),e&&b.on(\"snap.drag.end.\"+this.id,e),b(\"snap.drag.start.\"+this.id,g||f||this,j,k,i)}if(!arguments.length){var j;return this.drag(function(a,b){this.attr({transform:j+(j?\"T\":\"t\")+[a,b]})},function(){j=this.transform().local})}return this._drag={},u.push({el:this,start:i}),this.mousedown(i),this},f.undrag=function(){for(var c=u.length;c--;)u[c].el==this&&(this.unmousedown(u[c].start),u.splice(c,1),b.unbind(\"snap.drag.*.\"+this.id));return!u.length&&a.unmousemove(r).unmouseup(s),this}}),d.plugin(function(a,c,d){var e=(c.prototype,d.prototype),f=/^\\s*url\\((.+)\\)/,g=String,h=a._.$;a.filter={},e.filter=function(b){var d=this;\"svg\"!=d.type&&(d=d.paper);var e=a.parse(g(b)),f=a._.id(),i=(d.node.offsetWidth,d.node.offsetHeight,h(\"filter\"));return h(i,{id:f,filterUnits:\"userSpaceOnUse\"}),i.appendChild(e.node),d.defs.appendChild(i),new c(i)},b.on(\"snap.util.getattr.filter\",function(){b.stop();var c=h(this.node,\"filter\");if(c){var d=g(c).match(f);return d&&a.select(d[1])}}),b.on(\"snap.util.attr.filter\",function(d){if(d instanceof c&&\"filter\"==d.type){b.stop();var e=d.node.id;e||(h(d.node,{id:d.id}),e=d.id),h(this.node,{filter:a.url(e)})}d&&\"none\"!=d||(b.stop(),this.node.removeAttribute(\"filter\"))}),a.filter.blur=function(b,c){null==b&&(b=2);var d=null==c?b:[b,c];return a.format('<feGaussianBlur stdDeviation=\"{def}\"/>',{def:d})},a.filter.blur.toString=function(){return this()},a.filter.shadow=function(b,c,d,e,f){return\"string\"==typeof d&&(e=d,f=e,d=4),\"string\"!=typeof e&&(f=e,e=\"#000\"),e=e||\"#000\",null==d&&(d=4),null==f&&(f=1),null==b&&(b=0,c=2),null==c&&(c=b),e=a.color(e),a.format('<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"{blur}\"/><feOffset dx=\"{dx}\" dy=\"{dy}\" result=\"offsetblur\"/><feFlood flood-color=\"{color}\"/><feComposite in2=\"offsetblur\" operator=\"in\"/><feComponentTransfer><feFuncA type=\"linear\" slope=\"{opacity}\"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in=\"SourceGraphic\"/></feMerge>',{color:e,dx:b,dy:c,blur:d,opacity:f})},a.filter.shadow.toString=function(){return this()},a.filter.grayscale=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0\"/>',{a:.2126+.7874*(1-b),b:.7152-.7152*(1-b),c:.0722-.0722*(1-b),d:.2126-.2126*(1-b),e:.7152+.2848*(1-b),f:.0722-.0722*(1-b),g:.2126-.2126*(1-b),h:.0722+.9278*(1-b)})},a.filter.grayscale.toString=function(){return this()},a.filter.sepia=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0\"/>',{a:.393+.607*(1-b),b:.769-.769*(1-b),c:.189-.189*(1-b),d:.349-.349*(1-b),e:.686+.314*(1-b),f:.168-.168*(1-b),g:.272-.272*(1-b),h:.534-.534*(1-b),i:.131+.869*(1-b)})},a.filter.sepia.toString=function(){return this()},a.filter.saturate=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"saturate\" values=\"{amount}\"/>',{amount:1-b})},a.filter.saturate.toString=function(){return this()},a.filter.hueRotate=function(b){return b=b||0,a.format('<feColorMatrix type=\"hueRotate\" values=\"{angle}\"/>',{angle:b})},a.filter.hueRotate.toString=function(){return this()},a.filter.invert=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncG type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncB type=\"table\" tableValues=\"{amount} {amount2}\"/></feComponentTransfer>',{amount:b,amount2:1-b})},a.filter.invert.toString=function(){return this()},a.filter.brightness=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\"/><feFuncG type=\"linear\" slope=\"{amount}\"/><feFuncB type=\"linear\" slope=\"{amount}\"/></feComponentTransfer>',{amount:b})},a.filter.brightness.toString=function(){return this()},a.filter.contrast=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncG type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncB type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/></feComponentTransfer>',{amount:b,amount2:.5-b/2})},a.filter.contrast.toString=function(){return this()}}),d});\n",
"]]></script>\n",
"<script><![CDATA[\n",
"(function (glob, factory) {\n",
" if (typeof define === 'function' && define.amd) {\n",
" define('ProfileSVG', ['ProfileSVG/snap.svg'], function (Snap) {\n",
" return factory(Snap);\n",
" });\n",
" } else {\n",
" glob.ProfileSVG = factory(glob.Snap);\n",
" }\n",
"}(this, function (Snap) {\n",
" 'use strict';\n",
"\n",
" var supportsPassive = false;\n",
" try {\n",
" var opts = Object.defineProperty({}, 'passive', {\n",
" get: function () {\n",
" return supportsPassive = true;\n",
" }\n",
" });\n",
" window.addEventListener(\"testPassive\", null, opts);\n",
" window.removeEventListener(\"testPassive\", null, opts);\n",
" } catch (e) { // not supported\n",
" }\n",
"\n",
" var stopper = function (e) {\n",
" e.preventDefault();\n",
" e.stopPropagation();\n",
" };\n",
"\n",
" var throttle = function (delay, filter, callback) {\n",
" var previousCall = new Date().getTime();\n",
" return function (e) {\n",
" var time = new Date().getTime();\n",
" if ((time - previousCall) >= delay) {\n",
" previousCall = time;\n",
" callback.apply(null, arguments);\n",
" }\n",
" filter(e);\n",
" };\n",
" };\n",
"\n",
"\n",
" var ProfileSVG = {};\n",
"\n",
" var NS_SVG = 'http://www.w3.org/2000/svg';\n",
" var DEFAULT_TRANSITION_TIME = 300;\n",
" var ZOOM_STEP = 1.4;\n",
" var VIEWPORT_SCALE = 0.9;\n",
" var VIEWPORT_MARGIN_X = 20;\n",
"\n",
" var formatText = function (fig, text, availableWidth) {\n",
" if (availableWidth < 3 * fig.charWidthM) {\n",
" return '';\n",
" }\n",
" var w = availableWidth;\n",
" var m = fig.charWidthM;\n",
" var n = fig.charWidthN;\n",
" var m2 = m * m;\n",
" var n2 = n * n;\n",
" var nc = 0.5 / n2 * (\n",
" (n - m) * Math.sqrt(n2 + (4 * w - 2 * m) * n + m2) + n2 + 2 * (w - m) * n + m2);\n",
" var nchars = Math.ceil(nc);\n",
" if (text.length <= nchars) {\n",
" return text;\n",
" }\n",
" return text.slice(0, nchars - 2) + '..';\n",
" };\n",
"\n",
" var unescapeHtml = function (str) {\n",
" return str\n",
" .replace(/&lt;/g, '<')\n",
" .replace(/&gt;/g, '>')\n",
" .replace(/&amp;/g, '&');\n",
" };\n",
"\n",
" var isDarkColor = function (c) {\n",
" var m = c.match(/^rgba?\\(\\s*(\\d+)[\\s,]+(\\d+)[\\s,]+(\\d+)/);\n",
" if (m) {\n",
" return m[1] * 299 + m[2] * 587 + m[3] * 114 < 255 * 650;\n",
" }\n",
" m = c.match(/^#([\\dA-F]{2})([\\dA-F]{2})([\\dA-F]{2})/i);\n",
" if (m) {\n",
" var r = parseInt(m[1], 16);\n",
" var g = parseInt(m[2], 16);\n",
" var b = parseInt(m[3], 16);\n",
" return r * 299 + g * 587 + b * 114 < 255 * 650;\n",
" }\n",
" return true;\n",
" };\n",
"\n",
" ProfileSVG.moveAndZoom = function (targetFocusX, targetScaleX, fig, deltaT) {\n",
" if (typeof deltaT === 'undefined') {\n",
" deltaT = DEFAULT_TRANSITION_TIME;\n",
" }\n",
"\n",
" var targetFocusY = fig.cy;\n",
" var targetScaleY = 1;\n",
"\n",
" // TODO: dynamically update the transformation while dragging\n",
" var mat = fig.viewport.node.transform.baseVal.consolidate().matrix;\n",
"\n",
" var oldScaleX = mat.a;\n",
" var oldScaleY = mat.d;\n",
" var oldE = mat.e;\n",
" var oldF = mat.f;\n",
"\n",
" var targetE = fig.cx - targetScaleX * targetFocusX;\n",
" var targetF = fig.cy - targetScaleY * targetFocusY;\n",
"\n",
" fig.focusX = targetFocusX;\n",
" fig.focusY = targetFocusY;\n",
" fig.scaleX = targetScaleX;\n",
" fig.scaleY = targetScaleY;\n",
"\n",
" var rects = undefined;\n",
" var pathrects = undefined;\n",
" if (fig.roundradius > 0) {\n",
" rects = fig.viewport.selectAll('rect');\n",
" } else {\n",
" pathrects = fig.viewport.selectAll('path');\n",
" }\n",
"\n",
" var scaleViewport = function (step) {\n",
" var scaleX = oldScaleX + (targetScaleX - oldScaleX) * step;\n",
" var scaleY = oldScaleY + (targetScaleY - oldScaleY) * step;\n",
"\n",
" var rMatrix = fig.viewport.node.transform.baseVal.consolidate().matrix;\n",
" rMatrix.a = scaleX;\n",
" rMatrix.d = scaleY;\n",
" rMatrix.e = oldE + (targetE - oldE) * step; // TransX\n",
" rMatrix.f = oldF + (targetF - oldF) * step; // TransY\n",
"\n",
" if (rects) {\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" rect.setAttribute('rx', Math.max(0.0, fig.roundradius / scaleX));\n",
" rect.setAttribute('ry', Math.max(0.0, fig.roundradius / scaleY));\n",
" });\n",
" }\n",
" };\n",
"\n",
" var finish = function () {\n",
" scaleViewport(1);\n",
" var scaleXt = 1.0 / targetScaleX;\n",
" var scaleYt = 1.0 / targetScaleY;\n",
" var updateText = function (text, x, y, w, shortinfo) {\n",
" var tMatrix = text.transform.baseVal.getItem(0).matrix;\n",
" tMatrix.a = scaleXt;\n",
" tMatrix.d = scaleYt;\n",
" tMatrix.e = (1.0 - scaleXt) * x;\n",
" tMatrix.f = (1.0 - scaleYt) * y;\n",
"\n",
" text.firstChild.nodeValue = formatText(fig, shortinfo, w / scaleXt);\n",
" text.style.display = 'inherit';\n",
" };\n",
" if (rects) {\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" var x = rect.x.baseVal.value;\n",
" var y = rect.y.baseVal.value;\n",
" var w = rect.width.baseVal.value;\n",
" var shortinfo = rect.getAttribute('data-shortinfo');\n",
" updateText(rect.nextElementSibling, x, y, w, shortinfo);\n",
" });\n",
" }\n",
" if (pathrects) {\n",
" pathrects.forEach(function (p) {\n",
" var path = p.node;\n",
" // The API compatibility of path segments is problematic.\n",
" var d = path.getAttribute('d');\n",
" var values = d.match(/^M\\s*([\\d.]+)[\\s,]+(-?[\\d.]+)[^h]+h\\s*([\\d.]+)/);\n",
" var x = Number(values[1]);\n",
" var y = Number(values[2]);\n",
" var w = Number(values[3]);\n",
" var shortinfo = path.getAttribute('data-shortinfo');\n",
" updateText(path.nextElementSibling, x, y, w, shortinfo);\n",
" });\n",
" }\n",
" };\n",
"\n",
" if (deltaT != 0) {\n",
" if (!fig.notext) {\n",
" fig.viewport.selectAll('text').forEach(function (text) {\n",
" text.node.style.display = 'none';\n",
" });\n",
" }\n",
" Snap.animate(0, 1, scaleViewport, deltaT, null, fig.notext ? null : finish);\n",
" } else {\n",
" if (!fig.notext) {\n",
" finish();\n",
" }\n",
" }\n",
"\n",
" };\n",
"\n",
" ProfileSVG.reset = function (fig) {\n",
" var w = fig.width - VIEWPORT_MARGIN_X;\n",
" var targetScaleX = fig.width / w * VIEWPORT_SCALE;\n",
" ProfileSVG.moveAndZoom(fig.cx, targetScaleX, fig);\n",
" };\n",
"\n",
" ProfileSVG.initialize = function (figId) {\n",
"\n",
" var svg = Snap.select('#' + figId);\n",
" var fig = {};\n",
" fig.id = figId;\n",
"\n",
" var bg = svg.select('#' + figId + '-bg');\n",
" var bbox = bg.getBBox();\n",
" fig.width = bbox.width;\n",
" fig.height = bbox.height;\n",
" fig.cx = fig.width / 2;\n",
" fig.cy = fig.height / 2;\n",
"\n",
" fig.viewport = svg.select('#' + figId + '-viewport');\n",
"\n",
" fig.xstep = fig.viewport.node.getAttribute('data-xstep');\n",
" fig.tunit = fig.viewport.node.getAttribute('data-tunit');\n",
" fig.delay = fig.viewport.node.getAttribute('data-delay');\n",
"\n",
" var texts = fig.viewport.selectAll('text');\n",
" fig.notext = false;\n",
" if (texts[0]) {\n",
" fig.notext = getComputedStyle(texts[0].node).strokeOpacity == 0.0;\n",
" texts.forEach(function (text) {\n",
" text.node.style.display = 'none';\n",
" });\n",
" }\n",
" texts = null;\n",
"\n",
" fig.roundradius = 0.0;\n",
" var rect = fig.viewport.select('rect');\n",
" if (rect) {\n",
" fig.roundradius = rect.node.rx.baseVal.value;\n",
" }\n",
"\n",
" fig.scaleX = 1.0;\n",
" fig.scaleY = 1.0; // prepare for the future\n",
" fig.focusX = fig.cx; // center x in the raw (scaleX=1) coordinate space\n",
" fig.focusY = fig.cy; // center y in the raw (scaleY=1) coordinate space\n",
"\n",
" var textBg = document.createElementNS(NS_SVG, 'rect');\n",
" var detail = document.createElementNS(NS_SVG, 'text');\n",
" var time = document.createElementNS(NS_SVG, 'text');\n",
" detail.style.visibility = 'hidden';\n",
" detail.textContent = 'MOw';\n",
" fig.viewport.node.parentNode.appendChild(textBg);\n",
" fig.viewport.node.parentNode.appendChild(detail);\n",
" fig.viewport.node.parentNode.appendChild(time);\n",
" var mBBox = detail.getBBox();\n",
" fig.charWidthM = mBBox.width / 3;\n",
" detail.textContent = 'night';\n",
" var nBBox = detail.getBBox();\n",
" fig.charWidthN = nBBox.width / 5;\n",
" fig.textHeight = nBBox.height;\n",
" detail.style.display = 'none';\n",
" detail.style.visibility = 'visible';\n",
"\n",
" detail.setAttribute('id', figId + '-details');\n",
" detail.setAttribute('x', fig.charWidthM);\n",
" detail.setAttribute('y', fig.height - fig.textHeight * 0.75);\n",
"\n",
" time.setAttribute('x', fig.width - fig.charWidthM * 10);\n",
" time.setAttribute('y', fig.height - fig.textHeight * 0.75);\n",
"\n",
" textBg.setAttribute('x', 0);\n",
" textBg.setAttribute('y', fig.height - fig.textHeight * 2);\n",
" textBg.setAttribute('width', fig.width);\n",
" textBg.setAttribute('height', fig.textHeight * 2);\n",
" var textBgFill = getComputedStyle(textBg).fill;\n",
" if (textBgFill == \"rgba(0, 0, 0, 0)\" || textBgFill == \"transparent\") {\n",
" var isDark = isDarkColor(getComputedStyle(detail).fill);\n",
" textBg.style.fill = isDark ? 'white' : 'black';\n",
" }\n",
" textBg.style.display = 'none';\n",
"\n",
" ProfileSVG.reset(fig);\n",
"\n",
" var rectDblClickHandler = function (e) {\n",
" var bbox = e.target.getBBox();\n",
" var cx = bbox.x + bbox.width / 2;\n",
" var targetScaleX = fig.width / bbox.width * VIEWPORT_SCALE;\n",
" ProfileSVG.moveAndZoom(cx, targetScaleX, fig);\n",
" };\n",
"\n",
" var rectMouseOverHandler = function (e) {\n",
" var rect = e.target;\n",
" var text = rect.nextElementSibling;\n",
" var details = document.getElementById(fig.id + '-details');\n",
" text.style.strokeWidth = '1';\n",
" var sinfo = rect.getAttribute('data-shortinfo');\n",
" var dir = rect.getAttribute('data-dinfo');\n",
" var i = sinfo.indexOf(' in ');\n",
" var func = sinfo.slice(0, i + 4);\n",
" var file = sinfo.slice(i + 4);\n",
" var time = details.nextElementSibling;\n",
" details.textContent = 'Function: ' + func + dir + file;\n",
" details.style.display = 'inherit';\n",
" if (fig.delay) {\n",
" var count = Math.round(rect.width.baseVal.value / fig.xstep);\n",
" var t = count * (fig.tunit === 's' ? fig.delay :\n",
" fig.tunit === 'ms' ? fig.delay * 1e3 :\n",
" fig.tunit === 'us' || fig.tunit === 'μs' ? fig.delay * 1e6 : 1);\n",
" var tp = Math.round(t * 1000) / 1000;\n",
" time.textContent = 'Time: ' + tp + ' ' + fig.tunit;\n",
" time.style.display = 'inherit';\n",
" }\n",
" details.previousElementSibling.style.display = 'inherit';\n",
" };\n",
" var rectMouseOutHandler = function (e) {\n",
" var rect = e.target;\n",
" var text = rect.nextElementSibling;\n",
" var details = document.getElementById(fig.id + '-details');\n",
" text.style.strokeWidth = '0';\n",
" details.style.display = 'none';\n",
" details.previousElementSibling.style.display = 'none';\n",
" details.nextElementSibling.style.display = 'none';\n",
" };\n",
"\n",
" var rects = fig.viewport.selectAll(fig.roundradius > 0 ? 'rect' : 'path');\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" var text = rect.nextElementSibling;\n",
" rect.setAttribute('data-shortinfo', unescapeHtml(text.textContent));\n",
" var dir = unescapeHtml(rect.getAttribute('data-dinfo'));\n",
" rect.setAttribute('data-dinfo', dir);\n",
" rect.addEventListener('dblclick', rectDblClickHandler, false);\n",
" rect.addEventListener('mouseover', rectMouseOverHandler, false);\n",
" rect.addEventListener('mouseout', rectMouseOutHandler, false);\n",
" var transform = svg.node.createSVGTransform();\n",
" text.transform.baseVal.initialize(transform); // matrix(1, 0, 0, 1, 0, 0)\n",
" });\n",
" rects = null;\n",
"\n",
" bg.dblclick(function () {\n",
" ProfileSVG.reset(fig);\n",
" });\n",
"\n",
" var mouseWheelHandler = throttle(400, stopper, function (e) {\n",
" var delta = Math.round(e.deltaY * 100);\n",
" if (delta == 0) {\n",
" return;\n",
" }\n",
" var scale = delta < 0 ? ZOOM_STEP : 1 / ZOOM_STEP;\n",
"\n",
" var clientRect = svg.node.getBoundingClientRect();\n",
" var mx = e.clientX - clientRect.left;\n",
" //var my = e.clientY - clientRect.top;\n",
" var ctm = svg.node.getCTM();\n",
" var x = ctm ? (mx - ctm.e) / ctm.a : mx;\n",
" //var y = ctm ? (my - ctm.f) / ctm.d : my;\n",
" var px = (x - fig.cx) / fig.scaleX + fig.focusX;\n",
" var targetScaleX = Math.max(fig.scaleX * scale, 0.01);\n",
" var targetFocusX = fig.scaleX / targetScaleX * (fig.focusX - px) + px;\n",
" ProfileSVG.moveAndZoom(targetFocusX, targetScaleX, fig, 400);\n",
" });\n",
"\n",
" svg.node.addEventListener('wheel', mouseWheelHandler, supportsPassive ? {\n",
" passive: false\n",
" } : false);\n",
"\n",
" fig.viewport.drag();\n",
" };\n",
"\n",
" return ProfileSVG;\n",
"}));\n",
"\n",
"]]></script>\n",
"<script><![CDATA[\n",
"if (typeof require === 'function' && define.amd) {\n",
" require(['ProfileSVG'], function (ProfileSVG) {\n",
" ProfileSVG.initialize(\"fig-8b5179c773ea468eb6c7b65a2b2284f0\");\n",
" });\n",
"} else {\n",
" ProfileSVG.initialize(\"fig-8b5179c773ea468eb6c7b65a2b2284f0\");\n",
"}\n",
"]]></script>\n",
"</svg>\n"
],
"text/html": [
"<!DOCTYPE html>\n",
"<html>\n",
"<body>\n",
"<svg version=\"1.1\" width=\"960\" height=\"436\" viewBox=\"0 0 960 436\"\n",
" xmlns=\"http://www.w3.org/2000/svg\" id=\"fig-2137dd413381499ba382abc181804a16\">\n",
"<defs>\n",
" <clipPath id=\"fig-2137dd413381499ba382abc181804a16-clip\">\n",
" <rect x=\"0\" y=\"0\" width=\"960\" height=\"436\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<style type=\"text/css\">\n",
" #fig-2137dd413381499ba382abc181804a16 text {\n",
" pointer-events: none;\n",
" font-family: inherit;\n",
" font-size: 12px;\n",
" fill: #000000;\n",
" }\n",
" text#fig-2137dd413381499ba382abc181804a16-caption {\n",
" font-size: 16.8px;\n",
" fill: #000000;\n",
" text-anchor: middle;\n",
" }\n",
" #fig-2137dd413381499ba382abc181804a16-bg {\n",
" fill: #FFFFFF;\n",
" }\n",
" #fig-2137dd413381499ba382abc181804a16-viewport rect, #fig-2137dd413381499ba382abc181804a16-viewport path {\n",
" vector-effect: non-scaling-stroke;\n",
" fill-opacity: 1;\n",
" }\n",
" #fig-2137dd413381499ba382abc181804a16-viewport text {\n",
" stroke: #000000;\n",
" stroke-width: 0;\n",
" stroke-opacity: 0.35;\n",
" }\n",
" #fig-2137dd413381499ba382abc181804a16-viewport rect:hover, #fig-2137dd413381499ba382abc181804a16-viewport path:hover {\n",
" fill-opacity: 0.75;\n",
" stroke: #000000;\n",
" stroke-width: 0.5;\n",
" }\n",
" #fig-2137dd413381499ba382abc181804a16-viewport + rect {\n",
" fill: #FFFFFF;\n",
" opacity: 0.8;\n",
" }\n",
" text#fig-2137dd413381499ba382abc181804a16-details{\n",
" fill: #000000;\n",
" }\n",
"</style>\n",
"<g id=\"fig-2137dd413381499ba382abc181804a16-frame\" clip-path=\"url(#fig-2137dd413381499ba382abc181804a16-clip)\">\n",
"<rect id=\"fig-2137dd413381499ba382abc181804a16-bg\" x=\"0\" y=\"0\" width=\"960\" height=\"436\"/>\n",
"<text id=\"fig-2137dd413381499ba382abc181804a16-caption\" x=\"480\" y=\"24\">Profile results</text>\n",
"<g id=\"fig-2137dd413381499ba382abc181804a16-viewport\" transform=\"scale(1)\">\n",
"<rect x=\"10\" y=\"383\" width=\"940.75\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"\"/>\n",
"<text x=\"10\" dx=\"4\" y=\"394.25\"> in :-1</text>\n",
"<rect x=\"14.44\" y=\"368\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"379.25\">#15 in task.jl:514</text>\n",
"<rect x=\"14.44\" y=\"353\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"/Users/elvis/.julia/packages/IJulia/Vo51o/src/\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"364.25\">eventloop in eventloop.jl:8</text>\n",
"<rect x=\"14.44\" y=\"338\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"349.25\">invokelatest in essentials.jl:816</text>\n",
"<rect x=\"14.44\" y=\"323\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"334.25\">#invokelatest#2 in essentials.jl:819</text>\n",
"<rect x=\"14.44\" y=\"308\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#D42137\" data-dinfo=\"/Users/elvis/.julia/packages/IJulia/Vo51o/src/\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"319.25\">execute_request in execute_request.jl:67</text>\n",
"<rect x=\"14.44\" y=\"293\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"/Users/elvis/.julia/packages/SoftGlobalScope/u4UzH/src/\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"304.25\">softscope_include_string in SoftGlobalScope.jl:65</text>\n",
"<rect x=\"14.44\" y=\"278\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"289.25\">include_string in loading.jl:1903</text>\n",
"<rect x=\"14.44\" y=\"263\" width=\"727.75\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"274.25\">eval in boot.jl:370</text>\n",
"<rect x=\"14.44\" y=\"248\" width=\"17.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"259.25\">\\ in thinQR.jl:108</text>\n",
"<rect x=\"14.44\" y=\"233\" width=\"17.75\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"244.25\">qyhoust in thinQR.jl:57</text>\n",
"<rect x=\"14.44\" y=\"218\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"229.25\">getindex in abstractarray.jl:1296</text>\n",
"<rect x=\"14.44\" y=\"203\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"214.25\">_getindex in multidimensional.jl:861</text>\n",
"<rect x=\"14.44\" y=\"188\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"199.25\">_unsafe_getindex in multidimensional.jl:875</text>\n",
"<rect x=\"14.44\" y=\"173\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"184.25\">_unsafe_getindex! in multidimensional.jl:884</text>\n",
"<rect x=\"14.44\" y=\"158\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"169.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"14.44\" y=\"143\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"154.25\">macro expansion in multidimensional.jl:889</text>\n",
"<rect x=\"14.44\" y=\"128\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"14.44\" dx=\"4\" y=\"139.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"23.31\" y=\"218\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"229.25\">- in arraymath.jl:8</text>\n",
"<rect x=\"23.31\" y=\"203\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"214.25\">broadcast_preserving_zero_d in broadcast.jl:862</text>\n",
"<rect x=\"23.31\" y=\"188\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"199.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"23.31\" y=\"173\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"184.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"23.31\" y=\"158\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"169.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"23.31\" y=\"143\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"154.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"23.31\" y=\"128\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"139.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"23.31\" y=\"113\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"124.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"23.31\" y=\"98\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"23.31\" dx=\"4\" y=\"109.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"32.19\" y=\"248\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"259.25\">qrhous! in thinQR.jl:22</text>\n",
"<rect x=\"32.19\" y=\"233\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"244.25\">getindex in abstractarray.jl:1296</text>\n",
"<rect x=\"32.19\" y=\"218\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"229.25\">_getindex in multidimensional.jl:861</text>\n",
"<rect x=\"32.19\" y=\"203\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"214.25\">_unsafe_getindex in multidimensional.jl:875</text>\n",
"<rect x=\"32.19\" y=\"188\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"199.25\">_unsafe_getindex! in multidimensional.jl:884</text>\n",
"<rect x=\"32.19\" y=\"173\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"184.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"32.19\" y=\"158\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"169.25\">macro expansion in multidimensional.jl:889</text>\n",
"<rect x=\"32.19\" y=\"143\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"32.19\" dx=\"4\" y=\"154.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"36.62\" y=\"248\" width=\"705.57\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"259.25\">qrhous! in thinQR.jl:31</text>\n",
"<rect x=\"36.62\" y=\"233\" width=\"350.57\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"244.25\">getindex in abstractarray.jl:1296</text>\n",
"<rect x=\"36.62\" y=\"218\" width=\"350.57\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"229.25\">_getindex in multidimensional.jl:861</text>\n",
"<rect x=\"36.62\" y=\"203\" width=\"17.76\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"214.25\">_unsafe_getindex in multidimensional.jl:873</text>\n",
"<rect x=\"36.62\" y=\"188\" width=\"17.76\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"199.25\">similar in abstractarray.jl:838</text>\n",
"<rect x=\"36.62\" y=\"173\" width=\"17.76\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"184.25\">similar in array.jl:374</text>\n",
"<rect x=\"36.62\" y=\"158\" width=\"17.76\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"169.25\">Array in boot.jl:487</text>\n",
"<rect x=\"36.62\" y=\"143\" width=\"17.76\" height=\"15\" rx=\"2\" fill=\"#FFA400\" data-dinfo=\"./\"/>\n",
"<text x=\"36.62\" dx=\"4\" y=\"154.25\">Array in boot.jl:479</text>\n",
"<rect x=\"54.38\" y=\"203\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"54.38\" dx=\"4\" y=\"214.25\">_unsafe_getindex in multidimensional.jl:875</text>\n",
"<rect x=\"54.38\" y=\"188\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"54.38\" dx=\"4\" y=\"199.25\">_unsafe_getindex! in multidimensional.jl:884</text>\n",
"<rect x=\"54.38\" y=\"173\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"54.38\" dx=\"4\" y=\"184.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"54.38\" y=\"158\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"54.38\" dx=\"4\" y=\"169.25\">macro expansion in multidimensional.jl:889</text>\n",
"<rect x=\"54.38\" y=\"143\" width=\"4.43\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"54.38\" dx=\"4\" y=\"154.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"58.81\" y=\"203\" width=\"328.38\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"58.81\" dx=\"4\" y=\"214.25\">_unsafe_getindex in multidimensional.jl:875</text>\n",
"<rect x=\"58.81\" y=\"188\" width=\"328.38\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"58.81\" dx=\"4\" y=\"199.25\">_unsafe_getindex! in multidimensional.jl:884</text>\n",
"<rect x=\"58.81\" y=\"173\" width=\"328.38\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"58.81\" dx=\"4\" y=\"184.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"58.81\" y=\"158\" width=\"88.75\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"58.81\" dx=\"4\" y=\"169.25\">macro expansion in multidimensional.jl:887</text>\n",
"<rect x=\"147.56\" y=\"158\" width=\"239.63\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"147.56\" dx=\"4\" y=\"169.25\">macro expansion in multidimensional.jl:889</text>\n",
"<rect x=\"147.56\" y=\"143\" width=\"239.63\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"147.56\" dx=\"4\" y=\"154.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"387.19\" y=\"233\" width=\"97.62\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"387.19\" dx=\"4\" y=\"244.25\">setindex! in abstractarray.jl:1399</text>\n",
"<rect x=\"387.19\" y=\"218\" width=\"97.62\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"387.19\" dx=\"4\" y=\"229.25\">_setindex! in multidimensional.jl:916</text>\n",
"<rect x=\"387.19\" y=\"203\" width=\"97.62\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"387.19\" dx=\"4\" y=\"214.25\">_unsafe_setindex! in multidimensional.jl:927</text>\n",
"<rect x=\"387.19\" y=\"188\" width=\"88.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"387.19\" dx=\"4\" y=\"199.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"387.19\" y=\"173\" width=\"17.75\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"387.19\" dx=\"4\" y=\"184.25\">macro expansion in multidimensional.jl:930</text>\n",
"<rect x=\"404.94\" y=\"173\" width=\"57.68\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"404.94\" dx=\"4\" y=\"184.25\">macro expansion in multidimensional.jl:932</text>\n",
"<rect x=\"404.94\" y=\"158\" width=\"57.68\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"404.94\" dx=\"4\" y=\"169.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"462.62\" y=\"173\" width=\"13.32\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"462.62\" dx=\"4\" y=\"184.25\">macro expansion in multidimensional.jl:933</text>\n",
"<rect x=\"462.62\" y=\"158\" width=\"13.32\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"462.62\" dx=\"4\" y=\"169.25\">iterate in array.jl:893</text>\n",
"<rect x=\"462.62\" y=\"143\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"462.62\" dx=\"4\" y=\"154.25\">getindex in essentials.jl:13</text>\n",
"<rect x=\"467.06\" y=\"143\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"467.06\" dx=\"4\" y=\"154.25\">- in int.jl:1042</text>\n",
"<rect x=\"467.06\" y=\"128\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"467.06\" dx=\"4\" y=\"139.25\">- in int.jl:86</text>\n",
"<rect x=\"471.5\" y=\"143\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"471.5\" dx=\"4\" y=\"154.25\">&amp;lt; in int.jl:494</text>\n",
"<rect x=\"471.5\" y=\"128\" width=\"4.44\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"471.5\" dx=\"4\" y=\"139.25\">&amp;lt; in int.jl:487</text>\n",
"<rect x=\"475.94\" y=\"188\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"475.94\" dx=\"4\" y=\"199.25\">macro expansion in cartesian.jl:66</text>\n",
"<rect x=\"475.94\" y=\"173\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"475.94\" dx=\"4\" y=\"184.25\">iterate in range.jl:891</text>\n",
"<rect x=\"475.94\" y=\"158\" width=\"8.87\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"475.94\" dx=\"4\" y=\"169.25\">== in promotion.jl:499</text>\n",
"<rect x=\"484.81\" y=\"233\" width=\"164.19\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"244.25\">- in arraymath.jl:8</text>\n",
"<rect x=\"484.81\" y=\"218\" width=\"164.19\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"229.25\">broadcast_preserving_zero_d in broadcast.jl:862</text>\n",
"<rect x=\"484.81\" y=\"203\" width=\"164.19\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"214.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"484.81\" y=\"188\" width=\"164.19\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"199.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"484.81\" y=\"173\" width=\"155.31\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"184.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"484.81\" y=\"158\" width=\"155.31\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"169.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"484.81\" y=\"143\" width=\"142\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"154.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"484.81\" y=\"128\" width=\"142\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"139.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"484.81\" y=\"113\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"124.25\">getindex in broadcast.jl:610</text>\n",
"<rect x=\"484.81\" y=\"98\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"109.25\">_broadcast_getindex in broadcast.jl:655</text>\n",
"<rect x=\"484.81\" y=\"83\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"94.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"484.81\" y=\"68\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"79.25\">_broadcast_getindex in broadcast.jl:649</text>\n",
"<rect x=\"484.81\" y=\"53\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"64.25\">getindex in multidimensional.jl:668</text>\n",
"<rect x=\"484.81\" y=\"38\" width=\"53.25\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"484.81\" dx=\"4\" y=\"49.25\">getindex in essentials.jl:14</text>\n",
"<rect x=\"538.06\" y=\"113\" width=\"88.75\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"538.06\" dx=\"4\" y=\"124.25\">setindex! in multidimensional.jl:670</text>\n",
"<rect x=\"538.06\" y=\"98\" width=\"88.75\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"538.06\" dx=\"4\" y=\"109.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"626.81\" y=\"143\" width=\"13.31\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"626.81\" dx=\"4\" y=\"154.25\">macro expansion in simdloop.jl:78</text>\n",
"<rect x=\"626.81\" y=\"128\" width=\"13.31\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"626.81\" dx=\"4\" y=\"139.25\">+ in int.jl:87</text>\n",
"<rect x=\"640.12\" y=\"173\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"184.25\">similar in broadcast.jl:211</text>\n",
"<rect x=\"640.12\" y=\"158\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"169.25\">similar in broadcast.jl:212</text>\n",
"<rect x=\"640.12\" y=\"143\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"154.25\">similar in abstractarray.jl:883</text>\n",
"<rect x=\"640.12\" y=\"128\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"139.25\">similar in abstractarray.jl:884</text>\n",
"<rect x=\"640.12\" y=\"113\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"124.25\">Array in boot.jl:494</text>\n",
"<rect x=\"640.12\" y=\"98\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"109.25\">Array in boot.jl:487</text>\n",
"<rect x=\"640.12\" y=\"83\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#FFA400\" data-dinfo=\"./\"/>\n",
"<text x=\"640.12\" dx=\"4\" y=\"94.25\">Array in boot.jl:479</text>\n",
"<rect x=\"649\" y=\"233\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"/private/tmp/julia-20231114-6658-1ywjgwz/julia-1.9.4/usr/share/julia/stdlib/v1.9/LinearAlgebra/src/\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"244.25\">* in adjtrans.jl:439</text>\n",
"<rect x=\"649\" y=\"218\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"229.25\">broadcast in broadcast.jl:811</text>\n",
"<rect x=\"649\" y=\"203\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"214.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"649\" y=\"188\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"199.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"649\" y=\"173\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"184.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"649\" y=\"158\" width=\"93.19\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"169.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"649\" y=\"143\" width=\"79.88\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"154.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"649\" y=\"128\" width=\"79.88\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"139.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"649\" y=\"113\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"124.25\">getindex in broadcast.jl:610</text>\n",
"<rect x=\"649\" y=\"98\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"109.25\">_broadcast_getindex in broadcast.jl:655</text>\n",
"<rect x=\"649\" y=\"83\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"94.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"649\" y=\"68\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"79.25\">_broadcast_getindex in broadcast.jl:649</text>\n",
"<rect x=\"649\" y=\"53\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"64.25\">getindex in multidimensional.jl:668</text>\n",
"<rect x=\"649\" y=\"38\" width=\"8.88\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"649\" dx=\"4\" y=\"49.25\">getindex in essentials.jl:13</text>\n",
"<rect x=\"657.88\" y=\"113\" width=\"71\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"657.88\" dx=\"4\" y=\"124.25\">setindex! in multidimensional.jl:670</text>\n",
"<rect x=\"657.88\" y=\"98\" width=\"71\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"657.88\" dx=\"4\" y=\"109.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"728.88\" y=\"143\" width=\"13.31\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"728.88\" dx=\"4\" y=\"154.25\">macro expansion in simdloop.jl:78</text>\n",
"<rect x=\"728.88\" y=\"128\" width=\"13.31\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"728.88\" dx=\"4\" y=\"139.25\">+ in int.jl:87</text>\n",
"</g></g>\n",
"<script><![CDATA[\n",
"// Snap.svg 0.3.0\n",
"// \n",
"// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n",
"// \n",
"// Licensed under the Apache License, Version 2.0 (the \"License\");\n",
"// you may not use this file except in compliance with the License.\n",
"// You may obtain a copy of the License at\n",
"// \n",
"// http://www.apache.org/licenses/LICENSE-2.0\n",
"// \n",
"// Unless required by applicable law or agreed to in writing, software\n",
"// distributed under the License is distributed on an \"AS IS\" BASIS,\n",
"// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
"// See the License for the specific language governing permissions and\n",
"// limitations under the License.\n",
"// \n",
"// build: 2014-06-03\n",
"!function(a){var b,c,d=\"0.4.2\",e=\"hasOwnProperty\",f=/[\\.\\/]/,g=/\\s*,\\s*/,h=\"*\",i=function(a,b){return a-b},j={n:{}},k=function(){for(var a=0,b=this.length;b>a;a++)if(\"undefined\"!=typeof this[a])return this[a]},l=function(){for(var a=this.length;--a;)if(\"undefined\"!=typeof this[a])return this[a]},m=function(a,d){a=String(a);var e,f=c,g=Array.prototype.slice.call(arguments,2),h=m.listeners(a),j=0,n=[],o={},p=[],q=b;p.firstDefined=k,p.lastDefined=l,b=a,c=0;for(var r=0,s=h.length;s>r;r++)\"zIndex\"in h[r]&&(n.push(h[r].zIndex),h[r].zIndex<0&&(o[h[r].zIndex]=h[r]));for(n.sort(i);n[j]<0;)if(e=o[n[j++] ],p.push(e.apply(d,g)),c)return c=f,p;for(r=0;s>r;r++)if(e=h[r],\"zIndex\"in e)if(e.zIndex==n[j]){if(p.push(e.apply(d,g)),c)break;do if(j++,e=o[n[j] ],e&&p.push(e.apply(d,g)),c)break;while(e)}else o[e.zIndex]=e;else if(p.push(e.apply(d,g)),c)break;return c=f,b=q,p};m._events=j,m.listeners=function(a){var b,c,d,e,g,i,k,l,m=a.split(f),n=j,o=[n],p=[];for(e=0,g=m.length;g>e;e++){for(l=[],i=0,k=o.length;k>i;i++)for(n=o[i].n,c=[n[m[e] ],n[h] ],d=2;d--;)b=c[d],b&&(l.push(b),p=p.concat(b.f||[]));o=l}return p},m.on=function(a,b){if(a=String(a),\"function\"!=typeof b)return function(){};for(var c=a.split(g),d=0,e=c.length;e>d;d++)!function(a){for(var c,d=a.split(f),e=j,g=0,h=d.length;h>g;g++)e=e.n,e=e.hasOwnProperty(d[g])&&e[d[g] ]||(e[d[g] ]={n:{}});for(e.f=e.f||[],g=0,h=e.f.length;h>g;g++)if(e.f[g]==b){c=!0;break}!c&&e.f.push(b)}(c[d]);return function(a){+a==+a&&(b.zIndex=+a)}},m.f=function(a){var b=[].slice.call(arguments,1);return function(){m.apply(null,[a,null].concat(b).concat([].slice.call(arguments,0)))}},m.stop=function(){c=1},m.nt=function(a){return a?new RegExp(\"(?:\\\\.|\\\\/|^)\"+a+\"(?:\\\\.|\\\\/|$)\").test(b):b},m.nts=function(){return b.split(f)},m.off=m.unbind=function(a,b){if(!a)return void(m._events=j={n:{}});var c=a.split(g);if(c.length>1)for(var d=0,i=c.length;i>d;d++)m.off(c[d],b);else{c=a.split(f);var k,l,n,d,i,o,p,q=[j];for(d=0,i=c.length;i>d;d++)for(o=0;o<q.length;o+=n.length-2){if(n=[o,1],k=q[o].n,c[d]!=h)k[c[d] ]&&n.push(k[c[d] ]);else for(l in k)k[e](l)&&n.push(k[l]);q.splice.apply(q,n)}for(d=0,i=q.length;i>d;d++)for(k=q[d];k.n;){if(b){if(k.f){for(o=0,p=k.f.length;p>o;o++)if(k.f[o]==b){k.f.splice(o,1);break}!k.f.length&&delete k.f}for(l in k.n)if(k.n[e](l)&&k.n[l].f){var r=k.n[l].f;for(o=0,p=r.length;p>o;o++)if(r[o]==b){r.splice(o,1);break}!r.length&&delete k.n[l].f}}else{delete k.f;for(l in k.n)k.n[e](l)&&k.n[l].f&&delete k.n[l].f}k=k.n}}},m.once=function(a,b){var c=function(){return m.unbind(a,c),b.apply(this,arguments)};return m.on(a,c)},m.version=d,m.toString=function(){return\"You are running Eve \"+d},\"undefined\"!=typeof module&&module.exports?module.exports=m:\"function\"==typeof define&&define.amd?define(\"eve\",[],function(){return m}):a.eve=m}(this),function(a,b){\"function\"==typeof define&&define.amd?define('ProfileSVG/snap.svg', [\"eve\"],function(c){return b(a,c)}):b(a,a.eve)}(this,function(a,b){var c=function(b){var c={},d=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(a){setTimeout(a,16)},e=Array.isArray||function(a){return a instanceof Array||\"[object Array]\"==Object.prototype.toString.call(a)},f=0,g=\"M\"+(+new Date).toString(36),h=function(){return g+(f++).toString(36)},i=Date.now||function(){return+new Date},j=function(a){var b=this;if(null==a)return b.s;var c=b.s-a;b.b+=b.dur*c,b.B+=b.dur*c,b.s=a},k=function(a){var b=this;return null==a?b.spd:void(b.spd=a)},l=function(a){var b=this;return null==a?b.dur:(b.s=b.s*a/b.dur,void(b.dur=a))},m=function(){var a=this;delete c[a.id],a.update(),b(\"mina.stop.\"+a.id,a)},n=function(){var a=this;a.pdif||(delete c[a.id],a.update(),a.pdif=a.get()-a.b)},o=function(){var a=this;a.pdif&&(a.b=a.get()-a.pdif,delete a.pdif,c[a.id]=a)},p=function(){var a,b=this;if(e(b.start)){a=[];for(var c=0,d=b.start.length;d>c;c++)a[c]=+b.start[c]+(b.end[c]-b.start[c])*b.easing(b.s)}else a=+b.start+(b.end-b.start)*b.easing(b.s);b.set(a)},q=function(){var a=0;for(var e in c)if(c.hasOwnProperty(e)){var f=c[e],g=f.get();a++,f.s=(g-f.b)/(f.dur/f.spd),f.s>=1&&(delete c[e],f.s=1,a--,function(a){setTimeout(function(){b(\"mina.finish.\"+a.id,a)})}(f)),f.update()}a&&d(q)},r=function(a,b,e,f,g,i,s){var t={id:h(),start:a,end:b,b:e,s:0,dur:f-e,spd:1,get:g,set:i,easing:s||r.linear,status:j,speed:k,duration:l,stop:m,pause:n,resume:o,update:p};c[t.id]=t;var u,v=0;for(u in c)if(c.hasOwnProperty(u)&&(v++,2==v))break;return 1==v&&d(q),t};return r.time=i,r.getById=function(a){return c[a]||null},r.linear=function(a){return a},r.easeout=function(a){return Math.pow(a,1.7)},r.easein=function(a){return Math.pow(a,.48)},r.easeinout=function(a){if(1==a)return 1;if(0==a)return 0;var b=.48-a/1.04,c=Math.sqrt(.1734+b*b),d=c-b,e=Math.pow(Math.abs(d),1/3)*(0>d?-1:1),f=-c-b,g=Math.pow(Math.abs(f),1/3)*(0>f?-1:1),h=e+g+.5;return 3*(1-h)*h*h+h*h*h},r.backin=function(a){if(1==a)return 1;var b=1.70158;return a*a*((b+1)*a-b)},r.backout=function(a){if(0==a)return 0;a-=1;var b=1.70158;return a*a*((b+1)*a+b)+1},r.elastic=function(a){return a==!!a?a:Math.pow(2,-10*a)*Math.sin(2*(a-.075)*Math.PI/.3)+1},r.bounce=function(a){var b,c=7.5625,d=2.75;return 1/d>a?b=c*a*a:2/d>a?(a-=1.5/d,b=c*a*a+.75):2.5/d>a?(a-=2.25/d,b=c*a*a+.9375):(a-=2.625/d,b=c*a*a+.984375),b},a.mina=r,r}(\"undefined\"==typeof b?function(){}:b),d=function(){function d(a,b){if(a){if(a.tagName)return y(a);if(f(a,\"array\")&&d.set)return d.set.apply(d,a);if(a instanceof u)return a;if(null==b)return a=z.doc.querySelector(a),y(a)}return a=null==a?\"100%\":a,b=null==b?\"100%\":b,new x(a,b)}function e(a,b){if(b){if(\"#text\"==a&&(a=z.doc.createTextNode(b.text||\"\")),\"string\"==typeof a&&(a=e(a)),\"string\"==typeof b)return\"xlink:\"==b.substring(0,6)?a.getAttributeNS(W,b.substring(6)):\"xml:\"==b.substring(0,4)?a.getAttributeNS(X,b.substring(4)):a.getAttribute(b);for(var c in b)if(b[A](c)){var d=B(b[c]);d?\"xlink:\"==c.substring(0,6)?a.setAttributeNS(W,c.substring(6),d):\"xml:\"==c.substring(0,4)?a.setAttributeNS(X,c.substring(4),d):a.setAttribute(c,d):a.removeAttribute(c)}}else a=z.doc.createElementNS(X,a);return a}function f(a,b){return b=B.prototype.toLowerCase.call(b),\"finite\"==b?isFinite(a):\"array\"==b&&(a instanceof Array||Array.isArray&&Array.isArray(a))?!0:\"null\"==b&&null===a||b==typeof a&&null!==a||\"object\"==b&&a===Object(a)||L.call(a).slice(8,-1).toLowerCase()==b}function h(a){if(\"function\"==typeof a||Object(a)!==a)return a;var b=new a.constructor;for(var c in a)a[A](c)&&(b[c]=h(a[c]));return b}function i(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return a.push(a.splice(c,1)[0])}function j(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join(\"␀\"),g=d.cache=d.cache||{},h=d.count=d.count||[];return g[A](f)?(i(h,f),c?c(g[f]):g[f]):(h.length>=1e3&&delete g[h.shift()],h.push(f),g[f]=a.apply(b,e),c?c(g[f]):g[f])}return d}function k(a,b,c,d,e,f){if(null==e){var g=a-c,h=b-d;return g||h?(180+180*E.atan2(-h,-g)/I+360)%360:0}return k(a,b,e,f)-k(c,d,e,f)}function l(a){return a%360*I/180}function m(a){return 180*a/I%360}function n(a){var b=[];return a=a.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g,function(a,c,d){return d=d.split(/\\s*,\\s*|\\s+/),\"rotate\"==c&&1==d.length&&d.push(0,0),\"scale\"==c&&(d.length>2?d=d.slice(0,2):2==d.length&&d.push(0,0),1==d.length&&d.push(d[0],0,0)),b.push(\"skewX\"==c?[\"m\",1,0,E.tan(l(d[0])),1,0,0]:\"skewY\"==c?[\"m\",1,E.tan(l(d[0])),0,1,0,0]:[c.charAt(0)].concat(d)),a}),b}function o(a,b){var c=eb(a),e=new d.Matrix;if(c)for(var f=0,g=c.length;g>f;f++){var h,i,j,k,l,m=c[f],n=m.length,o=B(m[0]).toLowerCase(),p=m[0]!=o,q=p?e.invert():0;\"t\"==o&&2==n?e.translate(m[1],0):\"t\"==o&&3==n?p?(h=q.x(0,0),i=q.y(0,0),j=q.x(m[1],m[2]),k=q.y(m[1],m[2]),e.translate(j-h,k-i)):e.translate(m[1],m[2]):\"r\"==o?2==n?(l=l||b,e.rotate(m[1],l.x+l.width/2,l.y+l.height/2)):4==n&&(p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.rotate(m[1],j,k)):e.rotate(m[1],m[2],m[3])):\"s\"==o?2==n||3==n?(l=l||b,e.scale(m[1],m[n-1],l.x+l.width/2,l.y+l.height/2)):4==n?p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.scale(m[1],m[1],j,k)):e.scale(m[1],m[1],m[2],m[3]):5==n&&(p?(j=q.x(m[3],m[4]),k=q.y(m[3],m[4]),e.scale(m[1],m[2],j,k)):e.scale(m[1],m[2],m[3],m[4])):\"m\"==o&&7==n&&e.add(m[1],m[2],m[3],m[4],m[5],m[6])}return e}function p(a,b){if(null==b){var c=!0;if(b=a.node.getAttribute(\"linearGradient\"==a.type||\"radialGradient\"==a.type?\"gradientTransform\":\"pattern\"==a.type?\"patternTransform\":\"transform\"),!b)return new d.Matrix;b=n(b)}else b=d._.rgTransform.test(b)?B(b).replace(/\\.{3}|\\u2026/g,a._.transform||J):n(b),f(b,\"array\")&&(b=d.path?d.path.toString.call(b):B(b)),a._.transform=b;var e=o(b,a.getBBox(1));return c?e:void(a.matrix=e)}function q(a){var b=a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||a.node.parentNode&&y(a.node.parentNode)||d.select(\"svg\")||d(0,0),c=b.select(\"defs\"),e=null==c?!1:c.node;return e||(e=w(\"defs\",b.node).node),e}function r(a){return a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||d.select(\"svg\")}function s(a,b,c){function d(a){if(null==a)return J;if(a==+a)return a;e(j,{width:a});try{return j.getBBox().width}catch(b){return 0}}function f(a){if(null==a)return J;if(a==+a)return a;e(j,{height:a});try{return j.getBBox().height}catch(b){return 0}}function g(d,e){null==b?i[d]=e(a.attr(d)||0):d==b&&(i=e(null==c?a.attr(d)||0:c))}var h=r(a).node,i={},j=h.querySelector(\".svg---mgr\");switch(j||(j=e(\"rect\"),e(j,{x:-9e9,y:-9e9,width:10,height:10,\"class\":\"svg---mgr\",fill:\"none\"}),h.appendChild(j)),a.type){case\"rect\":g(\"rx\",d),g(\"ry\",f);case\"image\":g(\"width\",d),g(\"height\",f);case\"text\":g(\"x\",d),g(\"y\",f);break;case\"circle\":g(\"cx\",d),g(\"cy\",f),g(\"r\",d);break;case\"ellipse\":g(\"cx\",d),g(\"cy\",f),g(\"rx\",d),g(\"ry\",f);break;case\"line\":g(\"x1\",d),g(\"x2\",d),g(\"y1\",f),g(\"y2\",f);break;case\"marker\":g(\"refX\",d),g(\"markerWidth\",d),g(\"refY\",f),g(\"markerHeight\",f);break;case\"radialGradient\":g(\"fx\",d),g(\"fy\",f);break;case\"tspan\":g(\"dx\",d),g(\"dy\",f);break;default:g(b,d)}return h.removeChild(j),i}function t(a){f(a,\"array\")||(a=Array.prototype.slice.call(arguments,0));for(var b=0,c=0,d=this.node;this[b];)delete this[b++];for(b=0;b<a.length;b++)\"set\"==a[b].type?a[b].forEach(function(a){d.appendChild(a.node)}):d.appendChild(a[b].node);var e=d.childNodes;for(b=0;b<e.length;b++)this[c++]=y(e[b]);return this}function u(a){if(a.snap in Y)return Y[a.snap];var b,c=this.id=V();try{b=a.ownerSVGElement}catch(d){}if(this.node=a,b&&(this.paper=new x(b)),this.type=a.tagName,this.anims={},this._={transform:[]},a.snap=c,Y[c]=this,\"g\"==this.type&&(this.add=t),this.type in{g:1,mask:1,pattern:1})for(var e in x.prototype)x.prototype[A](e)&&(this[e]=x.prototype[e])}function v(a){this.node=a}function w(a,b){var c=e(a);b.appendChild(c);var d=y(c);return d}function x(a,b){var c,d,f,g=x.prototype;if(a&&\"svg\"==a.tagName){if(a.snap in Y)return Y[a.snap];var h=a.ownerDocument;c=new u(a),d=a.getElementsByTagName(\"desc\")[0],f=a.getElementsByTagName(\"defs\")[0],d||(d=e(\"desc\"),d.appendChild(h.createTextNode(\"Created with Snap\")),c.node.appendChild(d)),f||(f=e(\"defs\"),c.node.appendChild(f)),c.defs=f;for(var i in g)g[A](i)&&(c[i]=g[i]);c.paper=c.root=c}else c=w(\"svg\",z.doc.body),e(c.node,{height:b,version:1.1,width:a,xmlns:X});return c}function y(a){return a?a instanceof u||a instanceof v?a:a.tagName&&\"svg\"==a.tagName.toLowerCase()?new x(a):a.tagName&&\"object\"==a.tagName.toLowerCase()&&\"image/svg+xml\"==a.type?new x(a.contentDocument.getElementsByTagName(\"svg\")[0]):new u(a):a}d.version=\"0.3.0\",d.toString=function(){return\"Snap v\"+this.version},d._={};var z={win:a,doc:a.document};d._.glob=z;var A=\"hasOwnProperty\",B=String,C=parseFloat,D=parseInt,E=Math,F=E.max,G=E.min,H=E.abs,I=(E.pow,E.PI),J=(E.round,\"\"),K=\" \",L=Object.prototype.toString,M=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i,N=\"\t\\n\\x0b\\f\\r    \\u2028\\u2029\",O=(d._.separator=new RegExp(\"[,\"+N+\"]+\"),new RegExp(\"[\"+N+\"]\",\"g\"),new RegExp(\"[\"+N+\"]*,[\"+N+\"]*\")),P={hs:1,rg:1},Q=new RegExp(\"([a-z])[\"+N+\",]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\"+N+\"]*,?[\"+N+\"]*)+)\",\"ig\"),R=new RegExp(\"([rstm])[\"+N+\",]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\"+N+\"]*,?[\"+N+\"]*)+)\",\"ig\"),S=new RegExp(\"(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[\"+N+\"]*,?[\"+N+\"]*\",\"ig\"),T=0,U=\"S\"+(+new Date).toString(36),V=function(){return U+(T++).toString(36)},W=\"http://www.w3.org/1999/xlink\",X=\"http://www.w3.org/2000/svg\",Y={},Z=d.url=function(a){return\"url('#\"+a+\"')\"};d._.$=e,d._.id=V,d.format=function(){var a=/\\{([^\\}]+)\\}/g,b=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,c=function(a,c,d){var e=d;return c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),\"function\"==typeof e&&f&&(e=e()))}),e=(null==e||e==d?a:e)+\"\"};return function(b,d){return B(b).replace(a,function(a,b){return c(a,b,d)})}}(),d._.clone=h,d._.cacher=j,d.rad=l,d.deg=m,d.angle=k,d.is=f,d.snapTo=function(a,b,c){if(c=f(c,\"finite\")?c:10,f(a,\"array\")){for(var d=a.length;d--;)if(H(a[d]-b)<=c)return a[d]}else{a=+a;var e=b%a;if(c>e)return b-e;if(e>a-c)return b-e+a}return b},d.getRGB=j(function(a){if(!a||(a=B(a)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb};if(\"none\"==a)return{r:-1,g:-1,b:-1,hex:\"none\",toString:bb};if(!(P[A](a.toLowerCase().substring(0,2))||\"#\"==a.charAt())&&(a=$(a)),!a)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb};var b,c,e,g,h,i,j=a.match(M);return j?(j[2]&&(e=D(j[2].substring(5),16),c=D(j[2].substring(3,5),16),b=D(j[2].substring(1,3),16)),j[3]&&(e=D((h=j[3].charAt(3))+h,16),c=D((h=j[3].charAt(2))+h,16),b=D((h=j[3].charAt(1))+h,16)),j[4]&&(i=j[4].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b*=2.55),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c*=2.55),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e*=2.55),\"rgba\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100)),j[5]?(i=j[5].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b/=100),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c/=100),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e/=100),(\"deg\"==i[0].slice(-3)||\"°\"==i[0].slice(-1))&&(b/=360),\"hsba\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100),d.hsb2rgb(b,c,e,g)):j[6]?(i=j[6].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b/=100),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c/=100),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e/=100),(\"deg\"==i[0].slice(-3)||\"°\"==i[0].slice(-1))&&(b/=360),\"hsla\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100),d.hsl2rgb(b,c,e,g)):(b=G(E.round(b),255),c=G(E.round(c),255),e=G(E.round(e),255),g=G(F(g,0),1),j={r:b,g:c,b:e,toString:bb},j.hex=\"#\"+(16777216|e|c<<8|b<<16).toString(16).slice(1),j.opacity=f(g,\"finite\")?g:1,j)):{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb}},d),d.hsb=j(function(a,b,c){return d.hsb2rgb(a,b,c).hex}),d.hsl=j(function(a,b,c){return d.hsl2rgb(a,b,c).hex}),d.rgb=j(function(a,b,c,d){if(f(d,\"finite\")){var e=E.round;return\"rgba(\"+[e(a),e(b),e(c),+d.toFixed(2)]+\")\"}return\"#\"+(16777216|c|b<<8|a<<16).toString(16).slice(1)});var $=function(a){var b=z.doc.getElementsByTagName(\"head\")[0]||z.doc.getElementsByTagName(\"svg\")[0],c=\"rgb(255, 0, 0)\";return($=j(function(a){if(\"red\"==a.toLowerCase())return c;b.style.color=c,b.style.color=a;var d=z.doc.defaultView.getComputedStyle(b,J).getPropertyValue(\"color\");return d==c?null:d}))(a)},_=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},ab=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},bb=function(){return 1==this.opacity||null==this.opacity?this.hex:\"rgba(\"+[this.r,this.g,this.b,this.opacity]+\")\"},cb=function(a,b,c){if(null==b&&f(a,\"object\")&&\"r\"in a&&\"g\"in a&&\"b\"in a&&(c=a.b,b=a.g,a=a.r),null==b&&f(a,string)){var e=d.getRGB(a);a=e.r,b=e.g,c=e.b}return(a>1||b>1||c>1)&&(a/=255,b/=255,c/=255),[a,b,c]},db=function(a,b,c,e){a=E.round(255*a),b=E.round(255*b),c=E.round(255*c);var g={r:a,g:b,b:c,opacity:f(e,\"finite\")?e:1,hex:d.rgb(a,b,c),toString:bb};return f(e,\"finite\")&&(g.opacity=e),g};d.color=function(a){var b;return f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"b\"in a?(b=d.hsb2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"l\"in a?(b=d.hsl2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):(f(a,\"string\")&&(a=d.getRGB(a)),f(a,\"object\")&&\"r\"in a&&\"g\"in a&&\"b\"in a&&!(\"error\"in a)?(b=d.rgb2hsl(a),a.h=b.h,a.s=b.s,a.l=b.l,b=d.rgb2hsb(a),a.v=b.b):(a={hex:\"none\"},a.r=a.g=a.b=a.h=a.s=a.v=a.l=-1,a.error=1)),a.toString=bb,a},d.hsb2rgb=function(a,b,c,d){f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"b\"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,g,h,i,j;return a=a%360/60,j=c*b,i=j*(1-H(a%2-1)),e=g=h=c-j,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.hsl2rgb=function(a,b,c,d){f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"l\"in a&&(c=a.l,b=a.s,a=a.h),(a>1||b>1||c>1)&&(a/=360,b/=100,c/=100),a*=360;var e,g,h,i,j;return a=a%360/60,j=2*b*(.5>c?c:1-c),i=j*(1-H(a%2-1)),e=g=h=c-j/2,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.rgb2hsb=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;return f=F(a,b,c),g=f-G(a,b,c),d=0==g?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=0==g?0:g/f,{h:d,s:e,b:f,toString:_}},d.rgb2hsl=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;return g=F(a,b,c),h=G(a,b,c),i=g-h,d=0==i?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=0==i?0:.5>f?i/(2*f):i/(2-2*f),{h:d,s:e,l:f,toString:ab}},d.parsePathString=function(a){if(!a)return null;var b=d.path(a);if(b.arr)return d.path.clone(b.arr);var c={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},e=[];return f(a,\"array\")&&f(a[0],\"array\")&&(e=d.path.clone(a)),e.length||B(a).replace(Q,function(a,b,d){var f=[],g=b.toLowerCase();if(d.replace(S,function(a,b){b&&f.push(+b)}),\"m\"==g&&f.length>2&&(e.push([b].concat(f.splice(0,2))),g=\"l\",b=\"m\"==b?\"l\":\"L\"),\"o\"==g&&1==f.length&&e.push([b,f[0] ]),\"r\"==g)e.push([b].concat(f));else for(;f.length>=c[g]&&(e.push([b].concat(f.splice(0,c[g]))),c[g]););}),e.toString=d.path.toString,b.arr=d.path.clone(e),e};var eb=d.parseTransformString=function(a){if(!a)return null;var b=[];return f(a,\"array\")&&f(a[0],\"array\")&&(b=d.path.clone(a)),b.length||B(a).replace(R,function(a,c,d){{var e=[];c.toLowerCase()}d.replace(S,function(a,b){b&&e.push(+b)}),b.push([c].concat(e))}),b.toString=d.path.toString,b};d._.svgTransform2string=n,d._.rgTransform=new RegExp(\"^[a-z][\"+N+\"]*-?\\\\.?\\\\d\",\"i\"),d._.transform2matrix=o,d._unit2px=s;z.doc.contains||z.doc.compareDocumentPosition?function(a,b){var c=9==a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a==d||!(!d||1!=d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b;)if(b=b.parentNode,b==a)return!0;return!1};d._.getSomeDefs=q,d._.getSomeSVG=r,d.select=function(a){return y(z.doc.querySelector(a))},d.selectAll=function(a){for(var b=z.doc.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},setInterval(function(){for(var a in Y)if(Y[A](a)){var b=Y[a],c=b.node;(\"svg\"!=b.type&&!c.ownerSVGElement||\"svg\"==b.type&&(!c.parentNode||\"ownerSVGElement\"in c.parentNode&&!c.ownerSVGElement))&&delete Y[a]}},1e4),function(a){function g(a){function b(a,b){var c=e(a.node,b);c=c&&c.match(g),c=c&&c[2],c&&\"#\"==c.charAt()&&(c=c.substring(1),c&&(i[c]=(i[c]||[]).concat(function(c){var d={};d[b]=Z(c),e(a.node,d)})))}function c(a){var b=e(a.node,\"xlink:href\");b&&\"#\"==b.charAt()&&(b=b.substring(1),b&&(i[b]=(i[b]||[]).concat(function(b){a.attr(\"xlink:href\",\"#\"+b)})))}for(var d,f=a.selectAll(\"*\"),g=/^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/,h=[],i={},j=0,k=f.length;k>j;j++){d=f[j],b(d,\"fill\"),b(d,\"stroke\"),b(d,\"filter\"),b(d,\"mask\"),b(d,\"clip-path\"),c(d);var l=e(d.node,\"id\");l&&(e(d.node,{id:d.id}),h.push({old:l,id:d.id}))}for(j=0,k=h.length;k>j;j++){var m=i[h[j].old];if(m)for(var n=0,o=m.length;o>n;n++)m[n](h[j].id)}}function h(a,b,c){return function(d){var e=d.slice(a,b);return 1==e.length&&(e=e[0]),c?c(e):e}}function i(a){return function(){var b=a?\"<\"+this.type:\"\",c=this.node.attributes,d=this.node.childNodes;if(a)for(var e=0,f=c.length;f>e;e++)b+=\" \"+c[e].name+'=\"'+c[e].value.replace(/\"/g,'\\\\\"')+'\"';if(d.length){for(a&&(b+=\">\"),e=0,f=d.length;f>e;e++)3==d[e].nodeType?b+=d[e].nodeValue:1==d[e].nodeType&&(b+=y(d[e]).toString());a&&(b+=\"</\"+this.type+\">\")}else a&&(b+=\"/>\");return b}}a.attr=function(a,c){{var d=this;d.node}if(!a)return d;if(f(a,\"string\")){if(!(arguments.length>1))return b(\"snap.util.getattr.\"+a,d).firstDefined();var e={};e[a]=c,a=e}for(var g in a)a[A](g)&&b(\"snap.util.attr.\"+g,d,a[g]);return d},a.getBBox=function(a){if(!d.Matrix||!d.path)return this.node.getBBox();var b=this,c=new d.Matrix;if(b.removed)return d._.box();for(;\"use\"==b.type;)if(a||(c=c.add(b.transform().localMatrix.translate(b.attr(\"x\")||0,b.attr(\"y\")||0))),b.original)b=b.original;else{var e=b.attr(\"xlink:href\");b=b.original=b.node.ownerDocument.getElementById(e.substring(e.indexOf(\"#\")+1))}var f=b._,g=d.path.get[b.type]||d.path.get.deflt;try{return a?(f.bboxwt=g?d.path.getBBox(b.realPath=g(b)):d._.box(b.node.getBBox()),d._.box(f.bboxwt)):(b.realPath=g(b),b.matrix=b.transform().localMatrix,f.bbox=d.path.getBBox(d.path.map(b.realPath,c.add(b.matrix))),d._.box(f.bbox))}catch(h){return d._.box()}};var j=function(){return this.string};a.transform=function(a){var b=this._;if(null==a){for(var c,f=this,g=new d.Matrix(this.node.getCTM()),h=p(this),i=[h],k=new d.Matrix,l=h.toTransformString(),m=B(h)==B(this.matrix)?B(b.transform):l;\"svg\"!=f.type&&(f=f.parent());)i.push(p(f));for(c=i.length;c--;)k.add(i[c]);return{string:m,globalMatrix:g,totalMatrix:k,localMatrix:h,diffMatrix:g.clone().add(h.invert()),global:g.toTransformString(),total:k.toTransformString(),local:l,toString:j}}return a instanceof d.Matrix?this.matrix=a:p(this,a),this.node&&(\"linearGradient\"==this.type||\"radialGradient\"==this.type?e(this.node,{gradientTransform:this.matrix}):\"pattern\"==this.type?e(this.node,{patternTransform:this.matrix}):e(this.node,{transform:this.matrix})),this},a.parent=function(){return y(this.node.parentNode)},a.append=a.add=function(a){if(a){if(\"set\"==a.type){var b=this;return a.forEach(function(a){b.add(a)}),this}a=y(a),this.node.appendChild(a.node),a.paper=this.paper}return this},a.appendTo=function(a){return a&&(a=y(a),a.append(this)),this},a.prepend=function(a){if(a){if(\"set\"==a.type){var b,c=this;return a.forEach(function(a){b?b.after(a):c.prepend(a),b=a}),this}a=y(a);var d=a.parent();this.node.insertBefore(a.node,this.node.firstChild),this.add&&this.add(),a.paper=this.paper,this.parent()&&this.parent().add(),d&&d.add()}return this},a.prependTo=function(a){return a=y(a),a.prepend(this),this},a.before=function(a){if(\"set\"==a.type){var b=this;return a.forEach(function(a){var c=a.parent();b.node.parentNode.insertBefore(a.node,b.node),c&&c.add()}),this.parent().add(),this}a=y(a);var c=a.parent();return this.node.parentNode.insertBefore(a.node,this.node),this.parent()&&this.parent().add(),c&&c.add(),a.paper=this.paper,this},a.after=function(a){a=y(a);var b=a.parent();return this.node.nextSibling?this.node.parentNode.insertBefore(a.node,this.node.nextSibling):this.node.parentNode.appendChild(a.node),this.parent()&&this.parent().add(),b&&b.add(),a.paper=this.paper,this},a.insertBefore=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.insertAfter=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node.nextSibling),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.remove=function(){var a=this.parent();return this.node.parentNode&&this.node.parentNode.removeChild(this.node),delete this.paper,this.removed=!0,a&&a.add(),this},a.select=function(a){return y(this.node.querySelector(a))},a.selectAll=function(a){for(var b=this.node.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},a.asPX=function(a,b){return null==b&&(b=this.attr(a)),+s(this,a,b)},a.use=function(){var a,b=this.node.id;return b||(b=this.id,e(this.node,{id:b})),a=\"linearGradient\"==this.type||\"radialGradient\"==this.type||\"pattern\"==this.type?w(this.type,this.node.parentNode):w(\"use\",this.node.parentNode),e(a.node,{\"xlink:href\":\"#\"+b}),a.original=this,a};var k=/\\S+/g;a.addClass=function(a){var b,c,d,e,f=(a||\"\").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(f.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c||i.push(d);e=i.join(\" \"),h!=e&&(g.className.baseVal=e)}return this},a.removeClass=function(a){var b,c,d,e,f=(a||\"\").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(i.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c&&i.splice(c,1);e=i.join(\" \"),h!=e&&(g.className.baseVal=e)}return this},a.hasClass=function(a){var b=this.node,c=b.className.baseVal,d=c.match(k)||[];return!!~d.indexOf(a)},a.toggleClass=function(a,b){if(null!=b)return b?this.addClass(a):this.removeClass(a);var c,d,e,f,g=(a||\"\").match(k)||[],h=this.node,i=h.className.baseVal,j=i.match(k)||[];for(c=0;e=g[c++];)d=j.indexOf(e),~d?j.splice(d,1):j.push(e);return f=j.join(\" \"),i!=f&&(h.className.baseVal=f),this},a.clone=function(){var a=y(this.node.cloneNode(!0));return e(a.node,\"id\")&&e(a.node,{id:a.id}),g(a),a.insertAfter(this),a},a.toDefs=function(){var a=q(this);return a.appendChild(this.node),this},a.pattern=a.toPattern=function(a,b,c,d){var g=w(\"pattern\",q(this));return null==a&&(a=this.getBBox()),f(a,\"object\")&&\"x\"in a&&(b=a.y,c=a.width,d=a.height,a=a.x),e(g.node,{x:a,y:b,width:c,height:d,patternUnits:\"userSpaceOnUse\",id:g.id,viewBox:[a,b,c,d].join(\" \")}),g.node.appendChild(this.node),g},a.marker=function(a,b,c,d,g,h){var i=w(\"marker\",q(this));return null==a&&(a=this.getBBox()),f(a,\"object\")&&\"x\"in a&&(b=a.y,c=a.width,d=a.height,g=a.refX||a.cx,h=a.refY||a.cy,a=a.x),e(i.node,{viewBox:[a,b,c,d].join(K),markerWidth:c,markerHeight:d,orient:\"auto\",refX:g||0,refY:h||0,id:i.id}),i.node.appendChild(this.node),i};var l=function(a,b,d,e){\"function\"!=typeof d||d.length||(e=d,d=c.linear),this.attr=a,this.dur=b,d&&(this.easing=d),e&&(this.callback=e)};d._.Animation=l,d.animation=function(a,b,c,d){return new l(a,b,c,d)},a.inAnim=function(){var a=this,b=[];for(var c in a.anims)a.anims[A](c)&&!function(a){b.push({anim:new l(a._attrs,a.dur,a.easing,a._callback),mina:a,curStatus:a.status(),status:function(b){return a.status(b)},stop:function(){a.stop()}})}(a.anims[c]);return b},d.animate=function(a,d,e,f,g,h){\"function\"!=typeof g||g.length||(h=g,g=c.linear);var i=c.time(),j=c(a,d,i,i+f,c.time,e,g);return h&&b.once(\"mina.finish.\"+j.id,h),j},a.stop=function(){for(var a=this.inAnim(),b=0,c=a.length;c>b;b++)a[b].stop();return this},a.animate=function(a,d,e,g){\"function\"!=typeof e||e.length||(g=e,e=c.linear),a instanceof l&&(g=a.callback,e=a.easing,d=e.dur,a=a.attr);var i,j,k,m,n=[],o=[],p={},q=this;for(var r in a)if(a[A](r)){q.equal?(m=q.equal(r,B(a[r])),i=m.from,j=m.to,k=m.f):(i=+q.attr(r),j=+a[r]);var s=f(i,\"array\")?i.length:1;p[r]=h(n.length,n.length+s,k),n=n.concat(i),o=o.concat(j)}var t=c.time(),u=c(n,o,t,t+d,c.time,function(a){var b={};for(var c in p)p[A](c)&&(b[c]=p[c](a));q.attr(b)},e);return q.anims[u.id]=u,u._attrs=a,u._callback=g,b(\"snap.animcreated.\"+q.id,u),b.once(\"mina.finish.\"+u.id,function(){delete q.anims[u.id],g&&g.call(q)}),b.once(\"mina.stop.\"+u.id,function(){delete q.anims[u.id]}),q};var m={};a.data=function(a,c){var e=m[this.id]=m[this.id]||{};if(0==arguments.length)return b(\"snap.data.get.\"+this.id,this,e,null),e;if(1==arguments.length){if(d.is(a,\"object\")){for(var f in a)a[A](f)&&this.data(f,a[f]);return this}return b(\"snap.data.get.\"+this.id,this,e[a],a),e[a]}return e[a]=c,b(\"snap.data.set.\"+this.id,this,c,a),this},a.removeData=function(a){return null==a?m[this.id]={}:m[this.id]&&delete m[this.id][a],this},a.outerSVG=a.toString=i(1),a.innerSVG=i()}(u.prototype),d.parse=function(a){var b=z.doc.createDocumentFragment(),c=!0,d=z.doc.createElement(\"div\");if(a=B(a),a.match(/^\\s*<\\s*svg(?:\\s|>)/)||(a=\"<svg>\"+a+\"</svg>\",c=!1),d.innerHTML=a,a=d.getElementsByTagName(\"svg\")[0])if(c)b=a;else for(;a.firstChild;)b.appendChild(a.firstChild);return d.innerHTML=J,new v(b)},v.prototype.select=u.prototype.select,v.prototype.selectAll=u.prototype.selectAll,d.fragment=function(){for(var a=Array.prototype.slice.call(arguments,0),b=z.doc.createDocumentFragment(),c=0,e=a.length;e>c;c++){var f=a[c];f.node&&f.node.nodeType&&b.appendChild(f.node),f.nodeType&&b.appendChild(f),\"string\"==typeof f&&b.appendChild(d.parse(f).node)}return new v(b)},d._.make=w,d._.wrap=y,x.prototype.el=function(a,b){var c=w(a,this.node);return b&&c.attr(b),c},b.on(\"snap.util.getattr\",function(){var a=b.nt();a=a.substring(a.lastIndexOf(\".\")+1);var c=a.replace(/[A-Z]/g,function(a){return\"-\"+a.toLowerCase()});return fb[A](c)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(c):e(this.node,a)});var fb={\"alignment-baseline\":0,\"baseline-shift\":0,clip:0,\"clip-path\":0,\"clip-rule\":0,color:0,\"color-interpolation\":0,\"color-interpolation-filters\":0,\"color-profile\":0,\"color-rendering\":0,cursor:0,direction:0,display:0,\"dominant-baseline\":0,\"enable-background\":0,fill:0,\"fill-opacity\":0,\"fill-rule\":0,filter:0,\"flood-color\":0,\"flood-opacity\":0,font:0,\"font-family\":0,\"font-size\":0,\"font-size-adjust\":0,\"font-stretch\":0,\"font-style\":0,\"font-variant\":0,\"font-weight\":0,\"glyph-orientation-horizontal\":0,\"glyph-orientation-vertical\":0,\"image-rendering\":0,kerning:0,\"letter-spacing\":0,\"lighting-color\":0,marker:0,\"marker-end\":0,\"marker-mid\":0,\"marker-start\":0,mask:0,opacity:0,overflow:0,\"pointer-events\":0,\"shape-rendering\":0,\"stop-color\":0,\"stop-opacity\":0,stroke:0,\"stroke-dasharray\":0,\"stroke-dashoffset\":0,\"stroke-linecap\":0,\"stroke-linejoin\":0,\"stroke-miterlimit\":0,\"stroke-opacity\":0,\"stroke-width\":0,\"text-anchor\":0,\"text-decoration\":0,\"text-rendering\":0,\"unicode-bidi\":0,visibility:0,\"word-spacing\":0,\"writing-mode\":0};b.on(\"snap.util.attr\",function(a){var c=b.nt(),d={};c=c.substring(c.lastIndexOf(\".\")+1),d[c]=a;var f=c.replace(/-(\\w)/gi,function(a,b){return b.toUpperCase()}),g=c.replace(/[A-Z]/g,function(a){return\"-\"+a.toLowerCase()});fb[A](g)?this.node.style[f]=null==a?J:a:e(this.node,d)}),function(){}(x.prototype),d.ajax=function(a,c,d,e){var g=new XMLHttpRequest,h=V();if(g){if(f(c,\"function\"))e=d,d=c,c=null;else if(f(c,\"object\")){var i=[];for(var j in c)c.hasOwnProperty(j)&&i.push(encodeURIComponent(j)+\"=\"+encodeURIComponent(c[j]));c=i.join(\"&\")}return g.open(c?\"POST\":\"GET\",a,!0),c&&(g.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\"),g.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\")),d&&(b.once(\"snap.ajax.\"+h+\".0\",d),b.once(\"snap.ajax.\"+h+\".200\",d),b.once(\"snap.ajax.\"+h+\".304\",d)),g.onreadystatechange=function(){4==g.readyState&&b(\"snap.ajax.\"+h+\".\"+g.status,e,g)},4==g.readyState?g:(g.send(c),g)}},d.load=function(a,b,c){d.ajax(a,function(a){var e=d.parse(a.responseText);c?b.call(c,e):b(e)})};var gb=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,h=e.clientLeft||d.clientLeft||0,i=b.top+(g.win.pageYOffset||e.scrollTop||d.scrollTop)-f,j=b.left+(g.win.pageXOffset||e.scrollLeft||d.scrollLeft)-h;return{y:i,x:j}};return d.getElementByPoint=function(a,b){var c=this,d=(c.canvas,z.doc.elementFromPoint(a,b));if(z.win.opera&&\"svg\"==d.tagName){var e=gb(d),f=d.createSVGRect();f.x=a-e.x,f.y=b-e.y,f.width=f.height=1;var g=d.getIntersectionList(f,null);g.length&&(d=g[g.length-1])}return d?y(d):null},d.plugin=function(a){a(d,u,x,z,v)},z.win.Snap=d,d}();return d.plugin(function(a){function b(a,b,d,e,f,g){return null==b&&\"[object SVGMatrix]\"==c.call(a)?(this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.e=a.e,void(this.f=a.f)):void(null!=a?(this.a=+a,this.b=+b,this.c=+d,this.d=+e,this.e=+f,this.f=+g):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0))}var c=Object.prototype.toString,d=String,e=Math,f=\"\";!function(c){function g(a){return a[0]*a[0]+a[1]*a[1]\n",
"}function h(a){var b=e.sqrt(g(a));a[0]&&(a[0]/=b),a[1]&&(a[1]/=b)}c.add=function(a,c,d,e,f,g){var h,i,j,k,l=[[],[],[] ],m=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1] ],n=[[a,d,f],[c,e,g],[0,0,1] ];for(a&&a instanceof b&&(n=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1] ]),h=0;3>h;h++)for(i=0;3>i;i++){for(k=0,j=0;3>j;j++)k+=m[h][j]*n[j][i];l[h][i]=k}return this.a=l[0][0],this.b=l[1][0],this.c=l[0][1],this.d=l[1][1],this.e=l[0][2],this.f=l[1][2],this},c.invert=function(){var a=this,c=a.a*a.d-a.b*a.c;return new b(a.d/c,-a.b/c,-a.c/c,a.a/c,(a.c*a.f-a.d*a.e)/c,(a.b*a.e-a.a*a.f)/c)},c.clone=function(){return new b(this.a,this.b,this.c,this.d,this.e,this.f)},c.translate=function(a,b){return this.add(1,0,0,1,a,b)},c.scale=function(a,b,c,d){return null==b&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d),this},c.rotate=function(b,c,d){b=a.rad(b),c=c||0,d=d||0;var f=+e.cos(b).toFixed(9),g=+e.sin(b).toFixed(9);return this.add(f,g,-g,f,c,d),this.add(1,0,0,1,-c,-d)},c.x=function(a,b){return a*this.a+b*this.c+this.e},c.y=function(a,b){return a*this.b+b*this.d+this.f},c.get=function(a){return+this[d.fromCharCode(97+a)].toFixed(4)},c.toString=function(){return\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\"},c.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},c.determinant=function(){return this.a*this.d-this.b*this.c},c.split=function(){var b={};b.dx=this.e,b.dy=this.f;var c=[[this.a,this.c],[this.b,this.d] ];b.scalex=e.sqrt(g(c[0])),h(c[0]),b.shear=c[0][0]*c[1][0]+c[0][1]*c[1][1],c[1]=[c[1][0]-c[0][0]*b.shear,c[1][1]-c[0][1]*b.shear],b.scaley=e.sqrt(g(c[1])),h(c[1]),b.shear/=b.scaley,this.determinant()<0&&(b.scalex=-b.scalex);var d=-c[0][1],f=c[1][1];return 0>f?(b.rotate=a.deg(e.acos(f)),0>d&&(b.rotate=360-b.rotate)):b.rotate=a.deg(e.asin(d)),b.isSimple=!(+b.shear.toFixed(9)||b.scalex.toFixed(9)!=b.scaley.toFixed(9)&&b.rotate),b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate,b.noRotation=!+b.shear.toFixed(9)&&!b.rotate,b},c.toTransformString=function(a){var b=a||this.split();return+b.shear.toFixed(9)?\"m\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]:(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?\"t\"+[+b.dx.toFixed(4),+b.dy.toFixed(4)]:f)+(1!=b.scalex||1!=b.scaley?\"s\"+[b.scalex,b.scaley,0,0]:f)+(b.rotate?\"r\"+[+b.rotate.toFixed(4),0,0]:f))}}(b.prototype),a.Matrix=b,a.matrix=function(a,c,d,e,f,g){return new b(a,c,d,e,f,g)}}),d.plugin(function(a,c,d,e,f){function g(d){return function(e){if(b.stop(),e instanceof f&&1==e.node.childNodes.length&&(\"radialGradient\"==e.node.firstChild.tagName||\"linearGradient\"==e.node.firstChild.tagName||\"pattern\"==e.node.firstChild.tagName)&&(e=e.node.firstChild,n(this).appendChild(e),e=l(e)),e instanceof c)if(\"radialGradient\"==e.type||\"linearGradient\"==e.type||\"pattern\"==e.type){e.node.id||p(e.node,{id:e.id});var g=q(e.node.id)}else g=e.attr(d);else if(g=a.color(e),g.error){var h=a(n(this).ownerSVGElement).gradient(e);h?(h.node.id||p(h.node,{id:h.id}),g=q(h.node.id)):g=e}else g=r(g);var i={};i[d]=g,p(this.node,i),this.node.style[d]=t}}function h(a){b.stop(),a==+a&&(a+=\"px\"),this.node.style.fontSize=a}function i(a){for(var b=[],c=a.childNodes,d=0,e=c.length;e>d;d++){var f=c[d];3==f.nodeType&&b.push(f.nodeValue),\"tspan\"==f.tagName&&b.push(1==f.childNodes.length&&3==f.firstChild.nodeType?f.firstChild.nodeValue:i(f))}return b}function j(){return b.stop(),this.node.style.fontSize}var k=a._.make,l=a._.wrap,m=a.is,n=a._.getSomeDefs,o=/^url\\(#?([^)]+)\\)$/,p=a._.$,q=a.url,r=String,s=a._.separator,t=\"\";b.on(\"snap.util.attr.mask\",function(a){if(a instanceof c||a instanceof f){if(b.stop(),a instanceof f&&1==a.node.childNodes.length&&(a=a.node.firstChild,n(this).appendChild(a),a=l(a)),\"mask\"==a.type)var d=a;else d=k(\"mask\",n(this)),d.node.appendChild(a.node);!d.node.id&&p(d.node,{id:d.id}),p(this.node,{mask:q(d.id)})}}),function(a){b.on(\"snap.util.attr.clip\",a),b.on(\"snap.util.attr.clip-path\",a),b.on(\"snap.util.attr.clipPath\",a)}(function(a){if(a instanceof c||a instanceof f){if(b.stop(),\"clipPath\"==a.type)var d=a;else d=k(\"clipPath\",n(this)),d.node.appendChild(a.node),!d.node.id&&p(d.node,{id:d.id});p(this.node,{\"clip-path\":q(d.id)})}}),b.on(\"snap.util.attr.fill\",g(\"fill\")),b.on(\"snap.util.attr.stroke\",g(\"stroke\"));var u=/^([lr])(?:\\(([^)]*)\\))?(.*)$/i;b.on(\"snap.util.grad.parse\",function(a){a=r(a);var b=a.match(u);if(!b)return null;var c=b[1],d=b[2],e=b[3];return d=d.split(/\\s*,\\s*/).map(function(a){return+a==a?+a:a}),1==d.length&&0==d[0]&&(d=[]),e=e.split(\"-\"),e=e.map(function(a){a=a.split(\":\");var b={color:a[0]};return a[1]&&(b.offset=parseFloat(a[1])),b}),{type:c,params:d,stops:e}}),b.on(\"snap.util.attr.d\",function(c){b.stop(),m(c,\"array\")&&m(c[0],\"array\")&&(c=a.path.toString.call(c)),c=r(c),c.match(/[ruo]/i)&&(c=a.path.toAbsolute(c)),p(this.node,{d:c})})(-1),b.on(\"snap.util.attr.#text\",function(a){b.stop(),a=r(a);for(var c=e.doc.createTextNode(a);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(c)})(-1),b.on(\"snap.util.attr.path\",function(a){b.stop(),this.attr({d:a})})(-1),b.on(\"snap.util.attr.class\",function(a){b.stop(),this.node.className.baseVal=a})(-1),b.on(\"snap.util.attr.viewBox\",function(a){var c;c=m(a,\"object\")&&\"x\"in a?[a.x,a.y,a.width,a.height].join(\" \"):m(a,\"array\")?a.join(\" \"):a,p(this.node,{viewBox:c}),b.stop()})(-1),b.on(\"snap.util.attr.transform\",function(a){this.transform(a),b.stop()})(-1),b.on(\"snap.util.attr.r\",function(a){\"rect\"==this.type&&(b.stop(),p(this.node,{rx:a,ry:a}))})(-1),b.on(\"snap.util.attr.textpath\",function(a){if(b.stop(),\"text\"==this.type){var d,e,f;if(!a&&this.textPath){for(e=this.textPath;e.node.firstChild;)this.node.appendChild(e.node.firstChild);return e.remove(),void delete this.textPath}if(m(a,\"string\")){var g=n(this),h=l(g.parentNode).path(a);g.appendChild(h.node),d=h.id,h.attr({id:d})}else a=l(a),a instanceof c&&(d=a.attr(\"id\"),d||(d=a.id,a.attr({id:d})));if(d)if(e=this.textPath,f=this.node,e)e.attr({\"xlink:href\":\"#\"+d});else{for(e=p(\"textPath\",{\"xlink:href\":\"#\"+d});f.firstChild;)e.appendChild(f.firstChild);f.appendChild(e),this.textPath=l(e)}}})(-1),b.on(\"snap.util.attr.text\",function(a){if(\"text\"==this.type){for(var c=this.node,d=function(a){var b=p(\"tspan\");if(m(a,\"array\"))for(var c=0;c<a.length;c++)b.appendChild(d(a[c]));else b.appendChild(e.doc.createTextNode(a));return b.normalize&&b.normalize(),b};c.firstChild;)c.removeChild(c.firstChild);for(var f=d(a);f.firstChild;)c.appendChild(f.firstChild)}b.stop()})(-1),b.on(\"snap.util.attr.fontSize\",h)(-1),b.on(\"snap.util.attr.font-size\",h)(-1),b.on(\"snap.util.getattr.transform\",function(){return b.stop(),this.transform()})(-1),b.on(\"snap.util.getattr.textpath\",function(){return b.stop(),this.textPath})(-1),function(){function c(c){return function(){b.stop();var d=e.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue(\"marker-\"+c);return\"none\"==d?d:a(e.doc.getElementById(d.match(o)[1]))}}function d(a){return function(c){b.stop();var d=\"marker\"+a.charAt(0).toUpperCase()+a.substring(1);if(\"\"==c||!c)return void(this.node.style[d]=\"none\");if(\"marker\"==c.type){var e=c.node.id;return e||p(c.node,{id:c.id}),void(this.node.style[d]=q(e))}}}b.on(\"snap.util.getattr.marker-end\",c(\"end\"))(-1),b.on(\"snap.util.getattr.markerEnd\",c(\"end\"))(-1),b.on(\"snap.util.getattr.marker-start\",c(\"start\"))(-1),b.on(\"snap.util.getattr.markerStart\",c(\"start\"))(-1),b.on(\"snap.util.getattr.marker-mid\",c(\"mid\"))(-1),b.on(\"snap.util.getattr.markerMid\",c(\"mid\"))(-1),b.on(\"snap.util.attr.marker-end\",d(\"end\"))(-1),b.on(\"snap.util.attr.markerEnd\",d(\"end\"))(-1),b.on(\"snap.util.attr.marker-start\",d(\"start\"))(-1),b.on(\"snap.util.attr.markerStart\",d(\"start\"))(-1),b.on(\"snap.util.attr.marker-mid\",d(\"mid\"))(-1),b.on(\"snap.util.attr.markerMid\",d(\"mid\"))(-1)}(),b.on(\"snap.util.getattr.r\",function(){return\"rect\"==this.type&&p(this.node,\"rx\")==p(this.node,\"ry\")?(b.stop(),p(this.node,\"rx\")):void 0})(-1),b.on(\"snap.util.getattr.text\",function(){if(\"text\"==this.type||\"tspan\"==this.type){b.stop();var a=i(this.node);return 1==a.length?a[0]:a}})(-1),b.on(\"snap.util.getattr.#text\",function(){return this.node.textContent})(-1),b.on(\"snap.util.getattr.viewBox\",function(){b.stop();var c=p(this.node,\"viewBox\");return c?(c=c.split(s),a._.box(+c[0],+c[1],+c[2],+c[3])):void 0})(-1),b.on(\"snap.util.getattr.points\",function(){var a=p(this.node,\"points\");return b.stop(),a?a.split(s):void 0})(-1),b.on(\"snap.util.getattr.path\",function(){var a=p(this.node,\"d\");return b.stop(),a})(-1),b.on(\"snap.util.getattr.class\",function(){return this.node.className.baseVal})(-1),b.on(\"snap.util.getattr.fontSize\",j)(-1),b.on(\"snap.util.getattr.font-size\",j)(-1)}),d.plugin(function(){function a(a){return a}function c(a){return function(b){return+b.toFixed(3)+a}}var d={\"+\":function(a,b){return a+b},\"-\":function(a,b){return a-b},\"/\":function(a,b){return a/b},\"*\":function(a,b){return a*b}},e=String,f=/[a-z]+$/i,g=/^\\s*([+\\-\\/*])\\s*=\\s*([\\d.eE+\\-]+)\\s*([^\\d\\s]+)?\\s*$/;b.on(\"snap.util.attr\",function(a){var c=e(a).match(g);if(c){var h=b.nt(),i=h.substring(h.lastIndexOf(\".\")+1),j=this.attr(i),k={};b.stop();var l=c[3]||\"\",m=j.match(f),n=d[c[1] ];if(m&&m==l?a=n(parseFloat(j),+c[2]):(j=this.asPX(i),a=n(this.asPX(i),this.asPX(i,c[2]+l))),isNaN(j)||isNaN(a))return;k[i]=a,this.attr(k)}})(-10),b.on(\"snap.util.equal\",function(h,i){var j=e(this.attr(h)||\"\"),k=e(i).match(g);if(k){b.stop();var l=k[3]||\"\",m=j.match(f),n=d[k[1] ];return m&&m==l?{from:parseFloat(j),to:n(parseFloat(j),+k[2]),f:c(m)}:(j=this.asPX(h),{from:j,to:n(j,this.asPX(h,k[2]+l)),f:a})}})(-10)}),d.plugin(function(a,c,d,e){var f=d.prototype,g=a.is;f.rect=function(a,b,c,d,e,f){var h;return null==f&&(f=e),g(a,\"object\")&&\"[object Object]\"==a?h=a:null!=a&&(h={x:a,y:b,width:c,height:d},null!=e&&(h.rx=e,h.ry=f)),this.el(\"rect\",h)},f.circle=function(a,b,c){var d;return g(a,\"object\")&&\"[object Object]\"==a?d=a:null!=a&&(d={cx:a,cy:b,r:c}),this.el(\"circle\",d)};var h=function(){function a(){this.parentNode.removeChild(this)}return function(b,c){var d=e.doc.createElement(\"img\"),f=e.doc.body;d.style.cssText=\"position:absolute;left:-9999em;top:-9999em\",d.onload=function(){c.call(d),d.onload=d.onerror=null,f.removeChild(d)},d.onerror=a,f.appendChild(d),d.src=b}}();f.image=function(b,c,d,e,f){var i=this.el(\"image\");if(g(b,\"object\")&&\"src\"in b)i.attr(b);else if(null!=b){var j={\"xlink:href\":b,preserveAspectRatio:\"none\"};null!=c&&null!=d&&(j.x=c,j.y=d),null!=e&&null!=f?(j.width=e,j.height=f):h(b,function(){a._.$(i.node,{width:this.offsetWidth,height:this.offsetHeight})}),a._.$(i.node,j)}return i},f.ellipse=function(a,b,c,d){var e;return g(a,\"object\")&&\"[object Object]\"==a?e=a:null!=a&&(e={cx:a,cy:b,rx:c,ry:d}),this.el(\"ellipse\",e)},f.path=function(a){var b;return g(a,\"object\")&&!g(a,\"array\")?b=a:a&&(b={d:a}),this.el(\"path\",b)},f.group=f.g=function(a){var b=this.el(\"g\");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.svg=function(a,b,c,d,e,f,h,i){var j={};return g(a,\"object\")&&null==b?j=a:(null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])),this.el(\"svg\",j)},f.mask=function(a){var b=this.el(\"mask\");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.ptrn=function(a,b,c,d,e,f,h,i){if(g(a,\"object\"))var j=a;else arguments.length?(j={},null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])):j={patternUnits:\"userSpaceOnUse\"};return this.el(\"pattern\",j)},f.use=function(a){if(null!=a){{make(\"use\",this.node)}return a instanceof c&&(a.attr(\"id\")||a.attr({id:ID()}),a=a.attr(\"id\")),this.el(\"use\",{\"xlink:href\":a})}return c.prototype.use.call(this)},f.text=function(a,b,c){var d={};return g(a,\"object\")?d=a:null!=a&&(d={x:a,y:b,text:c||\"\"}),this.el(\"text\",d)},f.line=function(a,b,c,d){var e={};return g(a,\"object\")?e=a:null!=a&&(e={x1:a,x2:c,y1:b,y2:d}),this.el(\"line\",e)},f.polyline=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,\"object\")&&!g(a,\"array\")?b=a:null!=a&&(b={points:a}),this.el(\"polyline\",b)},f.polygon=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,\"object\")&&!g(a,\"array\")?b=a:null!=a&&(b={points:a}),this.el(\"polygon\",b)},function(){function c(){return this.selectAll(\"stop\")}function d(b,c){var d=j(\"stop\"),e={offset:+c+\"%\"};return b=a.color(b),e[\"stop-color\"]=b.hex,b.opacity<1&&(e[\"stop-opacity\"]=b.opacity),j(d,e),this.node.appendChild(d),this}function e(){if(\"linearGradient\"==this.type){var b=j(this.node,\"x1\")||0,c=j(this.node,\"x2\")||1,d=j(this.node,\"y1\")||0,e=j(this.node,\"y2\")||0;return a._.box(b,d,math.abs(c-b),math.abs(e-d))}var f=this.node.cx||.5,g=this.node.cy||.5,h=this.node.r||0;return a._.box(f-h,g-h,2*h,2*h)}function g(a,c){function d(a,b){for(var c=(b-l)/(a-m),d=m;a>d;d++)g[d].offset=+(+l+c*(d-m)).toFixed(2);m=a,l=b}var e,f=b(\"snap.util.grad.parse\",null,c).firstDefined();if(!f)return null;f.params.unshift(a),e=\"l\"==f.type.toLowerCase()?h.apply(0,f.params):i.apply(0,f.params),f.type!=f.type.toLowerCase()&&j(e.node,{gradientUnits:\"userSpaceOnUse\"});var g=f.stops,k=g.length,l=0,m=0;k--;for(var n=0;k>n;n++)\"offset\"in g[n]&&d(n,g[n].offset);for(g[k].offset=g[k].offset||100,d(k,g[k].offset),n=0;k>=n;n++){var o=g[n];e.addStop(o.color,o.offset)}return e}function h(b,f,g,h,i){var k=a._.make(\"linearGradient\",b);return k.stops=c,k.addStop=d,k.getBBox=e,null!=f&&j(k.node,{x1:f,y1:g,x2:h,y2:i}),k}function i(b,f,g,h,i,k){var l=a._.make(\"radialGradient\",b);return l.stops=c,l.addStop=d,l.getBBox=e,null!=f&&j(l.node,{cx:f,cy:g,r:h}),null!=i&&null!=k&&j(l.node,{fx:i,fy:k}),l}var j=a._.$;f.gradient=function(a){return g(this.defs,a)},f.gradientLinear=function(a,b,c,d){return h(this.defs,a,b,c,d)},f.gradientRadial=function(a,b,c,d,e){return i(this.defs,a,b,c,d,e)},f.toString=function(){var b,c=this.node.ownerDocument,d=c.createDocumentFragment(),e=c.createElement(\"div\"),f=this.node.cloneNode(!0);return d.appendChild(e),e.appendChild(f),a._.$(f,{xmlns:\"http://www.w3.org/2000/svg\"}),b=e.innerHTML,d.removeChild(d.firstChild),b},f.clear=function(){for(var a,b=this.node.firstChild;b;)a=b.nextSibling,\"defs\"!=b.tagName?b.parentNode.removeChild(b):f.clear.call({node:b}),b=a}}()}),d.plugin(function(a,b){function c(a){var b=c.ps=c.ps||{};return b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[K](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])}),b[a]}function d(a,b,c,d){return null==a&&(a=b=c=d=0),null==b&&(b=a.y,c=a.width,d=a.height,a=a.x),{x:a,y:b,width:c,w:c,height:d,h:d,x2:a+c,y2:b+d,cx:a+c/2,cy:b+d/2,r1:N.min(c,d)/2,r2:N.max(c,d)/2,r0:N.sqrt(c*c+d*d)/2,path:w(a,b,c,d),vb:[a,b,c,d].join(\" \")}}function e(){return this.join(\",\").replace(L,\"$1\")}function f(a){var b=J(a);return b.toString=e,b}function g(a,b,c,d,e,f,g,h,j){return null==j?n(a,b,c,d,e,f,g,h):i(a,b,c,d,e,f,g,h,o(a,b,c,d,e,f,g,h,j))}function h(c,d){function e(a){return+(+a).toFixed(3)}return a._.cacher(function(a,f,h){a instanceof b&&(a=a.attr(\"d\")),a=E(a);for(var j,k,l,m,n,o=\"\",p={},q=0,r=0,s=a.length;s>r;r++){if(l=a[r],\"M\"==l[0])j=+l[1],k=+l[2];else{if(m=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6]),q+m>f){if(d&&!p.start){if(n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q),o+=[\"C\"+e(n.start.x),e(n.start.y),e(n.m.x),e(n.m.y),e(n.x),e(n.y)],h)return o;p.start=o,o=[\"M\"+e(n.x),e(n.y)+\"C\"+e(n.n.x),e(n.n.y),e(n.end.x),e(n.end.y),e(l[5]),e(l[6])].join(),q+=m,j=+l[5],k=+l[6];continue}if(!c&&!d)return n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q)}q+=m,j=+l[5],k=+l[6]}o+=l.shift()+l}return p.end=o,n=c?q:d?p:i(j,k,l[0],l[1],l[2],l[3],l[4],l[5],1)},null,a._.clone)}function i(a,b,c,d,e,f,g,h,i){var j=1-i,k=R(j,3),l=R(j,2),m=i*i,n=m*i,o=k*a+3*l*i*c+3*j*i*i*e+n*g,p=k*b+3*l*i*d+3*j*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,w=j*e+i*g,x=j*f+i*h,y=90-180*N.atan2(q-s,r-t)/O;return{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:w,y:x},alpha:y}}function j(b,c,e,f,g,h,i,j){a.is(b,\"array\")||(b=[b,c,e,f,g,h,i,j]);var k=D.apply(null,b);return d(k.min.x,k.min.y,k.max.x-k.min.x,k.max.y-k.min.y)}function k(a,b,c){return b>=a.x&&b<=a.x+a.width&&c>=a.y&&c<=a.y+a.height}function l(a,b){return a=d(a),b=d(b),k(b,a.x,a.y)||k(b,a.x2,a.y)||k(b,a.x,a.y2)||k(b,a.x2,a.y2)||k(a,b.x,b.y)||k(a,b.x2,b.y)||k(a,b.x,b.y2)||k(a,b.x2,b.y2)||(a.x<b.x2&&a.x>b.x||b.x<a.x2&&b.x>a.x)&&(a.y<b.y2&&a.y>b.y||b.y<a.y2&&b.y>a.y)}function m(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c}function n(a,b,c,d,e,f,g,h,i){null==i&&(i=1),i=i>1?1:0>i?0:i;for(var j=i/2,k=12,l=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],n=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],o=0,p=0;k>p;p++){var q=j*l[p]+j,r=m(q,a,c,e,g),s=m(q,b,d,f,h),t=r*r+s*s;o+=n[p]*N.sqrt(t)}return j*o}function o(a,b,c,d,e,f,g,h,i){if(!(0>i||n(a,b,c,d,e,f,g,h)<i)){var j,k=1,l=k/2,m=k-l,o=.01;for(j=n(a,b,c,d,e,f,g,h,m);S(j-i)>o;)l/=2,m+=(i>j?1:-1)*l,j=n(a,b,c,d,e,f,g,h,m);return m}}function p(a,b,c,d,e,f,g,h){if(!(Q(a,c)<P(e,g)||P(a,c)>Q(e,g)||Q(b,d)<P(f,h)||P(b,d)>Q(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(k){var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(!(n<+P(a,c).toFixed(2)||n>+Q(a,c).toFixed(2)||n<+P(e,g).toFixed(2)||n>+Q(e,g).toFixed(2)||o<+P(b,d).toFixed(2)||o>+Q(b,d).toFixed(2)||o<+P(f,h).toFixed(2)||o>+Q(f,h).toFixed(2)))return{x:l,y:m}}}}function q(a,b,c){var d=j(a),e=j(b);if(!l(d,e))return c?0:[];for(var f=n.apply(0,a),g=n.apply(0,b),h=~~(f/8),k=~~(g/8),m=[],o=[],q={},r=c?0:[],s=0;h+1>s;s++){var t=i.apply(0,a.concat(s/h));m.push({x:t.x,y:t.y,t:s/h})}for(s=0;k+1>s;s++)t=i.apply(0,b.concat(s/k)),o.push({x:t.x,y:t.y,t:s/k});for(s=0;h>s;s++)for(var u=0;k>u;u++){var v=m[s],w=m[s+1],x=o[u],y=o[u+1],z=S(w.x-v.x)<.001?\"y\":\"x\",A=S(y.x-x.x)<.001?\"y\":\"x\",B=p(v.x,v.y,w.x,w.y,x.x,x.y,y.x,y.y);if(B){if(q[B.x.toFixed(4)]==B.y.toFixed(4))continue;q[B.x.toFixed(4)]=B.y.toFixed(4);var C=v.t+S((B[z]-v[z])/(w[z]-v[z]))*(w.t-v.t),D=x.t+S((B[A]-x[A])/(y[A]-x[A]))*(y.t-x.t);C>=0&&1>=C&&D>=0&&1>=D&&(c?r++:r.push({x:B.x,y:B.y,t1:C,t2:D}))}}return r}function r(a,b){return t(a,b)}function s(a,b){return t(a,b,1)}function t(a,b,c){a=E(a),b=E(b);for(var d,e,f,g,h,i,j,k,l,m,n=c?0:[],o=0,p=a.length;p>o;o++){var r=a[o];if(\"M\"==r[0])d=h=r[1],e=i=r[2];else{\"C\"==r[0]?(l=[d,e].concat(r.slice(1)),d=l[6],e=l[7]):(l=[d,e,d,e,h,i,h,i],d=h,e=i);for(var s=0,t=b.length;t>s;s++){var u=b[s];if(\"M\"==u[0])f=j=u[1],g=k=u[2];else{\"C\"==u[0]?(m=[f,g].concat(u.slice(1)),f=m[6],g=m[7]):(m=[f,g,f,g,j,k,j,k],f=j,g=k);var v=q(l,m,c);if(c)n+=v;else{for(var w=0,x=v.length;x>w;w++)v[w].segment1=o,v[w].segment2=s,v[w].bez1=l,v[w].bez2=m;n=n.concat(v)}}}}}return n}function u(a,b,c){var d=v(a);return k(d,b,c)&&t(a,[[\"M\",b,c],[\"H\",d.x2+10] ],1)%2==1}function v(a){var b=c(a);if(b.bbox)return J(b.bbox);if(!a)return d();a=E(a);for(var e,f=0,g=0,h=[],i=[],j=0,k=a.length;k>j;j++)if(e=a[j],\"M\"==e[0])f=e[1],g=e[2],h.push(f),i.push(g);else{var l=D(f,g,e[1],e[2],e[3],e[4],e[5],e[6]);h=h.concat(l.min.x,l.max.x),i=i.concat(l.min.y,l.max.y),f=e[5],g=e[6]}var m=P.apply(0,h),n=P.apply(0,i),o=Q.apply(0,h),p=Q.apply(0,i),q=d(m,n,o-m,p-n);return b.bbox=J(q),q}function w(a,b,c,d,f){if(f)return[[\"M\",+a+ +f,b],[\"l\",c-2*f,0],[\"a\",f,f,0,0,1,f,f],[\"l\",0,d-2*f],[\"a\",f,f,0,0,1,-f,f],[\"l\",2*f-c,0],[\"a\",f,f,0,0,1,-f,-f],[\"l\",0,2*f-d],[\"a\",f,f,0,0,1,f,-f],[\"z\"] ];var g=[[\"M\",a,b],[\"l\",c,0],[\"l\",0,d],[\"l\",-c,0],[\"z\"] ];return g.toString=e,g}function x(a,b,c,d,f){if(null==f&&null==d&&(d=c),a=+a,b=+b,c=+c,d=+d,null!=f)var g=Math.PI/180,h=a+c*Math.cos(-d*g),i=a+c*Math.cos(-f*g),j=b+c*Math.sin(-d*g),k=b+c*Math.sin(-f*g),l=[[\"M\",h,j],[\"A\",c,c,0,+(f-d>180),0,i,k] ];else l=[[\"M\",a,b],[\"m\",0,-d],[\"a\",c,d,0,1,1,0,2*d],[\"a\",c,d,0,1,1,0,-2*d],[\"z\"] ];return l.toString=e,l}function y(b){var d=c(b),g=String.prototype.toLowerCase;if(d.rel)return f(d.rel);a.is(b,\"array\")&&a.is(b&&b[0],\"array\")||(b=a.parsePathString(b));var h=[],i=0,j=0,k=0,l=0,m=0;\"M\"==b[0][0]&&(i=b[0][1],j=b[0][2],k=i,l=j,m++,h.push([\"M\",i,j]));for(var n=m,o=b.length;o>n;n++){var p=h[n]=[],q=b[n];if(q[0]!=g.call(q[0]))switch(p[0]=g.call(q[0]),p[0]){case\"a\":p[1]=q[1],p[2]=q[2],p[3]=q[3],p[4]=q[4],p[5]=q[5],p[6]=+(q[6]-i).toFixed(3),p[7]=+(q[7]-j).toFixed(3);break;case\"v\":p[1]=+(q[1]-j).toFixed(3);break;case\"m\":k=q[1],l=q[2];default:for(var r=1,s=q.length;s>r;r++)p[r]=+(q[r]-(r%2?i:j)).toFixed(3)}else{p=h[n]=[],\"m\"==q[0]&&(k=q[1]+i,l=q[2]+j);for(var t=0,u=q.length;u>t;t++)h[n][t]=q[t]}var v=h[n].length;switch(h[n][0]){case\"z\":i=k,j=l;break;case\"h\":i+=+h[n][v-1];break;case\"v\":j+=+h[n][v-1];break;default:i+=+h[n][v-2],j+=+h[n][v-1]}}return h.toString=e,d.rel=f(h),h}function z(b){var d=c(b);if(d.abs)return f(d.abs);if(I(b,\"array\")&&I(b&&b[0],\"array\")||(b=a.parsePathString(b)),!b||!b.length)return[[\"M\",0,0] ];var g,h=[],i=0,j=0,k=0,l=0,m=0;\"M\"==b[0][0]&&(i=+b[0][1],j=+b[0][2],k=i,l=j,m++,h[0]=[\"M\",i,j]);for(var n,o,p=3==b.length&&\"M\"==b[0][0]&&\"R\"==b[1][0].toUpperCase()&&\"Z\"==b[2][0].toUpperCase(),q=m,r=b.length;r>q;q++){if(h.push(n=[]),o=b[q],g=o[0],g!=g.toUpperCase())switch(n[0]=g.toUpperCase(),n[0]){case\"A\":n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=+o[6]+i,n[7]=+o[7]+j;break;case\"V\":n[1]=+o[1]+j;break;case\"H\":n[1]=+o[1]+i;break;case\"R\":for(var s=[i,j].concat(o.slice(1)),t=2,u=s.length;u>t;t++)s[t]=+s[t]+i,s[++t]=+s[t]+j;h.pop(),h=h.concat(G(s,p));break;case\"O\":h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);break;case\"U\":h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=[\"U\"].concat(h[h.length-1].slice(-2));break;case\"M\":k=+o[1]+i,l=+o[2]+j;default:for(t=1,u=o.length;u>t;t++)n[t]=+o[t]+(t%2?i:j)}else if(\"R\"==g)s=[i,j].concat(o.slice(1)),h.pop(),h=h.concat(G(s,p)),n=[\"R\"].concat(o.slice(-2));else if(\"O\"==g)h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);else if(\"U\"==g)h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=[\"U\"].concat(h[h.length-1].slice(-2));else for(var v=0,w=o.length;w>v;v++)n[v]=o[v];if(g=g.toUpperCase(),\"O\"!=g)switch(n[0]){case\"Z\":i=+k,j=+l;break;case\"H\":i=n[1];break;case\"V\":j=n[1];break;case\"M\":k=n[n.length-2],l=n[n.length-1];default:i=n[n.length-2],j=n[n.length-1]}}return h.toString=e,d.abs=f(h),h}function A(a,b,c,d){return[a,b,c,d,c,d]}function B(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]}function C(b,c,d,e,f,g,h,i,j,k){var l,m=120*O/180,n=O/180*(+f||0),o=[],p=a._.cacher(function(a,b,c){var d=a*N.cos(c)-b*N.sin(c),e=a*N.sin(c)+b*N.cos(c);return{x:d,y:e}});if(k)y=k[0],z=k[1],w=k[2],x=k[3];else{l=p(b,c,-n),b=l.x,c=l.y,l=p(i,j,-n),i=l.x,j=l.y;var q=(N.cos(O/180*f),N.sin(O/180*f),(b-i)/2),r=(c-j)/2,s=q*q/(d*d)+r*r/(e*e);s>1&&(s=N.sqrt(s),d=s*d,e=s*e);var t=d*d,u=e*e,v=(g==h?-1:1)*N.sqrt(S((t*u-t*r*r-u*q*q)/(t*r*r+u*q*q))),w=v*d*r/e+(b+i)/2,x=v*-e*q/d+(c+j)/2,y=N.asin(((c-x)/e).toFixed(9)),z=N.asin(((j-x)/e).toFixed(9));y=w>b?O-y:y,z=w>i?O-z:z,0>y&&(y=2*O+y),0>z&&(z=2*O+z),h&&y>z&&(y-=2*O),!h&&z>y&&(z-=2*O)}var A=z-y;if(S(A)>m){var B=z,D=i,E=j;z=y+m*(h&&z>y?1:-1),i=w+d*N.cos(z),j=x+e*N.sin(z),o=C(i,j,d,e,f,0,h,D,E,[z,B,w,x])}A=z-y;var F=N.cos(y),G=N.sin(y),H=N.cos(z),I=N.sin(z),J=N.tan(A/4),K=4/3*d*J,L=4/3*e*J,M=[b,c],P=[b+K*G,c-L*F],Q=[i+K*I,j-L*H],R=[i,j];if(P[0]=2*M[0]-P[0],P[1]=2*M[1]-P[1],k)return[P,Q,R].concat(o);o=[P,Q,R].concat(o).join().split(\",\");for(var T=[],U=0,V=o.length;V>U;U++)T[U]=U%2?p(o[U-1],o[U],n).y:p(o[U],o[U+1],n).x;return T}function D(a,b,c,d,e,f,g,h){for(var i,j,k,l,m,n,o,p,q=[],r=[[],[] ],s=0;2>s;++s)if(0==s?(j=6*a-12*c+6*e,i=-3*a+9*c-9*e+3*g,k=3*c-3*a):(j=6*b-12*d+6*f,i=-3*b+9*d-9*f+3*h,k=3*d-3*b),S(i)<1e-12){if(S(j)<1e-12)continue;l=-k/j,l>0&&1>l&&q.push(l)}else o=j*j-4*k*i,p=N.sqrt(o),0>o||(m=(-j+p)/(2*i),m>0&&1>m&&q.push(m),n=(-j-p)/(2*i),n>0&&1>n&&q.push(n));for(var t,u=q.length,v=u;u--;)l=q[u],t=1-l,r[0][u]=t*t*t*a+3*t*t*l*c+3*t*l*l*e+l*l*l*g,r[1][u]=t*t*t*b+3*t*t*l*d+3*t*l*l*f+l*l*l*h;return r[0][v]=a,r[1][v]=b,r[0][v+1]=g,r[1][v+1]=h,r[0].length=r[1].length=v+2,{min:{x:P.apply(0,r[0]),y:P.apply(0,r[1])},max:{x:Q.apply(0,r[0]),y:Q.apply(0,r[1])}}}function E(a,b){var d=!b&&c(a);if(!b&&d.curve)return f(d.curve);for(var e=z(a),g=b&&z(b),h={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},i={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},j=(function(a,b,c){var d,e;if(!a)return[\"C\",b.x,b.y,b.x,b.y,b.x,b.y];switch(!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null),a[0]){case\"M\":b.X=a[1],b.Y=a[2];break;case\"A\":a=[\"C\"].concat(C.apply(0,[b.x,b.y].concat(a.slice(1))));break;case\"S\":\"C\"==c||\"S\"==c?(d=2*b.x-b.bx,e=2*b.y-b.by):(d=b.x,e=b.y),a=[\"C\",d,e].concat(a.slice(1));break;case\"T\":\"Q\"==c||\"T\"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y),a=[\"C\"].concat(B(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case\"Q\":b.qx=a[1],b.qy=a[2],a=[\"C\"].concat(B(b.x,b.y,a[1],a[2],a[3],a[4]));break;case\"L\":a=[\"C\"].concat(A(b.x,b.y,a[1],a[2]));break;case\"H\":a=[\"C\"].concat(A(b.x,b.y,a[1],b.y));break;case\"V\":a=[\"C\"].concat(A(b.x,b.y,b.x,a[1]));break;case\"Z\":a=[\"C\"].concat(A(b.x,b.y,b.X,b.Y))}return a}),k=function(a,b){if(a[b].length>7){a[b].shift();for(var c=a[b];c.length;)m[b]=\"A\",g&&(n[b]=\"A\"),a.splice(b++,0,[\"C\"].concat(c.splice(0,6)));a.splice(b,1),r=Q(e.length,g&&g.length||0)}},l=function(a,b,c,d,f){a&&b&&\"M\"==a[f][0]&&\"M\"!=b[f][0]&&(b.splice(f,0,[\"M\",d.x,d.y]),c.bx=0,c.by=0,c.x=a[f][1],c.y=a[f][2],r=Q(e.length,g&&g.length||0))},m=[],n=[],o=\"\",p=\"\",q=0,r=Q(e.length,g&&g.length||0);r>q;q++){e[q]&&(o=e[q][0]),\"C\"!=o&&(m[q]=o,q&&(p=m[q-1])),e[q]=j(e[q],h,p),\"A\"!=m[q]&&\"C\"==o&&(m[q]=\"C\"),k(e,q),g&&(g[q]&&(o=g[q][0]),\"C\"!=o&&(n[q]=o,q&&(p=n[q-1])),g[q]=j(g[q],i,p),\"A\"!=n[q]&&\"C\"==o&&(n[q]=\"C\"),k(g,q)),l(e,g,h,i,q),l(g,e,i,h,q);var s=e[q],t=g&&g[q],u=s.length,v=g&&t.length;h.x=s[u-2],h.y=s[u-1],h.bx=M(s[u-4])||h.x,h.by=M(s[u-3])||h.y,i.bx=g&&(M(t[v-4])||i.x),i.by=g&&(M(t[v-3])||i.y),i.x=g&&t[v-2],i.y=g&&t[v-1]}return g||(d.curve=f(e)),g?[e,g]:e}function F(a,b){if(!b)return a;var c,d,e,f,g,h,i;for(a=E(a),e=0,g=a.length;g>e;e++)for(i=a[e],f=1,h=i.length;h>f;f+=2)c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d;return a}function G(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push([\"C\",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}var H=b.prototype,I=a.is,J=a._.clone,K=\"hasOwnProperty\",L=/,?([a-z]),?/gi,M=parseFloat,N=Math,O=N.PI,P=N.min,Q=N.max,R=N.pow,S=N.abs,T=h(1),U=h(),V=h(0,1),W=a._unit2px,X={path:function(a){return a.attr(\"path\")},circle:function(a){var b=W(a);return x(b.cx,b.cy,b.r)},ellipse:function(a){var b=W(a);return x(b.cx||0,b.cy||0,b.rx,b.ry)},rect:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height,b.rx,b.ry)},image:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height)},line:function(a){return\"M\"+[a.attr(\"x1\")||0,a.attr(\"y1\")||0,a.attr(\"x2\"),a.attr(\"y2\")]},polyline:function(a){return\"M\"+a.attr(\"points\")},polygon:function(a){return\"M\"+a.attr(\"points\")+\"z\"},deflt:function(a){var b=a.node.getBBox();return w(b.x,b.y,b.width,b.height)}};a.path=c,a.path.getTotalLength=T,a.path.getPointAtLength=U,a.path.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return V(a,b).end;var d=V(a,c,1);return b?V(d,b).end:d},H.getTotalLength=function(){return this.node.getTotalLength?this.node.getTotalLength():void 0},H.getPointAtLength=function(a){return U(this.attr(\"d\"),a)},H.getSubpath=function(b,c){return a.path.getSubpath(this.attr(\"d\"),b,c)},a._.box=d,a.path.findDotsAtSegment=i,a.path.bezierBBox=j,a.path.isPointInsideBBox=k,a.path.isBBoxIntersect=l,a.path.intersection=r,a.path.intersectionNumber=s,a.path.isPointInside=u,a.path.getBBox=v,a.path.get=X,a.path.toRelative=y,a.path.toAbsolute=z,a.path.toCubic=E,a.path.map=F,a.path.toString=e,a.path.clone=f}),d.plugin(function(a){var d=Math.max,e=Math.min,f=function(a){if(this.items=[],this.bindings={},this.length=0,this.type=\"set\",a)for(var b=0,c=a.length;c>b;b++)a[b]&&(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},g=f.prototype;g.push=function(){for(var a,b,c=0,d=arguments.length;d>c;c++)a=arguments[c],a&&(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},g.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},g.forEach=function(a,b){for(var c=0,d=this.items.length;d>c;c++)if(a.call(b,this.items[c],c)===!1)return this;return this},g.animate=function(d,e,f,g){\"function\"!=typeof f||f.length||(g=f,f=c.linear),d instanceof a._.Animation&&(g=d.callback,f=d.easing,e=f.dur,d=d.attr);var h=arguments;if(a.is(d,\"array\")&&a.is(h[h.length-1],\"array\"))var i=!0;var j,k=function(){j?this.b=j:j=this.b},l=0,m=g&&function(){l++==this.length&&g.call(this)};return this.forEach(function(a,c){b.once(\"snap.animcreated.\"+a.id,k),i?h[c]&&a.animate.apply(a,h[c]):a.animate(d,e,f,m)})},g.remove=function(){for(;this.length;)this.pop().remove();return this},g.bind=function(a,b,c){var d={};if(\"function\"==typeof b)this.bindings[a]=b;else{var e=c||a;this.bindings[a]=function(a){d[e]=a,b.attr(d)}}return this},g.attr=function(a){var b={};for(var c in a)this.bindings[c]?this.bindings[c](a[c]):b[c]=a[c];for(var d=0,e=this.items.length;e>d;d++)this.items[d].attr(b);return this},g.clear=function(){for(;this.length;)this.pop()},g.splice=function(a,b){a=0>a?d(this.length+a,0):a,b=d(0,e(this.length-a,b));var c,g=[],h=[],i=[];for(c=2;c<arguments.length;c++)i.push(arguments[c]);for(c=0;b>c;c++)h.push(this[a+c]);for(;c<this.length-a;c++)g.push(this[a+c]);var j=i.length;for(c=0;c<j+g.length;c++)this.items[a+c]=this[a+c]=j>c?i[c]:g[c-j];for(c=this.items.length=this.length-=b-j;this[c];)delete this[c++];return new f(h)},g.exclude=function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]==a)return this.splice(b,1),!0;return!1},g.insertAfter=function(a){for(var b=this.items.length;b--;)this.items[b].insertAfter(a);return this},g.getBBox=function(){for(var a=[],b=[],c=[],f=[],g=this.items.length;g--;)if(!this.items[g].removed){var h=this.items[g].getBBox();a.push(h.x),b.push(h.y),c.push(h.x+h.width),f.push(h.y+h.height)}return a=e.apply(0,a),b=e.apply(0,b),c=d.apply(0,c),f=d.apply(0,f),{x:a,y:b,x2:c,y2:f,width:c-a,height:f-b,cx:a+(c-a)/2,cy:b+(f-b)/2}},g.clone=function(a){a=new f;for(var b=0,c=this.items.length;c>b;b++)a.push(this.items[b].clone());return a},g.toString=function(){return\"Snaps set\"},g.type=\"set\",a.set=function(){var a=new f;return arguments.length&&a.push.apply(a,Array.prototype.slice.call(arguments,0)),a}}),d.plugin(function(a,c){function d(a){var b=a[0];switch(b.toLowerCase()){case\"t\":return[b,0,0];case\"m\":return[b,1,0,0,1,0,0];case\"r\":return 4==a.length?[b,0,a[2],a[3] ]:[b,0];case\"s\":return 5==a.length?[b,1,1,a[3],a[4] ]:3==a.length?[b,1,1]:[b,1]}}function e(b,c,e){c=m(c).replace(/\\.{3}|\\u2026/g,b),b=a.parseTransformString(b)||[],c=a.parseTransformString(c)||[];for(var f,g,h,k,l=Math.max(b.length,c.length),n=[],o=[],p=0;l>p;p++){if(h=b[p]||d(c[p]),k=c[p]||d(h),h[0]!=k[0]||\"r\"==h[0].toLowerCase()&&(h[2]!=k[2]||h[3]!=k[3])||\"s\"==h[0].toLowerCase()&&(h[3]!=k[3]||h[4]!=k[4])){b=a._.transform2matrix(b,e()),c=a._.transform2matrix(c,e()),n=[[\"m\",b.a,b.b,b.c,b.d,b.e,b.f] ],o=[[\"m\",c.a,c.b,c.c,c.d,c.e,c.f] ];break}for(n[p]=[],o[p]=[],f=0,g=Math.max(h.length,k.length);g>f;f++)f in h&&(n[p][f]=h[f]),f in k&&(o[p][f]=k[f])}return{from:j(n),to:j(o),f:i(n)}}function f(a){return a}function g(a){return function(b){return+b.toFixed(3)+a}}function h(b){return a.rgb(b[0],b[1],b[2])}function i(a){var b,c,d,e,f,g,h=0,i=[];for(b=0,c=a.length;c>b;b++){for(f=\"[\",g=['\"'+a[b][0]+'\"'],d=1,e=a[b].length;e>d;d++)g[d]=\"val[\"+h++ +\"]\";\n",
"f+=g+\"]\",i[b]=f}return Function(\"val\",\"return Snap.path.toString.call([\"+i+\"])\")}function j(a){for(var b=[],c=0,d=a.length;d>c;c++)for(var e=1,f=a[c].length;f>e;e++)b.push(a[c][e]);return b}var k={},l=/[a-z]+$/i,m=String;k.stroke=k.fill=\"colour\",c.prototype.equal=function(a,c){return b(\"snap.util.equal\",this,a,c).firstDefined()},b.on(\"snap.util.equal\",function(b,c){var d,n,o=m(this.attr(b)||\"\"),p=this;if(o==+o&&c==+c)return{from:+o,to:+c,f:f};if(\"colour\"==k[b])return d=a.color(o),n=a.color(c),{from:[d.r,d.g,d.b,d.opacity],to:[n.r,n.g,n.b,n.opacity],f:h};if(\"transform\"==b||\"gradientTransform\"==b||\"patternTransform\"==b)return c instanceof a.Matrix&&(c=c.toTransformString()),a._.rgTransform.test(c)||(c=a._.svgTransform2string(c)),e(o,c,function(){return p.getBBox(1)});if(\"d\"==b||\"path\"==b)return d=a.path.toCubic(o,c),{from:j(d[0]),to:j(d[1]),f:i(d[0])};if(\"points\"==b)return d=m(o).split(a._.separator),n=m(c).split(a._.separator),{from:d,to:n,f:function(a){return a}};aUnit=o.match(l);var q=m(c).match(l);return aUnit&&aUnit==q?{from:parseFloat(o),to:parseFloat(c),f:g(aUnit)}:{from:this.asPX(b),to:this.asPX(b,c),f:f}})}),d.plugin(function(a,c,d,e){for(var f=c.prototype,g=\"hasOwnProperty\",h=(\"createTouch\"in e.doc),i=[\"click\",\"dblclick\",\"mousedown\",\"mousemove\",\"mouseout\",\"mouseover\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\"],j={mousedown:\"touchstart\",mousemove:\"touchmove\",mouseup:\"touchend\"},k=(function(a,b){var c=\"y\"==a?\"scrollTop\":\"scrollLeft\",d=b&&b.node?b.node.ownerDocument:e.doc;return d[c in d.documentElement?\"documentElement\":\"body\"][c]}),l=function(){this.returnValue=!1},m=function(){return this.originalEvent.preventDefault()},n=function(){this.cancelBubble=!0},o=function(){return this.originalEvent.stopPropagation()},p=function(){return e.doc.addEventListener?function(a,b,c,d){var e=h&&j[b]?j[b]:b,f=function(e){var f=k(\"y\",d),i=k(\"x\",d);if(h&&j[g](b))for(var l=0,n=e.targetTouches&&e.targetTouches.length;n>l;l++)if(e.targetTouches[l].target==a||a.contains(e.targetTouches[l].target)){var p=e;e=e.targetTouches[l],e.originalEvent=p,e.preventDefault=m,e.stopPropagation=o;break}var q=e.clientX+i,r=e.clientY+f;return c.call(d,e,q,r)};return b!==e&&a.addEventListener(b,f,!1),a.addEventListener(e,f,!1),function(){return b!==e&&a.removeEventListener(b,f,!1),a.removeEventListener(e,f,!1),!0}}:e.doc.attachEvent?function(a,b,c,d){var e=function(a){a=a||d.node.ownerDocument.window.event;var b=k(\"y\",d),e=k(\"x\",d),f=a.clientX+e,g=a.clientY+b;return a.preventDefault=a.preventDefault||l,a.stopPropagation=a.stopPropagation||n,c.call(d,a,f,g)};a.attachEvent(\"on\"+b,e);var f=function(){return a.detachEvent(\"on\"+b,e),!0};return f}:void 0}(),q=[],r=function(a){for(var c,d=a.clientX,e=a.clientY,f=k(\"y\"),g=k(\"x\"),i=q.length;i--;){if(c=q[i],h){for(var j,l=a.touches&&a.touches.length;l--;)if(j=a.touches[l],j.identifier==c.el._drag.id||c.el.node.contains(j.target)){d=j.clientX,e=j.clientY,(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();{var m=c.el.node;m.nextSibling,m.parentNode,m.style.display}d+=g,e+=f,b(\"snap.drag.move.\"+c.el.id,c.move_scope||c.el,d-c.el._drag.x,e-c.el._drag.y,d,e,a)}},s=function(c){a.unmousemove(r).unmouseup(s);for(var d,e=q.length;e--;)d=q[e],d.el._drag={},b(\"snap.drag.end.\"+d.el.id,d.end_scope||d.start_scope||d.move_scope||d.el,c);q=[]},t=i.length;t--;)!function(b){a[b]=f[b]=function(c,d){return a.is(c,\"function\")&&(this.events=this.events||[],this.events.push({name:b,f:c,unbind:p(this.node||document,b,c,d||this)})),this},a[\"un\"+b]=f[\"un\"+b]=function(a){for(var c=this.events||[],d=c.length;d--;)if(c[d].name==b&&(c[d].f==a||!a))return c[d].unbind(),c.splice(d,1),!c.length&&delete this.events,this;return this}}(i[t]);f.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},f.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var u=[];f.drag=function(c,d,e,f,g,h){function i(i,j,k){(i.originalEvent||i).preventDefault(),this._drag.x=j,this._drag.y=k,this._drag.id=i.identifier,!q.length&&a.mousemove(r).mouseup(s),q.push({el:this,move_scope:f,start_scope:g,end_scope:h}),d&&b.on(\"snap.drag.start.\"+this.id,d),c&&b.on(\"snap.drag.move.\"+this.id,c),e&&b.on(\"snap.drag.end.\"+this.id,e),b(\"snap.drag.start.\"+this.id,g||f||this,j,k,i)}if(!arguments.length){var j;return this.drag(function(a,b){this.attr({transform:j+(j?\"T\":\"t\")+[a,b]})},function(){j=this.transform().local})}return this._drag={},u.push({el:this,start:i}),this.mousedown(i),this},f.undrag=function(){for(var c=u.length;c--;)u[c].el==this&&(this.unmousedown(u[c].start),u.splice(c,1),b.unbind(\"snap.drag.*.\"+this.id));return!u.length&&a.unmousemove(r).unmouseup(s),this}}),d.plugin(function(a,c,d){var e=(c.prototype,d.prototype),f=/^\\s*url\\((.+)\\)/,g=String,h=a._.$;a.filter={},e.filter=function(b){var d=this;\"svg\"!=d.type&&(d=d.paper);var e=a.parse(g(b)),f=a._.id(),i=(d.node.offsetWidth,d.node.offsetHeight,h(\"filter\"));return h(i,{id:f,filterUnits:\"userSpaceOnUse\"}),i.appendChild(e.node),d.defs.appendChild(i),new c(i)},b.on(\"snap.util.getattr.filter\",function(){b.stop();var c=h(this.node,\"filter\");if(c){var d=g(c).match(f);return d&&a.select(d[1])}}),b.on(\"snap.util.attr.filter\",function(d){if(d instanceof c&&\"filter\"==d.type){b.stop();var e=d.node.id;e||(h(d.node,{id:d.id}),e=d.id),h(this.node,{filter:a.url(e)})}d&&\"none\"!=d||(b.stop(),this.node.removeAttribute(\"filter\"))}),a.filter.blur=function(b,c){null==b&&(b=2);var d=null==c?b:[b,c];return a.format('<feGaussianBlur stdDeviation=\"{def}\"/>',{def:d})},a.filter.blur.toString=function(){return this()},a.filter.shadow=function(b,c,d,e,f){return\"string\"==typeof d&&(e=d,f=e,d=4),\"string\"!=typeof e&&(f=e,e=\"#000\"),e=e||\"#000\",null==d&&(d=4),null==f&&(f=1),null==b&&(b=0,c=2),null==c&&(c=b),e=a.color(e),a.format('<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"{blur}\"/><feOffset dx=\"{dx}\" dy=\"{dy}\" result=\"offsetblur\"/><feFlood flood-color=\"{color}\"/><feComposite in2=\"offsetblur\" operator=\"in\"/><feComponentTransfer><feFuncA type=\"linear\" slope=\"{opacity}\"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in=\"SourceGraphic\"/></feMerge>',{color:e,dx:b,dy:c,blur:d,opacity:f})},a.filter.shadow.toString=function(){return this()},a.filter.grayscale=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0\"/>',{a:.2126+.7874*(1-b),b:.7152-.7152*(1-b),c:.0722-.0722*(1-b),d:.2126-.2126*(1-b),e:.7152+.2848*(1-b),f:.0722-.0722*(1-b),g:.2126-.2126*(1-b),h:.0722+.9278*(1-b)})},a.filter.grayscale.toString=function(){return this()},a.filter.sepia=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0\"/>',{a:.393+.607*(1-b),b:.769-.769*(1-b),c:.189-.189*(1-b),d:.349-.349*(1-b),e:.686+.314*(1-b),f:.168-.168*(1-b),g:.272-.272*(1-b),h:.534-.534*(1-b),i:.131+.869*(1-b)})},a.filter.sepia.toString=function(){return this()},a.filter.saturate=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"saturate\" values=\"{amount}\"/>',{amount:1-b})},a.filter.saturate.toString=function(){return this()},a.filter.hueRotate=function(b){return b=b||0,a.format('<feColorMatrix type=\"hueRotate\" values=\"{angle}\"/>',{angle:b})},a.filter.hueRotate.toString=function(){return this()},a.filter.invert=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncG type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncB type=\"table\" tableValues=\"{amount} {amount2}\"/></feComponentTransfer>',{amount:b,amount2:1-b})},a.filter.invert.toString=function(){return this()},a.filter.brightness=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\"/><feFuncG type=\"linear\" slope=\"{amount}\"/><feFuncB type=\"linear\" slope=\"{amount}\"/></feComponentTransfer>',{amount:b})},a.filter.brightness.toString=function(){return this()},a.filter.contrast=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncG type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncB type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/></feComponentTransfer>',{amount:b,amount2:.5-b/2})},a.filter.contrast.toString=function(){return this()}}),d});\n",
"]]></script>\n",
"<script><![CDATA[\n",
"(function (glob, factory) {\n",
" if (typeof define === 'function' && define.amd) {\n",
" define('ProfileSVG', ['ProfileSVG/snap.svg'], function (Snap) {\n",
" return factory(Snap);\n",
" });\n",
" } else {\n",
" glob.ProfileSVG = factory(glob.Snap);\n",
" }\n",
"}(this, function (Snap) {\n",
" 'use strict';\n",
"\n",
" var supportsPassive = false;\n",
" try {\n",
" var opts = Object.defineProperty({}, 'passive', {\n",
" get: function () {\n",
" return supportsPassive = true;\n",
" }\n",
" });\n",
" window.addEventListener(\"testPassive\", null, opts);\n",
" window.removeEventListener(\"testPassive\", null, opts);\n",
" } catch (e) { // not supported\n",
" }\n",
"\n",
" var stopper = function (e) {\n",
" e.preventDefault();\n",
" e.stopPropagation();\n",
" };\n",
"\n",
" var throttle = function (delay, filter, callback) {\n",
" var previousCall = new Date().getTime();\n",
" return function (e) {\n",
" var time = new Date().getTime();\n",
" if ((time - previousCall) >= delay) {\n",
" previousCall = time;\n",
" callback.apply(null, arguments);\n",
" }\n",
" filter(e);\n",
" };\n",
" };\n",
"\n",
"\n",
" var ProfileSVG = {};\n",
"\n",
" var NS_SVG = 'http://www.w3.org/2000/svg';\n",
" var DEFAULT_TRANSITION_TIME = 300;\n",
" var ZOOM_STEP = 1.4;\n",
" var VIEWPORT_SCALE = 0.9;\n",
" var VIEWPORT_MARGIN_X = 20;\n",
"\n",
" var formatText = function (fig, text, availableWidth) {\n",
" if (availableWidth < 3 * fig.charWidthM) {\n",
" return '';\n",
" }\n",
" var w = availableWidth;\n",
" var m = fig.charWidthM;\n",
" var n = fig.charWidthN;\n",
" var m2 = m * m;\n",
" var n2 = n * n;\n",
" var nc = 0.5 / n2 * (\n",
" (n - m) * Math.sqrt(n2 + (4 * w - 2 * m) * n + m2) + n2 + 2 * (w - m) * n + m2);\n",
" var nchars = Math.ceil(nc);\n",
" if (text.length <= nchars) {\n",
" return text;\n",
" }\n",
" return text.slice(0, nchars - 2) + '..';\n",
" };\n",
"\n",
" var unescapeHtml = function (str) {\n",
" return str\n",
" .replace(/&lt;/g, '<')\n",
" .replace(/&gt;/g, '>')\n",
" .replace(/&amp;/g, '&');\n",
" };\n",
"\n",
" var isDarkColor = function (c) {\n",
" var m = c.match(/^rgba?\\(\\s*(\\d+)[\\s,]+(\\d+)[\\s,]+(\\d+)/);\n",
" if (m) {\n",
" return m[1] * 299 + m[2] * 587 + m[3] * 114 < 255 * 650;\n",
" }\n",
" m = c.match(/^#([\\dA-F]{2})([\\dA-F]{2})([\\dA-F]{2})/i);\n",
" if (m) {\n",
" var r = parseInt(m[1], 16);\n",
" var g = parseInt(m[2], 16);\n",
" var b = parseInt(m[3], 16);\n",
" return r * 299 + g * 587 + b * 114 < 255 * 650;\n",
" }\n",
" return true;\n",
" };\n",
"\n",
" ProfileSVG.moveAndZoom = function (targetFocusX, targetScaleX, fig, deltaT) {\n",
" if (typeof deltaT === 'undefined') {\n",
" deltaT = DEFAULT_TRANSITION_TIME;\n",
" }\n",
"\n",
" var targetFocusY = fig.cy;\n",
" var targetScaleY = 1;\n",
"\n",
" // TODO: dynamically update the transformation while dragging\n",
" var mat = fig.viewport.node.transform.baseVal.consolidate().matrix;\n",
"\n",
" var oldScaleX = mat.a;\n",
" var oldScaleY = mat.d;\n",
" var oldE = mat.e;\n",
" var oldF = mat.f;\n",
"\n",
" var targetE = fig.cx - targetScaleX * targetFocusX;\n",
" var targetF = fig.cy - targetScaleY * targetFocusY;\n",
"\n",
" fig.focusX = targetFocusX;\n",
" fig.focusY = targetFocusY;\n",
" fig.scaleX = targetScaleX;\n",
" fig.scaleY = targetScaleY;\n",
"\n",
" var rects = undefined;\n",
" var pathrects = undefined;\n",
" if (fig.roundradius > 0) {\n",
" rects = fig.viewport.selectAll('rect');\n",
" } else {\n",
" pathrects = fig.viewport.selectAll('path');\n",
" }\n",
"\n",
" var scaleViewport = function (step) {\n",
" var scaleX = oldScaleX + (targetScaleX - oldScaleX) * step;\n",
" var scaleY = oldScaleY + (targetScaleY - oldScaleY) * step;\n",
"\n",
" var rMatrix = fig.viewport.node.transform.baseVal.consolidate().matrix;\n",
" rMatrix.a = scaleX;\n",
" rMatrix.d = scaleY;\n",
" rMatrix.e = oldE + (targetE - oldE) * step; // TransX\n",
" rMatrix.f = oldF + (targetF - oldF) * step; // TransY\n",
"\n",
" if (rects) {\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" rect.setAttribute('rx', Math.max(0.0, fig.roundradius / scaleX));\n",
" rect.setAttribute('ry', Math.max(0.0, fig.roundradius / scaleY));\n",
" });\n",
" }\n",
" };\n",
"\n",
" var finish = function () {\n",
" scaleViewport(1);\n",
" var scaleXt = 1.0 / targetScaleX;\n",
" var scaleYt = 1.0 / targetScaleY;\n",
" var updateText = function (text, x, y, w, shortinfo) {\n",
" var tMatrix = text.transform.baseVal.getItem(0).matrix;\n",
" tMatrix.a = scaleXt;\n",
" tMatrix.d = scaleYt;\n",
" tMatrix.e = (1.0 - scaleXt) * x;\n",
" tMatrix.f = (1.0 - scaleYt) * y;\n",
"\n",
" text.firstChild.nodeValue = formatText(fig, shortinfo, w / scaleXt);\n",
" text.style.display = 'inherit';\n",
" };\n",
" if (rects) {\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" var x = rect.x.baseVal.value;\n",
" var y = rect.y.baseVal.value;\n",
" var w = rect.width.baseVal.value;\n",
" var shortinfo = rect.getAttribute('data-shortinfo');\n",
" updateText(rect.nextElementSibling, x, y, w, shortinfo);\n",
" });\n",
" }\n",
" if (pathrects) {\n",
" pathrects.forEach(function (p) {\n",
" var path = p.node;\n",
" // The API compatibility of path segments is problematic.\n",
" var d = path.getAttribute('d');\n",
" var values = d.match(/^M\\s*([\\d.]+)[\\s,]+(-?[\\d.]+)[^h]+h\\s*([\\d.]+)/);\n",
" var x = Number(values[1]);\n",
" var y = Number(values[2]);\n",
" var w = Number(values[3]);\n",
" var shortinfo = path.getAttribute('data-shortinfo');\n",
" updateText(path.nextElementSibling, x, y, w, shortinfo);\n",
" });\n",
" }\n",
" };\n",
"\n",
" if (deltaT != 0) {\n",
" if (!fig.notext) {\n",
" fig.viewport.selectAll('text').forEach(function (text) {\n",
" text.node.style.display = 'none';\n",
" });\n",
" }\n",
" Snap.animate(0, 1, scaleViewport, deltaT, null, fig.notext ? null : finish);\n",
" } else {\n",
" if (!fig.notext) {\n",
" finish();\n",
" }\n",
" }\n",
"\n",
" };\n",
"\n",
" ProfileSVG.reset = function (fig) {\n",
" var w = fig.width - VIEWPORT_MARGIN_X;\n",
" var targetScaleX = fig.width / w * VIEWPORT_SCALE;\n",
" ProfileSVG.moveAndZoom(fig.cx, targetScaleX, fig);\n",
" };\n",
"\n",
" ProfileSVG.initialize = function (figId) {\n",
"\n",
" var svg = Snap.select('#' + figId);\n",
" var fig = {};\n",
" fig.id = figId;\n",
"\n",
" var bg = svg.select('#' + figId + '-bg');\n",
" var bbox = bg.getBBox();\n",
" fig.width = bbox.width;\n",
" fig.height = bbox.height;\n",
" fig.cx = fig.width / 2;\n",
" fig.cy = fig.height / 2;\n",
"\n",
" fig.viewport = svg.select('#' + figId + '-viewport');\n",
"\n",
" fig.xstep = fig.viewport.node.getAttribute('data-xstep');\n",
" fig.tunit = fig.viewport.node.getAttribute('data-tunit');\n",
" fig.delay = fig.viewport.node.getAttribute('data-delay');\n",
"\n",
" var texts = fig.viewport.selectAll('text');\n",
" fig.notext = false;\n",
" if (texts[0]) {\n",
" fig.notext = getComputedStyle(texts[0].node).strokeOpacity == 0.0;\n",
" texts.forEach(function (text) {\n",
" text.node.style.display = 'none';\n",
" });\n",
" }\n",
" texts = null;\n",
"\n",
" fig.roundradius = 0.0;\n",
" var rect = fig.viewport.select('rect');\n",
" if (rect) {\n",
" fig.roundradius = rect.node.rx.baseVal.value;\n",
" }\n",
"\n",
" fig.scaleX = 1.0;\n",
" fig.scaleY = 1.0; // prepare for the future\n",
" fig.focusX = fig.cx; // center x in the raw (scaleX=1) coordinate space\n",
" fig.focusY = fig.cy; // center y in the raw (scaleY=1) coordinate space\n",
"\n",
" var textBg = document.createElementNS(NS_SVG, 'rect');\n",
" var detail = document.createElementNS(NS_SVG, 'text');\n",
" var time = document.createElementNS(NS_SVG, 'text');\n",
" detail.style.visibility = 'hidden';\n",
" detail.textContent = 'MOw';\n",
" fig.viewport.node.parentNode.appendChild(textBg);\n",
" fig.viewport.node.parentNode.appendChild(detail);\n",
" fig.viewport.node.parentNode.appendChild(time);\n",
" var mBBox = detail.getBBox();\n",
" fig.charWidthM = mBBox.width / 3;\n",
" detail.textContent = 'night';\n",
" var nBBox = detail.getBBox();\n",
" fig.charWidthN = nBBox.width / 5;\n",
" fig.textHeight = nBBox.height;\n",
" detail.style.display = 'none';\n",
" detail.style.visibility = 'visible';\n",
"\n",
" detail.setAttribute('id', figId + '-details');\n",
" detail.setAttribute('x', fig.charWidthM);\n",
" detail.setAttribute('y', fig.height - fig.textHeight * 0.75);\n",
"\n",
" time.setAttribute('x', fig.width - fig.charWidthM * 10);\n",
" time.setAttribute('y', fig.height - fig.textHeight * 0.75);\n",
"\n",
" textBg.setAttribute('x', 0);\n",
" textBg.setAttribute('y', fig.height - fig.textHeight * 2);\n",
" textBg.setAttribute('width', fig.width);\n",
" textBg.setAttribute('height', fig.textHeight * 2);\n",
" var textBgFill = getComputedStyle(textBg).fill;\n",
" if (textBgFill == \"rgba(0, 0, 0, 0)\" || textBgFill == \"transparent\") {\n",
" var isDark = isDarkColor(getComputedStyle(detail).fill);\n",
" textBg.style.fill = isDark ? 'white' : 'black';\n",
" }\n",
" textBg.style.display = 'none';\n",
"\n",
" ProfileSVG.reset(fig);\n",
"\n",
" var rectDblClickHandler = function (e) {\n",
" var bbox = e.target.getBBox();\n",
" var cx = bbox.x + bbox.width / 2;\n",
" var targetScaleX = fig.width / bbox.width * VIEWPORT_SCALE;\n",
" ProfileSVG.moveAndZoom(cx, targetScaleX, fig);\n",
" };\n",
"\n",
" var rectMouseOverHandler = function (e) {\n",
" var rect = e.target;\n",
" var text = rect.nextElementSibling;\n",
" var details = document.getElementById(fig.id + '-details');\n",
" text.style.strokeWidth = '1';\n",
" var sinfo = rect.getAttribute('data-shortinfo');\n",
" var dir = rect.getAttribute('data-dinfo');\n",
" var i = sinfo.indexOf(' in ');\n",
" var func = sinfo.slice(0, i + 4);\n",
" var file = sinfo.slice(i + 4);\n",
" var time = details.nextElementSibling;\n",
" details.textContent = 'Function: ' + func + dir + file;\n",
" details.style.display = 'inherit';\n",
" if (fig.delay) {\n",
" var count = Math.round(rect.width.baseVal.value / fig.xstep);\n",
" var t = count * (fig.tunit === 's' ? fig.delay :\n",
" fig.tunit === 'ms' ? fig.delay * 1e3 :\n",
" fig.tunit === 'us' || fig.tunit === 'μs' ? fig.delay * 1e6 : 1);\n",
" var tp = Math.round(t * 1000) / 1000;\n",
" time.textContent = 'Time: ' + tp + ' ' + fig.tunit;\n",
" time.style.display = 'inherit';\n",
" }\n",
" details.previousElementSibling.style.display = 'inherit';\n",
" };\n",
" var rectMouseOutHandler = function (e) {\n",
" var rect = e.target;\n",
" var text = rect.nextElementSibling;\n",
" var details = document.getElementById(fig.id + '-details');\n",
" text.style.strokeWidth = '0';\n",
" details.style.display = 'none';\n",
" details.previousElementSibling.style.display = 'none';\n",
" details.nextElementSibling.style.display = 'none';\n",
" };\n",
"\n",
" var rects = fig.viewport.selectAll(fig.roundradius > 0 ? 'rect' : 'path');\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" var text = rect.nextElementSibling;\n",
" rect.setAttribute('data-shortinfo', unescapeHtml(text.textContent));\n",
" var dir = unescapeHtml(rect.getAttribute('data-dinfo'));\n",
" rect.setAttribute('data-dinfo', dir);\n",
" rect.addEventListener('dblclick', rectDblClickHandler, false);\n",
" rect.addEventListener('mouseover', rectMouseOverHandler, false);\n",
" rect.addEventListener('mouseout', rectMouseOutHandler, false);\n",
" var transform = svg.node.createSVGTransform();\n",
" text.transform.baseVal.initialize(transform); // matrix(1, 0, 0, 1, 0, 0)\n",
" });\n",
" rects = null;\n",
"\n",
" bg.dblclick(function () {\n",
" ProfileSVG.reset(fig);\n",
" });\n",
"\n",
" var mouseWheelHandler = throttle(400, stopper, function (e) {\n",
" var delta = Math.round(e.deltaY * 100);\n",
" if (delta == 0) {\n",
" return;\n",
" }\n",
" var scale = delta < 0 ? ZOOM_STEP : 1 / ZOOM_STEP;\n",
"\n",
" var clientRect = svg.node.getBoundingClientRect();\n",
" var mx = e.clientX - clientRect.left;\n",
" //var my = e.clientY - clientRect.top;\n",
" var ctm = svg.node.getCTM();\n",
" var x = ctm ? (mx - ctm.e) / ctm.a : mx;\n",
" //var y = ctm ? (my - ctm.f) / ctm.d : my;\n",
" var px = (x - fig.cx) / fig.scaleX + fig.focusX;\n",
" var targetScaleX = Math.max(fig.scaleX * scale, 0.01);\n",
" var targetFocusX = fig.scaleX / targetScaleX * (fig.focusX - px) + px;\n",
" ProfileSVG.moveAndZoom(targetFocusX, targetScaleX, fig, 400);\n",
" });\n",
"\n",
" svg.node.addEventListener('wheel', mouseWheelHandler, supportsPassive ? {\n",
" passive: false\n",
" } : false);\n",
"\n",
" fig.viewport.drag();\n",
" };\n",
"\n",
" return ProfileSVG;\n",
"}));\n",
"\n",
"]]></script>\n",
"<script><![CDATA[\n",
"if (typeof require === 'function' && define.amd) {\n",
" require(['ProfileSVG'], function (ProfileSVG) {\n",
" ProfileSVG.initialize(\"fig-2137dd413381499ba382abc181804a16\");\n",
" });\n",
"} else {\n",
" ProfileSVG.initialize(\"fig-2137dd413381499ba382abc181804a16\");\n",
"}\n",
"]]></script>\n",
"</svg>\n",
"</body>\n",
"</html>\n"
],
"text/plain": [
"ProfileSVG.FGConfig(Node(FlameGraphs.NodeData(ip:0x0, 0x01, 1:212)), Dict{Symbol, Any}(), FlameGraphs.FlameColors(ColorTypes.RGB{FixedPointNumbers.N0f8}[RGB{N0f8}(0.882,0.698,1.0), RGB{N0f8}(0.435,0.863,0.569), RGB{N0f8}(0.0,0.71,0.545), RGB{N0f8}(0.173,0.639,1.0)], RGB{N0f8}(1.0,1.0,1.0), RGB{N0f8}(0.0,0.0,0.0), ColorTypes.RGB{FixedPointNumbers.N0f8}[RGB{N0f8}(0.953,0.0,0.302), RGB{N0f8}(0.894,0.0,0.255), RGB{N0f8}(0.831,0.129,0.216), RGB{N0f8}(0.773,0.192,0.184)], ColorTypes.RGB{FixedPointNumbers.N0f8}[RGB{N0f8}(1.0,0.627,0.0), RGB{N0f8}(1.0,0.643,0.0), RGB{N0f8}(0.965,0.651,0.039), RGB{N0f8}(0.894,0.655,0.11)]), :fcolor, :fcolor, 1.0, false, 50, 2000, 960.0, 0.0, 2.0, \"inherit\", 12.0, false, :none, 0.001)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"A = a\n",
"@profview qrhous!(A) \\ y"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "fb2484bd-fd33-4b42-bc14-1006c4d9811d",
"metadata": {},
"outputs": [],
"source": [
"include(\"housQR.jl\")\n",
"using .housQR"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "eb827167-7fa3-4106-9bac-71a3c237ad5b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x = [1.3333333333333313, -0.3333333333333316]\n"
]
},
{
"data": {
"text/plain": [
"3-element Vector{Float64}:\n",
" 0.6666666666666674\n",
" 2.6666666666666674\n",
" 4.666666666666667"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"AAA = [1. 2; 3 4; 5 6]\n",
"q_r = qrfact(AAA)\n",
"\n",
"b = [1., 2, 5]\n",
"x = q_r \\ b\n",
"@show x\n",
"q_r.Q * q_r.R * x"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "41d9dca0-6880-4133-8dc3-c35d5c0c9a49",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"size(v) = (100,)\n",
"size(x) = (10000,)\n",
"size(A.A) = (100, 10000)\n",
"size(A.d) = (10000,)\n",
"m = 10000\n"
]
},
{
"ename": "LoadError",
"evalue": "BoundsError: attempt to access 100-element Vector{Float64} at index [10000]",
"output_type": "error",
"traceback": [
"BoundsError: attempt to access 100-element Vector{Float64} at index [10000]",
"",
"Stacktrace:",
" [1] getindex",
" @ ./essentials.jl:13 [inlined]",
" [2] maybeview(A::Vector{Float64}, args::Int64)",
" @ Base ./views.jl:149",
" [3] \\(A::QRhous{Float64}, b::Vector{Float64})",
" @ Main.housQR ~/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/housQR.jl:125",
" [4] top-level scope",
" @ ./timing.jl:273 [inlined]",
" [5] top-level scope",
" @ ./In[3]:0"
]
}
],
"source": [
"asd = qrfact(A);\n",
"\n",
"@time asd \\ y;"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "ee126d8a-ef8e-4cd9-b63c-6fb8696e9766",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0.005245 seconds (2.92 k allocations: 22.947 MiB, 46.95% gc time)\n"
]
}
],
"source": [
"asd = qrfact(A);\n",
"\n",
"@time asd \\ y;"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "13fd94ac-339b-4a9b-8532-10b4b05860bb",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<svg version=\"1.1\" width=\"960\" height=\"466\" viewBox=\"0 0 960 466\"\n",
" xmlns=\"http://www.w3.org/2000/svg\" id=\"fig-af5d7392c4f2484ab313da4526e25d97\">\n",
"<defs>\n",
" <clipPath id=\"fig-af5d7392c4f2484ab313da4526e25d97-clip\">\n",
" <rect x=\"0\" y=\"0\" width=\"960\" height=\"466\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<style type=\"text/css\">\n",
" #fig-af5d7392c4f2484ab313da4526e25d97 text {\n",
" pointer-events: none;\n",
" font-family: inherit;\n",
" font-size: 12px;\n",
" fill: #000000;\n",
" }\n",
" text#fig-af5d7392c4f2484ab313da4526e25d97-caption {\n",
" font-size: 16.8px;\n",
" fill: #000000;\n",
" text-anchor: middle;\n",
" }\n",
" #fig-af5d7392c4f2484ab313da4526e25d97-bg {\n",
" fill: #FFFFFF;\n",
" }\n",
" #fig-af5d7392c4f2484ab313da4526e25d97-viewport rect, #fig-af5d7392c4f2484ab313da4526e25d97-viewport path {\n",
" vector-effect: non-scaling-stroke;\n",
" fill-opacity: 1;\n",
" }\n",
" #fig-af5d7392c4f2484ab313da4526e25d97-viewport text {\n",
" stroke: #000000;\n",
" stroke-width: 0;\n",
" stroke-opacity: 0.35;\n",
" }\n",
" #fig-af5d7392c4f2484ab313da4526e25d97-viewport rect:hover, #fig-af5d7392c4f2484ab313da4526e25d97-viewport path:hover {\n",
" fill-opacity: 0.75;\n",
" stroke: #000000;\n",
" stroke-width: 0.5;\n",
" }\n",
" #fig-af5d7392c4f2484ab313da4526e25d97-viewport + rect {\n",
" fill: #FFFFFF;\n",
" opacity: 0.8;\n",
" }\n",
" text#fig-af5d7392c4f2484ab313da4526e25d97-details{\n",
" fill: #000000;\n",
" }\n",
"</style>\n",
"<g id=\"fig-af5d7392c4f2484ab313da4526e25d97-frame\" clip-path=\"url(#fig-af5d7392c4f2484ab313da4526e25d97-clip)\">\n",
"<rect id=\"fig-af5d7392c4f2484ab313da4526e25d97-bg\" x=\"0\" y=\"0\" width=\"960\" height=\"466\"/>\n",
"<text id=\"fig-af5d7392c4f2484ab313da4526e25d97-caption\" x=\"480\" y=\"24\">Profile results</text>\n",
"<g id=\"fig-af5d7392c4f2484ab313da4526e25d97-viewport\" transform=\"scale(1)\">\n",
"<rect x=\"10\" y=\"413\" width=\"939.4\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"\"/>\n",
"<text x=\"10\" dx=\"4\" y=\"424.25\"> in :-1</text>\n",
"<rect x=\"17.7\" y=\"398\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"409.25\">#15 in task.jl:514</text>\n",
"<rect x=\"17.7\" y=\"383\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"/Users/elvis/.julia/packages/IJulia/Vo51o/src/\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"394.25\">eventloop in eventloop.jl:8</text>\n",
"<rect x=\"17.7\" y=\"368\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"379.25\">invokelatest in essentials.jl:816</text>\n",
"<rect x=\"17.7\" y=\"353\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"364.25\">#invokelatest#2 in essentials.jl:819</text>\n",
"<rect x=\"17.7\" y=\"338\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#D42137\" data-dinfo=\"/Users/elvis/.julia/packages/IJulia/Vo51o/src/\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"349.25\">execute_request in execute_request.jl:67</text>\n",
"<rect x=\"17.7\" y=\"323\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"/Users/elvis/.julia/packages/SoftGlobalScope/u4UzH/src/\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"334.25\">softscope_include_string in SoftGlobalScope.jl:65</text>\n",
"<rect x=\"17.7\" y=\"308\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"319.25\">include_string in loading.jl:1903</text>\n",
"<rect x=\"17.7\" y=\"293\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"304.25\">eval in boot.jl:370</text>\n",
"<rect x=\"17.7\" y=\"278\" width=\"23.1\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"289.25\">\\ in housQR.jl:114</text>\n",
"<rect x=\"17.7\" y=\"263\" width=\"23.1\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"274.25\">qyhoust in housQR.jl:62</text>\n",
"<rect x=\"17.7\" y=\"248\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"259.25\">getindex in abstractarray.jl:1296</text>\n",
"<rect x=\"17.7\" y=\"233\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"244.25\">_getindex in multidimensional.jl:861</text>\n",
"<rect x=\"17.7\" y=\"218\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"229.25\">_unsafe_getindex in multidimensional.jl:875</text>\n",
"<rect x=\"17.7\" y=\"203\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"214.25\">_unsafe_getindex! in multidimensional.jl:884</text>\n",
"<rect x=\"17.7\" y=\"188\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"199.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"17.7\" y=\"173\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"184.25\">macro expansion in multidimensional.jl:889</text>\n",
"<rect x=\"17.7\" y=\"158\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"169.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"25.4\" y=\"248\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"259.25\">- in arraymath.jl:8</text>\n",
"<rect x=\"25.4\" y=\"233\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"244.25\">broadcast_preserving_zero_d in broadcast.jl:862</text>\n",
"<rect x=\"25.4\" y=\"218\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"229.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"25.4\" y=\"203\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"214.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"25.4\" y=\"188\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"199.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"25.4\" y=\"173\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"184.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"25.4\" y=\"158\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"169.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"25.4\" y=\"143\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"154.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"25.4\" y=\"128\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"139.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"33.1\" y=\"248\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"259.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"33.1\" y=\"233\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"244.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"33.1\" y=\"218\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"229.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"33.1\" y=\"203\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"214.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"33.1\" y=\"188\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"199.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"33.1\" y=\"173\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"184.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"33.1\" y=\"158\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"169.25\">getindex in broadcast.jl:610</text>\n",
"<rect x=\"33.1\" y=\"143\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"154.25\">_broadcast_getindex in broadcast.jl:655</text>\n",
"<rect x=\"33.1\" y=\"128\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"139.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"33.1\" y=\"113\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"124.25\">_broadcast_getindex in broadcast.jl:649</text>\n",
"<rect x=\"33.1\" y=\"98\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"109.25\">getindex in essentials.jl:13</text>\n",
"<rect x=\"40.8\" y=\"278\" width=\"700.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"289.25\">qrfact in housQR.jl:40</text>\n",
"<rect x=\"40.8\" y=\"263\" width=\"184.8\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"274.25\">setindex! in abstractarray.jl:1399</text>\n",
"<rect x=\"40.8\" y=\"248\" width=\"184.8\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"259.25\">_setindex! in multidimensional.jl:916</text>\n",
"<rect x=\"40.8\" y=\"233\" width=\"184.8\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"244.25\">_unsafe_setindex! in multidimensional.jl:927</text>\n",
"<rect x=\"40.8\" y=\"218\" width=\"169.4\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"229.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"40.8\" y=\"203\" width=\"77\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"214.25\">macro expansion in multidimensional.jl:930</text>\n",
"<rect x=\"117.8\" y=\"203\" width=\"84.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"117.8\" dx=\"4\" y=\"214.25\">macro expansion in multidimensional.jl:932</text>\n",
"<rect x=\"117.8\" y=\"188\" width=\"84.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"117.8\" dx=\"4\" y=\"199.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"202.5\" y=\"203\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"202.5\" dx=\"4\" y=\"214.25\">macro expansion in multidimensional.jl:933</text>\n",
"<rect x=\"202.5\" y=\"188\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"202.5\" dx=\"4\" y=\"199.25\">iterate in array.jl:893</text>\n",
"<rect x=\"210.2\" y=\"218\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"210.2\" dx=\"4\" y=\"229.25\">macro expansion in cartesian.jl:66</text>\n",
"<rect x=\"210.2\" y=\"203\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"210.2\" dx=\"4\" y=\"214.25\">iterate in range.jl:891</text>\n",
"<rect x=\"210.2\" y=\"188\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"210.2\" dx=\"4\" y=\"199.25\">== in promotion.jl:499</text>\n",
"<rect x=\"225.6\" y=\"263\" width=\"292.6\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"274.25\">- in arraymath.jl:8</text>\n",
"<rect x=\"225.6\" y=\"248\" width=\"292.6\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"259.25\">broadcast_preserving_zero_d in broadcast.jl:862</text>\n",
"<rect x=\"225.6\" y=\"233\" width=\"292.6\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"244.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"225.6\" y=\"218\" width=\"292.6\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"229.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"225.6\" y=\"203\" width=\"231\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"214.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"225.6\" y=\"188\" width=\"231\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"199.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"225.6\" y=\"173\" width=\"231\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"184.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"225.6\" y=\"158\" width=\"231\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"169.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"225.6\" y=\"143\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"154.25\">getindex in broadcast.jl:610</text>\n",
"<rect x=\"225.6\" y=\"128\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"139.25\">_broadcast_getindex in broadcast.jl:655</text>\n",
"<rect x=\"225.6\" y=\"113\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"124.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"225.6\" y=\"98\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"109.25\">_broadcast_getindex in broadcast.jl:649</text>\n",
"<rect x=\"225.6\" y=\"83\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"94.25\">getindex in abstractarray.jl:1296</text>\n",
"<rect x=\"225.6\" y=\"68\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"79.25\">_getindex in abstractarray.jl:1346</text>\n",
"<rect x=\"225.6\" y=\"53\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"64.25\">getindex in subarray.jl:286</text>\n",
"<rect x=\"225.6\" y=\"38\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"49.25\">getindex in essentials.jl:14</text>\n",
"<rect x=\"318\" y=\"143\" width=\"138.6\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"318\" dx=\"4\" y=\"154.25\">setindex! in multidimensional.jl:670</text>\n",
"<rect x=\"318\" y=\"128\" width=\"138.6\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"318\" dx=\"4\" y=\"139.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"456.6\" y=\"203\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"214.25\">similar in broadcast.jl:211</text>\n",
"<rect x=\"456.6\" y=\"188\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"199.25\">similar in broadcast.jl:212</text>\n",
"<rect x=\"456.6\" y=\"173\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"184.25\">similar in abstractarray.jl:883</text>\n",
"<rect x=\"456.6\" y=\"158\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"169.25\">similar in abstractarray.jl:884</text>\n",
"<rect x=\"456.6\" y=\"143\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"154.25\">Array in boot.jl:494</text>\n",
"<rect x=\"456.6\" y=\"128\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"139.25\">Array in boot.jl:487</text>\n",
"<rect x=\"456.6\" y=\"113\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#FFA000\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"124.25\">Array in boot.jl:479</text>\n",
"<rect x=\"518.2\" y=\"263\" width=\"223.3\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"/private/tmp/julia-20231114-6658-1ywjgwz/julia-1.9.4/usr/share/julia/stdlib/v1.9/LinearAlgebra/src/\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"274.25\">* in matmul.jl:1162</text>\n",
"<rect x=\"518.2\" y=\"248\" width=\"223.3\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"259.25\">broadcast in broadcast.jl:811</text>\n",
"<rect x=\"518.2\" y=\"233\" width=\"223.3\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"244.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"518.2\" y=\"218\" width=\"223.3\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"229.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"518.2\" y=\"203\" width=\"207.9\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"214.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"518.2\" y=\"188\" width=\"207.9\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"199.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"518.2\" y=\"173\" width=\"207.9\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"184.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"518.2\" y=\"158\" width=\"207.9\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"169.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"518.2\" y=\"143\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"154.25\">getindex in broadcast.jl:610</text>\n",
"<rect x=\"518.2\" y=\"128\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"139.25\">_broadcast_getindex in broadcast.jl:655</text>\n",
"<rect x=\"518.2\" y=\"113\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"124.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"518.2\" y=\"98\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"109.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"518.2\" y=\"83\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"94.25\">_broadcast_getindex in broadcast.jl:649</text>\n",
"<rect x=\"518.2\" y=\"68\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"79.25\">getindex in multidimensional.jl:668</text>\n",
"<rect x=\"518.2\" y=\"53\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"64.25\">getindex in essentials.jl:13</text>\n",
"<rect x=\"618.3\" y=\"143\" width=\"107.8\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"618.3\" dx=\"4\" y=\"154.25\">setindex! in multidimensional.jl:670</text>\n",
"<rect x=\"618.3\" y=\"128\" width=\"107.8\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"618.3\" dx=\"4\" y=\"139.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"726.1\" y=\"203\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"214.25\">similar in broadcast.jl:211</text>\n",
"<rect x=\"726.1\" y=\"188\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"199.25\">similar in broadcast.jl:212</text>\n",
"<rect x=\"726.1\" y=\"173\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"184.25\">similar in abstractarray.jl:883</text>\n",
"<rect x=\"726.1\" y=\"158\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"169.25\">similar in abstractarray.jl:884</text>\n",
"<rect x=\"726.1\" y=\"143\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"154.25\">Array in boot.jl:494</text>\n",
"<rect x=\"726.1\" y=\"128\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"139.25\">Array in boot.jl:487</text>\n",
"<rect x=\"726.1\" y=\"113\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#FFA000\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"124.25\">Array in boot.jl:479</text>\n",
"</g></g>\n",
"<script><![CDATA[\n",
"// Snap.svg 0.3.0\n",
"// \n",
"// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n",
"// \n",
"// Licensed under the Apache License, Version 2.0 (the \"License\");\n",
"// you may not use this file except in compliance with the License.\n",
"// You may obtain a copy of the License at\n",
"// \n",
"// http://www.apache.org/licenses/LICENSE-2.0\n",
"// \n",
"// Unless required by applicable law or agreed to in writing, software\n",
"// distributed under the License is distributed on an \"AS IS\" BASIS,\n",
"// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
"// See the License for the specific language governing permissions and\n",
"// limitations under the License.\n",
"// \n",
"// build: 2014-06-03\n",
"!function(a){var b,c,d=\"0.4.2\",e=\"hasOwnProperty\",f=/[\\.\\/]/,g=/\\s*,\\s*/,h=\"*\",i=function(a,b){return a-b},j={n:{}},k=function(){for(var a=0,b=this.length;b>a;a++)if(\"undefined\"!=typeof this[a])return this[a]},l=function(){for(var a=this.length;--a;)if(\"undefined\"!=typeof this[a])return this[a]},m=function(a,d){a=String(a);var e,f=c,g=Array.prototype.slice.call(arguments,2),h=m.listeners(a),j=0,n=[],o={},p=[],q=b;p.firstDefined=k,p.lastDefined=l,b=a,c=0;for(var r=0,s=h.length;s>r;r++)\"zIndex\"in h[r]&&(n.push(h[r].zIndex),h[r].zIndex<0&&(o[h[r].zIndex]=h[r]));for(n.sort(i);n[j]<0;)if(e=o[n[j++] ],p.push(e.apply(d,g)),c)return c=f,p;for(r=0;s>r;r++)if(e=h[r],\"zIndex\"in e)if(e.zIndex==n[j]){if(p.push(e.apply(d,g)),c)break;do if(j++,e=o[n[j] ],e&&p.push(e.apply(d,g)),c)break;while(e)}else o[e.zIndex]=e;else if(p.push(e.apply(d,g)),c)break;return c=f,b=q,p};m._events=j,m.listeners=function(a){var b,c,d,e,g,i,k,l,m=a.split(f),n=j,o=[n],p=[];for(e=0,g=m.length;g>e;e++){for(l=[],i=0,k=o.length;k>i;i++)for(n=o[i].n,c=[n[m[e] ],n[h] ],d=2;d--;)b=c[d],b&&(l.push(b),p=p.concat(b.f||[]));o=l}return p},m.on=function(a,b){if(a=String(a),\"function\"!=typeof b)return function(){};for(var c=a.split(g),d=0,e=c.length;e>d;d++)!function(a){for(var c,d=a.split(f),e=j,g=0,h=d.length;h>g;g++)e=e.n,e=e.hasOwnProperty(d[g])&&e[d[g] ]||(e[d[g] ]={n:{}});for(e.f=e.f||[],g=0,h=e.f.length;h>g;g++)if(e.f[g]==b){c=!0;break}!c&&e.f.push(b)}(c[d]);return function(a){+a==+a&&(b.zIndex=+a)}},m.f=function(a){var b=[].slice.call(arguments,1);return function(){m.apply(null,[a,null].concat(b).concat([].slice.call(arguments,0)))}},m.stop=function(){c=1},m.nt=function(a){return a?new RegExp(\"(?:\\\\.|\\\\/|^)\"+a+\"(?:\\\\.|\\\\/|$)\").test(b):b},m.nts=function(){return b.split(f)},m.off=m.unbind=function(a,b){if(!a)return void(m._events=j={n:{}});var c=a.split(g);if(c.length>1)for(var d=0,i=c.length;i>d;d++)m.off(c[d],b);else{c=a.split(f);var k,l,n,d,i,o,p,q=[j];for(d=0,i=c.length;i>d;d++)for(o=0;o<q.length;o+=n.length-2){if(n=[o,1],k=q[o].n,c[d]!=h)k[c[d] ]&&n.push(k[c[d] ]);else for(l in k)k[e](l)&&n.push(k[l]);q.splice.apply(q,n)}for(d=0,i=q.length;i>d;d++)for(k=q[d];k.n;){if(b){if(k.f){for(o=0,p=k.f.length;p>o;o++)if(k.f[o]==b){k.f.splice(o,1);break}!k.f.length&&delete k.f}for(l in k.n)if(k.n[e](l)&&k.n[l].f){var r=k.n[l].f;for(o=0,p=r.length;p>o;o++)if(r[o]==b){r.splice(o,1);break}!r.length&&delete k.n[l].f}}else{delete k.f;for(l in k.n)k.n[e](l)&&k.n[l].f&&delete k.n[l].f}k=k.n}}},m.once=function(a,b){var c=function(){return m.unbind(a,c),b.apply(this,arguments)};return m.on(a,c)},m.version=d,m.toString=function(){return\"You are running Eve \"+d},\"undefined\"!=typeof module&&module.exports?module.exports=m:\"function\"==typeof define&&define.amd?define(\"eve\",[],function(){return m}):a.eve=m}(this),function(a,b){\"function\"==typeof define&&define.amd?define('ProfileSVG/snap.svg', [\"eve\"],function(c){return b(a,c)}):b(a,a.eve)}(this,function(a,b){var c=function(b){var c={},d=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(a){setTimeout(a,16)},e=Array.isArray||function(a){return a instanceof Array||\"[object Array]\"==Object.prototype.toString.call(a)},f=0,g=\"M\"+(+new Date).toString(36),h=function(){return g+(f++).toString(36)},i=Date.now||function(){return+new Date},j=function(a){var b=this;if(null==a)return b.s;var c=b.s-a;b.b+=b.dur*c,b.B+=b.dur*c,b.s=a},k=function(a){var b=this;return null==a?b.spd:void(b.spd=a)},l=function(a){var b=this;return null==a?b.dur:(b.s=b.s*a/b.dur,void(b.dur=a))},m=function(){var a=this;delete c[a.id],a.update(),b(\"mina.stop.\"+a.id,a)},n=function(){var a=this;a.pdif||(delete c[a.id],a.update(),a.pdif=a.get()-a.b)},o=function(){var a=this;a.pdif&&(a.b=a.get()-a.pdif,delete a.pdif,c[a.id]=a)},p=function(){var a,b=this;if(e(b.start)){a=[];for(var c=0,d=b.start.length;d>c;c++)a[c]=+b.start[c]+(b.end[c]-b.start[c])*b.easing(b.s)}else a=+b.start+(b.end-b.start)*b.easing(b.s);b.set(a)},q=function(){var a=0;for(var e in c)if(c.hasOwnProperty(e)){var f=c[e],g=f.get();a++,f.s=(g-f.b)/(f.dur/f.spd),f.s>=1&&(delete c[e],f.s=1,a--,function(a){setTimeout(function(){b(\"mina.finish.\"+a.id,a)})}(f)),f.update()}a&&d(q)},r=function(a,b,e,f,g,i,s){var t={id:h(),start:a,end:b,b:e,s:0,dur:f-e,spd:1,get:g,set:i,easing:s||r.linear,status:j,speed:k,duration:l,stop:m,pause:n,resume:o,update:p};c[t.id]=t;var u,v=0;for(u in c)if(c.hasOwnProperty(u)&&(v++,2==v))break;return 1==v&&d(q),t};return r.time=i,r.getById=function(a){return c[a]||null},r.linear=function(a){return a},r.easeout=function(a){return Math.pow(a,1.7)},r.easein=function(a){return Math.pow(a,.48)},r.easeinout=function(a){if(1==a)return 1;if(0==a)return 0;var b=.48-a/1.04,c=Math.sqrt(.1734+b*b),d=c-b,e=Math.pow(Math.abs(d),1/3)*(0>d?-1:1),f=-c-b,g=Math.pow(Math.abs(f),1/3)*(0>f?-1:1),h=e+g+.5;return 3*(1-h)*h*h+h*h*h},r.backin=function(a){if(1==a)return 1;var b=1.70158;return a*a*((b+1)*a-b)},r.backout=function(a){if(0==a)return 0;a-=1;var b=1.70158;return a*a*((b+1)*a+b)+1},r.elastic=function(a){return a==!!a?a:Math.pow(2,-10*a)*Math.sin(2*(a-.075)*Math.PI/.3)+1},r.bounce=function(a){var b,c=7.5625,d=2.75;return 1/d>a?b=c*a*a:2/d>a?(a-=1.5/d,b=c*a*a+.75):2.5/d>a?(a-=2.25/d,b=c*a*a+.9375):(a-=2.625/d,b=c*a*a+.984375),b},a.mina=r,r}(\"undefined\"==typeof b?function(){}:b),d=function(){function d(a,b){if(a){if(a.tagName)return y(a);if(f(a,\"array\")&&d.set)return d.set.apply(d,a);if(a instanceof u)return a;if(null==b)return a=z.doc.querySelector(a),y(a)}return a=null==a?\"100%\":a,b=null==b?\"100%\":b,new x(a,b)}function e(a,b){if(b){if(\"#text\"==a&&(a=z.doc.createTextNode(b.text||\"\")),\"string\"==typeof a&&(a=e(a)),\"string\"==typeof b)return\"xlink:\"==b.substring(0,6)?a.getAttributeNS(W,b.substring(6)):\"xml:\"==b.substring(0,4)?a.getAttributeNS(X,b.substring(4)):a.getAttribute(b);for(var c in b)if(b[A](c)){var d=B(b[c]);d?\"xlink:\"==c.substring(0,6)?a.setAttributeNS(W,c.substring(6),d):\"xml:\"==c.substring(0,4)?a.setAttributeNS(X,c.substring(4),d):a.setAttribute(c,d):a.removeAttribute(c)}}else a=z.doc.createElementNS(X,a);return a}function f(a,b){return b=B.prototype.toLowerCase.call(b),\"finite\"==b?isFinite(a):\"array\"==b&&(a instanceof Array||Array.isArray&&Array.isArray(a))?!0:\"null\"==b&&null===a||b==typeof a&&null!==a||\"object\"==b&&a===Object(a)||L.call(a).slice(8,-1).toLowerCase()==b}function h(a){if(\"function\"==typeof a||Object(a)!==a)return a;var b=new a.constructor;for(var c in a)a[A](c)&&(b[c]=h(a[c]));return b}function i(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return a.push(a.splice(c,1)[0])}function j(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join(\"␀\"),g=d.cache=d.cache||{},h=d.count=d.count||[];return g[A](f)?(i(h,f),c?c(g[f]):g[f]):(h.length>=1e3&&delete g[h.shift()],h.push(f),g[f]=a.apply(b,e),c?c(g[f]):g[f])}return d}function k(a,b,c,d,e,f){if(null==e){var g=a-c,h=b-d;return g||h?(180+180*E.atan2(-h,-g)/I+360)%360:0}return k(a,b,e,f)-k(c,d,e,f)}function l(a){return a%360*I/180}function m(a){return 180*a/I%360}function n(a){var b=[];return a=a.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g,function(a,c,d){return d=d.split(/\\s*,\\s*|\\s+/),\"rotate\"==c&&1==d.length&&d.push(0,0),\"scale\"==c&&(d.length>2?d=d.slice(0,2):2==d.length&&d.push(0,0),1==d.length&&d.push(d[0],0,0)),b.push(\"skewX\"==c?[\"m\",1,0,E.tan(l(d[0])),1,0,0]:\"skewY\"==c?[\"m\",1,E.tan(l(d[0])),0,1,0,0]:[c.charAt(0)].concat(d)),a}),b}function o(a,b){var c=eb(a),e=new d.Matrix;if(c)for(var f=0,g=c.length;g>f;f++){var h,i,j,k,l,m=c[f],n=m.length,o=B(m[0]).toLowerCase(),p=m[0]!=o,q=p?e.invert():0;\"t\"==o&&2==n?e.translate(m[1],0):\"t\"==o&&3==n?p?(h=q.x(0,0),i=q.y(0,0),j=q.x(m[1],m[2]),k=q.y(m[1],m[2]),e.translate(j-h,k-i)):e.translate(m[1],m[2]):\"r\"==o?2==n?(l=l||b,e.rotate(m[1],l.x+l.width/2,l.y+l.height/2)):4==n&&(p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.rotate(m[1],j,k)):e.rotate(m[1],m[2],m[3])):\"s\"==o?2==n||3==n?(l=l||b,e.scale(m[1],m[n-1],l.x+l.width/2,l.y+l.height/2)):4==n?p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.scale(m[1],m[1],j,k)):e.scale(m[1],m[1],m[2],m[3]):5==n&&(p?(j=q.x(m[3],m[4]),k=q.y(m[3],m[4]),e.scale(m[1],m[2],j,k)):e.scale(m[1],m[2],m[3],m[4])):\"m\"==o&&7==n&&e.add(m[1],m[2],m[3],m[4],m[5],m[6])}return e}function p(a,b){if(null==b){var c=!0;if(b=a.node.getAttribute(\"linearGradient\"==a.type||\"radialGradient\"==a.type?\"gradientTransform\":\"pattern\"==a.type?\"patternTransform\":\"transform\"),!b)return new d.Matrix;b=n(b)}else b=d._.rgTransform.test(b)?B(b).replace(/\\.{3}|\\u2026/g,a._.transform||J):n(b),f(b,\"array\")&&(b=d.path?d.path.toString.call(b):B(b)),a._.transform=b;var e=o(b,a.getBBox(1));return c?e:void(a.matrix=e)}function q(a){var b=a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||a.node.parentNode&&y(a.node.parentNode)||d.select(\"svg\")||d(0,0),c=b.select(\"defs\"),e=null==c?!1:c.node;return e||(e=w(\"defs\",b.node).node),e}function r(a){return a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||d.select(\"svg\")}function s(a,b,c){function d(a){if(null==a)return J;if(a==+a)return a;e(j,{width:a});try{return j.getBBox().width}catch(b){return 0}}function f(a){if(null==a)return J;if(a==+a)return a;e(j,{height:a});try{return j.getBBox().height}catch(b){return 0}}function g(d,e){null==b?i[d]=e(a.attr(d)||0):d==b&&(i=e(null==c?a.attr(d)||0:c))}var h=r(a).node,i={},j=h.querySelector(\".svg---mgr\");switch(j||(j=e(\"rect\"),e(j,{x:-9e9,y:-9e9,width:10,height:10,\"class\":\"svg---mgr\",fill:\"none\"}),h.appendChild(j)),a.type){case\"rect\":g(\"rx\",d),g(\"ry\",f);case\"image\":g(\"width\",d),g(\"height\",f);case\"text\":g(\"x\",d),g(\"y\",f);break;case\"circle\":g(\"cx\",d),g(\"cy\",f),g(\"r\",d);break;case\"ellipse\":g(\"cx\",d),g(\"cy\",f),g(\"rx\",d),g(\"ry\",f);break;case\"line\":g(\"x1\",d),g(\"x2\",d),g(\"y1\",f),g(\"y2\",f);break;case\"marker\":g(\"refX\",d),g(\"markerWidth\",d),g(\"refY\",f),g(\"markerHeight\",f);break;case\"radialGradient\":g(\"fx\",d),g(\"fy\",f);break;case\"tspan\":g(\"dx\",d),g(\"dy\",f);break;default:g(b,d)}return h.removeChild(j),i}function t(a){f(a,\"array\")||(a=Array.prototype.slice.call(arguments,0));for(var b=0,c=0,d=this.node;this[b];)delete this[b++];for(b=0;b<a.length;b++)\"set\"==a[b].type?a[b].forEach(function(a){d.appendChild(a.node)}):d.appendChild(a[b].node);var e=d.childNodes;for(b=0;b<e.length;b++)this[c++]=y(e[b]);return this}function u(a){if(a.snap in Y)return Y[a.snap];var b,c=this.id=V();try{b=a.ownerSVGElement}catch(d){}if(this.node=a,b&&(this.paper=new x(b)),this.type=a.tagName,this.anims={},this._={transform:[]},a.snap=c,Y[c]=this,\"g\"==this.type&&(this.add=t),this.type in{g:1,mask:1,pattern:1})for(var e in x.prototype)x.prototype[A](e)&&(this[e]=x.prototype[e])}function v(a){this.node=a}function w(a,b){var c=e(a);b.appendChild(c);var d=y(c);return d}function x(a,b){var c,d,f,g=x.prototype;if(a&&\"svg\"==a.tagName){if(a.snap in Y)return Y[a.snap];var h=a.ownerDocument;c=new u(a),d=a.getElementsByTagName(\"desc\")[0],f=a.getElementsByTagName(\"defs\")[0],d||(d=e(\"desc\"),d.appendChild(h.createTextNode(\"Created with Snap\")),c.node.appendChild(d)),f||(f=e(\"defs\"),c.node.appendChild(f)),c.defs=f;for(var i in g)g[A](i)&&(c[i]=g[i]);c.paper=c.root=c}else c=w(\"svg\",z.doc.body),e(c.node,{height:b,version:1.1,width:a,xmlns:X});return c}function y(a){return a?a instanceof u||a instanceof v?a:a.tagName&&\"svg\"==a.tagName.toLowerCase()?new x(a):a.tagName&&\"object\"==a.tagName.toLowerCase()&&\"image/svg+xml\"==a.type?new x(a.contentDocument.getElementsByTagName(\"svg\")[0]):new u(a):a}d.version=\"0.3.0\",d.toString=function(){return\"Snap v\"+this.version},d._={};var z={win:a,doc:a.document};d._.glob=z;var A=\"hasOwnProperty\",B=String,C=parseFloat,D=parseInt,E=Math,F=E.max,G=E.min,H=E.abs,I=(E.pow,E.PI),J=(E.round,\"\"),K=\" \",L=Object.prototype.toString,M=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i,N=\"\t\\n\\x0b\\f\\r    \\u2028\\u2029\",O=(d._.separator=new RegExp(\"[,\"+N+\"]+\"),new RegExp(\"[\"+N+\"]\",\"g\"),new RegExp(\"[\"+N+\"]*,[\"+N+\"]*\")),P={hs:1,rg:1},Q=new RegExp(\"([a-z])[\"+N+\",]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\"+N+\"]*,?[\"+N+\"]*)+)\",\"ig\"),R=new RegExp(\"([rstm])[\"+N+\",]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\"+N+\"]*,?[\"+N+\"]*)+)\",\"ig\"),S=new RegExp(\"(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[\"+N+\"]*,?[\"+N+\"]*\",\"ig\"),T=0,U=\"S\"+(+new Date).toString(36),V=function(){return U+(T++).toString(36)},W=\"http://www.w3.org/1999/xlink\",X=\"http://www.w3.org/2000/svg\",Y={},Z=d.url=function(a){return\"url('#\"+a+\"')\"};d._.$=e,d._.id=V,d.format=function(){var a=/\\{([^\\}]+)\\}/g,b=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,c=function(a,c,d){var e=d;return c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),\"function\"==typeof e&&f&&(e=e()))}),e=(null==e||e==d?a:e)+\"\"};return function(b,d){return B(b).replace(a,function(a,b){return c(a,b,d)})}}(),d._.clone=h,d._.cacher=j,d.rad=l,d.deg=m,d.angle=k,d.is=f,d.snapTo=function(a,b,c){if(c=f(c,\"finite\")?c:10,f(a,\"array\")){for(var d=a.length;d--;)if(H(a[d]-b)<=c)return a[d]}else{a=+a;var e=b%a;if(c>e)return b-e;if(e>a-c)return b-e+a}return b},d.getRGB=j(function(a){if(!a||(a=B(a)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb};if(\"none\"==a)return{r:-1,g:-1,b:-1,hex:\"none\",toString:bb};if(!(P[A](a.toLowerCase().substring(0,2))||\"#\"==a.charAt())&&(a=$(a)),!a)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb};var b,c,e,g,h,i,j=a.match(M);return j?(j[2]&&(e=D(j[2].substring(5),16),c=D(j[2].substring(3,5),16),b=D(j[2].substring(1,3),16)),j[3]&&(e=D((h=j[3].charAt(3))+h,16),c=D((h=j[3].charAt(2))+h,16),b=D((h=j[3].charAt(1))+h,16)),j[4]&&(i=j[4].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b*=2.55),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c*=2.55),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e*=2.55),\"rgba\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100)),j[5]?(i=j[5].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b/=100),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c/=100),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e/=100),(\"deg\"==i[0].slice(-3)||\"°\"==i[0].slice(-1))&&(b/=360),\"hsba\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100),d.hsb2rgb(b,c,e,g)):j[6]?(i=j[6].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b/=100),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c/=100),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e/=100),(\"deg\"==i[0].slice(-3)||\"°\"==i[0].slice(-1))&&(b/=360),\"hsla\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100),d.hsl2rgb(b,c,e,g)):(b=G(E.round(b),255),c=G(E.round(c),255),e=G(E.round(e),255),g=G(F(g,0),1),j={r:b,g:c,b:e,toString:bb},j.hex=\"#\"+(16777216|e|c<<8|b<<16).toString(16).slice(1),j.opacity=f(g,\"finite\")?g:1,j)):{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb}},d),d.hsb=j(function(a,b,c){return d.hsb2rgb(a,b,c).hex}),d.hsl=j(function(a,b,c){return d.hsl2rgb(a,b,c).hex}),d.rgb=j(function(a,b,c,d){if(f(d,\"finite\")){var e=E.round;return\"rgba(\"+[e(a),e(b),e(c),+d.toFixed(2)]+\")\"}return\"#\"+(16777216|c|b<<8|a<<16).toString(16).slice(1)});var $=function(a){var b=z.doc.getElementsByTagName(\"head\")[0]||z.doc.getElementsByTagName(\"svg\")[0],c=\"rgb(255, 0, 0)\";return($=j(function(a){if(\"red\"==a.toLowerCase())return c;b.style.color=c,b.style.color=a;var d=z.doc.defaultView.getComputedStyle(b,J).getPropertyValue(\"color\");return d==c?null:d}))(a)},_=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},ab=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},bb=function(){return 1==this.opacity||null==this.opacity?this.hex:\"rgba(\"+[this.r,this.g,this.b,this.opacity]+\")\"},cb=function(a,b,c){if(null==b&&f(a,\"object\")&&\"r\"in a&&\"g\"in a&&\"b\"in a&&(c=a.b,b=a.g,a=a.r),null==b&&f(a,string)){var e=d.getRGB(a);a=e.r,b=e.g,c=e.b}return(a>1||b>1||c>1)&&(a/=255,b/=255,c/=255),[a,b,c]},db=function(a,b,c,e){a=E.round(255*a),b=E.round(255*b),c=E.round(255*c);var g={r:a,g:b,b:c,opacity:f(e,\"finite\")?e:1,hex:d.rgb(a,b,c),toString:bb};return f(e,\"finite\")&&(g.opacity=e),g};d.color=function(a){var b;return f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"b\"in a?(b=d.hsb2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"l\"in a?(b=d.hsl2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):(f(a,\"string\")&&(a=d.getRGB(a)),f(a,\"object\")&&\"r\"in a&&\"g\"in a&&\"b\"in a&&!(\"error\"in a)?(b=d.rgb2hsl(a),a.h=b.h,a.s=b.s,a.l=b.l,b=d.rgb2hsb(a),a.v=b.b):(a={hex:\"none\"},a.r=a.g=a.b=a.h=a.s=a.v=a.l=-1,a.error=1)),a.toString=bb,a},d.hsb2rgb=function(a,b,c,d){f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"b\"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,g,h,i,j;return a=a%360/60,j=c*b,i=j*(1-H(a%2-1)),e=g=h=c-j,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.hsl2rgb=function(a,b,c,d){f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"l\"in a&&(c=a.l,b=a.s,a=a.h),(a>1||b>1||c>1)&&(a/=360,b/=100,c/=100),a*=360;var e,g,h,i,j;return a=a%360/60,j=2*b*(.5>c?c:1-c),i=j*(1-H(a%2-1)),e=g=h=c-j/2,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.rgb2hsb=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;return f=F(a,b,c),g=f-G(a,b,c),d=0==g?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=0==g?0:g/f,{h:d,s:e,b:f,toString:_}},d.rgb2hsl=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;return g=F(a,b,c),h=G(a,b,c),i=g-h,d=0==i?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=0==i?0:.5>f?i/(2*f):i/(2-2*f),{h:d,s:e,l:f,toString:ab}},d.parsePathString=function(a){if(!a)return null;var b=d.path(a);if(b.arr)return d.path.clone(b.arr);var c={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},e=[];return f(a,\"array\")&&f(a[0],\"array\")&&(e=d.path.clone(a)),e.length||B(a).replace(Q,function(a,b,d){var f=[],g=b.toLowerCase();if(d.replace(S,function(a,b){b&&f.push(+b)}),\"m\"==g&&f.length>2&&(e.push([b].concat(f.splice(0,2))),g=\"l\",b=\"m\"==b?\"l\":\"L\"),\"o\"==g&&1==f.length&&e.push([b,f[0] ]),\"r\"==g)e.push([b].concat(f));else for(;f.length>=c[g]&&(e.push([b].concat(f.splice(0,c[g]))),c[g]););}),e.toString=d.path.toString,b.arr=d.path.clone(e),e};var eb=d.parseTransformString=function(a){if(!a)return null;var b=[];return f(a,\"array\")&&f(a[0],\"array\")&&(b=d.path.clone(a)),b.length||B(a).replace(R,function(a,c,d){{var e=[];c.toLowerCase()}d.replace(S,function(a,b){b&&e.push(+b)}),b.push([c].concat(e))}),b.toString=d.path.toString,b};d._.svgTransform2string=n,d._.rgTransform=new RegExp(\"^[a-z][\"+N+\"]*-?\\\\.?\\\\d\",\"i\"),d._.transform2matrix=o,d._unit2px=s;z.doc.contains||z.doc.compareDocumentPosition?function(a,b){var c=9==a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a==d||!(!d||1!=d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b;)if(b=b.parentNode,b==a)return!0;return!1};d._.getSomeDefs=q,d._.getSomeSVG=r,d.select=function(a){return y(z.doc.querySelector(a))},d.selectAll=function(a){for(var b=z.doc.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},setInterval(function(){for(var a in Y)if(Y[A](a)){var b=Y[a],c=b.node;(\"svg\"!=b.type&&!c.ownerSVGElement||\"svg\"==b.type&&(!c.parentNode||\"ownerSVGElement\"in c.parentNode&&!c.ownerSVGElement))&&delete Y[a]}},1e4),function(a){function g(a){function b(a,b){var c=e(a.node,b);c=c&&c.match(g),c=c&&c[2],c&&\"#\"==c.charAt()&&(c=c.substring(1),c&&(i[c]=(i[c]||[]).concat(function(c){var d={};d[b]=Z(c),e(a.node,d)})))}function c(a){var b=e(a.node,\"xlink:href\");b&&\"#\"==b.charAt()&&(b=b.substring(1),b&&(i[b]=(i[b]||[]).concat(function(b){a.attr(\"xlink:href\",\"#\"+b)})))}for(var d,f=a.selectAll(\"*\"),g=/^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/,h=[],i={},j=0,k=f.length;k>j;j++){d=f[j],b(d,\"fill\"),b(d,\"stroke\"),b(d,\"filter\"),b(d,\"mask\"),b(d,\"clip-path\"),c(d);var l=e(d.node,\"id\");l&&(e(d.node,{id:d.id}),h.push({old:l,id:d.id}))}for(j=0,k=h.length;k>j;j++){var m=i[h[j].old];if(m)for(var n=0,o=m.length;o>n;n++)m[n](h[j].id)}}function h(a,b,c){return function(d){var e=d.slice(a,b);return 1==e.length&&(e=e[0]),c?c(e):e}}function i(a){return function(){var b=a?\"<\"+this.type:\"\",c=this.node.attributes,d=this.node.childNodes;if(a)for(var e=0,f=c.length;f>e;e++)b+=\" \"+c[e].name+'=\"'+c[e].value.replace(/\"/g,'\\\\\"')+'\"';if(d.length){for(a&&(b+=\">\"),e=0,f=d.length;f>e;e++)3==d[e].nodeType?b+=d[e].nodeValue:1==d[e].nodeType&&(b+=y(d[e]).toString());a&&(b+=\"</\"+this.type+\">\")}else a&&(b+=\"/>\");return b}}a.attr=function(a,c){{var d=this;d.node}if(!a)return d;if(f(a,\"string\")){if(!(arguments.length>1))return b(\"snap.util.getattr.\"+a,d).firstDefined();var e={};e[a]=c,a=e}for(var g in a)a[A](g)&&b(\"snap.util.attr.\"+g,d,a[g]);return d},a.getBBox=function(a){if(!d.Matrix||!d.path)return this.node.getBBox();var b=this,c=new d.Matrix;if(b.removed)return d._.box();for(;\"use\"==b.type;)if(a||(c=c.add(b.transform().localMatrix.translate(b.attr(\"x\")||0,b.attr(\"y\")||0))),b.original)b=b.original;else{var e=b.attr(\"xlink:href\");b=b.original=b.node.ownerDocument.getElementById(e.substring(e.indexOf(\"#\")+1))}var f=b._,g=d.path.get[b.type]||d.path.get.deflt;try{return a?(f.bboxwt=g?d.path.getBBox(b.realPath=g(b)):d._.box(b.node.getBBox()),d._.box(f.bboxwt)):(b.realPath=g(b),b.matrix=b.transform().localMatrix,f.bbox=d.path.getBBox(d.path.map(b.realPath,c.add(b.matrix))),d._.box(f.bbox))}catch(h){return d._.box()}};var j=function(){return this.string};a.transform=function(a){var b=this._;if(null==a){for(var c,f=this,g=new d.Matrix(this.node.getCTM()),h=p(this),i=[h],k=new d.Matrix,l=h.toTransformString(),m=B(h)==B(this.matrix)?B(b.transform):l;\"svg\"!=f.type&&(f=f.parent());)i.push(p(f));for(c=i.length;c--;)k.add(i[c]);return{string:m,globalMatrix:g,totalMatrix:k,localMatrix:h,diffMatrix:g.clone().add(h.invert()),global:g.toTransformString(),total:k.toTransformString(),local:l,toString:j}}return a instanceof d.Matrix?this.matrix=a:p(this,a),this.node&&(\"linearGradient\"==this.type||\"radialGradient\"==this.type?e(this.node,{gradientTransform:this.matrix}):\"pattern\"==this.type?e(this.node,{patternTransform:this.matrix}):e(this.node,{transform:this.matrix})),this},a.parent=function(){return y(this.node.parentNode)},a.append=a.add=function(a){if(a){if(\"set\"==a.type){var b=this;return a.forEach(function(a){b.add(a)}),this}a=y(a),this.node.appendChild(a.node),a.paper=this.paper}return this},a.appendTo=function(a){return a&&(a=y(a),a.append(this)),this},a.prepend=function(a){if(a){if(\"set\"==a.type){var b,c=this;return a.forEach(function(a){b?b.after(a):c.prepend(a),b=a}),this}a=y(a);var d=a.parent();this.node.insertBefore(a.node,this.node.firstChild),this.add&&this.add(),a.paper=this.paper,this.parent()&&this.parent().add(),d&&d.add()}return this},a.prependTo=function(a){return a=y(a),a.prepend(this),this},a.before=function(a){if(\"set\"==a.type){var b=this;return a.forEach(function(a){var c=a.parent();b.node.parentNode.insertBefore(a.node,b.node),c&&c.add()}),this.parent().add(),this}a=y(a);var c=a.parent();return this.node.parentNode.insertBefore(a.node,this.node),this.parent()&&this.parent().add(),c&&c.add(),a.paper=this.paper,this},a.after=function(a){a=y(a);var b=a.parent();return this.node.nextSibling?this.node.parentNode.insertBefore(a.node,this.node.nextSibling):this.node.parentNode.appendChild(a.node),this.parent()&&this.parent().add(),b&&b.add(),a.paper=this.paper,this},a.insertBefore=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.insertAfter=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node.nextSibling),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.remove=function(){var a=this.parent();return this.node.parentNode&&this.node.parentNode.removeChild(this.node),delete this.paper,this.removed=!0,a&&a.add(),this},a.select=function(a){return y(this.node.querySelector(a))},a.selectAll=function(a){for(var b=this.node.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},a.asPX=function(a,b){return null==b&&(b=this.attr(a)),+s(this,a,b)},a.use=function(){var a,b=this.node.id;return b||(b=this.id,e(this.node,{id:b})),a=\"linearGradient\"==this.type||\"radialGradient\"==this.type||\"pattern\"==this.type?w(this.type,this.node.parentNode):w(\"use\",this.node.parentNode),e(a.node,{\"xlink:href\":\"#\"+b}),a.original=this,a};var k=/\\S+/g;a.addClass=function(a){var b,c,d,e,f=(a||\"\").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(f.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c||i.push(d);e=i.join(\" \"),h!=e&&(g.className.baseVal=e)}return this},a.removeClass=function(a){var b,c,d,e,f=(a||\"\").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(i.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c&&i.splice(c,1);e=i.join(\" \"),h!=e&&(g.className.baseVal=e)}return this},a.hasClass=function(a){var b=this.node,c=b.className.baseVal,d=c.match(k)||[];return!!~d.indexOf(a)},a.toggleClass=function(a,b){if(null!=b)return b?this.addClass(a):this.removeClass(a);var c,d,e,f,g=(a||\"\").match(k)||[],h=this.node,i=h.className.baseVal,j=i.match(k)||[];for(c=0;e=g[c++];)d=j.indexOf(e),~d?j.splice(d,1):j.push(e);return f=j.join(\" \"),i!=f&&(h.className.baseVal=f),this},a.clone=function(){var a=y(this.node.cloneNode(!0));return e(a.node,\"id\")&&e(a.node,{id:a.id}),g(a),a.insertAfter(this),a},a.toDefs=function(){var a=q(this);return a.appendChild(this.node),this},a.pattern=a.toPattern=function(a,b,c,d){var g=w(\"pattern\",q(this));return null==a&&(a=this.getBBox()),f(a,\"object\")&&\"x\"in a&&(b=a.y,c=a.width,d=a.height,a=a.x),e(g.node,{x:a,y:b,width:c,height:d,patternUnits:\"userSpaceOnUse\",id:g.id,viewBox:[a,b,c,d].join(\" \")}),g.node.appendChild(this.node),g},a.marker=function(a,b,c,d,g,h){var i=w(\"marker\",q(this));return null==a&&(a=this.getBBox()),f(a,\"object\")&&\"x\"in a&&(b=a.y,c=a.width,d=a.height,g=a.refX||a.cx,h=a.refY||a.cy,a=a.x),e(i.node,{viewBox:[a,b,c,d].join(K),markerWidth:c,markerHeight:d,orient:\"auto\",refX:g||0,refY:h||0,id:i.id}),i.node.appendChild(this.node),i};var l=function(a,b,d,e){\"function\"!=typeof d||d.length||(e=d,d=c.linear),this.attr=a,this.dur=b,d&&(this.easing=d),e&&(this.callback=e)};d._.Animation=l,d.animation=function(a,b,c,d){return new l(a,b,c,d)},a.inAnim=function(){var a=this,b=[];for(var c in a.anims)a.anims[A](c)&&!function(a){b.push({anim:new l(a._attrs,a.dur,a.easing,a._callback),mina:a,curStatus:a.status(),status:function(b){return a.status(b)},stop:function(){a.stop()}})}(a.anims[c]);return b},d.animate=function(a,d,e,f,g,h){\"function\"!=typeof g||g.length||(h=g,g=c.linear);var i=c.time(),j=c(a,d,i,i+f,c.time,e,g);return h&&b.once(\"mina.finish.\"+j.id,h),j},a.stop=function(){for(var a=this.inAnim(),b=0,c=a.length;c>b;b++)a[b].stop();return this},a.animate=function(a,d,e,g){\"function\"!=typeof e||e.length||(g=e,e=c.linear),a instanceof l&&(g=a.callback,e=a.easing,d=e.dur,a=a.attr);var i,j,k,m,n=[],o=[],p={},q=this;for(var r in a)if(a[A](r)){q.equal?(m=q.equal(r,B(a[r])),i=m.from,j=m.to,k=m.f):(i=+q.attr(r),j=+a[r]);var s=f(i,\"array\")?i.length:1;p[r]=h(n.length,n.length+s,k),n=n.concat(i),o=o.concat(j)}var t=c.time(),u=c(n,o,t,t+d,c.time,function(a){var b={};for(var c in p)p[A](c)&&(b[c]=p[c](a));q.attr(b)},e);return q.anims[u.id]=u,u._attrs=a,u._callback=g,b(\"snap.animcreated.\"+q.id,u),b.once(\"mina.finish.\"+u.id,function(){delete q.anims[u.id],g&&g.call(q)}),b.once(\"mina.stop.\"+u.id,function(){delete q.anims[u.id]}),q};var m={};a.data=function(a,c){var e=m[this.id]=m[this.id]||{};if(0==arguments.length)return b(\"snap.data.get.\"+this.id,this,e,null),e;if(1==arguments.length){if(d.is(a,\"object\")){for(var f in a)a[A](f)&&this.data(f,a[f]);return this}return b(\"snap.data.get.\"+this.id,this,e[a],a),e[a]}return e[a]=c,b(\"snap.data.set.\"+this.id,this,c,a),this},a.removeData=function(a){return null==a?m[this.id]={}:m[this.id]&&delete m[this.id][a],this},a.outerSVG=a.toString=i(1),a.innerSVG=i()}(u.prototype),d.parse=function(a){var b=z.doc.createDocumentFragment(),c=!0,d=z.doc.createElement(\"div\");if(a=B(a),a.match(/^\\s*<\\s*svg(?:\\s|>)/)||(a=\"<svg>\"+a+\"</svg>\",c=!1),d.innerHTML=a,a=d.getElementsByTagName(\"svg\")[0])if(c)b=a;else for(;a.firstChild;)b.appendChild(a.firstChild);return d.innerHTML=J,new v(b)},v.prototype.select=u.prototype.select,v.prototype.selectAll=u.prototype.selectAll,d.fragment=function(){for(var a=Array.prototype.slice.call(arguments,0),b=z.doc.createDocumentFragment(),c=0,e=a.length;e>c;c++){var f=a[c];f.node&&f.node.nodeType&&b.appendChild(f.node),f.nodeType&&b.appendChild(f),\"string\"==typeof f&&b.appendChild(d.parse(f).node)}return new v(b)},d._.make=w,d._.wrap=y,x.prototype.el=function(a,b){var c=w(a,this.node);return b&&c.attr(b),c},b.on(\"snap.util.getattr\",function(){var a=b.nt();a=a.substring(a.lastIndexOf(\".\")+1);var c=a.replace(/[A-Z]/g,function(a){return\"-\"+a.toLowerCase()});return fb[A](c)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(c):e(this.node,a)});var fb={\"alignment-baseline\":0,\"baseline-shift\":0,clip:0,\"clip-path\":0,\"clip-rule\":0,color:0,\"color-interpolation\":0,\"color-interpolation-filters\":0,\"color-profile\":0,\"color-rendering\":0,cursor:0,direction:0,display:0,\"dominant-baseline\":0,\"enable-background\":0,fill:0,\"fill-opacity\":0,\"fill-rule\":0,filter:0,\"flood-color\":0,\"flood-opacity\":0,font:0,\"font-family\":0,\"font-size\":0,\"font-size-adjust\":0,\"font-stretch\":0,\"font-style\":0,\"font-variant\":0,\"font-weight\":0,\"glyph-orientation-horizontal\":0,\"glyph-orientation-vertical\":0,\"image-rendering\":0,kerning:0,\"letter-spacing\":0,\"lighting-color\":0,marker:0,\"marker-end\":0,\"marker-mid\":0,\"marker-start\":0,mask:0,opacity:0,overflow:0,\"pointer-events\":0,\"shape-rendering\":0,\"stop-color\":0,\"stop-opacity\":0,stroke:0,\"stroke-dasharray\":0,\"stroke-dashoffset\":0,\"stroke-linecap\":0,\"stroke-linejoin\":0,\"stroke-miterlimit\":0,\"stroke-opacity\":0,\"stroke-width\":0,\"text-anchor\":0,\"text-decoration\":0,\"text-rendering\":0,\"unicode-bidi\":0,visibility:0,\"word-spacing\":0,\"writing-mode\":0};b.on(\"snap.util.attr\",function(a){var c=b.nt(),d={};c=c.substring(c.lastIndexOf(\".\")+1),d[c]=a;var f=c.replace(/-(\\w)/gi,function(a,b){return b.toUpperCase()}),g=c.replace(/[A-Z]/g,function(a){return\"-\"+a.toLowerCase()});fb[A](g)?this.node.style[f]=null==a?J:a:e(this.node,d)}),function(){}(x.prototype),d.ajax=function(a,c,d,e){var g=new XMLHttpRequest,h=V();if(g){if(f(c,\"function\"))e=d,d=c,c=null;else if(f(c,\"object\")){var i=[];for(var j in c)c.hasOwnProperty(j)&&i.push(encodeURIComponent(j)+\"=\"+encodeURIComponent(c[j]));c=i.join(\"&\")}return g.open(c?\"POST\":\"GET\",a,!0),c&&(g.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\"),g.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\")),d&&(b.once(\"snap.ajax.\"+h+\".0\",d),b.once(\"snap.ajax.\"+h+\".200\",d),b.once(\"snap.ajax.\"+h+\".304\",d)),g.onreadystatechange=function(){4==g.readyState&&b(\"snap.ajax.\"+h+\".\"+g.status,e,g)},4==g.readyState?g:(g.send(c),g)}},d.load=function(a,b,c){d.ajax(a,function(a){var e=d.parse(a.responseText);c?b.call(c,e):b(e)})};var gb=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,h=e.clientLeft||d.clientLeft||0,i=b.top+(g.win.pageYOffset||e.scrollTop||d.scrollTop)-f,j=b.left+(g.win.pageXOffset||e.scrollLeft||d.scrollLeft)-h;return{y:i,x:j}};return d.getElementByPoint=function(a,b){var c=this,d=(c.canvas,z.doc.elementFromPoint(a,b));if(z.win.opera&&\"svg\"==d.tagName){var e=gb(d),f=d.createSVGRect();f.x=a-e.x,f.y=b-e.y,f.width=f.height=1;var g=d.getIntersectionList(f,null);g.length&&(d=g[g.length-1])}return d?y(d):null},d.plugin=function(a){a(d,u,x,z,v)},z.win.Snap=d,d}();return d.plugin(function(a){function b(a,b,d,e,f,g){return null==b&&\"[object SVGMatrix]\"==c.call(a)?(this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.e=a.e,void(this.f=a.f)):void(null!=a?(this.a=+a,this.b=+b,this.c=+d,this.d=+e,this.e=+f,this.f=+g):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0))}var c=Object.prototype.toString,d=String,e=Math,f=\"\";!function(c){function g(a){return a[0]*a[0]+a[1]*a[1]\n",
"}function h(a){var b=e.sqrt(g(a));a[0]&&(a[0]/=b),a[1]&&(a[1]/=b)}c.add=function(a,c,d,e,f,g){var h,i,j,k,l=[[],[],[] ],m=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1] ],n=[[a,d,f],[c,e,g],[0,0,1] ];for(a&&a instanceof b&&(n=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1] ]),h=0;3>h;h++)for(i=0;3>i;i++){for(k=0,j=0;3>j;j++)k+=m[h][j]*n[j][i];l[h][i]=k}return this.a=l[0][0],this.b=l[1][0],this.c=l[0][1],this.d=l[1][1],this.e=l[0][2],this.f=l[1][2],this},c.invert=function(){var a=this,c=a.a*a.d-a.b*a.c;return new b(a.d/c,-a.b/c,-a.c/c,a.a/c,(a.c*a.f-a.d*a.e)/c,(a.b*a.e-a.a*a.f)/c)},c.clone=function(){return new b(this.a,this.b,this.c,this.d,this.e,this.f)},c.translate=function(a,b){return this.add(1,0,0,1,a,b)},c.scale=function(a,b,c,d){return null==b&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d),this},c.rotate=function(b,c,d){b=a.rad(b),c=c||0,d=d||0;var f=+e.cos(b).toFixed(9),g=+e.sin(b).toFixed(9);return this.add(f,g,-g,f,c,d),this.add(1,0,0,1,-c,-d)},c.x=function(a,b){return a*this.a+b*this.c+this.e},c.y=function(a,b){return a*this.b+b*this.d+this.f},c.get=function(a){return+this[d.fromCharCode(97+a)].toFixed(4)},c.toString=function(){return\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\"},c.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},c.determinant=function(){return this.a*this.d-this.b*this.c},c.split=function(){var b={};b.dx=this.e,b.dy=this.f;var c=[[this.a,this.c],[this.b,this.d] ];b.scalex=e.sqrt(g(c[0])),h(c[0]),b.shear=c[0][0]*c[1][0]+c[0][1]*c[1][1],c[1]=[c[1][0]-c[0][0]*b.shear,c[1][1]-c[0][1]*b.shear],b.scaley=e.sqrt(g(c[1])),h(c[1]),b.shear/=b.scaley,this.determinant()<0&&(b.scalex=-b.scalex);var d=-c[0][1],f=c[1][1];return 0>f?(b.rotate=a.deg(e.acos(f)),0>d&&(b.rotate=360-b.rotate)):b.rotate=a.deg(e.asin(d)),b.isSimple=!(+b.shear.toFixed(9)||b.scalex.toFixed(9)!=b.scaley.toFixed(9)&&b.rotate),b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate,b.noRotation=!+b.shear.toFixed(9)&&!b.rotate,b},c.toTransformString=function(a){var b=a||this.split();return+b.shear.toFixed(9)?\"m\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]:(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?\"t\"+[+b.dx.toFixed(4),+b.dy.toFixed(4)]:f)+(1!=b.scalex||1!=b.scaley?\"s\"+[b.scalex,b.scaley,0,0]:f)+(b.rotate?\"r\"+[+b.rotate.toFixed(4),0,0]:f))}}(b.prototype),a.Matrix=b,a.matrix=function(a,c,d,e,f,g){return new b(a,c,d,e,f,g)}}),d.plugin(function(a,c,d,e,f){function g(d){return function(e){if(b.stop(),e instanceof f&&1==e.node.childNodes.length&&(\"radialGradient\"==e.node.firstChild.tagName||\"linearGradient\"==e.node.firstChild.tagName||\"pattern\"==e.node.firstChild.tagName)&&(e=e.node.firstChild,n(this).appendChild(e),e=l(e)),e instanceof c)if(\"radialGradient\"==e.type||\"linearGradient\"==e.type||\"pattern\"==e.type){e.node.id||p(e.node,{id:e.id});var g=q(e.node.id)}else g=e.attr(d);else if(g=a.color(e),g.error){var h=a(n(this).ownerSVGElement).gradient(e);h?(h.node.id||p(h.node,{id:h.id}),g=q(h.node.id)):g=e}else g=r(g);var i={};i[d]=g,p(this.node,i),this.node.style[d]=t}}function h(a){b.stop(),a==+a&&(a+=\"px\"),this.node.style.fontSize=a}function i(a){for(var b=[],c=a.childNodes,d=0,e=c.length;e>d;d++){var f=c[d];3==f.nodeType&&b.push(f.nodeValue),\"tspan\"==f.tagName&&b.push(1==f.childNodes.length&&3==f.firstChild.nodeType?f.firstChild.nodeValue:i(f))}return b}function j(){return b.stop(),this.node.style.fontSize}var k=a._.make,l=a._.wrap,m=a.is,n=a._.getSomeDefs,o=/^url\\(#?([^)]+)\\)$/,p=a._.$,q=a.url,r=String,s=a._.separator,t=\"\";b.on(\"snap.util.attr.mask\",function(a){if(a instanceof c||a instanceof f){if(b.stop(),a instanceof f&&1==a.node.childNodes.length&&(a=a.node.firstChild,n(this).appendChild(a),a=l(a)),\"mask\"==a.type)var d=a;else d=k(\"mask\",n(this)),d.node.appendChild(a.node);!d.node.id&&p(d.node,{id:d.id}),p(this.node,{mask:q(d.id)})}}),function(a){b.on(\"snap.util.attr.clip\",a),b.on(\"snap.util.attr.clip-path\",a),b.on(\"snap.util.attr.clipPath\",a)}(function(a){if(a instanceof c||a instanceof f){if(b.stop(),\"clipPath\"==a.type)var d=a;else d=k(\"clipPath\",n(this)),d.node.appendChild(a.node),!d.node.id&&p(d.node,{id:d.id});p(this.node,{\"clip-path\":q(d.id)})}}),b.on(\"snap.util.attr.fill\",g(\"fill\")),b.on(\"snap.util.attr.stroke\",g(\"stroke\"));var u=/^([lr])(?:\\(([^)]*)\\))?(.*)$/i;b.on(\"snap.util.grad.parse\",function(a){a=r(a);var b=a.match(u);if(!b)return null;var c=b[1],d=b[2],e=b[3];return d=d.split(/\\s*,\\s*/).map(function(a){return+a==a?+a:a}),1==d.length&&0==d[0]&&(d=[]),e=e.split(\"-\"),e=e.map(function(a){a=a.split(\":\");var b={color:a[0]};return a[1]&&(b.offset=parseFloat(a[1])),b}),{type:c,params:d,stops:e}}),b.on(\"snap.util.attr.d\",function(c){b.stop(),m(c,\"array\")&&m(c[0],\"array\")&&(c=a.path.toString.call(c)),c=r(c),c.match(/[ruo]/i)&&(c=a.path.toAbsolute(c)),p(this.node,{d:c})})(-1),b.on(\"snap.util.attr.#text\",function(a){b.stop(),a=r(a);for(var c=e.doc.createTextNode(a);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(c)})(-1),b.on(\"snap.util.attr.path\",function(a){b.stop(),this.attr({d:a})})(-1),b.on(\"snap.util.attr.class\",function(a){b.stop(),this.node.className.baseVal=a})(-1),b.on(\"snap.util.attr.viewBox\",function(a){var c;c=m(a,\"object\")&&\"x\"in a?[a.x,a.y,a.width,a.height].join(\" \"):m(a,\"array\")?a.join(\" \"):a,p(this.node,{viewBox:c}),b.stop()})(-1),b.on(\"snap.util.attr.transform\",function(a){this.transform(a),b.stop()})(-1),b.on(\"snap.util.attr.r\",function(a){\"rect\"==this.type&&(b.stop(),p(this.node,{rx:a,ry:a}))})(-1),b.on(\"snap.util.attr.textpath\",function(a){if(b.stop(),\"text\"==this.type){var d,e,f;if(!a&&this.textPath){for(e=this.textPath;e.node.firstChild;)this.node.appendChild(e.node.firstChild);return e.remove(),void delete this.textPath}if(m(a,\"string\")){var g=n(this),h=l(g.parentNode).path(a);g.appendChild(h.node),d=h.id,h.attr({id:d})}else a=l(a),a instanceof c&&(d=a.attr(\"id\"),d||(d=a.id,a.attr({id:d})));if(d)if(e=this.textPath,f=this.node,e)e.attr({\"xlink:href\":\"#\"+d});else{for(e=p(\"textPath\",{\"xlink:href\":\"#\"+d});f.firstChild;)e.appendChild(f.firstChild);f.appendChild(e),this.textPath=l(e)}}})(-1),b.on(\"snap.util.attr.text\",function(a){if(\"text\"==this.type){for(var c=this.node,d=function(a){var b=p(\"tspan\");if(m(a,\"array\"))for(var c=0;c<a.length;c++)b.appendChild(d(a[c]));else b.appendChild(e.doc.createTextNode(a));return b.normalize&&b.normalize(),b};c.firstChild;)c.removeChild(c.firstChild);for(var f=d(a);f.firstChild;)c.appendChild(f.firstChild)}b.stop()})(-1),b.on(\"snap.util.attr.fontSize\",h)(-1),b.on(\"snap.util.attr.font-size\",h)(-1),b.on(\"snap.util.getattr.transform\",function(){return b.stop(),this.transform()})(-1),b.on(\"snap.util.getattr.textpath\",function(){return b.stop(),this.textPath})(-1),function(){function c(c){return function(){b.stop();var d=e.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue(\"marker-\"+c);return\"none\"==d?d:a(e.doc.getElementById(d.match(o)[1]))}}function d(a){return function(c){b.stop();var d=\"marker\"+a.charAt(0).toUpperCase()+a.substring(1);if(\"\"==c||!c)return void(this.node.style[d]=\"none\");if(\"marker\"==c.type){var e=c.node.id;return e||p(c.node,{id:c.id}),void(this.node.style[d]=q(e))}}}b.on(\"snap.util.getattr.marker-end\",c(\"end\"))(-1),b.on(\"snap.util.getattr.markerEnd\",c(\"end\"))(-1),b.on(\"snap.util.getattr.marker-start\",c(\"start\"))(-1),b.on(\"snap.util.getattr.markerStart\",c(\"start\"))(-1),b.on(\"snap.util.getattr.marker-mid\",c(\"mid\"))(-1),b.on(\"snap.util.getattr.markerMid\",c(\"mid\"))(-1),b.on(\"snap.util.attr.marker-end\",d(\"end\"))(-1),b.on(\"snap.util.attr.markerEnd\",d(\"end\"))(-1),b.on(\"snap.util.attr.marker-start\",d(\"start\"))(-1),b.on(\"snap.util.attr.markerStart\",d(\"start\"))(-1),b.on(\"snap.util.attr.marker-mid\",d(\"mid\"))(-1),b.on(\"snap.util.attr.markerMid\",d(\"mid\"))(-1)}(),b.on(\"snap.util.getattr.r\",function(){return\"rect\"==this.type&&p(this.node,\"rx\")==p(this.node,\"ry\")?(b.stop(),p(this.node,\"rx\")):void 0})(-1),b.on(\"snap.util.getattr.text\",function(){if(\"text\"==this.type||\"tspan\"==this.type){b.stop();var a=i(this.node);return 1==a.length?a[0]:a}})(-1),b.on(\"snap.util.getattr.#text\",function(){return this.node.textContent})(-1),b.on(\"snap.util.getattr.viewBox\",function(){b.stop();var c=p(this.node,\"viewBox\");return c?(c=c.split(s),a._.box(+c[0],+c[1],+c[2],+c[3])):void 0})(-1),b.on(\"snap.util.getattr.points\",function(){var a=p(this.node,\"points\");return b.stop(),a?a.split(s):void 0})(-1),b.on(\"snap.util.getattr.path\",function(){var a=p(this.node,\"d\");return b.stop(),a})(-1),b.on(\"snap.util.getattr.class\",function(){return this.node.className.baseVal})(-1),b.on(\"snap.util.getattr.fontSize\",j)(-1),b.on(\"snap.util.getattr.font-size\",j)(-1)}),d.plugin(function(){function a(a){return a}function c(a){return function(b){return+b.toFixed(3)+a}}var d={\"+\":function(a,b){return a+b},\"-\":function(a,b){return a-b},\"/\":function(a,b){return a/b},\"*\":function(a,b){return a*b}},e=String,f=/[a-z]+$/i,g=/^\\s*([+\\-\\/*])\\s*=\\s*([\\d.eE+\\-]+)\\s*([^\\d\\s]+)?\\s*$/;b.on(\"snap.util.attr\",function(a){var c=e(a).match(g);if(c){var h=b.nt(),i=h.substring(h.lastIndexOf(\".\")+1),j=this.attr(i),k={};b.stop();var l=c[3]||\"\",m=j.match(f),n=d[c[1] ];if(m&&m==l?a=n(parseFloat(j),+c[2]):(j=this.asPX(i),a=n(this.asPX(i),this.asPX(i,c[2]+l))),isNaN(j)||isNaN(a))return;k[i]=a,this.attr(k)}})(-10),b.on(\"snap.util.equal\",function(h,i){var j=e(this.attr(h)||\"\"),k=e(i).match(g);if(k){b.stop();var l=k[3]||\"\",m=j.match(f),n=d[k[1] ];return m&&m==l?{from:parseFloat(j),to:n(parseFloat(j),+k[2]),f:c(m)}:(j=this.asPX(h),{from:j,to:n(j,this.asPX(h,k[2]+l)),f:a})}})(-10)}),d.plugin(function(a,c,d,e){var f=d.prototype,g=a.is;f.rect=function(a,b,c,d,e,f){var h;return null==f&&(f=e),g(a,\"object\")&&\"[object Object]\"==a?h=a:null!=a&&(h={x:a,y:b,width:c,height:d},null!=e&&(h.rx=e,h.ry=f)),this.el(\"rect\",h)},f.circle=function(a,b,c){var d;return g(a,\"object\")&&\"[object Object]\"==a?d=a:null!=a&&(d={cx:a,cy:b,r:c}),this.el(\"circle\",d)};var h=function(){function a(){this.parentNode.removeChild(this)}return function(b,c){var d=e.doc.createElement(\"img\"),f=e.doc.body;d.style.cssText=\"position:absolute;left:-9999em;top:-9999em\",d.onload=function(){c.call(d),d.onload=d.onerror=null,f.removeChild(d)},d.onerror=a,f.appendChild(d),d.src=b}}();f.image=function(b,c,d,e,f){var i=this.el(\"image\");if(g(b,\"object\")&&\"src\"in b)i.attr(b);else if(null!=b){var j={\"xlink:href\":b,preserveAspectRatio:\"none\"};null!=c&&null!=d&&(j.x=c,j.y=d),null!=e&&null!=f?(j.width=e,j.height=f):h(b,function(){a._.$(i.node,{width:this.offsetWidth,height:this.offsetHeight})}),a._.$(i.node,j)}return i},f.ellipse=function(a,b,c,d){var e;return g(a,\"object\")&&\"[object Object]\"==a?e=a:null!=a&&(e={cx:a,cy:b,rx:c,ry:d}),this.el(\"ellipse\",e)},f.path=function(a){var b;return g(a,\"object\")&&!g(a,\"array\")?b=a:a&&(b={d:a}),this.el(\"path\",b)},f.group=f.g=function(a){var b=this.el(\"g\");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.svg=function(a,b,c,d,e,f,h,i){var j={};return g(a,\"object\")&&null==b?j=a:(null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])),this.el(\"svg\",j)},f.mask=function(a){var b=this.el(\"mask\");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.ptrn=function(a,b,c,d,e,f,h,i){if(g(a,\"object\"))var j=a;else arguments.length?(j={},null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])):j={patternUnits:\"userSpaceOnUse\"};return this.el(\"pattern\",j)},f.use=function(a){if(null!=a){{make(\"use\",this.node)}return a instanceof c&&(a.attr(\"id\")||a.attr({id:ID()}),a=a.attr(\"id\")),this.el(\"use\",{\"xlink:href\":a})}return c.prototype.use.call(this)},f.text=function(a,b,c){var d={};return g(a,\"object\")?d=a:null!=a&&(d={x:a,y:b,text:c||\"\"}),this.el(\"text\",d)},f.line=function(a,b,c,d){var e={};return g(a,\"object\")?e=a:null!=a&&(e={x1:a,x2:c,y1:b,y2:d}),this.el(\"line\",e)},f.polyline=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,\"object\")&&!g(a,\"array\")?b=a:null!=a&&(b={points:a}),this.el(\"polyline\",b)},f.polygon=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,\"object\")&&!g(a,\"array\")?b=a:null!=a&&(b={points:a}),this.el(\"polygon\",b)},function(){function c(){return this.selectAll(\"stop\")}function d(b,c){var d=j(\"stop\"),e={offset:+c+\"%\"};return b=a.color(b),e[\"stop-color\"]=b.hex,b.opacity<1&&(e[\"stop-opacity\"]=b.opacity),j(d,e),this.node.appendChild(d),this}function e(){if(\"linearGradient\"==this.type){var b=j(this.node,\"x1\")||0,c=j(this.node,\"x2\")||1,d=j(this.node,\"y1\")||0,e=j(this.node,\"y2\")||0;return a._.box(b,d,math.abs(c-b),math.abs(e-d))}var f=this.node.cx||.5,g=this.node.cy||.5,h=this.node.r||0;return a._.box(f-h,g-h,2*h,2*h)}function g(a,c){function d(a,b){for(var c=(b-l)/(a-m),d=m;a>d;d++)g[d].offset=+(+l+c*(d-m)).toFixed(2);m=a,l=b}var e,f=b(\"snap.util.grad.parse\",null,c).firstDefined();if(!f)return null;f.params.unshift(a),e=\"l\"==f.type.toLowerCase()?h.apply(0,f.params):i.apply(0,f.params),f.type!=f.type.toLowerCase()&&j(e.node,{gradientUnits:\"userSpaceOnUse\"});var g=f.stops,k=g.length,l=0,m=0;k--;for(var n=0;k>n;n++)\"offset\"in g[n]&&d(n,g[n].offset);for(g[k].offset=g[k].offset||100,d(k,g[k].offset),n=0;k>=n;n++){var o=g[n];e.addStop(o.color,o.offset)}return e}function h(b,f,g,h,i){var k=a._.make(\"linearGradient\",b);return k.stops=c,k.addStop=d,k.getBBox=e,null!=f&&j(k.node,{x1:f,y1:g,x2:h,y2:i}),k}function i(b,f,g,h,i,k){var l=a._.make(\"radialGradient\",b);return l.stops=c,l.addStop=d,l.getBBox=e,null!=f&&j(l.node,{cx:f,cy:g,r:h}),null!=i&&null!=k&&j(l.node,{fx:i,fy:k}),l}var j=a._.$;f.gradient=function(a){return g(this.defs,a)},f.gradientLinear=function(a,b,c,d){return h(this.defs,a,b,c,d)},f.gradientRadial=function(a,b,c,d,e){return i(this.defs,a,b,c,d,e)},f.toString=function(){var b,c=this.node.ownerDocument,d=c.createDocumentFragment(),e=c.createElement(\"div\"),f=this.node.cloneNode(!0);return d.appendChild(e),e.appendChild(f),a._.$(f,{xmlns:\"http://www.w3.org/2000/svg\"}),b=e.innerHTML,d.removeChild(d.firstChild),b},f.clear=function(){for(var a,b=this.node.firstChild;b;)a=b.nextSibling,\"defs\"!=b.tagName?b.parentNode.removeChild(b):f.clear.call({node:b}),b=a}}()}),d.plugin(function(a,b){function c(a){var b=c.ps=c.ps||{};return b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[K](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])}),b[a]}function d(a,b,c,d){return null==a&&(a=b=c=d=0),null==b&&(b=a.y,c=a.width,d=a.height,a=a.x),{x:a,y:b,width:c,w:c,height:d,h:d,x2:a+c,y2:b+d,cx:a+c/2,cy:b+d/2,r1:N.min(c,d)/2,r2:N.max(c,d)/2,r0:N.sqrt(c*c+d*d)/2,path:w(a,b,c,d),vb:[a,b,c,d].join(\" \")}}function e(){return this.join(\",\").replace(L,\"$1\")}function f(a){var b=J(a);return b.toString=e,b}function g(a,b,c,d,e,f,g,h,j){return null==j?n(a,b,c,d,e,f,g,h):i(a,b,c,d,e,f,g,h,o(a,b,c,d,e,f,g,h,j))}function h(c,d){function e(a){return+(+a).toFixed(3)}return a._.cacher(function(a,f,h){a instanceof b&&(a=a.attr(\"d\")),a=E(a);for(var j,k,l,m,n,o=\"\",p={},q=0,r=0,s=a.length;s>r;r++){if(l=a[r],\"M\"==l[0])j=+l[1],k=+l[2];else{if(m=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6]),q+m>f){if(d&&!p.start){if(n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q),o+=[\"C\"+e(n.start.x),e(n.start.y),e(n.m.x),e(n.m.y),e(n.x),e(n.y)],h)return o;p.start=o,o=[\"M\"+e(n.x),e(n.y)+\"C\"+e(n.n.x),e(n.n.y),e(n.end.x),e(n.end.y),e(l[5]),e(l[6])].join(),q+=m,j=+l[5],k=+l[6];continue}if(!c&&!d)return n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q)}q+=m,j=+l[5],k=+l[6]}o+=l.shift()+l}return p.end=o,n=c?q:d?p:i(j,k,l[0],l[1],l[2],l[3],l[4],l[5],1)},null,a._.clone)}function i(a,b,c,d,e,f,g,h,i){var j=1-i,k=R(j,3),l=R(j,2),m=i*i,n=m*i,o=k*a+3*l*i*c+3*j*i*i*e+n*g,p=k*b+3*l*i*d+3*j*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,w=j*e+i*g,x=j*f+i*h,y=90-180*N.atan2(q-s,r-t)/O;return{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:w,y:x},alpha:y}}function j(b,c,e,f,g,h,i,j){a.is(b,\"array\")||(b=[b,c,e,f,g,h,i,j]);var k=D.apply(null,b);return d(k.min.x,k.min.y,k.max.x-k.min.x,k.max.y-k.min.y)}function k(a,b,c){return b>=a.x&&b<=a.x+a.width&&c>=a.y&&c<=a.y+a.height}function l(a,b){return a=d(a),b=d(b),k(b,a.x,a.y)||k(b,a.x2,a.y)||k(b,a.x,a.y2)||k(b,a.x2,a.y2)||k(a,b.x,b.y)||k(a,b.x2,b.y)||k(a,b.x,b.y2)||k(a,b.x2,b.y2)||(a.x<b.x2&&a.x>b.x||b.x<a.x2&&b.x>a.x)&&(a.y<b.y2&&a.y>b.y||b.y<a.y2&&b.y>a.y)}function m(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c}function n(a,b,c,d,e,f,g,h,i){null==i&&(i=1),i=i>1?1:0>i?0:i;for(var j=i/2,k=12,l=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],n=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],o=0,p=0;k>p;p++){var q=j*l[p]+j,r=m(q,a,c,e,g),s=m(q,b,d,f,h),t=r*r+s*s;o+=n[p]*N.sqrt(t)}return j*o}function o(a,b,c,d,e,f,g,h,i){if(!(0>i||n(a,b,c,d,e,f,g,h)<i)){var j,k=1,l=k/2,m=k-l,o=.01;for(j=n(a,b,c,d,e,f,g,h,m);S(j-i)>o;)l/=2,m+=(i>j?1:-1)*l,j=n(a,b,c,d,e,f,g,h,m);return m}}function p(a,b,c,d,e,f,g,h){if(!(Q(a,c)<P(e,g)||P(a,c)>Q(e,g)||Q(b,d)<P(f,h)||P(b,d)>Q(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(k){var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(!(n<+P(a,c).toFixed(2)||n>+Q(a,c).toFixed(2)||n<+P(e,g).toFixed(2)||n>+Q(e,g).toFixed(2)||o<+P(b,d).toFixed(2)||o>+Q(b,d).toFixed(2)||o<+P(f,h).toFixed(2)||o>+Q(f,h).toFixed(2)))return{x:l,y:m}}}}function q(a,b,c){var d=j(a),e=j(b);if(!l(d,e))return c?0:[];for(var f=n.apply(0,a),g=n.apply(0,b),h=~~(f/8),k=~~(g/8),m=[],o=[],q={},r=c?0:[],s=0;h+1>s;s++){var t=i.apply(0,a.concat(s/h));m.push({x:t.x,y:t.y,t:s/h})}for(s=0;k+1>s;s++)t=i.apply(0,b.concat(s/k)),o.push({x:t.x,y:t.y,t:s/k});for(s=0;h>s;s++)for(var u=0;k>u;u++){var v=m[s],w=m[s+1],x=o[u],y=o[u+1],z=S(w.x-v.x)<.001?\"y\":\"x\",A=S(y.x-x.x)<.001?\"y\":\"x\",B=p(v.x,v.y,w.x,w.y,x.x,x.y,y.x,y.y);if(B){if(q[B.x.toFixed(4)]==B.y.toFixed(4))continue;q[B.x.toFixed(4)]=B.y.toFixed(4);var C=v.t+S((B[z]-v[z])/(w[z]-v[z]))*(w.t-v.t),D=x.t+S((B[A]-x[A])/(y[A]-x[A]))*(y.t-x.t);C>=0&&1>=C&&D>=0&&1>=D&&(c?r++:r.push({x:B.x,y:B.y,t1:C,t2:D}))}}return r}function r(a,b){return t(a,b)}function s(a,b){return t(a,b,1)}function t(a,b,c){a=E(a),b=E(b);for(var d,e,f,g,h,i,j,k,l,m,n=c?0:[],o=0,p=a.length;p>o;o++){var r=a[o];if(\"M\"==r[0])d=h=r[1],e=i=r[2];else{\"C\"==r[0]?(l=[d,e].concat(r.slice(1)),d=l[6],e=l[7]):(l=[d,e,d,e,h,i,h,i],d=h,e=i);for(var s=0,t=b.length;t>s;s++){var u=b[s];if(\"M\"==u[0])f=j=u[1],g=k=u[2];else{\"C\"==u[0]?(m=[f,g].concat(u.slice(1)),f=m[6],g=m[7]):(m=[f,g,f,g,j,k,j,k],f=j,g=k);var v=q(l,m,c);if(c)n+=v;else{for(var w=0,x=v.length;x>w;w++)v[w].segment1=o,v[w].segment2=s,v[w].bez1=l,v[w].bez2=m;n=n.concat(v)}}}}}return n}function u(a,b,c){var d=v(a);return k(d,b,c)&&t(a,[[\"M\",b,c],[\"H\",d.x2+10] ],1)%2==1}function v(a){var b=c(a);if(b.bbox)return J(b.bbox);if(!a)return d();a=E(a);for(var e,f=0,g=0,h=[],i=[],j=0,k=a.length;k>j;j++)if(e=a[j],\"M\"==e[0])f=e[1],g=e[2],h.push(f),i.push(g);else{var l=D(f,g,e[1],e[2],e[3],e[4],e[5],e[6]);h=h.concat(l.min.x,l.max.x),i=i.concat(l.min.y,l.max.y),f=e[5],g=e[6]}var m=P.apply(0,h),n=P.apply(0,i),o=Q.apply(0,h),p=Q.apply(0,i),q=d(m,n,o-m,p-n);return b.bbox=J(q),q}function w(a,b,c,d,f){if(f)return[[\"M\",+a+ +f,b],[\"l\",c-2*f,0],[\"a\",f,f,0,0,1,f,f],[\"l\",0,d-2*f],[\"a\",f,f,0,0,1,-f,f],[\"l\",2*f-c,0],[\"a\",f,f,0,0,1,-f,-f],[\"l\",0,2*f-d],[\"a\",f,f,0,0,1,f,-f],[\"z\"] ];var g=[[\"M\",a,b],[\"l\",c,0],[\"l\",0,d],[\"l\",-c,0],[\"z\"] ];return g.toString=e,g}function x(a,b,c,d,f){if(null==f&&null==d&&(d=c),a=+a,b=+b,c=+c,d=+d,null!=f)var g=Math.PI/180,h=a+c*Math.cos(-d*g),i=a+c*Math.cos(-f*g),j=b+c*Math.sin(-d*g),k=b+c*Math.sin(-f*g),l=[[\"M\",h,j],[\"A\",c,c,0,+(f-d>180),0,i,k] ];else l=[[\"M\",a,b],[\"m\",0,-d],[\"a\",c,d,0,1,1,0,2*d],[\"a\",c,d,0,1,1,0,-2*d],[\"z\"] ];return l.toString=e,l}function y(b){var d=c(b),g=String.prototype.toLowerCase;if(d.rel)return f(d.rel);a.is(b,\"array\")&&a.is(b&&b[0],\"array\")||(b=a.parsePathString(b));var h=[],i=0,j=0,k=0,l=0,m=0;\"M\"==b[0][0]&&(i=b[0][1],j=b[0][2],k=i,l=j,m++,h.push([\"M\",i,j]));for(var n=m,o=b.length;o>n;n++){var p=h[n]=[],q=b[n];if(q[0]!=g.call(q[0]))switch(p[0]=g.call(q[0]),p[0]){case\"a\":p[1]=q[1],p[2]=q[2],p[3]=q[3],p[4]=q[4],p[5]=q[5],p[6]=+(q[6]-i).toFixed(3),p[7]=+(q[7]-j).toFixed(3);break;case\"v\":p[1]=+(q[1]-j).toFixed(3);break;case\"m\":k=q[1],l=q[2];default:for(var r=1,s=q.length;s>r;r++)p[r]=+(q[r]-(r%2?i:j)).toFixed(3)}else{p=h[n]=[],\"m\"==q[0]&&(k=q[1]+i,l=q[2]+j);for(var t=0,u=q.length;u>t;t++)h[n][t]=q[t]}var v=h[n].length;switch(h[n][0]){case\"z\":i=k,j=l;break;case\"h\":i+=+h[n][v-1];break;case\"v\":j+=+h[n][v-1];break;default:i+=+h[n][v-2],j+=+h[n][v-1]}}return h.toString=e,d.rel=f(h),h}function z(b){var d=c(b);if(d.abs)return f(d.abs);if(I(b,\"array\")&&I(b&&b[0],\"array\")||(b=a.parsePathString(b)),!b||!b.length)return[[\"M\",0,0] ];var g,h=[],i=0,j=0,k=0,l=0,m=0;\"M\"==b[0][0]&&(i=+b[0][1],j=+b[0][2],k=i,l=j,m++,h[0]=[\"M\",i,j]);for(var n,o,p=3==b.length&&\"M\"==b[0][0]&&\"R\"==b[1][0].toUpperCase()&&\"Z\"==b[2][0].toUpperCase(),q=m,r=b.length;r>q;q++){if(h.push(n=[]),o=b[q],g=o[0],g!=g.toUpperCase())switch(n[0]=g.toUpperCase(),n[0]){case\"A\":n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=+o[6]+i,n[7]=+o[7]+j;break;case\"V\":n[1]=+o[1]+j;break;case\"H\":n[1]=+o[1]+i;break;case\"R\":for(var s=[i,j].concat(o.slice(1)),t=2,u=s.length;u>t;t++)s[t]=+s[t]+i,s[++t]=+s[t]+j;h.pop(),h=h.concat(G(s,p));break;case\"O\":h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);break;case\"U\":h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=[\"U\"].concat(h[h.length-1].slice(-2));break;case\"M\":k=+o[1]+i,l=+o[2]+j;default:for(t=1,u=o.length;u>t;t++)n[t]=+o[t]+(t%2?i:j)}else if(\"R\"==g)s=[i,j].concat(o.slice(1)),h.pop(),h=h.concat(G(s,p)),n=[\"R\"].concat(o.slice(-2));else if(\"O\"==g)h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);else if(\"U\"==g)h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=[\"U\"].concat(h[h.length-1].slice(-2));else for(var v=0,w=o.length;w>v;v++)n[v]=o[v];if(g=g.toUpperCase(),\"O\"!=g)switch(n[0]){case\"Z\":i=+k,j=+l;break;case\"H\":i=n[1];break;case\"V\":j=n[1];break;case\"M\":k=n[n.length-2],l=n[n.length-1];default:i=n[n.length-2],j=n[n.length-1]}}return h.toString=e,d.abs=f(h),h}function A(a,b,c,d){return[a,b,c,d,c,d]}function B(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]}function C(b,c,d,e,f,g,h,i,j,k){var l,m=120*O/180,n=O/180*(+f||0),o=[],p=a._.cacher(function(a,b,c){var d=a*N.cos(c)-b*N.sin(c),e=a*N.sin(c)+b*N.cos(c);return{x:d,y:e}});if(k)y=k[0],z=k[1],w=k[2],x=k[3];else{l=p(b,c,-n),b=l.x,c=l.y,l=p(i,j,-n),i=l.x,j=l.y;var q=(N.cos(O/180*f),N.sin(O/180*f),(b-i)/2),r=(c-j)/2,s=q*q/(d*d)+r*r/(e*e);s>1&&(s=N.sqrt(s),d=s*d,e=s*e);var t=d*d,u=e*e,v=(g==h?-1:1)*N.sqrt(S((t*u-t*r*r-u*q*q)/(t*r*r+u*q*q))),w=v*d*r/e+(b+i)/2,x=v*-e*q/d+(c+j)/2,y=N.asin(((c-x)/e).toFixed(9)),z=N.asin(((j-x)/e).toFixed(9));y=w>b?O-y:y,z=w>i?O-z:z,0>y&&(y=2*O+y),0>z&&(z=2*O+z),h&&y>z&&(y-=2*O),!h&&z>y&&(z-=2*O)}var A=z-y;if(S(A)>m){var B=z,D=i,E=j;z=y+m*(h&&z>y?1:-1),i=w+d*N.cos(z),j=x+e*N.sin(z),o=C(i,j,d,e,f,0,h,D,E,[z,B,w,x])}A=z-y;var F=N.cos(y),G=N.sin(y),H=N.cos(z),I=N.sin(z),J=N.tan(A/4),K=4/3*d*J,L=4/3*e*J,M=[b,c],P=[b+K*G,c-L*F],Q=[i+K*I,j-L*H],R=[i,j];if(P[0]=2*M[0]-P[0],P[1]=2*M[1]-P[1],k)return[P,Q,R].concat(o);o=[P,Q,R].concat(o).join().split(\",\");for(var T=[],U=0,V=o.length;V>U;U++)T[U]=U%2?p(o[U-1],o[U],n).y:p(o[U],o[U+1],n).x;return T}function D(a,b,c,d,e,f,g,h){for(var i,j,k,l,m,n,o,p,q=[],r=[[],[] ],s=0;2>s;++s)if(0==s?(j=6*a-12*c+6*e,i=-3*a+9*c-9*e+3*g,k=3*c-3*a):(j=6*b-12*d+6*f,i=-3*b+9*d-9*f+3*h,k=3*d-3*b),S(i)<1e-12){if(S(j)<1e-12)continue;l=-k/j,l>0&&1>l&&q.push(l)}else o=j*j-4*k*i,p=N.sqrt(o),0>o||(m=(-j+p)/(2*i),m>0&&1>m&&q.push(m),n=(-j-p)/(2*i),n>0&&1>n&&q.push(n));for(var t,u=q.length,v=u;u--;)l=q[u],t=1-l,r[0][u]=t*t*t*a+3*t*t*l*c+3*t*l*l*e+l*l*l*g,r[1][u]=t*t*t*b+3*t*t*l*d+3*t*l*l*f+l*l*l*h;return r[0][v]=a,r[1][v]=b,r[0][v+1]=g,r[1][v+1]=h,r[0].length=r[1].length=v+2,{min:{x:P.apply(0,r[0]),y:P.apply(0,r[1])},max:{x:Q.apply(0,r[0]),y:Q.apply(0,r[1])}}}function E(a,b){var d=!b&&c(a);if(!b&&d.curve)return f(d.curve);for(var e=z(a),g=b&&z(b),h={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},i={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},j=(function(a,b,c){var d,e;if(!a)return[\"C\",b.x,b.y,b.x,b.y,b.x,b.y];switch(!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null),a[0]){case\"M\":b.X=a[1],b.Y=a[2];break;case\"A\":a=[\"C\"].concat(C.apply(0,[b.x,b.y].concat(a.slice(1))));break;case\"S\":\"C\"==c||\"S\"==c?(d=2*b.x-b.bx,e=2*b.y-b.by):(d=b.x,e=b.y),a=[\"C\",d,e].concat(a.slice(1));break;case\"T\":\"Q\"==c||\"T\"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y),a=[\"C\"].concat(B(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case\"Q\":b.qx=a[1],b.qy=a[2],a=[\"C\"].concat(B(b.x,b.y,a[1],a[2],a[3],a[4]));break;case\"L\":a=[\"C\"].concat(A(b.x,b.y,a[1],a[2]));break;case\"H\":a=[\"C\"].concat(A(b.x,b.y,a[1],b.y));break;case\"V\":a=[\"C\"].concat(A(b.x,b.y,b.x,a[1]));break;case\"Z\":a=[\"C\"].concat(A(b.x,b.y,b.X,b.Y))}return a}),k=function(a,b){if(a[b].length>7){a[b].shift();for(var c=a[b];c.length;)m[b]=\"A\",g&&(n[b]=\"A\"),a.splice(b++,0,[\"C\"].concat(c.splice(0,6)));a.splice(b,1),r=Q(e.length,g&&g.length||0)}},l=function(a,b,c,d,f){a&&b&&\"M\"==a[f][0]&&\"M\"!=b[f][0]&&(b.splice(f,0,[\"M\",d.x,d.y]),c.bx=0,c.by=0,c.x=a[f][1],c.y=a[f][2],r=Q(e.length,g&&g.length||0))},m=[],n=[],o=\"\",p=\"\",q=0,r=Q(e.length,g&&g.length||0);r>q;q++){e[q]&&(o=e[q][0]),\"C\"!=o&&(m[q]=o,q&&(p=m[q-1])),e[q]=j(e[q],h,p),\"A\"!=m[q]&&\"C\"==o&&(m[q]=\"C\"),k(e,q),g&&(g[q]&&(o=g[q][0]),\"C\"!=o&&(n[q]=o,q&&(p=n[q-1])),g[q]=j(g[q],i,p),\"A\"!=n[q]&&\"C\"==o&&(n[q]=\"C\"),k(g,q)),l(e,g,h,i,q),l(g,e,i,h,q);var s=e[q],t=g&&g[q],u=s.length,v=g&&t.length;h.x=s[u-2],h.y=s[u-1],h.bx=M(s[u-4])||h.x,h.by=M(s[u-3])||h.y,i.bx=g&&(M(t[v-4])||i.x),i.by=g&&(M(t[v-3])||i.y),i.x=g&&t[v-2],i.y=g&&t[v-1]}return g||(d.curve=f(e)),g?[e,g]:e}function F(a,b){if(!b)return a;var c,d,e,f,g,h,i;for(a=E(a),e=0,g=a.length;g>e;e++)for(i=a[e],f=1,h=i.length;h>f;f+=2)c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d;return a}function G(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push([\"C\",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}var H=b.prototype,I=a.is,J=a._.clone,K=\"hasOwnProperty\",L=/,?([a-z]),?/gi,M=parseFloat,N=Math,O=N.PI,P=N.min,Q=N.max,R=N.pow,S=N.abs,T=h(1),U=h(),V=h(0,1),W=a._unit2px,X={path:function(a){return a.attr(\"path\")},circle:function(a){var b=W(a);return x(b.cx,b.cy,b.r)},ellipse:function(a){var b=W(a);return x(b.cx||0,b.cy||0,b.rx,b.ry)},rect:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height,b.rx,b.ry)},image:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height)},line:function(a){return\"M\"+[a.attr(\"x1\")||0,a.attr(\"y1\")||0,a.attr(\"x2\"),a.attr(\"y2\")]},polyline:function(a){return\"M\"+a.attr(\"points\")},polygon:function(a){return\"M\"+a.attr(\"points\")+\"z\"},deflt:function(a){var b=a.node.getBBox();return w(b.x,b.y,b.width,b.height)}};a.path=c,a.path.getTotalLength=T,a.path.getPointAtLength=U,a.path.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return V(a,b).end;var d=V(a,c,1);return b?V(d,b).end:d},H.getTotalLength=function(){return this.node.getTotalLength?this.node.getTotalLength():void 0},H.getPointAtLength=function(a){return U(this.attr(\"d\"),a)},H.getSubpath=function(b,c){return a.path.getSubpath(this.attr(\"d\"),b,c)},a._.box=d,a.path.findDotsAtSegment=i,a.path.bezierBBox=j,a.path.isPointInsideBBox=k,a.path.isBBoxIntersect=l,a.path.intersection=r,a.path.intersectionNumber=s,a.path.isPointInside=u,a.path.getBBox=v,a.path.get=X,a.path.toRelative=y,a.path.toAbsolute=z,a.path.toCubic=E,a.path.map=F,a.path.toString=e,a.path.clone=f}),d.plugin(function(a){var d=Math.max,e=Math.min,f=function(a){if(this.items=[],this.bindings={},this.length=0,this.type=\"set\",a)for(var b=0,c=a.length;c>b;b++)a[b]&&(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},g=f.prototype;g.push=function(){for(var a,b,c=0,d=arguments.length;d>c;c++)a=arguments[c],a&&(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},g.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},g.forEach=function(a,b){for(var c=0,d=this.items.length;d>c;c++)if(a.call(b,this.items[c],c)===!1)return this;return this},g.animate=function(d,e,f,g){\"function\"!=typeof f||f.length||(g=f,f=c.linear),d instanceof a._.Animation&&(g=d.callback,f=d.easing,e=f.dur,d=d.attr);var h=arguments;if(a.is(d,\"array\")&&a.is(h[h.length-1],\"array\"))var i=!0;var j,k=function(){j?this.b=j:j=this.b},l=0,m=g&&function(){l++==this.length&&g.call(this)};return this.forEach(function(a,c){b.once(\"snap.animcreated.\"+a.id,k),i?h[c]&&a.animate.apply(a,h[c]):a.animate(d,e,f,m)})},g.remove=function(){for(;this.length;)this.pop().remove();return this},g.bind=function(a,b,c){var d={};if(\"function\"==typeof b)this.bindings[a]=b;else{var e=c||a;this.bindings[a]=function(a){d[e]=a,b.attr(d)}}return this},g.attr=function(a){var b={};for(var c in a)this.bindings[c]?this.bindings[c](a[c]):b[c]=a[c];for(var d=0,e=this.items.length;e>d;d++)this.items[d].attr(b);return this},g.clear=function(){for(;this.length;)this.pop()},g.splice=function(a,b){a=0>a?d(this.length+a,0):a,b=d(0,e(this.length-a,b));var c,g=[],h=[],i=[];for(c=2;c<arguments.length;c++)i.push(arguments[c]);for(c=0;b>c;c++)h.push(this[a+c]);for(;c<this.length-a;c++)g.push(this[a+c]);var j=i.length;for(c=0;c<j+g.length;c++)this.items[a+c]=this[a+c]=j>c?i[c]:g[c-j];for(c=this.items.length=this.length-=b-j;this[c];)delete this[c++];return new f(h)},g.exclude=function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]==a)return this.splice(b,1),!0;return!1},g.insertAfter=function(a){for(var b=this.items.length;b--;)this.items[b].insertAfter(a);return this},g.getBBox=function(){for(var a=[],b=[],c=[],f=[],g=this.items.length;g--;)if(!this.items[g].removed){var h=this.items[g].getBBox();a.push(h.x),b.push(h.y),c.push(h.x+h.width),f.push(h.y+h.height)}return a=e.apply(0,a),b=e.apply(0,b),c=d.apply(0,c),f=d.apply(0,f),{x:a,y:b,x2:c,y2:f,width:c-a,height:f-b,cx:a+(c-a)/2,cy:b+(f-b)/2}},g.clone=function(a){a=new f;for(var b=0,c=this.items.length;c>b;b++)a.push(this.items[b].clone());return a},g.toString=function(){return\"Snaps set\"},g.type=\"set\",a.set=function(){var a=new f;return arguments.length&&a.push.apply(a,Array.prototype.slice.call(arguments,0)),a}}),d.plugin(function(a,c){function d(a){var b=a[0];switch(b.toLowerCase()){case\"t\":return[b,0,0];case\"m\":return[b,1,0,0,1,0,0];case\"r\":return 4==a.length?[b,0,a[2],a[3] ]:[b,0];case\"s\":return 5==a.length?[b,1,1,a[3],a[4] ]:3==a.length?[b,1,1]:[b,1]}}function e(b,c,e){c=m(c).replace(/\\.{3}|\\u2026/g,b),b=a.parseTransformString(b)||[],c=a.parseTransformString(c)||[];for(var f,g,h,k,l=Math.max(b.length,c.length),n=[],o=[],p=0;l>p;p++){if(h=b[p]||d(c[p]),k=c[p]||d(h),h[0]!=k[0]||\"r\"==h[0].toLowerCase()&&(h[2]!=k[2]||h[3]!=k[3])||\"s\"==h[0].toLowerCase()&&(h[3]!=k[3]||h[4]!=k[4])){b=a._.transform2matrix(b,e()),c=a._.transform2matrix(c,e()),n=[[\"m\",b.a,b.b,b.c,b.d,b.e,b.f] ],o=[[\"m\",c.a,c.b,c.c,c.d,c.e,c.f] ];break}for(n[p]=[],o[p]=[],f=0,g=Math.max(h.length,k.length);g>f;f++)f in h&&(n[p][f]=h[f]),f in k&&(o[p][f]=k[f])}return{from:j(n),to:j(o),f:i(n)}}function f(a){return a}function g(a){return function(b){return+b.toFixed(3)+a}}function h(b){return a.rgb(b[0],b[1],b[2])}function i(a){var b,c,d,e,f,g,h=0,i=[];for(b=0,c=a.length;c>b;b++){for(f=\"[\",g=['\"'+a[b][0]+'\"'],d=1,e=a[b].length;e>d;d++)g[d]=\"val[\"+h++ +\"]\";\n",
"f+=g+\"]\",i[b]=f}return Function(\"val\",\"return Snap.path.toString.call([\"+i+\"])\")}function j(a){for(var b=[],c=0,d=a.length;d>c;c++)for(var e=1,f=a[c].length;f>e;e++)b.push(a[c][e]);return b}var k={},l=/[a-z]+$/i,m=String;k.stroke=k.fill=\"colour\",c.prototype.equal=function(a,c){return b(\"snap.util.equal\",this,a,c).firstDefined()},b.on(\"snap.util.equal\",function(b,c){var d,n,o=m(this.attr(b)||\"\"),p=this;if(o==+o&&c==+c)return{from:+o,to:+c,f:f};if(\"colour\"==k[b])return d=a.color(o),n=a.color(c),{from:[d.r,d.g,d.b,d.opacity],to:[n.r,n.g,n.b,n.opacity],f:h};if(\"transform\"==b||\"gradientTransform\"==b||\"patternTransform\"==b)return c instanceof a.Matrix&&(c=c.toTransformString()),a._.rgTransform.test(c)||(c=a._.svgTransform2string(c)),e(o,c,function(){return p.getBBox(1)});if(\"d\"==b||\"path\"==b)return d=a.path.toCubic(o,c),{from:j(d[0]),to:j(d[1]),f:i(d[0])};if(\"points\"==b)return d=m(o).split(a._.separator),n=m(c).split(a._.separator),{from:d,to:n,f:function(a){return a}};aUnit=o.match(l);var q=m(c).match(l);return aUnit&&aUnit==q?{from:parseFloat(o),to:parseFloat(c),f:g(aUnit)}:{from:this.asPX(b),to:this.asPX(b,c),f:f}})}),d.plugin(function(a,c,d,e){for(var f=c.prototype,g=\"hasOwnProperty\",h=(\"createTouch\"in e.doc),i=[\"click\",\"dblclick\",\"mousedown\",\"mousemove\",\"mouseout\",\"mouseover\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\"],j={mousedown:\"touchstart\",mousemove:\"touchmove\",mouseup:\"touchend\"},k=(function(a,b){var c=\"y\"==a?\"scrollTop\":\"scrollLeft\",d=b&&b.node?b.node.ownerDocument:e.doc;return d[c in d.documentElement?\"documentElement\":\"body\"][c]}),l=function(){this.returnValue=!1},m=function(){return this.originalEvent.preventDefault()},n=function(){this.cancelBubble=!0},o=function(){return this.originalEvent.stopPropagation()},p=function(){return e.doc.addEventListener?function(a,b,c,d){var e=h&&j[b]?j[b]:b,f=function(e){var f=k(\"y\",d),i=k(\"x\",d);if(h&&j[g](b))for(var l=0,n=e.targetTouches&&e.targetTouches.length;n>l;l++)if(e.targetTouches[l].target==a||a.contains(e.targetTouches[l].target)){var p=e;e=e.targetTouches[l],e.originalEvent=p,e.preventDefault=m,e.stopPropagation=o;break}var q=e.clientX+i,r=e.clientY+f;return c.call(d,e,q,r)};return b!==e&&a.addEventListener(b,f,!1),a.addEventListener(e,f,!1),function(){return b!==e&&a.removeEventListener(b,f,!1),a.removeEventListener(e,f,!1),!0}}:e.doc.attachEvent?function(a,b,c,d){var e=function(a){a=a||d.node.ownerDocument.window.event;var b=k(\"y\",d),e=k(\"x\",d),f=a.clientX+e,g=a.clientY+b;return a.preventDefault=a.preventDefault||l,a.stopPropagation=a.stopPropagation||n,c.call(d,a,f,g)};a.attachEvent(\"on\"+b,e);var f=function(){return a.detachEvent(\"on\"+b,e),!0};return f}:void 0}(),q=[],r=function(a){for(var c,d=a.clientX,e=a.clientY,f=k(\"y\"),g=k(\"x\"),i=q.length;i--;){if(c=q[i],h){for(var j,l=a.touches&&a.touches.length;l--;)if(j=a.touches[l],j.identifier==c.el._drag.id||c.el.node.contains(j.target)){d=j.clientX,e=j.clientY,(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();{var m=c.el.node;m.nextSibling,m.parentNode,m.style.display}d+=g,e+=f,b(\"snap.drag.move.\"+c.el.id,c.move_scope||c.el,d-c.el._drag.x,e-c.el._drag.y,d,e,a)}},s=function(c){a.unmousemove(r).unmouseup(s);for(var d,e=q.length;e--;)d=q[e],d.el._drag={},b(\"snap.drag.end.\"+d.el.id,d.end_scope||d.start_scope||d.move_scope||d.el,c);q=[]},t=i.length;t--;)!function(b){a[b]=f[b]=function(c,d){return a.is(c,\"function\")&&(this.events=this.events||[],this.events.push({name:b,f:c,unbind:p(this.node||document,b,c,d||this)})),this},a[\"un\"+b]=f[\"un\"+b]=function(a){for(var c=this.events||[],d=c.length;d--;)if(c[d].name==b&&(c[d].f==a||!a))return c[d].unbind(),c.splice(d,1),!c.length&&delete this.events,this;return this}}(i[t]);f.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},f.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var u=[];f.drag=function(c,d,e,f,g,h){function i(i,j,k){(i.originalEvent||i).preventDefault(),this._drag.x=j,this._drag.y=k,this._drag.id=i.identifier,!q.length&&a.mousemove(r).mouseup(s),q.push({el:this,move_scope:f,start_scope:g,end_scope:h}),d&&b.on(\"snap.drag.start.\"+this.id,d),c&&b.on(\"snap.drag.move.\"+this.id,c),e&&b.on(\"snap.drag.end.\"+this.id,e),b(\"snap.drag.start.\"+this.id,g||f||this,j,k,i)}if(!arguments.length){var j;return this.drag(function(a,b){this.attr({transform:j+(j?\"T\":\"t\")+[a,b]})},function(){j=this.transform().local})}return this._drag={},u.push({el:this,start:i}),this.mousedown(i),this},f.undrag=function(){for(var c=u.length;c--;)u[c].el==this&&(this.unmousedown(u[c].start),u.splice(c,1),b.unbind(\"snap.drag.*.\"+this.id));return!u.length&&a.unmousemove(r).unmouseup(s),this}}),d.plugin(function(a,c,d){var e=(c.prototype,d.prototype),f=/^\\s*url\\((.+)\\)/,g=String,h=a._.$;a.filter={},e.filter=function(b){var d=this;\"svg\"!=d.type&&(d=d.paper);var e=a.parse(g(b)),f=a._.id(),i=(d.node.offsetWidth,d.node.offsetHeight,h(\"filter\"));return h(i,{id:f,filterUnits:\"userSpaceOnUse\"}),i.appendChild(e.node),d.defs.appendChild(i),new c(i)},b.on(\"snap.util.getattr.filter\",function(){b.stop();var c=h(this.node,\"filter\");if(c){var d=g(c).match(f);return d&&a.select(d[1])}}),b.on(\"snap.util.attr.filter\",function(d){if(d instanceof c&&\"filter\"==d.type){b.stop();var e=d.node.id;e||(h(d.node,{id:d.id}),e=d.id),h(this.node,{filter:a.url(e)})}d&&\"none\"!=d||(b.stop(),this.node.removeAttribute(\"filter\"))}),a.filter.blur=function(b,c){null==b&&(b=2);var d=null==c?b:[b,c];return a.format('<feGaussianBlur stdDeviation=\"{def}\"/>',{def:d})},a.filter.blur.toString=function(){return this()},a.filter.shadow=function(b,c,d,e,f){return\"string\"==typeof d&&(e=d,f=e,d=4),\"string\"!=typeof e&&(f=e,e=\"#000\"),e=e||\"#000\",null==d&&(d=4),null==f&&(f=1),null==b&&(b=0,c=2),null==c&&(c=b),e=a.color(e),a.format('<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"{blur}\"/><feOffset dx=\"{dx}\" dy=\"{dy}\" result=\"offsetblur\"/><feFlood flood-color=\"{color}\"/><feComposite in2=\"offsetblur\" operator=\"in\"/><feComponentTransfer><feFuncA type=\"linear\" slope=\"{opacity}\"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in=\"SourceGraphic\"/></feMerge>',{color:e,dx:b,dy:c,blur:d,opacity:f})},a.filter.shadow.toString=function(){return this()},a.filter.grayscale=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0\"/>',{a:.2126+.7874*(1-b),b:.7152-.7152*(1-b),c:.0722-.0722*(1-b),d:.2126-.2126*(1-b),e:.7152+.2848*(1-b),f:.0722-.0722*(1-b),g:.2126-.2126*(1-b),h:.0722+.9278*(1-b)})},a.filter.grayscale.toString=function(){return this()},a.filter.sepia=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0\"/>',{a:.393+.607*(1-b),b:.769-.769*(1-b),c:.189-.189*(1-b),d:.349-.349*(1-b),e:.686+.314*(1-b),f:.168-.168*(1-b),g:.272-.272*(1-b),h:.534-.534*(1-b),i:.131+.869*(1-b)})},a.filter.sepia.toString=function(){return this()},a.filter.saturate=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"saturate\" values=\"{amount}\"/>',{amount:1-b})},a.filter.saturate.toString=function(){return this()},a.filter.hueRotate=function(b){return b=b||0,a.format('<feColorMatrix type=\"hueRotate\" values=\"{angle}\"/>',{angle:b})},a.filter.hueRotate.toString=function(){return this()},a.filter.invert=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncG type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncB type=\"table\" tableValues=\"{amount} {amount2}\"/></feComponentTransfer>',{amount:b,amount2:1-b})},a.filter.invert.toString=function(){return this()},a.filter.brightness=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\"/><feFuncG type=\"linear\" slope=\"{amount}\"/><feFuncB type=\"linear\" slope=\"{amount}\"/></feComponentTransfer>',{amount:b})},a.filter.brightness.toString=function(){return this()},a.filter.contrast=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncG type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncB type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/></feComponentTransfer>',{amount:b,amount2:.5-b/2})},a.filter.contrast.toString=function(){return this()}}),d});\n",
"]]></script>\n",
"<script><![CDATA[\n",
"(function (glob, factory) {\n",
" if (typeof define === 'function' && define.amd) {\n",
" define('ProfileSVG', ['ProfileSVG/snap.svg'], function (Snap) {\n",
" return factory(Snap);\n",
" });\n",
" } else {\n",
" glob.ProfileSVG = factory(glob.Snap);\n",
" }\n",
"}(this, function (Snap) {\n",
" 'use strict';\n",
"\n",
" var supportsPassive = false;\n",
" try {\n",
" var opts = Object.defineProperty({}, 'passive', {\n",
" get: function () {\n",
" return supportsPassive = true;\n",
" }\n",
" });\n",
" window.addEventListener(\"testPassive\", null, opts);\n",
" window.removeEventListener(\"testPassive\", null, opts);\n",
" } catch (e) { // not supported\n",
" }\n",
"\n",
" var stopper = function (e) {\n",
" e.preventDefault();\n",
" e.stopPropagation();\n",
" };\n",
"\n",
" var throttle = function (delay, filter, callback) {\n",
" var previousCall = new Date().getTime();\n",
" return function (e) {\n",
" var time = new Date().getTime();\n",
" if ((time - previousCall) >= delay) {\n",
" previousCall = time;\n",
" callback.apply(null, arguments);\n",
" }\n",
" filter(e);\n",
" };\n",
" };\n",
"\n",
"\n",
" var ProfileSVG = {};\n",
"\n",
" var NS_SVG = 'http://www.w3.org/2000/svg';\n",
" var DEFAULT_TRANSITION_TIME = 300;\n",
" var ZOOM_STEP = 1.4;\n",
" var VIEWPORT_SCALE = 0.9;\n",
" var VIEWPORT_MARGIN_X = 20;\n",
"\n",
" var formatText = function (fig, text, availableWidth) {\n",
" if (availableWidth < 3 * fig.charWidthM) {\n",
" return '';\n",
" }\n",
" var w = availableWidth;\n",
" var m = fig.charWidthM;\n",
" var n = fig.charWidthN;\n",
" var m2 = m * m;\n",
" var n2 = n * n;\n",
" var nc = 0.5 / n2 * (\n",
" (n - m) * Math.sqrt(n2 + (4 * w - 2 * m) * n + m2) + n2 + 2 * (w - m) * n + m2);\n",
" var nchars = Math.ceil(nc);\n",
" if (text.length <= nchars) {\n",
" return text;\n",
" }\n",
" return text.slice(0, nchars - 2) + '..';\n",
" };\n",
"\n",
" var unescapeHtml = function (str) {\n",
" return str\n",
" .replace(/&lt;/g, '<')\n",
" .replace(/&gt;/g, '>')\n",
" .replace(/&amp;/g, '&');\n",
" };\n",
"\n",
" var isDarkColor = function (c) {\n",
" var m = c.match(/^rgba?\\(\\s*(\\d+)[\\s,]+(\\d+)[\\s,]+(\\d+)/);\n",
" if (m) {\n",
" return m[1] * 299 + m[2] * 587 + m[3] * 114 < 255 * 650;\n",
" }\n",
" m = c.match(/^#([\\dA-F]{2})([\\dA-F]{2})([\\dA-F]{2})/i);\n",
" if (m) {\n",
" var r = parseInt(m[1], 16);\n",
" var g = parseInt(m[2], 16);\n",
" var b = parseInt(m[3], 16);\n",
" return r * 299 + g * 587 + b * 114 < 255 * 650;\n",
" }\n",
" return true;\n",
" };\n",
"\n",
" ProfileSVG.moveAndZoom = function (targetFocusX, targetScaleX, fig, deltaT) {\n",
" if (typeof deltaT === 'undefined') {\n",
" deltaT = DEFAULT_TRANSITION_TIME;\n",
" }\n",
"\n",
" var targetFocusY = fig.cy;\n",
" var targetScaleY = 1;\n",
"\n",
" // TODO: dynamically update the transformation while dragging\n",
" var mat = fig.viewport.node.transform.baseVal.consolidate().matrix;\n",
"\n",
" var oldScaleX = mat.a;\n",
" var oldScaleY = mat.d;\n",
" var oldE = mat.e;\n",
" var oldF = mat.f;\n",
"\n",
" var targetE = fig.cx - targetScaleX * targetFocusX;\n",
" var targetF = fig.cy - targetScaleY * targetFocusY;\n",
"\n",
" fig.focusX = targetFocusX;\n",
" fig.focusY = targetFocusY;\n",
" fig.scaleX = targetScaleX;\n",
" fig.scaleY = targetScaleY;\n",
"\n",
" var rects = undefined;\n",
" var pathrects = undefined;\n",
" if (fig.roundradius > 0) {\n",
" rects = fig.viewport.selectAll('rect');\n",
" } else {\n",
" pathrects = fig.viewport.selectAll('path');\n",
" }\n",
"\n",
" var scaleViewport = function (step) {\n",
" var scaleX = oldScaleX + (targetScaleX - oldScaleX) * step;\n",
" var scaleY = oldScaleY + (targetScaleY - oldScaleY) * step;\n",
"\n",
" var rMatrix = fig.viewport.node.transform.baseVal.consolidate().matrix;\n",
" rMatrix.a = scaleX;\n",
" rMatrix.d = scaleY;\n",
" rMatrix.e = oldE + (targetE - oldE) * step; // TransX\n",
" rMatrix.f = oldF + (targetF - oldF) * step; // TransY\n",
"\n",
" if (rects) {\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" rect.setAttribute('rx', Math.max(0.0, fig.roundradius / scaleX));\n",
" rect.setAttribute('ry', Math.max(0.0, fig.roundradius / scaleY));\n",
" });\n",
" }\n",
" };\n",
"\n",
" var finish = function () {\n",
" scaleViewport(1);\n",
" var scaleXt = 1.0 / targetScaleX;\n",
" var scaleYt = 1.0 / targetScaleY;\n",
" var updateText = function (text, x, y, w, shortinfo) {\n",
" var tMatrix = text.transform.baseVal.getItem(0).matrix;\n",
" tMatrix.a = scaleXt;\n",
" tMatrix.d = scaleYt;\n",
" tMatrix.e = (1.0 - scaleXt) * x;\n",
" tMatrix.f = (1.0 - scaleYt) * y;\n",
"\n",
" text.firstChild.nodeValue = formatText(fig, shortinfo, w / scaleXt);\n",
" text.style.display = 'inherit';\n",
" };\n",
" if (rects) {\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" var x = rect.x.baseVal.value;\n",
" var y = rect.y.baseVal.value;\n",
" var w = rect.width.baseVal.value;\n",
" var shortinfo = rect.getAttribute('data-shortinfo');\n",
" updateText(rect.nextElementSibling, x, y, w, shortinfo);\n",
" });\n",
" }\n",
" if (pathrects) {\n",
" pathrects.forEach(function (p) {\n",
" var path = p.node;\n",
" // The API compatibility of path segments is problematic.\n",
" var d = path.getAttribute('d');\n",
" var values = d.match(/^M\\s*([\\d.]+)[\\s,]+(-?[\\d.]+)[^h]+h\\s*([\\d.]+)/);\n",
" var x = Number(values[1]);\n",
" var y = Number(values[2]);\n",
" var w = Number(values[3]);\n",
" var shortinfo = path.getAttribute('data-shortinfo');\n",
" updateText(path.nextElementSibling, x, y, w, shortinfo);\n",
" });\n",
" }\n",
" };\n",
"\n",
" if (deltaT != 0) {\n",
" if (!fig.notext) {\n",
" fig.viewport.selectAll('text').forEach(function (text) {\n",
" text.node.style.display = 'none';\n",
" });\n",
" }\n",
" Snap.animate(0, 1, scaleViewport, deltaT, null, fig.notext ? null : finish);\n",
" } else {\n",
" if (!fig.notext) {\n",
" finish();\n",
" }\n",
" }\n",
"\n",
" };\n",
"\n",
" ProfileSVG.reset = function (fig) {\n",
" var w = fig.width - VIEWPORT_MARGIN_X;\n",
" var targetScaleX = fig.width / w * VIEWPORT_SCALE;\n",
" ProfileSVG.moveAndZoom(fig.cx, targetScaleX, fig);\n",
" };\n",
"\n",
" ProfileSVG.initialize = function (figId) {\n",
"\n",
" var svg = Snap.select('#' + figId);\n",
" var fig = {};\n",
" fig.id = figId;\n",
"\n",
" var bg = svg.select('#' + figId + '-bg');\n",
" var bbox = bg.getBBox();\n",
" fig.width = bbox.width;\n",
" fig.height = bbox.height;\n",
" fig.cx = fig.width / 2;\n",
" fig.cy = fig.height / 2;\n",
"\n",
" fig.viewport = svg.select('#' + figId + '-viewport');\n",
"\n",
" fig.xstep = fig.viewport.node.getAttribute('data-xstep');\n",
" fig.tunit = fig.viewport.node.getAttribute('data-tunit');\n",
" fig.delay = fig.viewport.node.getAttribute('data-delay');\n",
"\n",
" var texts = fig.viewport.selectAll('text');\n",
" fig.notext = false;\n",
" if (texts[0]) {\n",
" fig.notext = getComputedStyle(texts[0].node).strokeOpacity == 0.0;\n",
" texts.forEach(function (text) {\n",
" text.node.style.display = 'none';\n",
" });\n",
" }\n",
" texts = null;\n",
"\n",
" fig.roundradius = 0.0;\n",
" var rect = fig.viewport.select('rect');\n",
" if (rect) {\n",
" fig.roundradius = rect.node.rx.baseVal.value;\n",
" }\n",
"\n",
" fig.scaleX = 1.0;\n",
" fig.scaleY = 1.0; // prepare for the future\n",
" fig.focusX = fig.cx; // center x in the raw (scaleX=1) coordinate space\n",
" fig.focusY = fig.cy; // center y in the raw (scaleY=1) coordinate space\n",
"\n",
" var textBg = document.createElementNS(NS_SVG, 'rect');\n",
" var detail = document.createElementNS(NS_SVG, 'text');\n",
" var time = document.createElementNS(NS_SVG, 'text');\n",
" detail.style.visibility = 'hidden';\n",
" detail.textContent = 'MOw';\n",
" fig.viewport.node.parentNode.appendChild(textBg);\n",
" fig.viewport.node.parentNode.appendChild(detail);\n",
" fig.viewport.node.parentNode.appendChild(time);\n",
" var mBBox = detail.getBBox();\n",
" fig.charWidthM = mBBox.width / 3;\n",
" detail.textContent = 'night';\n",
" var nBBox = detail.getBBox();\n",
" fig.charWidthN = nBBox.width / 5;\n",
" fig.textHeight = nBBox.height;\n",
" detail.style.display = 'none';\n",
" detail.style.visibility = 'visible';\n",
"\n",
" detail.setAttribute('id', figId + '-details');\n",
" detail.setAttribute('x', fig.charWidthM);\n",
" detail.setAttribute('y', fig.height - fig.textHeight * 0.75);\n",
"\n",
" time.setAttribute('x', fig.width - fig.charWidthM * 10);\n",
" time.setAttribute('y', fig.height - fig.textHeight * 0.75);\n",
"\n",
" textBg.setAttribute('x', 0);\n",
" textBg.setAttribute('y', fig.height - fig.textHeight * 2);\n",
" textBg.setAttribute('width', fig.width);\n",
" textBg.setAttribute('height', fig.textHeight * 2);\n",
" var textBgFill = getComputedStyle(textBg).fill;\n",
" if (textBgFill == \"rgba(0, 0, 0, 0)\" || textBgFill == \"transparent\") {\n",
" var isDark = isDarkColor(getComputedStyle(detail).fill);\n",
" textBg.style.fill = isDark ? 'white' : 'black';\n",
" }\n",
" textBg.style.display = 'none';\n",
"\n",
" ProfileSVG.reset(fig);\n",
"\n",
" var rectDblClickHandler = function (e) {\n",
" var bbox = e.target.getBBox();\n",
" var cx = bbox.x + bbox.width / 2;\n",
" var targetScaleX = fig.width / bbox.width * VIEWPORT_SCALE;\n",
" ProfileSVG.moveAndZoom(cx, targetScaleX, fig);\n",
" };\n",
"\n",
" var rectMouseOverHandler = function (e) {\n",
" var rect = e.target;\n",
" var text = rect.nextElementSibling;\n",
" var details = document.getElementById(fig.id + '-details');\n",
" text.style.strokeWidth = '1';\n",
" var sinfo = rect.getAttribute('data-shortinfo');\n",
" var dir = rect.getAttribute('data-dinfo');\n",
" var i = sinfo.indexOf(' in ');\n",
" var func = sinfo.slice(0, i + 4);\n",
" var file = sinfo.slice(i + 4);\n",
" var time = details.nextElementSibling;\n",
" details.textContent = 'Function: ' + func + dir + file;\n",
" details.style.display = 'inherit';\n",
" if (fig.delay) {\n",
" var count = Math.round(rect.width.baseVal.value / fig.xstep);\n",
" var t = count * (fig.tunit === 's' ? fig.delay :\n",
" fig.tunit === 'ms' ? fig.delay * 1e3 :\n",
" fig.tunit === 'us' || fig.tunit === 'μs' ? fig.delay * 1e6 : 1);\n",
" var tp = Math.round(t * 1000) / 1000;\n",
" time.textContent = 'Time: ' + tp + ' ' + fig.tunit;\n",
" time.style.display = 'inherit';\n",
" }\n",
" details.previousElementSibling.style.display = 'inherit';\n",
" };\n",
" var rectMouseOutHandler = function (e) {\n",
" var rect = e.target;\n",
" var text = rect.nextElementSibling;\n",
" var details = document.getElementById(fig.id + '-details');\n",
" text.style.strokeWidth = '0';\n",
" details.style.display = 'none';\n",
" details.previousElementSibling.style.display = 'none';\n",
" details.nextElementSibling.style.display = 'none';\n",
" };\n",
"\n",
" var rects = fig.viewport.selectAll(fig.roundradius > 0 ? 'rect' : 'path');\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" var text = rect.nextElementSibling;\n",
" rect.setAttribute('data-shortinfo', unescapeHtml(text.textContent));\n",
" var dir = unescapeHtml(rect.getAttribute('data-dinfo'));\n",
" rect.setAttribute('data-dinfo', dir);\n",
" rect.addEventListener('dblclick', rectDblClickHandler, false);\n",
" rect.addEventListener('mouseover', rectMouseOverHandler, false);\n",
" rect.addEventListener('mouseout', rectMouseOutHandler, false);\n",
" var transform = svg.node.createSVGTransform();\n",
" text.transform.baseVal.initialize(transform); // matrix(1, 0, 0, 1, 0, 0)\n",
" });\n",
" rects = null;\n",
"\n",
" bg.dblclick(function () {\n",
" ProfileSVG.reset(fig);\n",
" });\n",
"\n",
" var mouseWheelHandler = throttle(400, stopper, function (e) {\n",
" var delta = Math.round(e.deltaY * 100);\n",
" if (delta == 0) {\n",
" return;\n",
" }\n",
" var scale = delta < 0 ? ZOOM_STEP : 1 / ZOOM_STEP;\n",
"\n",
" var clientRect = svg.node.getBoundingClientRect();\n",
" var mx = e.clientX - clientRect.left;\n",
" //var my = e.clientY - clientRect.top;\n",
" var ctm = svg.node.getCTM();\n",
" var x = ctm ? (mx - ctm.e) / ctm.a : mx;\n",
" //var y = ctm ? (my - ctm.f) / ctm.d : my;\n",
" var px = (x - fig.cx) / fig.scaleX + fig.focusX;\n",
" var targetScaleX = Math.max(fig.scaleX * scale, 0.01);\n",
" var targetFocusX = fig.scaleX / targetScaleX * (fig.focusX - px) + px;\n",
" ProfileSVG.moveAndZoom(targetFocusX, targetScaleX, fig, 400);\n",
" });\n",
"\n",
" svg.node.addEventListener('wheel', mouseWheelHandler, supportsPassive ? {\n",
" passive: false\n",
" } : false);\n",
"\n",
" fig.viewport.drag();\n",
" };\n",
"\n",
" return ProfileSVG;\n",
"}));\n",
"\n",
"]]></script>\n",
"<script><![CDATA[\n",
"if (typeof require === 'function' && define.amd) {\n",
" require(['ProfileSVG'], function (ProfileSVG) {\n",
" ProfileSVG.initialize(\"fig-af5d7392c4f2484ab313da4526e25d97\");\n",
" });\n",
"} else {\n",
" ProfileSVG.initialize(\"fig-af5d7392c4f2484ab313da4526e25d97\");\n",
"}\n",
"]]></script>\n",
"</svg>\n"
],
"text/html": [
"<!DOCTYPE html>\n",
"<html>\n",
"<body>\n",
"<svg version=\"1.1\" width=\"960\" height=\"466\" viewBox=\"0 0 960 466\"\n",
" xmlns=\"http://www.w3.org/2000/svg\" id=\"fig-09a36b101fea45b58e9836c627116ac7\">\n",
"<defs>\n",
" <clipPath id=\"fig-09a36b101fea45b58e9836c627116ac7-clip\">\n",
" <rect x=\"0\" y=\"0\" width=\"960\" height=\"466\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<style type=\"text/css\">\n",
" #fig-09a36b101fea45b58e9836c627116ac7 text {\n",
" pointer-events: none;\n",
" font-family: inherit;\n",
" font-size: 12px;\n",
" fill: #000000;\n",
" }\n",
" text#fig-09a36b101fea45b58e9836c627116ac7-caption {\n",
" font-size: 16.8px;\n",
" fill: #000000;\n",
" text-anchor: middle;\n",
" }\n",
" #fig-09a36b101fea45b58e9836c627116ac7-bg {\n",
" fill: #FFFFFF;\n",
" }\n",
" #fig-09a36b101fea45b58e9836c627116ac7-viewport rect, #fig-09a36b101fea45b58e9836c627116ac7-viewport path {\n",
" vector-effect: non-scaling-stroke;\n",
" fill-opacity: 1;\n",
" }\n",
" #fig-09a36b101fea45b58e9836c627116ac7-viewport text {\n",
" stroke: #000000;\n",
" stroke-width: 0;\n",
" stroke-opacity: 0.35;\n",
" }\n",
" #fig-09a36b101fea45b58e9836c627116ac7-viewport rect:hover, #fig-09a36b101fea45b58e9836c627116ac7-viewport path:hover {\n",
" fill-opacity: 0.75;\n",
" stroke: #000000;\n",
" stroke-width: 0.5;\n",
" }\n",
" #fig-09a36b101fea45b58e9836c627116ac7-viewport + rect {\n",
" fill: #FFFFFF;\n",
" opacity: 0.8;\n",
" }\n",
" text#fig-09a36b101fea45b58e9836c627116ac7-details{\n",
" fill: #000000;\n",
" }\n",
"</style>\n",
"<g id=\"fig-09a36b101fea45b58e9836c627116ac7-frame\" clip-path=\"url(#fig-09a36b101fea45b58e9836c627116ac7-clip)\">\n",
"<rect id=\"fig-09a36b101fea45b58e9836c627116ac7-bg\" x=\"0\" y=\"0\" width=\"960\" height=\"466\"/>\n",
"<text id=\"fig-09a36b101fea45b58e9836c627116ac7-caption\" x=\"480\" y=\"24\">Profile results</text>\n",
"<g id=\"fig-09a36b101fea45b58e9836c627116ac7-viewport\" transform=\"scale(1)\">\n",
"<rect x=\"10\" y=\"413\" width=\"939.4\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"\"/>\n",
"<text x=\"10\" dx=\"4\" y=\"424.25\"> in :-1</text>\n",
"<rect x=\"17.7\" y=\"398\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"409.25\">#15 in task.jl:514</text>\n",
"<rect x=\"17.7\" y=\"383\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"/Users/elvis/.julia/packages/IJulia/Vo51o/src/\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"394.25\">eventloop in eventloop.jl:8</text>\n",
"<rect x=\"17.7\" y=\"368\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"379.25\">invokelatest in essentials.jl:816</text>\n",
"<rect x=\"17.7\" y=\"353\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"364.25\">#invokelatest#2 in essentials.jl:819</text>\n",
"<rect x=\"17.7\" y=\"338\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#D42137\" data-dinfo=\"/Users/elvis/.julia/packages/IJulia/Vo51o/src/\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"349.25\">execute_request in execute_request.jl:67</text>\n",
"<rect x=\"17.7\" y=\"323\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"/Users/elvis/.julia/packages/SoftGlobalScope/u4UzH/src/\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"334.25\">softscope_include_string in SoftGlobalScope.jl:65</text>\n",
"<rect x=\"17.7\" y=\"308\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"319.25\">include_string in loading.jl:1903</text>\n",
"<rect x=\"17.7\" y=\"293\" width=\"723.8\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"304.25\">eval in boot.jl:370</text>\n",
"<rect x=\"17.7\" y=\"278\" width=\"23.1\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"289.25\">\\ in housQR.jl:114</text>\n",
"<rect x=\"17.7\" y=\"263\" width=\"23.1\" height=\"15\" rx=\"2\" fill=\"#F3004D\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"274.25\">qyhoust in housQR.jl:62</text>\n",
"<rect x=\"17.7\" y=\"248\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"259.25\">getindex in abstractarray.jl:1296</text>\n",
"<rect x=\"17.7\" y=\"233\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"244.25\">_getindex in multidimensional.jl:861</text>\n",
"<rect x=\"17.7\" y=\"218\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"229.25\">_unsafe_getindex in multidimensional.jl:875</text>\n",
"<rect x=\"17.7\" y=\"203\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"214.25\">_unsafe_getindex! in multidimensional.jl:884</text>\n",
"<rect x=\"17.7\" y=\"188\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"199.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"17.7\" y=\"173\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"184.25\">macro expansion in multidimensional.jl:889</text>\n",
"<rect x=\"17.7\" y=\"158\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"17.7\" dx=\"4\" y=\"169.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"25.4\" y=\"248\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"259.25\">- in arraymath.jl:8</text>\n",
"<rect x=\"25.4\" y=\"233\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"244.25\">broadcast_preserving_zero_d in broadcast.jl:862</text>\n",
"<rect x=\"25.4\" y=\"218\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"229.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"25.4\" y=\"203\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"214.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"25.4\" y=\"188\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"199.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"25.4\" y=\"173\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"184.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"25.4\" y=\"158\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"169.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"25.4\" y=\"143\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"154.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"25.4\" y=\"128\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"25.4\" dx=\"4\" y=\"139.25\">setindex! in array.jl:969</text>\n",
"<rect x=\"33.1\" y=\"248\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"259.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"33.1\" y=\"233\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"244.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"33.1\" y=\"218\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"229.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"33.1\" y=\"203\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"214.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"33.1\" y=\"188\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"199.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"33.1\" y=\"173\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"184.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"33.1\" y=\"158\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"169.25\">getindex in broadcast.jl:610</text>\n",
"<rect x=\"33.1\" y=\"143\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"154.25\">_broadcast_getindex in broadcast.jl:655</text>\n",
"<rect x=\"33.1\" y=\"128\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"139.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"33.1\" y=\"113\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"124.25\">_broadcast_getindex in broadcast.jl:649</text>\n",
"<rect x=\"33.1\" y=\"98\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"33.1\" dx=\"4\" y=\"109.25\">getindex in essentials.jl:13</text>\n",
"<rect x=\"40.8\" y=\"278\" width=\"700.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"/Users/elvis/Documents/University/Corsi/Computational Mathematics for Learning and Data Analysis/CMLDA/project/\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"289.25\">qrfact in housQR.jl:40</text>\n",
"<rect x=\"40.8\" y=\"263\" width=\"184.8\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"274.25\">setindex! in abstractarray.jl:1399</text>\n",
"<rect x=\"40.8\" y=\"248\" width=\"184.8\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"259.25\">_setindex! in multidimensional.jl:916</text>\n",
"<rect x=\"40.8\" y=\"233\" width=\"184.8\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"244.25\">_unsafe_setindex! in multidimensional.jl:927</text>\n",
"<rect x=\"40.8\" y=\"218\" width=\"169.4\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"229.25\">macro expansion in cartesian.jl:64</text>\n",
"<rect x=\"40.8\" y=\"203\" width=\"77\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"40.8\" dx=\"4\" y=\"214.25\">macro expansion in multidimensional.jl:930</text>\n",
"<rect x=\"117.8\" y=\"203\" width=\"84.7\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"117.8\" dx=\"4\" y=\"214.25\">macro expansion in multidimensional.jl:932</text>\n",
"<rect x=\"117.8\" y=\"188\" width=\"84.7\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"117.8\" dx=\"4\" y=\"199.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"202.5\" y=\"203\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"202.5\" dx=\"4\" y=\"214.25\">macro expansion in multidimensional.jl:933</text>\n",
"<rect x=\"202.5\" y=\"188\" width=\"7.7\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"202.5\" dx=\"4\" y=\"199.25\">iterate in array.jl:893</text>\n",
"<rect x=\"210.2\" y=\"218\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"210.2\" dx=\"4\" y=\"229.25\">macro expansion in cartesian.jl:66</text>\n",
"<rect x=\"210.2\" y=\"203\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"210.2\" dx=\"4\" y=\"214.25\">iterate in range.jl:891</text>\n",
"<rect x=\"210.2\" y=\"188\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"210.2\" dx=\"4\" y=\"199.25\">== in promotion.jl:499</text>\n",
"<rect x=\"225.6\" y=\"263\" width=\"292.6\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"274.25\">- in arraymath.jl:8</text>\n",
"<rect x=\"225.6\" y=\"248\" width=\"292.6\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"259.25\">broadcast_preserving_zero_d in broadcast.jl:862</text>\n",
"<rect x=\"225.6\" y=\"233\" width=\"292.6\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"244.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"225.6\" y=\"218\" width=\"292.6\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"229.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"225.6\" y=\"203\" width=\"231\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"214.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"225.6\" y=\"188\" width=\"231\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"199.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"225.6\" y=\"173\" width=\"231\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"184.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"225.6\" y=\"158\" width=\"231\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"169.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"225.6\" y=\"143\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"154.25\">getindex in broadcast.jl:610</text>\n",
"<rect x=\"225.6\" y=\"128\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"139.25\">_broadcast_getindex in broadcast.jl:655</text>\n",
"<rect x=\"225.6\" y=\"113\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"124.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"225.6\" y=\"98\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"109.25\">_broadcast_getindex in broadcast.jl:649</text>\n",
"<rect x=\"225.6\" y=\"83\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"94.25\">getindex in abstractarray.jl:1296</text>\n",
"<rect x=\"225.6\" y=\"68\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"79.25\">_getindex in abstractarray.jl:1346</text>\n",
"<rect x=\"225.6\" y=\"53\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"64.25\">getindex in subarray.jl:286</text>\n",
"<rect x=\"225.6\" y=\"38\" width=\"92.4\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"225.6\" dx=\"4\" y=\"49.25\">getindex in essentials.jl:14</text>\n",
"<rect x=\"318\" y=\"143\" width=\"138.6\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"318\" dx=\"4\" y=\"154.25\">setindex! in multidimensional.jl:670</text>\n",
"<rect x=\"318\" y=\"128\" width=\"138.6\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"318\" dx=\"4\" y=\"139.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"456.6\" y=\"203\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"214.25\">similar in broadcast.jl:211</text>\n",
"<rect x=\"456.6\" y=\"188\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"199.25\">similar in broadcast.jl:212</text>\n",
"<rect x=\"456.6\" y=\"173\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"184.25\">similar in abstractarray.jl:883</text>\n",
"<rect x=\"456.6\" y=\"158\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"169.25\">similar in abstractarray.jl:884</text>\n",
"<rect x=\"456.6\" y=\"143\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"154.25\">Array in boot.jl:494</text>\n",
"<rect x=\"456.6\" y=\"128\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"139.25\">Array in boot.jl:487</text>\n",
"<rect x=\"456.6\" y=\"113\" width=\"61.6\" height=\"15\" rx=\"2\" fill=\"#FFA000\" data-dinfo=\"./\"/>\n",
"<text x=\"456.6\" dx=\"4\" y=\"124.25\">Array in boot.jl:479</text>\n",
"<rect x=\"518.2\" y=\"263\" width=\"223.3\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"/private/tmp/julia-20231114-6658-1ywjgwz/julia-1.9.4/usr/share/julia/stdlib/v1.9/LinearAlgebra/src/\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"274.25\">* in matmul.jl:1162</text>\n",
"<rect x=\"518.2\" y=\"248\" width=\"223.3\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"259.25\">broadcast in broadcast.jl:811</text>\n",
"<rect x=\"518.2\" y=\"233\" width=\"223.3\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"244.25\">materialize in broadcast.jl:873</text>\n",
"<rect x=\"518.2\" y=\"218\" width=\"223.3\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"229.25\">copy in broadcast.jl:898</text>\n",
"<rect x=\"518.2\" y=\"203\" width=\"207.9\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"214.25\">copyto! in broadcast.jl:926</text>\n",
"<rect x=\"518.2\" y=\"188\" width=\"207.9\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"199.25\">copyto! in broadcast.jl:973</text>\n",
"<rect x=\"518.2\" y=\"173\" width=\"207.9\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"184.25\">macro expansion in simdloop.jl:77</text>\n",
"<rect x=\"518.2\" y=\"158\" width=\"207.9\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"169.25\">macro expansion in broadcast.jl:974</text>\n",
"<rect x=\"518.2\" y=\"143\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"154.25\">getindex in broadcast.jl:610</text>\n",
"<rect x=\"518.2\" y=\"128\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"139.25\">_broadcast_getindex in broadcast.jl:655</text>\n",
"<rect x=\"518.2\" y=\"113\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"124.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"518.2\" y=\"98\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"109.25\">_getindex in broadcast.jl:679</text>\n",
"<rect x=\"518.2\" y=\"83\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"94.25\">_broadcast_getindex in broadcast.jl:649</text>\n",
"<rect x=\"518.2\" y=\"68\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"79.25\">getindex in multidimensional.jl:668</text>\n",
"<rect x=\"518.2\" y=\"53\" width=\"100.1\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"518.2\" dx=\"4\" y=\"64.25\">getindex in essentials.jl:13</text>\n",
"<rect x=\"618.3\" y=\"143\" width=\"107.8\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"618.3\" dx=\"4\" y=\"154.25\">setindex! in multidimensional.jl:670</text>\n",
"<rect x=\"618.3\" y=\"128\" width=\"107.8\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"618.3\" dx=\"4\" y=\"139.25\">setindex! in array.jl:971</text>\n",
"<rect x=\"726.1\" y=\"203\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"214.25\">similar in broadcast.jl:211</text>\n",
"<rect x=\"726.1\" y=\"188\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"199.25\">similar in broadcast.jl:212</text>\n",
"<rect x=\"726.1\" y=\"173\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#E1B2FF\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"184.25\">similar in abstractarray.jl:883</text>\n",
"<rect x=\"726.1\" y=\"158\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#00B58B\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"169.25\">similar in abstractarray.jl:884</text>\n",
"<rect x=\"726.1\" y=\"143\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#6FDC91\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"154.25\">Array in boot.jl:494</text>\n",
"<rect x=\"726.1\" y=\"128\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#2CA3FF\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"139.25\">Array in boot.jl:487</text>\n",
"<rect x=\"726.1\" y=\"113\" width=\"15.4\" height=\"15\" rx=\"2\" fill=\"#FFA000\" data-dinfo=\"./\"/>\n",
"<text x=\"726.1\" dx=\"4\" y=\"124.25\">Array in boot.jl:479</text>\n",
"</g></g>\n",
"<script><![CDATA[\n",
"// Snap.svg 0.3.0\n",
"// \n",
"// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved.\n",
"// \n",
"// Licensed under the Apache License, Version 2.0 (the \"License\");\n",
"// you may not use this file except in compliance with the License.\n",
"// You may obtain a copy of the License at\n",
"// \n",
"// http://www.apache.org/licenses/LICENSE-2.0\n",
"// \n",
"// Unless required by applicable law or agreed to in writing, software\n",
"// distributed under the License is distributed on an \"AS IS\" BASIS,\n",
"// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
"// See the License for the specific language governing permissions and\n",
"// limitations under the License.\n",
"// \n",
"// build: 2014-06-03\n",
"!function(a){var b,c,d=\"0.4.2\",e=\"hasOwnProperty\",f=/[\\.\\/]/,g=/\\s*,\\s*/,h=\"*\",i=function(a,b){return a-b},j={n:{}},k=function(){for(var a=0,b=this.length;b>a;a++)if(\"undefined\"!=typeof this[a])return this[a]},l=function(){for(var a=this.length;--a;)if(\"undefined\"!=typeof this[a])return this[a]},m=function(a,d){a=String(a);var e,f=c,g=Array.prototype.slice.call(arguments,2),h=m.listeners(a),j=0,n=[],o={},p=[],q=b;p.firstDefined=k,p.lastDefined=l,b=a,c=0;for(var r=0,s=h.length;s>r;r++)\"zIndex\"in h[r]&&(n.push(h[r].zIndex),h[r].zIndex<0&&(o[h[r].zIndex]=h[r]));for(n.sort(i);n[j]<0;)if(e=o[n[j++] ],p.push(e.apply(d,g)),c)return c=f,p;for(r=0;s>r;r++)if(e=h[r],\"zIndex\"in e)if(e.zIndex==n[j]){if(p.push(e.apply(d,g)),c)break;do if(j++,e=o[n[j] ],e&&p.push(e.apply(d,g)),c)break;while(e)}else o[e.zIndex]=e;else if(p.push(e.apply(d,g)),c)break;return c=f,b=q,p};m._events=j,m.listeners=function(a){var b,c,d,e,g,i,k,l,m=a.split(f),n=j,o=[n],p=[];for(e=0,g=m.length;g>e;e++){for(l=[],i=0,k=o.length;k>i;i++)for(n=o[i].n,c=[n[m[e] ],n[h] ],d=2;d--;)b=c[d],b&&(l.push(b),p=p.concat(b.f||[]));o=l}return p},m.on=function(a,b){if(a=String(a),\"function\"!=typeof b)return function(){};for(var c=a.split(g),d=0,e=c.length;e>d;d++)!function(a){for(var c,d=a.split(f),e=j,g=0,h=d.length;h>g;g++)e=e.n,e=e.hasOwnProperty(d[g])&&e[d[g] ]||(e[d[g] ]={n:{}});for(e.f=e.f||[],g=0,h=e.f.length;h>g;g++)if(e.f[g]==b){c=!0;break}!c&&e.f.push(b)}(c[d]);return function(a){+a==+a&&(b.zIndex=+a)}},m.f=function(a){var b=[].slice.call(arguments,1);return function(){m.apply(null,[a,null].concat(b).concat([].slice.call(arguments,0)))}},m.stop=function(){c=1},m.nt=function(a){return a?new RegExp(\"(?:\\\\.|\\\\/|^)\"+a+\"(?:\\\\.|\\\\/|$)\").test(b):b},m.nts=function(){return b.split(f)},m.off=m.unbind=function(a,b){if(!a)return void(m._events=j={n:{}});var c=a.split(g);if(c.length>1)for(var d=0,i=c.length;i>d;d++)m.off(c[d],b);else{c=a.split(f);var k,l,n,d,i,o,p,q=[j];for(d=0,i=c.length;i>d;d++)for(o=0;o<q.length;o+=n.length-2){if(n=[o,1],k=q[o].n,c[d]!=h)k[c[d] ]&&n.push(k[c[d] ]);else for(l in k)k[e](l)&&n.push(k[l]);q.splice.apply(q,n)}for(d=0,i=q.length;i>d;d++)for(k=q[d];k.n;){if(b){if(k.f){for(o=0,p=k.f.length;p>o;o++)if(k.f[o]==b){k.f.splice(o,1);break}!k.f.length&&delete k.f}for(l in k.n)if(k.n[e](l)&&k.n[l].f){var r=k.n[l].f;for(o=0,p=r.length;p>o;o++)if(r[o]==b){r.splice(o,1);break}!r.length&&delete k.n[l].f}}else{delete k.f;for(l in k.n)k.n[e](l)&&k.n[l].f&&delete k.n[l].f}k=k.n}}},m.once=function(a,b){var c=function(){return m.unbind(a,c),b.apply(this,arguments)};return m.on(a,c)},m.version=d,m.toString=function(){return\"You are running Eve \"+d},\"undefined\"!=typeof module&&module.exports?module.exports=m:\"function\"==typeof define&&define.amd?define(\"eve\",[],function(){return m}):a.eve=m}(this),function(a,b){\"function\"==typeof define&&define.amd?define('ProfileSVG/snap.svg', [\"eve\"],function(c){return b(a,c)}):b(a,a.eve)}(this,function(a,b){var c=function(b){var c={},d=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(a){setTimeout(a,16)},e=Array.isArray||function(a){return a instanceof Array||\"[object Array]\"==Object.prototype.toString.call(a)},f=0,g=\"M\"+(+new Date).toString(36),h=function(){return g+(f++).toString(36)},i=Date.now||function(){return+new Date},j=function(a){var b=this;if(null==a)return b.s;var c=b.s-a;b.b+=b.dur*c,b.B+=b.dur*c,b.s=a},k=function(a){var b=this;return null==a?b.spd:void(b.spd=a)},l=function(a){var b=this;return null==a?b.dur:(b.s=b.s*a/b.dur,void(b.dur=a))},m=function(){var a=this;delete c[a.id],a.update(),b(\"mina.stop.\"+a.id,a)},n=function(){var a=this;a.pdif||(delete c[a.id],a.update(),a.pdif=a.get()-a.b)},o=function(){var a=this;a.pdif&&(a.b=a.get()-a.pdif,delete a.pdif,c[a.id]=a)},p=function(){var a,b=this;if(e(b.start)){a=[];for(var c=0,d=b.start.length;d>c;c++)a[c]=+b.start[c]+(b.end[c]-b.start[c])*b.easing(b.s)}else a=+b.start+(b.end-b.start)*b.easing(b.s);b.set(a)},q=function(){var a=0;for(var e in c)if(c.hasOwnProperty(e)){var f=c[e],g=f.get();a++,f.s=(g-f.b)/(f.dur/f.spd),f.s>=1&&(delete c[e],f.s=1,a--,function(a){setTimeout(function(){b(\"mina.finish.\"+a.id,a)})}(f)),f.update()}a&&d(q)},r=function(a,b,e,f,g,i,s){var t={id:h(),start:a,end:b,b:e,s:0,dur:f-e,spd:1,get:g,set:i,easing:s||r.linear,status:j,speed:k,duration:l,stop:m,pause:n,resume:o,update:p};c[t.id]=t;var u,v=0;for(u in c)if(c.hasOwnProperty(u)&&(v++,2==v))break;return 1==v&&d(q),t};return r.time=i,r.getById=function(a){return c[a]||null},r.linear=function(a){return a},r.easeout=function(a){return Math.pow(a,1.7)},r.easein=function(a){return Math.pow(a,.48)},r.easeinout=function(a){if(1==a)return 1;if(0==a)return 0;var b=.48-a/1.04,c=Math.sqrt(.1734+b*b),d=c-b,e=Math.pow(Math.abs(d),1/3)*(0>d?-1:1),f=-c-b,g=Math.pow(Math.abs(f),1/3)*(0>f?-1:1),h=e+g+.5;return 3*(1-h)*h*h+h*h*h},r.backin=function(a){if(1==a)return 1;var b=1.70158;return a*a*((b+1)*a-b)},r.backout=function(a){if(0==a)return 0;a-=1;var b=1.70158;return a*a*((b+1)*a+b)+1},r.elastic=function(a){return a==!!a?a:Math.pow(2,-10*a)*Math.sin(2*(a-.075)*Math.PI/.3)+1},r.bounce=function(a){var b,c=7.5625,d=2.75;return 1/d>a?b=c*a*a:2/d>a?(a-=1.5/d,b=c*a*a+.75):2.5/d>a?(a-=2.25/d,b=c*a*a+.9375):(a-=2.625/d,b=c*a*a+.984375),b},a.mina=r,r}(\"undefined\"==typeof b?function(){}:b),d=function(){function d(a,b){if(a){if(a.tagName)return y(a);if(f(a,\"array\")&&d.set)return d.set.apply(d,a);if(a instanceof u)return a;if(null==b)return a=z.doc.querySelector(a),y(a)}return a=null==a?\"100%\":a,b=null==b?\"100%\":b,new x(a,b)}function e(a,b){if(b){if(\"#text\"==a&&(a=z.doc.createTextNode(b.text||\"\")),\"string\"==typeof a&&(a=e(a)),\"string\"==typeof b)return\"xlink:\"==b.substring(0,6)?a.getAttributeNS(W,b.substring(6)):\"xml:\"==b.substring(0,4)?a.getAttributeNS(X,b.substring(4)):a.getAttribute(b);for(var c in b)if(b[A](c)){var d=B(b[c]);d?\"xlink:\"==c.substring(0,6)?a.setAttributeNS(W,c.substring(6),d):\"xml:\"==c.substring(0,4)?a.setAttributeNS(X,c.substring(4),d):a.setAttribute(c,d):a.removeAttribute(c)}}else a=z.doc.createElementNS(X,a);return a}function f(a,b){return b=B.prototype.toLowerCase.call(b),\"finite\"==b?isFinite(a):\"array\"==b&&(a instanceof Array||Array.isArray&&Array.isArray(a))?!0:\"null\"==b&&null===a||b==typeof a&&null!==a||\"object\"==b&&a===Object(a)||L.call(a).slice(8,-1).toLowerCase()==b}function h(a){if(\"function\"==typeof a||Object(a)!==a)return a;var b=new a.constructor;for(var c in a)a[A](c)&&(b[c]=h(a[c]));return b}function i(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return a.push(a.splice(c,1)[0])}function j(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join(\"␀\"),g=d.cache=d.cache||{},h=d.count=d.count||[];return g[A](f)?(i(h,f),c?c(g[f]):g[f]):(h.length>=1e3&&delete g[h.shift()],h.push(f),g[f]=a.apply(b,e),c?c(g[f]):g[f])}return d}function k(a,b,c,d,e,f){if(null==e){var g=a-c,h=b-d;return g||h?(180+180*E.atan2(-h,-g)/I+360)%360:0}return k(a,b,e,f)-k(c,d,e,f)}function l(a){return a%360*I/180}function m(a){return 180*a/I%360}function n(a){var b=[];return a=a.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g,function(a,c,d){return d=d.split(/\\s*,\\s*|\\s+/),\"rotate\"==c&&1==d.length&&d.push(0,0),\"scale\"==c&&(d.length>2?d=d.slice(0,2):2==d.length&&d.push(0,0),1==d.length&&d.push(d[0],0,0)),b.push(\"skewX\"==c?[\"m\",1,0,E.tan(l(d[0])),1,0,0]:\"skewY\"==c?[\"m\",1,E.tan(l(d[0])),0,1,0,0]:[c.charAt(0)].concat(d)),a}),b}function o(a,b){var c=eb(a),e=new d.Matrix;if(c)for(var f=0,g=c.length;g>f;f++){var h,i,j,k,l,m=c[f],n=m.length,o=B(m[0]).toLowerCase(),p=m[0]!=o,q=p?e.invert():0;\"t\"==o&&2==n?e.translate(m[1],0):\"t\"==o&&3==n?p?(h=q.x(0,0),i=q.y(0,0),j=q.x(m[1],m[2]),k=q.y(m[1],m[2]),e.translate(j-h,k-i)):e.translate(m[1],m[2]):\"r\"==o?2==n?(l=l||b,e.rotate(m[1],l.x+l.width/2,l.y+l.height/2)):4==n&&(p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.rotate(m[1],j,k)):e.rotate(m[1],m[2],m[3])):\"s\"==o?2==n||3==n?(l=l||b,e.scale(m[1],m[n-1],l.x+l.width/2,l.y+l.height/2)):4==n?p?(j=q.x(m[2],m[3]),k=q.y(m[2],m[3]),e.scale(m[1],m[1],j,k)):e.scale(m[1],m[1],m[2],m[3]):5==n&&(p?(j=q.x(m[3],m[4]),k=q.y(m[3],m[4]),e.scale(m[1],m[2],j,k)):e.scale(m[1],m[2],m[3],m[4])):\"m\"==o&&7==n&&e.add(m[1],m[2],m[3],m[4],m[5],m[6])}return e}function p(a,b){if(null==b){var c=!0;if(b=a.node.getAttribute(\"linearGradient\"==a.type||\"radialGradient\"==a.type?\"gradientTransform\":\"pattern\"==a.type?\"patternTransform\":\"transform\"),!b)return new d.Matrix;b=n(b)}else b=d._.rgTransform.test(b)?B(b).replace(/\\.{3}|\\u2026/g,a._.transform||J):n(b),f(b,\"array\")&&(b=d.path?d.path.toString.call(b):B(b)),a._.transform=b;var e=o(b,a.getBBox(1));return c?e:void(a.matrix=e)}function q(a){var b=a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||a.node.parentNode&&y(a.node.parentNode)||d.select(\"svg\")||d(0,0),c=b.select(\"defs\"),e=null==c?!1:c.node;return e||(e=w(\"defs\",b.node).node),e}function r(a){return a.node.ownerSVGElement&&y(a.node.ownerSVGElement)||d.select(\"svg\")}function s(a,b,c){function d(a){if(null==a)return J;if(a==+a)return a;e(j,{width:a});try{return j.getBBox().width}catch(b){return 0}}function f(a){if(null==a)return J;if(a==+a)return a;e(j,{height:a});try{return j.getBBox().height}catch(b){return 0}}function g(d,e){null==b?i[d]=e(a.attr(d)||0):d==b&&(i=e(null==c?a.attr(d)||0:c))}var h=r(a).node,i={},j=h.querySelector(\".svg---mgr\");switch(j||(j=e(\"rect\"),e(j,{x:-9e9,y:-9e9,width:10,height:10,\"class\":\"svg---mgr\",fill:\"none\"}),h.appendChild(j)),a.type){case\"rect\":g(\"rx\",d),g(\"ry\",f);case\"image\":g(\"width\",d),g(\"height\",f);case\"text\":g(\"x\",d),g(\"y\",f);break;case\"circle\":g(\"cx\",d),g(\"cy\",f),g(\"r\",d);break;case\"ellipse\":g(\"cx\",d),g(\"cy\",f),g(\"rx\",d),g(\"ry\",f);break;case\"line\":g(\"x1\",d),g(\"x2\",d),g(\"y1\",f),g(\"y2\",f);break;case\"marker\":g(\"refX\",d),g(\"markerWidth\",d),g(\"refY\",f),g(\"markerHeight\",f);break;case\"radialGradient\":g(\"fx\",d),g(\"fy\",f);break;case\"tspan\":g(\"dx\",d),g(\"dy\",f);break;default:g(b,d)}return h.removeChild(j),i}function t(a){f(a,\"array\")||(a=Array.prototype.slice.call(arguments,0));for(var b=0,c=0,d=this.node;this[b];)delete this[b++];for(b=0;b<a.length;b++)\"set\"==a[b].type?a[b].forEach(function(a){d.appendChild(a.node)}):d.appendChild(a[b].node);var e=d.childNodes;for(b=0;b<e.length;b++)this[c++]=y(e[b]);return this}function u(a){if(a.snap in Y)return Y[a.snap];var b,c=this.id=V();try{b=a.ownerSVGElement}catch(d){}if(this.node=a,b&&(this.paper=new x(b)),this.type=a.tagName,this.anims={},this._={transform:[]},a.snap=c,Y[c]=this,\"g\"==this.type&&(this.add=t),this.type in{g:1,mask:1,pattern:1})for(var e in x.prototype)x.prototype[A](e)&&(this[e]=x.prototype[e])}function v(a){this.node=a}function w(a,b){var c=e(a);b.appendChild(c);var d=y(c);return d}function x(a,b){var c,d,f,g=x.prototype;if(a&&\"svg\"==a.tagName){if(a.snap in Y)return Y[a.snap];var h=a.ownerDocument;c=new u(a),d=a.getElementsByTagName(\"desc\")[0],f=a.getElementsByTagName(\"defs\")[0],d||(d=e(\"desc\"),d.appendChild(h.createTextNode(\"Created with Snap\")),c.node.appendChild(d)),f||(f=e(\"defs\"),c.node.appendChild(f)),c.defs=f;for(var i in g)g[A](i)&&(c[i]=g[i]);c.paper=c.root=c}else c=w(\"svg\",z.doc.body),e(c.node,{height:b,version:1.1,width:a,xmlns:X});return c}function y(a){return a?a instanceof u||a instanceof v?a:a.tagName&&\"svg\"==a.tagName.toLowerCase()?new x(a):a.tagName&&\"object\"==a.tagName.toLowerCase()&&\"image/svg+xml\"==a.type?new x(a.contentDocument.getElementsByTagName(\"svg\")[0]):new u(a):a}d.version=\"0.3.0\",d.toString=function(){return\"Snap v\"+this.version},d._={};var z={win:a,doc:a.document};d._.glob=z;var A=\"hasOwnProperty\",B=String,C=parseFloat,D=parseInt,E=Math,F=E.max,G=E.min,H=E.abs,I=(E.pow,E.PI),J=(E.round,\"\"),K=\" \",L=Object.prototype.toString,M=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i,N=\"\t\\n\\x0b\\f\\r    \\u2028\\u2029\",O=(d._.separator=new RegExp(\"[,\"+N+\"]+\"),new RegExp(\"[\"+N+\"]\",\"g\"),new RegExp(\"[\"+N+\"]*,[\"+N+\"]*\")),P={hs:1,rg:1},Q=new RegExp(\"([a-z])[\"+N+\",]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\"+N+\"]*,?[\"+N+\"]*)+)\",\"ig\"),R=new RegExp(\"([rstm])[\"+N+\",]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\"+N+\"]*,?[\"+N+\"]*)+)\",\"ig\"),S=new RegExp(\"(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[\"+N+\"]*,?[\"+N+\"]*\",\"ig\"),T=0,U=\"S\"+(+new Date).toString(36),V=function(){return U+(T++).toString(36)},W=\"http://www.w3.org/1999/xlink\",X=\"http://www.w3.org/2000/svg\",Y={},Z=d.url=function(a){return\"url('#\"+a+\"')\"};d._.$=e,d._.id=V,d.format=function(){var a=/\\{([^\\}]+)\\}/g,b=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,c=function(a,c,d){var e=d;return c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),\"function\"==typeof e&&f&&(e=e()))}),e=(null==e||e==d?a:e)+\"\"};return function(b,d){return B(b).replace(a,function(a,b){return c(a,b,d)})}}(),d._.clone=h,d._.cacher=j,d.rad=l,d.deg=m,d.angle=k,d.is=f,d.snapTo=function(a,b,c){if(c=f(c,\"finite\")?c:10,f(a,\"array\")){for(var d=a.length;d--;)if(H(a[d]-b)<=c)return a[d]}else{a=+a;var e=b%a;if(c>e)return b-e;if(e>a-c)return b-e+a}return b},d.getRGB=j(function(a){if(!a||(a=B(a)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb};if(\"none\"==a)return{r:-1,g:-1,b:-1,hex:\"none\",toString:bb};if(!(P[A](a.toLowerCase().substring(0,2))||\"#\"==a.charAt())&&(a=$(a)),!a)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb};var b,c,e,g,h,i,j=a.match(M);return j?(j[2]&&(e=D(j[2].substring(5),16),c=D(j[2].substring(3,5),16),b=D(j[2].substring(1,3),16)),j[3]&&(e=D((h=j[3].charAt(3))+h,16),c=D((h=j[3].charAt(2))+h,16),b=D((h=j[3].charAt(1))+h,16)),j[4]&&(i=j[4].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b*=2.55),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c*=2.55),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e*=2.55),\"rgba\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100)),j[5]?(i=j[5].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b/=100),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c/=100),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e/=100),(\"deg\"==i[0].slice(-3)||\"°\"==i[0].slice(-1))&&(b/=360),\"hsba\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100),d.hsb2rgb(b,c,e,g)):j[6]?(i=j[6].split(O),b=C(i[0]),\"%\"==i[0].slice(-1)&&(b/=100),c=C(i[1]),\"%\"==i[1].slice(-1)&&(c/=100),e=C(i[2]),\"%\"==i[2].slice(-1)&&(e/=100),(\"deg\"==i[0].slice(-3)||\"°\"==i[0].slice(-1))&&(b/=360),\"hsla\"==j[1].toLowerCase().slice(0,4)&&(g=C(i[3])),i[3]&&\"%\"==i[3].slice(-1)&&(g/=100),d.hsl2rgb(b,c,e,g)):(b=G(E.round(b),255),c=G(E.round(c),255),e=G(E.round(e),255),g=G(F(g,0),1),j={r:b,g:c,b:e,toString:bb},j.hex=\"#\"+(16777216|e|c<<8|b<<16).toString(16).slice(1),j.opacity=f(g,\"finite\")?g:1,j)):{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:bb}},d),d.hsb=j(function(a,b,c){return d.hsb2rgb(a,b,c).hex}),d.hsl=j(function(a,b,c){return d.hsl2rgb(a,b,c).hex}),d.rgb=j(function(a,b,c,d){if(f(d,\"finite\")){var e=E.round;return\"rgba(\"+[e(a),e(b),e(c),+d.toFixed(2)]+\")\"}return\"#\"+(16777216|c|b<<8|a<<16).toString(16).slice(1)});var $=function(a){var b=z.doc.getElementsByTagName(\"head\")[0]||z.doc.getElementsByTagName(\"svg\")[0],c=\"rgb(255, 0, 0)\";return($=j(function(a){if(\"red\"==a.toLowerCase())return c;b.style.color=c,b.style.color=a;var d=z.doc.defaultView.getComputedStyle(b,J).getPropertyValue(\"color\");return d==c?null:d}))(a)},_=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},ab=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},bb=function(){return 1==this.opacity||null==this.opacity?this.hex:\"rgba(\"+[this.r,this.g,this.b,this.opacity]+\")\"},cb=function(a,b,c){if(null==b&&f(a,\"object\")&&\"r\"in a&&\"g\"in a&&\"b\"in a&&(c=a.b,b=a.g,a=a.r),null==b&&f(a,string)){var e=d.getRGB(a);a=e.r,b=e.g,c=e.b}return(a>1||b>1||c>1)&&(a/=255,b/=255,c/=255),[a,b,c]},db=function(a,b,c,e){a=E.round(255*a),b=E.round(255*b),c=E.round(255*c);var g={r:a,g:b,b:c,opacity:f(e,\"finite\")?e:1,hex:d.rgb(a,b,c),toString:bb};return f(e,\"finite\")&&(g.opacity=e),g};d.color=function(a){var b;return f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"b\"in a?(b=d.hsb2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"l\"in a?(b=d.hsl2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.opacity=1,a.hex=b.hex):(f(a,\"string\")&&(a=d.getRGB(a)),f(a,\"object\")&&\"r\"in a&&\"g\"in a&&\"b\"in a&&!(\"error\"in a)?(b=d.rgb2hsl(a),a.h=b.h,a.s=b.s,a.l=b.l,b=d.rgb2hsb(a),a.v=b.b):(a={hex:\"none\"},a.r=a.g=a.b=a.h=a.s=a.v=a.l=-1,a.error=1)),a.toString=bb,a},d.hsb2rgb=function(a,b,c,d){f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"b\"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,g,h,i,j;return a=a%360/60,j=c*b,i=j*(1-H(a%2-1)),e=g=h=c-j,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.hsl2rgb=function(a,b,c,d){f(a,\"object\")&&\"h\"in a&&\"s\"in a&&\"l\"in a&&(c=a.l,b=a.s,a=a.h),(a>1||b>1||c>1)&&(a/=360,b/=100,c/=100),a*=360;var e,g,h,i,j;return a=a%360/60,j=2*b*(.5>c?c:1-c),i=j*(1-H(a%2-1)),e=g=h=c-j/2,a=~~a,e+=[j,i,0,0,i,j][a],g+=[i,j,j,i,0,0][a],h+=[0,0,i,j,j,i][a],db(e,g,h,d)},d.rgb2hsb=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;return f=F(a,b,c),g=f-G(a,b,c),d=0==g?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=0==g?0:g/f,{h:d,s:e,b:f,toString:_}},d.rgb2hsl=function(a,b,c){c=cb(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;return g=F(a,b,c),h=G(a,b,c),i=g-h,d=0==i?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=0==i?0:.5>f?i/(2*f):i/(2-2*f),{h:d,s:e,l:f,toString:ab}},d.parsePathString=function(a){if(!a)return null;var b=d.path(a);if(b.arr)return d.path.clone(b.arr);var c={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},e=[];return f(a,\"array\")&&f(a[0],\"array\")&&(e=d.path.clone(a)),e.length||B(a).replace(Q,function(a,b,d){var f=[],g=b.toLowerCase();if(d.replace(S,function(a,b){b&&f.push(+b)}),\"m\"==g&&f.length>2&&(e.push([b].concat(f.splice(0,2))),g=\"l\",b=\"m\"==b?\"l\":\"L\"),\"o\"==g&&1==f.length&&e.push([b,f[0] ]),\"r\"==g)e.push([b].concat(f));else for(;f.length>=c[g]&&(e.push([b].concat(f.splice(0,c[g]))),c[g]););}),e.toString=d.path.toString,b.arr=d.path.clone(e),e};var eb=d.parseTransformString=function(a){if(!a)return null;var b=[];return f(a,\"array\")&&f(a[0],\"array\")&&(b=d.path.clone(a)),b.length||B(a).replace(R,function(a,c,d){{var e=[];c.toLowerCase()}d.replace(S,function(a,b){b&&e.push(+b)}),b.push([c].concat(e))}),b.toString=d.path.toString,b};d._.svgTransform2string=n,d._.rgTransform=new RegExp(\"^[a-z][\"+N+\"]*-?\\\\.?\\\\d\",\"i\"),d._.transform2matrix=o,d._unit2px=s;z.doc.contains||z.doc.compareDocumentPosition?function(a,b){var c=9==a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a==d||!(!d||1!=d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b;)if(b=b.parentNode,b==a)return!0;return!1};d._.getSomeDefs=q,d._.getSomeSVG=r,d.select=function(a){return y(z.doc.querySelector(a))},d.selectAll=function(a){for(var b=z.doc.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},setInterval(function(){for(var a in Y)if(Y[A](a)){var b=Y[a],c=b.node;(\"svg\"!=b.type&&!c.ownerSVGElement||\"svg\"==b.type&&(!c.parentNode||\"ownerSVGElement\"in c.parentNode&&!c.ownerSVGElement))&&delete Y[a]}},1e4),function(a){function g(a){function b(a,b){var c=e(a.node,b);c=c&&c.match(g),c=c&&c[2],c&&\"#\"==c.charAt()&&(c=c.substring(1),c&&(i[c]=(i[c]||[]).concat(function(c){var d={};d[b]=Z(c),e(a.node,d)})))}function c(a){var b=e(a.node,\"xlink:href\");b&&\"#\"==b.charAt()&&(b=b.substring(1),b&&(i[b]=(i[b]||[]).concat(function(b){a.attr(\"xlink:href\",\"#\"+b)})))}for(var d,f=a.selectAll(\"*\"),g=/^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/,h=[],i={},j=0,k=f.length;k>j;j++){d=f[j],b(d,\"fill\"),b(d,\"stroke\"),b(d,\"filter\"),b(d,\"mask\"),b(d,\"clip-path\"),c(d);var l=e(d.node,\"id\");l&&(e(d.node,{id:d.id}),h.push({old:l,id:d.id}))}for(j=0,k=h.length;k>j;j++){var m=i[h[j].old];if(m)for(var n=0,o=m.length;o>n;n++)m[n](h[j].id)}}function h(a,b,c){return function(d){var e=d.slice(a,b);return 1==e.length&&(e=e[0]),c?c(e):e}}function i(a){return function(){var b=a?\"<\"+this.type:\"\",c=this.node.attributes,d=this.node.childNodes;if(a)for(var e=0,f=c.length;f>e;e++)b+=\" \"+c[e].name+'=\"'+c[e].value.replace(/\"/g,'\\\\\"')+'\"';if(d.length){for(a&&(b+=\">\"),e=0,f=d.length;f>e;e++)3==d[e].nodeType?b+=d[e].nodeValue:1==d[e].nodeType&&(b+=y(d[e]).toString());a&&(b+=\"</\"+this.type+\">\")}else a&&(b+=\"/>\");return b}}a.attr=function(a,c){{var d=this;d.node}if(!a)return d;if(f(a,\"string\")){if(!(arguments.length>1))return b(\"snap.util.getattr.\"+a,d).firstDefined();var e={};e[a]=c,a=e}for(var g in a)a[A](g)&&b(\"snap.util.attr.\"+g,d,a[g]);return d},a.getBBox=function(a){if(!d.Matrix||!d.path)return this.node.getBBox();var b=this,c=new d.Matrix;if(b.removed)return d._.box();for(;\"use\"==b.type;)if(a||(c=c.add(b.transform().localMatrix.translate(b.attr(\"x\")||0,b.attr(\"y\")||0))),b.original)b=b.original;else{var e=b.attr(\"xlink:href\");b=b.original=b.node.ownerDocument.getElementById(e.substring(e.indexOf(\"#\")+1))}var f=b._,g=d.path.get[b.type]||d.path.get.deflt;try{return a?(f.bboxwt=g?d.path.getBBox(b.realPath=g(b)):d._.box(b.node.getBBox()),d._.box(f.bboxwt)):(b.realPath=g(b),b.matrix=b.transform().localMatrix,f.bbox=d.path.getBBox(d.path.map(b.realPath,c.add(b.matrix))),d._.box(f.bbox))}catch(h){return d._.box()}};var j=function(){return this.string};a.transform=function(a){var b=this._;if(null==a){for(var c,f=this,g=new d.Matrix(this.node.getCTM()),h=p(this),i=[h],k=new d.Matrix,l=h.toTransformString(),m=B(h)==B(this.matrix)?B(b.transform):l;\"svg\"!=f.type&&(f=f.parent());)i.push(p(f));for(c=i.length;c--;)k.add(i[c]);return{string:m,globalMatrix:g,totalMatrix:k,localMatrix:h,diffMatrix:g.clone().add(h.invert()),global:g.toTransformString(),total:k.toTransformString(),local:l,toString:j}}return a instanceof d.Matrix?this.matrix=a:p(this,a),this.node&&(\"linearGradient\"==this.type||\"radialGradient\"==this.type?e(this.node,{gradientTransform:this.matrix}):\"pattern\"==this.type?e(this.node,{patternTransform:this.matrix}):e(this.node,{transform:this.matrix})),this},a.parent=function(){return y(this.node.parentNode)},a.append=a.add=function(a){if(a){if(\"set\"==a.type){var b=this;return a.forEach(function(a){b.add(a)}),this}a=y(a),this.node.appendChild(a.node),a.paper=this.paper}return this},a.appendTo=function(a){return a&&(a=y(a),a.append(this)),this},a.prepend=function(a){if(a){if(\"set\"==a.type){var b,c=this;return a.forEach(function(a){b?b.after(a):c.prepend(a),b=a}),this}a=y(a);var d=a.parent();this.node.insertBefore(a.node,this.node.firstChild),this.add&&this.add(),a.paper=this.paper,this.parent()&&this.parent().add(),d&&d.add()}return this},a.prependTo=function(a){return a=y(a),a.prepend(this),this},a.before=function(a){if(\"set\"==a.type){var b=this;return a.forEach(function(a){var c=a.parent();b.node.parentNode.insertBefore(a.node,b.node),c&&c.add()}),this.parent().add(),this}a=y(a);var c=a.parent();return this.node.parentNode.insertBefore(a.node,this.node),this.parent()&&this.parent().add(),c&&c.add(),a.paper=this.paper,this},a.after=function(a){a=y(a);var b=a.parent();return this.node.nextSibling?this.node.parentNode.insertBefore(a.node,this.node.nextSibling):this.node.parentNode.appendChild(a.node),this.parent()&&this.parent().add(),b&&b.add(),a.paper=this.paper,this},a.insertBefore=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.insertAfter=function(a){a=y(a);var b=this.parent();return a.node.parentNode.insertBefore(this.node,a.node.nextSibling),this.paper=a.paper,b&&b.add(),a.parent()&&a.parent().add(),this},a.remove=function(){var a=this.parent();return this.node.parentNode&&this.node.parentNode.removeChild(this.node),delete this.paper,this.removed=!0,a&&a.add(),this},a.select=function(a){return y(this.node.querySelector(a))},a.selectAll=function(a){for(var b=this.node.querySelectorAll(a),c=(d.set||Array)(),e=0;e<b.length;e++)c.push(y(b[e]));return c},a.asPX=function(a,b){return null==b&&(b=this.attr(a)),+s(this,a,b)},a.use=function(){var a,b=this.node.id;return b||(b=this.id,e(this.node,{id:b})),a=\"linearGradient\"==this.type||\"radialGradient\"==this.type||\"pattern\"==this.type?w(this.type,this.node.parentNode):w(\"use\",this.node.parentNode),e(a.node,{\"xlink:href\":\"#\"+b}),a.original=this,a};var k=/\\S+/g;a.addClass=function(a){var b,c,d,e,f=(a||\"\").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(f.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c||i.push(d);e=i.join(\" \"),h!=e&&(g.className.baseVal=e)}return this},a.removeClass=function(a){var b,c,d,e,f=(a||\"\").match(k)||[],g=this.node,h=g.className.baseVal,i=h.match(k)||[];if(i.length){for(b=0;d=f[b++];)c=i.indexOf(d),~c&&i.splice(c,1);e=i.join(\" \"),h!=e&&(g.className.baseVal=e)}return this},a.hasClass=function(a){var b=this.node,c=b.className.baseVal,d=c.match(k)||[];return!!~d.indexOf(a)},a.toggleClass=function(a,b){if(null!=b)return b?this.addClass(a):this.removeClass(a);var c,d,e,f,g=(a||\"\").match(k)||[],h=this.node,i=h.className.baseVal,j=i.match(k)||[];for(c=0;e=g[c++];)d=j.indexOf(e),~d?j.splice(d,1):j.push(e);return f=j.join(\" \"),i!=f&&(h.className.baseVal=f),this},a.clone=function(){var a=y(this.node.cloneNode(!0));return e(a.node,\"id\")&&e(a.node,{id:a.id}),g(a),a.insertAfter(this),a},a.toDefs=function(){var a=q(this);return a.appendChild(this.node),this},a.pattern=a.toPattern=function(a,b,c,d){var g=w(\"pattern\",q(this));return null==a&&(a=this.getBBox()),f(a,\"object\")&&\"x\"in a&&(b=a.y,c=a.width,d=a.height,a=a.x),e(g.node,{x:a,y:b,width:c,height:d,patternUnits:\"userSpaceOnUse\",id:g.id,viewBox:[a,b,c,d].join(\" \")}),g.node.appendChild(this.node),g},a.marker=function(a,b,c,d,g,h){var i=w(\"marker\",q(this));return null==a&&(a=this.getBBox()),f(a,\"object\")&&\"x\"in a&&(b=a.y,c=a.width,d=a.height,g=a.refX||a.cx,h=a.refY||a.cy,a=a.x),e(i.node,{viewBox:[a,b,c,d].join(K),markerWidth:c,markerHeight:d,orient:\"auto\",refX:g||0,refY:h||0,id:i.id}),i.node.appendChild(this.node),i};var l=function(a,b,d,e){\"function\"!=typeof d||d.length||(e=d,d=c.linear),this.attr=a,this.dur=b,d&&(this.easing=d),e&&(this.callback=e)};d._.Animation=l,d.animation=function(a,b,c,d){return new l(a,b,c,d)},a.inAnim=function(){var a=this,b=[];for(var c in a.anims)a.anims[A](c)&&!function(a){b.push({anim:new l(a._attrs,a.dur,a.easing,a._callback),mina:a,curStatus:a.status(),status:function(b){return a.status(b)},stop:function(){a.stop()}})}(a.anims[c]);return b},d.animate=function(a,d,e,f,g,h){\"function\"!=typeof g||g.length||(h=g,g=c.linear);var i=c.time(),j=c(a,d,i,i+f,c.time,e,g);return h&&b.once(\"mina.finish.\"+j.id,h),j},a.stop=function(){for(var a=this.inAnim(),b=0,c=a.length;c>b;b++)a[b].stop();return this},a.animate=function(a,d,e,g){\"function\"!=typeof e||e.length||(g=e,e=c.linear),a instanceof l&&(g=a.callback,e=a.easing,d=e.dur,a=a.attr);var i,j,k,m,n=[],o=[],p={},q=this;for(var r in a)if(a[A](r)){q.equal?(m=q.equal(r,B(a[r])),i=m.from,j=m.to,k=m.f):(i=+q.attr(r),j=+a[r]);var s=f(i,\"array\")?i.length:1;p[r]=h(n.length,n.length+s,k),n=n.concat(i),o=o.concat(j)}var t=c.time(),u=c(n,o,t,t+d,c.time,function(a){var b={};for(var c in p)p[A](c)&&(b[c]=p[c](a));q.attr(b)},e);return q.anims[u.id]=u,u._attrs=a,u._callback=g,b(\"snap.animcreated.\"+q.id,u),b.once(\"mina.finish.\"+u.id,function(){delete q.anims[u.id],g&&g.call(q)}),b.once(\"mina.stop.\"+u.id,function(){delete q.anims[u.id]}),q};var m={};a.data=function(a,c){var e=m[this.id]=m[this.id]||{};if(0==arguments.length)return b(\"snap.data.get.\"+this.id,this,e,null),e;if(1==arguments.length){if(d.is(a,\"object\")){for(var f in a)a[A](f)&&this.data(f,a[f]);return this}return b(\"snap.data.get.\"+this.id,this,e[a],a),e[a]}return e[a]=c,b(\"snap.data.set.\"+this.id,this,c,a),this},a.removeData=function(a){return null==a?m[this.id]={}:m[this.id]&&delete m[this.id][a],this},a.outerSVG=a.toString=i(1),a.innerSVG=i()}(u.prototype),d.parse=function(a){var b=z.doc.createDocumentFragment(),c=!0,d=z.doc.createElement(\"div\");if(a=B(a),a.match(/^\\s*<\\s*svg(?:\\s|>)/)||(a=\"<svg>\"+a+\"</svg>\",c=!1),d.innerHTML=a,a=d.getElementsByTagName(\"svg\")[0])if(c)b=a;else for(;a.firstChild;)b.appendChild(a.firstChild);return d.innerHTML=J,new v(b)},v.prototype.select=u.prototype.select,v.prototype.selectAll=u.prototype.selectAll,d.fragment=function(){for(var a=Array.prototype.slice.call(arguments,0),b=z.doc.createDocumentFragment(),c=0,e=a.length;e>c;c++){var f=a[c];f.node&&f.node.nodeType&&b.appendChild(f.node),f.nodeType&&b.appendChild(f),\"string\"==typeof f&&b.appendChild(d.parse(f).node)}return new v(b)},d._.make=w,d._.wrap=y,x.prototype.el=function(a,b){var c=w(a,this.node);return b&&c.attr(b),c},b.on(\"snap.util.getattr\",function(){var a=b.nt();a=a.substring(a.lastIndexOf(\".\")+1);var c=a.replace(/[A-Z]/g,function(a){return\"-\"+a.toLowerCase()});return fb[A](c)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(c):e(this.node,a)});var fb={\"alignment-baseline\":0,\"baseline-shift\":0,clip:0,\"clip-path\":0,\"clip-rule\":0,color:0,\"color-interpolation\":0,\"color-interpolation-filters\":0,\"color-profile\":0,\"color-rendering\":0,cursor:0,direction:0,display:0,\"dominant-baseline\":0,\"enable-background\":0,fill:0,\"fill-opacity\":0,\"fill-rule\":0,filter:0,\"flood-color\":0,\"flood-opacity\":0,font:0,\"font-family\":0,\"font-size\":0,\"font-size-adjust\":0,\"font-stretch\":0,\"font-style\":0,\"font-variant\":0,\"font-weight\":0,\"glyph-orientation-horizontal\":0,\"glyph-orientation-vertical\":0,\"image-rendering\":0,kerning:0,\"letter-spacing\":0,\"lighting-color\":0,marker:0,\"marker-end\":0,\"marker-mid\":0,\"marker-start\":0,mask:0,opacity:0,overflow:0,\"pointer-events\":0,\"shape-rendering\":0,\"stop-color\":0,\"stop-opacity\":0,stroke:0,\"stroke-dasharray\":0,\"stroke-dashoffset\":0,\"stroke-linecap\":0,\"stroke-linejoin\":0,\"stroke-miterlimit\":0,\"stroke-opacity\":0,\"stroke-width\":0,\"text-anchor\":0,\"text-decoration\":0,\"text-rendering\":0,\"unicode-bidi\":0,visibility:0,\"word-spacing\":0,\"writing-mode\":0};b.on(\"snap.util.attr\",function(a){var c=b.nt(),d={};c=c.substring(c.lastIndexOf(\".\")+1),d[c]=a;var f=c.replace(/-(\\w)/gi,function(a,b){return b.toUpperCase()}),g=c.replace(/[A-Z]/g,function(a){return\"-\"+a.toLowerCase()});fb[A](g)?this.node.style[f]=null==a?J:a:e(this.node,d)}),function(){}(x.prototype),d.ajax=function(a,c,d,e){var g=new XMLHttpRequest,h=V();if(g){if(f(c,\"function\"))e=d,d=c,c=null;else if(f(c,\"object\")){var i=[];for(var j in c)c.hasOwnProperty(j)&&i.push(encodeURIComponent(j)+\"=\"+encodeURIComponent(c[j]));c=i.join(\"&\")}return g.open(c?\"POST\":\"GET\",a,!0),c&&(g.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\"),g.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\")),d&&(b.once(\"snap.ajax.\"+h+\".0\",d),b.once(\"snap.ajax.\"+h+\".200\",d),b.once(\"snap.ajax.\"+h+\".304\",d)),g.onreadystatechange=function(){4==g.readyState&&b(\"snap.ajax.\"+h+\".\"+g.status,e,g)},4==g.readyState?g:(g.send(c),g)}},d.load=function(a,b,c){d.ajax(a,function(a){var e=d.parse(a.responseText);c?b.call(c,e):b(e)})};var gb=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,h=e.clientLeft||d.clientLeft||0,i=b.top+(g.win.pageYOffset||e.scrollTop||d.scrollTop)-f,j=b.left+(g.win.pageXOffset||e.scrollLeft||d.scrollLeft)-h;return{y:i,x:j}};return d.getElementByPoint=function(a,b){var c=this,d=(c.canvas,z.doc.elementFromPoint(a,b));if(z.win.opera&&\"svg\"==d.tagName){var e=gb(d),f=d.createSVGRect();f.x=a-e.x,f.y=b-e.y,f.width=f.height=1;var g=d.getIntersectionList(f,null);g.length&&(d=g[g.length-1])}return d?y(d):null},d.plugin=function(a){a(d,u,x,z,v)},z.win.Snap=d,d}();return d.plugin(function(a){function b(a,b,d,e,f,g){return null==b&&\"[object SVGMatrix]\"==c.call(a)?(this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.e=a.e,void(this.f=a.f)):void(null!=a?(this.a=+a,this.b=+b,this.c=+d,this.d=+e,this.e=+f,this.f=+g):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0))}var c=Object.prototype.toString,d=String,e=Math,f=\"\";!function(c){function g(a){return a[0]*a[0]+a[1]*a[1]\n",
"}function h(a){var b=e.sqrt(g(a));a[0]&&(a[0]/=b),a[1]&&(a[1]/=b)}c.add=function(a,c,d,e,f,g){var h,i,j,k,l=[[],[],[] ],m=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1] ],n=[[a,d,f],[c,e,g],[0,0,1] ];for(a&&a instanceof b&&(n=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1] ]),h=0;3>h;h++)for(i=0;3>i;i++){for(k=0,j=0;3>j;j++)k+=m[h][j]*n[j][i];l[h][i]=k}return this.a=l[0][0],this.b=l[1][0],this.c=l[0][1],this.d=l[1][1],this.e=l[0][2],this.f=l[1][2],this},c.invert=function(){var a=this,c=a.a*a.d-a.b*a.c;return new b(a.d/c,-a.b/c,-a.c/c,a.a/c,(a.c*a.f-a.d*a.e)/c,(a.b*a.e-a.a*a.f)/c)},c.clone=function(){return new b(this.a,this.b,this.c,this.d,this.e,this.f)},c.translate=function(a,b){return this.add(1,0,0,1,a,b)},c.scale=function(a,b,c,d){return null==b&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d),this},c.rotate=function(b,c,d){b=a.rad(b),c=c||0,d=d||0;var f=+e.cos(b).toFixed(9),g=+e.sin(b).toFixed(9);return this.add(f,g,-g,f,c,d),this.add(1,0,0,1,-c,-d)},c.x=function(a,b){return a*this.a+b*this.c+this.e},c.y=function(a,b){return a*this.b+b*this.d+this.f},c.get=function(a){return+this[d.fromCharCode(97+a)].toFixed(4)},c.toString=function(){return\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\"},c.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},c.determinant=function(){return this.a*this.d-this.b*this.c},c.split=function(){var b={};b.dx=this.e,b.dy=this.f;var c=[[this.a,this.c],[this.b,this.d] ];b.scalex=e.sqrt(g(c[0])),h(c[0]),b.shear=c[0][0]*c[1][0]+c[0][1]*c[1][1],c[1]=[c[1][0]-c[0][0]*b.shear,c[1][1]-c[0][1]*b.shear],b.scaley=e.sqrt(g(c[1])),h(c[1]),b.shear/=b.scaley,this.determinant()<0&&(b.scalex=-b.scalex);var d=-c[0][1],f=c[1][1];return 0>f?(b.rotate=a.deg(e.acos(f)),0>d&&(b.rotate=360-b.rotate)):b.rotate=a.deg(e.asin(d)),b.isSimple=!(+b.shear.toFixed(9)||b.scalex.toFixed(9)!=b.scaley.toFixed(9)&&b.rotate),b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate,b.noRotation=!+b.shear.toFixed(9)&&!b.rotate,b},c.toTransformString=function(a){var b=a||this.split();return+b.shear.toFixed(9)?\"m\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]:(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?\"t\"+[+b.dx.toFixed(4),+b.dy.toFixed(4)]:f)+(1!=b.scalex||1!=b.scaley?\"s\"+[b.scalex,b.scaley,0,0]:f)+(b.rotate?\"r\"+[+b.rotate.toFixed(4),0,0]:f))}}(b.prototype),a.Matrix=b,a.matrix=function(a,c,d,e,f,g){return new b(a,c,d,e,f,g)}}),d.plugin(function(a,c,d,e,f){function g(d){return function(e){if(b.stop(),e instanceof f&&1==e.node.childNodes.length&&(\"radialGradient\"==e.node.firstChild.tagName||\"linearGradient\"==e.node.firstChild.tagName||\"pattern\"==e.node.firstChild.tagName)&&(e=e.node.firstChild,n(this).appendChild(e),e=l(e)),e instanceof c)if(\"radialGradient\"==e.type||\"linearGradient\"==e.type||\"pattern\"==e.type){e.node.id||p(e.node,{id:e.id});var g=q(e.node.id)}else g=e.attr(d);else if(g=a.color(e),g.error){var h=a(n(this).ownerSVGElement).gradient(e);h?(h.node.id||p(h.node,{id:h.id}),g=q(h.node.id)):g=e}else g=r(g);var i={};i[d]=g,p(this.node,i),this.node.style[d]=t}}function h(a){b.stop(),a==+a&&(a+=\"px\"),this.node.style.fontSize=a}function i(a){for(var b=[],c=a.childNodes,d=0,e=c.length;e>d;d++){var f=c[d];3==f.nodeType&&b.push(f.nodeValue),\"tspan\"==f.tagName&&b.push(1==f.childNodes.length&&3==f.firstChild.nodeType?f.firstChild.nodeValue:i(f))}return b}function j(){return b.stop(),this.node.style.fontSize}var k=a._.make,l=a._.wrap,m=a.is,n=a._.getSomeDefs,o=/^url\\(#?([^)]+)\\)$/,p=a._.$,q=a.url,r=String,s=a._.separator,t=\"\";b.on(\"snap.util.attr.mask\",function(a){if(a instanceof c||a instanceof f){if(b.stop(),a instanceof f&&1==a.node.childNodes.length&&(a=a.node.firstChild,n(this).appendChild(a),a=l(a)),\"mask\"==a.type)var d=a;else d=k(\"mask\",n(this)),d.node.appendChild(a.node);!d.node.id&&p(d.node,{id:d.id}),p(this.node,{mask:q(d.id)})}}),function(a){b.on(\"snap.util.attr.clip\",a),b.on(\"snap.util.attr.clip-path\",a),b.on(\"snap.util.attr.clipPath\",a)}(function(a){if(a instanceof c||a instanceof f){if(b.stop(),\"clipPath\"==a.type)var d=a;else d=k(\"clipPath\",n(this)),d.node.appendChild(a.node),!d.node.id&&p(d.node,{id:d.id});p(this.node,{\"clip-path\":q(d.id)})}}),b.on(\"snap.util.attr.fill\",g(\"fill\")),b.on(\"snap.util.attr.stroke\",g(\"stroke\"));var u=/^([lr])(?:\\(([^)]*)\\))?(.*)$/i;b.on(\"snap.util.grad.parse\",function(a){a=r(a);var b=a.match(u);if(!b)return null;var c=b[1],d=b[2],e=b[3];return d=d.split(/\\s*,\\s*/).map(function(a){return+a==a?+a:a}),1==d.length&&0==d[0]&&(d=[]),e=e.split(\"-\"),e=e.map(function(a){a=a.split(\":\");var b={color:a[0]};return a[1]&&(b.offset=parseFloat(a[1])),b}),{type:c,params:d,stops:e}}),b.on(\"snap.util.attr.d\",function(c){b.stop(),m(c,\"array\")&&m(c[0],\"array\")&&(c=a.path.toString.call(c)),c=r(c),c.match(/[ruo]/i)&&(c=a.path.toAbsolute(c)),p(this.node,{d:c})})(-1),b.on(\"snap.util.attr.#text\",function(a){b.stop(),a=r(a);for(var c=e.doc.createTextNode(a);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(c)})(-1),b.on(\"snap.util.attr.path\",function(a){b.stop(),this.attr({d:a})})(-1),b.on(\"snap.util.attr.class\",function(a){b.stop(),this.node.className.baseVal=a})(-1),b.on(\"snap.util.attr.viewBox\",function(a){var c;c=m(a,\"object\")&&\"x\"in a?[a.x,a.y,a.width,a.height].join(\" \"):m(a,\"array\")?a.join(\" \"):a,p(this.node,{viewBox:c}),b.stop()})(-1),b.on(\"snap.util.attr.transform\",function(a){this.transform(a),b.stop()})(-1),b.on(\"snap.util.attr.r\",function(a){\"rect\"==this.type&&(b.stop(),p(this.node,{rx:a,ry:a}))})(-1),b.on(\"snap.util.attr.textpath\",function(a){if(b.stop(),\"text\"==this.type){var d,e,f;if(!a&&this.textPath){for(e=this.textPath;e.node.firstChild;)this.node.appendChild(e.node.firstChild);return e.remove(),void delete this.textPath}if(m(a,\"string\")){var g=n(this),h=l(g.parentNode).path(a);g.appendChild(h.node),d=h.id,h.attr({id:d})}else a=l(a),a instanceof c&&(d=a.attr(\"id\"),d||(d=a.id,a.attr({id:d})));if(d)if(e=this.textPath,f=this.node,e)e.attr({\"xlink:href\":\"#\"+d});else{for(e=p(\"textPath\",{\"xlink:href\":\"#\"+d});f.firstChild;)e.appendChild(f.firstChild);f.appendChild(e),this.textPath=l(e)}}})(-1),b.on(\"snap.util.attr.text\",function(a){if(\"text\"==this.type){for(var c=this.node,d=function(a){var b=p(\"tspan\");if(m(a,\"array\"))for(var c=0;c<a.length;c++)b.appendChild(d(a[c]));else b.appendChild(e.doc.createTextNode(a));return b.normalize&&b.normalize(),b};c.firstChild;)c.removeChild(c.firstChild);for(var f=d(a);f.firstChild;)c.appendChild(f.firstChild)}b.stop()})(-1),b.on(\"snap.util.attr.fontSize\",h)(-1),b.on(\"snap.util.attr.font-size\",h)(-1),b.on(\"snap.util.getattr.transform\",function(){return b.stop(),this.transform()})(-1),b.on(\"snap.util.getattr.textpath\",function(){return b.stop(),this.textPath})(-1),function(){function c(c){return function(){b.stop();var d=e.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue(\"marker-\"+c);return\"none\"==d?d:a(e.doc.getElementById(d.match(o)[1]))}}function d(a){return function(c){b.stop();var d=\"marker\"+a.charAt(0).toUpperCase()+a.substring(1);if(\"\"==c||!c)return void(this.node.style[d]=\"none\");if(\"marker\"==c.type){var e=c.node.id;return e||p(c.node,{id:c.id}),void(this.node.style[d]=q(e))}}}b.on(\"snap.util.getattr.marker-end\",c(\"end\"))(-1),b.on(\"snap.util.getattr.markerEnd\",c(\"end\"))(-1),b.on(\"snap.util.getattr.marker-start\",c(\"start\"))(-1),b.on(\"snap.util.getattr.markerStart\",c(\"start\"))(-1),b.on(\"snap.util.getattr.marker-mid\",c(\"mid\"))(-1),b.on(\"snap.util.getattr.markerMid\",c(\"mid\"))(-1),b.on(\"snap.util.attr.marker-end\",d(\"end\"))(-1),b.on(\"snap.util.attr.markerEnd\",d(\"end\"))(-1),b.on(\"snap.util.attr.marker-start\",d(\"start\"))(-1),b.on(\"snap.util.attr.markerStart\",d(\"start\"))(-1),b.on(\"snap.util.attr.marker-mid\",d(\"mid\"))(-1),b.on(\"snap.util.attr.markerMid\",d(\"mid\"))(-1)}(),b.on(\"snap.util.getattr.r\",function(){return\"rect\"==this.type&&p(this.node,\"rx\")==p(this.node,\"ry\")?(b.stop(),p(this.node,\"rx\")):void 0})(-1),b.on(\"snap.util.getattr.text\",function(){if(\"text\"==this.type||\"tspan\"==this.type){b.stop();var a=i(this.node);return 1==a.length?a[0]:a}})(-1),b.on(\"snap.util.getattr.#text\",function(){return this.node.textContent})(-1),b.on(\"snap.util.getattr.viewBox\",function(){b.stop();var c=p(this.node,\"viewBox\");return c?(c=c.split(s),a._.box(+c[0],+c[1],+c[2],+c[3])):void 0})(-1),b.on(\"snap.util.getattr.points\",function(){var a=p(this.node,\"points\");return b.stop(),a?a.split(s):void 0})(-1),b.on(\"snap.util.getattr.path\",function(){var a=p(this.node,\"d\");return b.stop(),a})(-1),b.on(\"snap.util.getattr.class\",function(){return this.node.className.baseVal})(-1),b.on(\"snap.util.getattr.fontSize\",j)(-1),b.on(\"snap.util.getattr.font-size\",j)(-1)}),d.plugin(function(){function a(a){return a}function c(a){return function(b){return+b.toFixed(3)+a}}var d={\"+\":function(a,b){return a+b},\"-\":function(a,b){return a-b},\"/\":function(a,b){return a/b},\"*\":function(a,b){return a*b}},e=String,f=/[a-z]+$/i,g=/^\\s*([+\\-\\/*])\\s*=\\s*([\\d.eE+\\-]+)\\s*([^\\d\\s]+)?\\s*$/;b.on(\"snap.util.attr\",function(a){var c=e(a).match(g);if(c){var h=b.nt(),i=h.substring(h.lastIndexOf(\".\")+1),j=this.attr(i),k={};b.stop();var l=c[3]||\"\",m=j.match(f),n=d[c[1] ];if(m&&m==l?a=n(parseFloat(j),+c[2]):(j=this.asPX(i),a=n(this.asPX(i),this.asPX(i,c[2]+l))),isNaN(j)||isNaN(a))return;k[i]=a,this.attr(k)}})(-10),b.on(\"snap.util.equal\",function(h,i){var j=e(this.attr(h)||\"\"),k=e(i).match(g);if(k){b.stop();var l=k[3]||\"\",m=j.match(f),n=d[k[1] ];return m&&m==l?{from:parseFloat(j),to:n(parseFloat(j),+k[2]),f:c(m)}:(j=this.asPX(h),{from:j,to:n(j,this.asPX(h,k[2]+l)),f:a})}})(-10)}),d.plugin(function(a,c,d,e){var f=d.prototype,g=a.is;f.rect=function(a,b,c,d,e,f){var h;return null==f&&(f=e),g(a,\"object\")&&\"[object Object]\"==a?h=a:null!=a&&(h={x:a,y:b,width:c,height:d},null!=e&&(h.rx=e,h.ry=f)),this.el(\"rect\",h)},f.circle=function(a,b,c){var d;return g(a,\"object\")&&\"[object Object]\"==a?d=a:null!=a&&(d={cx:a,cy:b,r:c}),this.el(\"circle\",d)};var h=function(){function a(){this.parentNode.removeChild(this)}return function(b,c){var d=e.doc.createElement(\"img\"),f=e.doc.body;d.style.cssText=\"position:absolute;left:-9999em;top:-9999em\",d.onload=function(){c.call(d),d.onload=d.onerror=null,f.removeChild(d)},d.onerror=a,f.appendChild(d),d.src=b}}();f.image=function(b,c,d,e,f){var i=this.el(\"image\");if(g(b,\"object\")&&\"src\"in b)i.attr(b);else if(null!=b){var j={\"xlink:href\":b,preserveAspectRatio:\"none\"};null!=c&&null!=d&&(j.x=c,j.y=d),null!=e&&null!=f?(j.width=e,j.height=f):h(b,function(){a._.$(i.node,{width:this.offsetWidth,height:this.offsetHeight})}),a._.$(i.node,j)}return i},f.ellipse=function(a,b,c,d){var e;return g(a,\"object\")&&\"[object Object]\"==a?e=a:null!=a&&(e={cx:a,cy:b,rx:c,ry:d}),this.el(\"ellipse\",e)},f.path=function(a){var b;return g(a,\"object\")&&!g(a,\"array\")?b=a:a&&(b={d:a}),this.el(\"path\",b)},f.group=f.g=function(a){var b=this.el(\"g\");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.svg=function(a,b,c,d,e,f,h,i){var j={};return g(a,\"object\")&&null==b?j=a:(null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])),this.el(\"svg\",j)},f.mask=function(a){var b=this.el(\"mask\");return 1==arguments.length&&a&&!a.type?b.attr(a):arguments.length&&b.add(Array.prototype.slice.call(arguments,0)),b},f.ptrn=function(a,b,c,d,e,f,h,i){if(g(a,\"object\"))var j=a;else arguments.length?(j={},null!=a&&(j.x=a),null!=b&&(j.y=b),null!=c&&(j.width=c),null!=d&&(j.height=d),null!=e&&null!=f&&null!=h&&null!=i&&(j.viewBox=[e,f,h,i])):j={patternUnits:\"userSpaceOnUse\"};return this.el(\"pattern\",j)},f.use=function(a){if(null!=a){{make(\"use\",this.node)}return a instanceof c&&(a.attr(\"id\")||a.attr({id:ID()}),a=a.attr(\"id\")),this.el(\"use\",{\"xlink:href\":a})}return c.prototype.use.call(this)},f.text=function(a,b,c){var d={};return g(a,\"object\")?d=a:null!=a&&(d={x:a,y:b,text:c||\"\"}),this.el(\"text\",d)},f.line=function(a,b,c,d){var e={};return g(a,\"object\")?e=a:null!=a&&(e={x1:a,x2:c,y1:b,y2:d}),this.el(\"line\",e)},f.polyline=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,\"object\")&&!g(a,\"array\")?b=a:null!=a&&(b={points:a}),this.el(\"polyline\",b)},f.polygon=function(a){arguments.length>1&&(a=Array.prototype.slice.call(arguments,0));var b={};return g(a,\"object\")&&!g(a,\"array\")?b=a:null!=a&&(b={points:a}),this.el(\"polygon\",b)},function(){function c(){return this.selectAll(\"stop\")}function d(b,c){var d=j(\"stop\"),e={offset:+c+\"%\"};return b=a.color(b),e[\"stop-color\"]=b.hex,b.opacity<1&&(e[\"stop-opacity\"]=b.opacity),j(d,e),this.node.appendChild(d),this}function e(){if(\"linearGradient\"==this.type){var b=j(this.node,\"x1\")||0,c=j(this.node,\"x2\")||1,d=j(this.node,\"y1\")||0,e=j(this.node,\"y2\")||0;return a._.box(b,d,math.abs(c-b),math.abs(e-d))}var f=this.node.cx||.5,g=this.node.cy||.5,h=this.node.r||0;return a._.box(f-h,g-h,2*h,2*h)}function g(a,c){function d(a,b){for(var c=(b-l)/(a-m),d=m;a>d;d++)g[d].offset=+(+l+c*(d-m)).toFixed(2);m=a,l=b}var e,f=b(\"snap.util.grad.parse\",null,c).firstDefined();if(!f)return null;f.params.unshift(a),e=\"l\"==f.type.toLowerCase()?h.apply(0,f.params):i.apply(0,f.params),f.type!=f.type.toLowerCase()&&j(e.node,{gradientUnits:\"userSpaceOnUse\"});var g=f.stops,k=g.length,l=0,m=0;k--;for(var n=0;k>n;n++)\"offset\"in g[n]&&d(n,g[n].offset);for(g[k].offset=g[k].offset||100,d(k,g[k].offset),n=0;k>=n;n++){var o=g[n];e.addStop(o.color,o.offset)}return e}function h(b,f,g,h,i){var k=a._.make(\"linearGradient\",b);return k.stops=c,k.addStop=d,k.getBBox=e,null!=f&&j(k.node,{x1:f,y1:g,x2:h,y2:i}),k}function i(b,f,g,h,i,k){var l=a._.make(\"radialGradient\",b);return l.stops=c,l.addStop=d,l.getBBox=e,null!=f&&j(l.node,{cx:f,cy:g,r:h}),null!=i&&null!=k&&j(l.node,{fx:i,fy:k}),l}var j=a._.$;f.gradient=function(a){return g(this.defs,a)},f.gradientLinear=function(a,b,c,d){return h(this.defs,a,b,c,d)},f.gradientRadial=function(a,b,c,d,e){return i(this.defs,a,b,c,d,e)},f.toString=function(){var b,c=this.node.ownerDocument,d=c.createDocumentFragment(),e=c.createElement(\"div\"),f=this.node.cloneNode(!0);return d.appendChild(e),e.appendChild(f),a._.$(f,{xmlns:\"http://www.w3.org/2000/svg\"}),b=e.innerHTML,d.removeChild(d.firstChild),b},f.clear=function(){for(var a,b=this.node.firstChild;b;)a=b.nextSibling,\"defs\"!=b.tagName?b.parentNode.removeChild(b):f.clear.call({node:b}),b=a}}()}),d.plugin(function(a,b){function c(a){var b=c.ps=c.ps||{};return b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[K](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])}),b[a]}function d(a,b,c,d){return null==a&&(a=b=c=d=0),null==b&&(b=a.y,c=a.width,d=a.height,a=a.x),{x:a,y:b,width:c,w:c,height:d,h:d,x2:a+c,y2:b+d,cx:a+c/2,cy:b+d/2,r1:N.min(c,d)/2,r2:N.max(c,d)/2,r0:N.sqrt(c*c+d*d)/2,path:w(a,b,c,d),vb:[a,b,c,d].join(\" \")}}function e(){return this.join(\",\").replace(L,\"$1\")}function f(a){var b=J(a);return b.toString=e,b}function g(a,b,c,d,e,f,g,h,j){return null==j?n(a,b,c,d,e,f,g,h):i(a,b,c,d,e,f,g,h,o(a,b,c,d,e,f,g,h,j))}function h(c,d){function e(a){return+(+a).toFixed(3)}return a._.cacher(function(a,f,h){a instanceof b&&(a=a.attr(\"d\")),a=E(a);for(var j,k,l,m,n,o=\"\",p={},q=0,r=0,s=a.length;s>r;r++){if(l=a[r],\"M\"==l[0])j=+l[1],k=+l[2];else{if(m=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6]),q+m>f){if(d&&!p.start){if(n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q),o+=[\"C\"+e(n.start.x),e(n.start.y),e(n.m.x),e(n.m.y),e(n.x),e(n.y)],h)return o;p.start=o,o=[\"M\"+e(n.x),e(n.y)+\"C\"+e(n.n.x),e(n.n.y),e(n.end.x),e(n.end.y),e(l[5]),e(l[6])].join(),q+=m,j=+l[5],k=+l[6];continue}if(!c&&!d)return n=g(j,k,l[1],l[2],l[3],l[4],l[5],l[6],f-q)}q+=m,j=+l[5],k=+l[6]}o+=l.shift()+l}return p.end=o,n=c?q:d?p:i(j,k,l[0],l[1],l[2],l[3],l[4],l[5],1)},null,a._.clone)}function i(a,b,c,d,e,f,g,h,i){var j=1-i,k=R(j,3),l=R(j,2),m=i*i,n=m*i,o=k*a+3*l*i*c+3*j*i*i*e+n*g,p=k*b+3*l*i*d+3*j*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,w=j*e+i*g,x=j*f+i*h,y=90-180*N.atan2(q-s,r-t)/O;return{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:w,y:x},alpha:y}}function j(b,c,e,f,g,h,i,j){a.is(b,\"array\")||(b=[b,c,e,f,g,h,i,j]);var k=D.apply(null,b);return d(k.min.x,k.min.y,k.max.x-k.min.x,k.max.y-k.min.y)}function k(a,b,c){return b>=a.x&&b<=a.x+a.width&&c>=a.y&&c<=a.y+a.height}function l(a,b){return a=d(a),b=d(b),k(b,a.x,a.y)||k(b,a.x2,a.y)||k(b,a.x,a.y2)||k(b,a.x2,a.y2)||k(a,b.x,b.y)||k(a,b.x2,b.y)||k(a,b.x,b.y2)||k(a,b.x2,b.y2)||(a.x<b.x2&&a.x>b.x||b.x<a.x2&&b.x>a.x)&&(a.y<b.y2&&a.y>b.y||b.y<a.y2&&b.y>a.y)}function m(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c}function n(a,b,c,d,e,f,g,h,i){null==i&&(i=1),i=i>1?1:0>i?0:i;for(var j=i/2,k=12,l=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],n=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],o=0,p=0;k>p;p++){var q=j*l[p]+j,r=m(q,a,c,e,g),s=m(q,b,d,f,h),t=r*r+s*s;o+=n[p]*N.sqrt(t)}return j*o}function o(a,b,c,d,e,f,g,h,i){if(!(0>i||n(a,b,c,d,e,f,g,h)<i)){var j,k=1,l=k/2,m=k-l,o=.01;for(j=n(a,b,c,d,e,f,g,h,m);S(j-i)>o;)l/=2,m+=(i>j?1:-1)*l,j=n(a,b,c,d,e,f,g,h,m);return m}}function p(a,b,c,d,e,f,g,h){if(!(Q(a,c)<P(e,g)||P(a,c)>Q(e,g)||Q(b,d)<P(f,h)||P(b,d)>Q(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(k){var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(!(n<+P(a,c).toFixed(2)||n>+Q(a,c).toFixed(2)||n<+P(e,g).toFixed(2)||n>+Q(e,g).toFixed(2)||o<+P(b,d).toFixed(2)||o>+Q(b,d).toFixed(2)||o<+P(f,h).toFixed(2)||o>+Q(f,h).toFixed(2)))return{x:l,y:m}}}}function q(a,b,c){var d=j(a),e=j(b);if(!l(d,e))return c?0:[];for(var f=n.apply(0,a),g=n.apply(0,b),h=~~(f/8),k=~~(g/8),m=[],o=[],q={},r=c?0:[],s=0;h+1>s;s++){var t=i.apply(0,a.concat(s/h));m.push({x:t.x,y:t.y,t:s/h})}for(s=0;k+1>s;s++)t=i.apply(0,b.concat(s/k)),o.push({x:t.x,y:t.y,t:s/k});for(s=0;h>s;s++)for(var u=0;k>u;u++){var v=m[s],w=m[s+1],x=o[u],y=o[u+1],z=S(w.x-v.x)<.001?\"y\":\"x\",A=S(y.x-x.x)<.001?\"y\":\"x\",B=p(v.x,v.y,w.x,w.y,x.x,x.y,y.x,y.y);if(B){if(q[B.x.toFixed(4)]==B.y.toFixed(4))continue;q[B.x.toFixed(4)]=B.y.toFixed(4);var C=v.t+S((B[z]-v[z])/(w[z]-v[z]))*(w.t-v.t),D=x.t+S((B[A]-x[A])/(y[A]-x[A]))*(y.t-x.t);C>=0&&1>=C&&D>=0&&1>=D&&(c?r++:r.push({x:B.x,y:B.y,t1:C,t2:D}))}}return r}function r(a,b){return t(a,b)}function s(a,b){return t(a,b,1)}function t(a,b,c){a=E(a),b=E(b);for(var d,e,f,g,h,i,j,k,l,m,n=c?0:[],o=0,p=a.length;p>o;o++){var r=a[o];if(\"M\"==r[0])d=h=r[1],e=i=r[2];else{\"C\"==r[0]?(l=[d,e].concat(r.slice(1)),d=l[6],e=l[7]):(l=[d,e,d,e,h,i,h,i],d=h,e=i);for(var s=0,t=b.length;t>s;s++){var u=b[s];if(\"M\"==u[0])f=j=u[1],g=k=u[2];else{\"C\"==u[0]?(m=[f,g].concat(u.slice(1)),f=m[6],g=m[7]):(m=[f,g,f,g,j,k,j,k],f=j,g=k);var v=q(l,m,c);if(c)n+=v;else{for(var w=0,x=v.length;x>w;w++)v[w].segment1=o,v[w].segment2=s,v[w].bez1=l,v[w].bez2=m;n=n.concat(v)}}}}}return n}function u(a,b,c){var d=v(a);return k(d,b,c)&&t(a,[[\"M\",b,c],[\"H\",d.x2+10] ],1)%2==1}function v(a){var b=c(a);if(b.bbox)return J(b.bbox);if(!a)return d();a=E(a);for(var e,f=0,g=0,h=[],i=[],j=0,k=a.length;k>j;j++)if(e=a[j],\"M\"==e[0])f=e[1],g=e[2],h.push(f),i.push(g);else{var l=D(f,g,e[1],e[2],e[3],e[4],e[5],e[6]);h=h.concat(l.min.x,l.max.x),i=i.concat(l.min.y,l.max.y),f=e[5],g=e[6]}var m=P.apply(0,h),n=P.apply(0,i),o=Q.apply(0,h),p=Q.apply(0,i),q=d(m,n,o-m,p-n);return b.bbox=J(q),q}function w(a,b,c,d,f){if(f)return[[\"M\",+a+ +f,b],[\"l\",c-2*f,0],[\"a\",f,f,0,0,1,f,f],[\"l\",0,d-2*f],[\"a\",f,f,0,0,1,-f,f],[\"l\",2*f-c,0],[\"a\",f,f,0,0,1,-f,-f],[\"l\",0,2*f-d],[\"a\",f,f,0,0,1,f,-f],[\"z\"] ];var g=[[\"M\",a,b],[\"l\",c,0],[\"l\",0,d],[\"l\",-c,0],[\"z\"] ];return g.toString=e,g}function x(a,b,c,d,f){if(null==f&&null==d&&(d=c),a=+a,b=+b,c=+c,d=+d,null!=f)var g=Math.PI/180,h=a+c*Math.cos(-d*g),i=a+c*Math.cos(-f*g),j=b+c*Math.sin(-d*g),k=b+c*Math.sin(-f*g),l=[[\"M\",h,j],[\"A\",c,c,0,+(f-d>180),0,i,k] ];else l=[[\"M\",a,b],[\"m\",0,-d],[\"a\",c,d,0,1,1,0,2*d],[\"a\",c,d,0,1,1,0,-2*d],[\"z\"] ];return l.toString=e,l}function y(b){var d=c(b),g=String.prototype.toLowerCase;if(d.rel)return f(d.rel);a.is(b,\"array\")&&a.is(b&&b[0],\"array\")||(b=a.parsePathString(b));var h=[],i=0,j=0,k=0,l=0,m=0;\"M\"==b[0][0]&&(i=b[0][1],j=b[0][2],k=i,l=j,m++,h.push([\"M\",i,j]));for(var n=m,o=b.length;o>n;n++){var p=h[n]=[],q=b[n];if(q[0]!=g.call(q[0]))switch(p[0]=g.call(q[0]),p[0]){case\"a\":p[1]=q[1],p[2]=q[2],p[3]=q[3],p[4]=q[4],p[5]=q[5],p[6]=+(q[6]-i).toFixed(3),p[7]=+(q[7]-j).toFixed(3);break;case\"v\":p[1]=+(q[1]-j).toFixed(3);break;case\"m\":k=q[1],l=q[2];default:for(var r=1,s=q.length;s>r;r++)p[r]=+(q[r]-(r%2?i:j)).toFixed(3)}else{p=h[n]=[],\"m\"==q[0]&&(k=q[1]+i,l=q[2]+j);for(var t=0,u=q.length;u>t;t++)h[n][t]=q[t]}var v=h[n].length;switch(h[n][0]){case\"z\":i=k,j=l;break;case\"h\":i+=+h[n][v-1];break;case\"v\":j+=+h[n][v-1];break;default:i+=+h[n][v-2],j+=+h[n][v-1]}}return h.toString=e,d.rel=f(h),h}function z(b){var d=c(b);if(d.abs)return f(d.abs);if(I(b,\"array\")&&I(b&&b[0],\"array\")||(b=a.parsePathString(b)),!b||!b.length)return[[\"M\",0,0] ];var g,h=[],i=0,j=0,k=0,l=0,m=0;\"M\"==b[0][0]&&(i=+b[0][1],j=+b[0][2],k=i,l=j,m++,h[0]=[\"M\",i,j]);for(var n,o,p=3==b.length&&\"M\"==b[0][0]&&\"R\"==b[1][0].toUpperCase()&&\"Z\"==b[2][0].toUpperCase(),q=m,r=b.length;r>q;q++){if(h.push(n=[]),o=b[q],g=o[0],g!=g.toUpperCase())switch(n[0]=g.toUpperCase(),n[0]){case\"A\":n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n[6]=+o[6]+i,n[7]=+o[7]+j;break;case\"V\":n[1]=+o[1]+j;break;case\"H\":n[1]=+o[1]+i;break;case\"R\":for(var s=[i,j].concat(o.slice(1)),t=2,u=s.length;u>t;t++)s[t]=+s[t]+i,s[++t]=+s[t]+j;h.pop(),h=h.concat(G(s,p));break;case\"O\":h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);break;case\"U\":h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=[\"U\"].concat(h[h.length-1].slice(-2));break;case\"M\":k=+o[1]+i,l=+o[2]+j;default:for(t=1,u=o.length;u>t;t++)n[t]=+o[t]+(t%2?i:j)}else if(\"R\"==g)s=[i,j].concat(o.slice(1)),h.pop(),h=h.concat(G(s,p)),n=[\"R\"].concat(o.slice(-2));else if(\"O\"==g)h.pop(),s=x(i,j,o[1],o[2]),s.push(s[0]),h=h.concat(s);else if(\"U\"==g)h.pop(),h=h.concat(x(i,j,o[1],o[2],o[3])),n=[\"U\"].concat(h[h.length-1].slice(-2));else for(var v=0,w=o.length;w>v;v++)n[v]=o[v];if(g=g.toUpperCase(),\"O\"!=g)switch(n[0]){case\"Z\":i=+k,j=+l;break;case\"H\":i=n[1];break;case\"V\":j=n[1];break;case\"M\":k=n[n.length-2],l=n[n.length-1];default:i=n[n.length-2],j=n[n.length-1]}}return h.toString=e,d.abs=f(h),h}function A(a,b,c,d){return[a,b,c,d,c,d]}function B(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]}function C(b,c,d,e,f,g,h,i,j,k){var l,m=120*O/180,n=O/180*(+f||0),o=[],p=a._.cacher(function(a,b,c){var d=a*N.cos(c)-b*N.sin(c),e=a*N.sin(c)+b*N.cos(c);return{x:d,y:e}});if(k)y=k[0],z=k[1],w=k[2],x=k[3];else{l=p(b,c,-n),b=l.x,c=l.y,l=p(i,j,-n),i=l.x,j=l.y;var q=(N.cos(O/180*f),N.sin(O/180*f),(b-i)/2),r=(c-j)/2,s=q*q/(d*d)+r*r/(e*e);s>1&&(s=N.sqrt(s),d=s*d,e=s*e);var t=d*d,u=e*e,v=(g==h?-1:1)*N.sqrt(S((t*u-t*r*r-u*q*q)/(t*r*r+u*q*q))),w=v*d*r/e+(b+i)/2,x=v*-e*q/d+(c+j)/2,y=N.asin(((c-x)/e).toFixed(9)),z=N.asin(((j-x)/e).toFixed(9));y=w>b?O-y:y,z=w>i?O-z:z,0>y&&(y=2*O+y),0>z&&(z=2*O+z),h&&y>z&&(y-=2*O),!h&&z>y&&(z-=2*O)}var A=z-y;if(S(A)>m){var B=z,D=i,E=j;z=y+m*(h&&z>y?1:-1),i=w+d*N.cos(z),j=x+e*N.sin(z),o=C(i,j,d,e,f,0,h,D,E,[z,B,w,x])}A=z-y;var F=N.cos(y),G=N.sin(y),H=N.cos(z),I=N.sin(z),J=N.tan(A/4),K=4/3*d*J,L=4/3*e*J,M=[b,c],P=[b+K*G,c-L*F],Q=[i+K*I,j-L*H],R=[i,j];if(P[0]=2*M[0]-P[0],P[1]=2*M[1]-P[1],k)return[P,Q,R].concat(o);o=[P,Q,R].concat(o).join().split(\",\");for(var T=[],U=0,V=o.length;V>U;U++)T[U]=U%2?p(o[U-1],o[U],n).y:p(o[U],o[U+1],n).x;return T}function D(a,b,c,d,e,f,g,h){for(var i,j,k,l,m,n,o,p,q=[],r=[[],[] ],s=0;2>s;++s)if(0==s?(j=6*a-12*c+6*e,i=-3*a+9*c-9*e+3*g,k=3*c-3*a):(j=6*b-12*d+6*f,i=-3*b+9*d-9*f+3*h,k=3*d-3*b),S(i)<1e-12){if(S(j)<1e-12)continue;l=-k/j,l>0&&1>l&&q.push(l)}else o=j*j-4*k*i,p=N.sqrt(o),0>o||(m=(-j+p)/(2*i),m>0&&1>m&&q.push(m),n=(-j-p)/(2*i),n>0&&1>n&&q.push(n));for(var t,u=q.length,v=u;u--;)l=q[u],t=1-l,r[0][u]=t*t*t*a+3*t*t*l*c+3*t*l*l*e+l*l*l*g,r[1][u]=t*t*t*b+3*t*t*l*d+3*t*l*l*f+l*l*l*h;return r[0][v]=a,r[1][v]=b,r[0][v+1]=g,r[1][v+1]=h,r[0].length=r[1].length=v+2,{min:{x:P.apply(0,r[0]),y:P.apply(0,r[1])},max:{x:Q.apply(0,r[0]),y:Q.apply(0,r[1])}}}function E(a,b){var d=!b&&c(a);if(!b&&d.curve)return f(d.curve);for(var e=z(a),g=b&&z(b),h={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},i={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},j=(function(a,b,c){var d,e;if(!a)return[\"C\",b.x,b.y,b.x,b.y,b.x,b.y];switch(!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null),a[0]){case\"M\":b.X=a[1],b.Y=a[2];break;case\"A\":a=[\"C\"].concat(C.apply(0,[b.x,b.y].concat(a.slice(1))));break;case\"S\":\"C\"==c||\"S\"==c?(d=2*b.x-b.bx,e=2*b.y-b.by):(d=b.x,e=b.y),a=[\"C\",d,e].concat(a.slice(1));break;case\"T\":\"Q\"==c||\"T\"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y),a=[\"C\"].concat(B(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case\"Q\":b.qx=a[1],b.qy=a[2],a=[\"C\"].concat(B(b.x,b.y,a[1],a[2],a[3],a[4]));break;case\"L\":a=[\"C\"].concat(A(b.x,b.y,a[1],a[2]));break;case\"H\":a=[\"C\"].concat(A(b.x,b.y,a[1],b.y));break;case\"V\":a=[\"C\"].concat(A(b.x,b.y,b.x,a[1]));break;case\"Z\":a=[\"C\"].concat(A(b.x,b.y,b.X,b.Y))}return a}),k=function(a,b){if(a[b].length>7){a[b].shift();for(var c=a[b];c.length;)m[b]=\"A\",g&&(n[b]=\"A\"),a.splice(b++,0,[\"C\"].concat(c.splice(0,6)));a.splice(b,1),r=Q(e.length,g&&g.length||0)}},l=function(a,b,c,d,f){a&&b&&\"M\"==a[f][0]&&\"M\"!=b[f][0]&&(b.splice(f,0,[\"M\",d.x,d.y]),c.bx=0,c.by=0,c.x=a[f][1],c.y=a[f][2],r=Q(e.length,g&&g.length||0))},m=[],n=[],o=\"\",p=\"\",q=0,r=Q(e.length,g&&g.length||0);r>q;q++){e[q]&&(o=e[q][0]),\"C\"!=o&&(m[q]=o,q&&(p=m[q-1])),e[q]=j(e[q],h,p),\"A\"!=m[q]&&\"C\"==o&&(m[q]=\"C\"),k(e,q),g&&(g[q]&&(o=g[q][0]),\"C\"!=o&&(n[q]=o,q&&(p=n[q-1])),g[q]=j(g[q],i,p),\"A\"!=n[q]&&\"C\"==o&&(n[q]=\"C\"),k(g,q)),l(e,g,h,i,q),l(g,e,i,h,q);var s=e[q],t=g&&g[q],u=s.length,v=g&&t.length;h.x=s[u-2],h.y=s[u-1],h.bx=M(s[u-4])||h.x,h.by=M(s[u-3])||h.y,i.bx=g&&(M(t[v-4])||i.x),i.by=g&&(M(t[v-3])||i.y),i.x=g&&t[v-2],i.y=g&&t[v-1]}return g||(d.curve=f(e)),g?[e,g]:e}function F(a,b){if(!b)return a;var c,d,e,f,g,h,i;for(a=E(a),e=0,g=a.length;g>e;e++)for(i=a[e],f=1,h=i.length;h>f;f+=2)c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d;return a}function G(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push([\"C\",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}var H=b.prototype,I=a.is,J=a._.clone,K=\"hasOwnProperty\",L=/,?([a-z]),?/gi,M=parseFloat,N=Math,O=N.PI,P=N.min,Q=N.max,R=N.pow,S=N.abs,T=h(1),U=h(),V=h(0,1),W=a._unit2px,X={path:function(a){return a.attr(\"path\")},circle:function(a){var b=W(a);return x(b.cx,b.cy,b.r)},ellipse:function(a){var b=W(a);return x(b.cx||0,b.cy||0,b.rx,b.ry)},rect:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height,b.rx,b.ry)},image:function(a){var b=W(a);return w(b.x||0,b.y||0,b.width,b.height)},line:function(a){return\"M\"+[a.attr(\"x1\")||0,a.attr(\"y1\")||0,a.attr(\"x2\"),a.attr(\"y2\")]},polyline:function(a){return\"M\"+a.attr(\"points\")},polygon:function(a){return\"M\"+a.attr(\"points\")+\"z\"},deflt:function(a){var b=a.node.getBBox();return w(b.x,b.y,b.width,b.height)}};a.path=c,a.path.getTotalLength=T,a.path.getPointAtLength=U,a.path.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return V(a,b).end;var d=V(a,c,1);return b?V(d,b).end:d},H.getTotalLength=function(){return this.node.getTotalLength?this.node.getTotalLength():void 0},H.getPointAtLength=function(a){return U(this.attr(\"d\"),a)},H.getSubpath=function(b,c){return a.path.getSubpath(this.attr(\"d\"),b,c)},a._.box=d,a.path.findDotsAtSegment=i,a.path.bezierBBox=j,a.path.isPointInsideBBox=k,a.path.isBBoxIntersect=l,a.path.intersection=r,a.path.intersectionNumber=s,a.path.isPointInside=u,a.path.getBBox=v,a.path.get=X,a.path.toRelative=y,a.path.toAbsolute=z,a.path.toCubic=E,a.path.map=F,a.path.toString=e,a.path.clone=f}),d.plugin(function(a){var d=Math.max,e=Math.min,f=function(a){if(this.items=[],this.bindings={},this.length=0,this.type=\"set\",a)for(var b=0,c=a.length;c>b;b++)a[b]&&(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},g=f.prototype;g.push=function(){for(var a,b,c=0,d=arguments.length;d>c;c++)a=arguments[c],a&&(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},g.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},g.forEach=function(a,b){for(var c=0,d=this.items.length;d>c;c++)if(a.call(b,this.items[c],c)===!1)return this;return this},g.animate=function(d,e,f,g){\"function\"!=typeof f||f.length||(g=f,f=c.linear),d instanceof a._.Animation&&(g=d.callback,f=d.easing,e=f.dur,d=d.attr);var h=arguments;if(a.is(d,\"array\")&&a.is(h[h.length-1],\"array\"))var i=!0;var j,k=function(){j?this.b=j:j=this.b},l=0,m=g&&function(){l++==this.length&&g.call(this)};return this.forEach(function(a,c){b.once(\"snap.animcreated.\"+a.id,k),i?h[c]&&a.animate.apply(a,h[c]):a.animate(d,e,f,m)})},g.remove=function(){for(;this.length;)this.pop().remove();return this},g.bind=function(a,b,c){var d={};if(\"function\"==typeof b)this.bindings[a]=b;else{var e=c||a;this.bindings[a]=function(a){d[e]=a,b.attr(d)}}return this},g.attr=function(a){var b={};for(var c in a)this.bindings[c]?this.bindings[c](a[c]):b[c]=a[c];for(var d=0,e=this.items.length;e>d;d++)this.items[d].attr(b);return this},g.clear=function(){for(;this.length;)this.pop()},g.splice=function(a,b){a=0>a?d(this.length+a,0):a,b=d(0,e(this.length-a,b));var c,g=[],h=[],i=[];for(c=2;c<arguments.length;c++)i.push(arguments[c]);for(c=0;b>c;c++)h.push(this[a+c]);for(;c<this.length-a;c++)g.push(this[a+c]);var j=i.length;for(c=0;c<j+g.length;c++)this.items[a+c]=this[a+c]=j>c?i[c]:g[c-j];for(c=this.items.length=this.length-=b-j;this[c];)delete this[c++];return new f(h)},g.exclude=function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]==a)return this.splice(b,1),!0;return!1},g.insertAfter=function(a){for(var b=this.items.length;b--;)this.items[b].insertAfter(a);return this},g.getBBox=function(){for(var a=[],b=[],c=[],f=[],g=this.items.length;g--;)if(!this.items[g].removed){var h=this.items[g].getBBox();a.push(h.x),b.push(h.y),c.push(h.x+h.width),f.push(h.y+h.height)}return a=e.apply(0,a),b=e.apply(0,b),c=d.apply(0,c),f=d.apply(0,f),{x:a,y:b,x2:c,y2:f,width:c-a,height:f-b,cx:a+(c-a)/2,cy:b+(f-b)/2}},g.clone=function(a){a=new f;for(var b=0,c=this.items.length;c>b;b++)a.push(this.items[b].clone());return a},g.toString=function(){return\"Snaps set\"},g.type=\"set\",a.set=function(){var a=new f;return arguments.length&&a.push.apply(a,Array.prototype.slice.call(arguments,0)),a}}),d.plugin(function(a,c){function d(a){var b=a[0];switch(b.toLowerCase()){case\"t\":return[b,0,0];case\"m\":return[b,1,0,0,1,0,0];case\"r\":return 4==a.length?[b,0,a[2],a[3] ]:[b,0];case\"s\":return 5==a.length?[b,1,1,a[3],a[4] ]:3==a.length?[b,1,1]:[b,1]}}function e(b,c,e){c=m(c).replace(/\\.{3}|\\u2026/g,b),b=a.parseTransformString(b)||[],c=a.parseTransformString(c)||[];for(var f,g,h,k,l=Math.max(b.length,c.length),n=[],o=[],p=0;l>p;p++){if(h=b[p]||d(c[p]),k=c[p]||d(h),h[0]!=k[0]||\"r\"==h[0].toLowerCase()&&(h[2]!=k[2]||h[3]!=k[3])||\"s\"==h[0].toLowerCase()&&(h[3]!=k[3]||h[4]!=k[4])){b=a._.transform2matrix(b,e()),c=a._.transform2matrix(c,e()),n=[[\"m\",b.a,b.b,b.c,b.d,b.e,b.f] ],o=[[\"m\",c.a,c.b,c.c,c.d,c.e,c.f] ];break}for(n[p]=[],o[p]=[],f=0,g=Math.max(h.length,k.length);g>f;f++)f in h&&(n[p][f]=h[f]),f in k&&(o[p][f]=k[f])}return{from:j(n),to:j(o),f:i(n)}}function f(a){return a}function g(a){return function(b){return+b.toFixed(3)+a}}function h(b){return a.rgb(b[0],b[1],b[2])}function i(a){var b,c,d,e,f,g,h=0,i=[];for(b=0,c=a.length;c>b;b++){for(f=\"[\",g=['\"'+a[b][0]+'\"'],d=1,e=a[b].length;e>d;d++)g[d]=\"val[\"+h++ +\"]\";\n",
"f+=g+\"]\",i[b]=f}return Function(\"val\",\"return Snap.path.toString.call([\"+i+\"])\")}function j(a){for(var b=[],c=0,d=a.length;d>c;c++)for(var e=1,f=a[c].length;f>e;e++)b.push(a[c][e]);return b}var k={},l=/[a-z]+$/i,m=String;k.stroke=k.fill=\"colour\",c.prototype.equal=function(a,c){return b(\"snap.util.equal\",this,a,c).firstDefined()},b.on(\"snap.util.equal\",function(b,c){var d,n,o=m(this.attr(b)||\"\"),p=this;if(o==+o&&c==+c)return{from:+o,to:+c,f:f};if(\"colour\"==k[b])return d=a.color(o),n=a.color(c),{from:[d.r,d.g,d.b,d.opacity],to:[n.r,n.g,n.b,n.opacity],f:h};if(\"transform\"==b||\"gradientTransform\"==b||\"patternTransform\"==b)return c instanceof a.Matrix&&(c=c.toTransformString()),a._.rgTransform.test(c)||(c=a._.svgTransform2string(c)),e(o,c,function(){return p.getBBox(1)});if(\"d\"==b||\"path\"==b)return d=a.path.toCubic(o,c),{from:j(d[0]),to:j(d[1]),f:i(d[0])};if(\"points\"==b)return d=m(o).split(a._.separator),n=m(c).split(a._.separator),{from:d,to:n,f:function(a){return a}};aUnit=o.match(l);var q=m(c).match(l);return aUnit&&aUnit==q?{from:parseFloat(o),to:parseFloat(c),f:g(aUnit)}:{from:this.asPX(b),to:this.asPX(b,c),f:f}})}),d.plugin(function(a,c,d,e){for(var f=c.prototype,g=\"hasOwnProperty\",h=(\"createTouch\"in e.doc),i=[\"click\",\"dblclick\",\"mousedown\",\"mousemove\",\"mouseout\",\"mouseover\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\"],j={mousedown:\"touchstart\",mousemove:\"touchmove\",mouseup:\"touchend\"},k=(function(a,b){var c=\"y\"==a?\"scrollTop\":\"scrollLeft\",d=b&&b.node?b.node.ownerDocument:e.doc;return d[c in d.documentElement?\"documentElement\":\"body\"][c]}),l=function(){this.returnValue=!1},m=function(){return this.originalEvent.preventDefault()},n=function(){this.cancelBubble=!0},o=function(){return this.originalEvent.stopPropagation()},p=function(){return e.doc.addEventListener?function(a,b,c,d){var e=h&&j[b]?j[b]:b,f=function(e){var f=k(\"y\",d),i=k(\"x\",d);if(h&&j[g](b))for(var l=0,n=e.targetTouches&&e.targetTouches.length;n>l;l++)if(e.targetTouches[l].target==a||a.contains(e.targetTouches[l].target)){var p=e;e=e.targetTouches[l],e.originalEvent=p,e.preventDefault=m,e.stopPropagation=o;break}var q=e.clientX+i,r=e.clientY+f;return c.call(d,e,q,r)};return b!==e&&a.addEventListener(b,f,!1),a.addEventListener(e,f,!1),function(){return b!==e&&a.removeEventListener(b,f,!1),a.removeEventListener(e,f,!1),!0}}:e.doc.attachEvent?function(a,b,c,d){var e=function(a){a=a||d.node.ownerDocument.window.event;var b=k(\"y\",d),e=k(\"x\",d),f=a.clientX+e,g=a.clientY+b;return a.preventDefault=a.preventDefault||l,a.stopPropagation=a.stopPropagation||n,c.call(d,a,f,g)};a.attachEvent(\"on\"+b,e);var f=function(){return a.detachEvent(\"on\"+b,e),!0};return f}:void 0}(),q=[],r=function(a){for(var c,d=a.clientX,e=a.clientY,f=k(\"y\"),g=k(\"x\"),i=q.length;i--;){if(c=q[i],h){for(var j,l=a.touches&&a.touches.length;l--;)if(j=a.touches[l],j.identifier==c.el._drag.id||c.el.node.contains(j.target)){d=j.clientX,e=j.clientY,(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();{var m=c.el.node;m.nextSibling,m.parentNode,m.style.display}d+=g,e+=f,b(\"snap.drag.move.\"+c.el.id,c.move_scope||c.el,d-c.el._drag.x,e-c.el._drag.y,d,e,a)}},s=function(c){a.unmousemove(r).unmouseup(s);for(var d,e=q.length;e--;)d=q[e],d.el._drag={},b(\"snap.drag.end.\"+d.el.id,d.end_scope||d.start_scope||d.move_scope||d.el,c);q=[]},t=i.length;t--;)!function(b){a[b]=f[b]=function(c,d){return a.is(c,\"function\")&&(this.events=this.events||[],this.events.push({name:b,f:c,unbind:p(this.node||document,b,c,d||this)})),this},a[\"un\"+b]=f[\"un\"+b]=function(a){for(var c=this.events||[],d=c.length;d--;)if(c[d].name==b&&(c[d].f==a||!a))return c[d].unbind(),c.splice(d,1),!c.length&&delete this.events,this;return this}}(i[t]);f.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},f.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var u=[];f.drag=function(c,d,e,f,g,h){function i(i,j,k){(i.originalEvent||i).preventDefault(),this._drag.x=j,this._drag.y=k,this._drag.id=i.identifier,!q.length&&a.mousemove(r).mouseup(s),q.push({el:this,move_scope:f,start_scope:g,end_scope:h}),d&&b.on(\"snap.drag.start.\"+this.id,d),c&&b.on(\"snap.drag.move.\"+this.id,c),e&&b.on(\"snap.drag.end.\"+this.id,e),b(\"snap.drag.start.\"+this.id,g||f||this,j,k,i)}if(!arguments.length){var j;return this.drag(function(a,b){this.attr({transform:j+(j?\"T\":\"t\")+[a,b]})},function(){j=this.transform().local})}return this._drag={},u.push({el:this,start:i}),this.mousedown(i),this},f.undrag=function(){for(var c=u.length;c--;)u[c].el==this&&(this.unmousedown(u[c].start),u.splice(c,1),b.unbind(\"snap.drag.*.\"+this.id));return!u.length&&a.unmousemove(r).unmouseup(s),this}}),d.plugin(function(a,c,d){var e=(c.prototype,d.prototype),f=/^\\s*url\\((.+)\\)/,g=String,h=a._.$;a.filter={},e.filter=function(b){var d=this;\"svg\"!=d.type&&(d=d.paper);var e=a.parse(g(b)),f=a._.id(),i=(d.node.offsetWidth,d.node.offsetHeight,h(\"filter\"));return h(i,{id:f,filterUnits:\"userSpaceOnUse\"}),i.appendChild(e.node),d.defs.appendChild(i),new c(i)},b.on(\"snap.util.getattr.filter\",function(){b.stop();var c=h(this.node,\"filter\");if(c){var d=g(c).match(f);return d&&a.select(d[1])}}),b.on(\"snap.util.attr.filter\",function(d){if(d instanceof c&&\"filter\"==d.type){b.stop();var e=d.node.id;e||(h(d.node,{id:d.id}),e=d.id),h(this.node,{filter:a.url(e)})}d&&\"none\"!=d||(b.stop(),this.node.removeAttribute(\"filter\"))}),a.filter.blur=function(b,c){null==b&&(b=2);var d=null==c?b:[b,c];return a.format('<feGaussianBlur stdDeviation=\"{def}\"/>',{def:d})},a.filter.blur.toString=function(){return this()},a.filter.shadow=function(b,c,d,e,f){return\"string\"==typeof d&&(e=d,f=e,d=4),\"string\"!=typeof e&&(f=e,e=\"#000\"),e=e||\"#000\",null==d&&(d=4),null==f&&(f=1),null==b&&(b=0,c=2),null==c&&(c=b),e=a.color(e),a.format('<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"{blur}\"/><feOffset dx=\"{dx}\" dy=\"{dy}\" result=\"offsetblur\"/><feFlood flood-color=\"{color}\"/><feComposite in2=\"offsetblur\" operator=\"in\"/><feComponentTransfer><feFuncA type=\"linear\" slope=\"{opacity}\"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in=\"SourceGraphic\"/></feMerge>',{color:e,dx:b,dy:c,blur:d,opacity:f})},a.filter.shadow.toString=function(){return this()},a.filter.grayscale=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0\"/>',{a:.2126+.7874*(1-b),b:.7152-.7152*(1-b),c:.0722-.0722*(1-b),d:.2126-.2126*(1-b),e:.7152+.2848*(1-b),f:.0722-.0722*(1-b),g:.2126-.2126*(1-b),h:.0722+.9278*(1-b)})},a.filter.grayscale.toString=function(){return this()},a.filter.sepia=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0\"/>',{a:.393+.607*(1-b),b:.769-.769*(1-b),c:.189-.189*(1-b),d:.349-.349*(1-b),e:.686+.314*(1-b),f:.168-.168*(1-b),g:.272-.272*(1-b),h:.534-.534*(1-b),i:.131+.869*(1-b)})},a.filter.sepia.toString=function(){return this()},a.filter.saturate=function(b){return null==b&&(b=1),a.format('<feColorMatrix type=\"saturate\" values=\"{amount}\"/>',{amount:1-b})},a.filter.saturate.toString=function(){return this()},a.filter.hueRotate=function(b){return b=b||0,a.format('<feColorMatrix type=\"hueRotate\" values=\"{angle}\"/>',{angle:b})},a.filter.hueRotate.toString=function(){return this()},a.filter.invert=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncG type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncB type=\"table\" tableValues=\"{amount} {amount2}\"/></feComponentTransfer>',{amount:b,amount2:1-b})},a.filter.invert.toString=function(){return this()},a.filter.brightness=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\"/><feFuncG type=\"linear\" slope=\"{amount}\"/><feFuncB type=\"linear\" slope=\"{amount}\"/></feComponentTransfer>',{amount:b})},a.filter.brightness.toString=function(){return this()},a.filter.contrast=function(b){return null==b&&(b=1),a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncG type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncB type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/></feComponentTransfer>',{amount:b,amount2:.5-b/2})},a.filter.contrast.toString=function(){return this()}}),d});\n",
"]]></script>\n",
"<script><![CDATA[\n",
"(function (glob, factory) {\n",
" if (typeof define === 'function' && define.amd) {\n",
" define('ProfileSVG', ['ProfileSVG/snap.svg'], function (Snap) {\n",
" return factory(Snap);\n",
" });\n",
" } else {\n",
" glob.ProfileSVG = factory(glob.Snap);\n",
" }\n",
"}(this, function (Snap) {\n",
" 'use strict';\n",
"\n",
" var supportsPassive = false;\n",
" try {\n",
" var opts = Object.defineProperty({}, 'passive', {\n",
" get: function () {\n",
" return supportsPassive = true;\n",
" }\n",
" });\n",
" window.addEventListener(\"testPassive\", null, opts);\n",
" window.removeEventListener(\"testPassive\", null, opts);\n",
" } catch (e) { // not supported\n",
" }\n",
"\n",
" var stopper = function (e) {\n",
" e.preventDefault();\n",
" e.stopPropagation();\n",
" };\n",
"\n",
" var throttle = function (delay, filter, callback) {\n",
" var previousCall = new Date().getTime();\n",
" return function (e) {\n",
" var time = new Date().getTime();\n",
" if ((time - previousCall) >= delay) {\n",
" previousCall = time;\n",
" callback.apply(null, arguments);\n",
" }\n",
" filter(e);\n",
" };\n",
" };\n",
"\n",
"\n",
" var ProfileSVG = {};\n",
"\n",
" var NS_SVG = 'http://www.w3.org/2000/svg';\n",
" var DEFAULT_TRANSITION_TIME = 300;\n",
" var ZOOM_STEP = 1.4;\n",
" var VIEWPORT_SCALE = 0.9;\n",
" var VIEWPORT_MARGIN_X = 20;\n",
"\n",
" var formatText = function (fig, text, availableWidth) {\n",
" if (availableWidth < 3 * fig.charWidthM) {\n",
" return '';\n",
" }\n",
" var w = availableWidth;\n",
" var m = fig.charWidthM;\n",
" var n = fig.charWidthN;\n",
" var m2 = m * m;\n",
" var n2 = n * n;\n",
" var nc = 0.5 / n2 * (\n",
" (n - m) * Math.sqrt(n2 + (4 * w - 2 * m) * n + m2) + n2 + 2 * (w - m) * n + m2);\n",
" var nchars = Math.ceil(nc);\n",
" if (text.length <= nchars) {\n",
" return text;\n",
" }\n",
" return text.slice(0, nchars - 2) + '..';\n",
" };\n",
"\n",
" var unescapeHtml = function (str) {\n",
" return str\n",
" .replace(/&lt;/g, '<')\n",
" .replace(/&gt;/g, '>')\n",
" .replace(/&amp;/g, '&');\n",
" };\n",
"\n",
" var isDarkColor = function (c) {\n",
" var m = c.match(/^rgba?\\(\\s*(\\d+)[\\s,]+(\\d+)[\\s,]+(\\d+)/);\n",
" if (m) {\n",
" return m[1] * 299 + m[2] * 587 + m[3] * 114 < 255 * 650;\n",
" }\n",
" m = c.match(/^#([\\dA-F]{2})([\\dA-F]{2})([\\dA-F]{2})/i);\n",
" if (m) {\n",
" var r = parseInt(m[1], 16);\n",
" var g = parseInt(m[2], 16);\n",
" var b = parseInt(m[3], 16);\n",
" return r * 299 + g * 587 + b * 114 < 255 * 650;\n",
" }\n",
" return true;\n",
" };\n",
"\n",
" ProfileSVG.moveAndZoom = function (targetFocusX, targetScaleX, fig, deltaT) {\n",
" if (typeof deltaT === 'undefined') {\n",
" deltaT = DEFAULT_TRANSITION_TIME;\n",
" }\n",
"\n",
" var targetFocusY = fig.cy;\n",
" var targetScaleY = 1;\n",
"\n",
" // TODO: dynamically update the transformation while dragging\n",
" var mat = fig.viewport.node.transform.baseVal.consolidate().matrix;\n",
"\n",
" var oldScaleX = mat.a;\n",
" var oldScaleY = mat.d;\n",
" var oldE = mat.e;\n",
" var oldF = mat.f;\n",
"\n",
" var targetE = fig.cx - targetScaleX * targetFocusX;\n",
" var targetF = fig.cy - targetScaleY * targetFocusY;\n",
"\n",
" fig.focusX = targetFocusX;\n",
" fig.focusY = targetFocusY;\n",
" fig.scaleX = targetScaleX;\n",
" fig.scaleY = targetScaleY;\n",
"\n",
" var rects = undefined;\n",
" var pathrects = undefined;\n",
" if (fig.roundradius > 0) {\n",
" rects = fig.viewport.selectAll('rect');\n",
" } else {\n",
" pathrects = fig.viewport.selectAll('path');\n",
" }\n",
"\n",
" var scaleViewport = function (step) {\n",
" var scaleX = oldScaleX + (targetScaleX - oldScaleX) * step;\n",
" var scaleY = oldScaleY + (targetScaleY - oldScaleY) * step;\n",
"\n",
" var rMatrix = fig.viewport.node.transform.baseVal.consolidate().matrix;\n",
" rMatrix.a = scaleX;\n",
" rMatrix.d = scaleY;\n",
" rMatrix.e = oldE + (targetE - oldE) * step; // TransX\n",
" rMatrix.f = oldF + (targetF - oldF) * step; // TransY\n",
"\n",
" if (rects) {\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" rect.setAttribute('rx', Math.max(0.0, fig.roundradius / scaleX));\n",
" rect.setAttribute('ry', Math.max(0.0, fig.roundradius / scaleY));\n",
" });\n",
" }\n",
" };\n",
"\n",
" var finish = function () {\n",
" scaleViewport(1);\n",
" var scaleXt = 1.0 / targetScaleX;\n",
" var scaleYt = 1.0 / targetScaleY;\n",
" var updateText = function (text, x, y, w, shortinfo) {\n",
" var tMatrix = text.transform.baseVal.getItem(0).matrix;\n",
" tMatrix.a = scaleXt;\n",
" tMatrix.d = scaleYt;\n",
" tMatrix.e = (1.0 - scaleXt) * x;\n",
" tMatrix.f = (1.0 - scaleYt) * y;\n",
"\n",
" text.firstChild.nodeValue = formatText(fig, shortinfo, w / scaleXt);\n",
" text.style.display = 'inherit';\n",
" };\n",
" if (rects) {\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" var x = rect.x.baseVal.value;\n",
" var y = rect.y.baseVal.value;\n",
" var w = rect.width.baseVal.value;\n",
" var shortinfo = rect.getAttribute('data-shortinfo');\n",
" updateText(rect.nextElementSibling, x, y, w, shortinfo);\n",
" });\n",
" }\n",
" if (pathrects) {\n",
" pathrects.forEach(function (p) {\n",
" var path = p.node;\n",
" // The API compatibility of path segments is problematic.\n",
" var d = path.getAttribute('d');\n",
" var values = d.match(/^M\\s*([\\d.]+)[\\s,]+(-?[\\d.]+)[^h]+h\\s*([\\d.]+)/);\n",
" var x = Number(values[1]);\n",
" var y = Number(values[2]);\n",
" var w = Number(values[3]);\n",
" var shortinfo = path.getAttribute('data-shortinfo');\n",
" updateText(path.nextElementSibling, x, y, w, shortinfo);\n",
" });\n",
" }\n",
" };\n",
"\n",
" if (deltaT != 0) {\n",
" if (!fig.notext) {\n",
" fig.viewport.selectAll('text').forEach(function (text) {\n",
" text.node.style.display = 'none';\n",
" });\n",
" }\n",
" Snap.animate(0, 1, scaleViewport, deltaT, null, fig.notext ? null : finish);\n",
" } else {\n",
" if (!fig.notext) {\n",
" finish();\n",
" }\n",
" }\n",
"\n",
" };\n",
"\n",
" ProfileSVG.reset = function (fig) {\n",
" var w = fig.width - VIEWPORT_MARGIN_X;\n",
" var targetScaleX = fig.width / w * VIEWPORT_SCALE;\n",
" ProfileSVG.moveAndZoom(fig.cx, targetScaleX, fig);\n",
" };\n",
"\n",
" ProfileSVG.initialize = function (figId) {\n",
"\n",
" var svg = Snap.select('#' + figId);\n",
" var fig = {};\n",
" fig.id = figId;\n",
"\n",
" var bg = svg.select('#' + figId + '-bg');\n",
" var bbox = bg.getBBox();\n",
" fig.width = bbox.width;\n",
" fig.height = bbox.height;\n",
" fig.cx = fig.width / 2;\n",
" fig.cy = fig.height / 2;\n",
"\n",
" fig.viewport = svg.select('#' + figId + '-viewport');\n",
"\n",
" fig.xstep = fig.viewport.node.getAttribute('data-xstep');\n",
" fig.tunit = fig.viewport.node.getAttribute('data-tunit');\n",
" fig.delay = fig.viewport.node.getAttribute('data-delay');\n",
"\n",
" var texts = fig.viewport.selectAll('text');\n",
" fig.notext = false;\n",
" if (texts[0]) {\n",
" fig.notext = getComputedStyle(texts[0].node).strokeOpacity == 0.0;\n",
" texts.forEach(function (text) {\n",
" text.node.style.display = 'none';\n",
" });\n",
" }\n",
" texts = null;\n",
"\n",
" fig.roundradius = 0.0;\n",
" var rect = fig.viewport.select('rect');\n",
" if (rect) {\n",
" fig.roundradius = rect.node.rx.baseVal.value;\n",
" }\n",
"\n",
" fig.scaleX = 1.0;\n",
" fig.scaleY = 1.0; // prepare for the future\n",
" fig.focusX = fig.cx; // center x in the raw (scaleX=1) coordinate space\n",
" fig.focusY = fig.cy; // center y in the raw (scaleY=1) coordinate space\n",
"\n",
" var textBg = document.createElementNS(NS_SVG, 'rect');\n",
" var detail = document.createElementNS(NS_SVG, 'text');\n",
" var time = document.createElementNS(NS_SVG, 'text');\n",
" detail.style.visibility = 'hidden';\n",
" detail.textContent = 'MOw';\n",
" fig.viewport.node.parentNode.appendChild(textBg);\n",
" fig.viewport.node.parentNode.appendChild(detail);\n",
" fig.viewport.node.parentNode.appendChild(time);\n",
" var mBBox = detail.getBBox();\n",
" fig.charWidthM = mBBox.width / 3;\n",
" detail.textContent = 'night';\n",
" var nBBox = detail.getBBox();\n",
" fig.charWidthN = nBBox.width / 5;\n",
" fig.textHeight = nBBox.height;\n",
" detail.style.display = 'none';\n",
" detail.style.visibility = 'visible';\n",
"\n",
" detail.setAttribute('id', figId + '-details');\n",
" detail.setAttribute('x', fig.charWidthM);\n",
" detail.setAttribute('y', fig.height - fig.textHeight * 0.75);\n",
"\n",
" time.setAttribute('x', fig.width - fig.charWidthM * 10);\n",
" time.setAttribute('y', fig.height - fig.textHeight * 0.75);\n",
"\n",
" textBg.setAttribute('x', 0);\n",
" textBg.setAttribute('y', fig.height - fig.textHeight * 2);\n",
" textBg.setAttribute('width', fig.width);\n",
" textBg.setAttribute('height', fig.textHeight * 2);\n",
" var textBgFill = getComputedStyle(textBg).fill;\n",
" if (textBgFill == \"rgba(0, 0, 0, 0)\" || textBgFill == \"transparent\") {\n",
" var isDark = isDarkColor(getComputedStyle(detail).fill);\n",
" textBg.style.fill = isDark ? 'white' : 'black';\n",
" }\n",
" textBg.style.display = 'none';\n",
"\n",
" ProfileSVG.reset(fig);\n",
"\n",
" var rectDblClickHandler = function (e) {\n",
" var bbox = e.target.getBBox();\n",
" var cx = bbox.x + bbox.width / 2;\n",
" var targetScaleX = fig.width / bbox.width * VIEWPORT_SCALE;\n",
" ProfileSVG.moveAndZoom(cx, targetScaleX, fig);\n",
" };\n",
"\n",
" var rectMouseOverHandler = function (e) {\n",
" var rect = e.target;\n",
" var text = rect.nextElementSibling;\n",
" var details = document.getElementById(fig.id + '-details');\n",
" text.style.strokeWidth = '1';\n",
" var sinfo = rect.getAttribute('data-shortinfo');\n",
" var dir = rect.getAttribute('data-dinfo');\n",
" var i = sinfo.indexOf(' in ');\n",
" var func = sinfo.slice(0, i + 4);\n",
" var file = sinfo.slice(i + 4);\n",
" var time = details.nextElementSibling;\n",
" details.textContent = 'Function: ' + func + dir + file;\n",
" details.style.display = 'inherit';\n",
" if (fig.delay) {\n",
" var count = Math.round(rect.width.baseVal.value / fig.xstep);\n",
" var t = count * (fig.tunit === 's' ? fig.delay :\n",
" fig.tunit === 'ms' ? fig.delay * 1e3 :\n",
" fig.tunit === 'us' || fig.tunit === 'μs' ? fig.delay * 1e6 : 1);\n",
" var tp = Math.round(t * 1000) / 1000;\n",
" time.textContent = 'Time: ' + tp + ' ' + fig.tunit;\n",
" time.style.display = 'inherit';\n",
" }\n",
" details.previousElementSibling.style.display = 'inherit';\n",
" };\n",
" var rectMouseOutHandler = function (e) {\n",
" var rect = e.target;\n",
" var text = rect.nextElementSibling;\n",
" var details = document.getElementById(fig.id + '-details');\n",
" text.style.strokeWidth = '0';\n",
" details.style.display = 'none';\n",
" details.previousElementSibling.style.display = 'none';\n",
" details.nextElementSibling.style.display = 'none';\n",
" };\n",
"\n",
" var rects = fig.viewport.selectAll(fig.roundradius > 0 ? 'rect' : 'path');\n",
" rects.forEach(function (r) {\n",
" var rect = r.node;\n",
" var text = rect.nextElementSibling;\n",
" rect.setAttribute('data-shortinfo', unescapeHtml(text.textContent));\n",
" var dir = unescapeHtml(rect.getAttribute('data-dinfo'));\n",
" rect.setAttribute('data-dinfo', dir);\n",
" rect.addEventListener('dblclick', rectDblClickHandler, false);\n",
" rect.addEventListener('mouseover', rectMouseOverHandler, false);\n",
" rect.addEventListener('mouseout', rectMouseOutHandler, false);\n",
" var transform = svg.node.createSVGTransform();\n",
" text.transform.baseVal.initialize(transform); // matrix(1, 0, 0, 1, 0, 0)\n",
" });\n",
" rects = null;\n",
"\n",
" bg.dblclick(function () {\n",
" ProfileSVG.reset(fig);\n",
" });\n",
"\n",
" var mouseWheelHandler = throttle(400, stopper, function (e) {\n",
" var delta = Math.round(e.deltaY * 100);\n",
" if (delta == 0) {\n",
" return;\n",
" }\n",
" var scale = delta < 0 ? ZOOM_STEP : 1 / ZOOM_STEP;\n",
"\n",
" var clientRect = svg.node.getBoundingClientRect();\n",
" var mx = e.clientX - clientRect.left;\n",
" //var my = e.clientY - clientRect.top;\n",
" var ctm = svg.node.getCTM();\n",
" var x = ctm ? (mx - ctm.e) / ctm.a : mx;\n",
" //var y = ctm ? (my - ctm.f) / ctm.d : my;\n",
" var px = (x - fig.cx) / fig.scaleX + fig.focusX;\n",
" var targetScaleX = Math.max(fig.scaleX * scale, 0.01);\n",
" var targetFocusX = fig.scaleX / targetScaleX * (fig.focusX - px) + px;\n",
" ProfileSVG.moveAndZoom(targetFocusX, targetScaleX, fig, 400);\n",
" });\n",
"\n",
" svg.node.addEventListener('wheel', mouseWheelHandler, supportsPassive ? {\n",
" passive: false\n",
" } : false);\n",
"\n",
" fig.viewport.drag();\n",
" };\n",
"\n",
" return ProfileSVG;\n",
"}));\n",
"\n",
"]]></script>\n",
"<script><![CDATA[\n",
"if (typeof require === 'function' && define.amd) {\n",
" require(['ProfileSVG'], function (ProfileSVG) {\n",
" ProfileSVG.initialize(\"fig-09a36b101fea45b58e9836c627116ac7\");\n",
" });\n",
"} else {\n",
" ProfileSVG.initialize(\"fig-09a36b101fea45b58e9836c627116ac7\");\n",
"}\n",
"]]></script>\n",
"</svg>\n",
"</body>\n",
"</html>\n"
],
"text/plain": [
"ProfileSVG.FGConfig(Node(FlameGraphs.NodeData(ip:0x0, 0x01, 1:122)), Dict{Symbol, Any}(), FlameGraphs.FlameColors(ColorTypes.RGB{FixedPointNumbers.N0f8}[RGB{N0f8}(0.882,0.698,1.0), RGB{N0f8}(0.435,0.863,0.569), RGB{N0f8}(0.0,0.71,0.545), RGB{N0f8}(0.173,0.639,1.0)], RGB{N0f8}(1.0,1.0,1.0), RGB{N0f8}(0.0,0.0,0.0), ColorTypes.RGB{FixedPointNumbers.N0f8}[RGB{N0f8}(0.953,0.0,0.302), RGB{N0f8}(0.894,0.0,0.255), RGB{N0f8}(0.831,0.129,0.216), RGB{N0f8}(0.773,0.192,0.184)], ColorTypes.RGB{FixedPointNumbers.N0f8}[RGB{N0f8}(1.0,0.627,0.0), RGB{N0f8}(1.0,0.643,0.0), RGB{N0f8}(0.965,0.651,0.039), RGB{N0f8}(0.894,0.655,0.11)]), :fcolor, :fcolor, 1.0, false, 50, 2000, 960.0, 0.0, 2.0, \"inherit\", 12.0, false, :none, 0.001)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"@profview qrfact(A) \\ y"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.9.4",
"language": "julia",
"name": "julia-1.9"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.9.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}