Repository: SDXorg/pysd (language: python)

Issue:
Coordinates are not being properly reordered after being read from equations
Need to give the correct order in the subscript dictionary given in the object creation. See the attached files:
[inputs.xlsx](https://github.com/JamesPHoughton/pysd/files/9119464/inputs.xlsx)
[test_get_values_order.mdl.txt](https://github.com/JamesPHoughton/pysd/files/9119483/test_get_values_order.mdl.txt)

I am working on solving this ASAP.


Discussion / hints:

Fix patch:
diff --git a/MANIFEST.in b/MANIFEST.in
index 2492107b..248b7e48 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,4 +1,5 @@
 include requirements.txt
 include README.md
+include docs/images/PySD_Logo*
 include LICENSE
 graft pysd/translators/*/parsing_grammars
diff --git a/README.md b/README.md
index a59b83cb..05e7d453 100644
--- a/README.md
+++ b/README.md
@@ -9,8 +9,7 @@ PySD
 [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5654824.svg)](https://doi.org/10.5281/zenodo.5654824)
 [![Docs](https://readthedocs.org/projects/pysd/badge/?version=latest)](https://pysd.readthedocs.io/en/latest/?badge=latest)
 
-
-Simulating System Dynamics Models in Python
+![PySD Logo](docs/image/../images/PySD_Logo_letters.svg?style=centerme)
 
 This project is a simple library for running [System Dynamics](http://en.wikipedia.org/wiki/System_dynamics) models in python, with the purpose of improving integration of *Big Data* and *Machine Learning* into the SD workflow.
 
diff --git a/docs/conf.py b/docs/conf.py
index 9cc3267a..765465a7 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -112,6 +112,11 @@
 
 # Output file base name for HTML help builder.
 htmlhelp_basename = 'PySDdoc'
+html_logo = "images/PySD_Logo_letters.png"
+html_favicon = "images/PySD_Logo.ico"
+html_theme_options = {
+    'logo_only': True,
+}
 
 
 # -- Options for LaTeX output ---------------------------------------------
diff --git a/docs/images/PySD_Logo.ico b/docs/images/PySD_Logo.ico
new file mode 100644
index 00000000..e3023da0
Binary files /dev/null and b/docs/images/PySD_Logo.ico differ
diff --git a/docs/images/PySD_Logo.png b/docs/images/PySD_Logo.png
index 60f685d4..774f1a96 100644
Binary files a/docs/images/PySD_Logo.png and b/docs/images/PySD_Logo.png differ
diff --git a/docs/images/PySD_Logo.svg b/docs/images/PySD_Logo.svg
new file mode 100644
index 00000000..2fa9982b
--- /dev/null
+++ b/docs/images/PySD_Logo.svg
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   version="1.1"
+   id="svg2"
+   width="566"
+   height="566"
+   viewBox="0 0 566 566"
+   sodipodi:docname="PySD_Logo2.svg"
+   inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
+   inkscape:export-filename="PySD_Logo2.png"
+   inkscape:export-xdpi="20.353357"
+   inkscape:export-ydpi="20.353357"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs6">
+    <rect
+       x="1483.8226"
+       y="454.80545"
+       width="37.50676"
+       height="10.830769"
+       id="rect664" />
+    <rect
+       x="1028.8962"
+       y="462.22052"
+       width="321.96417"
+       height="55.999187"
+       id="rect658" />
+    <rect
+       x="872.47284"
+       y="407.32474"
+       width="238.04918"
+       height="8.1332407"
+       id="rect652" />
+    <rect
+       x="700.35126"
+       y="396.52213"
+       width="817.14197"
+       height="318.10815"
+       id="rect646" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient8683">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0.29376376"
+         id="stop8679" />
+      <stop
+         style="stop-color:#0464be;stop-opacity:1;"
+         offset="1"
+         id="stop8681" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8217"
+       inkscape:swatch="gradient">
+      <stop
+         style="stop-color:#f3d128;stop-opacity:1;"
+         offset="0"
+         id="stop8213" />
+      <stop
+         style="stop-color:#f3d128;stop-opacity:0;"
+         offset="1"
+         id="stop8215" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5801">
+      <stop
+         style="stop-color:#0464be;stop-opacity:1;"
+         offset="0"
+         id="stop5797" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop5799" />
+    </linearGradient>
+    <rect
+       x="636.12689"
+       y="30.229094"
+       width="817.1261"
+       height="539.99878"
+       id="rect5768" />
+    <rect
+       x="692.56897"
+       y="91.716011"
+       width="516.28937"
+       height="467.00836"
+       id="rect5712" />
+    <rect
+       x="650.21399"
+       y="70.37252"
+       width="850.96533"
+       height="456.62357"
+       id="rect5698" />
+    <inkscape:path-effect
+       effect="fillet_chamfer"
+       id="path-effect5591"
+       is_visible="true"
+       lpeversion="1"
+       nodesatellites_param="F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1"
+       unit="px"
+       method="auto"
+       mode="F"
+       radius="3"
+       chamfer_steps="1"
+       flexible="false"
+       use_knot_distance="true"
+       apply_no_radius="true"
+       apply_with_radius="true"
+       only_selected="false"
+       hide_knots="false" />
+    <inkscape:path-effect
+       effect="simplify"
+       id="path-effect5589"
+       is_visible="true"
+       lpeversion="1"
+       steps="38"
+       threshold="0.002"
+       smooth_angles="0"
+       helper_size="5"
+       simplify_individual_paths="false"
+       simplify_just_coalesce="false" />
+    <inkscape:path-effect
+       effect="fillet_chamfer"
+       id="path-effect5585"
+       is_visible="true"
+       lpeversion="1"
+       nodesatellites_param="F,0,0,1,0,13,0,1 @ F,0,0,1,0,13,0,1 @ F,0,0,1,0,13,0,1 @ F,0,0,1,0,13,0,1"
+       unit="px"
+       method="auto"
+       mode="F"
+       radius="13"
+       chamfer_steps="1"
+       flexible="false"
+       use_knot_distance="true"
+       apply_no_radius="true"
+       apply_with_radius="true"
+       only_selected="false"
+       hide_knots="false" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1068">
+      <stop
+         style="stop-color:#191919;stop-opacity:0.49792865;"
+         offset="0.35952806"
+         id="stop1064" />
+      <stop
+         style="stop-color:#333333;stop-opacity:0;"
+         offset="0.93268538"
+         id="stop1066" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1068"
+       id="radialGradient1070"
+       cx="280.77301"
+       cy="539.86115"
+       fx="280.77301"
+       fy="539.86115"
+       r="124.65416"
+       gradientTransform="matrix(2.2404078,0,0,0.3812917,-367.73684,306.87276)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5801"
+       id="linearGradient5803"
+       x1="640.92694"
+       y1="151.71652"
+       x2="1120.9264"
+       y2="151.71652"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8683"
+       id="linearGradient8687"
+       x1="640.92694"
+       y1="151.71652"
+       x2="1120.9264"
+       y2="151.71652"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="namedview4"
+     pagecolor="#505050"
+     bordercolor="#eeeeee"
+     borderopacity="1"
+     inkscape:showpageshadow="0"
+     inkscape:pageopacity="0"
+     inkscape:pagecheckerboard="0"
+     inkscape:deskcolor="#505050"
+     showgrid="false"
+     inkscape:zoom="0.73863639"
+     inkscape:cx="680.98459"
+     inkscape:cy="360.12306"
+     inkscape:window-width="1920"
+     inkscape:window-height="1011"
+     inkscape:window-x="1440"
+     inkscape:window-y="32"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g8" />
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Image"
+     id="g8">
+    <ellipse
+       style="opacity:0.816206;fill:url(#radialGradient1070);fill-opacity:1;stroke:none;stroke-width:3.33177;stroke-dasharray:6.6636, 19.9908"
+       id="path1008"
+       cx="261.30917"
+       cy="512.71741"
+       rx="279.27612"
+       ry="47.529594" />
+    <g
+       id="g899">
+      <path
+         style="fill:#0464be;stroke-width:1.19377"
+         d="m 471.07136,391.68583 c -1.76301,-3.75606 -1.70163,-3.96923 3.1936,-11.09189 2.74515,-3.99421 4.84394,-8.18877 4.66398,-9.32122 -0.17995,-1.13245 3.09729,-8.95672 7.28276,-17.38726 4.18548,-8.43056 7.51401,-16.67728 7.39678,-18.32608 -0.1173,-1.64879 0.4844,-4.29901 1.33702,-5.88937 1.53762,-2.86807 5.12785,-18.18886 4.42783,-18.89515 -0.20056,-0.20238 -1.32582,2.72822 -2.50057,6.51245 -1.17473,3.78423 -3.35298,9.03883 -4.84055,11.6769 -1.48756,2.63806 -4.4327,10.3374 -6.54476,17.10962 -2.11205,6.77222 -4.39873,12.6615 -5.08154,13.08727 -0.80989,0.50505 -0.91291,-0.0237 -0.29636,-1.52104 0.51979,-1.26234 1.0391,-3.91399 1.15402,-5.89254 0.11493,-1.97855 0.86895,-4.81148 1.67562,-6.29539 0.80667,-1.48391 1.18501,-2.69802 0.84078,-2.69802 -0.34424,0 -2.28591,2.96782 -4.31484,6.59518 -2.02894,3.62733 -3.87053,6.59516 -4.09243,6.59516 -0.22189,0 1.47013,-4.0915 3.76005,-9.09223 2.28993,-5.00073 4.1982,-10.26188 4.2406,-11.69144 0.0424,-1.42956 1.09427,-5.5031 2.33747,-9.05228 2.77211,-7.9141 2.13758,-9.51998 -0.74865,-1.89466 -3.18419,8.4125 -3.60959,5.39354 -0.74787,-5.30734 4.58212,-17.13399 8.22058,-38.50674 6.55531,-38.50674 -0.81656,0 -1.85215,2.19479 -2.30131,4.87728 -0.44919,2.68253 -1.13276,4.5584 -1.51906,4.16863 -0.38631,-0.38978 -1.41088,0.78797 -2.27684,2.61723 -0.86596,1.82923 -1.24509,2.24669 -0.8425,0.92765 0.40257,-1.31904 0.90319,-10.49232 1.11247,-20.38508 0.29596,-13.98906 0.15032,-16.29403 -0.65523,-10.37056 -1.31837,9.69454 -2.12369,11.67537 -2.2662,5.57408 -0.0832,-3.55989 -0.40904,-4.33277 -1.26408,-2.99781 -0.82026,1.28067 -1.19395,-0.27332 -1.29753,-5.39605 l -0.14546,-7.19473 -1.09944,5.39605 c -0.60469,2.96783 -1.43639,6.74506 -1.84821,8.39385 l -0.74879,2.9978 -0.92707,-3.59736 c -0.72806,-2.82515 -0.85294,-2.31035 -0.58176,2.39825 0.46128,8.009 -2.7207,26.03667 -4.48415,25.40524 -0.79423,-0.28438 -1.21901,-2.64198 -1.03584,-5.74892 0.20557,-3.48688 -0.0539,-4.70315 -0.76793,-3.59887 -0.682,1.05481 -0.9204,-1.36971 -0.64851,-6.59517 l 0.42996,-8.26317 -1.87746,10.19255 c -1.03262,5.60589 -2.22564,10.46234 -2.65117,10.79209 -0.42555,0.32976 -2.01395,4.55619 -3.52981,9.39206 -1.51585,4.83587 -2.92852,8.61311 -3.13928,8.39386 -0.49834,-0.51846 2.29763,-17.24746 4.67614,-27.97845 1.02326,-4.61662 2.11412,-13.5201 2.42411,-19.78552 l 0.56362,-11.39165 -1.84471,13.19033 c -1.01457,7.25469 -2.34031,13.37022 -2.94603,13.59005 -0.60571,0.21985 -1.10949,1.83866 -1.1195,3.59736 -0.0244,4.28861 -1.69913,6.70744 -4.02146,5.80828 -1.04644,-0.40517 -1.90262,-0.21398 -1.90262,0.42482 0,0.63882 -0.42742,1.1615 -0.94981,1.1615 -0.5224,0 -0.79997,-2.02352 -0.61684,-4.49671 0.31606,-4.2684 0.24786,-4.19964 -1.34319,1.35429 -0.92189,3.21805 -2.22997,6.40977 -2.90685,7.09272 -0.84862,0.85623 -0.85123,-0.14483 -0.008,-3.22445 0.76376,-2.79095 0.8173,-5.67626 0.14272,-7.69229 -0.96765,-2.89188 -1.31204,-2.23651 -3.32438,6.32612 -1.33302,5.67215 -3.33514,10.78645 -4.92894,12.59077 l -2.68405,3.03856 0.77507,-7.19473 c 0.88379,-8.20385 0.90127,-8.71749 0.40778,-11.99121 -0.19882,-1.31904 -0.73335,1.37898 -1.18786,5.99561 -0.45449,4.61662 -1.67559,10.28247 -2.71355,12.59079 l -1.88722,4.19692 0.6595,-3.89715 c 0.80636,-4.76503 -0.13268,-4.9789 -2.63248,-0.59957 l -1.88234,3.29759 0.65086,-3.18618 c 0.35796,-1.75239 0.95456,-4.18061 1.32579,-5.39605 0.37122,-1.21542 -0.2371,-0.61288 -1.35181,1.33898 l -2.02679,3.54886 -16.99998,-34.12647 c -9.35035,-18.76955 -17.02922,-34.53116 -17.06451,-35.0258 -0.0353,-0.49463 7.42311,-0.89934 16.5742,-0.89934 9.15109,0 16.63836,-0.23887 16.63836,-0.5308 0,-1.86605 -8.59955,-26.50942 -10.75004,-30.80595 -13.08167,-26.13618 -35.62575,-48.45589 -62.7762,-62.1514 -25.90977,-13.06968 -62.82008,-19.77095 -93.15769,-16.91329 -25.80078,2.43032 -42.51495,7.12105 -64.47042,18.09325 -35.63678,17.80941 -58.46958,44.37532 -70.05696,81.51111 -3.34827,10.73063 -6.55383,29.2888 -6.62889,38.37689 l -0.0446,5.39605 c 0,0 -92.537113,3.49945 -92.624302,2.9978 l 0.0097,-8.69363 c 0.03365,-30.00035 9.139546,-68.35656 23.272235,-98.02823 C 65.101662,122.69575 91.446722,92.360651 125.87146,69.246009 228.60832,0.26290247 375.07402,14.14849 457.59192,100.69455 c 31.43795,32.97263 52.32213,75.12021 60.07852,121.24802 l 1.36101,8.09407 h 18.29903 c 10.06448,0 18.29905,0.26876 18.29905,0.59725 0,1.2835 -81.44184,164.88159 -82.08079,164.88159 -0.37387,0 -1.48868,-1.72335 -2.47733,-3.82965 z m 19.77243,-35.71145 c 5.69653,-11.41335 5.23397,-12.35563 -0.61056,-1.24376 -5.00363,9.51312 -5.04441,9.60768 -4.14326,9.60768 0.3186,0 2.45781,-3.76376 4.75382,-8.36392 z m 1.54538,-34.9684 c -0.2967,-0.89808 -0.83541,-0.35452 -1.25566,1.26693 -0.51694,1.99457 -0.36228,2.46274 0.51963,1.5729 0.69062,-0.69681 1.02183,-1.97474 0.73603,-2.83983 z m 3.71587,-13.02641 c -0.043,-1.186 -0.41325,-0.98177 -1.08672,0.59956 -1.40395,3.2965 -1.40395,5.18977 0,2.99781 0.63363,-0.98927 1.12265,-2.60809 1.08672,-3.59737 z m -38.47829,-36.27344 c 0.51496,-2.10382 0.33029,-3.29759 -0.51013,-3.29759 -0.72452,0 -1.32458,0.67452 -1.33352,1.4989 -0.01,0.82441 -0.34909,2.84792 -0.75591,4.49671 -0.51679,2.09444 -0.35817,2.63646 0.52636,1.79868 0.69632,-0.65951 1.62926,-2.68303 2.0732,-4.4967 z m 6.49175,106.76377 c 0,-0.45449 2.3399,-4.22474 5.19979,-8.37831 2.85988,-4.15358 6.37342,-9.89757 7.80785,-12.76444 1.43445,-2.86686 2.91246,-4.90535 3.28448,-4.53 0.37201,0.37534 -1.03966,3.53036 -3.13706,7.01116 -4.68025,7.76722 -13.15506,19.78948 -13.15506,18.66159 z m 11.88455,-5.73773 c 0.69964,-1.31904 1.53949,-2.39825 1.86632,-2.39825 0.32681,0 0.0217,1.07921 -0.67787,2.39825 -0.69964,1.31902 -1.53949,2.39823 -1.8663,2.39823 -0.32684,0 -0.0218,-1.07921 0.67785,-2.39823 z m -38.03053,-53.81368 c 0,-0.57875 0.88976,-1.79286 1.97725,-2.69802 1.7929,-1.49229 1.84441,-1.39417 0.55242,1.0523 -1.47358,2.7903 -2.52967,3.47736 -2.52967,1.64572 z m 13.15694,0.77679 c -0.13619,-1.4196 3.73547,-10.65995 4.24925,-10.14156 0.25866,0.26098 -0.57272,2.84649 -1.8475,5.74557 -1.2748,2.89909 -2.35558,4.87728 -2.40175,4.39599 z m -12.56312,-9.61725 c 1.80001,-6.44101 3.35073,-9.41523 4.19246,-8.04107 0.47635,0.77768 -0.005,3.50664 -1.06875,6.06433 -2.07577,4.98907 -4.37156,6.44188 -3.12371,1.97674 z m 5.88614,-5.36435 c 0.4267,-5.40745 2.91168,-10.52114 4.38856,-9.03098 1.50722,1.52075 -0.55146,8.92717 -3.06688,11.03352 -1.26244,1.05714 -1.531,0.6502 -1.32168,-2.00254 z m 28.73296,-9.5242 c 2.56952,-10.35703 3.80208,-13.96755 3.8998,-11.42356 0.14532,3.78372 -2.31466,13.30747 -3.65292,14.14198 -0.63467,0.39577 -0.73779,-0.73969 -0.24688,-2.71842 z m -7.78465,-4.6971 c 0.057,-1.39691 0.33864,-1.68104 0.71801,-0.72447 0.34331,0.8656 0.30109,1.89985 -0.0938,2.29832 -0.39492,0.39845 -0.67581,-0.30978 -0.6242,-1.57385 z"
+         id="path901"
+         sodipodi:nodetypes="sssssssssssssssssssssssssssssssscsscsssssscsssssscssssssssscssscsssscsscsssccsssssssssccssssscsssssssssssssssssscsssssssssssssssssssssssscssssssssssssss" />
+      <path
+         style="fill:#f3d128;stroke-width:1.19377"
+         d="m 239.24552,487.7934 c -16.58698,-0.90471 -21.1399,-1.69257 -37.69621,-6.52312 -7.15372,-2.08723 -11.44717,-2.67572 -16.04413,-2.19918 -5.1803,0.53702 -7.97017,-0.008 -15.97277,-3.12549 -5.33289,-2.07687 -10.34531,-4.56534 -11.13872,-5.52991 -0.7934,-0.96457 -1.94692,-1.75378 -2.56338,-1.75378 C 98.037852,444.96144 44.5103,377.51786 34.29416,324.30518 c -2.609872,-15.10045 -6.009478,-49.46936 -3.212715,-56.89592 4.730688,-12.56191 15.236978,-24.48859 26.889618,-30.5249 17.724919,-11.01699 60.039327,0.008 61.581887,20.10714 2.05814,2.6154 2.29321,15.5526 4.03311,21.78606 1.58872,5.69187 4.43333,13.43643 6.32134,17.21013 16.80992,40.85162 51.09962,65.43337 82.00368,77.93333 22.66892,9.12765 31.22828,10.70461 54.57884,10.05544 12.13801,-0.33744 16.61124,-0.11979 14.94572,0.72732 -3.5395,1.80023 17.88481,0.16828 29.83333,-2.27247 5.39776,-1.10262 9.51703,-1.51977 9.15395,-0.927 -0.72475,1.18319 2.2252,0.49163 10.10724,-2.36945 4.73168,-1.71754 4.98111,-2.01585 3.27554,-3.91744 -1.71254,-1.90928 -1.17989,-2.34906 7.35705,-6.07443 5.06179,-2.20887 13.48167,-6.21221 18.71088,-8.8963 5.22919,-2.6841 10.04243,-5.09232 10.69608,-5.35159 2.94289,-1.1673 -10.26509,8.63286 -16.96162,12.58534 -4.09968,2.41975 -7.20905,4.64667 -6.90971,4.94869 0.29934,0.30204 3.57676,-0.85164 7.28318,-2.56373 3.70639,-1.71207 7.29951,-2.76328 7.98469,-2.33602 0.68579,0.42765 0.89676,0.20706 0.46932,-0.49075 -0.44121,-0.7203 0.86879,-1.84626 3.03412,-2.60789 8.22008,-2.89124 27.48311,-19.97587 37.05032,-32.86036 6.08248,-8.1915 5.35249,-5.59786 -0.91113,3.23717 -4.96255,6.99984 -13.54048,15.82101 -23.90844,24.58643 -4.56916,3.86292 -4.58379,3.89727 -0.37641,0.88432 4.79504,-3.4338 6.34678,-3.94432 4.97223,-1.63583 -1.25131,2.10151 2.48519,-0.80241 9.55573,-7.42647 4.79988,-4.49678 5.38709,-4.80672 3.31704,-1.75073 -3.09166,4.56413 -11.74241,11.36159 -25.672,20.17213 -5.97675,3.78033 -9.57272,6.69213 -8.26454,6.69213 2.70866,0 17.67781,-9.07851 25.38135,-15.39329 2.94143,-2.41115 9.85377,-8.70262 15.36076,-13.98106 10.04823,-9.63115 11.05271,-9.94662 4.46439,-1.40204 -1.94981,2.52873 -4.43811,6.36504 -5.52957,8.52511 -1.88265,3.72583 -1.87561,3.89865 0.13715,3.36757 3.00057,-0.79171 8.70173,-10.23943 13.64899,-22.61859 2.32675,-5.82201 5.44313,-13.03035 6.92529,-16.01854 1.48218,-2.98818 3.58756,-8.18569 4.67864,-11.55001 1.09108,-3.36431 2.80783,-7.14154 3.81498,-8.39385 1.71565,-2.13328 1.79356,-2.01214 1.23497,1.92002 l -0.59621,4.19692 1.88721,-4.19692 c 1.03796,-2.30832 2.25906,-7.97417 2.71355,-12.59079 0.45451,-4.61663 0.98903,-7.31465 1.18786,-5.99561 0.49349,3.27372 0.47601,3.78736 -0.40778,11.99121 l -0.77507,7.19473 2.68405,-3.03856 c 1.59379,-1.80432 3.59592,-6.91862 4.92894,-12.59077 2.01234,-8.56263 2.35673,-9.218 3.32439,-6.32612 0.67457,2.01603 0.62104,4.90134 -0.14273,7.69229 -0.84275,3.07962 -0.84013,4.08068 0.008,3.22445 0.67687,-0.68295 1.98496,-3.87467 2.90684,-7.09272 1.59106,-5.55393 1.65924,-5.62269 1.34319,-1.35429 -0.18313,2.47319 0.0945,4.49671 0.61685,4.49671 0.52239,0 0.94981,-0.52268 0.94981,-1.1615 0,-0.6388 0.85619,-0.82999 1.90261,-0.42482 2.32232,0.89916 3.99704,-1.51967 4.02146,-5.80828 0.01,-1.7587 0.51379,-3.37751 1.11951,-3.59736 0.60572,-0.21983 1.93144,-6.33536 2.94603,-13.59005 l 1.8447,-13.19033 -0.56362,11.39165 c -0.30999,6.26542 -1.40084,15.1689 -2.4241,19.78552 -2.37851,10.73099 -5.17448,27.45999 -4.67614,27.97845 0.21075,0.21925 1.62342,-3.55799 3.13927,-8.39386 1.51585,-4.83587 3.10428,-9.0623 3.52981,-9.39206 0.42552,-0.32975 1.61856,-5.1862 2.65116,-10.79209 l 1.87747,-10.19255 -0.42996,8.26317 c -0.27189,5.22546 -0.0335,7.64998 0.6485,6.59517 0.71398,-1.10428 0.97352,0.11199 0.76795,3.59887 -0.18318,3.10694 0.24161,5.46454 1.03583,5.74892 1.76345,0.63143 4.94543,-17.39624 4.48416,-25.40524 -0.27118,-4.7086 -0.14631,-5.2234 0.58176,-2.39825 l 0.92706,3.59736 0.74907,-2.9978 c 0.41183,-1.64879 1.24354,-5.42602 1.84822,-8.39385 l 1.09945,-5.39605 0.14546,7.19473 c 0.10363,5.12273 0.47726,6.67672 1.29754,5.39605 0.85504,-1.33496 1.18093,-0.56208 1.26407,2.99781 0.1425,6.10129 0.94783,4.12046 2.2662,-5.57408 0.80554,-5.92347 0.95118,-3.6185 0.65523,10.37056 -0.20929,9.89276 -0.7099,19.06604 -1.11247,20.38508 -0.4026,1.31904 -0.0235,0.90158 0.84249,-0.92765 0.86595,-1.82926 1.89054,-3.00701 2.27684,-2.61723 0.38631,0.38977 1.06989,-1.4861 1.51906,-4.16863 0.44917,-2.68249 1.48476,-4.87728 2.3013,-4.87728 1.66528,0 -1.97317,21.37275 -6.55529,38.50674 -2.86172,10.70088 -2.43631,13.71984 0.74785,5.30734 2.88624,-7.62532 3.52079,-6.01944 0.74866,1.89466 -1.24319,3.54918 -2.29506,7.62272 -2.33746,9.05228 -0.0424,1.42956 -1.95068,6.69071 -4.24061,11.69144 -2.28991,5.00073 -3.98194,9.09223 -3.76004,9.09223 0.2219,0 2.06349,-2.96783 4.09241,-6.59516 2.02894,-3.62736 3.97063,-6.59518 4.31486,-6.59518 0.34424,0 -0.0341,1.21411 -0.84078,2.69802 -0.80667,1.48391 -1.5607,4.31684 -1.67562,6.29539 -0.11492,1.97855 -0.63423,4.6302 -1.15402,5.89254 -0.61655,1.49734 -0.51353,2.02609 0.29636,1.52104 0.6828,-0.42577 2.96948,-6.31505 5.08155,-13.08727 2.11205,-6.77222 5.05719,-14.47156 6.54476,-17.10962 1.48755,-2.63807 3.6658,-7.89267 4.84055,-11.6769 1.17473,-3.78423 2.3,-6.71483 2.50057,-6.51245 0.7,0.70629 -2.89022,16.02708 -4.42785,18.89515 -0.8526,1.59036 -1.45427,4.24058 -1.33702,5.88937 0.1173,1.6493 -3.22144,9.91592 -7.42215,18.37718 -4.19942,8.45866 -7.45593,16.31914 -7.23672,17.46775 0.21923,1.14858 -2.78933,6.57897 -6.6857,12.06752 -3.89638,5.48854 -6.82499,10.66103 -6.50803,11.49442 0.31696,0.83339 -0.21869,2.512 -1.19033,3.73026 -1.6802,2.10666 -1.70949,2.09483 -0.59868,-0.24188 0.64237,-1.35131 -5.95818,4.66284 -14.66789,13.36475 -8.70969,8.7019 -18.53626,17.9754 -21.8368,20.60774 -3.30055,2.63234 -5.62846,5.20351 -5.17316,5.71367 0.4553,0.51016 0.15932,0.53942 -0.65774,0.065 -0.91659,-0.5322 -1.48558,-0.15231 -1.48558,0.99184 0,3.72322 -14.27824,10.76299 -16.02987,7.90338 -0.41193,-0.67249 0.0218,-0.90307 0.99225,-0.52735 0.94831,0.36716 2.12834,0.008 2.62228,-0.79858 0.61211,-0.99931 0.40271,-1.15726 -0.65765,-0.49604 -1.06036,0.66123 -1.26975,0.50329 -0.65764,-0.49604 0.49393,-0.80638 1.76358,-1.13103 2.82142,-0.72145 1.05784,0.40957 1.55249,0.3705 1.0992,-0.0868 -0.45327,-0.45736 3.00117,-3.49044 7.67657,-6.74018 16.5297,-11.48933 19.21069,-14.69649 3.80039,-4.54625 -5.00644,3.29759 -9.77073,5.99561 -10.58731,5.99561 -0.81658,0 -2.21867,0.90258 -3.11578,2.00574 -2.21179,2.71984 -21.83744,19.17964 -23.55897,19.75862 -0.75701,0.25461 -1.53121,1.53235 -1.72041,2.8394 -0.25968,1.79403 -2.64692,3.17925 -9.74002,5.65178 -5.16782,1.80143 -11.30628,3.28534 -13.64102,3.29759 -4.50593,0.0236 -15.15664,3.17371 -17.14718,5.07147 -0.75123,0.7162 0.56042,0.87243 3.56536,0.42466 l 4.75381,-0.70836 -5.34805,1.8034 c -9.91617,3.34383 -34.94769,7.67568 -51.69776,8.94661 -18.02966,1.36802 -29.26325,1.3719 -54.07466,0.0186 z m 22.28352,-0.77211 c -1.14389,-0.30161 -3.01571,-0.30161 -4.15959,0 -1.14389,0.3016 -0.20798,0.54838 2.0798,0.54838 2.28777,0 3.22368,-0.24678 2.07979,-0.54838 z m 21.40603,-3.59467 c -1.13626,-0.30014 -3.27548,-0.31103 -4.75381,-0.0242 -1.47834,0.28682 -0.54866,0.53238 2.06593,0.5457 2.6146,0.0134 3.82415,-0.22138 2.68788,-0.5215 z m 11.27645,-1.22149 c -1.4707,-0.28582 -3.87732,-0.28582 -5.34804,0 -1.47071,0.28581 -0.2674,0.51967 2.67403,0.51967 2.94142,0 4.14473,-0.23386 2.67401,-0.51967 z m 14.55857,-88.55092 5.94228,-1.63104 -5.94228,0.63309 c -3.26824,0.3482 -7.27927,0.8562 -8.91341,1.1289 -1.63412,0.27271 -0.0297,-0.56747 3.56536,-1.86705 3.59508,-1.29957 5.1995,-2.12683 3.56537,-1.83832 -1.63412,0.28848 -5.37775,0.85411 -8.31918,1.25695 -2.94142,0.40281 -6.68505,1.04568 -8.31917,1.4286 l -2.97115,0.69622 2.97115,0.90743 c 4.51885,1.38014 11.82104,1.0968 18.42103,-0.71478 z m -39.5161,-4.9806 c -1.47072,-0.28582 -3.87734,-0.28582 -5.34804,0 -1.47072,0.28582 -0.26741,0.51967 2.67401,0.51967 2.94143,0 4.14474,-0.23385 2.67403,-0.51967 z m 87.88744,-17.19718 c 3.13437,-3.1625 2.70218,-3.04648 -6.04342,1.62223 -5.18057,2.76557 -9.11497,5.52499 -8.74313,6.13204 0.38604,0.63024 -0.28426,0.73192 -1.56245,0.23704 -1.23119,-0.4767 -1.86204,-0.48686 -1.40188,-0.0226 0.46015,0.46429 -0.0909,1.59359 -1.22469,2.50955 -1.13372,0.91597 1.91243,-0.30056 6.76923,-2.70339 4.85681,-2.40284 10.34967,-5.90154 12.20634,-7.7749 z m 115.00569,-4.25309 c 7.6158,-11.49146 9.38702,-14.87625 7.78453,-14.87625 -0.31354,0 -1.71593,2.29332 -3.11642,5.09627 -1.40047,2.80294 -5.48263,9.34761 -9.07142,14.5437 -3.58879,5.1961 -5.94598,9.08633 -5.23819,8.64496 0.70779,-0.44136 5.04645,-6.47526 9.6415,-13.40868 z m 4.78924,5.50883 c 0.69965,-1.31904 1.00469,-2.39825 0.67786,-2.39825 -0.32682,0 -1.16667,1.07921 -1.86631,2.39825 -0.69964,1.31902 -1.00468,2.39823 -0.67786,2.39823 0.32683,0 1.16668,-1.07921 1.86631,-2.39823 z m -36.68931,-55.4594 c 1.29198,-2.44647 1.24049,-2.54459 -0.55242,-1.0523 -1.0875,0.90516 -1.97725,2.11927 -1.97725,2.69802 0,1.83164 1.05609,1.14458 2.52967,-1.64572 z m 14.87652,-7.71905 c -0.51378,-0.51839 -4.38543,8.72196 -4.24924,10.14156 0.0461,0.48129 1.12694,-1.4969 2.40174,-4.39599 1.27479,-2.89908 2.10617,-5.48459 1.8475,-5.74557 z m -13.68866,-1.45243 c 1.06417,-2.55769 1.5451,-5.28665 1.06876,-6.06433 -0.84174,-1.37416 -2.39245,1.60006 -4.19247,8.04107 -1.24784,4.46514 1.04794,3.01233 3.12371,-1.97674 z m 7.04603,-6.92321 c 0.97905,-2.99318 1.00942,-4.58282 0.10494,-5.49538 -1.47689,-1.49016 -3.96187,3.62353 -4.38856,9.03098 -0.20932,2.65274 0.0592,3.05968 1.32168,2.00254 0.87142,-0.7297 2.2043,-3.22187 2.96191,-5.53814 z m 27.12079,-9.29771 c 1.84739,-7.40249 1.52787,-12.36524 -0.35315,-5.48499 -2.84733,10.41477 -3.16785,12.19624 -2.07139,11.51252 0.59946,-0.37382 1.6905,-3.0862 2.42454,-6.02753 z m -9.73806,-2.11246 c -0.37938,-0.95657 -0.661,-0.67244 -0.71802,0.72447 -0.0516,1.26407 0.2293,1.9723 0.6242,1.57385 0.39491,-0.39847 0.43712,-1.43272 0.0938,-2.29832 z M 396.22051,458.6318 c 0.27236,-0.24041 1.83221,-1.07959 3.46633,-1.86483 2.80151,-1.34618 2.83943,-1.32122 0.66419,0.43714 -1.8932,1.53039 -5.76145,2.86744 -4.13052,1.42769 z m 30.12933,-22.22009 c 0.4421,-0.72177 1.90819,-1.90865 3.25796,-2.63752 1.75838,-0.94949 2.22625,-0.95315 1.6503,-0.0129 -0.44211,0.72177 -1.90819,1.90866 -3.25797,2.63752 -1.75837,0.9495 -2.22624,0.95315 -1.65029,0.0129 z m 19.68672,-15.1151 c 1.53518,-1.6488 3.05863,-2.99782 3.38546,-2.99782 0.32683,0 -0.66183,1.34902 -2.19702,2.99782 -1.53517,1.64879 -3.05863,2.9978 -3.38545,2.9978 -0.32683,0 0.66183,-1.34901 2.19701,-2.9978 z m 39.21898,-57.2728 c 0,-0.85076 9.44941,-18.14403 9.47636,-17.34262 0.044,1.30963 -8.1931,17.65711 -8.89707,17.65711 -0.31861,0 -0.57929,-0.14152 -0.57929,-0.31449 z m -85.5687,-21.97991 c 0,-0.39061 1.06961,-2.0822 2.37691,-3.75907 2.4995,-3.20612 3.24558,-1.80725 1.14664,2.14987 -1.13921,2.14774 -3.52355,3.23667 -3.52355,1.6092 z m 6.19475,-3.48672 c 0.38981,-0.65951 3.16649,-5.22135 6.1704,-10.1374 5.64507,-9.2384 7.25041,-13.46508 3.08475,-8.12178 -1.30729,1.67688 -2.3769,3.5722 -2.3769,4.2118 0,0.63963 -0.8022,1.8347 -1.78268,2.65572 -3.00765,2.51853 -2.21053,-2.09023 0.89134,-5.15352 1.47071,-1.45243 3.67804,-4.63411 4.90517,-7.07043 1.89263,-3.75752 2.47898,-4.17957 3.86455,-2.78157 1.24881,1.26002 1.34055,2.42521 0.38966,4.9487 -1.61082,4.27479 -11.21394,18.84862 -13.832,20.99165 -1.11267,0.91077 -1.7041,1.11635 -1.31429,0.45683 z m 84.99679,-16.28427 c 0.42024,-1.62145 0.95896,-2.16501 1.25565,-1.26693 0.2858,0.86509 -0.0454,2.14302 -0.73602,2.83983 -0.88191,0.88984 -1.03658,0.42167 -0.51963,-1.5729 z m -78.11854,-10.02564 c 0,-0.95035 0.48492,-2.03031 1.07761,-2.3999 0.5927,-0.36959 0.79772,0.40797 0.45562,1.72792 -0.72567,2.79993 -1.53323,3.15386 -1.53323,0.67198 z m 80.91661,-0.0707 c 0.12376,-2.27141 2.10448,-6.09616 2.17345,-4.19693 0.0359,0.98927 -0.45309,2.60809 -1.08673,3.59737 -0.63363,0.98928 -1.12266,1.25907 -1.08672,0.59956 z m -67.76537,-11.39168 c 0.004,-0.98928 0.81155,-3.1477 1.79613,-4.79649 l 1.79014,-2.99778 -0.78756,2.9978 c -0.43316,1.6488 -1.24142,3.80722 -1.79612,4.7965 -0.89649,1.59882 -1.00789,1.59882 -1.00259,0 z m 28.86097,-26.38069 c 0.40683,-1.64879 0.74699,-3.6723 0.75591,-4.49671 0.01,-0.82438 0.609,-1.4989 1.33352,-1.4989 1.56169,0 0.3648,5.96833 -1.56308,7.79429 -0.88451,0.83777 -1.04313,0.29576 -0.52635,-1.79868 z"
+         id="path903"
+         sodipodi:nodetypes="csscsccsccsccsssssssssssssssssssssssssssssssssscsssscsssscssssscsscsssssscssssssccscssssssssssssssssssssssssssssssssssssssssscsssssssssssssscssccssssssssssssscsssssscsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssscssssscsss" />
+      <path
+         style="fill:#f3d128;fill-opacity:1;stroke:none;stroke-width:29.9604;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+         d="M 127.01881,271.56115 22.129363,266.14071 a 8.7890767,8.7890767 58.896326 0 1 -7.52272,-12.46874 L 68.898276,136.359 a 14.852117,14.852117 156.02991 0 1 17.876867,-7.94811 l 26.651197,8.26289 a 19.775934,19.775934 50.544946 0 1 13.80636,16.77525 l 11.37934,105.8575 a 11.084653,11.084653 133.41136 0 1 -11.59323,12.25462 z"
+         id="path4857"
+         sodipodi:nodetypes="ccccc"
+         inkscape:path-effect="#path-effect5585"
+         inkscape:original-d="M 140.00149,272.23206 9.1466866,265.4698 74.358232,124.56117 125.84325,140.5235 Z" />
+      <path
+         style="fill:#f3d128;fill-opacity:1;stroke:none;stroke-width:0.895332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 94.950636,138.86718 c 3.776414,-6.45608 7.552824,-12.91216 11.329244,-19.36824 0.83655,-1.43016 2.61699,-3.357 3.97673,-4.30372 2.43792,-1.69742 4.87584,-3.39484 7.31376,-5.09226 1.35974,-0.94672 2.48086,-3.05815 2.5929,-4.71106 0.39254,-5.791374 1.63877,-11.619853 4.47735,-16.678623 0.81038,-1.444208 1.6026,-3.882615 1.83991,-5.52143 0.23004,-1.588547 0.68182,-3.218039 1.57939,-4.03425 1.14382,-1.040149 3.9508,0.835954 4.20453,2.438768 0.18794,1.187242 -0.0493,2.47671 -0.44648,3.71339 -0.50632,1.57647 -1.66228,4.012216 -2.4521,5.468108 -1.37083,2.526884 -2.94348,4.980948 -3.95609,7.641021 -0.58858,1.546187 -0.81607,4.352216 0.14482,5.671366 1.19591,1.64178 3.32257,2.60796 5.39085,2.53388 1.63559,-0.0586 4.10934,-1.28834 5.67014,-1.84419 2.12362,-0.75629 4.22816,-1.56626 6.30844,-2.43447 1.52898,-0.63813 3.10965,-2.748503 4.53589,-3.45555 1.81447,-0.899505 4.42498,-0.595316 5.10638,0.714361 0.72023,1.384319 -1.75651,3.679699 -3.21488,4.453599 -1.58417,0.84066 -3.34038,1.38791 -5.02597,2.07146 -1.53319,0.62175 -3.89207,1.91984 -5.418,2.56491 -5.56474,2.35244 -11.43436,3.89328 -17.27549,5.41844 -1.60282,0.41851 -4.16906,1.24982 -5.54652,2.1656 -3.15974,2.10069 -5.48544,5.29909 -7.12563,8.75075 -0.71086,1.49595 -1.77913,3.9571 -2.54892,5.42427 -1.32015,2.51614 -2.63974,5.03279 -3.91249,7.57306 -0.74207,1.48109 -2.21109,3.83787 -3.751192,4.3896 -0.848067,0.30381 -1.766565,0.41435 -2.647582,0.30124 -1.614276,-0.20724 -1.985543,-2.41987 -1.14899,-3.85003 z"
+         id="path5587"
+         inkscape:path-effect="#path-effect5589;#path-effect5591"
+         inkscape:original-d="m 93.435922,141.45671 14.358668,-24.5473 12.2378,-8.52064 1.16503,-12.245302 5.21887,-10.801425 1.59052,-9.404536 3.5613,-0.17495 -0.36965,6.539632 -1.14779,7.660341 -5.60562,9.548728 2.086,7.989352 15.3521,-4.1174 4.71464,-3.451132 4.95999,-1.67226 4.07579,-3.58325 -0.35035,5.409632 -2.667,0.17414 -3.75995,3.62252 -4.13813,3.60058 c 0,0 -0.96024,-1.65209 -3.45901,-0.52763 -2.49877,1.12448 -9.77412,5.24054 -9.77412,5.24054 0,0 -2.08073,-0.38489 -3.90883,-0.048 -1.82812,0.33685 -7.6484,2.52755 -7.6484,2.52755 l -7.00908,3.23306 -3.40758,6.67761 -10.156948,18.8295 z"
+         sodipodi:nodetypes="cccccccccccccccccccscsccccc" />
+      <text
+         xml:space="preserve"
+         id="text5696"
+         style="font-size:64px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect5698);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text5710"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect5712);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text650"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect652);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text656"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect658);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text662"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect664);display:inline" />
+    </g>
+  </g>
+</svg>
diff --git a/docs/images/PySD_Logo_letters.png b/docs/images/PySD_Logo_letters.png
new file mode 100644
index 00000000..cdb9d8f2
Binary files /dev/null and b/docs/images/PySD_Logo_letters.png differ
diff --git a/docs/images/PySD_Logo_letters.svg b/docs/images/PySD_Logo_letters.svg
new file mode 100644
index 00000000..8040c3ec
--- /dev/null
+++ b/docs/images/PySD_Logo_letters.svg
@@ -0,0 +1,343 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   version="1.1"
+   id="svg2"
+   width="1300"
+   height="566"
+   viewBox="0 0 1300 566"
+   sodipodi:docname="PySD_Logo_letters.svg"
+   inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
+   inkscape:export-filename="PySD_Logo_letters.png"
+   inkscape:export-xdpi="15.579457"
+   inkscape:export-ydpi="15.579457"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs6">
+    <rect
+       x="813.63044"
+       y="103.12677"
+       width="227.47722"
+       height="73.20974"
+       id="rect1226" />
+    <rect
+       x="646.28105"
+       y="28.972257"
+       width="659.79472"
+       height="246.73986"
+       id="rect1220" />
+    <rect
+       x="1079.5518"
+       y="492.48606"
+       width="130.76084"
+       height="33.863919"
+       id="rect442" />
+    <rect
+       x="1071.8934"
+       y="504.84652"
+       width="426.74313"
+       height="187.48182"
+       id="rect3703" />
+    <rect
+       x="1073.2516"
+       y="494.10466"
+       width="390.36811"
+       height="150.95665"
+       id="rect3695" />
+    <rect
+       x="1483.8226"
+       y="454.80545"
+       width="37.506759"
+       height="10.830769"
+       id="rect664" />
+    <rect
+       x="1028.8963"
+       y="462.22053"
+       width="321.96417"
+       height="55.999187"
+       id="rect658" />
+    <rect
+       x="872.47284"
+       y="407.32473"
+       width="238.04918"
+       height="8.1332404"
+       id="rect652" />
+    <rect
+       x="700.35127"
+       y="396.52214"
+       width="817.14198"
+       height="318.10815"
+       id="rect646" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient8683">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0.29376376"
+         id="stop8679" />
+      <stop
+         style="stop-color:#0464be;stop-opacity:1;"
+         offset="1"
+         id="stop8681" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8217"
+       inkscape:swatch="gradient">
+      <stop
+         style="stop-color:#f3d128;stop-opacity:1;"
+         offset="0"
+         id="stop8213" />
+      <stop
+         style="stop-color:#f3d128;stop-opacity:0;"
+         offset="1"
+         id="stop8215" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5801">
+      <stop
+         style="stop-color:#0464be;stop-opacity:1;"
+         offset="0"
+         id="stop5797" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop5799" />
+    </linearGradient>
+    <rect
+       x="636.12689"
+       y="30.229094"
+       width="817.1261"
+       height="539.99878"
+       id="rect5768" />
+    <rect
+       x="692.56897"
+       y="91.716011"
+       width="516.28937"
+       height="467.00836"
+       id="rect5712" />
+    <rect
+       x="650.21399"
+       y="70.37252"
+       width="850.96533"
+       height="456.62357"
+       id="rect5698" />
+    <inkscape:path-effect
+       effect="fillet_chamfer"
+       id="path-effect5591"
+       is_visible="true"
+       lpeversion="1"
+       nodesatellites_param="F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1 @ F,0,0,1,0,3,0,1"
+       unit="px"
+       method="auto"
+       mode="F"
+       radius="3"
+       chamfer_steps="1"
+       flexible="false"
+       use_knot_distance="true"
+       apply_no_radius="true"
+       apply_with_radius="true"
+       only_selected="false"
+       hide_knots="false" />
+    <inkscape:path-effect
+       effect="simplify"
+       id="path-effect5589"
+       is_visible="true"
+       lpeversion="1"
+       steps="38"
+       threshold="0.002"
+       smooth_angles="0"
+       helper_size="5"
+       simplify_individual_paths="false"
+       simplify_just_coalesce="false" />
+    <inkscape:path-effect
+       effect="fillet_chamfer"
+       id="path-effect5585"
+       is_visible="true"
+       lpeversion="1"
+       nodesatellites_param="F,0,0,1,0,13,0,1 @ F,0,0,1,0,13,0,1 @ F,0,0,1,0,13,0,1 @ F,0,0,1,0,13,0,1"
+       unit="px"
+       method="auto"
+       mode="F"
+       radius="13"
+       chamfer_steps="1"
+       flexible="false"
+       use_knot_distance="true"
+       apply_no_radius="true"
+       apply_with_radius="true"
+       only_selected="false"
+       hide_knots="false" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1068">
+      <stop
+         style="stop-color:#191919;stop-opacity:0.49792865;"
+         offset="0.35952806"
+         id="stop1064" />
+      <stop
+         style="stop-color:#333333;stop-opacity:0;"
+         offset="0.93268538"
+         id="stop1066" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1068"
+       id="radialGradient1070"
+       cx="280.77301"
+       cy="539.86115"
+       fx="280.77301"
+       fy="539.86115"
+       r="124.65416"
+       gradientTransform="matrix(2.2404078,0,0,0.3812917,-328.91507,312.65222)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5801"
+       id="linearGradient5803"
+       x1="640.92694"
+       y1="151.71652"
+       x2="1120.9264"
+       y2="151.71652"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8683"
+       id="linearGradient8687"
+       x1="640.92694"
+       y1="151.71652"
+       x2="1120.9264"
+       y2="151.71652"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="namedview4"
+     pagecolor="#505050"
+     bordercolor="#eeeeee"
+     borderopacity="1"
+     inkscape:showpageshadow="0"
+     inkscape:pageopacity="0"
+     inkscape:pagecheckerboard="0"
+     inkscape:deskcolor="#505050"
+     showgrid="false"
+     inkscape:zoom="0.73863639"
+     inkscape:cx="477.90768"
+     inkscape:cy="297.84614"
+     inkscape:window-width="1920"
+     inkscape:window-height="1011"
+     inkscape:window-x="1440"
+     inkscape:window-y="32"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g899" />
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Image"
+     id="g8">
+    <ellipse
+       style="opacity:0.816206;fill:url(#radialGradient1070);fill-opacity:1;stroke:none;stroke-width:3.33177;stroke-dasharray:6.6636, 19.9908"
+       id="path1008"
+       cx="300.13095"
+       cy="518.49689"
+       rx="279.27612"
+       ry="47.529594" />
+    <g
+       id="g899">
+      <path
+         style="fill:#0464be;stroke-width:1.19377"
+         d="m 509.89313,397.46529 c -1.76301,-3.75606 -1.70163,-3.96923 3.1936,-11.09189 2.74515,-3.99421 4.84394,-8.18877 4.66398,-9.32122 -0.17995,-1.13245 3.09729,-8.95672 7.28276,-17.38726 4.18548,-8.43056 7.51401,-16.67728 7.39678,-18.32608 -0.1173,-1.64879 0.4844,-4.29901 1.33702,-5.88937 1.53762,-2.86807 5.12785,-18.18886 4.42783,-18.89515 -0.20056,-0.20238 -1.32582,2.72822 -2.50057,6.51245 -1.17473,3.78423 -3.35298,9.03883 -4.84055,11.6769 -1.48756,2.63806 -4.4327,10.3374 -6.54476,17.10962 -2.11205,6.77222 -4.39873,12.6615 -5.08154,13.08727 -0.80989,0.50505 -0.91291,-0.0237 -0.29636,-1.52104 0.51979,-1.26234 1.0391,-3.91399 1.15402,-5.89254 0.11493,-1.97855 0.86895,-4.81148 1.67562,-6.29539 0.80667,-1.48391 1.18501,-2.69802 0.84078,-2.69802 -0.34424,0 -2.28591,2.96782 -4.31484,6.59518 -2.02894,3.62733 -3.87053,6.59516 -4.09243,6.59516 -0.22189,0 1.47013,-4.0915 3.76005,-9.09223 2.28993,-5.00073 4.1982,-10.26188 4.2406,-11.69144 0.0424,-1.42956 1.09427,-5.5031 2.33747,-9.05228 2.77211,-7.9141 2.13758,-9.51998 -0.74865,-1.89466 -3.18419,8.4125 -3.60959,5.39354 -0.74787,-5.30734 4.58212,-17.13399 8.22058,-38.50674 6.55531,-38.50674 -0.81656,0 -1.85215,2.19479 -2.30131,4.87728 -0.44919,2.68253 -1.13276,4.5584 -1.51906,4.16863 -0.38631,-0.38978 -1.41088,0.78797 -2.27684,2.61723 -0.86596,1.82923 -1.24509,2.24669 -0.8425,0.92765 0.40257,-1.31904 0.90319,-10.49232 1.11247,-20.38508 0.29596,-13.98906 0.15032,-16.29403 -0.65523,-10.37056 -1.31837,9.69454 -2.12369,11.67537 -2.2662,5.57408 -0.0832,-3.55989 -0.40904,-4.33277 -1.26408,-2.99781 -0.82026,1.28067 -1.19395,-0.27332 -1.29753,-5.39605 l -0.14546,-7.19473 -1.09944,5.39605 c -0.60469,2.96783 -1.43639,6.74506 -1.84821,8.39385 l -0.74879,2.9978 -0.92707,-3.59736 c -0.72806,-2.82515 -0.85294,-2.31035 -0.58176,2.39825 0.46128,8.009 -2.7207,26.03667 -4.48415,25.40524 -0.79423,-0.28438 -1.21901,-2.64198 -1.03584,-5.74892 0.20557,-3.48688 -0.0539,-4.70315 -0.76793,-3.59887 -0.682,1.05481 -0.9204,-1.36971 -0.64851,-6.59517 l 0.42996,-8.26317 -1.87746,10.19255 c -1.03262,5.60589 -2.22564,10.46234 -2.65117,10.79209 -0.42555,0.32976 -2.01395,4.55619 -3.52981,9.39206 -1.51585,4.83587 -2.92852,8.61311 -3.13928,8.39386 -0.49834,-0.51846 2.29763,-17.24746 4.67614,-27.97845 1.02326,-4.61662 2.11412,-13.5201 2.42411,-19.78552 l 0.56362,-11.39165 -1.84471,13.19033 c -1.01457,7.25469 -2.34031,13.37022 -2.94603,13.59005 -0.60571,0.21985 -1.10949,1.83866 -1.1195,3.59736 -0.0244,4.28861 -1.69913,6.70744 -4.02146,5.80828 -1.04644,-0.40517 -1.90262,-0.21398 -1.90262,0.42482 0,0.63882 -0.42742,1.1615 -0.94981,1.1615 -0.5224,0 -0.79997,-2.02352 -0.61684,-4.49671 0.31606,-4.2684 0.24786,-4.19964 -1.34319,1.35429 -0.92189,3.21805 -2.22997,6.40977 -2.90685,7.09272 -0.84862,0.85623 -0.85123,-0.14483 -0.008,-3.22445 0.76376,-2.79095 0.8173,-5.67626 0.14272,-7.69229 -0.96765,-2.89188 -1.31204,-2.23651 -3.32438,6.32612 -1.33302,5.67215 -3.33514,10.78645 -4.92894,12.59077 l -2.68405,3.03856 0.77507,-7.19473 c 0.88379,-8.20385 0.90127,-8.71749 0.40778,-11.99121 -0.19882,-1.31904 -0.73335,1.37898 -1.18786,5.99561 -0.45449,4.61662 -1.67559,10.28247 -2.71355,12.59079 l -1.88722,4.19692 0.6595,-3.89715 c 0.80636,-4.76503 -0.13268,-4.9789 -2.63248,-0.59957 l -1.88234,3.29759 0.65086,-3.18618 c 0.35796,-1.75239 0.95456,-4.18061 1.32579,-5.39605 0.37122,-1.21542 -0.2371,-0.61288 -1.35181,1.33898 l -2.02679,3.54886 -16.99998,-34.12647 c -9.35035,-18.76955 -17.02922,-34.53116 -17.06451,-35.0258 -0.0353,-0.49463 7.42311,-0.89934 16.5742,-0.89934 9.15109,0 16.63836,-0.23887 16.63836,-0.5308 0,-1.86605 -8.59955,-26.50942 -10.75004,-30.80595 -13.08167,-26.13618 -35.62575,-48.45589 -62.7762,-62.1514 -25.90977,-13.06968 -62.82008,-19.77095 -93.15769,-16.91329 -25.80078,2.43032 -42.51495,7.12105 -64.47042,18.09325 -35.63678,17.80941 -58.46958,44.37532 -70.05696,81.51111 -3.34827,10.73063 -6.55383,29.2888 -6.62889,38.37689 l -0.0446,5.39605 c 0,0 -92.537115,3.49945 -92.624304,2.9978 l 0.0097,-8.69363 C 63.255656,233.09578 72.361552,194.73957 86.494241,165.0679 103.92343,128.47521 130.26849,98.140113 164.69323,75.025471 267.43009,6.0423644 413.89579,19.927952 496.41369,106.47401 c 31.43795,32.97263 52.32213,75.12021 60.07852,121.24802 l 1.36101,8.09407 h 18.29903 c 10.06448,0 18.29905,0.26876 18.29905,0.59725 0,1.2835 -81.44184,164.88159 -82.08079,164.88159 -0.37387,0 -1.48868,-1.72335 -2.47733,-3.82965 z m 19.77243,-35.71145 c 5.69653,-11.41335 5.23397,-12.35563 -0.61056,-1.24376 -5.00363,9.51312 -5.04441,9.60768 -4.14326,9.60768 0.3186,0 2.45781,-3.76376 4.75382,-8.36392 z m 1.54538,-34.9684 c -0.2967,-0.89808 -0.83541,-0.35452 -1.25566,1.26693 -0.51694,1.99457 -0.36228,2.46274 0.51963,1.5729 0.69062,-0.69681 1.02183,-1.97474 0.73603,-2.83983 z m 3.71587,-13.02641 c -0.043,-1.186 -0.41325,-0.98177 -1.08672,0.59956 -1.40395,3.2965 -1.40395,5.18977 0,2.99781 0.63363,-0.98927 1.12265,-2.60809 1.08672,-3.59737 z m -38.47829,-36.27344 c 0.51496,-2.10382 0.33029,-3.29759 -0.51013,-3.29759 -0.72452,0 -1.32458,0.67452 -1.33352,1.4989 -0.01,0.82441 -0.34909,2.84792 -0.75591,4.49671 -0.51679,2.09444 -0.35817,2.63646 0.52636,1.79868 0.69632,-0.65951 1.62926,-2.68303 2.0732,-4.4967 z m 6.49175,106.76377 c 0,-0.45449 2.3399,-4.22474 5.19979,-8.37831 2.85988,-4.15358 6.37342,-9.89757 7.80785,-12.76444 1.43445,-2.86686 2.91246,-4.90535 3.28448,-4.53 0.37201,0.37534 -1.03966,3.53036 -3.13706,7.01116 -4.68025,7.76722 -13.15506,19.78948 -13.15506,18.66159 z m 11.88455,-5.73773 c 0.69964,-1.31904 1.53949,-2.39825 1.86632,-2.39825 0.32681,0 0.0217,1.07921 -0.67787,2.39825 -0.69964,1.31902 -1.53949,2.39823 -1.8663,2.39823 -0.32684,0 -0.0218,-1.07921 0.67785,-2.39823 z m -38.03053,-53.81368 c 0,-0.57875 0.88976,-1.79286 1.97725,-2.69802 1.7929,-1.49229 1.84441,-1.39417 0.55242,1.0523 -1.47358,2.7903 -2.52967,3.47736 -2.52967,1.64572 z m 13.15694,0.77679 c -0.13619,-1.4196 3.73547,-10.65995 4.24925,-10.14156 0.25866,0.26098 -0.57272,2.84649 -1.8475,5.74557 -1.2748,2.89909 -2.35558,4.87728 -2.40175,4.39599 z m -12.56312,-9.61725 c 1.80001,-6.44101 3.35073,-9.41523 4.19246,-8.04107 0.47635,0.77768 -0.005,3.50664 -1.06875,6.06433 -2.07577,4.98907 -4.37156,6.44188 -3.12371,1.97674 z m 5.88614,-5.36435 c 0.4267,-5.40745 2.91168,-10.52114 4.38856,-9.03098 1.50722,1.52075 -0.55146,8.92717 -3.06688,11.03352 -1.26244,1.05714 -1.531,0.6502 -1.32168,-2.00254 z m 28.73296,-9.5242 c 2.56952,-10.35703 3.80208,-13.96755 3.8998,-11.42356 0.14532,3.78372 -2.31466,13.30747 -3.65292,14.14198 -0.63467,0.39577 -0.73779,-0.73969 -0.24688,-2.71842 z m -7.78465,-4.6971 c 0.057,-1.39691 0.33864,-1.68104 0.71801,-0.72447 0.34331,0.8656 0.30109,1.89985 -0.0938,2.29832 -0.39492,0.39845 -0.67581,-0.30978 -0.6242,-1.57385 z"
+         id="path901"
+         sodipodi:nodetypes="sssssssssssssssssssssssssssssssscsscsssssscsssssscssssssssscssscsssscsscsssccsssssssssccssssscsssssssssssssssssscsssssssssssssssssssssssscssssssssssssss" />
+      <path
+         style="fill:#f3d128;stroke-width:1.19377"
+         d="m 278.06729,493.57286 c -16.58698,-0.90471 -21.1399,-1.69257 -37.69621,-6.52312 -7.15372,-2.08723 -11.44717,-2.67572 -16.04413,-2.19918 -5.1803,0.53702 -7.97017,-0.008 -15.97277,-3.12549 -5.33289,-2.07687 -10.34531,-4.56534 -11.13872,-5.52991 -0.7934,-0.96457 -1.94692,-1.75378 -2.56338,-1.75378 C 136.85962,450.7409 83.332068,383.29732 73.115928,330.08464 70.506056,314.98419 67.10645,280.61528 69.903213,273.18872 c 4.730688,-12.56191 15.236978,-24.48859 26.889618,-30.5249 17.724919,-11.01699 60.039329,0.008 61.581889,20.10714 2.05814,2.6154 2.29321,15.5526 4.03311,21.78606 1.58872,5.69187 4.43333,13.43643 6.32134,17.21013 16.80992,40.85162 51.09962,65.43337 82.00368,77.93333 22.66892,9.12765 31.22828,10.70461 54.57884,10.05544 12.13801,-0.33744 16.61124,-0.11979 14.94572,0.72732 -3.5395,1.80023 17.88481,0.16828 29.83333,-2.27247 5.39776,-1.10262 9.51703,-1.51977 9.15395,-0.927 -0.72475,1.18319 2.2252,0.49163 10.10724,-2.36945 4.73168,-1.71754 4.98111,-2.01585 3.27554,-3.91744 -1.71254,-1.90928 -1.17989,-2.34906 7.35705,-6.07443 5.06179,-2.20887 13.48167,-6.21221 18.71088,-8.8963 5.22919,-2.6841 10.04243,-5.09232 10.69608,-5.35159 2.94289,-1.1673 -10.26509,8.63286 -16.96162,12.58534 -4.09968,2.41975 -7.20905,4.64667 -6.90971,4.94869 0.29934,0.30204 3.57676,-0.85164 7.28318,-2.56373 3.70639,-1.71207 7.29951,-2.76328 7.98469,-2.33602 0.68579,0.42765 0.89676,0.20706 0.46932,-0.49075 -0.44121,-0.7203 0.86879,-1.84626 3.03412,-2.60789 8.22008,-2.89124 27.48311,-19.97587 37.05032,-32.86036 6.08248,-8.1915 5.35249,-5.59786 -0.91113,3.23717 -4.96255,6.99984 -13.54048,15.82101 -23.90844,24.58643 -4.56916,3.86292 -4.58379,3.89727 -0.37641,0.88432 4.79504,-3.4338 6.34678,-3.94432 4.97223,-1.63583 -1.25131,2.10151 2.48519,-0.80241 9.55573,-7.42647 4.79988,-4.49678 5.38709,-4.80672 3.31704,-1.75073 -3.09166,4.56413 -11.74241,11.36159 -25.672,20.17213 -5.97675,3.78033 -9.57272,6.69213 -8.26454,6.69213 2.70866,0 17.67781,-9.07851 25.38135,-15.39329 2.94143,-2.41115 9.85377,-8.70262 15.36076,-13.98106 10.04823,-9.63115 11.05271,-9.94662 4.46439,-1.40204 -1.94981,2.52873 -4.43811,6.36504 -5.52957,8.52511 -1.88265,3.72583 -1.87561,3.89865 0.13715,3.36757 3.00057,-0.79171 8.70173,-10.23943 13.64899,-22.61859 2.32675,-5.82201 5.44313,-13.03035 6.92529,-16.01854 1.48218,-2.98818 3.58756,-8.18569 4.67864,-11.55001 1.09108,-3.36431 2.80783,-7.14154 3.81498,-8.39385 1.71565,-2.13328 1.79356,-2.01214 1.23497,1.92002 l -0.59621,4.19692 1.88721,-4.19692 c 1.03796,-2.30832 2.25906,-7.97417 2.71355,-12.59079 0.45451,-4.61663 0.98903,-7.31465 1.18786,-5.99561 0.49349,3.27372 0.47601,3.78736 -0.40778,11.99121 l -0.77507,7.19473 2.68405,-3.03856 c 1.59379,-1.80432 3.59592,-6.91862 4.92894,-12.59077 2.01234,-8.56263 2.35673,-9.218 3.32439,-6.32612 0.67457,2.01603 0.62104,4.90134 -0.14273,7.69229 -0.84275,3.07962 -0.84013,4.08068 0.008,3.22445 0.67687,-0.68295 1.98496,-3.87467 2.90684,-7.09272 1.59106,-5.55393 1.65924,-5.62269 1.34319,-1.35429 -0.18313,2.47319 0.0945,4.49671 0.61685,4.49671 0.52239,0 0.94981,-0.52268 0.94981,-1.1615 0,-0.6388 0.85619,-0.82999 1.90261,-0.42482 2.32232,0.89916 3.99704,-1.51967 4.02146,-5.80828 0.01,-1.7587 0.51379,-3.37751 1.11951,-3.59736 0.60572,-0.21983 1.93144,-6.33536 2.94603,-13.59005 l 1.8447,-13.19033 -0.56362,11.39165 c -0.30999,6.26542 -1.40084,15.1689 -2.4241,19.78552 -2.37851,10.73099 -5.17448,27.45999 -4.67614,27.97845 0.21075,0.21925 1.62342,-3.55799 3.13927,-8.39386 1.51585,-4.83587 3.10428,-9.0623 3.52981,-9.39206 0.42552,-0.32975 1.61856,-5.1862 2.65116,-10.79209 l 1.87747,-10.19255 -0.42996,8.26317 c -0.27189,5.22546 -0.0335,7.64998 0.6485,6.59517 0.71398,-1.10428 0.97352,0.11199 0.76795,3.59887 -0.18318,3.10694 0.24161,5.46454 1.03583,5.74892 1.76345,0.63143 4.94543,-17.39624 4.48416,-25.40524 -0.27118,-4.7086 -0.14631,-5.2234 0.58176,-2.39825 l 0.92706,3.59736 0.74907,-2.9978 c 0.41183,-1.64879 1.24354,-5.42602 1.84822,-8.39385 l 1.09945,-5.39605 0.14546,7.19473 c 0.10363,5.12273 0.47726,6.67672 1.29754,5.39605 0.85504,-1.33496 1.18093,-0.56208 1.26407,2.99781 0.1425,6.10129 0.94783,4.12046 2.2662,-5.57408 0.80554,-5.92347 0.95118,-3.6185 0.65523,10.37056 -0.20929,9.89276 -0.7099,19.06604 -1.11247,20.38508 -0.4026,1.31904 -0.0235,0.90158 0.84249,-0.92765 0.86595,-1.82926 1.89054,-3.00701 2.27684,-2.61723 0.38631,0.38977 1.06989,-1.4861 1.51906,-4.16863 0.44917,-2.68249 1.48476,-4.87728 2.3013,-4.87728 1.66528,0 -1.97317,21.37275 -6.55529,38.50674 -2.86172,10.70088 -2.43631,13.71984 0.74785,5.30734 2.88624,-7.62532 3.52079,-6.01944 0.74866,1.89466 -1.24319,3.54918 -2.29506,7.62272 -2.33746,9.05228 -0.0424,1.42956 -1.95068,6.69071 -4.24061,11.69144 -2.28991,5.00073 -3.98194,9.09223 -3.76004,9.09223 0.2219,0 2.06349,-2.96783 4.09241,-6.59516 2.02894,-3.62736 3.97063,-6.59518 4.31486,-6.59518 0.34424,0 -0.0341,1.21411 -0.84078,2.69802 -0.80667,1.48391 -1.5607,4.31684 -1.67562,6.29539 -0.11492,1.97855 -0.63423,4.6302 -1.15402,5.89254 -0.61655,1.49734 -0.51353,2.02609 0.29636,1.52104 0.6828,-0.42577 2.96948,-6.31505 5.08155,-13.08727 2.11205,-6.77222 5.05719,-14.47156 6.54476,-17.10962 1.48755,-2.63807 3.6658,-7.89267 4.84055,-11.6769 1.17473,-3.78423 2.3,-6.71483 2.50057,-6.51245 0.7,0.70629 -2.89022,16.02708 -4.42785,18.89515 -0.8526,1.59036 -1.45427,4.24058 -1.33702,5.88937 0.1173,1.6493 -3.22144,9.91592 -7.42215,18.37718 -4.19942,8.45866 -7.45593,16.31914 -7.23672,17.46775 0.21923,1.14858 -2.78933,6.57897 -6.6857,12.06752 -3.89638,5.48854 -6.82499,10.66103 -6.50803,11.49442 0.31696,0.83339 -0.21869,2.512 -1.19033,3.73026 -1.6802,2.10666 -1.70949,2.09483 -0.59868,-0.24188 0.64237,-1.35131 -5.95818,4.66284 -14.66789,13.36475 -8.70969,8.7019 -18.53626,17.9754 -21.8368,20.60774 -3.30055,2.63234 -5.62846,5.20351 -5.17316,5.71367 0.4553,0.51016 0.15932,0.53942 -0.65774,0.065 -0.91659,-0.5322 -1.48558,-0.15231 -1.48558,0.99184 0,3.72322 -14.27824,10.76299 -16.02987,7.90338 -0.41193,-0.67249 0.0218,-0.90307 0.99225,-0.52735 0.94831,0.36716 2.12834,0.008 2.62228,-0.79858 0.61211,-0.99931 0.40271,-1.15726 -0.65765,-0.49604 -1.06036,0.66123 -1.26975,0.50329 -0.65764,-0.49604 0.49393,-0.80638 1.76358,-1.13103 2.82142,-0.72145 1.05784,0.40957 1.55249,0.3705 1.0992,-0.0868 -0.45327,-0.45736 3.00117,-3.49044 7.67657,-6.74018 16.5297,-11.48933 19.21069,-14.69649 3.80039,-4.54625 -5.00644,3.29759 -9.77073,5.99561 -10.58731,5.99561 -0.81658,0 -2.21867,0.90258 -3.11578,2.00574 -2.21179,2.71984 -21.83744,19.17964 -23.55897,19.75862 -0.75701,0.25461 -1.53121,1.53235 -1.72041,2.8394 -0.25968,1.79403 -2.64692,3.17925 -9.74002,5.65178 -5.16782,1.80143 -11.30628,3.28534 -13.64102,3.29759 -4.50593,0.0236 -15.15664,3.17371 -17.14718,5.07147 -0.75123,0.7162 0.56042,0.87243 3.56536,0.42466 l 4.75381,-0.70836 -5.34805,1.8034 c -9.91617,3.34383 -34.94769,7.67568 -51.69776,8.94661 -18.02966,1.36802 -29.26325,1.3719 -54.07466,0.0186 z m 22.28352,-0.77211 c -1.14389,-0.30161 -3.01571,-0.30161 -4.15959,0 -1.14389,0.3016 -0.20798,0.54838 2.0798,0.54838 2.28777,0 3.22368,-0.24678 2.07979,-0.54838 z m 21.40603,-3.59467 c -1.13626,-0.30014 -3.27548,-0.31103 -4.75381,-0.0242 -1.47834,0.28682 -0.54866,0.53238 2.06593,0.5457 2.6146,0.0134 3.82415,-0.22138 2.68788,-0.5215 z m 11.27645,-1.22149 c -1.4707,-0.28582 -3.87732,-0.28582 -5.34804,0 -1.47071,0.28581 -0.2674,0.51967 2.67403,0.51967 2.94142,0 4.14473,-0.23386 2.67401,-0.51967 z m 14.55857,-88.55092 5.94228,-1.63104 -5.94228,0.63309 c -3.26824,0.3482 -7.27927,0.8562 -8.91341,1.1289 -1.63412,0.27271 -0.0297,-0.56747 3.56536,-1.86705 3.59508,-1.29957 5.1995,-2.12683 3.56537,-1.83832 -1.63412,0.28848 -5.37775,0.85411 -8.31918,1.25695 -2.94142,0.40281 -6.68505,1.04568 -8.31917,1.4286 l -2.97115,0.69622 2.97115,0.90743 c 4.51885,1.38014 11.82104,1.0968 18.42103,-0.71478 z m -39.5161,-4.9806 c -1.47072,-0.28582 -3.87734,-0.28582 -5.34804,0 -1.47072,0.28582 -0.26741,0.51967 2.67401,0.51967 2.94143,0 4.14474,-0.23385 2.67403,-0.51967 z m 87.88744,-17.19718 c 3.13437,-3.1625 2.70218,-3.04648 -6.04342,1.62223 -5.18057,2.76557 -9.11497,5.52499 -8.74313,6.13204 0.38604,0.63024 -0.28426,0.73192 -1.56245,0.23704 -1.23119,-0.4767 -1.86204,-0.48686 -1.40188,-0.0226 0.46015,0.46429 -0.0909,1.59359 -1.22469,2.50955 -1.13372,0.91597 1.91243,-0.30056 6.76923,-2.70339 4.85681,-2.40284 10.34967,-5.90154 12.20634,-7.7749 z m 115.00569,-4.25309 c 7.6158,-11.49146 9.38702,-14.87625 7.78453,-14.87625 -0.31354,0 -1.71593,2.29332 -3.11642,5.09627 -1.40047,2.80294 -5.48263,9.34761 -9.07142,14.5437 -3.58879,5.1961 -5.94598,9.08633 -5.23819,8.64496 0.70779,-0.44136 5.04645,-6.47526 9.6415,-13.40868 z m 4.78924,5.50883 c 0.69965,-1.31904 1.00469,-2.39825 0.67786,-2.39825 -0.32682,0 -1.16667,1.07921 -1.86631,2.39825 -0.69964,1.31902 -1.00468,2.39823 -0.67786,2.39823 0.32683,0 1.16668,-1.07921 1.86631,-2.39823 z m -36.68931,-55.4594 c 1.29198,-2.44647 1.24049,-2.54459 -0.55242,-1.0523 -1.0875,0.90516 -1.97725,2.11927 -1.97725,2.69802 0,1.83164 1.05609,1.14458 2.52967,-1.64572 z m 14.87652,-7.71905 c -0.51378,-0.51839 -4.38543,8.72196 -4.24924,10.14156 0.0461,0.48129 1.12694,-1.4969 2.40174,-4.39599 1.27479,-2.89908 2.10617,-5.48459 1.8475,-5.74557 z m -13.68866,-1.45243 c 1.06417,-2.55769 1.5451,-5.28665 1.06876,-6.06433 -0.84174,-1.37416 -2.39245,1.60006 -4.19247,8.04107 -1.24784,4.46514 1.04794,3.01233 3.12371,-1.97674 z m 7.04603,-6.92321 c 0.97905,-2.99318 1.00942,-4.58282 0.10494,-5.49538 -1.47689,-1.49016 -3.96187,3.62353 -4.38856,9.03098 -0.20932,2.65274 0.0592,3.05968 1.32168,2.00254 0.87142,-0.7297 2.2043,-3.22187 2.96191,-5.53814 z m 27.12079,-9.29771 c 1.84739,-7.40249 1.52787,-12.36524 -0.35315,-5.48499 -2.84733,10.41477 -3.16785,12.19624 -2.07139,11.51252 0.59946,-0.37382 1.6905,-3.0862 2.42454,-6.02753 z m -9.73806,-2.11246 c -0.37938,-0.95657 -0.661,-0.67244 -0.71802,0.72447 -0.0516,1.26407 0.2293,1.9723 0.6242,1.57385 0.39491,-0.39847 0.43712,-1.43272 0.0938,-2.29832 z m -69.64316,168.86389 c 0.27236,-0.24041 1.83221,-1.07959 3.46633,-1.86483 2.80151,-1.34618 2.83943,-1.32122 0.66419,0.43714 -1.8932,1.53039 -5.76145,2.86744 -4.13052,1.42769 z m 30.12933,-22.22009 c 0.4421,-0.72177 1.90819,-1.90865 3.25796,-2.63752 1.75838,-0.94949 2.22625,-0.95315 1.6503,-0.0129 -0.44211,0.72177 -1.90819,1.90866 -3.25797,2.63752 -1.75837,0.9495 -2.22624,0.95315 -1.65029,0.0129 z m 19.68672,-15.1151 c 1.53518,-1.6488 3.05863,-2.99782 3.38546,-2.99782 0.32683,0 -0.66183,1.34902 -2.19702,2.99782 -1.53517,1.64879 -3.05863,2.9978 -3.38545,2.9978 -0.32683,0 0.66183,-1.34901 2.19701,-2.9978 z m 39.21898,-57.2728 c 0,-0.85076 9.44941,-18.14403 9.47636,-17.34262 0.044,1.30963 -8.1931,17.65711 -8.89707,17.65711 -0.31861,0 -0.57929,-0.14152 -0.57929,-0.31449 z m -85.5687,-21.97991 c 0,-0.39061 1.06961,-2.0822 2.37691,-3.75907 2.4995,-3.20612 3.24558,-1.80725 1.14664,2.14987 -1.13921,2.14774 -3.52355,3.23667 -3.52355,1.6092 z m 6.19475,-3.48672 c 0.38981,-0.65951 3.16649,-5.22135 6.1704,-10.1374 5.64507,-9.2384 7.25041,-13.46508 3.08475,-8.12178 -1.30729,1.67688 -2.3769,3.5722 -2.3769,4.2118 0,0.63963 -0.8022,1.8347 -1.78268,2.65572 -3.00765,2.51853 -2.21053,-2.09023 0.89134,-5.15352 1.47071,-1.45243 3.67804,-4.63411 4.90517,-7.07043 1.89263,-3.75752 2.47898,-4.17957 3.86455,-2.78157 1.24881,1.26002 1.34055,2.42521 0.38966,4.9487 -1.61082,4.27479 -11.21394,18.84862 -13.832,20.99165 -1.11267,0.91077 -1.7041,1.11635 -1.31429,0.45683 z m 84.99679,-16.28427 c 0.42024,-1.62145 0.95896,-2.16501 1.25565,-1.26693 0.2858,0.86509 -0.0454,2.14302 -0.73602,2.83983 -0.88191,0.88984 -1.03658,0.42167 -0.51963,-1.5729 z m -78.11854,-10.02564 c 0,-0.95035 0.48492,-2.03031 1.07761,-2.3999 0.5927,-0.36959 0.79772,0.40797 0.45562,1.72792 -0.72567,2.79993 -1.53323,3.15386 -1.53323,0.67198 z m 80.91661,-0.0707 c 0.12376,-2.27141 2.10448,-6.09616 2.17345,-4.19693 0.0359,0.98927 -0.45309,2.60809 -1.08673,3.59737 -0.63363,0.98928 -1.12266,1.25907 -1.08672,0.59956 z m -67.76537,-11.39168 c 0.004,-0.98928 0.81155,-3.1477 1.79613,-4.79649 l 1.79014,-2.99778 -0.78756,2.9978 c -0.43316,1.6488 -1.24142,3.80722 -1.79612,4.7965 -0.89649,1.59882 -1.00789,1.59882 -1.00259,0 z m 28.86097,-26.38069 c 0.40683,-1.64879 0.74699,-3.6723 0.75591,-4.49671 0.01,-0.82438 0.609,-1.4989 1.33352,-1.4989 1.56169,0 0.3648,5.96833 -1.56308,7.79429 -0.88451,0.83777 -1.04313,0.29576 -0.52635,-1.79868 z"
+         id="path903"
+         sodipodi:nodetypes="csscsccsccsccsssssssssssssssssssssssssssssssssscsssscsssscssssscsscsssssscssssssccscssssssssssssssssssssssssssssssssssssssssscsssssssssssssscssccssssssssssssscsssssscsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssscssssscsss" />
+      <path
+         style="fill:#f3d128;fill-opacity:1;stroke:none;stroke-width:29.9604;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
+         d="M 165.84058,277.34061 60.951131,271.92017 a 8.7890767,8.7890767 58.896325 0 1 -7.52272,-12.46874 L 107.72004,142.13846 a 14.852117,14.852117 156.02991 0 1 17.87687,-7.94811 l 26.6512,8.26289 a 19.775934,19.775934 50.544946 0 1 13.80636,16.77525 l 11.37934,105.8575 a 11.084653,11.084653 133.41136 0 1 -11.59323,12.25462 z"
+         id="path4857"
+         sodipodi:nodetypes="ccccc"
+         inkscape:path-effect="#path-effect5585"
+         inkscape:original-d="M 178.82326,278.01152 47.968455,271.24926 113.18,130.34063 l 51.48502,15.96233 z" />
+      <path
+         style="fill:#f3d128;fill-opacity:1;stroke:none;stroke-width:0.895332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 133.7724,144.64664 c 3.77642,-6.45608 7.55283,-12.91216 11.32925,-19.36824 0.83655,-1.43016 2.61699,-3.357 3.97673,-4.30372 2.43792,-1.69742 4.87584,-3.39484 7.31376,-5.09226 1.35974,-0.94672 2.48086,-3.05815 2.5929,-4.71106 0.39255,-5.79137 1.63877,-11.619851 4.47735,-16.678621 0.81038,-1.444208 1.6026,-3.882615 1.83991,-5.52143 0.23004,-1.588547 0.68182,-3.218039 1.57939,-4.03425 1.14382,-1.040149 3.9508,0.835954 4.20453,2.438768 0.18794,1.187242 -0.0493,2.476709 -0.44648,3.713389 -0.50632,1.57647 -1.66228,4.012216 -2.4521,5.468108 -1.37083,2.526885 -2.94348,4.980946 -3.95609,7.641016 -0.58858,1.54619 -0.81607,4.35222 0.14482,5.67137 1.19591,1.64178 3.32257,2.60796 5.39085,2.53388 1.63559,-0.0586 4.10934,-1.28834 5.67014,-1.84419 2.12362,-0.75629 4.22816,-1.56626 6.30844,-2.43447 1.52898,-0.63813 3.10965,-2.7485 4.53589,-3.45555 1.81447,-0.8995 4.42498,-0.59531 5.10638,0.71436 0.72023,1.38432 -1.75652,3.6797 -3.21489,4.4536 -1.58417,0.84066 -3.34038,1.38791 -5.02597,2.07146 -1.53319,0.62175 -3.89207,1.91984 -5.418,2.56491 -5.56474,2.35244 -11.43436,3.89328 -17.27548,5.41845 -1.60282,0.41851 -4.16906,1.24982 -5.54652,2.1656 -3.15974,2.10069 -5.48544,5.29908 -7.12564,8.75075 -0.71086,1.49594 -1.77913,3.95709 -2.54891,5.42426 -1.32015,2.51615 -2.63975,5.03279 -3.91249,7.57306 -0.74207,1.48109 -2.21109,3.83787 -3.75119,4.3896 -0.84807,0.30381 -1.76657,0.41435 -2.64759,0.30124 -1.61427,-0.20724 -1.98554,-2.41987 -1.14899,-3.85003 z"
+         id="path5587"
+         inkscape:path-effect="#path-effect5589;#path-effect5591"
+         inkscape:original-d="m 132.25769,147.23617 14.35867,-24.5473 12.2378,-8.52064 1.16503,-12.2453 5.21887,-10.801425 1.59052,-9.404536 3.5613,-0.17495 -0.36965,6.539632 -1.14779,7.660341 -5.60562,9.548728 2.086,7.98935 15.3521,-4.1174 4.71464,-3.45113 4.95999,-1.67226 4.07579,-3.58325 -0.35035,5.40963 -2.667,0.17414 -3.75995,3.62252 -4.13813,3.60058 c 0,0 -0.96024,-1.65209 -3.45901,-0.52763 -2.49877,1.12448 -9.77412,5.24054 -9.77412,5.24054 0,0 -2.08073,-0.38489 -3.90883,-0.048 -1.82812,0.33685 -7.6484,2.52755 -7.6484,2.52755 l -7.00908,3.23306 -3.40758,6.67761 -10.15695,18.8295 z"
+         sodipodi:nodetypes="cccccccccccccccccccscsccccc" />
+      <text
+         xml:space="preserve"
+         id="text5696"
+         style="font-size:64px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect5698);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text5710"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect5712);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text644"
+         style="font-size:64px;line-height:1.25;font-family:sans-serif;text-align:center;white-space:pre;shape-inside:url(#rect646);shape-padding:9.1021;display:inline;fill:#b3b3b3"
+         transform="translate(-153.37,-113.26281)"
+         x="347.58298"
+         y="0"><tspan
+           x="830.39471"
+           y="462.25"
+           id="tspan2883"><tspan
+             style="font-style:italic;font-family:C059;-inkscape-font-specification:'C059 Italic';fill:#9f9f9f"
+             id="tspan2881">Simulating System </tspan></tspan><tspan
+           x="811.22681"
+           y="543.707"
+           id="tspan2887"><tspan
+             style="font-style:italic;font-family:C059;-inkscape-font-specification:'C059 Italic';fill:#9f9f9f"
+             id="tspan2885">Dynamics Models in </tspan></tspan><tspan
+           x="1006.2022"
+           y="625.164"
+           id="tspan2891"><tspan
+             style="font-style:italic;font-family:C059;-inkscape-font-specification:'C059 Italic';fill:#9f9f9f"
+             id="tspan2889">Python</tspan></tspan></text>
+      <text
+         xml:space="preserve"
+         id="text650"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect652);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text656"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect658);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text662"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect664);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text3693"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3695);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text3701"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3703);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text440"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect442);display:inline" />
+      <text
+         xml:space="preserve"
+         id="text1218"
+         style="font-size:192px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1220);display:inline;fill:#676767;fill-opacity:1"
+         transform="translate(41.952702,33.404979)"><tspan
+           x="646.28125"
+           y="198.84766"
+           id="tspan2895"><tspan
+             style="font-weight:bold;-inkscape-font-specification:'sans-serif Bold';fill:#d9d9d9"
+             id="tspan2893">PySD</tspan></tspan></text>
+      <text
+         xml:space="preserve"
+         id="text1224"
+         style="font-size:6.66667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1226);display:inline" />
+    </g>
+  </g>
+</svg>
diff --git a/docs/whats_new.rst b/docs/whats_new.rst
index 6c86db21..b05bb42f 100644
--- a/docs/whats_new.rst
+++ b/docs/whats_new.rst
@@ -1,5 +1,38 @@
 What's New
 ==========
+
+v3.5.0 (2022/07/19)
+-------------------
+
+New Features
+~~~~~~~~~~~~
+- Add support for subscripted arguments in :py:func:`pysd.py_backend.functions.ramp` and :py:func:`pysd.py_backend.functions.step` (:issue:`344`).
+
+Breaking changes
+~~~~~~~~~~~~~~~~
+
+Deprecations
+~~~~~~~~~~~~
+
+Bug fixes
+~~~~~~~~~
+- Fix bug related to the order of elements in 1D GET expressions (:issue:`343`).
+- Fix bug in request 0 values in allocate by priority (:issue:`345`).
+- Fix a numerical error in starting time of step and ramp.
+
+Documentation
+~~~~~~~~~~~~~
+- Include new PySD logo.
+
+Performance
+~~~~~~~~~~~
+
+Internal Changes
+~~~~~~~~~~~~~~~~
+- Ignore 'distutils Version classes are deprecated. Use packaging.version instead' error in tests as it is an internal error of `xarray`.
+- Add a warning message when a subscript range is duplicated in a variable reference.
+
+
 v3.4.0 (2022/06/29)
 -------------------
 
diff --git a/pysd/_version.py b/pysd/_version.py
index 903a158a..dcbfb52f 100644
--- a/pysd/_version.py
+++ b/pysd/_version.py
@@ -1,1 +1,1 @@
-__version__ = "3.4.0"
+__version__ = "3.5.0"
diff --git a/pysd/builders/python/python_expressions_builder.py b/pysd/builders/python/python_expressions_builder.py
index f77e6709..0dfd974b 100644
--- a/pysd/builders/python/python_expressions_builder.py
+++ b/pysd/builders/python/python_expressions_builder.py
@@ -305,6 +305,11 @@ def update_object_subscripts(self, name: str,
                 key = list(origin_comp.subscripts_dict.keys())[0]
                 value = list(component_final_subs.values())[0]
                 origin_comp.subscripts_dict[key] += value
+                # force the same order as the final element
+                origin_comp.subscripts_dict[key] = [
+                    sub for sub in self.element.subs_dict[key]
+                    if sub in origin_comp.subscripts_dict[key]
+                ]
                 self.element.objects[name]["final_subs"] =\
                     origin_comp.subscripts_dict
             else:
@@ -1788,8 +1793,29 @@ def subscripts(self):
     @subscripts.setter
     def subscripts(self, subscripts: SubscriptsReferenceStructure):
         """Get subscript dictionary from reference"""
-        self._subscripts = self.section.subscripts.make_coord_dict(
-            getattr(subscripts, "subscripts", {}))
+        ref_subs = getattr(subscripts, "subscripts", [])
+
+        self._subscripts = self.section.subscripts.make_coord_dict(ref_subs)
+
+        if len(ref_subs) != len(self._subscripts):
+            # The reference has repeated subscript ranges, this is
+            # not compatible with Python as we use dictionaries to save
+            # the subscript ranges information (duplicates a key)
+
+            # Get the original name of the reference
+            origin_ref = self.reference
+            for origin_ref2 in self.section.namespace.namespace.keys():
+                if origin_ref == origin_ref2.lower().replace(" ", "_"):
+                    origin_ref = origin_ref2
+                    break
+
+            warnings.warn(
+                "The reference to '%s' in variable '%s' has duplicated "
+                "subscript ranges. If mapping is used in one of them, "
+                "please, rewrite reference subscripts to avoid "
+                "duplicates. Otherwise, the final model may crash..."
+                % (origin_ref, self.element.name)
+            )
 
         # get the subscripts after applying the mapping if necessary
         for dim, coordinates in self._subscripts.items():
diff --git a/pysd/py_backend/allocation.py b/pysd/py_backend/allocation.py
index 61b66910..1aad8b82 100644
--- a/pysd/py_backend/allocation.py
+++ b/pysd/py_backend/allocation.py
@@ -587,12 +587,17 @@ def _allocate_by_priority_1d(request, priority, width, supply):
     if supply >= np.sum(request):
         # All targets receive their request
         return request
+    elif supply == 0:
+        # No supply, all targets receive 0
+        return np.zeros_like(request)
+
     # Remove request 0 targets and order by priority
     is_0 = request == 0
     sort = (-priority[~is_0]).argsort()
     request = request[~is_0].astype(float)[sort]
     priority = priority[~is_0][sort]
     # Create the outputs array
+    out_return = np.zeros_like(is_0, dtype=float)
     out = np.zeros_like(request, dtype=float)
     # Compute the distances between target supply and next target start
     distances = np.full_like(request, np.nan, dtype=float)
@@ -629,8 +634,9 @@ def _allocate_by_priority_1d(request, priority, width, supply):
             active[out == request] = False
         supply -= dx
     # Return the distributed supply in the original order
-    # adding to it again the rquest 0 if the where removed
-    return np.insert(out[sort.argsort()], np.where(is_0)[0], 0)
+    # adding to it again the request 0 if the where removed
+    out_return[~is_0] = out[sort.argsort()]
+    return out_return
 
 
 def allocate_by_priority(request, priority, width, supply):
diff --git a/pysd/py_backend/functions.py b/pysd/py_backend/functions.py
index 3bcc6f83..87e1b609 100644
--- a/pysd/py_backend/functions.py
+++ b/pysd/py_backend/functions.py
@@ -14,7 +14,7 @@
 
 from . import utils
 
-small_vensim = 1e-6  # What is considered zero according to Vensim Help
+SMALL_VENSIM = 1e-6  # What is considered zero according to Vensim Help
 
 
 def ramp(time, slope, start, finish=None):
@@ -25,11 +25,11 @@ def ramp(time, slope, start, finish=None):
     ----------
     time: pysd.py_backend.components.Time
         Model time object.
-    slope: float
+    slope: float or xarray.DataArray
         The slope of the ramp starting at zero at time start.
-    start: float
+    start: float or xarray.DataArray
         Time at which the ramp begins.
-    finish: float or None (oprional)
+    finish: float or xarray.DataArray or None (oprional)
         Time at which the ramp ends. If None the ramp will never end.
         Default is None.
 
@@ -41,15 +41,13 @@ def ramp(time, slope, start, finish=None):
 
     """
     t = time()
-    if t < start:
-        return 0
+    # compute out (MIN(time, finish)-start)*slope
+    if finish is None:
+        final = t
     else:
-        if finish is None:
-            return slope * (t - start)
-        elif t > finish:
-            return slope * (finish - start)
-        else:
-            return slope * (t - start)
+        final = np.minimum(finish, t)
+
+    return (t + SMALL_VENSIM > start) * slope * (final-start)
 
 
 def step(time, value, tstep):
@@ -60,9 +58,9 @@ def step(time, value, tstep):
     ----------
     time: pysd.py_backend.components.Time
         Model time object.
-    value: float
+    value: float or xarray.DataArray
         The height of the step.
-    tstep: float
+    tstep: float or xarray.DataArray
         The time at and after which `result` equals `value`.
 
     Returns
@@ -73,7 +71,7 @@ def step(time, value, tstep):
         - In range [tstep, +inf]:
             returns `value`
     """
-    return value if time() >= tstep else 0
+    return value * (time() + time.time_step()/2 > tstep)
 
 
 def pulse(time, start, repeat_time=0, width=None, magnitude=None, end=None):
@@ -115,9 +113,9 @@ def pulse(time, start, repeat_time=0, width=None, magnitude=None, end=None):
     width = .5*time.time_step() if width is None else width
     out = magnitude/time.time_step() if magnitude is not None else 1
     if repeat_time == 0:
-        return out if start - small_vensim <= t < start + width else 0
+        return out if start - SMALL_VENSIM <= t < start + width else 0
     elif start <= t and (end is None or t < end):
-        return out if (t - start + small_vensim) % repeat_time < width else 0
+        return out if (t - start + SMALL_VENSIM) % repeat_time < width else 0
     else:
         return 0
 
@@ -190,11 +188,11 @@ def xidz(numerator, denominator, x):
     """
     # NUMPY: replace DataArray by np.ndarray, xr.where -> np.where
     if isinstance(denominator, xr.DataArray):
-        return xr.where(np.abs(denominator) < small_vensim,
+        return xr.where(np.abs(denominator) < SMALL_VENSIM,
                         x,
                         numerator/denominator)
 
-    if abs(denominator) < small_vensim:
+    if abs(denominator) < SMALL_VENSIM:
         # NUMPY: neccessarry for keep the same shape always
         # if isinstance(numerator, np.ndarray):
         #    return np.full_like(numerator, x)
@@ -228,11 +226,11 @@ def zidz(numerator, denominator):
     """
     # NUMPY: replace DataArray by np.ndarray, xr.where -> np.where
     if isinstance(denominator, xr.DataArray):
-        return xr.where(np.abs(denominator) < small_vensim,
+        return xr.where(np.abs(denominator) < SMALL_VENSIM,
                         0,
                         numerator/denominator)
 
-    if abs(denominator) < small_vensim:
+    if abs(denominator) < SMALL_VENSIM:
         # NUMPY: neccessarry for keep the same shape always
         # if isinstance(denominator, np.ndarray):
         #    return np.zeros_like(denominator)
@@ -322,8 +320,8 @@ def quantum(a, b):
     """
     # NUMPY: replace xr by np
     if isinstance(b, xr.DataArray):
-        return xr.where(b < small_vensim, a, b*integer(a/b))
-    if b < small_vensim:
+        return xr.where(b < SMALL_VENSIM, a, b*integer(a/b))
+    if b < SMALL_VENSIM:
         return a
     else:
         return b*integer(a/b)
diff --git a/pysd/py_backend/statefuls.py b/pysd/py_backend/statefuls.py
index d7de8846..18e4d175 100644
--- a/pysd/py_backend/statefuls.py
+++ b/pysd/py_backend/statefuls.py
@@ -12,7 +12,7 @@
 from .functions import zidz, if_then_else
 
 
-small_vensim = 1e-6  # What is considered zero according to Vensim Help
+SMALL_VENSIM = 1e-6  # What is considered zero according to Vensim Help
 
 
 class Stateful(object):
@@ -352,11 +352,11 @@ def initialize(self, init_val=None):
             warnings.warn(
                 self.py_name + '\n'
                 + 'Casting delay order from %f to %i' % (
-                    order, round(order + small_vensim)))
+                    order, round(order + SMALL_VENSIM)))
 
         # need to add a small decimal to ensure that 0.5 is rounded to 1
         # The order can only be set once
-        self.order = round(order + small_vensim)
+        self.order = round(order + SMALL_VENSIM)
 
         if init_val is None:
             init_state_value = self.init_func()
diff --git a/pysd/translators/vensim/vensim_element.py b/pysd/translators/vensim/vensim_element.py
index d47cc692..0e1057d4 100644
--- a/pysd/translators/vensim/vensim_element.py
+++ b/pysd/translators/vensim/vensim_element.py
@@ -45,7 +45,6 @@ class Element():
         '~' symbol.
 
     """
-
     def __init__(self, equation: str, units: str, documentation: str):
         self.equation = equation
         self.units, self.limits = self._parse_units(units)
@@ -87,14 +86,14 @@ def _parse_units(self, units_str: str) -> Tuple[str, tuple]:
 
     def parse(self) -> object:
         """
-        Parse an Element object with parsimonious using the grammar given in
-        'parsing_grammars/element_object.peg' and the class
+        Parse an Element object with parsimonious using the grammar
+        given in 'parsing_grammars/element_object.peg' and the class
         ElementsComponentVisitor to visit the parsed expressions.
 
         Splits the LHS from the RHS of the equation. If the returned
-        object is a SubscriptRange, no more parsing is needed. Otherwise,
-        the RHS of the returned object (Component) should be parsed
-        to get the AbstractSyntax Tree.
+        object is a SubscriptRange, no more parsing is needed.
+        Otherwise, the RHS of the returned object (Component) should
+        be parsed to get the AbstractSyntax Tree.
 
         Returns
         -------
diff --git a/pysd/translators/xmile/xmile_element.py b/pysd/translators/xmile/xmile_element.py
index b9180678..d0655371 100644
--- a/pysd/translators/xmile/xmile_element.py
+++ b/pysd/translators/xmile/xmile_element.py
@@ -30,8 +30,8 @@
 
 class Element():
     """
-    Element class. This class provides the shared methods for its childs:
-    Flaux, Gf, Stock, and ControlElement.
+    Element class. This class provides the shared methods for its
+    children: Flaux, Gf, Stock, and ControlElement.
 
     Parameters
     ----------


Test patch:
diff --git a/tests/pytest.ini b/tests/pytest.ini
index 0757113a..b7a740f8 100644
--- a/tests/pytest.ini
+++ b/tests/pytest.ini
@@ -2,4 +2,5 @@
 python_files = pytest_*/**/*.py pytest_*/*.py
 filterwarnings =
     error
-    ignore:Creating an ndarray from ragged nested sequences
\ No newline at end of file
+    ignore:Creating an ndarray from ragged nested sequences
+    ignore:distutils Version classes are deprecated. Use packaging.version instead
\ No newline at end of file
diff --git a/tests/pytest_builders/pytest_python.py b/tests/pytest_builders/pytest_python.py
index 3a5b28bd..d005493f 100644
--- a/tests/pytest_builders/pytest_python.py
+++ b/tests/pytest_builders/pytest_python.py
@@ -5,7 +5,9 @@
 from pysd.builders.python.python_model_builder import\
     ComponentBuilder, ElementBuilder, SectionBuilder
 from pysd.builders.python.python_expressions_builder import\
-    StructureBuilder, BuildAST
+    ReferenceBuilder, StructureBuilder, BuildAST
+from pysd.translators.structures.abstract_expressions import\
+    ReferenceStructure, SubscriptsReferenceStructure
 from pysd.translators.structures.abstract_model import\
     AbstractComponent, AbstractElement, AbstractSection, AbstractSubscriptRange
 
@@ -111,6 +113,78 @@ def test__get_final_subscripts(self, structure_builder,
                                    arguments, expected):
         assert structure_builder.get_final_subscripts(arguments) == expected
 
+    @pytest.mark.parametrize(
+        "reference_str,origin_name,namespace,subscripts",
+        [
+            (
+                ReferenceStructure(
+                    "abc_jki",
+                    SubscriptsReferenceStructure(("dim1", "dim1", "dim3"))
+                ),
+                "Abc Jki",
+                {"hgfhd": "hgfhd", "Abc Jki": "abc_jki"},
+                {"dim1": ["A", "B", "C"],
+                 "dim2": ["A", "B", "C"], "dim3": ["A", "B", "C"]}
+            ),
+            (
+                ReferenceStructure(
+                    "abc_jki",
+                    SubscriptsReferenceStructure(("dim1", "dim1"))
+                ),
+                "abc_jki",
+                {"hgfhd": "hgfhd"},
+                {"dim1": ["A", "B", "C"], "dim2": ["A", "B", "C"]}
+            ),
+        ]
+    )
+    def test_referencebuilder_subscripts_warning(self, component,
+                                                 reference_str,
+                                                 origin_name,
+                                                 namespace, subscripts):
+        component.element.name = "My Var"
+        component.section.subscripts._subscripts = subscripts
+        component.section.subscripts.mapping = {
+            dim: [] for dim in subscripts}
+        component.section.namespace.namespace = namespace
+        warning_message =\
+            f"The reference to '{origin_name}' in variable 'My Var' has "\
+            r"duplicated subscript ranges\. If mapping is used in one "\
+            r"of them, please, rewrite reference subscripts to avoid "\
+            r"duplicates\. Otherwise, the final model may crash\.\.\."\
+
+        with pytest.warns(UserWarning, match=warning_message):
+            ReferenceBuilder(reference_str, component)
+
+    @pytest.mark.parametrize(
+        "reference_str,subscripts",
+        [
+            (
+                ReferenceStructure(
+                    "abc_jki",
+                    SubscriptsReferenceStructure(["dim1", "A", "dim3"])
+                ),
+                {"dim1": ["A", "B", "C"],
+                 "dim2": ["A", "B", "C"], "dim3": ["A", "B", "C"]}
+            ),
+            (
+                ReferenceStructure(
+                    "abc_jki",
+                    SubscriptsReferenceStructure(["A", "A"])
+                ),
+                {"dim1": ["A", "B", "C"], "dim2": ["A", "B", "C"]}
+            ),
+        ]
+    )
+    def test_referencebuilder_subscripts_nowarning(self, component,
+                                                   reference_str,
+                                                   subscripts):
+        component.element.name = "My Var"
+        component.section.subscripts._subscripts = subscripts
+        component.section.subscripts.mapping = {
+            dim: [] for dim in subscripts}
+
+        ReferenceBuilder(reference_str, component)
+
 
 class TestSubscriptManager:
     @pytest.mark.parametrize(
diff --git a/tests/pytest_integration/pytest_integration_vensim_pathway.py b/tests/pytest_integration/pytest_integration_vensim_pathway.py
index cfb36b0a..4888cec7 100644
--- a/tests/pytest_integration/pytest_integration_vensim_pathway.py
+++ b/tests/pytest_integration/pytest_integration_vensim_pathway.py
@@ -178,6 +178,10 @@
         "folder": "get_time_value",
         "file": "test_get_time_value_simple.mdl"
     },
+    "get_values_order": {
+        "folder": "get_values_order",
+        "file": "test_get_values_order.mdl"
+    },
     "get_with_missing_values_xlsx": {
         "folder": "get_with_missing_values_xlsx",
         "file": "test_get_with_missing_values_xlsx.mdl"
@@ -478,6 +482,10 @@
         "folder": "subscripted_lookups",
         "file": "test_subscripted_lookups.mdl"
     },
+    "subscripted_ramp_step": {
+        "folder": "subscripted_ramp_step",
+        "file": "test_subscripted_ramp_step.mdl"
+    },
     "subscripted_round": {
         "folder": "subscripted_round",
         "file": "test_subscripted_round.mdl"
diff --git a/tests/pytest_pysd/pytest_allocation.py b/tests/pytest_pysd/pytest_allocation.py
index 558f8313..b749d338 100644
--- a/tests/pytest_pysd/pytest_allocation.py
+++ b/tests/pytest_pysd/pytest_allocation.py
@@ -366,14 +366,50 @@ def test_allocate_by_priority(self, requests, priority, width,
                 7.5,
                 np.array([6, 1.5, 0]),
             ),
+            (
+                np.array([
+                    0.5, 0.0, 0.4, 0., 0.2,
+                    0.0, 0.3, 0.3, 0., 0.1,
+                    0.2, 0.0, 0.3, 0., 0.0,
+                ]),
+                np.array([
+                    0.5, 0.9, 1.0, 0.5, 0.9,
+                    0.6, 0.9, 1.0, 1., 0.5,
+                    0.9, 1.0, 0.5, 0.9, 1.
+                ]),
+                0.5,
+                1.5,
+                np.array([
+                    0.075, 0.000, 0.400, 0.000, 0.190,
+                    0.000, 0.285, 0.300, 0.000, 0.015,
+                    0.190, 0.000, 0.045, 0.000, 0.000
+                ])
+
+            ),
+            (
+                np.array([
+                    0.5, 0.0, 0.4, 0., 0.2,
+                    0.0, 0.3, 0.3, 0., 0.1,
+                    0.2, 0.0, 0.3, 0., 0.0,
+                ]),
+                np.array([
+                    0.5, 0.9, 1.0, 0.5, 0.9,
+                    0.6, 0.9, 1.0, 1., 0.5,
+                    0.9, 1.0, 0.5, 0.9, 1.
+                ]),
+                0.5,
+                0.,
+                np.zeros(15)
+
+            )
         ],
     )
     def test__allocate_by_priority_1d(self, requests, priority, width,
                                       supply, expected):
         # Test some simple cases, the complicate cases are tested with
         # a full integration test
-        assert np.all(_allocate_by_priority_1d(
-            requests, priority, width, supply) == expected)
+        assert np.all(np.isclose(_allocate_by_priority_1d(
+            requests, priority, width, supply), expected))
 
     @pytest.mark.parametrize(
         "requests,priority,width,supply,raise_type,error_message",
diff --git a/tests/pytest_pysd/pytest_functions.py b/tests/pytest_pysd/pytest_functions.py
index 27113f8c..72059e7e 100644
--- a/tests/pytest_pysd/pytest_functions.py
+++ b/tests/pytest_pysd/pytest_functions.py
@@ -12,22 +12,156 @@
 
 class TestInputFunctions():
     def test_ramp(self):
-        assert ramp(lambda: 14, .5, 10, 18) == 2
+        t = Time()
+        t.set_control_vars(time_step=1)
+
+        t.update(4)
+        assert ramp(t, .5, 10, 18) == 0
+
+        t.update(14)
+        assert ramp(t, .5, 10, 18) == 2
+
+        t.update(24)
+        assert ramp(t, .5, 10, 18) == 4
 
-        assert ramp(lambda: 4, .5, 10, 18) == 0
+        assert ramp(t, .5, 10) == 7
 
-        assert ramp(lambda: 24, .5, 10, 18) == 4
+        t.update(50)
+        assert ramp(t, .5, 10) == 20
+
+        # arrays start
+        coords = {"dim1": ["A", "B"], "dim2": ["X", "Y", "Z"]}
+        start_array = xr.DataArray(
+            [[8., 7., 9.], [4., 5., 6.]],
+            coords
+        )
+
+        t.update(4)
+        assert ramp(t, .5, start_array, 18).equals(
+            xr.DataArray([[0., 0., 0.], [0., 0., 0.]], coords))
+
+        t.update(14)
+        assert ramp(t, .5, start_array, 18).equals(
+            xr.DataArray([[3., 3.5, 2.5], [5., 4.5, 4.]], coords))
 
-        assert ramp(lambda: 24, .5, 10) == 7
+        t.update(24)
+        assert ramp(t, .5, start_array, 18).equals(
+            xr.DataArray([[5., 5.5, 4.5], [7., 6.5, 6.]], coords))
+
+        assert ramp(t, .5, start_array).equals(
+            xr.DataArray([[8., 8.5, 7.5], [10., 9.5, 9.]], coords))
+
+        # arrays finish
+        finish_array = xr.DataArray(
+            [[10., 15., 18.], [20., 16., 12.]],
+            coords
+        )
+
+        t.update(14)
+        assert ramp(t, .5, 10, finish_array).equals(
+            xr.DataArray([[0., 2., 2.], [2., 2., 1.]], coords))
+
+        t.update(25)
+        assert ramp(t, .5, 10, finish_array).equals(
+            xr.DataArray([[0., 2.5, 4.], [5., 3., 1.]], coords))
+
+        # arrays slope
+        slope_array = xr.DataArray(
+            [[0.5, .1, 1.], [2., -1., -0.5]],
+            coords
+        )
+
+        t.update(4)
+        assert ramp(t, slope_array, 10, 18).equals(
+            xr.DataArray([[0., 0., 0.], [0., 0., 0.]], coords))
+
+        t.update(14)
+        assert ramp(t, slope_array, 10, 18).equals(
+            xr.DataArray([[2., .4, 4.], [8., -4, -2.]], coords))
 
-        assert ramp(lambda: 50, .5, 10) == 20
+        t.update(24)
+        assert ramp(t, slope_array, 10, 18).equals(
+            xr.DataArray([[4., .8, 8.], [16., -8., -4.]], coords))
+
+        t.update(50)
+        assert ramp(t, slope_array, 10).equals(
+            xr.DataArray([[20., 4., 40.], [80., -40., -20.]], coords))
+
+        # arrays all
+        t.update(4)
+        assert ramp(t, slope_array, start_array, finish_array).equals(
+            xr.DataArray([[0., 0., 0.], [0., 0., 0.]], coords))
+
+        t.update(12)
+        assert ramp(t, slope_array, start_array, finish_array).equals(
+            xr.DataArray([[1.,  0.5,  3.], [16., -7., -3.]], coords))
+
+        t.update(26)
+        assert ramp(t, slope_array, start_array, finish_array).equals(
+            xr.DataArray([[1., .8, 9.], [32., -11., -3.]], coords))
+
+        t.update(27)
+        assert ramp(t, slope_array, start_array).equals(
+            xr.DataArray([[9.5, 2., 18.], [46., -22., -10.5]], coords))
 
     def test_step(self):
-        assert step(lambda: 5, 1, 10) == 0
+        t = Time()
+        t.set_control_vars(time_step=1)
+
+        t.update(5)
+        assert step(t, 1, 10) == 0
+
+        t.update(10)
+        assert step(t, 1, 10) == 1
+
+        t.update(15)
+        assert step(t, 1, 10) == 1
+
+        # arrays value
+        coords = {"dim1": ["A", "B"], "dim2": ["X", "Y", "Z"]}
+        value_array = xr.DataArray(
+            [[0.5, .1, 1.], [2., -1., -0.5]],
+            coords
+        )
+
+        t.update(5)
+        assert step(t, value_array, 10).equals(
+            xr.zeros_like(value_array))
+
+        t.update(10)
+        assert step(t, value_array, 10).equals(value_array)
+
+        t.update(15)
+        assert step(t, value_array, 10).equals(value_array)
+
+        # arrays tstep
+        tstep_array = xr.DataArray(
+            [[8., 10., 6.], [20., 11., 15.]],
+            coords
+        )
+
+        t.update(5)
+        assert step(t, 1, tstep_array).equals(
+            xr.zeros_like(value_array))
+
+        t.update(10)
+        assert step(t, 1, tstep_array).equals(tstep_array <= 10)
+
+        t.update(15)
+        assert step(t, 1, tstep_array).equals(tstep_array <= 15)
+
+        # arrays all
+        t.update(5)
+        assert step(t, value_array, tstep_array).equals(
+            xr.zeros_like(value_array))
 
-        assert step(lambda: 15, 1, 10) == 1
+        t.update(10)
+        assert step(t, value_array, tstep_array).equals(
+            value_array*(tstep_array <= 10))
 
-        assert step(lambda: 10, 1, 10) == 1
+        t.update(15)
+        assert step(t, value_array, tstep_array).equals(
+            value_array*(tstep_array <= 15))
 
     def test_pulse(self):
         assert pulse(lambda: 0, 1, width=3) == 0
diff --git a/tests/test-models b/tests/test-models
index a62270a4..c0c66599 160000
--- a/tests/test-models
+++ b/tests/test-models
@@ -1,1 +1,1 @@
-Subproject commit a62270a4c079de8288daac75ffcc77dc84a769aa
+Subproject commit c0c66599359c988873c2d87fc294ea3483fd2a23