diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3dc430c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+2DGAMELIB/obj/
+SlaveMatrix/obj/
+2DGAMELIB/bin/
+SlaveMatrix/bin/
+.vs/
diff --git a/2DGAMELIB/2DGAMELIB.csproj b/2DGAMELIB/2DGAMELIB.csproj
new file mode 100644
index 0000000..23a42cb
--- /dev/null
+++ b/2DGAMELIB/2DGAMELIB.csproj
@@ -0,0 +1,41 @@
+
+
+
+ 2DGAMELIB
+ False
+ True
+ net45
+ x86
+
+
+ 10.0
+ True
+
+
+
+
+
+
+
+
+
+ ..\..\..\..\..\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\PresentationFramework.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
\ No newline at end of file
diff --git a/2DGAMELIB/2DGAMELIB.csproj.user b/2DGAMELIB/2DGAMELIB.csproj.user
new file mode 100644
index 0000000..74adb19
--- /dev/null
+++ b/2DGAMELIB/2DGAMELIB.csproj.user
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Form
+
+
+
\ No newline at end of file
diff --git a/2DGAMELIB/Properties/AssemblyInfo.cs b/2DGAMELIB/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..1bb1459
--- /dev/null
+++ b/2DGAMELIB/Properties/AssemblyInfo.cs
@@ -0,0 +1,14 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("2DGAMELIB")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("2DGAMELIB")]
+[assembly: AssemblyCopyright("Copyright © 2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: ComVisible(false)]
+[assembly: Guid("9ef0bc72-d089-4f3b-80df-ab86b8839efb")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/2DGAMELIB/System.Diagnostics.CodeAnalysis/AllowNullAttribute.cs b/2DGAMELIB/System.Diagnostics.CodeAnalysis/AllowNullAttribute.cs
new file mode 100644
index 0000000..2c0b581
--- /dev/null
+++ b/2DGAMELIB/System.Diagnostics.CodeAnalysis/AllowNullAttribute.cs
@@ -0,0 +1,6 @@
+namespace System.Diagnostics.CodeAnalysis;
+
+[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
+internal sealed class AllowNullAttribute : Attribute
+{
+}
\ No newline at end of file
diff --git a/2DGAMELIB/System.Diagnostics.CodeAnalysis/DoesNotReturnIfAttribute.cs b/2DGAMELIB/System.Diagnostics.CodeAnalysis/DoesNotReturnIfAttribute.cs
new file mode 100644
index 0000000..ecea437
--- /dev/null
+++ b/2DGAMELIB/System.Diagnostics.CodeAnalysis/DoesNotReturnIfAttribute.cs
@@ -0,0 +1,12 @@
+namespace System.Diagnostics.CodeAnalysis;
+
+[AttributeUsage(AttributeTargets.Parameter)]
+internal class DoesNotReturnIfAttribute : Attribute
+{
+ public DoesNotReturnIfAttribute(bool parameterValue)
+ {
+ ParameterValue = parameterValue;
+ }
+
+ public bool ParameterValue { get; }
+}
\ No newline at end of file
diff --git a/2DGAMELIB/System.Diagnostics.CodeAnalysis/MaybeNullAttribute.cs b/2DGAMELIB/System.Diagnostics.CodeAnalysis/MaybeNullAttribute.cs
new file mode 100644
index 0000000..698fadc
--- /dev/null
+++ b/2DGAMELIB/System.Diagnostics.CodeAnalysis/MaybeNullAttribute.cs
@@ -0,0 +1,7 @@
+namespace System.Diagnostics.CodeAnalysis;
+
+[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter |
+ AttributeTargets.ReturnValue)]
+internal sealed class MaybeNullAttribute : Attribute
+{
+}
\ No newline at end of file
diff --git a/2DGAMELIB/System.Diagnostics.CodeAnalysis/NotNullAttribute.cs b/2DGAMELIB/System.Diagnostics.CodeAnalysis/NotNullAttribute.cs
new file mode 100644
index 0000000..8732b20
--- /dev/null
+++ b/2DGAMELIB/System.Diagnostics.CodeAnalysis/NotNullAttribute.cs
@@ -0,0 +1,8 @@
+namespace System.Diagnostics.CodeAnalysis;
+
+[AttributeUsage(
+ AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter |
+ AttributeTargets.ReturnValue, AllowMultiple = true)]
+internal sealed class NotNullAttribute : Attribute
+{
+}
\ No newline at end of file
diff --git a/2DGAMELIB/System.Diagnostics.CodeAnalysis/NotNullWhenAttribute.cs b/2DGAMELIB/System.Diagnostics.CodeAnalysis/NotNullWhenAttribute.cs
new file mode 100644
index 0000000..1f4b3aa
--- /dev/null
+++ b/2DGAMELIB/System.Diagnostics.CodeAnalysis/NotNullWhenAttribute.cs
@@ -0,0 +1,12 @@
+namespace System.Diagnostics.CodeAnalysis;
+
+[AttributeUsage(AttributeTargets.Parameter)]
+internal sealed class NotNullWhenAttribute : Attribute
+{
+ public NotNullWhenAttribute(bool returnValue)
+ {
+ ReturnValue = returnValue;
+ }
+
+ public bool ReturnValue { get; }
+}
\ No newline at end of file
diff --git a/2DGAMELIB/_2DGAMELIB.TextLine.resx b/2DGAMELIB/_2DGAMELIB.TextLine.resx
new file mode 100644
index 0000000..509fe64
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB.TextLine.resx
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+text/microsoft-resx1.3System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5JY29uAgAAAAhJY29uRGF0YQhJY29uU2l6ZQcEAhNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAIAAAAJAwAAAAX8////E1N5c3RlbS5EcmF3aW5nLlNpemUCAAAABXdpZHRoBmhlaWdodAAACAgCAAAAAAAAAAAAAAAPAwAAAO7ABAACAAABAA8AICAQAAEABADoAgAA9gAAABAQEAABAAQAKAEAAN4DAAAwMAAAAQAIAKgOAAAGBQAAICAAAAEACACoCAAArhMAABgYAAABAAgAyAYAAFYcAAAQEAAAAQAIAGgFAAAeIwAAMDAAAAEAGACoHAAAhigAACAgAAABABgAqAwAAC5FAAAYGAAAAQAYAEgHAADWUQAAEBAAAAEAGABoAwAAHlkAAAAAAAABACAAKCAEAIZcAAAwMAAAAQAgAKglAACufAQAICAAAAEAIACoEAAAVqIEABgYAAABACAAiAkAAP6yBAAQEAAAAQAgAGgEAACGvAQAKAAAACAAAABAAAAAAQAEAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAP7+/gDs7OwA3t7eANPT0wDExMQAsbGxAKKiogCRkZEAg4ODAHFxcQBgYGAAVFRUAEBAQAAtLS0AGBgYAAAAAAD/////////////////////////EjMzMhESMzMyH///////8+7u7u7u7u7u7vL///////KwAAAAAAAAAACE//////MgkAAAAAAAAAAAR/////9+7u7u7u7u7u7pAAr////z4gAAAPAAAAAADgAOH////4UHwgODBKqpUApQDi////9NAAAAAAAAAAAC0A4/////LgAEAAawBdxAAOAOP/////lAugADMAAAAADEDT/////0wAAAAAAAAAAAPAtP////8+CVBrMIq5AJUA4Ib/////LCBQAAAAAAAAAMJY//////WwABAAAAAAAABbK//////z4AqWCoZyuxsgDh0f////8tEAAAADYAAAAA1OL/////9qAAAAAAAABGQGvj//////PgWDUJMLsAZBAO4//////y0ABjAAAQAAAADeP//////3gAAAAAAAAAAAj0//////8+AAaTBDTLi8cA9f//////LgRAQAAAAAAAAPf///////hwAAAAAAAAAACX///////z0HKQRKB7ugSAHS//////8+AlEAUAARCtAA4///////K6wApACAHfAWALT///////L/7v7u/u/u7+6h////////bGnoHNce5R+Az/////////E0Jphb10N43v//////////////8j///z///////////////////////////////8AAB/+AAAP/gAAD/gAAA/wAAAP4AgAB/AAAAfwAAAH8AAAB/gAAAf4AAAH+AAAB/gAAAf8AAAH/AAAA/wAAAP+AAAD/gAAA/4AAAP/AAAD/wAAA/8AAAP/gAAD/4AAAf+AAAH/gAEB/8AAAf/gAAP/8AAH///z7//////KAAAABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAO7u7gDn5+cA4eHhANra2gDU1NQAz8/PAMjIyADBwcEAurq6AK+vrwCkpKQAnJycAJGRkQCGhoYAdXV1AAEBAQD////////////6qqqqq5///7yZmZlgr//9q5qcyaKv//yEA0ahaK///5USMkA5r///pCIWEQmv//+2QjREF9z//6khJEJF6///+jMRQBDt///7UjAWY67///qTISVRbf///7dFV6gq////zu7u7tz////4rNzL3//////////////////gB///wAf//4AH//+AB///wAf//8AH///AA///wAP//+AD///gA///4AP///AD///wA///+Af///////8oAAAAMAAAAGAAAAABAAgAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAA/v7+AAAAAAD9/f0A/Pz8APr6+gAAAAAA+fn5AAAAAAD4+PgAAAAAAPb29gD19fUA9PT0AAAAAADy8vIAAAAAAPHx8QAAAAAA8PDwAO7u7gDt7e0AAAAAAOzs7ADq6uoA6enpAAAAAADn5+cA5ubmAOXl5QAAAAAA4+PjAAAAAADi4uIAAAAAAOHh4QDf398A3t7eAAAAAADd3d0AAAAAANvb2wAAAAAA2traANnZ2QDX19cAAAAAANbW1gAAAAAA1dXV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VsOfh6FZFQNDbTkhFg82TwkFKY6nAClDVlEpAQFRz3FFAAAAAAAAAAAAAAAAAAAAP3621t+hZWWt0555Zm+fw3prhd3vAGlufamXY1+GvmE2AAAAAAAAAAAAAAAAAAAAACm1/v768/cAAP318foAAPru9QAA+u/u9QAA7enTrkcAAAAAAAAAAAAAAAAAAAAAAAB+sdu/ocHn+ceRfc3l5ruHdd778at9d/Hupmp+wwAAAAAAAAAAAAAAAAAAAAAAAAAAXpFzX36erpNtYaW1rqGDcbnLvWtJUcbRpnaJAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsnNTsvMWaHmY1xarPP05VpTT5Veoav2uYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFpnagAAAAAAAABaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////AAAA//////wAAAA/////8AAAAB/////gAAAAH////+AAAAAf////gAAAAB////8AAAAAH////gAAAAAf///+ABAAAAf///wAAAAAB////gAAAAAH///+AAAAAAf///4AAAAAB////gAAAAAH////AAAAAAf///8AAAAAB////wAAAAAH////AAAAAAf///8AAAAAB////4AAAAAH////wAAAAAf////AAAAAB////8AAAAAD////wAAAAAP////gAAAAA////+AAAAAD////4AAAAAP////gAAAAA/////AAAAAD////+AAAAAP////4AAAAA/////gAAAAD////+AAAAAP////8AAAAA/////wAAAAD/////AAAAAH////8AAAAAP////wAAAAA/////AAACAD////+AAAIAP////8AAAAB/////4AAAAP/////wAAAB//////gAAAP///////+P7////////8////////////////ygAAAAgAAAAQAAAAAEACAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAD+/v4AAAAAAP39/QAAAAAA/Pz8AAAAAAD5+fkAAAAAAPj4+AAAAAAA9vb2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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX19XV1dLS0tHR0dHR0dHR0dPT09nZ2d7e3uPj4+zs7PDw8Obm5t/f39ra2tXV1dLS0tHR0dHR0dHR0dPT09bW1tra2t/f3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOjo5ycnJiYmJaWlpSUlJSUlJSUlJSUlJWVlZmZmZ2dnaCgoKWlpaioqKOjo52dnZubm5aWlpSUlJSUlJSUlJSUlJWVlZiYmJubm52dnaCgoLy8vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpC8vLx4eHhkZGRkZGRkZGRcXFxcXFxcXFxcXFxkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRcXFxcXFxcXFxcXFxkZGRkZGRkZGRYWFgwMDF9fX97e3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb26+vr0lJSX9/f6ysrLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs6mpqXBwcIWFhcjIyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm5sLCwmNjY7y8vP///////////////////////////////////////////////////////////////////////////////////////////////////7q6uqOjo7GxsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ2d7e3vn5+d3d3Xd3d8TExP///////////////////////////////////////////////////////////////////////////////////////////////////93d3bGxsZaWlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHt7e2FhYWRkZG9vb2VlZT09PVtbW3Nzc3Z2dnNzc3Nzc3Nzc3Nzc3Nzc3JycnJycnBwcHBwcHBwcHBwcHBwcHBwcHNzc3Nzc3R0dHNzc3Nzc5CQkMPDw/////////////X19ba2tnJycgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBwcFtbW1NTU1hYWFlZWVlZWVhYWFlZWVlZWVlZWVVVVVVVVVVVVVVVVVVVVVdXV1dXV1VVVVNTU1NTU1NTU1RUVFdXV1tbW1tbW11dXV1dXVlZWVhYWG5ubvHx8f///////////7Ozs09PTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIpGRkd3d3fHx8fHx8fDw8PDw8PLy8vb29vb29vLy8vHx8QAAAPLy8vLy8vb29vX19fHx8enp6efn5+fn5+zs7PHx8fj4+Pr6+v////////b29pSUlDY2NtPT0////////////6ioqC8vL6urq+rq6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiFdXV5mZmd3d3f///93d3aysrIyMjMPDw/j4+P////z8/Nra2re3t8/Pz/Ly8v////r6+tPT06WlpZubm5ubm5+fn6enp7S0tMrKyvb29v///////7i4uE9PT7CwsPj4+P///////6WlpSkpKaurq+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkI6Ojry8vP///93d3Z2dnXR0dLq6uvz8/P///////9nZ2aurq8rKyvj4+P///////9LS0pycnJCQkI6Ojo2NjZGRkZ+fn76+vvX19f///////9vb23x8fImJidHR0f///////6enpyUlJaWlpd3d3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+/v2xsbIKCgv////////////r6+v////////////////////////////////////////////////////////////n5+fn5+f///////////////////8LCwmBgYKCgoP///////6mpqSMjI6CgoNbW1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHR0WFhYWxsbP////////////////j4+PT09P////////////////Hx8cvLy62trebm5v///////////8/Pz52dnZCQkJ2dndnZ2f///////////////+Li4lVVVYqKiv///////7GxsSYmJp+fn9LS0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANra2mFhYWpqavHx8f///////+Xl5b+/v76+vvLy8v///////////9fX15mZmXBwcMfHx/////////j4+Le3t3h4eGtra39/f8fHx/X19f////////////z8/FxcXH9/f/39/f///7u7uy0tLZ+fn8/PzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpqaoGBgcjIyPn5+ebm5nR0dGtra5CQkOrq6v///////////+7u7sjIyMPDw/j4+P////////////////z8/Pn5+f///////////////////////////3d3d35+ftXV1f///8PDwzY2Np+fn8zMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiYmJCQkHx8fN/f3////8fHx8jIyOHh4f///////////////////////////////////////////////////////////////////////////////////7S0tIaGhoqKiv39/crKyklJSaCgoMTExAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMLCwpmZmT09PcfHx/////j4+P////////////////////X19f////////////////////7+/vn5+fj4+Pn5+f////////////////X19f///////////+zs7JSUlExMTObm5tHR0WBgYJ+fn7q6ugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM/Pz5mZmSUlJbOzs+np6ZCQkKioqNra2v///+fn56SkpG9vb6mpqe7u7v///9vb25KSknt7e29vb29vb35+fs/Pz////////9ra2o6Ojq2trerq6v///////6GhoTIyMtLS0tPT03x8fJycnKurqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ2aSkpC8vL6SkpOLi4sTExLi4uNHR0f///////9vb27i4uN7e3v////////r6+s7Ozri4uLS0tLe3t8LCwvT09P///////////9nZ2enp6f///////////7Ozszo6Or6+vszMzJaWlpSUlJSUlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2trVRUVJKSktPT0////+Xl5d/f3////////////////////////////////////////////////////////////////////////////////////////8vLy1hYWKGhobu7u7GxsYqKint7ewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoHx8fJubm/////////////////39/fX19f39/f////////////////////////////////////////////////////////////////////////Dw8J2dnXZ2dpGRkcvLy35+fl1dXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwGtra3d3d////////+7u7rS0tKysrLS0tMzMzPT09Pz8/MLCwsPDw9PT09/f39/f3+Hh4fj4+NnZ2bS0tLa2ttra2vb29rq6utHR0f///////////9HR0WFhYXx8fNnZ2WxsbGRkZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANLS0mNjY2BgYP39/f///9vb24aGhoWFhZmZmbq6uunp6ezs7I2NjYyMjJ2dnaSkpJycnKGhodvb27CwsHd3d3d3d7GxseHh4YaGhqGhoe3t7f////////j4+FtbW29vb9ra2ltbW3BwcOfn5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ2WxsbF9fX+Li4v////////////////////////////////////////j4+M7Ozq+vr7Gxsf////////j4+Pn5+f///////+7u7vHx8f///////////////2dnZ2tra8DAwE9PT2hoaOHh4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImJiXh4eKGhofT09P////////////////////////////////////////7+/u3t7e3t7f////////////////////////T09OHh4dvb2/Ly8v///////5KSknNzc4aGhjk5OWNjY9ra2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKurq5SUlF1dXdPT0////////////////////////////////////////////////////////////////////////////9fX17e3t6urq8bGxvX19f///8rKyoKCgkhISCUlJV9fX9XV1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMfHx5ubmzQ0NLi4uP///8/Pz7CwsK+vr9/f39XV1dbW1v///8zMzKGhodfX1////////5iYmHx8fJCQkO3t7f///////8LCwrCwsL6+vt3d3f////////z8/JubmyMjIxsbG19fX9HR0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANXV1aGhoSsrK6mpqf7+/unp6dPT08PDw7y8vL6+vtLS0v///+np6crKyvHx8f///////7Ozs6SkpLy8vP////////////Dw8Onp6fT09P///////////////6ysrB0dHRkZGV9fX8/PzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWlpT09PZ2dnfX19f////////7+/rq6usjIyO3t7f////////////////////////z8/P///////////////////////////////////////////////8DAwC4uLh0dHVxcXM7OzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGBgY2Njbu7u////////////////////////////////////////////////////////////////////////////////////////////////////93d3WpqaiUlJVNTU8rKygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK+vr3h4eIiIiP///////////////////+bm5tbW1urq6v////////////z8/P////39/e3t7cPDw7a2tru7u9bW1tXV1cjIyLy8vMvLy+3t7f////z8/KysrDExMUZGRr6+vgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM/Pz2dnZ2BgYP///////////////9fX152dnXt7e6enp+Xl5f////j4+MvLy9fX19XV1b6+vnBwcF9fX2tra4iIiH5+fmNjY1VVVXZ2drCwsP///////+rq6j09PTo6OqysrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX12pqallZWfHx8ePj487OztHR0d/f397e3re3t+Hh4f////////////39/f///////////+zs7Orq6vLy8vDw8OPj49XV1dra2urq6v///////////////0pKSjY2NpKSkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZ2dmxsbMPDw97e3urq6urq6v///////+Hh4f///////////////////////////////////////////////////////////////////////////////3JyclRUVI2NjQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImJiYmJiYmJieXl5f////////////////Ly8v///////////////////////////////////////////////////////////////////////////////6ioqH9/f4qKigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALq6upubm09PT8LCwv///8LCwtbW1tvb26CgoOHh4f///+Xl5dnZ2cvLy5ycnMjIyPj4+MLCwqCgoIqKioSEhIWFhZiYmOrq6vb29tra2rq6ut7e3v///+fn55mZmUlJSaCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM/Pz6OjozExMaurq/r6+ri4uLu7u8DAwKurq+np6f///+rq6srKyrCwsJ+fn9LS0v///9XV1a+vr5GRkY2NjZaWlqenp7e3t6enp4qKiqenp+Li4v///////6urqyoqKqCgoNbW1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANXV1aWlpS0tLZubm+7u7tPT076+vr6+vuzs7P///////////93d3by8vOnp6f///////////////+rq6uXl5fT09P///5KSkldXV0pKSsPDw////////////7a2tiUlJZmZmc7OzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN3d3ba2tlNTU3JycoiIiHBwcLOzs/Dw8P7+/sbGxqCgoM/Pz+Pj4+7u7vT09NLS0ru7u/n5+f39/d3d3YKCgmtrawAAAN3d3cbGxra2trq6ut3d3f///////7q6ukFBQZycnMTExAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyJCQkF9fXzk5OS0tLXBwcKioqKioqGdnZz09PXNzc5WVlaenp52dnXJyclNTU5SUlKGhoYqKii8vLxsbGwAAAKSkpJ+fn5GRkWpqant7e6mpqaysrImJiVdXV6urq9LS0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN3d3WBgYAQEBAQEBBAQEBkZGRQUFAAAAAAAAAsLCxcXFxoaGhAQEAAAAAAAABAQEB0dHRcXFwAAAAAAABAQEBsbGx0dHRcXFwAAAAAAAB4eHiUlJT09PWVlZcLCwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkGNjYzExMVVVVXBwcFRUVCYmJhMTE0xMTICAgJGRkUhISCkpKScnJ1lZWYiIiJmZmS4uLgwMDBoaGmhoaJGRkZaWlhoaGh0dHWxsbKOjo5CQkFNTUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2trYCAgJubm6ysrJCQkHNzc2VlZX9/f6CgoKurq25ubmBgYGVlZXBwcIyMjJycnFxcXElJSVhYWKGhocDAwLq6uk1NTUBAQGxsbJiYmIaGhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnp6d7e3tPT08zMzNfX19bW1qenp4iIiHh4eISEhJycnKOjo2FhYUFBQT09PX5+fqSkpL6+vsrKyre3t5SUlImJiWRkZDIyMicnJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxsaWlpaOjowAAAAAAAAAAAAAAAAAAAAAAAAAAALGxsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX19bW1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////AAAA//////wAAAA/////8AAAAB/////gAAAAH////+AAAAAf////gAAAAB////8AAAAAH////gAAAAAf///+ABAAAAf///wAAAAAB////gAAAAAH///+AAAAAAf///4AAAAAB////gAAAAAH////AAAAAAf///8AAAAAB////wAAAAAH////AAAAAAf///8AAAAAB////4AAAAAH////wAAAAAf////AAAAAB////8AAAAAD////wAAAAAP////gAAAAA////+AAAAAD////4AAAAAP////gAAAAA/////AAAAAD////+AAAAAP////4AAAAA/////gAAAAD////+AAAAAP////8AAAAA/////wAAAAD/////AAAAAH////8AAAAAP////wAAAAA/////AAACAD////+AAAIAP////8AAAAB/////4AAAAP/////wAAAB//////gAAAP///////+P7////////8////////////////ygAAAAgAAAAQAAAAAEAGAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs7Ozf39/X19fT09PR0dHR0dHV1dXd3d3l5eXy8vLl5eXb29vV1dXR0dHR0dHT09PX19ff39/s7OwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tYhISEWFhYUFBQUFBQWFhYUFBQUFBQWFhYUFBQUFBQWFhYUFBQUFBQWFhYUFBQUFBQWFhYUFBQEBATe3t4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf399TU1P///////////////////////////////////////////////////////////////////+JiYm+vr4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tbf39////9vb2/////////////////////////////////////////////////////////////////////Hx8eVlZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRkZEZGRkaGhobGxsZGRkaGhoXFxcUFBQUFBQWFhYUFBQUFBQWFhYUFBQUFBQZGRkaGhoaGhoXFxdycnL////////4+PhcXFwAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tYXFxfi4uL////+/v7+/v7///////////8AAAD////////////29vb29vb8/Pz///////////////8aGhr///////////8hISHq6uoAAAAAAAAAAAAAAAAAAAAAAAAAAAB/f3+vr6////+MjIw9PT3a2tr////W1tZ8fHzX19f////Ly8tfX19fX19kZGR0dHSsrKz///////9bW1uvr6////////8aGhrf398AAAAAAAAAAAAAAAAAAAAAAAAAAADGxsY0NDT////////////////////////////////////////////////////////////////////e3t40NDT///////8XFxfW1tYAAAAAAAAAAAAAAAAAAAAAAAAAAADa2toaGhr////////////AwMD8/Pz///////+bm5tKSkr///////+tra02NjY9PT3Gxsb///////////8aGhr///////8fHx/R0dEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABra2vHx8f///9XV1dkZGT4+Pj////////R0dHR0dH///////////////////////////////////9ISEjHx8f///8vLy/MzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/v79BQUH////////////////////////////////////////////////////////////////////MzMxBQUH///9RUVG/v78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADS0tIaGhr///9zc3OxsbH///+pqalMTEzX19f///+GhoZcXFxRUVFsbGz///////92dnarq6v///////8aGhr///+BgYGoqKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eE4ODjZ2dn///+3t7f///////////////////////////////////////////////////////////84ODjZ2dmvr6+EhIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxsbFUVFT////////////t7e39/f3///////////////////////////////////////////////+3t7dUVFTb29tXV1cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADR0dEdHR3////19fVbW1tvb2+pqan///9dXV2BgYGfn5+SkpLf399VVVVYWFjn5+dMTEzh4eH///////8dHR3u7u4pKSnq6uoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29srKyvn5+f////////////////////////////MzMyfn5////////////////////////////////8rKyvHx8cdHR3f398AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClpaVkZGT////////////////////////////////////////////////////Ly8ulpaXKysr///+cnJxVVVUWFhbW1tYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPz88dHR3///+zs7OAgIDX19ewsLD///9wcHDW1tb///9YWFhVVVX///////+kpKS+vr7y8vL///////8ZGRkZGRnR0dEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29smJib29vb///////+dnZ3T09P////////////////s7Oz///////////////////////////////8lJSUZGRnPz88AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYmJh/f3////////////////////////////////////////////////////////////////////+GhoYGBgbKysoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4hISH///////////+goKBsbGzMzMz////AwMDV1dXGxsZFRUVQUFCEhIRUVFQ8PDyYmJj////5+fkAAACwsLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29sfHx/+/v68vLy+vr7////ExMT////////////////////////////////8/Pz///////////////8DAwOKiooAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEhISUlJT////////////4+Pj///////////////////////////////////////////////////9ubm6UlJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwqKir///+QkJDd3d12dnb////CwsK7u7tgYGD4+PiNjY1YWFhKSkpcXFz9/f3GxsaEhIT////x8fEqKirb29sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV1dUbGxv////a2tqrq6v09PT///////+srKz29vb////////s7Ozy8vL///9jY2MxMTH5+fn///////8bGxvPz88AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eFYWFhoaGhFRUX///////9cXFzHx8f////4+PiAgID////y8vIyMjIAAAD9/f3q6uqnp6f///////9KSkrCwsIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADd3d0AAAADAwMUFBQSEhIAAAAODg4WFhYMDAwAAAAWFhYWFhYAAAAQEBAaGhoTExMAAAAaGhohISFhYWHu7u4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnp6c8PDylpaVqamoTExN6enrl5eVGRkY2NjaMjIzw8PAeHh4PDw+xsbHm5uYAAACJiYn8/PxGRkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADp6enW1tbLy8vj4+OdnZ12dnaIiIizs7NNTU0uLi6RkZG8vLzPz8+WlpaFhYUxMTEhISEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ2dnW1tYAAAAAAAAAAAAAAAAAAADX19cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////AAAf/gAAD/4AAA/4AAAP8AAAD+AIAAfwAAAH8AAAB/AAAAf4AAAH+AAAB/gAAAf4AAAH/AAAB/wAAAP8AAAD/gAAA/4AAAP+AAAD/wAAA/8AAAP/AAAD/4AAA/+AAAH/gAAB/4ABAf/AAAH/4AAD//AAB///8+//////ygAAAAYAAAAMAAAAAEAGAAAAAAAwAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLy8ubm5uSkpKPj4+Pj4+SkpKZmZmioqKbm5uTk5OPj4+Pj4+SkpKXl5eurq4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgoKCZmZm3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7d6enoAAAAAAAAAAAAAAAAAAAAAAAAAAADPz8/X19e+vr7Q0ND09PT09PT09PT09PT09PT09PT09PT09PT19fX19fX8/Pz///+5ubkAAAAAAAAAAAAAAAAAAAAAAACRkZFlZWVzc3Nzc3NycnJxcXFvb29wcHBvb29tbW1sbGxubm5ycnJzc3NpaWmysrL////Ly8t0dHQAAAAAAAAAAAAAAAAAAAAAAAChoaH6+vqSkpLFxcX8/PzDw8PS0tL5+fmwsLCGhoaNjY2tra329vbX19eOjo75+fnDw8OTk5MAAAAAAAAAAAAAAAAAAAAAAABeXl7////////6+vr+/v7////4+Pjx8fH////5+fnt7e309PT+/v739/d9fX3s7OzCwsKLi4sAAAAAAAAAAAAAAAAAAAAAAABeXl7n5+fi4uKfn5/6+vr////CwsKUlJT////Y2NiNjY25ubn6+vr///+IiIjW1tbFxcWMjIwAAAAAAAAAAAAAAAAAAAAAAACsrKxkZGTw8PDc3Nz9/f3////39/f29vb////////////////////////R0dFkZGTPz8+RkZEAAAAAAAAAAAAAAAAAAAAAAADT09MmJibMzMylpaX4+PiQkJDBwcHx8fGDg4NoaGiUlJT///+WlpbFxcX///8wMDDb29uXl5cAAAAAAAAAAAAAAAAAAAAAAAAAAABzc3PAwMDi4uL+/v75+fn+/v7///////////////////////////////+AgICkpKSPj48AAAAAAAAAAAAAAAAAAAAAAAAAAADDw8N6enr4+Ph4eHiamprv7+98fHyioqKmpqbPz89zc3Pb29uFhYXz8/Pz8/NZWVl5eXnIyMgAAAAAAAAAAAAAAAAAAAAAAADKysp4eHjy8vL////////////////q6uq1tbX////////////09PTy8vL+/v5cXFxWVlbU1NQAAAAAAAAAAAAAAAAAAAAAAAAAAACJiYnMzMzU1NTQ0NDZ2dn19fXNzc36+vqnp6fU1NT///+0tLTKysr7+/unp6cjIyPKysoAAAAAAAAAAAAAAAAAAAAAAAAAAACSkpK/v7/09PTNzc3FxcX8/Pzy8vL9/f3b29v09PT////z8/P6+vr+/v7FxcUcHBzHx8cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB5eXn////////u7u7h4eH5+fnz8/P19fXj4+PY2Njh4eHW1tbm5ubl5eVAQEC7u7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPT0/7+/vZ2dnV1dWmpqbz8/Pn5+fr6+vIyMiysrLExMStra3Ozs7+/v5jY2OTk5MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/f3+k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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0dHRDdLS0g3S0tIN09PTDdPT0w3T09MN1dXVDdXV1Q3W1tYN19fXDdnZ2Q3Z2dkN2traDdvb2w3d3d0N3d3dDd7e3g3f398N39/fDeHh4Q3i4uIN4+PjDePj4w3m5uYN5+fnDenp6Q3q6uoN7OzsDe7u7g3w8PAN8fHxDfHx8Q3w8PAN7e3tDezs7A3q6uoN6enpDebm5g3l5eUN4+PjDeLi4g3h4eEN4eHhDd/f3w3e3t4N3d3dDdvb2w3a2toN2traDdnZ2Q3Z2dkN19fXDdbW1g3W1tYN1dXVDdXV1Q3T09MN09PTDdLS0g3S0tIN0tLSDdHR0Q3R0dEN0dHRDdHR0Q3R0dEN0dHRDdHR0Q3R0dEN0dHRDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADR0dEs0dHRLNHR0SzR0dEs0dHRLNHR0SzS0tIs0tLSLNPT0yzT09Ms09PTLNXV1SzV1dUs1tbWLNfX1yzZ2dks2dnZLNra2izb29ss3d3dLN3d3Sze3t4s39/fLN/f3yzh4eEs4uLiLOPj4yzj4+Ms5ubmLOfn5yzp6eks6urqLOzs7Czu7u4s8PDwLPHx8Szx8fEs8PDwLO3t7Szs7Ows6urqLOnp6Szm5uYs5eXlLOPj4yzi4uIs4eHhLOHh4Szf398s3t7eLN3d3Szb29ss2traLNra2izZ2dks2dnZLNfX1yzW1tYs1tbWLNXV1SzV1dUs09PTLNPT0yzS0tIs0tLSLNLS0izR0dEs0dHRLNHR0SzR0dEs0dHRLNHR0SzR0dEs0dHRLNHR0SzR0dEs0dHRLNHR0SzR0dEs0dHRLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADR0dFL0dHRS9HR0UvR0dFL0dHRS9HR0UvR0dFL0dHRS9HR0UvR0dFL0tLSS9LS0kvT09NL09PTS9PT00vV1dVL1dXVS9bW1kvX19dL2dnZS9nZ2Uva2tpL29vbS93d3Uvd3d1L3t7eS9/f30vf399L4eHhS+Li4kvj4+NL4+PjS+bm5kvn5+dL6enpS+rq6kvs7OxL7u7uS/Dw8Evx8fFL8fHxS/Dw8Evt7e1L7OzsS+rq6kvp6elL5ubmS+Xl5Uvj4+NL4uLiS+Hh4Uvh4eFL39/fS97e3kvd3d1L29vbS9ra2kva2tpL2dnZS9nZ2UvX19dL1tbWS9bW1kvV1dVL1dXVS9PT00vT09NL0tLSS9LS0kvS0tJL0dHRS9HR0UvR0dFL0dHRS9HR0UvR0dFL0dHRS9HR0UvR0dFL0dHRS9HR0UvR0dFL0dHRS9HR0UvR0dFL0tLSS9LS0kvS0tJLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0dHRa9HR0WvR0dFr0dHRa9HR0WvR0dFr0dHRa9HR0WvR0dFr0dHRa9HR0WvR0dFr0dHRa9LS0mvS0tJr09PTa9PT02vT09Nr1dXVa9XV1WvW1tZr19fXa9nZ2WvZ2dlr2traa9vb22vd3d1r3d3da97e3mvf399r39/fa+Hh4Wvi4uJr4+Pja+Pj42vm5uZr5+fna+np6Wvq6upr7Ozsa+7u7mvw8PBr8fHxa/Hx8Wvw8PBr7e3ta+zs7Gvq6upr6enpa+bm5mvl5eVr4+Pja+Li4mvh4eFr4eHha9/f32ve3t5r3d3da9vb22va2tpr2traa9nZ2WvZ2dlr19fXa9bW1mvW1tZr1dXVa9XV1WvT09Nr09PTa9LS0mvS0tJr0tLSa9HR0WvR0dFr0dHRa9HR0WvR0dFr0dHRa9HR0WvR0dFr0dHRa9HR0WvR0dFr0dHRa9HR0WvR0dFr0dHRa9LS0mvS0tJr0tLSa9LS0mvT09Nr09PTawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANLS0orR0dGK0dHRitHR0YrR0dGK0dHRitHR0YrR0dGK0dHRitHR0YrR0dGK0dHRitHR0YrR0dGK0dHRitHR0YrS0tKK0tLSitPT04rT09OK09PTitXV1YrV1dWK1tbWitfX14rZ2dmK2dnZitra2orb29uK3d3dit3d3Yre3t6K39/fit/f34rh4eGK4uLiiuPj44rj4+OK5ubmiufn54rp6emK6urqiuzs7Iru7u6K8PDwivHx8Yrx8fGK8PDwiu3t7Yrs7OyK6urqiunp6Yrm5uaK5eXliuPj44ri4uKK4eHhiuHh4Yrf39+K3t7eit3d3Yrb29uK2traitra2orZ2dmK2dnZitfX14rW1taK1tbWitXV1YrV1dWK09PTitPT04rS0tKK0tLSitLS0orR0dGK0dHRitHR0YrR0dGK0dHRitHR0YrR0dGK0dHRitHR0YrR0dGK0dHRitHR0YrR0dGK0dHRitHR0YrS0tKK0tLSitLS0orS0tKK09PTitPT04rT09OK1dXVitXV1YoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADS0tKp0tLSqdLS0qnS0tKp0dHRqdHR0anR0dGp0dHRqdHR0anR0dGp0dHRqdHR0anR0dGp0dHRqdHR0anR0dGp0dHRqdHR0anR0dGp0tLSqdLS0qnT09Op09PTqdPT06nV1dWp1dXVqdbW1qnX19ep2dnZqdnZ2ana2tqp29vbqd3d3and3d2p3t7eqd/f36nf39+p4eHhqeLi4qnj4+Op4+Pjqebm5qnn5+ep6enpqerq6qns7Oyp7u7uqfDw8Knx8fGp8fHxqfDw8Knt7e2p7Ozsqerq6qnp6emp5ubmqeXl5anj4+Op4uLiqeHh4anh4eGp39/fqd7e3qnd3d2p29vbqdra2qna2tqp2dnZqdnZ2anX19ep1tbWqdbW1qnV1dWp1dXVqdPT06nT09Op0tLSqdLS0qnS0tKp0dHRqdHR0anR0dGp0dHRqdHR0anR0dGp0dHRqdHR0anR0dGp0dHRqdHR0anR0dGp0dHRqdHR0anR0dGp0tLSqdLS0qnS0tKp0tLSqdPT06nT09Op09PTqdXV1anV1dWp1dXVqdbW1qnW1tapAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA09PTyNPT08jT09PI0tLSyNLS0sjS0tLI0tLSyNHR0cjR0dHI0dHRyNHR0cjR0dHI0dHRyNHR0cjR0dHI0dHRyNHR0cjR0dHI0dHRyNHR0cjR0dHI0dHRyNLS0sjS0tLI09PTyNPT08jT09PI1dXVyNXV1cjW1tbI19fXyNnZ2cjZ2dnI2trayNvb28jd3d3I3d3dyN7e3sjf39/I39/fyOHh4cji4uLI4+PjyOPj48jm5ubI5+fnyOnp6cjq6urI7OzsyO7u7sjw8PDI8fHxyPHx8cjw8PDI7e3tyOzs7Mjq6urI6enpyObm5sjl5eXI4+PjyOLi4sjh4eHI4eHhyN/f38je3t7I3d3dyNvb28ja2trI2trayNnZ2cjZ2dnI19fXyNbW1sjW1tbI1dXVyNXV1cjT09PI09PTyNLS0sjS0tLI0tLSyNHR0cjR0dHI0dHRyNHR0cjR0dHI0dHRyNHR0cjR0dHI0dHRyNHR0cjR0dHI0dHRyNHR0cjR0dHI0dHRyNLS0sjS0tLI0tLSyNLS0sjT09PI09PTyNPT08jV1dXI1dXVyNXV1cjW1tbI1tbWyNfX18jX19fI2dnZyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV1dXn1dXV59PT0+fT09Pn09PT59LS0ufS0tLn0tLS59LS0ufR0dHn0dHR59HR0efR0dHn0dHR59HR0efR0dHn0dHR59HR0efR0dHn0dHR59HR0efR0dHn0dHR59HR0efS0tLn0tLS59PT0+fT09Pn09PT59XV1efV1dXn1tbW59fX1+fZ2dnn2dnZ59ra2ufb29vn3d3d593d3efe3t7n39/f59/f3+fh4eHn4uLi5+Pj4+fj4+Pn5ubm5+fn5+fp6enn6urq5+zs7Ofu7u7n8PDw5/Hx8efx8fHn8PDw5+3t7efs7Ozn6urq5+np6efm5ubn5eXl5+Pj4+fi4uLn4eHh5+Hh4eff39/n3t7e593d3efb29vn2tra59ra2ufZ2dnn2dnZ59fX1+fW1tbn1tbW59XV1efV1dXn09PT59PT0+fS0tLn0tLS59LS0ufR0dHn0dHR59HR0efR0dHn0dHR59HR0efR0dHn0dHR59HR0efR0dHn0dHR59HR0efR0dHn0dHR59HR0efS0tLn0tLS59LS0ufS0tLn09PT59PT0+fT09Pn1dXV59XV1efV1dXn1tbW59bW1ufX19fn19fX59nZ2efa2trn2tra5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMPDw+7CwsLuwsLC7sLCwu7AwMDuwMDA7sDAwO6/v7/uv7+/7r+/v+6/v7/uvr6+7r6+vu6+vr7uvr6+7r6+vu6+vr7uvr6+7r6+vu6+vr7uvr6+7r6+vu6+vr7uvr6+7r6+vu6+vr7uv7+/7r+/v+7AwMDuwMDA7sDAwO7CwsLuwsLC7sPDw+7ExMTuxsbG7sbGxu7Hx8fuyMjI7sjIyO7IyMjuysrK7svLy+7Ly8vuzMzM7s7Ozu7Pz8/uz8/P7tLS0u7T09Pu1dXV7tbW1u7W1tbu2dnZ7tra2u7b29vu29vb7tra2u7X19fu1tbW7tbW1u7V1dXu0tLS7tHR0e7Pz8/uzs7O7szMzO7MzMzuy8vL7srKyu7IyMjuyMjI7sfHx+7Hx8fuxsbG7sbGxu7ExMTuw8PD7sPDw+7CwsLuwsLC7sDAwO7AwMDuv7+/7r+/v+6/v7/uvr6+7r6+vu6+vr7uvr6+7r6+vu6+vr7uvr6+7r6+vu6+vr7uvr6+7r6+vu6+vr7uvr6+7r6+vu6+vr7uv7+/7r+/v+6/v7/uv7+/7sDAwO7AwMDuwMDA7sLCwu7CwsLuwsLC7sPDw+7Dw8PuxMTE7sTExO7Gxsbux8fH7sfHx+7IyMjuyMjI7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsrKzuq6ur7qurq+6rq6vuq6ur7qurq+6rq6vuqamp7qmpqe6pqanuqKio7qioqO6oqKjuqKio7qenp+6np6fup6en7qenp+6np6fup6en7qenp+6np6fup6en7qenp+6np6fup6en7qenp+6np6fup6en7qioqO6oqKjuqamp7qmpqe6pqanuq6ur7qurq+6rq6vurKys7q2tre6tra3ur6+v7rCwsO6wsLDusLCw7rGxse6zs7Pus7Oz7rS0tO62trbutra27ra2tu64uLjuurq67rq6uu67u7vuvLy87r+/v+6/v7/uwMDA7sDAwO6/v7/uvr6+7ry8vO67u7vuurq67ri4uO63t7futra27ra2tu60tLTutLS07rOzs+6xsbHusLCw7rCwsO6vr6/ur6+v7q2tre6tra3urKys7qurq+6rq6vuq6ur7qurq+6pqanuqamp7qioqO6oqKjuqKio7qenp+6np6fup6en7qenp+6np6fup6en7qenp+6np6fup6en7qenp+6np6fup6en7qenp+6np6fup6en7qioqO6oqKjuqKio7qioqO6pqanuqamp7qmpqe6rq6vuq6ur7qurq+6rq6vuq6ur7qysrO6srKzura2t7q+vr+6vr6/usLCw7rCwsO6xsbHusbGx7rOzs+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJaWlu6VlZXulZWV7pSUlO6UlJTulJSU7pKSku6SkpLukpKS7pKSku6SkpLukpKS7pGRke6RkZHukZGR7pGRke6QkJDukJCQ7pCQkO6QkJDukJCQ7pCQkO6QkJDukJCQ7pCQkO6QkJDukJCQ7pCQkO6QkJDukJCQ7pCQkO6RkZHukZGR7pKSku6SkpLukpKS7pKSku6SkpLulJSU7pWVle6VlZXulZWV7paWlu6YmJjumJiY7piYmO6ZmZnum5ub7pubm+6bm5vunJyc7p2dne6dnZ3un5+f7qCgoO6goKDuoaGh7qOjo+6kpKTupaWl7qWlpe6lpaXupaWl7qOjo+6jo6PuoaGh7qCgoO6fn5/unZ2d7p2dne6cnJzum5ub7pubm+6bm5vumZmZ7piYmO6YmJjulpaW7paWlu6VlZXulZWV7pWVle6UlJTulJSU7pKSku6SkpLukpKS7pKSku6RkZHukZGR7pGRke6QkJDukJCQ7pCQkO6QkJDukJCQ7pCQkO6QkJDukJCQ7pCQkO6QkJDukJCQ7pCQkO6QkJDukJCQ7pCQkO6RkZHukZGR7pGRke6RkZHukpKS7pKSku6SkpLukpKS7pKSku6SkpLulJSU7pSUlO6VlZXulZWV7pWVle6WlpbulpaW7piYmO6YmJjumZmZ7pmZme6ZmZnumZmZ7pubm+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA7n9/f+5/f3/uf39/7n5+fu58fHzufHx87nx8fO58fHzufHx87nx8fO57e3vue3t77nt7e+57e3vue3t77nt7e+57e3vuenp67np6eu56enruenp67np6eu56enruenp67np6eu56enruenp67np6eu56enruenp67np6eu56enrue3t77nt7e+57e3vue3t77nt7e+58fHzufHx87nx8fO5+fn7uf39/7n9/f+5/f3/ugICA7oCAgO6AgIDugYGB7oGBge6BgYHugoKC7oKCgu6EhITuhISE7oWFhe6FhYXuhoaG7oiIiO6IiIjuiYmJ7oqKiu6KioruioqK7oqKiu6JiYnuiIiI7oiIiO6GhobuhYWF7oSEhO6EhITugoKC7oKCgu6CgoLugYGB7oGBge6AgIDugICA7n9/f+5/f3/uf39/7n9/f+5+fn7ufHx87nx8fO58fHzufHx87nt7e+57e3vue3t77nt7e+57e3vuenp67np6eu56enruenp67np6eu56enruenp67np6eu56enruenp67np6eu56enruenp67np6eu56enrue3t77nt7e+57e3vue3t77nt7e+57e3vue3t77nx8fO58fHzufHx87nx8fO58fHzufn5+7n5+fu5/f3/uf39/7n9/f+6AgIDugICA7oGBge6BgYHugICA7oCAgO6BgYHugYGB7oCAgO4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaGho7mhoaO5nZ2fuZ2dn7mdnZ+5lZWXuZWVl7mVlZe5lZWXuZWVl7mVlZe5lZWXuZGRk7mRkZO5kZGTuZGRk7mRkZO5kZGTuZGRk7mNjY+5jY2PuY2Nj7mNjY+5jY2PuY2Nj7mNjY+5jY2PuY2Nj7mNjY+5jY2PuY2Nj7mNjY+5jY2PuY2Nj7mRkZO5kZGTuZGRk7mRkZO5kZGTuZWVl7mVlZe5lZWXuZWVl7mdnZ+5nZ2fuZ2dn7mhoaO5oaGjuaGho7mhoaO5qamruampq7mpqau5ra2vua2tr7mtra+5sbGzubGxs7m5ubu5ubm7ub29v7m9vb+5wcHDucHBw7nBwcO5wcHDub29v7m9vb+5ubm7ubm5u7mxsbO5sbGzua2tr7mtra+5qamruampq7mpqau5oaGjuaGho7mhoaO5nZ2fuZ2dn7mdnZ+5nZ2fuZWVl7mVlZe5lZWXuZWVl7mVlZe5kZGTuZGRk7mRkZO5kZGTuZGRk7mNjY+5jY2PuY2Nj7mNjY+5jY2PuY2Nj7mNjY+5jY2PuY2Nj7mNjY+5jY2PuY2Nj7mNjY+5jY2PuY2Nj7mRkZO5kZGTuZGRk7mRkZO5kZGTuZGRk7mRkZO5lZWXuZWVl7mVlZe5lZWXuZWVl7mVlZe5lZWXuZ2dn7mdnZ+5nZ2fuaGho7mhoaO5oaGjuaGho7mhoaO5oaGjuZ2dn7mdnZ+5lZWXuZWVl7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQUFDuUFBQ7lBQUO5QUFDuT09P7k9PT+5PT0/uT09P7k1NTe5NTU3uTU1N7k1NTe5NTU3uTU1N7k1NTe5NTU3uTU1N7k1NTe5NTU3uTU1N7k1NTe5MTEzuTExM7kxMTO5MTEzuTExM7kxMTO5MTEzuTExM7kxMTO5MTEzuTExM7kxMTO5MTEzuTExM7kxMTO5NTU3uTU1N7k1NTe5NTU3uTU1N7k1NTe5NTU3uTU1N7k9PT+5PT0/uT09P7k9PT+5QUFDuUFBQ7lBQUO5QUFDuUVFR7lFRUe5RUVHuUVFR7lFRUe5RUVHuU1NT7lNTU+5UVFTuVFRU7lRUVO5VVVXuVVVV7lVVVe5VVVXuVVVV7lRUVO5UVFTuVFRU7lRUVO5TU1PuU1NT7lFRUe5RUVHuUVFR7lFRUe5RUVHuUFBQ7lBQUO5QUFDuT09P7k9PT+5PT0/uT09P7k9PT+5NTU3uTU1N7k1NTe5NTU3uTU1N7k1NTe5NTU3uTU1N7k1NTe5MTEzuTExM7kxMTO5MTEzuTExM7kxMTO5MTEzuTExM7kxMTO5MTEzuTExM7kxMTO5MTEzuTExM7kxMTO5NTU3uTU1N7k1NTe5NTU3uTU1N7k1NTe5NTU3uTU1N7k1NTe5NTU3uTU1N7k1NTe5PT0/uT09P7k9PT+5PT0/uT09P7lBQUO5QUFDuUFBQ7lBQUO5PT0/uT09P7k1NTe5MTEzuSkpK7kpKSu5KSkruSEhI7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo6Ou45OTnuODg47jg4OO44ODjuODg47jY2Nu42NjbuNjY27jY2Nu42NjbuNjY27jY2Nu42NjbuNjY27jY2Nu42NjbuNjY27jY2Nu41NTXuNTU17jU1Ne41NTXuNTU17jU1Ne41NTXuNTU17jU1Ne41NTXuNTU17jU1Ne41NTXuNTU17jU1Ne41NTXuNTU17jU1Ne41NTXuNTU17jU1Ne42NjbuNjY27jY2Nu42NjbuNjY27jY2Nu42NjbuNjY27jY2Nu42NjbuODg47jg4OO44ODjuODg47jg4OO44ODjuODg47jg4OO45OTnuOTk57jk5Oe45OTnuOTk57jo6Ou46OjruOjo67jo6Ou46OjruOjo67jo6Ou46OjruOjo67jo6Ou45OTnuOTk57jk5Oe45OTnuODg47jg4OO44ODjuODg47jg4OO44ODjuODg47jY2Nu42NjbuNjY27jY2Nu42NjbuNjY27jY2Nu42NjbuNjY27jY2Nu42NjbuNTU17jU1Ne41NTXuNTU17jU1Ne41NTXuNTU17jU1Ne41NTXuNTU17jU1Ne41NTXuNTU17jU1Ne41NTXuNTU17jU1Ne41NTXuNTU17jU1Ne41NTXuNTU17jY2Nu42NjbuNjY27jY2Nu42NjbuNjY27jY2Nu42NjbuNjY27jY2Nu42NjbuNjY27jY2Nu44ODjuODg47jg4OO44ODjuNTU17jU1Ne40NDTuMjIy7i8vL+4vLy/uLi4u7i0tLe45OTnqT09P5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuLi7uMTEx7jQ0NO42NjbuOTk57j09Pe5AQEDuQUFB7kFBQe5BQUHuQUFB7kJCQu5CQkLuQkJC7kJCQu5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuQkJC7kJCQu5CQkLuQkJC7kJCQu5CQkLuQkJC7kJCQu5CQkLuQkJC7kJCQu5CQkLuQkJC7kJCQu5CQkLuQkJC7kRERO5ERETuRERE7kRERO5ERETuRERE7kRERO5ERETuQkJC7kJCQu5CQkLuQkJC7kJCQu5CQkLuQkJC7kJCQu5CQkLuPj4+7jo6Ou41NTXuMTEx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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0dHR7sDAwO6vr6/unZ2d7oyMjO57e3vuampq7lhYWO5gYGDudHR07omJie6fn5/utLS07srKyu7f39/u9PT07v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7x8fHu4eHh7tHR0e7AwMDusLCw7qCgoO6QkJDujY2N7pSUlO6ZmZnun5+f7qWlpe6rq6vusbGx7re3t+67u7vju7u7xLu7u6W7u7uGu7u7Z7u7u0e7u7sou7u7CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eXQ5ubm6tbW1u7ExMTus7Oz7qGhoe6QkJDuf39/7m5ubu5cXFzuZGRk7nd3d+6MjIzuoKCg7ra2tu7Ly8vu39/f7vT09O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9fX17uXl5e7W1tbuxsbG7re3t+6np6fumJiY7pSUlO6YmJjunZ2d7qGhoe6lpaXuq6ur7q+vr+6zs7Put7e347e3t8S3t7elt7e3hre3t2e3t7dHt7e3KLe3twkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn5+e+6enp1Ozs7Ovb29vuysrK7ri4uO6lpaXulJSU7oKCgu5ycnLuYGBg7mdnZ+56enrujo6O7qOjo+63t7fuy8vL7uHh4e709PTu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vn5+e7q6uru29vb7szMzO6+vr7ura2t7p+fn+6bm5vunZ2d7qGhoe6jo6Pup6en7qmpqe6srKzur6+v7rGxseOxsbHEsbGxpbGxsYaxsbFnsbGxR7GxsSixsbEJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq6uqz7Ozsxu7u7tnw8PDr39/f7s/Pz+68vLzuqamp7piYmO6GhobudnZ27mNjY+5qamrufHx87pGRke6kpKTuurq67szMzO7h4eHu9fX17v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u8PDw7uHh4e7S0tLuw8PD7rS0tO6np6fuoaGh7qOjo+6kpKTupaWl7qenp+6oqKjuqamp7qurq+6srKzjrKysxKysrKWsrKyGrKysZ6ysrEesrKworKysCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq6uqx7e3tv/Dw8M7y8vLd9fX17OXl5e7T09PuwsLC7q+vr+6cnJzuioqK7np6eu5nZ2fubGxs7n9/f+6SkpLup6en7ru7u+7Ozs7u4uLi7vX19e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vT09O7m5ubu19fX7srKyu68vLzura2t7qioqO6oqKjuqKio7qenp+6oqKjup6en7qioqO6np6fuqKio46ioqMSoqKilqKiohqioqGeoqKhHqKioKKioqAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADp6em17e3twPDw8Mv09PTW+Pj44fr6+uzq6uru2dnZ7sbGxu6zs7PuoKCg7o6Oju58fHzua2tr7nBwcO6CgoLulZWV7qioqO68vLzuz8/P7uLi4u719fXu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+75+fnu7Ozs7t7e3u7R0dHuw8PD7ra2tu6vr6/ura2t7qysrO6pqanuqKio7qenp+6lpaXuo6Oj7qOjo+Ojo6PEo6OjpaOjo4ajo6Nno6OjR6Ojoyijo6MJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn5+fB7OzsyPDw8ND09PTX+Pj43vz8/OX////t8PDw7t7e3u7Ly8vut7e37qSkpO6SkpLugICA7m5ubu5zc3PuhYWF7piYmO6rq6vuvr6+7tHR0e7j4+Pu9vb27v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vHx8e7j4+Pu1tbW7srKyu68vLzutra27rGxse6vr6/uq6ur7qmpqe6lpaXuo6Oj7p+fn+6dnZ3jnZ2dxJ2dnaWdnZ2GnZ2dZ52dnUednZ0onZ2dCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PV6enp2e3t7dzy8vLf9vb24/z8/Ob////q////7fX19e7i4uLuz8/P7ry8vO6pqanulpaW7oSEhO5ycnLudnZ27oiIiO6bm5vurKys7r+/v+7S0tLu4+Pj7vb29u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+729vbu6urq7t3d3e7R0dHuxMTE7ry8vO63t7fus7Oz7q2tre6pqanupKSk7qCgoO6bm5vumZmZ45mZmcSZmZmlmZmZhpmZmWeZmZlHmZmZKJmZmQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADd3d3u4uLi7ufn5+7t7e3u8vLy7vj4+O78/Pzu////7v///+74+Pju5eXl7tLS0u6+vr7uq6ur7piYmO6GhobudHR07nh4eO6JiYnum5ub7qysrO6/v7/u0dHR7uLi4u719fXu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////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7q2tre6tra3ura2t7q2tre6tra3ura2t7q2tre6tra3ura2t7qysrO6srKzurKys7qysrO6rq6vuq6ur7qurq+6rq6vuq6ur7qurq+6rq6vuq6ur7qurq+6rq6vuq6ur7qurq+6rq6vuq6ur7qurq+6rq6vuq6ur7qmpqe6pqanuqamp7qmpqe6pqanuqamp7qmpqe6pqanuqKio7qioqO6oqKjuqKio7qioqO6oqKjuqKio7qioqO6oqKjuqKio7qioqO6pqanuqamp7qmpqe6rq6vuq6ur7qysrO6srKzurKys7qysrO6srKzurKys7qysrO6srKzurKys7qysrO6srKzurKys7qysrO6srKzurKys7qysrO6srKzuq6ur7qurq+6rq6vuq6ur7qurq+6rq6vuq6ur7qurq+6vr6/utra27ry8vO7ExMTuysrK7tHR0e7X19fu3t7e7ubm5u7u7u7u9vb27v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vn5+e7w8PDu5ubm7tvb2+7S0tLuxsbG7ry8vO6wsLDupaWl7pubm+6QkJDuhYWF7n9/f+N/f3/Ef39/pX9/f4Z/f39nf39/R39/fyh/f38JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6enruenp67nt7e+57e3vufHx87n9/f+6BgYHuhISE7oaGhu6JiYnujIyM7o6Oju6RkZHuiYmJ7oCAgO53d3fubm5u7mNjY+5ZWVnuUFBQ7kZGRu5JSUnuUVFR7ltbW+5kZGTubm5u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7t3d3e7R0dHuu7u77qWlpe6Ojo7uenp67mNjY+5NTU3uODg47i4uLu5KSkruZWVl7oKCgu6fn5/uurq67tbW1u7y8vLu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7y8vLu2dnZ7r6+vu6kpKTuiYmJ7m9vb+5UVFTuOjo67jExMexFRUXnWVlZ4W9vb9yCgoLXlpaW0qurq83AwMDI6urqwOrq6qbq6uqM6urqcurq6lnq6uo+6urqJOrq6grq6uoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABubm7uhISE7pmZme6xsbHuyMjI7tnZ2e7e3t7u4uLi7ubm5u7p6enu7e3t7vHx8e719fXu+Pj47vj4+O729vbu9vb27vb29u719fXu9fX17vT09O709PTu9PT07vT09O709PTu9PT07vT09O709PTu9PT07vT09O709PTu9fX17vX19e729vbu+Pj47vn5+e75+fnu+vr67vz8/O78/Pzu/Pz87vz8/O78/Pzu/Pz87vz8/O78/Pzu+vr67vr6+u75+fnu+fn57vj4+O74+Pju9vb27vb29u729vbu9vb20fb29rP29vaV9vb2ePb29lr29vY89vb2Hvb29gD4+PgP+Pj4LPj4+Ev4+Pho+Pj4hfj4+KP4+PjB+Pj43/j4+O74+Pju+fn57vn5+e76+vru+vr67vz8/O78/Pzu/Pz87vz8/O78/Pzu+vr67vr6+u76+vru+fn57vn5+e74+Pju9vb27vX19e709PTu8vLy7vDw8O7u7u7u7e3t7uzs7O7s7Ozu7Ozs7uzs7O7s7Ozu7Ozs7uzs7O7s7Ozu7Ozs7uzs7O7s7Ozu7e3t7u3t7e7u7u7u7u7u7vDw8O7w8PDu8fHx7vLy8u709PTu9fX17vb29u74+Pju+fn57vz8/O79/f3u/f397v39/e7+/v7u/v7+7v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vz8/O75+fnu7Ozs7tHR0e62trbum5ub7oGBge5lZWXuSkpK7i8vL+4jIyPuQUFB7l1dXe57e3vulpaW7rOzs+7R0dHu7u7u7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9PT07tnZ2e68vLzuoaGh7oWFhe5ra2vuT09P7jQ0NO4qKirtQUFB7FlZWepycnLpiIiI6J+fn+a2trblz8/P5Orq6t/q6urB6urqo+rq6obq6upo6urqSerq6izq6uoO6urqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZWVnucnJy7oiIiO6fn5/utra27szMzO7e3t7u4+Pj7unp6e7u7u7u8vLy7vj4+O78/Pzu////7v///+7////u////7v7+/u79/f3u+vr67vn5+e729vbu9fX17vT09O709PTu8vLy7vLy8u7x8fHu8PDw7vDw8O7u7u7u8PDw7vLy8u709PTu9vb27vn5+e78/Pzu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u7+/v7u/f397vz8/NL8/Py1+vr6mPn5+Xz5+flg+Pj4Q/j4+Cb29vYJ+Pj4F/n5+TP5+flR+vr6bfz8/In8/Pym/f39w/7+/uD+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vz8/O75+fnu9vb27vT09O7x8fHu7u7u7uzs7O7q6uru6urq7urq6u7q6uru6urq7urq6u7q6uru6urq7urq6u7q6uru6urq7uzs7O7s7Ozu7e3t7u3t7e7u7u7u7u7u7vDw8O7x8fHu8vLy7vT09O719fXu9vb27vj4+O76+vru/Pz87vz8/O79/f3u/v7+7v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vj4+O7b29vuv7+/7qOjo+6IiIjua2tr7k9PT+4yMjLuJSUl7kFBQe5cXFzueHh47pSUlO6vr6/uysrK7ubm5u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vX19e7Z2dnuu7u77qCgoO6EhITuaGho7kxMTO4xMTHuJycn7kBAQO5YWFjucnJy7omJie6hoaHuurq67tPT0+7p6enq6enpy+np6azp6emN6enpbunp6U7p6ekv6enpEOnp6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKSkruYGBg7nZ2du6JiYnun5+f7rS0tO7IyMju2dnZ7t/f3+7m5ubu7Ozs7vLy8u74+Pju/v7+7v///+7////u////7v///+79/f3u+fn57vT09O7w8PDu7Ozs7ufn5+7l5eXu4+Pj7uHh4e7f39/u3t7e7tvb2+7a2tru19fX7tra2u7e3t7u4uLi7ufn5+7s7Ozu8fHx7vX19e75+fnu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu+vr67vj4+O729vbV9PT0vfHx8aPw8PCL7e3tcurq6lnp6elA5ubmJ+np6TPq6upM7e3tZfDw8H7x8fGW9PT0r/b29sn4+Pji+vr67vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu+vr67vb29u7y8vLu8PDw7uzs7O7n5+fu4+Pj7t/f3+7b29vu19fX7tfX1+7X19fu19fX7tfX1+7X19fu19fX7tfX1+7X19fu19fX7tfX1+7Z2dnu2dnZ7tra2u7a2tru29vb7tvb2+7d3d3u3t7e7t/f3+7h4eHu4uLi7uPj4+7m5ubu5+fn7urq6u7s7Ozu7e3t7vDw8O7x8fHu8vLy7vT09O719fXu9vb27vr6+u7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu4eHh7sTExO6pqanujY2N7nJycu5VVVXuOjo67isrK+5FRUXuX19f7nh4eO6RkZHuq6ur7sTExO7e3t7u9vb27v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+719fXu2dnZ7ru7u+6goKDuhISE7mhoaO5MTEzuMTEx7icnJ+5AQEDuWFhY7nBwcO6IiIjuoKCg7ri4uO7S0tLu5+fn6ufn58vn5+es5+fnjefn527n5+dO5+fnL+fn5xDn5+cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFRU7mdnZ+56enrujIyM7p+fn+6xsbHuw8PD7tLS0u7a2tru4uLi7urq6u7x8fHu+fn57v///+7////u////7v///+7////u+vr67vT09O7t7e3u5ubm7t/f3+7Z2dnu1tbW7tPT0+7Pz8/uzMzM7srKyu7Gxsbuw8PD7sDAwO7Dw8PuysrK7tHR0e7X19fu3t7e7ubm5u7s7Ozu8vLy7vn5+e78/Pzu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u+fn57vX19e7y8vLu8PDw2ezs7MTn5+eu5eXlmuHh4YXd3d1w2traWtbW1kXZ2dlP3d3dZN/f33rj4+OP5+fnpOrq6rnu7u7O8vLy4/X19e74+Pju/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu+Pj47vT09O7w8PDu6urq7uXl5e7f39/u2tra7tXV1e7Pz8/uysrK7sTExO7ExMTuxMTE7sTExO7ExMTuxMTE7sTExO7ExMTuxMTE7sTExO7ExMTuxsbG7sbGxu7Hx8fux8fH7sjIyO7IyMjuysrK7svLy+7MzMzuzs7O7tHR0e7S0tLu09PT7tbW1u7X19fu2tra7t3d3e7f39/u4uLi7uPj4+7m5ubu6enp7uzs7O7x8fHu9vb27v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7ubm5u7Ly8vur6+v7pSUlO54eHjuXV1d7kFBQe40NDTuSkpK7mFhYe54eHjukJCQ7qWlpe6+vr7u1dXV7uzs7O709PTu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9fX17tnZ2e67u7vuoKCg7oSEhO5oaGjuTExM7i8vL+4mJibuPj4+7ldXV+5vb2/uhoaG7p+fn+63t7fu0dHR7ubm5urm5ubL5ubmrObm5o3m5uZu5ubmTubm5i/m5uYQ5ubmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATU1N7l1dXe5ubm7ufn5+7o2Nje6fn5/ur6+v7r+/v+7MzMzu1tbW7t/f3+7n5+fu8fHx7vn5+e7////u////7v///+7////u////7vj4+O7w8PDu5ubm7t7e3u7V1dXuy8vL7sfHx+7Dw8Puv7+/7rq6uu62trbusbGx7q2tre6pqanura2t7ra2tu6/v7/ux8fH7tLS0u7a2tru4+Pj7uzs7O709PTu+Pj47vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vb29u7x8fHu7e3t7unp6d3j4+PM3t7eutra2qnV1dWY0dHRhsvLy3XHx8djysrKbM7Ozn3T09OP19fXoN3d3bHi4uLC5+fn1O3t7eXx8fHu9fX17vr6+u7+/v7u////7v///+7////u////7v///+7////u////7v///+7+/v7u+fn57vT09O7u7u7u6enp7uLi4u7b29vu1dXV7s7Ozu7Hx8fuwMDA7rq6uu6zs7PusbGx7rGxse6xsbHusbGx7rGxse6xsbHusbGx7rGxse6xsbHusbGx7rOzs+6zs7PutLS07rS0tO62trbutra27re3t+66urruu7u77ry8vO6+vr7uv7+/7sLCwu7Dw8PuxsbG7sjIyO7MzMzuz8/P7tPT0+7W1tbu2tra7t3d3e7f39/u5ubm7u7u7u729vbu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7s7Ozu0dHR7ra2tu6bm5vuf39/7mRkZO5JSUnuOjo67lBQUO5kZGTueHh47o2Nje6hoaHut7e37szMzO7h4eHu6enp7vLy8u76+vru////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vX19e7Z2dnuu7u77qCgoO6CgoLuZ2dn7kpKSu4uLi7uJSUl7j09Pe5VVVXubm5u7oWFhe6dnZ3utra27s/Pz+7l5eXq5eXly+Xl5azl5eWN5eXlbuXl5U7l5eUv5eXlEOXl5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVVV5lhYWO5nZ2fudHR07oKCgu6QkJDun5+f7qysrO67u7vux8fH7tLS0u7b29vu5ubm7vDw8O76+vru////7v///+7////u////7v///+719fXu6urq7t/f3+7V1dXuysrK7r6+vu64uLjus7Oz7q2tre6oqKjuo6Oj7pycnO6WlpbukZGR7paWlu6jo6Pura2t7ri4uO7ExMTuz8/P7tra2u7l5eXu8PDw7vX19e75+fnu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u709PTu7e3t7ufn5+7i4uLg29vb09XV1cXPz8+4yMjIqsPDw528vLyPt7e3grq6uojAwMCWxsbGpMzMzLHT09O+2trazN/f39nm5ubn7Ozs7vHx8e74+Pju/f397v///+7////u////7v///+7////u////7v///+7////u/Pz87vb29u7w8PDu6enp7uLi4u7a2tru0tLS7srKyu7AwMDuuLi47rCwsO6oqKjuoKCg7qCgoO6goKDuoKCg7qCgoO6goKDuoKCg7qCgoO6goKDuoKCg7qCgoO6hoaHuoaGh7qOjo+6jo6PupKSk7qSkpO6lpaXup6en7qioqO6pqanurKys7q2tre6vr6/usbGx7rOzs+63t7fuvLy87sDAwO7ExMTux8fH7szMzO7R0dHu09PT7t3d3e7m5ubu8PDw7vn5+e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u8fHx7tbW1u67u7vuoaGh7oWFhe5ra2vuUFBQ7kFBQe5UVFTuZ2dn7np6eu6MjIzunZ2d7rCwsO7Dw8Pu1tbW7t/f3+7q6uru9PT07v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+719fXu2dnZ7ru7u+6fn5/ugoKC7mdnZ+5KSkruLi4u7iUlJe49PT3uVVVV7m5ubu6FhYXunZ2d7ra2tu7Ozs7u4+Pj6uPj48vj4+Os4+PjjePj427j4+NO4+PjL+Pj4xDj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFhYeRkZGTub29v7nt7e+6GhobukZGR7p+fn+6pqanutra27sDAwO7MzMzu2dnZ7uPj4+7w8PDu+vr67v///+7////u////7v///+7////u8vLy7ubm5u7Z2dnuy8vL7r6+vu6wsLDuqKio7qOjo+6cnJzulZWV7o6Oju6IiIjugYGB7nt7e+6BgYHujo6O7pubm+6oqKjut7e37sTExO7R0dHu3t7e7urq6u7x8fHu+Pj47v39/e7////u////7v///+7////u////7v///+7////u////7v7+/u75+fnu8fHx7unp6e7j4+Pu29vb5NPT09rLy8vQxMTEx7y8vL22trazra2tqaenp6Crq6uksbGxrrq6urjAwMDCysrKy9HR0dXZ2dnf4eHh6efn5+7t7e3u9fX17vz8/O7////u////7v///+7////u////7v///+7////u////7vr6+u7y8vLu7Ozs7uLi4u7b29vu0dHR7sfHx+6+vr7utLS07qurq+6hoaHumJiY7o6Oju6NjY3ujY2N7o2Nje6NjY3ujY2N7o2Nje6NjY3ujY2N7o2Nje6NjY3ujo6O7o6Oju6QkJDukJCQ7pGRke6RkZHukpKS7pWVle6WlpbumJiY7pmZme6bm5vunZ2d7p+fn+6hoaHupaWl7qysrO6wsLDutra27rq6uu6/v7/uw8PD7sjIyO7T09Pu3d3d7unp6e709PTu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vb29u7d3d3uwsLC7qenp+6MjIzuc3Nz7lhYWO5JSUnuWVlZ7mpqau56enruiYmJ7pmZme6pqanuurq67svLy+7W1tbu4eHh7u3t7e75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9fX17tnZ2e67u7vun5+f7oGBge5lZWXuSUlJ7i0tLe4jIyPuPDw87lRUVO5sbGzuhISE7pycnO60tLTuzMzM7uLi4uri4uLL4uLirOLi4o3i4uJu4uLiTuLi4i/i4uIQ4uLiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJycslsbGzib29v7nh4eO6BgYHuioqK7pSUlO6fn5/up6en7rGxse67u7vuyMjI7tXV1e7i4uLu7u7u7vz8/O7////u////7v///+7////u////7vDw8O7h4eHu0tLS7sLCwu6zs7Puo6Oj7pmZme6SkpLuioqK7oKCgu58fHzuc3Nz7mtra+5kZGTua2tr7nt7e+6JiYnumZmZ7qmpqe66urruyMjI7tfX1+7l5eXu7e3t7vX19e78/Pzu////7v///+7////u////7v///+7////u////7v///+7+/v7u9vb27u7u7u7l5eXu3t7e7tXV1ejLy8viwsLC3Lq6utaxsbHQqKioyqCgoMSWlpa+nJycwaSkpMesrKzNtra207+/v9nIyMjf0dHR5dra2uvi4uLu6urq7vLy8u76+vru////7v///+7////u////7v///+7////u////7v///+75+fnu8PDw7ubm5u7d3d3u1dXV7sjIyO6+vr7us7Oz7qenp+6dnZ3ukpKS7oaGhu58fHzue3t77nt7e+57e3vue3t77nt7e+57e3vue3t77nt7e+57e3vue3t77nx8fO58fHzufn5+7n5+fu5/f3/uf39/7oCAgO6CgoLuhISE7oWFhe6IiIjuiYmJ7oyMjO6NjY3ukJCQ7pWVle6cnJzuoaGh7qenp+6srKzusbGx7re3t+68vLzuyMjI7tXV1e7i4uLu7u7u7vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu4uLi7sfHx+6tra3ukpKS7np6eu5gYGDuUFBQ7l9fX+5sbGzuenp67oiIiO6VlZXuo6Oj7rGxse6/v7/uzMzM7tnZ2e7m5ubu9PT07v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vX19e7Z2dnuu7u77p+fn+6BgYHuZWVl7klJSe4rKyvuIiIi7jo6Ou5TU1Pua2tr7oKCgu6bm5vus7Oz7svLy+7h4eHq4eHhy+Hh4azh4eGN4eHhbuHh4U7h4eEv4eHhEOHh4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6enrEeHh44Ht7e+6BgYHuiYmJ7pCQkO6Wlpbun5+f7qWlpe6srKzutra27sPDw+7S0tLu39/f7u7u7u78/Pzu////7v///+7////u////7v///+7u7u7u3d3d7srKyu64uLjup6en7pSUlO6KiorugYGB7np6eu5wcHDuaGho7l9fX+5VVVXuTU1N7lVVVe5nZ2fueHh47omJie6cnJzura2t7r+/v+7R0dHu4eHh7unp6e7y8vLu+vr67v///+7////u////7v///+7////u////7v///+7////u/v7+7vX19e7s7Ozu4eHh7tnZ2e7Ozs7rw8PD6bq6uuevr6/lpaWl45ubm+CRkZHehoaG3IyMjN2WlpbfoKCg4qmpqeS2trbmv7+/6MrKyurV1dXs3t7e7ubm5u7x8fHu+fn57v///+7////u////7v///+7////u////7v///+7////u9vb27u3t7e7i4uLu19fX7szMzO7AwMDutLS07qenp+6bm5vujo6O7oKCgu53d3fuampq7mhoaO5oaGjuaGho7mhoaO5oaGjuaGho7mhoaO5oaGjuaGho7mhoaO5qamruampq7mtra+5ra2vubGxs7mxsbO5ubm7ucHBw7nJycu5zc3PudnZ27nd3d+56enrue3t77n5+fu6EhITuioqK7pGRke6YmJjunZ2d7qSkpO6rq6vusbGx7r+/v+7MzMzu29vb7urq6u74+Pju////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7ufn5+7Ozs7utLS07pubm+6AgIDuZ2dn7ldXV+5jY2Pub29v7np6eu6FhYXukZGR7pycnO6oqKjutLS07sPDw+7R0dHu39/f7u7u7u78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+719fXu2dnZ7ru7u+6fn5/ugYGB7mVlZe5JSUnuKysr7iIiIu46OjruU1NT7mpqau6BgYHumZmZ7rGxse7Kysru39/f6t/f38vf39+s39/fjd/f327f399O39/fL9/f3xDf398AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBgYGhgYGBwYGBgeCEhITuiIiI7o2Nje6RkZHulZWV7pubm+6fn5/upKSk7qysrO68vLzuy8vL7tvb2+7q6uru+vr67v///+7////u////7v///+7////u8PDw7t3d3e7Ly8vuuLi47qenp+6UlJTuiYmJ7oCAgO54eHjub29v7mVlZe5cXFzuU1NT7klJSe5TU1PuZGRk7nd3d+6IiIjum5ub7q2tre6/v7/u0tLS7uHh4e7q6uru9PT07vz8/O7////u////7v///+7////u////7v///+7////u////7v///+729vbu7e3t7uLi4u7a2truz8/P7sPDw+66urrur6+v7qSkpO6bm5vukJCQ7oaGhu6KiorulZWV7qCgoO6pqanutra27r+/v+7Kysru1tbW7t7e3u7n5+fu8vLy7vr6+u7////u////7v///+7////u////7v///+7////u////7vj4+O7u7u7u4+Pj7tnZ2e7Ozs7uwsLC7rS0tO6np6fum5ub7o6Oju6CgoLudnZ27mpqau5oaGjuaGho7mhoaO5oaGjuaGho7mhoaO5oaGjuaGho7mhoaO5oaGjuampq7mhoaO5qamruampq7mtra+5ra2vubGxs7m9vb+5wcHDucHBw7nNzc+50dHTud3d37nh4eO57e3vugYGB7omJie6Ojo7ulZWV7pycnO6jo6Puqamp7rCwsO6+vr7uzMzM7tvb2+7q6uru+Pj47v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7t7e3u1dXV7ru7u+6jo6PuiYmJ7nJycu5hYWHua2tr7nR0dO58fHzuhYWF7o2Nje6VlZXun5+f7qioqO63t7fux8fH7tfX1+7n5+fu+Pj47v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9fX17tnZ2e67u7vun5+f7oGBge5lZWXuSUlJ7ioqKu4hISHuOTk57lFRUe5oaGjugICA7piYmO6wsLDuyMjI7t7e3ure3t7L3t7erN7e3o3e3t5u3t7eTt7e3i/e3t4Q3t7eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAioqKoYqKisGKiorgioqK7oyMjO6Ojo7ukJCQ7pGRke6UlJTulZWV7piYmO6dnZ3ur6+v7sDAwO7S0tLu4+Pj7vX19e7////u////7v///+7////u////7vX19e7m5ubu1tbW7sbGxu62trbupaWl7pycnO6UlJTujIyM7oSEhO58fHzuc3Nz7mtra+5jY2Pua2tr7nt7e+6Kiorum5ub7qurq+68vLzuy8vL7tvb2+7q6uru8fHx7vn5+e7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vT09O7q6uru4+Pj7tra2u7Pz8/uxsbG7r6+vu60tLTuq6ur7qGhoe6ZmZnunZ2d7qenp+6wsLDuurq67sPDw+7MzMzu1tbW7t/f3+7n5+fu8PDw7vn5+e7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u9fX17u3t7e7i4uLu2dnZ7s7Ozu7Dw8Put7e37qysrO6jo6PulpaW7oyMjO6BgYHugICA7oCAgO6AgIDugICA7oCAgO5/f3/uf39/7n9/f+5/f3/uf39/7n9/f+5/f3/uf39/7n9/f+6AgIDuf39/7oCAgO6BgYHugoKC7oSEhO6FhYXuhoaG7oiIiO6JiYnujIyM7pGRke6ZmZnun5+f7qWlpe6rq6vusbGx7ri4uO6+vr7uysrK7tfX1+7l5eXu8fHx7v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u8vLy7tvb2+7ExMTura2t7paWlu6AgIDucnJy7nZ2du57e3vuf39/7oWFhe6JiYnujo6O7pKSku6ZmZnuq6ur7ru7u+7MzMzu39/f7vHx8e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vb29u7a2truu7u77p+fn+6BgYHuZWVl7klJSe4qKiruISEh7jk5Oe5RUVHuaGho7oCAgO6YmJjur6+v7sfHx+7d3d3q3d3dy93d3azd3d2N3d3dbt3d3U7d3d0v3d3dEN3d3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkpKSgpKSkqGSkpLBkpKS4JGRke6QkJDukJCQ7o6Oju6NjY3ujIyM7oqKiu6KiorukJCQ7qOjo+62trbuyMjI7t3d3e7w8PDu////7v///+7////u////7v///+78/Pzu7u7u7uHh4e7S0tLuxMTE7ra2tu6tra3up6en7qCgoO6YmJjukZGR7omJie6BgYHue3t77oGBge6QkJDun5+f7qysrO67u7vuysrK7tnZ2e7m5ubu8vLy7vn5+e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru9PT07u3t7e7l5eXu29vb7tPT0+7MzMzuxMTE7ry8vO60tLTurKys7rCwsO64uLjuwMDA7sjIyO7R0dHu2dnZ7uHh4e7q6uru8fHx7vj4+O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e719fXu7e3t7uXl5e7b29vu0tLS7sfHx+6+vr7utra27qysrO6hoaHumJiY7paWlu6WlpbulpaW7paWlu6WlpbulpaW7paWlu6WlpbulZWV7pWVle6VlZXulJSU7pWVle6UlJTulJSU7pSUlO6UlJTulZWV7pWVle6WlpbumJiY7piYmO6bm5vum5ub7pycnO6jo6Puqamp7q+vr+60tLTuu7u77sDAwO7Gxsbuy8vL7tfX1+7i4uLu7e3t7vj4+O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vb29u7i4uLuzMzM7ri4uO6jo6Pujo6O7oCAgO6BgYHugoKC7oKCgu6FhYXuhYWF7oaGhu6IiIjuiYmJ7p2dne6wsLDuw8PD7tfX1+7s7Ozu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+74+Pju2tra7ry8vO6goKDugYGB7mVlZe5JSUnuKioq7iEhIe45OTnuUFBQ7mdnZ+5/f3/ulpaW7q+vr+7Gxsbu29vb6tvb28vb29us29vbjdvb227b29tO29vbL9vb2xDb29sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJycZJycnIKcnJyhnJycwZycnOCYmJjulJSU7pGRke6MjIzuiIiI7oWFhe6BgYHufn5+7oGBge6VlZXuq6ur7sDAwO7V1dXu6urq7v7+/u7////u////7v///+7////u////7vj4+O7s7Ozu39/f7tPT0+7Hx8fuwMDA7rq6uu60tLTura2t7qenp+6goKDumZmZ7pSUlO6ZmZnupaWl7rOzs+6/v7/uy8vL7tnZ2e7l5eXu8fHx7vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O729vbu8PDw7ufn5+7h4eHu2tra7tPT0+7MzMzuxsbG7sDAwO7Dw8PuysrK7tHR0e7X19fu39/f7ubm5u7t7e3u9PT07vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vb29u7w8PDu5+fn7t/f3+7X19fuz8/P7sjIyO7AwMDuuLi47rCwsO6vr6/ur6+v7q+vr+6vr6/ur6+v7q2tre6tra3ura2t7q2tre6srKzurKys7qurq+6rq6vuqamp7qmpqe6oqKjuqKio7qmpqe6pqanuqamp7qurq+6rq6vurKys7qysrO6tra3us7Oz7rq6uu6/v7/uxMTE7srKyu7Pz8/u1dXV7tra2u7j4+Pu7e3t7vb29u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu6enp7tbW1u7Dw8PusLCw7p2dne6Ojo7ujIyM7oqKiu6GhobuhYWF7oKCgu5/f3/ufHx87nt7e+6QkJDupKSk7rq6uu7R0dHu5eXl7vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47tvb2+6+vr7uoKCg7oKCgu5lZWXuSUlJ7ioqKu4hISHuODg47lBQUO5nZ2fuf39/7pWVle6tra3uxsbG7tvb2+rb29vL29vbrNvb243b29tu29vbTtvb2y/b29sQ29vbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpGSkpKSCpKSkoaSkpMGkpKTgoKCg7piYmO6SkpLuioqK7oSEhO5+fn7ud3d37nBwcO5zc3PuiYmJ7qCgoO63t7fuzs7O7uXl5e78/Pzu////7v///+7////u////7v///+7////u9fX17uzs7O7i4uLu2dnZ7tLS0u7MzMzuyMjI7sLCwu68vLzut7e37rGxse6srKzusbGx7ru7u+7Hx8fu0dHR7tvb2+7m5ubu8fHx7vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u709PTu7u7u7unp6e7j4+Pu3t7e7tnZ2e7T09Pu1tbW7tvb2+7h4eHu5ubm7u3t7e7y8vLu+Pj47v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vX19e7u7u7u5+fn7uLi4u7b29vu1dXV7s/Pz+7IyMjux8fH7sfHx+7GxsbuxsbG7sbGxu7GxsbuxsbG7sbGxu7ExMTuw8PD7sPDw+7CwsLuwMDA7r+/v+6+vr7uvr6+7ry8vO6+vr7uvLy87ry8vO6+vr7uvr6+7r6+vu6+vr7uv7+/7sTExO7Kysruz8/P7tXV1e7Z2dnu3t7e7uPj4+7n5+fu8PDw7vb29u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vDw8O7e3t7uzMzM7ry8vO6srKzunZ2d7piYmO6RkZHuioqK7oWFhe5/f3/ueHh47nJycu5sbGzugoKC7pmZme6wsLDuyMjI7t/f3+729vbu////7v///+7////u////7v///+7////u////7v///+7////u////7vn5+e7d3d3uvr6+7qGhoe6CgoLuZWVl7klJSe4qKiruHx8f7jg4OO5PT0/uZWVl7n5+fu6VlZXurKys7sTExO7a2trq2tray9ra2qza2tqN2trabtra2k7a2tov2traENra2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysrEWsrKxkrKysgqysrKGsrKzBrKys4Kenp+6dnZ3ulJSU7omJie6AgIDud3d37m5ubu5jY2PuZWVl7n5+fu6VlZXura2t7sfHx+7f39/u+Pj47v///+7////u////7v///+7////u////7v///+75+fnu8fHx7urq6u7l5eXu4eHh7t3d3e7X19fu09PT7s7Ozu7KysruxsbG7srKyu7S0tLu29vb7uPj4+7s7Ozu9fX17v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O74+Pju9PT07u7u7u7q6uru5ubm7unp6e7t7e3u8fHx7vb29u78/Pzu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vj4+O709PTu8PDw7urq6u7l5eXu4eHh7t/f3+7f39/u3t7e7t7e3u7e3t7u3d3d7t3d3e7d3d3u29vb7tra2u7Z2dnu19fX7tbW1u7V1dXu09PT7tLS0u7R0dHu0dHR7tHR0e7R0dHu0dHR7s/Pz+7Pz8/uz8/P7tHR0e7V1dXu2tra7t7e3u7j4+Pu5+fn7u3t7e7x8fHu9vb27vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+729vbu5ubm7tfX1+7Kysruu7u77q2tre6jo6PumZmZ7o6Oju6FhYXue3t77nBwcO5lZWXuXV1d7nZ2du6NjY3up6en7sDAwO7Z2dnu8fHx7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru3d3d7r+/v+6hoaHugoKC7mVlZe5JSUnuKioq7h8fH+44ODjuT09P7mVlZe5+fn7ulJSU7qysrO7Dw8Pu2dnZ6tnZ2cvZ2dms2dnZjdnZ2W7Z2dlO2dnZL9nZ2RDZ2dkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2trZFtra2ZLa2toK2trahtra2wba2tuCtra3uoaGh7pWVle6IiIjue3t77m9vb+5jY2PuVVVV7ldXV+5wcHDuioqK7qWlpe6/v7/u2tra7vT09O7////u////7v///+7////u////7v///+7////u////7v///+76+vru9vb27vT09O7w8PDu7Ozs7unp6e7m5ubu4eHh7t7e3u7h4eHu5+fn7u7u7u719fXu/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vr6+u76+vru/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u/Pz87vj4+O729vbu9vb27vb29u729vbu9vb27vX19e719fXu9fX17vLy8u7y8vLu8PDw7u7u7u7s7Ozu6urq7ufn5+7n5+fu5eXl7uXl5e7j4+Pu4+Pj7uLi4u7i4uLu4uLi7uHh4e7h4eHu5ubm7urq6u7u7u7u9PT07vb29u78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vDw8O7i4uLu1tbW7srKyu68vLzura2t7qCgoO6RkZHuhYWF7nd3d+5qamruW1tb7k9PT+5oaGjugoKC7p2dne64uLju09PT7u3t7e7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87t7e3u6/v7/uo6Oj7oSEhO5lZWXuSUlJ7ioqKu4fHx/uNjY27k1NTe5kZGTufHx87pSUlO6rq6vuwsLC7tfX1+rX19fL19fXrNfX143X19du19fXTtfX1y/X19cQ19fXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+vr4lvr6+Rb6+vmS+vr6Cvr6+ob6+vsG+vr7gtLS07qWlpe6WlpbuhYWF7nd3d+5oaGjuWVlZ7khISO5ISEjuZGRk7oCAgO6cnJzuuLi47tXV1e7x8fHu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u/f397vn5+e74+Pju+fn57v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u/Pz87vn5+e75+fnu+Pj47vb29u719fXu9fX17vT09O7y8vLu8vLy7vb29u76+vru/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+74+Pju7e3t7uPj4+7Z2dnuy8vL7rq6uu6oqKjulZWV7oWFhe5zc3PuYWFh7k9PT+5AQEDuW1tb7nd3d+6UlJTusLCw7szMzO7p6enu////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e7f39/uwMDA7qOjo+6EhITuZWVl7klJSe4qKiruHx8f7jY2Nu5NTU3uZGRk7nx8fO6SkpLuqamp7sDAwO7W1tbq1tbWy9bW1qzW1taN1tbWbtbW1k7W1tYv1tbWENbW1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxsbGJcbGxkXGxsZkxsbGgsbGxqHGxsbBxsbG4Lu7u+6pqanumJiY7oWFhe5zc3PuYWFh7lBQUO49PT3uPDw87llZWe53d3fulJSU7rGxse7Pz8/u7e3t7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u79/f3u/Pz87vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vb29u7u7u7u5eXl7tnZ2e7Dw8Pur6+v7pmZme6FhYXucHBw7ltbW+5FRUXuMjIy7lBQUO5ubm7ujIyM7qmpqe7Hx8fu5eXl7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u4eHh7sLCwu6kpKTuhYWF7mdnZ+5JSUnuKioq7h8fH+42NjbuTU1N7mRkZO58fHzukZGR7qioqO6/v7/u1dXV6tXV1cvV1dWs1dXVjdXV1W7V1dVO1dXVL9XV1RDV1dUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyCXIyMhFyMjIZMjIyILIyMihyMjIwcjIyOC8vLzuq6ur7piYmO6FhYXuc3Nz7mBgYO5PT0/uOjo67jk5Oe5XV1fudHR07pGRke6vr6/uy8vL7unp6e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u76+vru9vb27vLy8u7u7u7u7Ozs7urq6u7p6enu5+fn7ubm5u7m5ubu5eXl7uPj4+7l5eXu6urq7u7u7u719fXu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru9PT07urq6u7f39/uyMjI7rOzs+6cnJzuhoaG7nBwcO5bW1vuRERE7i8vL+5NTU3ua2tr7oiIiO6lpaXuw8PD7uHh4e7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7uLi4u7Dw8PupaWl7oaGhu5oaGjuSkpK7isrK+4fHx/uNjY27k1NTe5kZGTufHx87pGRke6oqKjuv7+/7tXV1erV1dXL1dXVrNXV1Y3V1dVu1dXVTtXV1S/V1dUQ1dXVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMvLywbLy8sly8vLRcvLy2TLy8uCy8vLocvLy8HLy8vgv7+/7qysrO6ZmZnuhYWF7nJycu5fX1/uTExM7jg4OO41NTXuU1NT7nBwcO6NjY3uq6ur7sjIyO7m5ubu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vr6+u74+Pju9vb27vT09O7x8fHu7u7u7u7u7u719fXu/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u+Pj47vHx8e7s7Ozu5ubm7uHh4e7a2tru1dXV7tHR0e7R0dHuz8/P7s/Pz+7Ozs7uzs7O7szMzO7Ly8vuzMzM7tXV1e7a2tru4uLi7unp6e7w8PDu+Pj47v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vj4+O7w8PDu5eXl7szMzO62trbun5+f7oiIiO5wcHDuWVlZ7kFBQe4rKyvuSUlJ7mdnZ+6FhYXuo6Oj7sDAwO7e3t7u/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7j4+PuxMTE7qenp+6IiIjuampq7kpKSu4rKyvuISEh7jg4OO5NTU3uZGRk7nx8fO6RkZHuqKio7r+/v+7T09Pq09PTy9PT06zT09ON09PTbtPT007T09Mv09PTENPT0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwGzMzMJczMzEXMzMxkzMzMgszMzKHMzMzBzMzM4MLCwu6tra3umZmZ7oWFhe5ycnLuXV1d7kpKSu41NTXuMjIy7lBQUO5ubm7uioqK7qioqO7ExMTu4uLi7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+vr67vb29u7x8fHu7u7u7unp6e7m5ubu4uLi7t/f3+7b29vu19fX7tPT0+7T09Pu3d3d7ufn5+7x8fHu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u719fXu7u7u7ufn5+7f39/u2dnZ7tLS0u7Kysruw8PD7ry8vO63t7fut7e37ra2tu62trbutLS07rS0tO60tLTus7Oz7ra2tu6+vr7uxsbG7s/Pz+7X19fu4eHh7unp6e7y8vLu+vr67v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u9fX17urq6u7S0tLuurq67qCgoO6JiYnucHBw7lhYWO5AQEDuKSkp7kZGRu5kZGTugYGB7p+fn+68vLzu2tra7vj4+O7////u////7v///+7////u////7v///+7////u////7v///+7////u5ubm7sbGxu6oqKjuiYmJ7mtra+5MTEzuLS0t7iEhIe44ODjuT09P7mRkZO58fHzukZGR7qioqO6/v7/u09PT6tPT08vT09Os09PTjdPT027T09NO09PTL9PT0xDT09MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/PBs/PzyXPz89Fz8/PZM/Pz4LPz8+hz8/Pwc/Pz+DDw8Pur6+v7pubm+6FhYXucHBw7lxcXO5ISEjuMjIy7i8vL+5MTEzuampq7oaGhu6kpKTuwsLC7t/f3+79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vn5+e719fXu8vLy7vLy8u729vbu+vr67v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u9vb27u7u7u7p6enu4uLi7tvb2+7W1tbu0tLS7szMzO7IyMjuw8PD7r6+vu66urruurq67sbGxu7T09Pu39/f7u3t7e75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vb29u7w8PDu5+fn7t/f3+7X19fuzs7O7sTExO68vLzutLS07qurq+6jo6PunZ2d7pycnO6cnJzunJyc7pycnO6cnJzunJyc7pycnO6dnZ3uqKio7rGxse68vLzuxsbG7tHR0e7b29vu5eXl7vDw8O709PTu+fn57v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u7w8PDu1tbW7ry8vO6jo6PuioqK7nJycu5XV1fuPT097iYmJu5ERETuYWFh7n9/f+6cnJzuurq67tfX1+719fXu////7v///+7////u////7v///+7////u////7v///+7////u////7ufn5+7IyMjuqamp7oqKiu5sbGzuTU1N7i4uLu4iIiLuOTk57k9PT+5lZWXufHx87pGRke6np6fuvr6+7tLS0urS0tLL0tLSrNLS0o3S0tJu0tLSTtLS0i/S0tIQ0tLSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANLS0gbS0tIl0tLSRdLS0mTS0tKC0tLSodLS0sHS0tLgxsbG7rCwsO6bm5vuhYWF7nBwcO5bW1vuRkZG7i8vL+4tLS3uSUlJ7mdnZ+6EhITuoaGh7r6+vu7b29vu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u+vr67vX19e7x8fHu7Ozs7ubm5u7m5ubu7Ozs7vDw8O719fXu+fn57v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u9fX17uzs7O7i4uLu2tra7tLS0u7Kysruw8PD7r6+vu63t7fusbGx7qurq+6lpaXun5+f7p+fn+6vr6/uv7+/7s/Pz+7e3t7u7u7u7v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vj4+O7t7e3u4+Pj7tra2u7R0dHuxsbG7ry8vO6xsbHuqKio7p2dne6UlJTuiYmJ7oSEhO6CgoLuhISE7oSEhO6EhITuhISE7oKCgu6EhITuhoaG7pGRke6dnZ3uqamp7ra2tu7CwsLuzMzM7tnZ2e7l5eXu6urq7vHx8e729vbu/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9vb27tvb2+7AwMDupaWl7oyMjO5ycnLuV1dX7jw8PO4jIyPuQUFB7l9fX+57e3vumJiY7ra2tu7T09Pu8fHx7v///+7////u////7v///+7////u////7v///+7////u////7v///+7p6enuysrK7qurq+6MjIzubm5u7k9PT+4vLy/uIyMj7jk5Oe5PT0/uZWVl7nx8fO6RkZHup6en7r6+vu7S0tLq0tLSy9LS0qzS0tKN0tLSbtLS0k7S0tIv0tLSENLS0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV1dUG1dXVJdXV1UXV1dVk1dXVgtXV1aHV1dXB1dXV4MfHx+6xsbHunJyc7oWFhe5vb2/uWVlZ7kRERO4tLS3uKSkp7kVFRe5jY2PugICA7p2dne67u7vu2dnZ7vb29u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+vr67vX19e7u7u7u5+fn7uLi4u7b29vu29vb7t/f3+7l5eXu7Ozs7vHx8e729vbu/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9vb27uzs7O7h4eHu1tbW7szMzO7CwsLuuLi47rCwsO6pqanuo6Oj7pycnO6UlJTujIyM7oWFhe6FhYXumJiY7qurq+6+vr7u0dHR7uPj4+729vbu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O7w8PDu4+Pj7tnZ2e7Ozs7uwsLC7ra2tu6pqanun5+f7pSUlO6IiIjufHx87nJycu5ra2vuampq7mtra+5ra2vua2tr7mxsbO5ra2vubGxs7m9vb+58fHzuiIiI7paWlu6kpKTusbGx7r+/v+7MzMzu2tra7uHh4e7n5+fu7u7u7vX19e78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O7f39/uw8PD7qioqO6NjY3ucnJy7lVVVe45OTnuHx8f7j09Pe5bW1vueHh47pWVle6zs7Pu0dHR7u7u7u7////u////7v///+7////u////7v///+7////u////7v///+7////u7Ozs7svLy+6srKzujY2N7m9vb+5QUFDuMTEx7iMjI+46OjruUFBQ7mVlZe58fHzukZGR7qenp+6+vr7u0dHR6tHR0cvR0dGs0dHRjdHR0W7R0dFO0dHRL9HR0RDR0dEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA19fXBtfX1yXX19dF19fXZNfX14LX19eh19fXwdfX1+DKysrus7Oz7pycnO6FhYXub29v7llZWe5CQkLuKysr7iYmJu5CQkLuYGBg7n5+fu6bm5vut7e37tXV1e7y8vLu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vb29u7w8PDu5+fn7t/f3+7X19fuz8/P7s/Pz+7V1dXu29vb7uLi4u7n5+fu7u7u7vX19e76+vru////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vHx8e7j4+Pu19fX7srKyu6+vr7usbGx7qenp+6dnZ3ulZWV7o2Nje6FhYXufHx87nR0dO5sbGzubGxs7oCAgO6Wlpbura2t7sLCwu7Z2dnu7u7u7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+719fXu6enp7tra2u7MzMzuwMDA7rOzs+6lpaXumJiY7oqKiu5/f3/ucnJy7mVlZe5YWFjuUFBQ7lBQUO5RUVHuU1NT7lNTU+5TU1PuU1NT7lRUVO5YWFjuZWVl7nR0dO6EhITukpKS7qGhoe6wsLDuv7+/7s/Pz+7W1tbu3t7e7ubm5u7t7e3u9fX17v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u5eXl7sfHx+6rq6vujY2N7nJycu5UVFTuODg47h0dHe46OjruWFhY7nR0dO6RkZHur6+v7szMzO7q6uru////7v///+7////u////7v///+7////u////7v///+7////u////7u3t7e7MzMzura2t7o6Oju5vb2/uUVFR7jIyMu4lJSXuOjo67lBQUO5lZWXufHx87pGRke6np6fuvr6+7tHR0erR0dHL0dHRrNHR0Y3R0dFu0dHRTtHR0S/R0dEQ0dHRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ2QbZ2dkl2dnZRdnZ2WTZ2dmC2dnZodnZ2cHZ2dngy8vL7rS0tO6cnJzuhYWF7m9vb+5YWFjuQUFB7ikpKe4jIyPuQEBA7l1dXe57e3vumJiY7rS0tO7S0tLu8PDw7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O7y8vLu6urq7uHh4e7X19fuzs7O7sTExO7Dw8PuysrK7tHR0e7Z2dnu39/f7ubm5u7u7u7u9fX17vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vn5+e7q6uru29vb7szMzO6+vr7usLCw7qGhoe6VlZXuioqK7oGBge54eHjub29v7mRkZO5bW1vuUVFR7lFRUe5qamrugoKC7pycnO60tLTuzs7O7ubm5u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u8PDw7uHh4e7R0dHuwsLC7rOzs+6kpKTulZWV7oaGhu54eHjua2tr7lxcXO5NTU3uPj4+7jY2Nu42NjbuODg47jk5Oe45OTnuOjo67jo6Ou48PDzuQEBA7lBQUO5gYGDucnJy7oGBge6SkpLuo6Oj7rOzs+7ExMTuzMzM7tbW1u7e3t7u5ubm7vDw8O74+Pju////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7unp6e7KysrurKys7o6Oju5ycnLuVFRU7jY2Nu4aGhruODg47lVVVe5ycnLujo6O7qysrO7Kysru5+fn7v///+7////u////7v///+7////u////7v///+7////u////7v///+7u7u7uzs7O7q+vr+6QkJDucHBw7lFRUe4yMjLuJSUl7jo6Ou5QUFDuZWVl7nx8fO6RkZHup6en7r6+vu7R0dHq0dHRy9HR0azR0dGN0dHRbtHR0U7R0dEv0dHRENHR0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2toD2traHtra2jra2tpW2tracNra2oza2tqo2traw8DAwNGsrKzVlpaW2YKCgtxubm7gWVlZ5EVFRecvLy/rKysr7kZGRu5hYWHufHx87piYmO6xsbHuzs7O7unp6e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u9vb27vDw8O7n5+fu39/f7tnZ2e7R0dHuyMjI7sDAwO64uLjuuLi47sDAwO7IyMju0tLS7tra2u7i4uLu6urq7vLy8u76+vru////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru7e3t7t7e3u7R0dHuwsLC7ra2tu6np6funJyc7pKSku6JiYnugYGB7np6eu5wcHDuaGho7mBgYO5gYGDud3d37o2Nje6lpaXuvLy87tXV1e7s7Ozu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vX19e7n5+fu2tra7szMzO6/v7/usbGx7qSkpO6WlpbuiYmJ7n9/f+5ycnLuZGRk7ldXV+5PT0/uUFBQ7lBQUO5RUVHuU1NT7lNTU+5UVFTuVVVV7lhYWO5nZ2fudnZ27oSEhO6SkpLuo6Oj7rGxse6/v7/uz8/P7tbW1u7f39/u5ubm7u3t7e729vbu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7t7e3uzs7O7rGxse6UlJTud3d37lhYWO46OjruHh4e7jo6Ou5XV1fucnJy7o2Nje6pqanuxMTE7uHh4e78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u8PDw7tHR0e6xsbHukpKS7nNzc+5UVFTuNTU17icnJ+49PT3uUVFR7mdnZ+58fHzukZGR7qenp+68vLzuz8/P6s/Pz8vPz8+sz8/Pjc/Pz27Pz89Oz8/PL8/PzxDPz88AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2traANra2hja2tow2traSNra2l7a2tp22trajtra2qa0tLS0o6OjvJCQkMN/f3/Lbm5u0lxcXNlKSkrhODg46DU1Ne5NTU3uZWVl7n9/f+6YmJjusLCw7srKyu7i4uLu+vr67v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u7y8vLu6urq7uLi4u7a2tru1dXV7szMzO7Hx8fuwMDA7rq6uu6zs7PurKys7q2tre63t7fuwMDA7srKyu7V1dXu3t7e7ufn5+7x8fHu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vDw8O7i4uLu1dXV7sfHx+67u7vura2t7qOjo+6bm5vulJSU7oyMjO6FhYXufn5+7nd3d+5vb2/ucHBw7oSEhO6bm5vusLCw7sbGxu7b29vu8fHx7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu8PDw7uPj4+7Z2dnuzMzM7sDAwO62trbuqamp7p2dne6SkpLuhoaG7nt7e+5wcHDuampq7mpqau5ra2vubGxs7mxsbO5ubm7ubm5u7m9vb+5zc3Puf39/7oyMjO6ZmZnupaWl7rS0tO7AwMDuzs7O7tvb2+7i4uLu6enp7vDw8O719fXu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u8fHx7tLS0u62trbumJiY7nt7e+5dXV3uQEBA7iUlJe4+Pj7uWVlZ7nJycu6MjIzupaWl7sDAwO7a2tru9PT07v39/e7////u////7v///+7////u////7v///+7////u////7vHx8e7S0tLus7Oz7pSUlO50dHTuVVVV7jY2Nu4pKSnuPj4+7lNTU+5oaGjufHx87pGRke6np6fuvLy87s/Pz+rPz8/Lz8/PrM/Pz43Pz89uz8/PTs/Pzy/Pz88Qz8/PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANra2gDa2toR2traJdra2jna2tpM2traYNra2nXa2tqJqKiol5mZmaKKioqufHx8uWxsbMRfX1/PUFBQ20BAQOY9PT3uVFRU7mtra+6BgYHumJiY7q+vr+7Gxsbu3d3d7vHx8e729vbu/f397v///+7////u////7v///+7////u////7v///+7////u////7vj4+O7s7Ozu4uLi7tfX1+7MzMzuxsbG7sDAwO67u7vutra27rCwsO6rq6vupaWl7qCgoO6jo6Pura2t7ri4uO7Dw8Puz8/P7tnZ2e7l5eXu8PDw7vn5+e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7y8vLu5ubm7tnZ2e7MzMzuwMDA7rOzs+6pqanuo6Oj7p2dne6WlpbukZGR7oqKiu6EhITuf39/7n9/f+6SkpLup6en7ru7u+7Ozs7u4uLi7vb29u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vn5+e7u7u7u4+Pj7tra2u7Pz8/uxsbG7ru7u+6wsLDuqKio7p2dne6SkpLuiYmJ7oSEhO6EhITuhYWF7oaGhu6GhobuiIiI7oiIiO6JiYnujIyM7paWlu6jo6Pura2t7rq6uu7Gxsbu0dHR7tvb2+7n5+fu7e3t7vT09O74+Pju/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vT09O7W1tbuurq67pycnO6AgIDuY2Nj7kVFRe4qKiruQkJC7ltbW+5zc3PuioqK7qOjo+67u7vu1dXV7uzs7O729vbu/Pz87v///+7////u////7v///+7////u////7v///+7y8vLu09PT7rS0tO6VlZXudnZ27ldXV+44ODjuKysr7kBAQO5UVFTuampq7n5+fu6SkpLup6en7ry8vO7Ozs7qzs7Oy87OzqzOzs6Nzs7Obs7Ozk7Ozs4vzs7OEM7OzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2toA2traCtra2hva2tor2traO9ra2kva2tpb2traa5ycnHqQkJCJhISEmHh4eKhsbGy2YGBgxVRUVNRISEjjRkZG7ltbW+5vb2/uhISE7piYmO6srKzuwsLC7tbW1u7p6enu8PDw7vb29u79/f3u////7v///+7////u////7v///+7////u////7vj4+O7s7Ozu3t7e7tLS0u7ExMTut7e37rCwsO6srKzuqKio7qSkpO6goKDunJyc7piYmO6UlJTumJiY7qSkpO6wsLDuvLy87srKyu7V1dXu4uLi7u7u7u75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9fX17urq6u7e3t7u0dHR7sbGxu66urrusbGx7qysrO6np6fuoaGh7p2dne6YmJjukpKS7o2Nje6Ojo7uoKCg7rOzs+7Gxsbu19fX7urq6u78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47vDw8O7n5+fu3t7e7tbW1u7Ozs7uxMTE7ry8vO60tLTuq6ur7qOjo+6dnZ3un5+f7p+fn+6goKDuoaGh7qGhoe6jo6PupKSk7qenp+6vr6/uurq67sPDw+7MzMzu19fX7t/f3+7q6uru9PT07vj4+O79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+74+Pju2tra7r6+vu6hoaHuhISE7mdnZ+5KSkruLy8v7kZGRu5dXV3uc3Nz7omJie6goKDut7e37s7Ozu7j4+Pu7u7u7vb29u79/f3u////7v///+7////u////7v///+7////u9PT07tXV1e62trbulpaW7nh4eO5ZWVnuOjo67i0tLe5BQUHuVVVV7mpqau5+fn7ukpKS7qenp+68vLzuzs7O6s7OzsvOzs6szs7Ojc7Ozm7Ozs5Ozs7OL87OzhDOzs4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2traANra2gTa2toR2traHdra2ina2to12traQtra2k6QkJBdiIiIcH9/f4N2dnaWbGxsqGNjY7tZWVnOUFBQ4VBQUO5hYWHudHR07oaGhu6ZmZnuq6ur7r6+vu7R0dHu4eHh7ufn5+7w8PDu9vb27v39/e7////u////7v///+7////u////7v7+/u7u7u7u39/f7tHR0e7CwsLusbGx7qOjo+6bm5vumJiY7pWVle6SkpLukJCQ7o2Nje6MjIzuiIiI7o2Nje6ZmZnuqKio7ra2tu7ExMTu0dHR7t/f3+7t7e3u+fn57v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vj4+O7t7e3u4uLi7tbW1u7Ly8vuv7+/7ri4uO60tLTusLCw7qysrO6pqanupKSk7qGhoe6dnZ3un5+f7q+vr+6/v7/u0dHR7uHh4e7x8fHu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu9fX17u3t7e7m5ubu39/f7tfX1+7S0tLuysrK7sPDw+68vLzuuLi47ri4uO66urruu7u77ru7u+68vLzuvLy87r6+vu7AwMDux8fH7s/Pz+7X19fu39/f7unp6e7w8PDu+Pj47v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87t7e3u7CwsLupaWl7oiIiO5sbGzuUFBQ7jU1Ne5JSUnuX19f7nR0dO6IiIjunZ2d7rOzs+7IyMju3d3d7ufn5+7w8PDu+Pj47v///+7////u////7v///+7////u////7vX19e7W1tbut7e37piYmO56enruW1tb7jw8PO4vLy/uRERE7ldXV+5ra2vuf39/7pKSku6np6fuu7u77s7OzurOzs7Lzs7OrM7Ozo3Ozs5uzs7OTs7Ozi/Ozs4Qzs7OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANra2gDa2toA2traBtra2g/a2toX2traH9ra2ija2toxhYWFQH9/f1d4eHhtcnJyhGtra5plZWWxX19fyFhYWN5YWFjuampq7np6eu6IiIjumZmZ7qmpqe66urruysrK7tnZ2e7h4eHu6enp7vHx8e74+Pju////7v///+7////u////7v///+729vbu5eXl7tPT0+7CwsLusLCw7p+fn+6NjY3uhYWF7oWFhe6EhITugoKC7oCAgO5/f3/uf39/7n5+fu6CgoLukJCQ7qCgoO6vr6/uv7+/7szMzO7b29vu7Ozs7vj4+O7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu8fHx7ubm5u7b29vu0dHR7sbGxu6/v7/uvLy87rq6uu63t7futLS07rGxse6vr6/urKys7q+vr+6+vr7uzMzM7tvb2+7p6enu+Pj47v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u+Pj47vHx8e7s7Ozu5ubm7uHh4e7a2tru1tbW7tLS0u7T09Pu09PT7tXV1e7W1tbu1tbW7tfX1+7Z2dnu29vb7uHh4e7m5ubu7e3t7vLy8u75+fnu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u7i4uLuxsbG7qmpqe6NjY3ucnJy7lVVVe46OjruTU1N7mFhYe50dHTuhoaG7pubm+6tra3uwsLC7tXV1e7h4eHu6urq7vT09O79/f3u////7v///+7////u////7v///+729vbu19fX7ri4uO6ZmZnue3t77lxcXO49PT3uMTEx7kVFRe5YWFjubGxs7n9/f+6UlJTup6en7ru7u+7MzMzqzMzMy8zMzKzMzMyNzMzMbszMzE7MzMwvzMzMEMzMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2toA2traANra2gDa2toA2traBdra2gra2toP2traE3p6eiN2dnY9cnJyWG9vb3Nra2uMZ2dnpmRkZMFgYGDcYWFh7nBwcO5+fn7uioqK7pmZme6np6futra27sPDw+7R0dHu2dnZ7uLi4u7q6uru8vLy7vz8/O7////u////7v///+7////u8PDw7tvb2+7IyMjutLS07qCgoO6MjIzueHh47nBwcO5ycnLucnJy7nJycu5wcHDucHBw7nJycu5ycnLueHh47oaGhu6YmJjuqKio7rq6uu7IyMju2dnZ7urq6u74+Pju/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vX19e7q6uru4eHh7tbW1u7MzMzux8fH7sbGxu7Dw8PuwsLC7sDAwO6/v7/uvr6+7ry8vO6/v7/uy8vL7tnZ2e7m5ubu8vLy7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vz8/O74+Pju8vLy7vDw8O7t7e3u7u7u7u7u7u7w8PDu8fHx7vHx8e7y8vLu9PT07vX19e75+fnu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u5ubm7svLy+6tra3ukZGR7nd3d+5bW1vuQEBA7lFRUe5kZGTudnZ27oaGhu6YmJjuqamp7ru7u+7MzMzu2dnZ7uPj4+7u7u7u+fn57v///+7////u////7v///+7////u+Pj47tnZ2e66urrum5ub7n5+fu5fX1/uQEBA7jQ0NO5GRkbuWVlZ7m5ubu6AgIDulJSU7qenp+67u7vuzMzM6szMzMvMzMyszMzMjczMzG7MzMxOzMzML8zMzBDMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANra2gDa2toA2traANra2gDa2toA2traANra2gBubm4GbGxsJGxsbEJra2tha2trfmpqapxqamq7aGho2Wtra+53d3fugoKC7o2Nje6ZmZnupaWl7rGxse6+vr7uyMjI7tLS0u7b29vu5eXl7u7u7u729vbu////7v///+7////u////7unp6e7S0tLuvLy87qWlpe6QkJDuenp67mRkZO5cXFzuXV1d7l9fX+5gYGDuYWFh7mFhYe5kZGTuZWVl7m5ubu5+fn7ukJCQ7qGhoe60tLTuxMTE7tbW1u7p6enu+Pj47v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+75+fnu8PDw7ubm5u7b29vu0tLS7s7Ozu7Ozs7uzs7O7szMzO7MzMzuzMzM7szMzO7MzMzuzs7O7tra2u7l5eXu8PDw7vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7urq6u7Pz8/us7Oz7paWlu58fHzuX19f7kVFRe5VVVXuZWVl7nZ2du6FhYXulZWV7qSkpO62trbuxMTE7tLS0u7e3t7u6enp7vX19e7////u////7v///+7////u////7vn5+e7a2truu7u77pycnO5/f3/uYGBg7kFBQe41NTXuSEhI7ltbW+5ubm7ugICA7pSUlO6np6fuu7u77szMzOrMzMzLzMzMrMzMzI3MzMxuzMzMTszMzC/MzMwQzMzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcnJyAHJych5ycnI9cnJyXXJycntycnKacnJyunJyctl0dHTufn5+7oWFhe6NjY3ulpaW7qCgoO6pqanusbGx7ru7u+7Gxsbu0dHR7tvb2+7n5+fu8vLy7v39/e7////u////7v///+7t7e3u19fX7sLCwu6tra3umJiY7oSEhO5vb2/uaGho7mtra+5sbGzubm5u7m9vb+5wcHDuc3Nz7nR0dO57e3vuioqK7pycnO6srKzuvLy87szMzO7d3d3u7u7u7vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vX19e7t7e3u4+Pj7tvb2+7X19fu19fX7tfX1+7X19fu19fX7tfX1+7X19fu19fX7tra2u7l5eXu7u7u7vj4+O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7u7u7u1dXV7rq6uu6fn5/uhYWF7mtra+5TU1PuX19f7mxsbO56enruhYWF7pGRke6dnZ3uq6ur7re3t+7ExMTu0tLS7uHh4e7u7u7u/Pz87v///+7////u////7v///+76+vru29vb7ry8vO6fn5/ugYGB7mNjY+5FRUXuOTk57kpKSu5dXV3ub29v7oGBge6VlZXup6en7rq6uu7Ly8vqy8vLy8vLy6zLy8uNy8vLbsvLy07Ly8svy8vLEMvLywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx8fAB8fHwefHx8PXx8fF18fHx7fHx8mnx8fLp8fHzZfn5+7oKCgu6IiIjujY2N7pSUlO6ZmZnun5+f7qSkpO6rq6vuuLi47sbGxu7T09Pu4eHh7u7u7u78/Pzu////7v///+7////u9PT07uLi4u7Pz8/uvLy87qurq+6YmJjuhYWF7n9/f+6BgYHugoKC7oSEhO6FhYXuhoaG7omJie6KiorukZGR7qCgoO6vr6/uvLy87svLy+7Z2dnu5+fn7vb29u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu9PT07u3t7e7l5eXu4uLi7uLi4u7i4uLu4uLi7uLi4u7i4uLu4uLi7uLi4u7l5eXu7e3t7vb29u7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u8vLy7tvb2+7CwsLuqamp7pGRke56enruY2Nj7mtra+50dHTufn5+7oWFhe6Ojo7ulpaW7p+fn+6np6futra27sbGxu7W1tbu5eXl7vX19e7////u////7v///+7////u+vr67t3d3e6/v7/uoKCg7oSEhO5nZ2fuSEhI7jw8PO5PT0/uYGBg7nJycu6CgoLulZWV7qenp+64uLjuyMjI6sjIyMvIyMisyMjIjcjIyG7IyMhOyMjIL8jIyBDIyMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFhYUAhYWFHoWFhT2FhYVdhYWFe4WFhZqFhYW6hYWF2YWFhe6IiIjuioqK7o2Nje6QkJDukpKS7pWVle6Wlpbum5ub7qurq+66urruysrK7tra2u7p6enu+fn57v///+7////u////7vz8/O7s7Ozu29vb7svLy+68vLzurKys7pycnO6WlpbumZmZ7pubm+6cnJzunZ2d7p+fn+6hoaHuo6Oj7qioqO60tLTuwMDA7szMzO7a2tru5eXl7vHx8e79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u719fXu7u7u7u3t7e7t7e3u7e3t7u3t7e7t7e3u7e3t7u3t7e7t7e3u8PDw7vb29u79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vb29u7h4eHuysrK7rS0tO6dnZ3uiIiI7nNzc+53d3fufHx87oGBge6FhYXuioqK7o6Oju6UlJTumJiY7qenp+64uLjuy8vL7t3d3e7u7u7u////7v///+7////u////7vz8/O7e3t7uwMDA7qOjo+6Ghobuampq7kxMTO5AQEDuUVFR7mFhYe5zc3PuhISE7pWVle6np6fuuLi47sfHx+rHx8fLx8fHrMfHx43Hx8dux8fHTsfHxy/Hx8cQx8fHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkJCQAJCQkB6QkJA9kJCQXZCQkHuQkJCakJCQupCQkNmOjo7ujo6O7o2Nje6NjY3ujIyM7oqKiu6KioruiYmJ7oqKiu6cnJzur6+v7sDAwO7S0tLu5eXl7vb29u7////u////7v///+7////u9vb27unp6e7b29vuzs7O7sDAwO6zs7Pur6+v7rGxse6zs7PutLS07ra2tu63t7fuurq67ru7u+7AwMDuysrK7tPT0+7d3d3u6enp7vLy8u78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vn5+e74+Pju+Pj47vj4+O74+Pju+Pj47vn5+e75+fnu+fn57vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu5+fn7tPT0+6/v7/uq6ur7paWlu6CgoLugoKC7oSEhO6FhYXuhYWF7oaGhu6GhobuiIiI7oiIiO6YmJjurKys7r+/v+7T09Pu5ubm7vr6+u7////u////7v///+78/Pzu39/f7sLCwu6lpaXuiYmJ7m5ubu5QUFDuRERE7lRUVO5kZGTudnZ27oWFhe6VlZXup6en7re3t+7GxsbqxsbGy8bGxqzGxsaNxsbGbsbGxk7GxsYvxsbGEMbGxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJubmwCbm5sem5ubPZubm12bm5t7m5ubmpubm7qbm5vZmJiY7pSUlO6QkJDujIyM7oiIiO6EhITugICA7nx8fO57e3vujo6O7qOjo+63t7fuy8vL7t/f3+709PTu////7v///+7////u////7v///+719fXu6urq7t/f3+7V1dXuysrK7sfHx+7Kysruy8vL7szMzO7Ozs7uz8/P7tLS0u7T09Pu19fX7t7e3u7m5ubu7u7u7vb29u7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7u7u7u7b29vuyMjI7re3t+6kpKTukpKS7o6Oju6MjIzuiYmJ7oaGhu6CgoLuf39/7n5+fu56enruiYmJ7p+fn+60tLTuysrK7t/f3+719fXu////7v///+7////u/f397uHh4e7Dw8PuqKio7oyMjO5wcHDuVFRU7khISO5XV1fuZ2dn7nd3d+6GhobulpaW7qWlpe62trbuxMTE6sTExMvExMSsxMTEjcTExG7ExMROxMTEL8TExBDExMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQApKSkHqSkpD2kpKRdpKSke6SkpJqkpKS6pKSk2aGhoe6bm5vukpKS7oyMjO6EhITufn5+7nd3d+5vb2/ua2tr7oGBge6YmJjura2t7sTExO7b29vu8vLy7v///+7////u////7v///+7////u////7vn5+e7y8vLu6enp7uHh4e7e3t7u4eHh7uLi4u7j4+Pu5eXl7ubm5u7p6enu6urq7u7u7u709PTu+fn57v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+719fXu4+Pj7tPT0+7Dw8Pus7Oz7qOjo+6bm5vulJSU7o2Nje6Ghobuf39/7nh4eO5ycnLuampq7nt7e+6RkZHuqamp7sLCwu7Z2dnu8fHx7v///+7////u////7v39/e7h4eHuxMTE7qmpqe6Ojo7uc3Nz7lhYWO5MTEzuW1tb7mpqau54eHjuhoaG7paWlu6lpaXutLS07sPDw+rDw8PLw8PDrMPDw43Dw8Nuw8PDTsPDwy/Dw8MQw8PDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr6+vAK+vrx6vr689r6+vXa+vr3uvr6+ar6+vuq+vr9mrq6vuoKCg7pWVle6MjIzugYGB7nd3d+5sbGzuYWFh7ltbW+50dHTujIyM7qWlpe6+vr7u19fX7vDw8O7////u////7v///+7////u////7v///+7////u////7v39/e74+Pju9vb27vn5+e76+vru/Pz87v39/e7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+vr67uzs7O7e3t7uz8/P7sLCwu6zs7Pup6en7pycnO6RkZHuhoaG7nx8fO5wcHDuZWVl7ltbW+5sbGzuhYWF7p+fn+64uLju0tLS7uzs7O7////u////7v///+7+/v7u4uLi7sfHx+6srKzukZGR7nd3d+5bW1vuT09P7l1dXe5sbGzue3t77oiIiO6WlpbupaWl7rS0tO7AwMDqwMDAy8DAwKzAwMCNwMDAbsDAwE7AwMAvwMDAEMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALq6ugC6uroeurq6Pbq6ul26urp7urq6mrq6urq6urrZtLS07qWlpe6ZmZnujIyM7n5+fu5wcHDuYWFh7lRUVO5KSkruZWVl7oGBge6cnJzut7e37tLS0u7t7e3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+719fXu6enp7tvb2+7Pz8/uw8PD7rOzs+6lpaXulZWV7oaGhu54eHjuaGho7ltbW+5KSkruXV1d7nh4eO6UlJTusLCw7svLy+7m5ubu////7v///+7////u/v7+7uPj4+7IyMjur6+v7pSUlO56enruX19f7lNTU+5gYGDub29v7nx8fO6JiYnulpaW7qWlpe6zs7Puv7+/6r+/v8u/v7+sv7+/jb+/v26/v79Ov7+/L7+/vxC/v78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/v78Av7+/Hr+/vz2/v79dv7+/e7+/v5q/v7+6v7+/2bq6uu6pqanum5ub7oqKiu57e3vubGxs7ltbW+5MTEzuQUFB7l1dXe56enrulZWV7rGxse7Ozs7u6urq7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+vr67vDw8O7l5eXu2tra7s7Ozu68vLzuq6ur7pmZme6IiIjud3d37mRkZO5TU1PuQUFB7lRUVO5wcHDujY2N7qmpqe7Gxsbu4uLi7v7+/u7////u////7v7+/u7j4+PuysrK7rCwsO6Wlpbufn5+7mRkZO5YWFjuZGRk7nJycu5+fn7uioqK7piYmO6kpKTusbGx7ry8vOq8vLzLvLy8rLy8vI28vLxuvLy8Try8vC+8vLwQvLy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwsLCAMLCwh7CwsI9wsLCXcLCwnvCwsKawsLCusLCwtm8vLzuq6ur7pubm+6Kioruenp67mpqau5YWFjuSEhI7jw8PO5YWFjudHR07pGRke6tra3uysrK7ubm5u7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O76+vru/Pz87v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7v39/e79/f3u/f397v7+/u79/f3u/v7+7v39/e7+/v7u/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vn5+e75+fnu/Pz87v39/e7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u719fXu6urq7uHh4e7W1tbuw8PD7rCwsO6cnJzuiYmJ7nd3d+5jY2PuUFBQ7j09Pe5PT0/ubGxs7omJie6lpaXuwsLC7t7e3u76+vru////7v///+79/f3u4+Pj7srKyu6zs7PumZmZ7oGBge5oaGjuXV1d7mhoaO50dHTugICA7oyMjO6YmJjupKSk7q+vr+66urrqurq6y7q6uqy6urqNurq6brq6uk66urovurq6ELq6ugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTExADExMQexMTEPcTExF3ExMR7xMTEmsTExLrExMTZvr6+7qysrO6bm5vuiYmJ7nh4eO5nZ2fuVVVV7kRERO44ODjuVFRU7nBwcO6MjIzuqamp7sbGxu7i4uLu/v7+7v///+7////u////7v///+7////u/f397vb29u7u7u7u5+fn7ufn5+7s7Ozu8PDw7vLy8u729vbu+fn57v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu+Pj47vT09O7w8PDu7Ozs7ufn5+7j4+Pu39/f7uPj4+7p6enu7u7u7vT09O75+fnu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vb29u719fXu9PT07vLy8u7x8fHu7u7u7u3t7e7s7Ozu6urq7unp6e7p6enu5+fn7ufn5+7m5ubu5eXl7uPj4+7j4+Pu4+Pj7uPj4+7l5eXu5eXl7ubm5u7m5ubu5+fn7unp6e7s7Ozu9PT07vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u9vb27u7u7u7m5ubu5ubm7unp6e7q6uru7u7u7vDw8O7y8vLu9fX17vj4+O78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+vr67vHx8e7n5+fu3t7e7sjIyO60tLTun5+f7oqKiu53d3fuYWFh7k1NTe44ODjuSkpK7mdnZ+6FhYXuoaGh7r6+vu7a2tru+Pj47v///+7////u+vr67uPj4+7Ly8vutLS07pycnO6FhYXubm5u7mNjY+5ubm7ueHh47oKCgu6NjY3umJiY7qOjo+6tra3ut7e36re3t8u3t7est7e3jbe3t263t7dOt7e3L7e3txC3t7cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGxsYAxsbGHsbGxj3GxsZdxsbGe8bGxprGxsa6xsbG2cDAwO6srKzum5ub7omJie53d3fuZWVl7lFRUe5AQEDuMjIy7k9PT+5sbGzuiIiI7qSkpO7CwsLu3t7e7vz8/O7////u////7v///+7////u+fn57vDw8O7m5ubu3d3d7tXV1e7T09Pu2dnZ7t3d3e7h4eHu5eXl7unp6e7t7e3u8vLy7vj4+O79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vb29u7x8fHu6urq7ubm5u7f39/u29vb7tbW1u7R0dHuy8vL7sbGxu7Kysru0tLS7tra2u7h4eHu6enp7vDw8O75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu8vLy7urq6u7i4uLu4eHh7t7e3u7d3d3u2tra7tfX1+7W1tbu09PT7tHR0e7R0dHuz8/P7s7Ozu7Ozs7uzMzM7svLy+7KysruysrK7srKyu7Ly8vuzMzM7szMzO7Pz8/uz8/P7tHR0e7S0tLu1tbW7uHh4e7q6uru9PT07v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu8vLy7ufn5+7e3t7u09PT7tLS0u7W1tbu2dnZ7t3d3e7f39/u4uLi7ubm5u7p6enu7u7u7vb29u7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u729vbu7u7u7ubm5u7Pz8/uuLi47qOjo+6MjIzud3d37mBgYO5KSkruNDQ07kZGRu5jY2PugICA7p2dne66urru19fX7vT09O7////u////7vn5+e7j4+PuzMzM7ra2tu6fn5/uiYmJ7nNzc+5oaGjucnJy7nt7e+6EhITujo6O7piYmO6hoaHuq6ur7rS0tOq0tLTLtLS0rLS0tI20tLRutLS0TrS0tC+0tLQQtLS0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjIAMjIyB7IyMg9yMjIXcjIyHvIyMiayMjIusjIyNnCwsLura2t7pycnO6IiIjudnZ27mNjY+5PT0/uPDw87i4uLu5KSkruZ2dn7oSEhO6goKDuvr6+7tra2u74+Pju////7v///+7////u+fn57u3t7e7i4uLu19fX7svLy+7AwMDuwMDA7sbGxu7Kysruz8/P7tPT0+7Z2dnu3t7e7uPj4+7p6enu8fHx7vn5+e7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vLy8u7p6enu4eHh7tra2u7V1dXuzMzM7sfHx+6/v7/uurq67rOzs+6srKzusbGx7ru7u+7ExMTuzs7O7tfX1+7i4uLu7Ozs7vX19e79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+75+fnu7u7u7uPj4+7Z2dnuz8/P7svLy+7IyMjuxsbG7sPDw+7AwMDuvr6+7ru7u+63t7fut7e37ra2tu60tLTutLS07rOzs+6xsbHusLCw7rCwsO6wsLDusbGx7rS0tO60tLTut7e37ri4uO66urruu7u77sLCwu7Ozs7u2tra7ubm5u7y8vLu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u8vLy7ubm5u7a2truzMzM7sDAwO6/v7/uw8PD7sfHx+7Ly8vuz8/P7tPT0+7X19fu29vb7uLi4u7s7Ozu9fX17v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vX19e7t7e3u1dXV7r6+vu6lpaXujY2N7nd3d+5fX1/uSEhI7i8vL+5BQUHuX19f7nx8fO6ZmZnutra27tPT0+7w8PDu////7v///+74+Pju4uLi7szMzO64uLjuoaGh7o2Nje54eHjubm5u7nZ2du5/f3/uhoaG7pCQkO6YmJjuoaGh7qmpqe6xsbHqsbGxy7GxsayxsbGNsbGxbrGxsU6xsbEvsbGxELGxsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMvLywDLy8sey8vLPcvLy13Ly8t7y8vLmsvLy7rLy8vZxMTE7q+vr+6cnJzuiIiI7nR0dO5gYGDuTExM7jg4OO4pKSnuRUVF7mNjY+5/f3/unJyc7rq6uu7W1tbu9PT07v///+7////u/Pz87vDw8O7i4uLu1dXV7sfHx+66urrurKys7qysrO6xsbHuuLi47ry8vO7Dw8PuyMjI7s7Ozu7T09Pu29vb7ubm5u7u7u7u+fn57v///+7////u////7v///+7////u////7v///+7////u/Pz87vHx8e7n5+fu3d3d7tLS0u7KysruwsLC7rq6uu6zs7Puqamp7qOjo+6bm5vukpKS7pmZme6lpaXusLCw7ry8vO7Hx8fu09PT7t/f3+7q6uru9PT07vr6+u7////u////7v///+7////u////7v///+7////u////7v///+76+vru7u7u7uLi4u7T09Pux8fH7ru7u+63t7fus7Oz7rCwsO6tra3uqamp7qWlpe6jo6Pun5+f7p2dne6dnZ3unJyc7pubm+6ZmZnumJiY7paWlu6WlpbulpaW7piYmO6bm5vunJyc7p+fn+6goKDuo6Oj7qWlpe6srKzuu7u77srKyu7Z2dnu5+fn7vj4+O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47unp6e7a2truy8vL7ry8vO6tra3urKys7rGxse62trbuu7u77r6+vu7Dw8PuyMjI7szMzO7V1dXu39/f7urq6u729vbu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu9fX17tvb2+7CwsLuqKio7pCQkO53d3fuXFxc7kRERO4qKiruPT097llZWe54eHjulZWV7rGxse7Pz8/u7e3t7v///+7////u9vb27uLi4u7Ozs7uurq67qWlpe6RkZHufn5+7nNzc+57e3vugoKC7omJie6RkZHumJiY7qCgoO6np6fur6+v6q+vr8uvr6+sr6+vja+vr26vr69Or6+vL6+vrxCvr68AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOzs4Azs7OHs7Ozj3Ozs5dzs7Oe87OzprOzs66zs7O2cbGxu6wsLDunJyc7oaGhu5zc3PuXV1d7khISO40NDTuJSUl7kFBQe5dXV3ue3t77piYmO62trbu0tLS7vDw8O7////u////7vX19e7m5ubu1tbW7sfHx+63t7fuqKio7pmZme6YmJjun5+f7qWlpe6rq6vusbGx7ri4uO6+vr7uxMTE7s7Ozu7a2tru5eXl7vDw8O78/Pzu////7v///+7////u////7v///+7////u////7vT09O7n5+fu29vb7s/Pz+7Dw8PuuLi47rCwsO6np6funZ2d7pSUlO6MjIzugYGB7np6eu6BgYHujo6O7pycnO6pqanut7e37sTExO7T09Pu39/f7urq6u7y8vLu+fn57v///+7////u////7v///+7////u////7v///+7////u8vLy7uPj4+7V1dXuxMTE7ra2tu6np6fuo6Oj7p+fn+6bm5vulpaW7pKSku6Ojo7uiYmJ7oWFhe6FhYXuhISE7oKCgu6BgYHugICA7n9/f+5+fn7ufHx87n5+fu6AgIDugoKC7oSEhO6IiIjuiYmJ7oyMjO6Ojo7ulpaW7qioqO66urruy8vL7t3d3e7u7u7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vDw8O7e3t7uzs7O7ry8vO6srKzum5ub7pmZme6fn5/upKSk7qmpqe6tra3us7Oz7rq6uu6/v7/ux8fH7tXV1e7h4eHu7u7u7vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e7i4uLux8fH7qysrO6RkZHud3d37ltbW+5BQUHuJiYm7jg4OO5VVVXudHR07pGRke6tra3uy8vL7unp6e7////u////7vX19e7i4uLuzs7O7ru7u+6oqKjulZWV7oKCgu54eHjuf39/7oWFhe6MjIzukpKS7piYmO6goKDupaWl7qysrOqsrKzLrKysrKysrI2srKxurKysTqysrC+srKwQrKysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/PAM/Pzx7Pz889z8/PXc/Pz3vPz8+az8/Pus/Pz9nHx8fusbGx7pycnO6GhobucnJy7lxcXO5FRUXuMTEx7h8fH+48PDzuWVlZ7nd3d+6UlJTusbGx7s/Pz+7s7Ozu////7v39/e7t7e3u3d3d7svLy+66urruqKio7paWlu6FhYXuhISE7oyMjO6SkpLumZmZ7qCgoO6oqKjur6+v7ra2tu7AwMDuzs7O7tra2u7n5+fu9fX17v///+7////u////7v///+7////u////7vr6+u7t7e3u3t7e7tHR0e7CwsLutLS07qioqO6fn5/ulJSU7omJie5/f3/udnZ27mpqau5gYGDuaGho7nh4eO6GhobulpaW7qWlpe62trbuxsbG7tXV1e7h4eHu6urq7vLy8u78/Pzu////7v///+7////u////7v///+7////u/f397urq6u7Z2dnux8fH7ra2tu6kpKTukpKS7o2Nje6JiYnuhYWF7oCAgO58fHzud3d37nJycu5ubm7ubGxs7mtra+5qamruaGho7mdnZ+5lZWXuZGRk7mNjY+5kZGTuZ2dn7mtra+5sbGzucHBw7nNzc+52dnbueHh47oKCgu6VlZXuqamp7r6+vu7R0dHu5ubm7vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u7p6enu1dXV7sLCwu6tra3um5ub7oiIiO6GhobujIyM7pKSku6YmJjunZ2d7qSkpO6pqanusLCw7rq6uu7IyMju19fX7ubm5u709PTu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u5+fn7svLy+6vr6/ukpKS7nd3d+5ZWVnuPj4+7iIiIu40NDTuUVFR7nBwcO6NjY3uq6ur7sfHx+7l5eXu////7v///+7y8vLu4uLi7s/Pz+6+vr7uq6ur7piYmO6IiIjuf39/7oKCgu6JiYnujY2N7pSUlO6YmJjun5+f7qSkpO6pqanqqampy6mpqaypqamNqampbqmpqU6pqakvqampEKmpqQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANLS0gDS0tIe0tLSPdLS0l3S0tJ70tLSmtLS0rrS0tLZysrK7rOzs+6dnZ3uhoaG7nJycu5bW1vuRERE7i4uLu4dHR3uOTk57ldXV+50dHTukJCQ7q2tre7Ly8vu5+fn7v///+75+fnu5+fn7tbW1u7ExMTusbGx7qCgoO6Ojo7ufHx87nt7e+6CgoLuiYmJ7pCQkO6Wlpbun5+f7qSkpO6srKzut7e37sbGxu7T09Pu4uLi7vHx8e7+/v7u////7v///+7////u////7v///+74+Pju6enp7tnZ2e7Ly8vuu7u77q2tre6hoaHulpaW7oqKiu6BgYHudnZ27mtra+5fX1/uVVVV7l1dXe5vb2/uf39/7o6Oju6fn5/usLCw7sDAwO7R0dHu3d3d7ubm5u7w8PDu+fn57v///+7////u////7v///+7////u////7vr6+u7m5ubu1dXV7sLCwu6vr6/unJyc7omJie6EhITugICA7nx8fO53d3fucnJy7mxsbO5nZ2fuYWFh7mBgYO5fX1/uXV1d7lxcXO5bW1vuWVlZ7lhYWO5XV1fuWFhY7ltbW+5fX1/uYWFh7mVlZe5oaGjubGxs7m9vb+56enrujY2N7qOjo+63t7fuzMzM7uLi4u74+Pju////7v///+7////u////7v///+7////u////7v///+7////u////7v///+75+fnu5eXl7tHR0e68vLzuqKio7pWVle6AgIDuf39/7oWFhe6MjIzukpKS7paWlu6dnZ3upKSk7qurq+62trbuxMTE7tPT0+7i4uLu8fHx7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7u3t7e7Pz8/usbGx7pSUlO53d3fuWVlZ7j09Pe4fHx/uMTEx7k9PT+5ubm7uiYmJ7qenp+7ExMTu4eHh7v7+/u7////u8fHx7uHh4e7Pz8/uv7+/7q2tre6cnJzujIyM7oSEhO6GhobujIyM7pCQkO6VlZXumJiY7p2dne6hoaHup6en6qenp8unp6esp6enjaenp26np6dOp6enL6enpxCnp6cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADT09MA09PTHtPT0z3T09Nd09PTe9PT05rT09O609PT2cvLy+62trbuoKCg7omJie50dHTuXV1d7khISO4yMjLuISEh7jw8PO5YWFjudHR07o6Oju6rq6vux8fH7uPj4+7////u9fX17ufn5+7Z2dnuysrK7rq6uu6rq6vunJyc7o2Nje6MjIzukZGR7paWlu6bm5vun5+f7qSkpO6oqKjura2t7re3t+7Gxsbu09PT7uLi4u7x8fHu/v7+7v///+7////u////7v///+7////u/f397vHx8e7i4uLu1tbW7sjIyO67u7vusLCw7qenp+6dnZ3ulJSU7omJie6AgIDudnZ27mxsbO50dHTuhISE7pGRke6goKDur6+v7r6+vu7MzMzu29vb7ubm5u7u7u7u9vb27v7+/u7////u////7v///+7////u////7v///+7////u7u7u7t7e3u7Ozs7uvLy87qysrO6cnJzulpaW7pGRke6Ojo7uiYmJ7oSEhO6AgIDue3t77nZ2du50dHTudHR07nNzc+5ycnLucnJy7nBwcO5vb2/ubm5u7m9vb+5ycnLudnZ27nh4eO57e3vufn5+7oGBge6EhITujIyM7p+fn+6xsbHuxMTE7tfX1+7q6uru/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7u7u7u7b29vuy8vL7ri4uO6oqKjulZWV7pSUlO6ZmZnuoKCg7qWlpe6pqanur6+v7ra2tu67u7vuxMTE7tLS0u7e3t7u7Ozs7vj4+O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7x8fHu09PT7ra2tu6YmJjue3t77l1dXe5BQUHuIyMj7jQ0NO5QUFDubm5u7oiIiO6kpKTuwMDA7t3d3e75+fnu/Pz87u3t7e7e3t7uzs7O7r+/v+6vr6/uoKCg7pGRke6IiIjuioqK7o6Oju6RkZHulZWV7piYmO6bm5vunZ2d7qGhoeqhoaHLoaGhrKGhoY2hoaFuoaGhTqGhoS+hoaEQoaGhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1tbWANbW1h7W1tY91tbWXdbW1nvW1taa1tbWutbW1tnOzs7ut7e37qGhoe6MjIzud3d37mFhYe5KSkruNTU17iMjI+49PT3uWFhY7nR0dO6NjY3uqKio7sPDw+7e3t7u+fn57vHx8e7m5ubu2tra7s7Ozu7Dw8Put7e37qurq+6fn5/unJyc7qCgoO6jo6PupKSk7qioqO6rq6vurKys7rCwsO64uLjuxsbG7tPT0+7i4uLu8fHx7v7+/u7////u////7v///+7////u////7v///+74+Pju7Ozs7uHh4e7V1dXuysrK7sDAwO64uLjur6+v7qenp+6dnZ3ulZWV7oyMjO6EhITuioqK7piYmO6kpKTusbGx7r+/v+7Ly8vu2dnZ7ubm5u7w8PDu9vb27v39/e7////u////7v///+7////u////7v///+7////u////7vb29u7n5+fu2tra7srKyu68vLzura2t7qmpqe6kpKTuoaGh7pycnO6YmJjukpKS7o6Oju6KioruiYmJ7oiIiO6IiIjuiIiI7oaGhu6FhYXuhYWF7oSEhO6FhYXuiIiI7oqKiu6NjY3ukZGR7pKSku6VlZXumJiY7qCgoO6wsLDuwMDA7tHR0e7h4eHu8vLy7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+729vbu5+fn7tnZ2e7IyMjuu7u77qurq+6pqanur6+v7rOzs+64uLjuvLy87sLCwu7Gxsbuy8vL7tPT0+7e3t7u6enp7vX19e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9PT07tbW1u66urrunJyc7n9/f+5hYWHuRERE7icnJ+42NjbuUVFR7m5ubu6IiIjuo6Oj7ry8vO7X19fu8vLy7vb29u7p6enu29vb7szMzO6/v7/usLCw7qOjo+6VlZXujY2N7o6Oju6RkZHukpKS7pWVle6WlpbumZmZ7pubm+6dnZ3qnZ2dy52dnaydnZ2NnZ2dbp2dnU6dnZ0vnZ2dEJ2dnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX1wDX19ce19fXPdfX113X19d719fXmtfX17rX19fZz8/P7rq6uu6kpKTujo6O7np6eu5kZGTuTU1N7jg4OO4nJyfuQEBA7llZWe50dHTujIyM7qenp+6/v7/u2tra7vT09O7u7u7u5ubm7t3d3e7T09Puy8vL7sLCwu66urrusLCw7q2tre6tra3ur6+v7q+vr+6wsLDusbGx7rCwsO6xsbHuuLi47sfHx+7V1dXu4+Pj7vHx8e7////u////7v///+7////u////7v///+7////u/v7+7vX19e7s7Ozu4eHh7tnZ2e7Pz8/uyMjI7sDAwO66urrusbGx7qurq+6jo6Pum5ub7qGhoe6tra3uuLi47sPDw+7Ozs7u2tra7uXl5e7w8PDu+fn57v7+/u7////u////7v///+7////u////7v///+7////u////7v///+79/f3u8fHx7uXl5e7X19fuzMzM7r+/v+67u7vut7e37rS0tO6wsLDuq6ur7qenp+6jo6Pun5+f7p2dne6dnZ3unZ2d7p2dne6cnJzunJyc7pycnO6bm5vunJyc7p+fn+6hoaHuo6Oj7qenp+6oqKjuq6ur7q2tre60tLTuwsLC7tHR0e7e3t7u7Ozs7vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vLy8u7m5ubu2dnZ7szMzO7AwMDuv7+/7sPDw+7Hx8fuy8vL7s/Pz+7T09Pu19fX7tvb2+7h4eHu7Ozs7vT09O79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vj4+O7a2truvLy87p+fn+6BgYHuZGRk7khISO4qKiruOTk57lNTU+5ubm7uhoaG7qCgoO66urru09PT7u3t7e7x8fHu5eXl7tnZ2e7Ly8vuv7+/7rOzs+6lpaXum5ub7pKSku6SkpLulJSU7pSUlO6VlZXulpaW7paWlu6YmJjumZmZ6pmZmcuZmZmsmZmZjZmZmW6ZmZlOmZmZL5mZmRCZmZkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ2dkA2dnZHtnZ2T3Z2dld2dnZe9nZ2ZrZ2dm62dnZ2dLS0u67u7vup6en7pGRke58fHzuZ2dn7lFRUe48PDzuKioq7kJCQu5bW1vudHR07oqKiu6kpKTuvLy87tXV1e7t7e3u6urq7uXl5e7f39/u2dnZ7tPT0+7MzMzux8fH7sLCwu6/v7/uvLy87ry8vO66urruuLi47re3t+62trbutLS07rq6uu7Hx8fu1dXV7uPj4+7y8vLu////7v///+7////u////7v///+7////u////7v///+7+/v7u9vb27u7u7u7m5ubu39/f7tra2u7T09PuzMzM7sbGxu7AwMDuuLi47rOzs+64uLjuwsLC7svLy+7V1dXu3t7e7ufn5+7y8vLu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u7x8fHu5ubm7t3d3e7S0tLuzs7O7srKyu7Hx8fuw8PD7r+/v+67u7vut7e37rOzs+6zs7Pus7Oz7rOzs+6zs7Pus7Oz7rGxse6xsbHus7Oz7rS0tO62trbut7e37rq6uu68vLzuvr6+7sDAwO7CwsLuyMjI7tPT0+7f39/u7Ozs7vb29u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u9PT07urq6u7f39/u1tbW7tXV1e7Z2dnu29vb7t/f3+7h4eHu5eXl7ufn5+7s7Ozu8PDw7vj4+O7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru3d3d7sDAwO6jo6PuhYWF7mhoaO5KSkruLi4u7jw8PO5UVFTubm5u7oWFhe6dnZ3utra27s7Ozu7m5ubu6urq7t/f3+7W1tbuysrK7r+/v+60tLTuqamp7p+fn+6YmJjulpaW7paWlu6VlZXulpaW7pWVle6VlZXulJSU7pSUlOqUlJTLlJSUrJSUlI2UlJRulJSUTpSUlC+UlJQQlJSUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vbANvb2x7b29s929vbXdvb23vb29ua29vbutvb29nT09Puvr6+7qmpqe6UlJTuf39/7mpqau5UVFTuPj4+7i4uLu5FRUXuXFxc7nR0dO6JiYnuoaGh7ri4uO7Pz8/u5+fn7ubm5u7l5eXu4uLi7t7e3u7b29vu2dnZ7tbW1u7T09Puz8/P7svLy+7IyMjuxMTE7sDAwO6+vr7uurq67ra2tu66urrux8fH7tXV1e7j4+Pu8vLy7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru9fX17vDw8O7q6uru5eXl7t/f3+7a2tru1tbW7s/Pz+7Ly8vuz8/P7tfX1+7e3t7u5ubm7u7u7u729vbu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vT09O7t7e3u4+Pj7uHh4e7d3d3u2tra7tbW1u7T09Puz8/P7svLy+7IyMjux8fH7sfHx+7IyMjuyMjI7sjIyO7IyMjuyMjI7srKyu7Ly8vuzMzM7s7Ozu7Pz8/u0tLS7tPT0+7V1dXu19fX7tvb2+7l5eXu7u7u7vj4+O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru8vLy7uzs7O7q6uru7e3t7vDw8O7y8vLu9PT07vb29u75+fnu/Pz87v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7uHh4e7ExMTup6en7omJie5sbGzuT09P7jIyMu4+Pj7uVVVV7m5ubu6EhITum5ub7rGxse7Kysru4eHh7uXl5e7b29vu09PT7sjIyO6/v7/utra27qysrO6kpKTunJyc7pubm+6ZmZnulpaW7paWlu6UlJTukpKS7pGRke6QkJDqkJCQy5CQkKyQkJCNkJCQbpCQkE6QkJAvkJCQEJCQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN3d3QDd3d0e3d3dPd3d3V3d3d173d3dmt3d3brd3d3Z1tbW7r+/v+6rq6vulpaW7oGBge5sbGzuWFhY7kJCQu4yMjLuRkZG7l1dXe50dHTuiIiI7p+fn+60tLTuy8vL7uHh4e7j4+Pu4+Pj7uPj4+7j4+Pu5eXl7uPj4+7l5eXu5eXl7uHh4e7a2tru1dXV7s7Ozu7KysruxMTE7r6+vu64uLjuu7u77sjIyO7W1tbu5eXl7vLy8u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u/Pz87vj4+O7y8vLu7u7u7uzs7O7m5ubu4uLi7ubm5u7s7Ozu8vLy7vj4+O7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vb29u7y8vLu8PDw7u3t7e7q6uru5ubm7uPj4+7f39/u3d3d7t3d3e7d3d3u3t7e7t7e3u7f39/u39/f7t/f3+7h4eHu4uLi7uPj4+7l5eXu5ubm7ufn5+7p6enu6urq7uzs7O7w8PDu9vb27v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7l5eXux8fH7qmpqe6MjIzub29v7lNTU+41NTXuQUFB7ldXV+5ubm7ugoKC7pmZme6vr6/uxMTE7tra2u7f39/u19fX7tHR0e7Hx8fuv7+/7re3t+6wsLDuqKio7qGhoe6fn5/unJyc7piYmO6WlpbulJSU7pGRke6NjY3ujIyM6oyMjMuMjIysjIyMjYyMjG6MjIxOjIyML4yMjBCMjIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADe3t4A3t7eHt7e3j3e3t5d3t7ee97e3pre3t663t7e2dfX1+7CwsLura2t7pmZme6EhITub29v7ltbW+5FRUXuNTU17klJSe5fX1/udHR07oaGhu6cnJzusLCw7sbGxu7b29vu39/f7uPj4+7m5ubu6enp7u3t7e7w8PDu8vLy7vX19e7y8vLu6enp7uLi4u7Z2dnu0tLS7srKyu7CwsLuurq67ru7u+7IyMju1tbW7uXl5e7y8vLu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vr6+u79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vr6+u74+Pju9PT07vHx8e7x8fHu8vLy7vT09O709PTu9fX17vX19e729vbu+Pj47vn5+e76+vru+vr67vz8/O79/f3u/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u5+fn7svLy+6tra3ukJCQ7nNzc+5VVVXuOTk57kRERO5YWFjubm5u7oGBge6Wlpbuq6ur7sDAwO7V1dXu2dnZ7tPT0+7MzMzuxsbG7r+/v+64uLjus7Oz7qysrO6np6fuo6Oj7p+fn+6ZmZnulpaW7pKSku6Ojo7uioqK7oiIiOqIiIjLiIiIrIiIiI2IiIhuiIiIToiIiC+IiIgQiIiIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4eHhAOHh4R3h4eE84eHhXOHh4Xnh4eGY4eHhuOHh4dfZ2dnsw8PD7LCwsOycnJzshoaG7XNzc+1fX1/tSUlJ7Tk5Oe5MTEzuYGBg7nR0dO6FhYXumZmZ7qysrO7AwMDu1dXV7tvb2+7i4uLu5+fn7u3t7e709PTu+fn57v///+7////u////7vj4+O7u7u7u4+Pj7tra2u7R0dHuxsbG7ry8vO68vLzuysrK7tfX1+7m5ubu9PT07v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7uzs7O7Pz8/usbGx7pSUlO53d3fuWVlZ7j09Pe5GRkbuW1tb7m5ubu6BgYHulJSU7qenp+67u7vuzs7O7tPT0+7Pz8/uysrK7sTExO6/v7/uurq67re3t+6xsbHurKys7qenp+6hoaHunJyc7paWlu6RkZHujIyM7oaGhu6CgoLqgoKCy4KCgqyCgoKNgoKCboKCgk6CgoIvgoKCEIKCggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4QDh4eEX4eHhMuHh4U7h4eFo4eHhg+Hh4Z/h4eG61dXVzsLCwtKwsLDWn5+f2oyMjN57e3viampq5ldXV+pISEjuV1dX7mdnZ+53d3fuhYWF7pWVle6kpKTutLS07sTExO7MzMzu1tbW7t7e3u7m5ubu8PDw7vj4+O7////u////7v///+79/f3u9fX17urq6u7i4uLu2tra7tHR0e7Hx8fux8fH7tPT0+7e3t7u7Ozs7vb29u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7w8PDu1dXV7rq6uu6dnZ3ugoKC7mdnZ+5NTU3uU1NT7mNjY+5ycnLugYGB7pGRke6goKDusLCw7r+/v+7ExMTuw8PD7sDAwO6+vr7uu7u77ri4uO63t7futLS07rCwsO6pqanuo6Oj7pycnO6WlpbukJCQ7omJie6CgoLufn5+6n5+fst+fn6sfn5+jX5+fm5+fn5Ofn5+L35+fhB+fn4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eEA4eHhEuHh4Snh4eFB4eHhV+Hh4W/h4eGH4eHhns/Pz7C/v7+4sLCwv6GhoceRkZHPgYGB13Nzc99jY2PmV1dX7mFhYe5ubm7uenp67oWFhe6RkZHunJyc7qioqO60tLTuv7+/7svLy+7V1dXu39/f7uzs7O729vbu////7v///+7////u////7vz8/O7y8vLu7Ozs7uPj4+7a2tru09PT7tLS0u7b29vu5ubm7vDw8O76+vru////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9PT07tvb2+7AwMDup6en7o2Nje50dHTuXFxc7mBgYO5sbGzud3d37oKCgu6Ojo7umZmZ7qWlpe6wsLDutra27re3t+63t7fut7e37re3t+63t7fuuLi47ri4uO62trbura2t7qWlpe6dnZ3ulpaW7o6Oju6Ghobuf39/7nh4eOp4eHjLeHh4rHh4eI14eHhueHh4Tnh4eC94eHgQeHh4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4eHhAOHh4Qzh4eEf4eHhNOHh4Ubh4eFa4eHhbuHh4YHKysqSvLy8nbCwsKmjo6O1lZWVwImJicx+fn7YcHBw42VlZe5sbGzudnZ27n5+fu6EhITujIyM7pSUlO6cnJzupaWl7rCwsO6/v7/uzMzM7tra2u7n5+fu9fX17v///+7////u////7v///+7////u+vr67vT09O7t7e3u5eXl7t7e3u7d3d3u5eXl7u3t7e719fXu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vj4+O7h4eHuyMjI7rCwsO6ZmZnugYGB7mtra+5sbGzudHR07nt7e+6CgoLuioqK7pKSku6bm5vuoaGh7qenp+6rq6vura2t7rCwsO6zs7Putra27rq6uu68vLzuu7u77rGxse6oqKjun5+f7pWVle6MjIzugoKC7np6eu5zc3Pqc3Nzy3Nzc6xzc3ONc3NzbnNzc05zc3Mvc3NzEHNzcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4QDh4eEG4eHhFuHh4Sbh4eE14eHhReHh4VXh4eFlxsbGdLu7u4OwsLCTpaWlopubm7GRkZHBhoaG0Hx8fOBzc3Pud3d37nx8fO6AgIDuhISE7oiIiO6MjIzukJCQ7pWVle6jo6Pus7Oz7sPDw+7T09Pu4+Pj7vT09O7////u////7v///+7////u////7v///+78/Pzu9vb27vDw8O7p6enu6enp7u7u7u709PTu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu5ubm7tHR0e67u7vupKSk7o6Oju56enrueHh47nx8fO6AgIDuhISE7oiIiO6MjIzukJCQ7pSUlO6ZmZnun5+f7qSkpO6pqanur6+v7rS0tO66urruwMDA7r+/v+60tLTuqamp7p+fn+6VlZXuioqK7oCAgO52dnbubm5u6m5ubstubm6sbm5ujW5ubm5ubm5Obm5uL25ubhBubm4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eEA4eHhAeHh4Qzh4eEZ4eHhJOHh4TDh4eE94eHhSMDAwFa4uLhpsLCwfKioqJCgoKCimJiYtZGRkcmJiYncgYGB7oGBge6CgoLugoKC7oSEhO6EhITuhISE7oWFhe6FhYXulZWV7qioqO66urruzMzM7t7e3u7x8fHu////7v///+7////u////7v///+7////u////7v///+75+fnu9PT07vT09O729vbu/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7u3t7e7X19fuxMTE7rCwsO6cnJzuiYmJ7oSEhO6FhYXuhISE7oWFhe6FhYXuhYWF7oWFhe6FhYXuioqK7pKSku6bm5vuo6Oj7qurq+6zs7Puu7u77sTExO7ExMTuuLi47qysrO6goKDulZWV7omJie5+fn7ucnJy7mhoaOpoaGjLaGhorGhoaI1oaGhuaGhoTmhoaC9oaGgQaGhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4eHhAOHh4QDh4eED4eHhC+Hh4RPh4eEb4eHhJOHh4Sy7u7s4tra2T7CwsGarq6t9paWllKCgoKqbm5vClZWV2ZCQkO6MjIzuiYmJ7oaGhu6CgoLugICA7nx8fO56enrud3d37oaGhu6cnJzusLCw7sbGxu7a2tru8PDw7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u78/Pzu+fn57vr6+u76+vru/Pz87v39/e7+/v7u/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7y8vLu39/f7s7Ozu67u7vuqamp7piYmO6RkZHujY2N7omJie6FhYXugYGB7n9/f+57e3vud3d37nx8fO6GhobukZGR7pycnO6np6fusbGx7ry8vO7Hx8fuysrK7ry8vO6vr6/uoaGh7pSUlO6Ghobuenp67m5ubu5hYWHqYWFhy2FhYaxhYWGNYWFhbmFhYU5hYWEvYWFhEGFhYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4QDh4eEA4eHhAOHh4QDh4eEC4eHhB+Hh4Qvh4eEQt7e3GrOzszWwsLBPra2ta6urq4WoqKifpaWlu6GhodWfn5/ulpaW7pCQkO6JiYnugoKC7nt7e+50dHTubm5u7mdnZ+56enrukZGR7qenp+6/v7/u1tbW7u7u7u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vz8/O74+Pju9vb27vT09O709PTu9fX17vj4+O74+Pju+vr67vz8/O79/f3u/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47ufn5+7X19fux8fH7re3t+6np6funZ2d7pWVle6NjY3uhoaG7n9/f+53d3fucHBw7mhoaO5ubm7ue3t77oiIiO6UlJTuo6Oj7rCwsO6+vr7uy8vL7s7Ozu6/v7/usbGx7qOjo+6UlJTuhYWF7nd3d+5oaGjuXFxc6lxcXMtcXFysXFxcjVxcXG5cXFxOXFxcL1xcXBBcXFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4QDh4eEA4eHhAOHh4QDh4eEA4eHhALGxsQCxsbEbsLCwObCwsFiwsLB2sLCwlK+vr7Svr6/Sra2t7qGhoe6YmJjujIyM7oKCgu53d3fubGxs7mFhYe5XV1fua2tr7oWFhe6fn5/uuLi47tLS0u7t7e3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u/Pz87vn5+e729vbu8vLy7vDw8O7t7e3u7u7u7vDw8O7y8vLu9PT07vb29u74+Pju+vr67vz8/O7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u7w8PDu4eHh7tLS0u7ExMTut7e37qmpqe6dnZ3ukpKS7oaGhu58fHzucHBw7mVlZe5ZWVnuX19f7m9vb+5/f3/ujY2N7p+fn+6vr6/uvr6+7s/Pz+7T09Puw8PD7rOzs+6jo6PulJSU7oSEhO50dHTuZGRk7ldXV+pXV1fLV1dXrFdXV41XV1duV1dXTldXVy9XV1cQV1dXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLQAtLS0F7S0tDa0tLRWtLS0dLS0tJO0tLSztLS00rOzs+6lpaXumZmZ7oyMjO6BgYHudHR07mhoaO5bW1vuT09P7mRkZO5/f3/umJiY7rS0tO7Ozs7u6enp7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u76+vru9vb27vT09O7x8fHu7e3t7uzs7O7p6enu5+fn7uPj4+7i4uLu39/f7uHh4e7j4+Pu5ubm7unp6e7s7Ozu7e3t7vHx8e7y8vLu9vb27vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu+Pj47vj4+O79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9fX17ufn5+7a2truzs7O7sDAwO6zs7PupKSk7paWlu6JiYnufHx87m5ubu5gYGDuU1NT7lhYWO5oaGjuenp67oqKiu6cnJzura2t7r+/v+7R0dHu1tbW7sTExO60tLTuo6Oj7pGRke6BgYHucHBw7mBgYO5RUVHqVFRUzldXV7JZWVmWW1tbe11dXV5gYGBCY2NjJmVlZQvq6uoG6urqAurq6gDq6uoA6urqAOrq6gDq6uoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuLi4ALi4uBe4uLg2uLi4Vri4uHS4uLiTuLi4s7i4uNK2trbuqKio7pubm+6MjIzuf39/7nJycu5kZGTuVVVV7klJSe5dXV3uenp67pKSku6vr6/uysrK7uXl5e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+vr67vX19e7w8PDu6enp7uPj4+7e3t7u3d3d7tra2u7Z2dnu19fX7tbW1u7T09Pu0tLS7s/Pz+7S0tLu1dXV7tnZ2e7b29vu39/f7uLi4u7m5ubu5+fn7u3t7e7y8vLu+Pj47v39/e7////u////7v///+7////u////7v///+7////u////7v7+/u75+fnu9PT07vDw8O7t7e3u7u7u7vHx8e7y8vLu9fX17vb29u75+fnu+vr67v7+/u7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vj4+O719fXu8PDw7u3t7e7t7e3u7e3t7u7u7u7u7u7u7u7u7vDw8O7w8PDu8PDw7vT09O74+Pju/f397v///+7////u////7v///+7////u////7v///+7////u+vr67vT09O7u7u7u5+fn7uHh4e7h4eHu6enp7vDw8O729vbu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vn5+e7u7u7u4eHh7tbW1u7Kysruu7u77qurq+6bm5vujIyM7nx8fO5sbGzuXFxc7kxMTO5RUVHuZGRk7nZ2du6IiIjum5ub7q2tre6/v7/u09PT7tfX1+7GxsbutLS07qGhoe6QkJDuf39/7mxsbO5bW1vuTExM6lFRUdJXV1e6XFxcomFhYYpnZ2dxbGxsWXJyckF3d3cq6urqIerq6hrq6uoT6urqDOrq6gbq6uoA6urqAOrq6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALu7uwC7u7sXu7u7Nru7u1a7u7t0u7u7k7u7u7O7u7vSurq67qurq+6cnJzujIyM7n5+fu5vb2/uYGBg7lBQUO5CQkLuV1dX7nNzc+6NjY3uqamp7sbGxu7i4uLu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47vDw8O7p6enu39/f7tfX1+7R0dHuysrK7sjIyO7GxsbuxsbG7sTExO7ExMTuwsLC7sLCwu7AwMDuw8PD7sfHx+7Ly8vuz8/P7tPT0+7W1tbu2tra7t7e3u7j4+Pu6urq7vDw8O729vbu/Pz87v///+7////u////7v///+7////u////7vj4+O7x8fHu6enp7uLi4u7a2tru1tbW7tnZ2e7b29vu3d3d7t/f3+7i4uLu5eXl7ubm5u7q6uru7Ozs7u3t7e7w8PDu8fHx7vT09O719fXu+Pj47vn5+e75+fnu+fn57vj4+O74+Pju+Pj47vb29u729vbu9vb27vb29u75+fnu/Pz87v7+/u7////u////7v///+7////u////7v///+75+fnu8vLy7u3t7e7m5ubu4eHh7tra2u7V1dXu1dXV7tXV1e7W1tbu1tbW7tbW1u7X19fu19fX7tfX1+7e3t7u4+Pj7uzs7O7x8fHu+Pj47v7+/u7////u////7v///+79/f3u9fX17uzs7O7j4+Pu29vb7tPT0+7Ly8vuy8vL7tPT0+7d3d3u5ubm7u7u7u74+Pju////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u9PT07unp6e7e3t7u1dXV7sPDw+6xsbHun5+f7o2Nje58fHzua2tr7llZWe5GRkbuTExM7l9fX+5ycnLuhYWF7pmZme6srKzuwMDA7tXV1e7a2trux8fH7rS0tO6hoaHujo6O7nx8fO5qamruVVVV7kZGRutPT0/XWFhYwl9fX65oaGiab29vhXh4eHCAgIBciIiISOrq6j3q6uoy6urqJ+rq6h3q6uoS6urqB+rq6gDq6uoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/v78Av7+/F7+/vza/v79Wv7+/dL+/v5O/v7+zv7+/0r6+vu6tra3unJyc7oyMjO58fHzubGxs7lxcXO5MTEzuPDw87lFRUe5ubm7uiYmJ7qWlpe7AwMDu3t7e7vn5+e7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47u7u7u7l5eXu29vb7tHR0e7GxsbuvLy87rS0tO60tLTus7Oz7rOzs+6zs7Pus7Oz7rGxse6xsbHusLCw7rS0tO64uLjuvr6+7sLCwu7GxsbuysrK7s/Pz+7T09Pu2tra7uHh4e7p6enu8PDw7vb29u79/f3u////7v///+7////u////7vb29u7s7Ozu4uLi7tnZ2e7Pz8/uxsbG7r+/v+7CwsLuxMTE7sfHx+7Ly8vuzs7O7tHR0e7T09Pu1tbW7tfX1+7a2tru3d3d7t7e3u7h4eHu4+Pj7ubm5u7n5+fu5+fn7ufn5+7m5ubu5ubm7uXl5e7l5eXu4+Pj7uPj4+7l5eXu6enp7u3t7e7w8PDu9PT07vb29u76+vru/v7+7v39/e719fXu7e3t7uPj4+7d3d3u09PT7szMzO7Dw8PuvLy87ry8vO68vLzuvr6+7r6+vu6+vr7uv7+/7r+/v+6/v7/ux8fH7tHR0e7Z2dnu4eHh7unp6e7y8vLu+vr67v///+79/f3u9PT07unp6e7e3t7u09PT7srKyu6/v7/utLS07rS0tO6/v7/uysrK7tXV1e7f39/u6urq7vT09O7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u7w8PDu5ubm7t7e3u7Ly8vut7e37qSkpO6QkJDufHx87mhoaO5VVVXuQUFB7kVFRe5ZWVnubm5u7oKCgu6WlpburKys7sDAwO7W1tbu29vb7sfHx+60tLTuoKCg7oyMjO56enruZWVl7lFRUe5CQkLrTExM21hYWMpjY2O6bm5uqXh4eJiEhISIjo6Od5mZmWfq6upY6urqSurq6jzq6uot6urqH+rq6hDq6uoB6urqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw8PDAMPDwxfDw8M2w8PDVsPDw3TDw8OTw8PDs8PDw9LAwMDur6+v7p2dne6MjIzue3t77mhoaO5YWFjuRkZG7jU1Ne5KSkruaGho7oSEhO6goKDuvLy87tra2u729vbu////7v///+7////u////7v///+7////u////7v///+7////u/f397vHx8e7m5ubu2dnZ7s7Ozu7CwsLutra27qmpqe6goKDuoKCg7p+fn+6goKDuoKCg7qGhoe6goKDuoaGh7qGhoe6np6fuq6ur7rCwsO62trbuurq67r+/v+7ExMTuyMjI7tHR0e7Z2dnu4eHh7unp6e7w8PDu+Pj47v///+7////u////7vr6+u7u7u7u4eHh7tXV1e7IyMjuvLy87rCwsO6oqKjurKys7q+vr+6xsbHutra27ri4uO68vLzuv7+/7sPDw+7ExMTux8fH7srKyu7MzMzuz8/P7tLS0u7V1dXu1tbW7tfX1+7W1tbu1dXV7tPT0+7T09Pu0tLS7tLS0u7R0dHu09PT7tnZ2e7d3d3u4uLi7ubm5u7s7Ozu8fHx7vX19e719fXu6urq7uHh4e7W1tbuzMzM7sLCwu64uLjurKys7qWlpe6lpaXupaWl7qWlpe6np6fup6en7qenp+6np6fup6en7rGxse68vLzux8fH7tHR0e7b29vu5ubm7vHx8e76+vru9fX17unp6e7d3d3uz8/P7sPDw+63t7fuq6ur7p+fn+6dnZ3uq6ur7re3t+7Dw8Puz8/P7t3d3e7p6enu9PT07v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9vb27vDw8O7n5+fu09PT7r6+vu6oqKjukpKS7nx8fO5nZ2fuUVFR7jo6Ou5AQEDuVFRU7mpqau5/f3/ulZWV7qurq+7AwMDu19fX7t7e3u7IyMjutLS07qCgoO6KiorudnZ27mFhYe5MTEzuPT097EpKSt9YWFjSZWVlxnR0dLmBgYGsjo6On5ycnJKrq6uG6urqdOrq6mLq6upQ6urqPerq6ivq6uoY6urqBurq6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMfHxwDHx8cXx8fHNsfHx1bHx8d0x8fHk8fHx7PHx8fSxMTE7rGxse6fn5/ujIyM7np6eu5lZWXuVFRU7kFBQe4uLi7uRUVF7mNjY+5/f3/unJyc7ri4uO7W1tbu8vLy7v///+7////u////7v///+7////u////7v///+7////u////7vj4+O7q6uru3d3d7s7Ozu7AwMDusbGx7qSkpO6WlpbuioqK7oyMjO6MjIzujY2N7o6Oju6QkJDukJCQ7pGRke6RkZHumJiY7pycnO6jo6PuqKio7q2tre6zs7Puurq67r+/v+7Hx8fu0dHR7tnZ2e7i4uLu6urq7vLy8u78/Pzu////7v///+709PTu5eXl7tbW1u7Hx8fuuLi47qmpqe6cnJzukpKS7paWlu6ZmZnunZ2d7qGhoe6kpKTup6en7qurq+6vr6/usbGx7rS0tO64uLjuurq67ry8vO7AwMDuw8PD7sbGxu7GxsbuxMTE7sPDw+7CwsLuwMDA7sDAwO6/v7/uvr6+7sLCwu7IyMjuzs7O7tXV1e7a2tru4eHh7ubm5u7t7e3u7e3t7t/f3+7V1dXux8fH7ry8vO6vr6/uo6Oj7paWlu6NjY3ujY2N7o2Nje6NjY3ujo6O7o6Oju6Ojo7ujo6O7o6Oju6cnJzuqKio7rS0tO7CwsLuzs7O7tra2u7n5+fu9PT07u3t7e7e3t7u0dHR7sLCwu6zs7PupaWl7paWlu6JiYnuiIiI7paWlu6kpKTus7Oz7sDAwO7Pz8/u3d3d7urq6u729vbu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u74+Pju8fHx7tvb2+7Dw8PurKys7pSUlO58fHzuZWVl7k1NTe41NTXuOTk57k9PT+5lZWXufHx87pSUlO6rq6vuwsLC7tnZ2e7f39/uysrK7rS0tO6fn5/uiYmJ7nNzc+5dXV3uSEhI7jg4OOxISEjjWVlZ2mpqatF6enrIioqKv5ubm7arq6utvLy8pOrq6pDq6up66urqZOrq6k7q6uo46urqIerq6gvq6uoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLy8sAy8vLF8vLyzbLy8tWy8vLdMvLy5PLy8uzy8vL0sjIyO60tLTun5+f7oyMjO54eHjuY2Nj7lBQUO48PDzuJycn7j4+Pu5cXFzuenp67paWlu60tLTu0tLS7vDw8O7////u////7v///+7////u////7v///+7////u////7vz8/O709PTu4+Pj7tPT0+7Dw8Pus7Oz7qOjo+6SkpLugoKC7nd3d+54eHjuenp67nt7e+58fHzuf39/7oCAgO6BgYHugoKC7omJie6Ojo7ulJSU7pycnO6hoaHup6en7q+vr+60tLTuvr6+7sfHx+7R0dHu29vb7uXl5e7u7u7u+Pj47v///+7+/v7u7e3t7t3d3e7Kysruurq67qioqO6YmJjuhoaG7nx8fO6AgIDuhISE7oiIiO6MjIzukJCQ7pKSku6WlpbunJyc7p2dne6hoaHupaWl7qenp+6rq6vur6+v7rGxse60tLTutLS07rOzs+6xsbHusLCw7q+vr+6tra3urKys7qysrO6wsLDut7e37r+/v+7Hx8fuzMzM7tXV1e7d3d3u4+Pj7uPj4+7V1dXux8fH7ri4uO6rq6vunJyc7o6Oju6AgIDudnZ27nZ2du52dnbudnZ27nd3d+53d3fud3d37nd3d+53d3fuhYWF7pSUlO6jo6PusbGx7sDAwO7Pz8/u3d3d7uzs7O7j4+Pu09PT7sPDw+6zs7Puo6Oj7pKSku6CgoLuc3Nz7nJycu6CgoLukZGR7qGhoe6wsLDuwMDA7tHR0e7f39/u7u7u7vX19e79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u7j4+PuysrK7rCwsO6WlpbufHx87mNjY+5JSUnuLy8v7jQ0NO5KSkruY2Nj7np6eu6RkZHuqamp7sLCwu7a2tru4eHh7srKyu60tLTunZ2d7oaGhu5wcHDuWVlZ7kJCQu4yMjLtRUVF6FlZWeJsbGzdgICA2JKSktOnp6fNurq6yM7OzsPq6uqr6urqkerq6njq6upe6urqROrq6irq6uoQ6urqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzs7OAM7OzhfOzs42zs7OVs7OznTOzs6Tzs7Os87OztLLy8vut7e37qCgoO6MjIzud3d37mBgYO5MTEzuNjY27iEhIe44ODjuV1dX7nR0dO6SkpLusLCw7s/Pz+7s7Ozu////7v///+7////u////7v///+7////u////7vz8/O74+Pju7u7u7t3d3e7KysruuLi47qWlpe6UlJTugYGB7nBwcO5hYWHuZGRk7mVlZe5oaGjua2tr7m5ubu5vb2/ucnJy7nNzc+57e3vugYGB7oaGhu6Ojo7ulZWV7pycnO6kpKTuqamp7rS0tO6/v7/uysrK7tPT0+7e3t7u6enp7vT09O7+/v7u+vr67ubm5u7T09Puv7+/7qurq+6YmJjuhYWF7nNzc+5lZWXua2tr7m9vb+5zc3PueHh47nt7e+5/f3/ugoKC7oiIiO6Kiorujo6O7pKSku6VlZXumZmZ7p2dne6goKDuo6Oj7qOjo+6hoaHuoKCg7p+fn+6dnZ3unJyc7pubm+6ZmZnun5+f7qenp+6wsLDuuLi47sDAwO7Kysru0tLS7tvb2+7b29vuy8vL7ru7u+6rq6vum5ub7oqKiu57e3vua2tr7l1dXe5dXV3uXV1d7l1dXe5fX1/uX19f7l9fX+5fX1/uX19f7nBwcO6AgIDukZGR7qGhoe6xsbHuw8PD7tPT0+7l5eXu29vb7srKyu63t7fupaWl7pKSku6BgYHub29v7l1dXe5cXFzubm5u7n9/f+6QkJDuoaGh7rOzs+7ExMTu1dXV7uXl5e7u7u7u9vb27v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u7Ozs7tHR0e60tLTumZmZ7nx8fO5hYWHuRkZG7ikpKe4tLS3uRUVF7l9fX+53d3fukJCQ7qmpqe7CwsLu29vb7uPj4+7Ly8vutLS07p2dne6FhYXubm5u7ldXV+4+Pj7uLS0t7UJCQuxZWVnqcHBw6YaGhuecnJzms7Oz5cjIyOPf39/i6urqx+rq6qnq6uqM6urqburq6lHq6uoy6urqFerq6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHR0QDR0dEX0dHRNtHR0VbR0dF00dHRk9HR0bPR0dHSzs7O7ri4uO6hoaHujIyM7nd3d+5gYGDuSkpK7jU1Ne4fHx/uNjY27lVVVe5ycnLukJCQ7qysrO7Ly8vu5+fn7v///+7////u////7v///+7////u////7v///+78/Pzu+fn57vHx8e7f39/uzs7O7ry8vO6rq6vumZmZ7oiIiO53d3fuampq7mxsbO5ubm7ucHBw7nJycu50dHTud3d37np6eu57e3vugoKC7oiIiO6Ojo7ulZWV7pycnO6jo6Puqamp7rCwsO66urruxMTE7s7Ozu7X19fu4uLi7uzs7O729vbu////7vz8/O7p6enu1tbW7sLCwu6vr6/unJyc7omJie53d3fua2tr7nBwcO50dHTud3d37nx8fO6AgIDuhISE7oiIiO6MjIzujY2N7pGRke6UlJTulZWV7piYmO6cnJzunZ2d7qCgoO6goKDunZ2d7pubm+6ZmZnumJiY7paWlu6UlJTukpKS7piYmO6jo6PurKys7re3t+6/v7/uyMjI7tPT0+7d3d3u3t7e7s7Ozu6+vr7ura2t7p+fn+6Ojo7ugICA7nBwcO5jY2PuY2Nj7mNjY+5jY2PuZGRk7mRkZO5kZGTuZGRk7mRkZO50dHTuhYWF7pWVle6lpaXutra27sbGxu7W1tbu5ubm7t7e3u7MzMzuurq67qioqO6WlpbuhYWF7nNzc+5hYWHuYGBg7nJycu6BgYHukpKS7qOjo+60tLTuxsbG7tbW1u7l5eXu7u7u7vb29u7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vHx8e7V1dXuuLi47pycnO5/f3/uY2Nj7kVFRe4nJyfuKysr7kRERO5cXFzudnZ27o6Oju6np6fuwMDA7tra2u7h4eHuysrK7rGxse6bm5vugoKC7mtra+5TU1PuPDw87ioqKu5BQUHuWVlZ7nBwcO6IiIjun5+f7re3t+7Ozs7u5ubm7unp6dLp6emz6enplOnp6XXp6elW6enpNunp6Rfp6ekAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADS0tIA0tLSF9LS0jbS0tJW0tLSdNLS0pPS0tKz0tLS0s/Pz+66urruo6Oj7o2Nje54eHjuYWFh7kxMTO42NjbuIiIi7jg4OO5VVVXucnJy7o2Nje6pqanux8fH7uPj4+7////u////7v///+7////u////7v///+7////u////7v7+/u74+Pju6enp7tra2u7Ly8vuu7u77qysrO6dnZ3ujY2N7oKCgu6EhITuhYWF7oiIiO6JiYnujIyM7o6Oju6QkJDukZGR7piYmO6dnZ3uo6Oj7qmpqe6vr6/utLS07ru7u+7AwMDuyMjI7tLS0u7a2tru4uLi7uzs7O709PTu/f397v///+7////u8fHx7uHh4e7Pz8/uvr6+7q2tre6dnZ3ujIyM7oGBge6GhobuiYmJ7o2Nje6RkZHulJSU7piYmO6bm5vun5+f7p+fn+6hoaHuoaGh7qOjo+6jo6PupKSk7qWlpe6np6fupaWl7qGhoe6goKDunZ2d7pubm+6ZmZnulpaW7pSUlO6bm5vupaWl7rCwsO67u7vuxMTE7s/Pz+7a2tru5eXl7ufn5+7Z2dnuy8vL7r6+vu6wsLDuoaGh7pSUlO6FhYXue3t77nt7e+57e3vue3t77nx8fO58fHzufHx87nx8fO58fHzuioqK7piYmO6np6futra27sTExO7S0tLu4eHh7vDw8O7n5+fu19fX7sfHx+63t7fup6en7paWlu6Ghobud3d37nZ2du6EhITukpKS7qGhoe6wsLDuv7+/7s7Ozu7d3d3u6urq7vLy8u76+vru////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+719fXu19fX7ru7u+6fn5/ugYGB7mRkZO5ISEjuKioq7i0tLe5ERETuXFxc7nR0dO6MjIzupKSk7ry8vO7V1dXu3d3d7sbGxu6tra3ulpaW7oCAgO5oaGjuUVFR7jk5Oe4pKSnuQEBA7lhYWO5vb2/uhoaG7p2dne62trbuzMzM7uXl5e7n5+fS5+fns+fn55Tn5+d15+fnVufn5zbn5+cX5+fnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA09PTANPT0xfT09M209PTVtPT03TT09OT09PTs9PT09LR0dHuu7u77qSkpO6Ojo7uenp67mRkZO5PT0/uOTk57iMjI+44ODjuVVVV7nBwcO6MjIzup6en7sTExO7f39/u/Pz87v///+7////u////7v///+7////u////7v///+7////u////7vLy8u7m5ubu2dnZ7svLy+6/v7/usbGx7qWlpe6bm5vunJyc7p2dne6goKDuoaGh7qSkpO6lpaXup6en7qioqO6tra3us7Oz7re3t+68vLzuwsLC7sbGxu7Ly8vu0dHR7tfX1+7f39/u5ubm7u3t7e719fXu/Pz87v///+7////u////7vn5+e7s7Ozu29vb7szMzO6/v7/usLCw7qGhoe6ZmZnunJyc7p+fn+6jo6PupaWl7qmpqe6srKzur6+v7rOzs+6wsLDusLCw7rCwsO6vr6/ura2t7q2tre6srKzurKys7qmpqe6np6fupKSk7qGhoe6fn5/unJyc7pmZme6WlpbunJyc7qioqO60tLTuv7+/7srKyu7W1tbu4uLi7u3t7e7x8fHu4+Pj7tnZ2e7MzMzuwMDA7rS0tO6pqanunJyc7pKSku6SkpLukpKS7pKSku6UlJTulJSU7pSUlO6UlJTulJSU7qCgoO6srKzuurq67sbGxu7S0tLu39/f7uzs7O74+Pju8fHx7uLi4u7V1dXuxsbG7re3t+6oqKjum5ub7oyMjO6KiorumJiY7qSkpO6wsLDuvr6+7srKyu7X19fu4+Pj7u7u7u729vbu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47tvb2+6+vr7uoaGh7oSEhO5nZ2fuSkpK7isrK+4uLi7uRUVF7lxcXO50dHTuioqK7qGhoe66urru0dHR7tnZ2e7CwsLuqamp7pSUlO58fHzuZWVl7k9PT+44ODjuJycn7j4+Pu5XV1fubm5u7oWFhe6cnJzutLS07svLy+7j4+Pu5ubm0ubm5rPm5uaU5ubmdebm5lbm5uY25ubmF+bm5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANXV1QDV1dUX1dXVNtXV1VbV1dV01dXVk9XV1bPV1dXS0tLS7ry8vO6lpaXukJCQ7nt7e+5lZWXuUFBQ7jo6Ou4lJSXuOTk57lVVVe5vb2/uioqK7qSkpO7AwMDu29vb7vb29u7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu8vLy7ufn5+7b29vu0tLS7sfHx+68vLzutLS07ra2tu62trbuuLi47rq6uu67u7vuvLy87r6+vu6/v7/uxMTE7sjIyO7Ly8vu0dHR7tXV1e7X19fu3d3d7uHh4e7m5ubu7e3t7vLy8u74+Pju/v7+7v///+7////u////7v///+7////u9fX17unp6e7b29vu0dHR7sTExO63t7fusLCw7rOzs+62trbuuLi47ru7u+6+vr7uwMDA7sPDw+7GxsbuwsLC7sDAwO6+vr7uu7u77ri4uO63t7futLS07rGxse6vr6/uq6ur7qioqO6lpaXuoaGh7p+fn+6bm5vumJiY7p+fn+6rq6vuuLi47sTExO7Pz8/u3d3d7unp6e719fXu+vr67vDw8O7m5ubu29vb7tLS0u7Hx8fuvr6+7rOzs+6rq6vuq6ur7qurq+6rq6vurKys7qysrO6srKzurKys7qysrO62trbuwMDA7svLy+7W1tbu4eHh7uzs7O729vbu////7vr6+u7t7e3u4eHh7tXV1e7Hx8fuu7u77q2tre6hoaHuoKCg7qurq+62trbuv7+/7srKyu7V1dXu39/f7urq6u709PTu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O7e3t7uwMDA7qSkpO6Ghobuampq7kxMTO4uLi7uLy8v7kVFRe5cXFzuc3Nz7omJie6fn5/utra27szMzO7T09Puvr6+7qWlpe6QkJDuenp67mNjY+5MTEzuNjY27iYmJu49PT3uVVVV7mxsbO6EhITum5ub7rOzs+7Kysru4uLi7uXl5dLl5eWz5eXllOXl5XXl5eVW5eXlNuXl5Rfl5eUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tYA1tbWF9bW1jbW1tZW1tbWdNbW1pPW1taz1tbW0tPT0+6+vr7uqKio7pKSku5+fn7uZ2dn7lFRUe48PDzuJycn7jo6Ou5VVVXub29v7oiIiO6jo6PuvLy87tbW1u7x8fHu/Pz87v7+/u7////u////7v///+7////u////7v///+7////u////7v39/e719fXu7e3t7uPj4+7b29vu09PT7szMzO7Ozs7uz8/P7s/Pz+7S0tLu09PT7tXV1e7W1tbu1tbW7tra2u7d3d3u4eHh7uPj4+7m5ubu6urq7u3t7e7w8PDu9fX17vn5+e7+/v7u////7v///+7////u////7v///+7////u////7v///+719fXu7Ozs7uHh4e7X19fuzs7O7sfHx+7Kysruy8vL7s7Ozu7R0dHu0tLS7tXV1e7W1tbu2dnZ7tXV1e7R0dHuzMzM7sjIyO7ExMTuwMDA7ru7u+64uLjutLS07rCwsO6srKzuqKio7qWlpe6goKDunZ2d7pmZme6goKDura2t7ru7u+7IyMju1tbW7uLi4u7x8fHu/v7+7v///+76+vru8vLy7urq6u7i4uLu2tra7tLS0u7IyMjuw8PD7sPDw+7Dw8Puw8PD7sPDw+7Dw8Puw8PD7sPDw+7Dw8PuzMzM7tXV1e7e3t7u5ubm7vDw8O74+Pju////7v///+7////u+fn57u7u7u7i4uLu19fX7szMzO7CwsLutra27rS0tO6+vr7uxsbG7s/Pz+7X19fu4eHh7unp6e7x8fHu+fn57v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u4uLi7sTExO6lpaXuiIiI7mtra+5PT0/uLy8v7jExMe5GRkbuXFxc7nJycu6GhobunZ2d7rOzs+7IyMjuz8/P7ri4uO6jo6PujY2N7nd3d+5hYWHuSkpK7jQ0NO4jIyPuOjo67lNTU+5ra2vugYGB7pmZme6xsbHuyMjI7uHh4e7j4+PS4+Pjs+Pj45Tj4+N14+PjVuPj4zbj4+MX4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA19fXANfX1xfX19c219fXVtfX13TX19eT19fXs9fX19LV1dXuv7+/7qmpqe6UlJTuf39/7mhoaO5TU1PuPT097ikpKe48PDzuVVVV7m5ubu6GhobuoKCg7ri4uO7S0tLu7Ozs7vj4+O78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e729vbu8fHx7urq6u7m5ubu5+fn7ufn5+7n5+fu6urq7urq6u7s7Ozu7e3t7u3t7e7x8fHu8vLy7vX19e74+Pju+fn57vz8/O7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u7y8vLu7Ozs7uPj4+7e3t7u4eHh7uLi4u7j4+Pu5ubm7ubm5u7p6enu6urq7uzs7O7m5ubu4eHh7tra2u7V1dXuz8/P7srKyu7Dw8Puvr6+7rq6uu60tLTusLCw7qysrO6oqKjuo6Oj7p+fn+6bm5vuo6Oj7rCwsO6/v7/uzs7O7tvb2+7p6enu+Pj47v///+7////u////7v///+75+fnu9PT07u3t7e7m5ubu39/f7tvb2+7b29vu29vb7tvb2+7b29vu29vb7tvb2+7b29vu29vb7uLi4u7p6enu8PDw7vb29u7+/v7u////7v///+7////u////7v///+76+vru8fHx7ufn5+7f39/u1dXV7svLy+7Kysru0dHR7tfX1+7e3t7u4+Pj7uzs7O7x8fHu+Pj47v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7uXl5e7Hx8fuqKio7oqKiu5ubm7uUFBQ7jIyMu4yMjLuRkZG7lxcXO5wcHDuhYWF7pubm+6vr6/uxMTE7srKyu60tLTun5+f7omJie50dHTuX19f7khISO4yMjLuIiIi7jk5Oe5RUVHuampq7oCAgO6YmJjusLCw7sfHx+7f39/u4uLi0uLi4rPi4uKU4uLideLi4lbi4uI24uLiF+Li4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ2QDZ2dkX2dnZNtnZ2VbZ2dl02dnZk9nZ2bPZ2dnS1tbW7sDAwO6rq6vulZWV7oCAgO5ra2vuVVVV7kBAQO4qKiruPDw87lVVVe5sbGzuhYWF7p2dne62trbuzs7O7ubm5u7y8vLu+Pj47v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u75+fnu9vb27vb29u74+Pju+fn57vr6+u78/Pzu/f397v7+/u7////u+Pj47vDw8O7p6enu4eHh7tra2u7T09PuysrK7sPDw+6+vr7uurq67rS0tO6wsLDurKys7qWlpe6hoaHunZ2d7qSkpO6zs7Puw8PD7tLS0u7h4eHu8PDw7v///+7////u////7v///+7////u////7v///+7////u/Pz87vb29u709PTu9PT07vT09O709PTu9PT07vT09O709PTu9PT07vT09O74+Pju/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+74+Pju8fHx7unp6e7h4eHu39/f7uXl5e7p6enu7e3t7vHx8e729vbu+vr67v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7p6enuysrK7qurq+6NjY3ucHBw7lNTU+40NDTuNDQ07khISO5cXFzucHBw7oSEhO6YmJjurKys7sDAwO7GxsbusLCw7pubm+6GhobucHBw7lxcXO5FRUXuMTEx7iEhIe44ODjuUFBQ7mhoaO5/f3/ulpaW7q+vr+7Gxsbu3t7e7uHh4dLh4eGz4eHhlOHh4XXh4eFW4eHhNuHh4Rfh4eEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2toA2traF9ra2jba2tpW2tradNra2pPa2tqz2tra0tfX1+7CwsLurKys7paWlu6BgYHubGxs7ldXV+5BQUHuLS0t7j09Pe5VVVXubGxs7oKCgu6bm5vusbGx7srKyu7h4eHu7u7u7vX19e79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9vb27u7u7u7l5eXu29vb7tLS0u7Kysruw8PD7r6+vu66urrutLS07q+vr+6oqKjupKSk7p+fn+6np6futra27sfHx+7W1tbu5ubm7vb29u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u9vb27vX19e74+Pju+vr67vz8/O7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u7Ozs7szMzO6tra3ukJCQ7nJycu5VVVXuNjY27jU1Ne5ISEjuXFxc7m9vb+6BgYHulZWV7qioqO67u7vuwsLC7qysrO6WlpbugoKC7m5ubu5ZWVnuRERE7i4uLu4fHx/uNjY27k9PT+5nZ2fufn5+7pWVle6tra3uxMTE7t3d3e7f39/S39/fs9/f35Tf399139/fVt/f3zbf398X39/fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vbANvb2xXb29sy29vbUdvb223b29uL29vbqdvb28fW1tbiwMDA46ysrOWYmJjmhISE529vb+lbW1vqRkZG7DQ0NO1CQkLuWFhY7m5ubu6CgoLumJiY7qysrO7CwsLu19fX7uXl5e7u7u7u+Pj47v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+74+Pju7u7u7uXl5e7a2tru0tLS7svLy+7GxsbuwMDA7ry8vO63t7fusLCw7qurq+6lpaXura2t7ry8vO7Ozs7u3d3d7u3t7e78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7u7u7u7R0dHusbGx7pWVle53d3fuW1tb7jw8PO46OjruTExM7l1dXe5vb2/ugICA7pGRke6jo6PutLS07rq6uu6lpaXukZGR7n5+fu5qamruVVVV7kBAQO4tLS3uHh4e7jU1Ne5NTU3uZWVl7nx8fO6UlJTurKys7sPDw+7b29vu3t7e0t7e3rPe3t6U3t7edd7e3lbe3t423t7eF97e3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2wDb29sQ29vbKtvb20Tb29td29vbd9vb25Hb29urz8/Pw76+vsirq6vNmZmZ04iIiNh3d3fdZGRk4lNTU+hCQkLtTU1N7mBgYO5ycnLugoKC7pSUlO6lpaXut7e37sjIyO7W1tbu4eHh7u3t7e74+Pju////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vX19e7t7e3u5eXl7t3d3e7X19fu0tLS7s7Ozu7KysruxsbG7r+/v+67u7vut7e37r6+vu7Kysru2dnZ7ubm5u709PTu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru+Pj47vj4+O75+fnu+Pj47vj4+O75+fnu+fn57vn5+e76+vru/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7y8vLu1tbW7ri4uO6dnZ3ugYGB7mVlZe5JSUnuRkZG7lRUVO5jY2PucHBw7n9/f+6MjIzum5ub7qmpqe6srKzumZmZ7oaGhu52dnbuYWFh7lBQUO49PT3uKioq7h4eHu41NTXuTU1N7mRkZO57e3vukpKS7qurq+7CwsLu2tra7t3d3dLd3d2z3d3dlN3d3XXd3d1W3d3dNt3d3Rfd3d0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29sA29vbC9vb2yHb29s429vbTdvb22Pb29t629vbkMjIyKS6urqtq6urtpubm7+MjIzIfn5+0W5ubtpfX1/jUFBQ7FlZWe5nZ2fudnZ27oKCgu6QkJDun5+f7qysrO67u7vux8fH7tXV1e7i4uLu8PDw7vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u9vb27u7u7u7n5+fu4+Pj7t/f3+7b29vu19fX7tPT0+7Pz8/uy8vL7sfHx+7MzMzu2dnZ7uXl5e7w8PDu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru9PT07vHx8e7x8fHu8PDw7vDw8O7u7u7u7u7u7u3t7e7t7e3u7e3t7vLy8u729vbu+vr67v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9fX17tra2u6/v7/upaWl7oqKiu5ycnLuV1dX7lFRUe5cXFzuZ2dn7nJycu5+fn7uiIiI7pKSku6dnZ3un5+f7o6Oju5+fn7ubGxs7ltbW+5KSkruOTk57icnJ+4dHR3uNDQ07kxMTO5kZGTue3t77pKSku6pqanuwMDA7tnZ2e7b29vS29vbs9vb25Tb29t129vbVtvb2zbb29sX29vbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vbANvb2wbb29sY29vbK9vb2z3b29tP29vbYtvb23TDw8OFtra2kqmpqZ+dnZ2skJCQuYSEhMV3d3fSa2tr319fX+xlZWXub29v7np6eu6CgoLujY2N7piYmO6hoaHurKys7ri4uO7Hx8fu19fX7ubm5u719fXu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u74+Pju8vLy7vDw8O7s7Ozu6enp7ubm5u7i4uLu3t7e7tvb2+7Z2dnu3d3d7ubm5u7w8PDu+fn57v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u9fX17u7u7u7q6uru6enp7ufn5+7m5ubu5eXl7uPj4+7i4uLu4eHh7uHh4e7m5ubu6urq7u7u7u7x8fHu9fX17vn5+e79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7vn5+e7f39/uxsbG7q2tre6UlJTufHx87mNjY+5dXV3uZWVl7mxsbO50dHTue3t77oKCgu6KiorukZGR7pGRke6CgoLuc3Nz7mRkZO5UVFTuRUVF7jU1Ne4mJibuGxsb7jIyMu5KSkruY2Nj7np6eu6RkZHuqamp7sDAwO7Z2dnu29vb0tvb27Pb29uU29vbddvb21bb29s229vbF9vb2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2wDb29sB29vbENvb2x/b29st29vbO9vb20rb29tYvLy8Z7Ozs3eoqKiIn5+fmJSUlKmKioq5gICAynd3d9tubm7rcHBw7nd3d+5+fn7uhISE7omJie6RkZHulpaW7p2dne6rq6vuu7u77szMzO7d3d3u7u7u7v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e76+vru+fn57vb29u709PTu8fHx7u7u7u7s7Ozu6enp7u3t7e709PTu/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47vDw8O7n5+fu4+Pj7uHh4e7f39/u3d3d7tvb2+7Z2dnu19fX7tbW1u7V1dXu2tra7t7e3u7i4uLu5eXl7urq6u7u7u7u8vLy7vb29u78/Pzu////7v///+7////u////7v///+7////u////7v///+78/Pzu5eXl7szMzO62trbun5+f7oiIiO5wcHDuampq7m5ubu5ycnLudnZ27np6eu5/f3/ugYGB7oaGhu6EhITud3d37mhoaO5bW1vuTU1N7kBAQO4xMTHuIyMj7hsbG+4yMjLuSkpK7mFhYe54eHjukJCQ7qioqO6/v7/u19fX7tra2tLa2tqz2tralNra2nXa2tpW2traNtra2hfa2toAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29sA29vbANvb2wfb29sS29vbHNvb2yfb29sy29vbPbe3t0ivr69cqKiocKCgoIWZmZmakZGRrYmJicKCgoLXfHx863x8fO5/f3/ugYGB7oSEhO6GhobuiYmJ7oyMjO6Ojo7unJyc7q2tre7CwsLu09PT7ubm5u75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u/Pz87vn5+e78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+vr67vLy8u7q6uru4uLi7tvb2+7Z2dnu1tbW7tPT0+7R0dHuz8/P7svLy+7KysruyMjI7szMzO7R0dHu1dXV7tnZ2e7e3t7u4uLi7ubm5u7q6uru8fHx7vn5+e7////u////7v///+7////u////7v///+7////u////7urq6u7T09Puvr6+7qioqO6SkpLufn5+7nZ2du52dnbud3d37nd3d+54eHjuenp67np6eu57e3vud3d37mtra+5fX1/uU1NT7kZGRu46OjruLS0t7iEhIe4aGhruMTEx7klJSe5hYWHueHh47pCQkO6np6fuvr6+7tbW1u7Z2dnS2dnZs9nZ2ZTZ2dl12dnZVtnZ2TbZ2dkX2dnZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vbANvb2wDb29sA29vbBtvb2wzb29sT29vbGtvb2yGwsLApq6urQaenp1mhoaFxnZ2dipiYmKGUlJS6jo6O0oqKiuqIiIjuhoaG7oWFhe6EhITugoKC7oKCgu6BgYHugICA7o2Nje6hoaHutra27svLy+7f39/u9PT07v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vb29u7t7e3u4+Pj7tvb2+7V1dXu0dHR7s7Ozu7Ly8vux8fH7sTExO7AwMDuvr6+7ru7u+7AwMDuxMTE7sjIyO7MzMzu0tLS7tbW1u7a2tru3t7e7ufn5+7x8fHu+fn57v///+7////u////7v///+7////u////7v///+7w8PDu2tra7sbGxu6xsbHun5+f7oqKiu6AgIDufn5+7nx8fO54eHjud3d37nR0dO5ycnLub29v7mpqau5gYGDuVFRU7klJSe5AQEDuNTU17ioqKu4fHx/uGhoa7jExMe5JSUnuYGBg7nd3d+6Ojo7upaWl7ry8vO7V1dXu19fX0tfX17PX19eU19fXddfX11bX19c219fXF9fX1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29sA29vbANvb2wDb29sA29vbANvb2wLb29sGqampCqioqCalpaVCo6OjXqGhoXufn5+VnZ2dspubm86YmJjqkpKS7o6Oju6JiYnuhISE7oCAgO58fHzud3d37nNzc+5/f3/ulJSU7qurq+7CwsLu2dnZ7vDw8O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e7y8vLu6enp7t7e3u7V1dXuzs7O7sjIyO7GxsbuwsLC7r6+vu66urrutra27rGxse6vr6/utLS07ri4uO68vLzuwMDA7sbGxu7Kysruzs7O7tPT0+7d3d3u5+fn7vLy8u78/Pzu////7v///+7////u////7v///+7////u9PT07uHh4e7Ozs7uu7u77qmpqe6WlpbujIyM7oWFhe6AgIDuenp67nZ2du5wcHDuampq7mRkZO5cXFzuVFRU7kpKSu5BQUHuOTk57i8vL+4mJibuHR0d7hkZGe4vLy/uSEhI7l9fX+52dnbujY2N7qSkpO67u7vu09PT7tbW1tLW1taz1tbWlNbW1nXW1tZW1tbWNtbW1hfW1tYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWlpQClpaUQpaWlL6WlpU6lpaVupaWljKWlpaylpaXLpaWl6p2dne6VlZXujY2N7oSEhO58fHzudnZ27m5ubu5lZWXucnJy7omJie6hoaHuurq67tLS0u7q6uru////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+75+fnu7u7u7uPj4+7Z2dnuz8/P7sfHx+7CwsLuvr6+7rq6uu60tLTusbGx7qysrO6oqKjupaWl7qurq+6vr6/us7Oz7re3t+68vLzuwMDA7sTExO7Kysru1dXV7uHh4e7t7e3u+Pj47v///+7////u////7v///+7////u////7vn5+e7n5+fu1tbW7sbGxu62trbupKSk7piYmO6Ojo7uhYWF7nx8fO50dHTua2tr7mFhYe5ZWVnuUFBQ7klJSe5BQUHuOTk57jIyMu4qKiruIiIi7hoaGu4ZGRnuLy8v7khISO5fX1/udHR07oyMjO6jo6Puurq67tLS0u7V1dXS1dXVs9XV1ZTV1dV11dXVVtXV1TbV1dUX1dXVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrq6sAq6urEKurqy+rq6tOq6urbqurq4yrq6usq6ury6urq+qhoaHulpaW7o2Nje6CgoLuenp67nBwcO5nZ2fuXFxc7mhoaO6BgYHum5ub7rOzs+7MzMzu5ubm7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9vb27uzs7O7f39/u1dXV7svLy+7Dw8Puv7+/7ru7u+64uLjutLS07rGxse6tra3uqamp7qioqO6tra3usbGx7re3t+67u7vuwMDA7sTExO7Kysruz8/P7tnZ2e7l5eXu8PDw7vr6+u7////u////7v///+7////u////7v///+79/f3u7e3t7t7e3u7Ozs7uv7+/7q+vr+6jo6PulpaW7oyMjO6AgIDudnZ27mtra+5fX1/uU1NT7klJSe5CQkLuPDw87jU1Ne4vLy/uKSkp7iEhIe4aGhruGRkZ7i8vL+5ISEjuX19f7nR0dO6MjIzuo6Oj7rq6uu7S0tLu1dXV0tXV1bPV1dWU1dXVddXV1VbV1dU21dXVF9XV1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwALCwsBCwsLAvsLCwTrCwsG6wsLCMsLCwrLCwsMuwsLDqpKSk7pmZme6NjY3ugYGB7nd3d+5sbGzuYGBg7lRUVO5gYGDue3t77pSUlO6tra3ux8fH7uLi4u78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e78/Pzu+fn57vj4+O729vbu+fn57v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u729vbu+fn57v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vj4+O7w8PDu7Ozs7uzs7O7q6uru6urq7unp6e7p6enu5+fn7ufn5+7p6enu8PDw7vX19e78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vT09O7n5+fu3d3d7tHR0e7Gxsbuv7+/7ru7u+66urrut7e37rS0tO6xsbHur6+v7qysrO6rq6vusLCw7ra2tu67u7vuv7+/7sTExO7Kysruzs7O7tPT0+7e3t7u6enp7vLy8u79/f3u////7v///+7////u////7v///+7////u////7vT09O7l5eXu1tbW7srKyu67u7vura2t7p+fn+6RkZHuhISE7nd3d+5qamruW1tb7k1NTe5BQUHuPT097jY2Nu4xMTHuKysr7iYmJu4fHx/uGhoa7hkZGe4vLy/uSEhI7l9fX+50dHTujIyM7qOjo+66urru0dHR7tPT09LT09Oz09PTlNPT03XT09NW09PTNtPT0xfT09MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tAC0tLQQtLS0L7S0tE60tLRutLS0jLS0tKy0tLTLtLS06qioqO6bm5vujY2N7oCAgO50dHTuZ2dn7llZWe5MTEzuWFhY7nNzc+6NjY3uqKio7sPDw+7e3t7u+Pj47v///+7////u////7v///+7////u////7v///+7////u/f397vj4+O719fXu8vLy7vDw8O7t7e3u6urq7ufn5+7l5eXu4uLi7ubm5u7s7Ozu8PDw7vX19e76+vru////7v///+7////u////7v///+7////u////7v///+7////u/f397vz8/O79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u9vb27u7u7u7m5ubu39/f7uXl5e7q6uru7u7u7vLy8u75+fnu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9vb27u3t7e7j4+Pu2dnZ7tLS0u7S0tLu0tLS7tLS0u7R0dHu0dHR7s/Pz+7Pz8/u0dHR7tra2u7i4uLu7Ozs7vX19e79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O7x8fHu5eXl7tnZ2e7MzMzuwsLC7ru7u+64uLjut7e37ra2tu6zs7PusbGx7rCwsO6vr6/ur6+v7rS0tO66urruvr6+7sPDw+7IyMjuzs7O7tPT0+7Z2dnu4uLi7uzs7O729vbu////7v///+7////u////7v///+7////u////7v///+75+fnu7Ozs7t/f3+7T09PuxsbG7re3t+6np6fumJiY7oaGhu54eHjuaGho7ldXV+5ISEjuOjo67jY2Nu4yMjLuLS0t7ikpKe4jIyPuHh4e7hoaGu4ZGRnuLy8v7khISO5fX1/udHR07oyMjO6jo6PuuLi47tHR0e7T09PS09PTs9PT05TT09N109PTVtPT0zbT09MX09PTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6uroAurq6ELq6ui+6urpOurq6brq6uoy6urqsurq6y7q6uuqsrKzunZ2d7o6Oju5/f3/ucHBw7mNjY+5TU1PuRERE7lBQUO5sbGzuhoaG7qGhoe6+vr7u2dnZ7vX19e7////u////7v///+7////u////7v///+79/f3u9vb27vDw8O7q6uru5ubm7uLi4u7f39/u29vb7tnZ2e7V1dXu0tLS7s/Pz+7T09Pu2tra7t/f3+7m5ubu7e3t7vLy8u74+Pju/f397v7+/u78/Pzu+fn57vb29u719fXu8vLy7vDw8O7t7e3u7u7u7vX19e76+vru////7v///+7////u////7v///+7////u////7v///+76+vru8PDw7ubm5u7b29vu0tLS7srKyu7Pz8/u1tbW7t3d3e7i4uLu6enp7vHx8e729vbu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9fX17ufn5+7b29vuz8/P7sLCwu66urruurq67rq6uu66urruuLi47ri4uO63t7fut7e37ri4uO7ExMTuz8/P7tra2u7m5ubu8fHx7v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+75+fnu7u7u7uHh4e7V1dXuyMjI7ry8vO62trbutLS07rS0tO60tLTus7Oz7rOzs+6xsbHusbGx7rGxse63t7fuvLy87sLCwu7Hx8fuzMzM7tLS0u7X19fu3t7e7ubm5u7w8PDu+fn57v///+7////u////7v///+7////u////7v///+7////u/v7+7vT09O7n5+fu3d3d7tLS0u7CwsLur6+v7p2dne6Kioruenp67mdnZ+5UVFTuQUFB7jQ0NO4xMTHuLS0t7ikpKe4lJSXuISEh7h0dHe4ZGRnuGhoa7i8vL+5ISEjuX19f7nR0dO6KioruoaGh7ri4uO7Pz8/u0tLS0tLS0rPS0tKU0tLSddLS0lbS0tI20tLSF9LS0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+/AL+/vxC/v78vv7+/Tr+/v26/v7+Mv7+/rL+/v8u/v7/qr6+v7p+fn+6Ojo7ufn5+7m5ubu5dXV3uTExM7jw8PO5ISEjuZGRk7oCAgO6cnJzuuLi47tXV1e7x8fHu////7v///+7////u////7v///+76+vru8vLy7urq6u7j4+Pu29vb7tfX1+7T09Puz8/P7svLy+7Hx8fuw8PD7r+/v+67u7vuwsLC7sjIyO7Pz8/u19fX7t7e3u7m5ubu7e3t7vLy8u709PTu8PDw7u3t7e7q6uru5+fn7uPj4+7i4uLu3t7e7uHh4e7n5+fu8PDw7vb29u79/f3u////7v///+7////u////7v///+78/Pzu7u7u7uLi4u7W1tbuysrK7r6+vu6zs7Puu7u77sPDw+7Ly8vu0tLS7tra2u7j4+Pu6urq7vLy8u75+fnu/v7+7v///+7////u////7v///+7////u////7v///+7////u+Pj47unp6e7a2truysrK7ru7u+6rq6vuoaGh7qGhoe6goKDuoKCg7p+fn+6fn5/un5+f7p+fn+6goKDur6+v7ru7u+7Kysru19fX7uXl5e7y8vLu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47uzs7O7e3t7u0tLS7sTExO64uLjusbGx7rGxse6xsbHus7Oz7rOzs+6zs7Pus7Oz7rOzs+60tLTuurq67sDAwO7Gxsbuy8vL7tHR0e7W1tbu3d3d7uLi4u7q6uru9PT07vz8/O7////u////7v///+7////u////7v///+7////u////7v///+76+vru8fHx7ufn5+7d3d3uzMzM7re3t+6kpKTujo6O7nt7e+5lZWXuUFBQ7jw8PO4tLS3uKioq7icnJ+4lJSXuIiIi7h8fH+4bGxvuGRkZ7hoaGu4vLy/uSEhI7l9fX+50dHTuioqK7qGhoe64uLjuz8/P7tLS0tLS0tKz0tLSlNLS0nXS0tJW0tLSNtLS0hfS0tIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTExADExMQQxMTEL8TExE7ExMRuxMTEjMTExKzExMTLxMTE6rOzs+6goKDujo6O7n5+fu5ra2vuWVlZ7kZGRu40NDTuQEBA7l1dXe57e3vulpaW7rOzs+7R0dHu7u7u7v///+7////u////7v///+78/Pzu8vLy7unp6e7f39/u1tbW7s7Ozu7IyMjuw8PD7r+/v+66urrutra27rCwsO6srKzuqKio7q+vr+63t7fuv7+/7sjIyO7R0dHu2dnZ7uHh4e7p6enu6enp7uXl5e7i4uLu3t7e7tra2u7W1tbu09PT7s/Pz+7S0tLu2tra7uPj4+7s7Ozu9PT07v39/e7////u////7v///+7////u8vLy7uPj4+7V1dXux8fH7ri4uO6pqanunZ2d7qWlpe6wsLDuurq67sLCwu7Ly8vu1tbW7t/f3+7n5+fu8PDw7vX19e78/Pzu////7v///+7////u////7v///+7////u////7vDw8O7d3d3uy8vL7ri4uO6np6fulJSU7oiIiO6IiIjuiIiI7oiIiO6GhobuhoaG7oaGhu6GhobuiIiI7pmZme6oqKjuuLi47srKyu7Z2dnu6enp7vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vX19e7p6enu29vb7s7Ozu7AwMDutLS07q2tre6vr6/ur6+v7rGxse6xsbHus7Oz7rOzs+62trbuuLi47r6+vu7Dw8PuysrK7s/Pz+7V1dXu29vb7uHh4e7n5+fu8PDw7vj4+O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vn5+e7x8fHu6enp7tfX1+7AwMDuqamp7pKSku57e3vuZGRk7k1NTe42NjbuJiYm7iUlJe4iIiLuISEh7h8fH+4dHR3uGxsb7hkZGe4aGhruLy8v7khISO5fX1/udHR07oqKiu6hoaHut7e37s/Pz+7S0tLS0tLSs9LS0pTS0tJ10tLSVtLS0jbS0tIX0tLSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIyMgAyMjIEMjIyC/IyMhOyMjIbsjIyIzIyMisyMjIy8jIyOq3t7fuo6Oj7o6Oju58fHzuaGho7lRUVO5AQEDuKysr7jg4OO5VVVXudHR07pCQkO6vr6/uzMzM7urq6u7////u////7v///+7+/v7u9PT07unp6e7e3t7u09PT7srKyu6/v7/uurq67rS0tO6vr6/uqamp7qSkpO6fn5/umZmZ7pSUlO6cnJzupaWl7q+vr+64uLjuwsLC7szMzO7W1tbu3t7e7t7e3u7Z2dnu1tbW7tHR0e7Ozs7uyMjI7sbGxu7AwMDuxMTE7s7Ozu7Z2dnu4uLi7urq6u719fXu/v7+7v///+7////u+vr67unp6e7Z2dnux8fH7re3t+6np6fulZWV7oaGhu6RkZHunZ2d7qenp+6xsbHuvLy87sjIyO7T09Pu3t7e7ubm5u7t7e3u9PT07vz8/O7////u////7v///+7////u////7vr6+u7m5ubu0dHR7ry8vO6np6fukpKS7n5+fu5wcHDucHBw7nBwcO5wcHDub29v7m9vb+5vb2/ub29v7nJycu6EhITulZWV7qioqO67u7vuzMzM7t/f3+7y8vLu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7y8vLu5ubm7tfX1+7KysruvLy87q+vr+6pqanuq6ur7qysrO6wsLDusbGx7rOzs+60tLTuuLi47ru7u+7AwMDux8fH7s7Ozu7T09Pu2dnZ7t/f3+7m5ubu7e3t7vT09O78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vT09O7i4uLuyMjI7rCwsO6WlpbufHx87mNjY+5JSUnuLy8v7h8fH+4eHh7uHh4e7h0dHe4bGxvuGhoa7hoaGu4ZGRnuGhoa7i8vL+5ISEjuX19f7nR0dO6KioruoaGh7re3t+7Ozs7u0dHR0tHR0bPR0dGU0dHRddHR0VbR0dE20dHRF9HR0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzs7OAM7OzhDOzs4vzs7OTs7Ozm7Ozs6Mzs7OrM7OzsvOzs7qurq67qSkpO6Ojo7ue3t77mVlZe5QUFDuOTk57iMjI+4vLy/uT09P7m5ubu6Kioruqamp7sjIyO7n5+fu////7v///+7////u+fn57u3t7e7h4eHu1dXV7sjIyO68vLzusbGx7qurq+6kpKTun5+f7piYmO6SkpLujIyM7oWFhe6AgIDuiYmJ7pSUlO6fn5/uqamp7rS0tO6/v7/uysrK7tPT0+7T09Puzs7O7srKyu7ExMTuwMDA7ru7u+63t7fusbGx7ra2tu7AwMDuzMzM7tfX1+7i4uLu7u7u7vn5+e7////u////7vT09O7h4eHuzs7O7rq6uu6np6fulJSU7oGBge5ycnLufHx87omJie6VlZXuoaGh7q2tre67u7vux8fH7tPT0+7d3d3u5eXl7u3t7e729vbu/v7+7v///+7////u////7v///+719fXu3d3d7sTExO6tra3ulZWV7n5+fu5nZ2fuWFhY7lhYWO5YWFjuWFhY7ldXV+5XV1fuV1dX7ldXV+5ZWVnub29v7oGBge6WlpburKys7sDAwO7W1tbu7Ozs7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u8fHx7uPj4+7V1dXux8fH7ri4uO6rq6vupaWl7qioqO6rq6vur6+v7rGxse6zs7Putra27rq6uu6+vr7uw8PD7srKyu7R0dHu19fX7t3d3e7j4+Pu6urq7vHx8e74+Pju/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u7e3t7tHR0e62trbumZmZ7n5+fu5jY2PuRkZG7ioqKu4ZGRnuGRkZ7hkZGe4ZGRnuGRkZ7hkZGe4ZGRnuGRkZ7hoaGu4vLy/uSEhI7l9fX+50dHTuioqK7qGhoe63t7fuzs7O7tHR0dLR0dGz0dHRlNHR0XXR0dFW0dHRNtHR0RfR0dEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANHR0QDR0dEQ0dHRL9HR0U7R0dFu0dHRjNHR0azR0dHL0dHR6ry8vO6np6fukJCQ7nt7e+5lZWXuUFBQ7jk5Oe4jIyPuLy8v7k9PT+5sbGzuiYmJ7qenp+7Gxsbu4+Pj7v///+7////u////7vn5+e7w8PDu5eXl7tvb2+7R0dHux8fH7r6+vu63t7fusbGx7qysrO6np6fuoaGh7pubm+6VlZXukJCQ7paWlu6fn5/up6en7q+vr+63t7fuvr6+7sbGxu7MzMzuzMzM7sjIyO7GxsbuwsLC7r+/v+67u7vuuLi47rS0tO64uLjuw8PD7s/Pz+7a2tru5eXl7vHx8e78/Pzu////7v///+75+fnu5+fn7tfX1+7ExMTutLS07qOjo+6SkpLugoKC7o2Nje6ZmZnupKSk7q+vr+66urruxsbG7tHR0e7b29vu5eXl7uzs7O709PTu/Pz87v///+7////u////7v///+7////u+fn57uLi4u7MzMzut7e37qCgoO6KiorudHR07mdnZ+5oaGjuaGho7mhoaO5oaGjuaGho7mpqau5qamrubGxs7oCAgO6RkZHupaWl7ri4uO7Ly8vu3t7e7vLy8u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vb29u7s7Ozu3t7e7tLS0u7ExMTuuLi47rS0tO63t7fuuLi47ry8vO6/v7/uwsLC7sPDw+7Hx8fuy8vL7s/Pz+7W1tbu29vb7uHh4e7m5ubu7Ozs7vLy8u74+Pju/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vHx8e7V1dXuurq67p2dne6AgIDuZGRk7khISO4rKyvuGRkZ7hkZGe4ZGRnuGRkZ7hkZGe4ZGRnuGRkZ7hkZGe4bGxvuMTEx7khISO5dXV3udHR07omJie6goKDutra27szMzO7Pz8/Sz8/Ps8/Pz5TPz891z8/PVs/PzzbPz88Xz8/PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADS0tIA0tLSENLS0i/S0tJO0tLSbtLS0ozS0tKs0tLSy9LS0uq+vr7uqKio7pGRke58fHzuZ2dn7lFRUe46OjruJSUl7jExMe5PT0/ubGxs7oiIiO6lpaXuw8PD7uHh4e79/f3u////7v///+76+vru8vLy7urq6u7i4uLu2tra7tLS0u7Ly8vuxsbG7sDAwO68vLzutra27rGxse6srKzup6en7qOjo+6lpaXuq6ur7q+vr+60tLTuurq67r6+vu7Dw8Pux8fH7sfHx+7ExMTuw8PD7sDAwO6/v7/uvLy87ru7u+64uLjuvr6+7sfHx+7T09Pu3t7e7unp6e719fXu////7v///+7////u////7vHx8e7i4uLu0tLS7sPDw+60tLTupaWl7piYmO6hoaHurKys7ra2tu6/v7/uyMjI7tPT0+7d3d3u5ubm7u3t7e709PTu+vr67v///+7////u////7v///+7////u////7v7+/u7q6uru1dXV7sLCwu6tra3umZmZ7oWFhe56enrue3t77nx8fO58fHzufHx87n5+fu5/f3/ugICA7oKCgu6UlJTupKSk7ra2tu7Hx8fu1tbW7ufn5+75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u9PT07unp6e7e3t7u09PT7sjIyO7ExMTuxsbG7sjIyO7Ly8vuzs7O7s/Pz+7S0tLu1dXV7tfX1+7b29vu4eHh7ubm5u7s7Ozu8PDw7vX19e76+vru/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+719fXu2dnZ7ry8vO6goKDugoKC7mdnZ+5JSUnuLS0t7hoaGu4aGhruGhoa7hoaGu4ZGRnuGRkZ7hkZGe4ZGRnuGxsb7jExMe5ISEjuXV1d7nR0dO6JiYnuoKCg7ra2tu7MzMzuz8/P0s/Pz7PPz8+Uz8/Pdc/Pz1bPz882z8/PF8/PzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA09PTANPT0xDT09Mv09PTTtPT027T09OM09PTrNPT08vT09Pqv7+/7qmpqe6SkpLufn5+7mhoaO5TU1PuPDw87iYmJu4xMTHuT09P7mtra+6GhobupKSk7sDAwO7e3t7u+vr67v///+7////u/Pz87vb29u7w8PDu6urq7uXl5e7e3t7u2dnZ7tXV1e7Pz8/uy8vL7sbGxu7CwsLuvr6+7ri4uO60tLTutra27re3t+64uLjuu7u77ry8vO6+vr7uv7+/7sDAwO7AwMDuwMDA7r+/v+6/v7/uvr6+7ry8vO68vLzuu7u77sLCwu7Ly8vu19fX7uLi4u7t7e3u+fn57v///+7////u////7v///+75+fnu7Ozs7t7e3u7S0tLuxMTE7ri4uO6srKzutLS07r6+vu7Gxsbuzs7O7tbW1u7f39/u5+fn7vDw8O729vbu/Pz87v///+7////u////7v///+7////u////7v///+7////u8fHx7t7e3u7MzMzuurq67qioqO6VlZXuioqK7o2Nje6Ojo7ukJCQ7pGRke6SkpLulJSU7paWlu6ZmZnuqKio7ra2tu7ExMTu1dXV7uLi4u7x8fHu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O7y8vLu6urq7uHh4e7X19fu1dXV7tbW1u7X19fu2tra7t3d3e7e3t7u39/f7uLi4u7l5eXu6enp7u3t7e7x8fHu9fX17vn5+e79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+fn57tvb2+7AwMDuo6Oj7oWFhe5oaGjuTExM7i4uLu4bGxvuGxsb7hsbG+4aGhruGhoa7hoaGu4ZGRnuGRkZ7hsbG+4xMTHuSEhI7l1dXe50dHTuiYmJ7qCgoO62trbuzMzM7s/Pz9LPz8+zz8/PlM/Pz3XPz89Wz8/PNs/PzxfPz88AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANXV1QDV1dUQ1dXVL9XV1U7V1dVu1dXVjNXV1azV1dXL1dXV6sDAwO6rq6vulJSU7n9/f+5qamruVFRU7j09Pe4nJyfuMjIy7k9PT+5ra2vuhYWF7qGhoe6+vr7u2tra7vb29u7////u////7v39/e75+fnu9fX17vLy8u7u7u7u6urq7ubm5u7i4uLu3t7e7tra2u7W1tbu0tLS7s7Ozu7Kysrux8fH7sTExO7Dw8PuwsLC7sDAwO6/v7/uvr6+7ry8vO66urruu7u77ru7u+68vLzuvLy87r6+vu6+vr7uv7+/7r+/v+7Gxsbuz8/P7tvb2+7m5ubu8fHx7v39/e7////u////7v///+7////u////7vb29u7s7Ozu4eHh7tbW1u7Ly8vuwsLC7sjIyO7R0dHu1tbW7t3d3e7l5eXu7Ozs7vT09O76+vru////7v///+7////u////7v///+7////u////7v///+7////u////7vj4+O7n5+fu19fX7sfHx+63t7fup6en7p2dne6goKDuoaGh7qSkpO6lpaXuqKio7qurq+6tra3usLCw7ry8vO7IyMju1dXV7uLi4u7u7u7u+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vb29u7u7u7u5+fn7uXl5e7m5ubu5+fn7urq6u7s7Ozu7e3t7u7u7u7w8PDu8vLy7vX19e74+Pju/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e7f39/uw8PD7qWlpe6IiIjua2tr7k1NTe4vLy/uHR0d7h0dHe4bGxvuGxsb7hoaGu4aGhruGRkZ7hkZGe4bGxvuMTEx7khISO5dXV3udHR07omJie6goKDutra27szMzO7Pz8/Sz8/Ps8/Pz5TPz891z8/PVs/PzzbPz88Xz8/PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tYA1tbWENbW1i/W1tZO1tbWbtbW1ozW1tas1tbWy9bW1urCwsLurKys7pWVle6AgIDua2tr7lVVVe4+Pj7uKSkp7jQ0NO5PT0/uampq7oSEhO6goKDuvLy87tfX1+7y8vLu////7v///+7+/v7u/f397vr6+u75+fnu+Pj47vb29u709PTu8fHx7u3t7e7q6uru5ubm7uLi4u7f39/u29vb7tnZ2e7T09Puz8/P7srKyu7Hx8fuwsLC7r6+vu66urrutLS07rS0tO63t7fuurq67ru7u+6+vr7uv7+/7sDAwO7Dw8PuysrK7tXV1e7f39/u6urq7vX19e7////u////7v///+7////u////7v///+7////u+Pj47u7u7u7m5ubu3t7e7tbW1u7b29vu4uLi7ufn5+7t7e3u8vLy7vn5+e7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u8PDw7uLi4u7T09PuxsbG7re3t+6wsLDusbGx7ra2tu64uLjuu7u77ry8vO7AwMDuw8PD7sfHx+7R0dHu29vb7uXl5e7w8PDu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vb29u719fXu9vb27vb29u75+fnu+fn57vr6+u78/Pzu/f397v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u4+Pj7sfHx+6oqKjuioqK7m5ubu5QUFDuMjIy7h4eHu4eHh7uHR0d7h0dHe4bGxvuGhoa7hoaGu4ZGRnuGxsb7jExMe5ISEjuXV1d7nR0dO6JiYnuoKCg7ra2tu7MzMzuz8/P0s/Pz7PPz8+Uz8/Pdc/Pz1bPz882z8/PF8/PzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA19fXANfX1xDX19cv19fXTtfX127X19eM19fXrNfX18vX19fqw8PD7q2tre6WlpbugYGB7mxsbO5XV1fuQEBA7ioqKu40NDTuT09P7mpqau6CgoLun5+f7rq6uu7V1dXu8PDw7v7+/u7+/v7u////7v///+7////u////7v///+7////u////7v7+/u78/Pzu+fn57vX19e709PTu8fHx7u3t7e7s7Ozu4+Pj7tvb2+7T09PuzMzM7sTExO6+vr7utra27q2tre6vr6/usbGx7ra2tu66urruvLy87r+/v+7Dw8PuxsbG7s7Ozu7Z2dnu4+Pj7u7u7u75+fnu////7v///+7////u////7v///+7////u////7v///+79/f3u+Pj47vHx8e7s7Ozu8PDw7vX19e74+Pju/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vn5+e7t7e3u4eHh7tXV1e7IyMjuwsLC7sTExO7IyMjuzMzM7s/Pz+7S0tLu1tbW7tra2u7e3t7u5ubm7u3t7e719fXu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7ubm5u7Kysruq6ur7o2Nje5wcHDuUVFR7jQ0NO4fHx/uHx8f7h4eHu4dHR3uGxsb7hsbG+4aGhruGRkZ7hsbG+4xMTHuSEhI7l1dXe50dHTuiYmJ7qCgoO62trbuzMzM7s/Pz9LPz8+zz8/PlM/Pz3XPz89Wz8/PNs/PzxfPz88AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ2QDZ2dkQ2dnZL9nZ2U7Z2dlu2dnZjNnZ2azZ2dnL2dnZ6sTExO6vr6/umJiY7oKCgu5ubm7uV1dX7kFBQe4qKiruNTU17k9PT+5oaGjugoKC7pycnO63t7fu0dHR7uzs7O78/Pzu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vLy8u7n5+fu3d3d7tPT0+7IyMjuvr6+7rOzs+6np6fuqKio7q2tre6zs7Put7e37ry8vO7AwMDuxMTE7srKyu7S0tLu3d3d7ufn5+7y8vLu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47u3t7e7j4+Pu2dnZ7tXV1e7X19fu3d3d7t/f3+7l5eXu5+fn7uzs7O7x8fHu9fX17vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7q6uruzMzM7q+vr+6QkJDucnJy7lRUVO41NTXuISEh7h8fH+4fHx/uHh4e7h0dHe4bGxvuGhoa7hkZGe4bGxvuMTEx7khISO5dXV3udHR07omJie6goKDutra27szMzO7Pz8/Sz8/Ps8/Pz5TPz891z8/PVs/PzzbPz88Xz8/PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2toA2traENra2i/a2tpO2trabtra2oza2tqs2tray9ra2urGxsbusLCw7pmZme6EhITub29v7lhYWO5CQkLuKysr7jU1Ne5PT0/uaGho7oGBge6bm5vutLS07s7Ozu7n5+fu+Pj47v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9PT07ubm5u7Z2dnuy8vL7r6+vu6vr6/uoaGh7qOjo+6oqKjur6+v7ra2tu68vLzuwMDA7sfHx+7Ozs7u19fX7uHh4e7s7Ozu9vb27v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru8vLy7urq6u7n5+fu6urq7vDw8O709PTu+fn57v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u7u7u7tHR0e6xsbHukpKS7nR0dO5VVVXuNjY27iIiIu4hISHuHx8f7h4eHu4dHR3uGxsb7hoaGu4ZGRnuGxsb7jExMe5ISEjuXV1d7nR0dO6JiYnuoKCg7ra2tu7MzMzuz8/P0s/Pz7PPz8+Uz8/Pdc/Pz1bPz882z8/PF8/PzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vbANvb2w3b29sp29vbRdvb22Pb29t+29vbm9vb27jb29vUwsLC2q+vr9yZmZnfhoaG4nNzc+RfX1/nSkpK6jU1Ne0+Pj7uVFRU7mtra+6BgYHumJiY7q+vr+7Hx8fu3t7e7u3t7e709PTu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O7u7u7u4uLi7tXV1e7GxsbuuLi47qurq+6srKzus7Oz7ri4uO6/v7/uxsbG7srKyu7R0dHu1tbW7t/f3+7n5+fu8fHx7vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O709PTu8fHx7vX19e76+vru/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vHx8e7V1dXut7e37piYmO57e3vuXV1d7j4+Pu4qKiruKSkp7iYmJu4jIyPuISEh7h4eHu4bGxvuFxcX7hkZGe4uLi7uRUVF7lxcXO5zc3PuiIiI7p+fn+60tLTuy8vL7s7OztLOzs6zzs7OlM7OznXOzs5Wzs7ONs7OzhfOzs4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2wDb29sJ29vbIdvb2zrb29tT29vba9vb24Tb29ud29vbtby8vL6srKzEmZmZy4iIiNF4eHjYZWVl3lVVVeVCQkLrSUlJ7lxcXO5wcHDugoKC7paWlu6pqanuvr6+7tHR0e7f39/u6enp7vHx8e75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9vb27uzs7O7f39/u09PT7sjIyO68vLzuvr6+7sPDw+7IyMjuzs7O7tPT0+7X19fu3d3d7uLi4u7p6enu8fHx7vn5+e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vn5+e78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+719fXu2dnZ7ry8vO6goKDugoKC7mdnZ+5KSkruNjY27jIyMu4tLS3uKSkp7iUlJe4hISHuHR0d7hcXF+4XFxfuLS0t7kRERO5ZWVnucnJy7oaGhu6dnZ3us7Oz7svLy+7Ozs7Szs7Os87OzpTOzs51zs7OVs7OzjbOzs4Xzs7OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29sA29vbBdvb2xnb29su29vbRNvb21jb29tt29vbgtvb25e3t7eiqKiorJmZmbaKiorBfHx8y25ubtVfX1/gUFBQ6lVVVe5kZGTudHR07oSEhO6UlJTupKSk7rS0tO7ExMTu0tLS7t3d3e7m5ubu8fHx7vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u719fXu7Ozs7uHh4e7X19fuzMzM7s7Ozu7S0tLu19fX7tvb2+7h4eHu4+Pj7unp6e7t7e3u8vLy7vn5+e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47t3d3e7CwsLup6en7oyMjO5wcHDuVVVV7kFBQe48PDzuNTU17i8vL+4pKSnuIyMj7h0dHe4WFhbuFBQU7isrK+5CQkLuWFhY7nBwcO6FhYXunJyc7rOzs+7KysruzMzM0szMzLPMzMyUzMzMdczMzFbMzMw2zMzMF8zMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vbANvb2wHb29sS29vbI9vb2zTb29tF29vbVtvb22fb29t4sbGxhqWlpZSZmZmijY2NsYGBgb52dnbNampq211dXelhYWHubm5u7np6eu6FhYXukpKS7p+fn+6rq6vuuLi47sTExO7R0dHu3d3d7unp6e719fXu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vb29u7u7u7u5ubm7t7e3u7f39/u4uLi7ubm5u7q6uru7e3t7vHx8e709PTu+Pj47v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O7i4uLux8fH7q2tre6UlJTue3t77mBgYO5NTU3uRUVF7j09Pe41NTXuLi4u7iYmJu4eHh7uFhYW7hISEu4pKSnuQEBA7ldXV+5ubm7uhISE7pubm+6xsbHuysrK7szMzNLMzMyzzMzMlMzMzHXMzMxWzMzMNszMzBfMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29sA29vbCtvb2xfb29sl29vbMtvb2z/b29tN29vbWqurq2qjo6N8mJiYjpCQkKCGhoaxfHx8xHR0dNVqamrnbGxs7nZ2du5+fn7uhoaG7pCQkO6YmJjuoaGh7qurq+62trbuxMTE7tPT0+7h4eHu8PDw7v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vX19e7u7u7u8PDw7vLy8u719fXu+Pj47vr6+u79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u5ubm7s7Ozu62trbunJyc7oSEhO5ra2vuWFhY7k9PT+5FRUXuPDw87jIyMu4pKSnuHh4e7hQUFO4PDw/uJycn7j4+Pu5VVVXubGxs7oKCgu6ZmZnusbGx7sjIyO7Ly8vSy8vLs8vLy5TLy8t1y8vLVsvLyzbLy8sXy8vLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vbANvb2wLb29sM29vbFdvb2x/b29so29vbMtvb2zulpaVPn5+fZJiYmHqRkZGQioqKpYSEhLt+fn7Qd3d35nh4eO5+fn7ugoKC7oiIiO6NjY3ukpKS7pmZme6fn5/uqKio7rq6uu7IyMju2dnZ7unp6e75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7urq6u7T09PuvLy87qWlpe6NjY3ud3d37mNjY+5YWFjuTU1N7kFBQe42NjbuKysr7h8fH+4UFBTuDg4O7iUlJe48PDzuVFRU7mtra+6CgoLumZmZ7rCwsO7IyMjuy8vL0svLy7PLy8uUy8vLdcvLy1bLy8s2y8vLF8vLywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2wDb29sA29vbANvb2wbb29sL29vbEdvb2xfb29sdoKCgM5ycnEyYmJhllJSUf5CQkJiMjIyyiIiIy4SEhOWCgoLuhYWF7oaGhu6JiYnujIyM7o2Nje6QkJDukpKS7pubm+6tra3uv7+/7tLS0u7j4+Pu9fX17v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7w8PDu2dnZ7sPDw+6tra3ulpaW7oGBge5vb2/uY2Nj7lVVVe5ISEjuPDw87i4uLu4hISHuExMT7gsLC+4jIyPuOjo67lFRUe5qamrugYGB7piYmO6vr6/ux8fH7srKytLKysqzysrKlMrKynXKyspWysrKNsrKyhfKysoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29sA29vbANvb2wDb29sA29vbANvb2wDb29sA29vbAJubmxeZmZk0mJiYUZaWlm+VlZWLlJSUqZKSksaQkJDjjo6O7o2Nje6MjIzuioqK7omJie6IiIjuhoaG7oWFhe6NjY3uoaGh7rS0tO7Kysru3d3d7vHx8e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9PT07t7e3u7Ly8vutra27qGhoe6MjIzuenp67mxsbO5cXFzuTU1N7kBAQO4vLy/uISEh7hMTE+4ICAjuISEh7jg4OO5QUFDuaGho7oCAgO6Wlpbur6+v7sfHx+7KysrSysrKs8rKypTKysp1ysrKVsrKyjbKysoXysrKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbm5sJm5ubKJubm0ebm5tnm5ubhZubm6Wbm5vEm5ub45aWlu6UlJTujo6O7oqKiu6GhobugYGB7n9/f+57e3vugYGB7paWlu6rq6vuwsLC7tbW1u7t7e3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vj4+O7l5eXu0tLS7r+/v+6srKzumJiY7oWFhe53d3fuZWVl7lRUVO5ERETuNDQ07iIiIu4SEhLuBwcH7h8fH+42NjbuT09P7mdnZ+5/f3/ulZWV7qysrO7ExMTux8fH0sfHx7PHx8eUx8fHdcfHx1bHx8c2x8fHF8fHxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoaGhCaGhoSihoaFHoaGhZ6GhoYWhoaGloaGhxKGhoeOcnJzulpaW7o6Oju6JiYnuhISE7nx8fO53d3fucHBw7nZ2du6NjY3uo6Oj7rq6uu7R0dHu5+fn7v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vr6+u74+Pju9PT07vDw8O7u7u7u7e3t7uzs7O7s7Ozu6urq7urq6u7p6enu5+fn7uzs7O7u7u7u8vLy7vj4+O78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v7+/u79/f3u/Pz87vr6+u74+Pju9vb27vX19e729vbu+vr67v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu6urq7tra2u7IyMjut7e37qWlpe6SkpLugYGB7m9vb+5cXFzuSUlJ7jY2Nu4jIyPuEhIS7gQEBO4dHR3uNDQ07kxMTO5kZGTue3t77pGRke6pqanuwsLC7sTExNLExMSzxMTElMTExHXExMRWxMTENsTExBfExMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKioqAmoqKgoqKioR6ioqGeoqKiFqKiopaioqMSoqKjjoaGh7pmZme6QkJDuiIiI7oCAgO53d3fub29v7mdnZ+5ra2vugoKC7pubm+6zs7PuysrK7uLi4u76+vru////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u/Pz87vr6+u75+fnu9vb27vX19e7y8vLu8fHx7vHx8e709PTu+Pj47vr6+u7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e74+Pju8vLy7u3t7e7m5ubu4eHh7tvb2+7W1tbu1dXV7tXV1e7T09Pu09PT7tLS0u7S0tLu0tLS7tHR0e7V1dXu2dnZ7t3d3e7i4uLu5ubm7uzs7O7w8PDu9fX17vb29u719fXu9PT07vHx8e7w8PDu7u7u7uzs7O7q6uru5+fn7ubm5u7l5eXu4uLi7uHh4e7e3t7u3d3d7tvb2+7Z2dnu3d3d7uHh4e7l5eXu6urq7u7u7u7y8vLu9fX17vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vHx8e7h4eHu0tLS7sLCwu6xsbHuoKCg7oyMjO54eHjuY2Nj7k9PT+46OjruJiYm7hISEu4DAwPuGhoa7jExMe5JSUnuYWFh7nh4eO6Ojo7up6en7r+/v+7CwsLSwsLCs8LCwpTCwsJ1wsLCVsLCwjbCwsIXwsLCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtra0Jra2tKK2trUetra1nra2tha2traWtra3Era2t46enp+6cnJzukZGR7oaGhu58fHzucnJy7mdnZ+5cXFzuYGBg7np6eu6RkZHuq6ur7sTExO7e3t7u9vb27v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vn5+e7y8vLu7e3t7urq6u7n5+fu5eXl7uLi4u7f39/u3d3d7tra2u7a2tru3t7e7uPj4+7p6enu7e3t7vLy8u74+Pju/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u/f397v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e78/Pzu+vr67vj4+O7x8fHu6enp7uLi4u7a2tru0tLS7svLy+7ExMTuvLy87ru7u+67u7vuu7u77ru7u+67u7vuu7u77rq6uu66urruvr6+7sLCwu7Hx8fuzMzM7tHR0e7W1tbu29vb7uHh4e7i4uLu39/f7t3d3e7a2tru2dnZ7tXV1e7T09Pu0dHR7s7Ozu7Ly8vuysrK7sfHx+7Gxsbuw8PD7sLCwu6/v7/uvr6+7sLCwu7IyMjuzs7O7tPT0+7Z2dnu3t7e7uLi4u7p6enu8PDw7vj4+O7+/v7u////7v///+7////u////7v///+7////u////7v///+729vbu6enp7tvb2+7MzMzuv7+/7q2tre6YmJjugYGB7mtra+5UVFTuPT097icnJ+4QEBDuAAAA7hkZGe4vLy/uRkZG7l9fX+52dnbujIyM7qSkpO67u7vuvr6+0r6+vrO+vr6Uvr6+db6+vla+vr42vr6+F76+vgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0CbS0tCi0tLRHtLS0Z7S0tIW0tLSltLS0xLS0tOOrq6vun5+f7pGRke6FhYXuenp67mtra+5fX1/uU1NT7lVVVe5wcHDuiYmJ7qSkpO6+vr7u2dnZ7vT09O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+vr67vLy8u7q6uru4uLi7tvb2+7Z2dnu1dXV7tLS0u7Ozs7uysrK7sfHx+7Dw8Puw8PD7srKyu7R0dHu1tbW7t3d3e7j4+Pu6urq7vDw8O729vbu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru8vLy7vHx8e7y8vLu9PT07vX19e729vbu+Pj47vn5+e76+vru+vr67vn5+e729vbu9vb27vX19e7y8vLu8fHx7vDw8O7t7e3u4+Pj7tra2u7R0dHux8fH7r6+vu62trburKys7qOjo+6jo6Puo6Oj7qOjo+6jo6Puo6Oj7qOjo+6jo6Puo6Oj7qenp+6srKzusLCw7re3t+68vLzuwsLC7sbGxu7Ly8vuzMzM7srKyu7Hx8fuw8PD7sDAwO68vLzuurq67re3t+6zs7PusbGx7q+vr+6srKzuq6ur7qioqO6lpaXupKSk7qGhoe6oqKjur6+v7ra2tu68vLzuw8PD7srKyu7Pz8/u19fX7uHh4e7q6uru9PT07v39/e7////u////7v///+7////u////7v///+7////u/f397vHx8e7l5eXu2dnZ7svLy+67u7vuo6Oj7oqKiu5ycnLuWVlZ7kFBQe4pKSnuEBAQ7gAAAO4WFhbuLS0t7kRERO5cXFzuc3Nz7omJie6hoaHuuLi47ru7u9K7u7uzu7u7lLu7u3W7u7tWu7u7Nru7uxe7u7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALu7uwm7u7sou7u7R7u7u2e7u7uFu7u7pbu7u8S7u7vjsLCw7qOjo+6SkpLuhISE7nZ2du5lZWXuV1dX7khISO5KSkruZ2dn7oGBge6dnZ3uuLi47tXV1e7w8PDu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+vr67vDw8O7m5ubu3d3d7tLS0u7Ly8vuxsbG7sPDw+6+vr7uurq67ra2tu6xsbHura2t7qysrO60tLTuvLy87sPDw+7Ly8vu09PT7tvb2+7j4+Pu7Ozs7vT09O76+vru////7v///+7////u////7v///+7////u////7v///+7////u////7v///+74+Pju8PDw7ubm5u7l5eXu5eXl7ufn5+7p6enu6urq7u3t7e7u7u7u8PDw7vDw8O7u7u7u7Ozs7uzs7O7q6uru5+fn7ubm5u7l5eXu4uLi7tbW1u7Ly8vuwMDA7ra2tu6rq6vuoKCg7pWVle6JiYnuiYmJ7omJie6KioruioqK7oqKiu6MjIzujIyM7oyMjO6RkZHulpaW7pubm+6hoaHup6en7qysrO6xsbHut7e37ri4uO60tLTusbGx7qysrO6pqanupKSk7qGhoe6dnZ3umZmZ7paWlu6VlZXukZGR7pCQkO6NjY3uioqK7omJie6GhobujY2N7paWlu6dnZ3upaWl7q2tre62trbuvLy87sbGxu7R0dHu3d3d7ufn5+709PTu////7v///+7////u////7v///+7////u////7v///+74+Pju7e3t7uPj4+7X19fux8fH7q2tre6SkpLueHh47l9fX+5ERETuKioq7hAQEO4AAADuExMT7ioqKu5CQkLuWVlZ7nBwcO6Ghobun5+f7ra2tu64uLjSuLi4s7i4uJS4uLh1uLi4Vri4uDa4uLgXuLi4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCwsIJwsLCKMLCwkfCwsJnwsLChcLCwqXCwsLEwsLC47a2tu6lpaXukpKS7oGBge5ycnLuYGBg7k9PT+4+Pj7uQEBA7lxcXO56enrulZWV7rGxse7Pz8/u7Ozs7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397vHx8e7l5eXu2tra7s7Ozu7CwsLuurq67rS0tO6wsLDuq6ur7qWlpe6goKDunJyc7paWlu6VlZXun5+f7qioqO6wsLDuu7u77sTExO7Ozs7u1tbW7t/f3+7p6enu8vLy7vz8/O7////u////7v///+7////u////7v///+7////u////7v///+74+Pju7u7u7uPj4+7a2tru19fX7tnZ2e7a2tru3d3d7t/f3+7h4eHu4+Pj7uPj4+7l5eXu4+Pj7uHh4e7f39/u3t7e7t3d3e7b29vu2tra7tbW1u7IyMjuvLy87rCwsO6jo6PulpaW7oqKiu5+fn7ucHBw7nBwcO5ycnLucnJy7nNzc+5zc3PudHR07nZ2du52dnbue3t77oCAgO6FhYXuioqK7pGRke6YmJjunJyc7qOjo+6jo6Pun5+f7pubm+6VlZXukZGR7oyMjO6IiIjuhISE7n9/f+5+fn7ue3t77nd3d+50dHTuc3Nz7nBwcO5ubm7ua2tr7nR0dO5+fn7uhYWF7o6Oju6YmJjuoaGh7qmpqe6zs7PuwMDA7s7Ozu7d3d3u6urq7vn5+e7////u////7v///+7////u////7v///+7////u////7vb29u7u7u7u5eXl7tXV1e66urrunJyc7oCAgO5lZWXuSEhI7isrK+4PDw/uAAAA7hAQEO4nJyfuQEBA7ldXV+5ubm7uhISE7pubm+6zs7Putra20ra2trO2traUtra2dba2tla2trY2tra2F7a2tgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjICcjIyCjIyMhHyMjIZ8jIyIXIyMilyMjIxMjIyOO7u7vuqKio7pSUlO6AgIDubm5u7ltbW+5GRkbuNDQ07jU1Ne5TU1PucHBw7o6Oju6srKzuysrK7ufn5+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vX19e7n5+fu2tra7szMzO6/v7/usbGx7qioqO6hoaHunZ2d7paWlu6RkZHuioqK7oWFhe6AgIDuf39/7omJie6UlJTun5+f7qmpqe60tLTuv7+/7srKyu7V1dXu39/f7unp6e709PTu/v7+7v///+7////u////7v///+7////u////7v///+79/f3u8fHx7uXl5e7Z2dnuzMzM7svLy+7Ly8vuzs7O7tHR0e7T09Pu1tbW7tnZ2e7Z2dnu2tra7tnZ2e7W1tbu1dXV7tPT0+7S0tLu0dHR7s/Pz+7Ly8vuvLy87q2tre6goKDukZGR7oKCgu50dHTuZWVl7ldXV+5XV1fuWFhY7llZWe5bW1vuXFxc7lxcXO5dXV3uX19f7mRkZO5ra2vucHBw7nZ2du58fHzugoKC7oiIiO6Ojo7ujo6O7omJie6FhYXuf39/7np6eu50dHTub29v7mtra+5lZWXuY2Nj7mBgYO5cXFzuWVlZ7ldXV+5VVVXuU1NT7lBQUO5ZWVnuZGRk7m9vb+54eHjugoKC7o2Nje6WlpbuoaGh7rCwsO7AwMDu0dHR7uHh4e7y8vLu////7v///+7////u////7v///+7////u////7v///+7////u+fn57vHx8e7i4uLuxMTE7qWlpe6Ghobua2tr7kxMTO4uLi7uDw8P7gAAAO4PDw/uJiYm7j09Pe5UVFTua2tr7oGBge6YmJjur6+v7rGxsdKxsbGzsbGxlLGxsXWxsbFWsbGxNrGxsRexsbEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7OzgnOzs4ozs7OR87OzmfOzs6Fzs7Opc7OzsTOzs7jv7+/7qurq+6VlZXugICA7mxsbO5XV1fuQUFB7isrK+4rKyvuSkpK7mpqau6IiIjup6en7sbGxu7l5eXu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e7w8PDu4eHh7tPT0+7ExMTut7e37qmpqe6fn5/umJiY7pKSku6MjIzuhYWF7n9/f+56enruc3Nz7nJycu5+fn7uiYmJ7pSUlO6goKDuq6ur7re3t+7CwsLuzs7O7tra2u7l5eXu8fHx7vr6+u7////u////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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANLS0gnS0tIo0tLSR9LS0mfS0tKF0tLSpdLS0sTS0tLjw8PD7q+vr+6YmJjugYGB7m5ubu5XV1fuQUFB7isrK+4rKyvuSUlJ7mVlZe6EhITuoKCg7r6+vu7b29vu+fn57v///+7////u////7v///+76+vru9fX17vHx8e7q6uru5ubm7ufn5+7p6enu7Ozs7u3t7e7u7u7u8fHx7vLy8u709PTu8PDw7urq6u7l5eXu39/f7tra2u7V1dXuz8/P7sjIyO7Dw8Puu7u77ra2tu6tra3up6en7qCgoO6ZmZnukpKS7pGRke6cnJzuqKio7rOzs+6/v7/uysrK7tbW1u7h4eHu7e3t7vX19e78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e709PTu7Ozs7uLi4u7f39/u4eHh7uPj4+7l5eXu5ubm7unp6e7s7Ozu7Ozs7u3t7e7t7e3u7e3t7u3t7e7t7e3u7e3t7uzs7O7t7e3u6urq7t/f3+7W1tbuy8vL7sDAwO62trburKys7qGhoe6WlpbulpaW7piYmO6bm5vunJyc7p2dne6fn5/uoKCg7qGhoe6kpKTuqKio7qurq+6tra3usLCw7rS0tO62trbuurq67ri4uO60tLTur6+v7qurq+6lpaXuoaGh7pycnO6YmJjulJSU7pSUlO6SkpLukZGR7pGRke6QkJDukJCQ7o6Oju6Ojo7ulZWV7p2dne6kpKTuq6ur7rOzs+67u7vuwsLC7srKyu7V1dXu39/f7urq6u729vbu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+fn57tra2u64uLjulpaW7nh4eO5XV1fuNjY27hYWFu4AAADuDw8P7iUlJe45OTnuTU1N7mFhYe52dnbuiYmJ7p2dne6goKDSoKCgs6CgoJSgoKB1oKCgVqCgoDagoKAXoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV1dUJ1dXVKNXV1UfV1dVn1dXVhdXV1aXV1dXE1dXV48bGxu6wsLDumZmZ7oKCgu5ubm7uWFhY7kFBQe4rKyvuKioq7khISO5kZGTugYGB7p+fn+67u7vu2dnZ7vX19e7////u////7v///+75+fnu9fX17u7u7u7p6enu4+Pj7t7e3u7f39/u4eHh7uHh4e7i4uLu4+Pj7ubm5u7n5+fu6enp7ufn5+7l5eXu4uLi7t7e3u7b29vu2tra7tbW1u7T09Puz8/P7sfHx+7AwMDuurq67rOzs+6rq6vupKSk7p2dne6cnJzup6en7rOzs+6+vr7uysrK7tXV1e7h4eHu7Ozs7vj4+O79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+vr67vT09O7q6uru6urq7urq6u7s7Ozu7u7u7vDw8O7x8fHu9PT07vT09O719fXu9vb27vb29u729vbu+Pj47vj4+O74+Pju+Pj47vb29u7u7u7u5eXl7t3d3e7T09PuysrK7sLCwu64uLjusLCw7rCwsO6xsbHutLS07ra2tu63t7fuuLi47ru7u+68vLzuvr6+7sDAwO7CwsLuw8PD7sbGxu7IyMjuysrK7svLy+7KysruxsbG7sLCwu6+vr7uurq67rS0tO6wsLDurKys7qmpqe6pqanuqKio7qioqO6oqKjuqKio7qioqO6oqKjuqKio7q2tre60tLTuurq67sDAwO7Hx8fuzs7O7tPT0+7a2tru4+Pj7uzs7O719fXu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e7d3d3uvLy87pubm+57e3vuWVlZ7jk5Oe4XFxfuAAAA7hAQEO4lJSXuODg47kxMTO5fX1/uc3Nz7oaGhu6ZmZnunJyc0pycnLOcnJyUnJycdZycnFacnJw2nJycF5ycnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1tbWCdbW1ijW1tZH1tbWZ9bW1oXW1tal1tbWxNbW1uPHx8fusbGx7pmZme6EhITubm5u7lhYWO5BQUHuKysr7ioqKu5GRkbuY2Nj7oCAgO6cnJzuuLi47tXV1e7x8fHu////7v///+76+vru9PT07u7u7u7n5+fu4uLi7tvb2+7V1dXu1tbW7tfX1+7X19fu2dnZ7tra2u7b29vu3d3d7t3d3e7e3t7u3t7e7t7e3u7e3t7u3t7e7t7e3u7e3t7u3t7e7tvb2+7T09PuzMzM7sTExO6+vr7ut7e37q+vr+6oqKjup6en7rGxse68vLzuyMjI7tPT0+7f39/u6urq7vb29u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu9PT07vT09O709PTu9fX17vj4+O74+Pju+vr67vz8/O78/Pzu/f397v7+/u7////u////7v///+7////u////7v///+7////u/Pz87vX19e7u7u7u5ubm7t7e3u7X19fu0dHR7srKyu7Kysruy8vL7s7Ozu7Pz8/u0dHR7tLS0u7V1dXu1tbW7tfX1+7Z2dnu2dnZ7tra2u7a2tru29vb7t3d3e7d3d3u3d3d7tfX1+7T09Puz8/P7szMzO7IyMjuxMTE7sDAwO6+vr7uv7+/7r+/v+6/v7/uv7+/7r+/v+7AwMDuwMDA7sLCwu7Gxsbuy8vL7tHR0e7V1dXu29vb7t/f3+7l5eXu6urq7vHx8e75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u4eHh7sDAwO6dnZ3ufn5+7lxcXO46OjruGhoa7gAAAO4SEhLuJSUl7jg4OO5KSkruXV1d7nBwcO6CgoLulZWV7piYmNKYmJizmJiYlJiYmHWYmJhWmJiYNpiYmBeYmJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX1wnX19co19fXR9fX12fX19eF19fXpdfX18TX19fjyMjI7rOzs+6bm5vuhISE7m9vb+5YWFjuQUFB7isrK+4qKiruRkZG7mFhYe5/f3/um5ub7ra2tu7S0tLu7u7u7v///+78/Pzu9fX17u7u7u7p6enu4eHh7tra2u7T09PuzMzM7szMzO7Ozs7uzs7O7s/Pz+7Pz8/u0dHR7tLS0u7S0tLu1dXV7tnZ2e7b29vu3d3d7t/f3+7j4+Pu5ubm7unp6e7n5+fu39/f7tnZ2e7R0dHuysrK7sLCwu66urrus7Oz7rGxse68vLzux8fH7tPT0+7e3t7u6enp7vX19e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e79/f3u/f397v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vn5+e709PTu7e3t7ufn5+7i4uLu4+Pj7uXl5e7n5+fu6enp7uzs7O7t7e3u7u7u7vDw8O7x8fHu8fHx7vHx8e7w8PDu8PDw7vDw8O7w8PDu7u7u7u7u7u7p6enu5ubm7uLi4u7f39/u29vb7tnZ2e7V1dXu0tLS7tPT0+7V1dXu1dXV7tfX1+7X19fu2dnZ7tra2u7b29vu39/f7uPj4+7m5ubu6urq7vDw8O7y8vLu9vb27vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7uXl5e7Dw8PuoaGh7oCAgO5fX1/uPT097hsbG+4AAADuEhIS7iUlJe42NjbuSUlJ7ltbW+5ubm7uf39/7pCQkO6SkpLSkpKSs5KSkpSSkpJ1kpKSVpKSkjaSkpIXkpKSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ2dkJ2dnZKNnZ2UfZ2dln2dnZhdnZ2aXZ2dnE2dnZ48rKyu60tLTunJyc7oWFhe5vb2/uWFhY7kFBQe4rKyvuKioq7kVFRe5gYGDufn5+7piYmO6zs7Puz8/P7urq6u7+/v7u+Pj47vDw8O7p6enu4uLi7tra2u7T09Puy8vL7sTExO7ExMTuxMTE7sTExO7GxsbuxsbG7sbGxu7Gxsbux8fH7svLy+7S0tLu19fX7t3d3e7i4uLu6enp7u7u7u709PTu9PT07uzs7O7j4+Pu29vb7tXV1e7MzMzuxsbG7r+/v+68vLzux8fH7tLS0u7e3t7u6enp7vT09O7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87v39/e7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vj4+O719fXu8vLy7vDw8O7s7Ozu6enp7ufn5+7p6enu6urq7uzs7O7u7u7u7u7u7vHx8e709PTu9fX17vj4+O76+vru/f397v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7p6enux8fH7qSkpO6CgoLuYWFh7kBAQO4eHh7uAgIC7hMTE+4lJSXuNjY27khISO5YWFjua2tr7nt7e+6MjIzujo6O0o6OjrOOjo6Ujo6OdY6OjlaOjo42jo6OF46OjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vbCNvb2yfb29tG29vbZtvb24Tb29uk29vbw9vb2+LLy8vttLS07ZycnO2FhYXtcHBw7VlZWe1CQkLtKysr7SoqKu5FRUXuYGBg7nx8fO6VlZXusLCw7svLy+7m5ubu+vr67vLy8u7q6uru4uLi7t3d3e7V1dXuzMzM7sTExO68vLzuvLy87ry8vO68vLzuvLy87ry8vO68vLzuvLy87ry8vO7Dw8PuzMzM7tXV1e7d3d3u5eXl7u7u7u729vbu/v7+7v///+74+Pju8PDw7ufn5+7h4eHu2dnZ7tHR0e7Kysrux8fH7tLS0u7d3d3u6enp7vT09O7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e78/Pzu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u7e3t7svLy+6oqKjuhoaG7mRkZO5CQkLuISEh7gQEBO4UFBTuJiYm7jY2Nu5GRkbuV1dX7mhoaO54eHjuiIiI7oqKitKKioqzioqKlIqKinWKiopWioqKNoqKiheKiooAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2wXb29sg29vbO9vb21fb29ty29vbjtvb26nb29vEw8PD0K+vr9SZmZnYhYWF3HJyct9fX1/jSkpK5zY2Nus1NTXuTU1N7mRkZO5+fn7ulJSU7qysrO7ExMTu29vb7u7u7u7q6uru5eXl7t/f3+7d3d3u19fX7tPT0+7Ozs7uysrK7srKyu7KysruysrK7srKyu7KysruysrK7srKyu7Kysruz8/P7tfX1+7e3t7u5ubm7u3t7e719fXu/Pz87v///+7////u/Pz87vX19e7t7e3u5ubm7t7e3u7W1tbuz8/P7szMzO7X19fu4eHh7u3t7e729vbu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vDw8O7Pz8/ura2t7o2Nje5ubm7uTU1N7isrK+4QEBDuHx8f7i8vL+4+Pj7uTU1N7lxcXO5sbGzue3t77omJie6KiorSioqKs4qKipSKiop1ioqKVoqKijaKiooXioqKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29sC29vbGdvb2zHb29tJ29vbX9vb23jb29uP29vbprq6urOoqKi7lpaWw4WFhcp0dHTSY2Nj2lNTU+FBQUHpQEBA7lVVVe5qamruf39/7pSUlO6oqKjuvLy87tLS0u7i4uLu4eHh7t/f3+7e3t7u3d3d7tvb2+7a2tru2dnZ7tfX1+7X19fu19fX7tfX1+7X19fu1tbW7tbW1u7W1tbu1tbW7tvb2+7i4uLu6enp7u7u7u719fXu/Pz87v///+7////u////7v///+75+fnu8vLy7uzs7O7j4+Pu29vb7tbW1u7T09Pu3d3d7ubm5u7x8fHu+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+709PTu1dXV7rS0tO6VlZXudnZ27ldXV+44ODjuHh4e7isrK+45OTnuRkZG7lRUVO5hYWHucHBw7n5+fu6JiYnujIyM0oyMjLOMjIyUjIyMdYyMjFaMjIw2jIyMF4yMjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vbANvb2xLb29sm29vbOtvb203b29th29vbddvb24mxsbGXo6OjopKSkq2FhYW5d3d3xGhoaNBbW1vbTExM50pKSu5dXV3ub29v7oCAgO6SkpLupKSk7ra2tu7Hx8fu1tbW7tfX1+7Z2dnu29vb7t7e3u7f39/u4eHh7uLi4u7j4+Pu4+Pj7uPj4+7j4+Pu4+Pj7uPj4+7j4+Pu4+Pj7uPj4+7n5+fu7u7u7vLy8u74+Pju/f397v///+7////u////7v///+7////u/v7+7vj4+O7x8fHu6enp7uLi4u7b29vu2dnZ7uLi4u7s7Ozu9fX17v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+Pj47tra2u67u7vunZ2d7n9/f+5hYWHuRERE7ioqKu42NjbuRERE7lBQUO5bW1vuZ2dn7nR0dO6AgIDuioqK7o2NjdKNjY2zjY2NlI2NjXWNjY1WjY2NNo2NjReNjY0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2wDb29sM29vbG9vb2yzb29s729vbS9vb21vb29trqKioepycnImQkJCYhYWFqHp6erdubm7GY2Nj1VdXV+VVVVXuZWVl7nNzc+6BgYHukZGR7p+fn+6tra3uvLy87srKyu7Pz8/u09PT7tnZ2e7e3t7u4uLi7ufn5+7s7Ozu8fHx7vHx8e7x8fHu8fHx7vHx8e7x8fHu8fHx7vHx8e7x8fHu9PT07vn5+e79/f3u////7v///+7////u////7v///+7////u////7v///+79/f3u9vb27vDw8O7n5+fu4uLi7t/f3+7n5+fu8PDw7vn5+e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u7e3t7uwsLC7qWlpe6IiIjubGxs7k9PT+44ODjuQUFB7k1NTe5YWFjuY2Nj7m5ubu54eHjugoKC7oyMjO6Ojo7Sjo6Os46OjpSOjo51jo6OVo6OjjaOjo4Xjo6OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29sA29vbBdvb2xHb29sd29vbKdvb2zXb29tB29vbTZ+fn12WlpZwjY2Ng4SEhJd8fHypc3NzvWpqatBhYWHiYGBg7mxsbO54eHjuhISE7pCQkO6bm5vup6en7rGxse6+vr7uxsbG7szMzO7W1tbu3t7e7ubm5u7u7u7u9vb27v7+/u7+/v7u/v7+7v7+/u7+/v7u/f397v39/e79/f3u/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O719fXu7u7u7ufn5+7l5eXu7e3t7vX19e79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u4+Pj7sfHx+6srKzukZGR7nd3d+5bW1vuRERE7k1NTe5XV1fuYGBg7mpqau5zc3PufHx87oWFhe6NjY3ukJCQ0pCQkLOQkJCUkJCQdZCQkFaQkJA2kJCQF5CQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vbANvb2wDb29sG29vbDtvb2xbb29sf29vbJ9vb2zCWlpZAkJCQV4qKim6EhISFf39/m3h4eLNycnLKbGxs4GxsbO50dHTufn5+7oWFhe6Ojo7ulpaW7p+fn+6oqKjusLCw7ry8vO7Hx8fu09PT7t/f3+7q6uru9fX17v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+vr67vT09O7u7u7u7Ozs7vLy8u76+vru////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7unp6e7Ozs7utLS07pubm+6AgIDuZ2dn7lFRUe5YWFjuYWFh7mpqau5wcHDueHh47oCAgO6IiIjujo6O7pGRkdKRkZGzkZGRlJGRkXWRkZFWkZGRNpGRkReRkZEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2wDb29sA29vbANvb2wDb29sE29vbCdvb2w3b29sSjY2NJIqKij6GhoZZhISEdICAgI5+fn6penp6xHd3d953d3fufHx87oGBge6GhobujY2N7pGRke6YmJjunZ2d7qSkpO6zs7PuwsLC7tHR0e7f39/u7e3t7vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+75+fnu9PT07vHx8e74+Pju/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7t7e3u1dXV7ry8vO6jo6PuioqK7nJycu5dXV3uY2Nj7mtra+5ycnLud3d37n5+fu6EhITuioqK7pCQkO6RkZHSkZGRs5GRkZSRkZF1kZGRVpGRkTaRkZEXkZGRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vbANvb2wDb29sA29vbANvb2wDb29sA29vbAIWFhQeEhIQlhISERISEhGOCgoKAgoKCn4GBgb6BgYHcgYGB7oSEhO6GhobuiIiI7oyMjO6NjY3ukZGR7pKSku6YmJjuq6ur7ru7u+7Ozs7u39/f7vHx8e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vr6+u74+Pju/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u8vLy7tvb2+7Dw8PurKys7pWVle5+fn7ua2tr7m9vb+50dHTuenp67n5+fu6EhITuiIiI7o2Nje6RkZHukpKS0pKSkrOSkpKUkpKSdZKSklaSkpI2kpKSF5KSkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKiooCioqKIYqKikCKiopgioqKfoqKip6Kioq9ioqK3ImJie6KioruiYmJ7oiIiO6JiYnuiIiI7omJie6IiIjujIyM7qCgoO6zs7PuxsbG7tra2u7t7e3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/Pz87vX19e7u7u7u7Ozs7vLy8u76+vru////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vb29u7h4eHuzMzM7re3t+6hoaHuioqK7np6eu57e3vufn5+7n9/f+6AgIDugoKC7oSEhO6GhobuiIiI7oqKitSNjY24jo6OnJGRkYCSkpJklZWVSJiYmCyZmZkQ29vbBdvb2wLb29sA29vbANvb2wDb29sA29vbANvb2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkpKSApKSkiGSkpJAkpKSYJKSkn6SkpKekpKSvZKSktyRkZHujo6O7oyMjO6IiIjuhoaG7oKCgu6BgYHufn5+7oCAgO6UlJTuqKio7r6+vu7T09Pu5+fn7v39/e7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+79/f3u9vb27u7u7u7m5ubu39/f7t3d3e7l5eXu8PDw7vj4+O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu+vr67vr6+u7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397v39/e79/f3u/f397vz8/O78/Pzu+vr67vr6+u75+fnu+fn57vn5+e74+Pju9vb27vX19e719fXu9fX17vT09O709PTu9PT07vLy8u7y8vLu8vLy7vLy8u7x8fHu9PT07vn5+e79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+76+vru5+fn7tXV1e7AwMDura2t7pmZme6IiIjuhoaG7oWFhe6EhITugYGB7oGBge5/f3/ufn5+7nx8fO6AgIDYhYWFv4mJiaeOjo6PkpKSd5iYmF6cnJxGoaGhLtvb2yLb29sb29vbFNvb2w3b29sH29vbANvb2wDb29sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJycnAKcnJwhnJycQJycnGCcnJx+nJycnpycnL2cnJzcmZmZ7pSUlO6Ojo7uiIiI7oKCgu5+fn7ueHh47nNzc+5zc3PuiYmJ7p+fn+62trbuy8vL7uLi4u74+Pju////7v///+7////u////7v///+7////u////7v///+76+vru9fX17vb29u75+fnu/Pz87v7+/u7////u////7v///+7////u////7v///+76+vru8fHx7unp6e7h4eHu19fX7s/Pz+7MzMzu2dnZ7uPj4+7u7u7u+fn57v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e74+Pju9PT07vDw8O7s7Ozu5ubm7uLi4u7i4uLu6enp7vDw8O729vbu/f397v///+7////u////7v///+7////u////7v///+7////u/f397vb29u7y8vLu7e3t7uzs7O7q6uru6enp7ubm5u7l5eXu5eXl7uLi4u7h4eHu39/f7t/f3+7e3t7u3d3d7t3d3e7b29vu2tra7tra2u7Z2dnu2dnZ7tra2u7a2tru2tra7tra2u7a2tru2tra7tvb2+7j4+Pu7Ozs7vLy8u78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u/Pz87vn5+e729vbu9PT07vHx8e709PTu+vr67v///+7////u////7v///+7////u////7v///+7////u////7u7u7u7d3d3uy8vL7rq6uu6oqKjumJiY7pKSku6NjY3uiYmJ7oSEhO5/f3/uenp67nR0dO5vb2/udnZ2235+fseEhISyjIyMnpKSkombm5t0oaGhYKmpqUvb29s+29vbNNvb2ynb29sf29vbFNvb2wnb29sA29vbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQCpKSkIaSkpECkpKRgpKSkfqSkpJ6kpKS9pKSk3KCgoO6ZmZnukJCQ7oiIiO6AgIDueHh47nBwcO5oaGjuZ2dn7n9/f+6VlZXurKys7sTExO7b29vu9PT07v///+7////u////7v///+7////u////7vr6+u7y8vLu7Ozs7uPj4+7l5eXu6enp7u3t7e7x8fHu9vb27vr6+u7+/v7u////7v///+729vbu7u7u7uXl5e7b29vu09PT7srKyu7AwMDuvr6+7svLy+7X19fu5eXl7vHx8e7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vn5+e74+Pju+Pj47vj4+O729vbu9vb27vb29u729vbu9vb27vLy8u7t7e3u5+fn7uLi4u7b29vu1tbW7tHR0e7Ly8vuy8vL7tXV1e7d3d3u5ubm7vDw8O74+Pju////7v///+7////u////7v///+78/Pzu9vb27vDw8O7n5+fu4uLi7tvb2+7Z2dnu1tbW7tPT0+7R0dHuz8/P7szMzO7Kysrux8fH7sbGxu7ExMTuxMTE7sPDw+7CwsLuwMDA7sDAwO6/v7/uv7+/7r+/v+6/v7/uwMDA7sDAwO7CwsLuwsLC7sLCwu7ExMTuz8/P7tnZ2e7i4uLu7e3t7vb29u7////u////7v///+7////u////7v///+7////u////7v///+7+/v7u/Pz87vj4+O709PTu8PDw7u3t7e7p6enu5eXl7uHh4e7e3t7u4eHh7urq6u709PTu/f397v///+7////u////7v///+7////u////7v///+719fXu5eXl7tbW1u7Gxsbutra27qenp+6fn5/ulpaW7o2Nje6FhYXufHx87nR0dO5sbGzuY2Nj7mtra952dnbOf39/vYmJiaySkpKcnJyci6enp3qwsLBp29vbW9vb20zb29s+29vbMNvb2yHb29sT29vbBNvb2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAra2tAq2trSGtra1Ara2tYK2trX6tra2era2tva2trdyoqKjun5+f7pKSku6IiIjufn5+7nNzc+5oaGjuXV1d7ltbW+5zc3PuioqK7qSkpO6+vr7u1tbW7vDw8O7////u////7v///+7////u////7vn5+e7u7u7u5eXl7tvb2+7R0dHu0tLS7tfX1+7e3t7u4uLi7unp6e7u7u7u9PT07vn5+e729vbu7e3t7uPj4+7Z2dnuz8/P7sTExO67u7vusbGx7q+vr+6+vr7uy8vL7tra2u7p6enu+Pj47v///+7////u////7v///+7////u////7v///+7////u+vr67vT09O7t7e3u7Ozs7urq6u7q6uru6urq7urq6u7p6enu6enp7unp6e7j4+Pu3d3d7tbW1u7Pz8/uyMjI7sLCwu67u7vutLS07rS0tO6/v7/uysrK7tXV1e7h4eHu7Ozs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7rGxse63t7fuvr6+7sTExO7KysruxMTE7r6+vu63t7fusLCw7qmpqe6jo6PunZ2d7paWlu6YmJjumZmZ7pycnO6dnZ3uoKCg7qOjo+6kpKTup6en7rCwsO7AwMDuz8/P7t/f3+7u7u7u/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+74+Pju3t7e7sPDw+6pqanujo6O7nZ2du5bW1vuQUFB7iYmJu44ODjuTU1N7mNjY+54eHjujY2N7qSkpO66urruz8/P7tfX19nX19e619fXm9fX13zX19dd19fXPdfX1x7X19cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM/PzwLPz88hz8/PQM/Pz2DPz89+z8/Pns/Pz73Pz8/cxsbG7rGxse6cnJzuhoaG7nJycu5dXV3uSEhI7jQ0NO4pKSnuRUVF7mNjY+5/f3/unJyc7rq6uu7W1tbu9PT07v///+7////u+fn57u7u7u7i4uLu1tbW7srKyu6+vr7usbGx7rGxse60tLTut7e37rq6uu67u7vuv7+/7sLCwu7ExMTuxMTE7sDAwO6+vr7uu7u77re3t+60tLTusLCw7q2tre6vr6/uvr6+7szMzO7a2tru6urq7vj4+O7////u////7v///+7////u////7v///+7////u/Pz87vT09O7s7Ozu4+Pj7t7e3u7X19fu0tLS7szMzO7Hx8fuwMDA7ru7u+62trbusbGx7q+vr+6tra3uq6ur7qioqO6lpaXupKSk7qGhoe6lpaXus7Oz7r+/v+7MzMzu2dnZ7ubm5u709PTu////7v///+7////u+vr67vT09O7s7Ozu5eXl7t3d3e7V1dXuzs7O7sfHx+7AwMDuurq67rOzs+6srKzupaWl7p+fn+6YmJjulpaW7pWVle6VlZXulJSU7pSUlO6UlJTukpKS7pGRke6SkpLulpaW7pmZme6dnZ3uoKCg7qOjo+6lpaXuqKio7qurq+6tra3ur6+v7rCwsO6zs7Pus7Oz7ra2tu62trbut7e37rGxse6rq6vupKSk7p2dne6YmJjukZGR7oqKiu6EhITuiIiI7o6Oju6UlJTum5ub7qGhoe6np6fura2t7rOzs+6+vr7uy8vL7tra2u7n5+fu9fX17v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u/f397uLi4u7Gxsbuq6ur7pCQkO52dnbuW1tb7kBAQO4lJSXuNjY27kxMTO5hYWHud3d37oyMjO6jo6PuuLi47s7Ozu7W1tbZ1tbWutbW1pvW1tZ81tbWXdbW1j3W1tYe1tbWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADR0dEC0dHRIdHR0UDR0dFg0dHRftHR0Z7R0dG90dHR3MbGxu6xsbHunJyc7oaGhu5ycnLuXV1d7khISO4xMTHuJiYm7kRERO5gYGDufn5+7pmZme63t7fu09PT7vDw8O7////u////7vn5+e7u7u7u5eXl7tra2u7Pz8/uxMTE7rq6uu64uLjuurq67ru7u+67u7vuvLy87ry8vO6+vr7uv7+/7r+/v+6+vr7uvr6+7r6+vu68vLzuvLy87ru7u+67u7vuvr6+7srKyu7X19fu4+Pj7vHx8e79/f3u////7v///+7////u////7v///+7////u////7v///+76+vru9PT07u3t7e7m5ubu3t7e7tfX1+7R0dHuysrK7sPDw+67u7vutLS07rGxse6xsbHusbGx7rGxse6xsbHusbGx7rOzs+6xsbHut7e37sPDw+7Ozs7u2tra7uXl5e7x8fHu/Pz87v///+7////u////7v///+7+/v7u+Pj47vLy8u7s7Ozu5ubm7t/f3+7Z2dnu0tLS7svLy+7ExMTuvr6+7ri4uO6xsbHuq6ur7qioqO6oqKjuqKio7qioqO6np6fup6en7qenp+6np6fuqKio7qurq+6tra3usbGx7ra2tu64uLjuvLy87r+/v+7AwMDuvr6+7rq6uu63t7fus7Oz7q+vr+6srKzuqKio7qSkpO6fn5/umJiY7pKSku6MjIzuhYWF7n9/f+56enruc3Nz7np6eu6EhITujY2N7paWlu6hoaHurKys7ra2tu6/v7/uy8vL7tfX1+7j4+Pu8PDw7vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7l5eXuysrK7q2tre6SkpLud3d37ltbW+4+Pj7uIyMj7jQ0NO5KSkruYGBg7nZ2du6KioruoKCg7ra2tu7Ly8vu09PT2dPT07rT09Ob09PTfNPT013T09M909PTHtPT0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0tLSAtLS0iHS0tJA0tLSYNLS0n7S0tKe0tLSvdLS0tzHx8fus7Oz7pycnO6GhobucHBw7lxcXO5GRkbuLy8v7iUlJe5BQUHuX19f7nt7e+6WlpbutLS07tHR0e7t7e3u////7v///+75+fnu8PDw7ufn5+7e3t7u1dXV7szMzO7Dw8PuwMDA7r+/v+6/v7/uvr6+7ry8vO67u7vuu7u77rq6uu67u7vuvLy87r+/v+7AwMDuwsLC7sTExO7GxsbuyMjI7szMzO7X19fu4uLi7u3t7e75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O729vbu7u7u7ubm5u7e3t7u1dXV7szMzO7ExMTuu7u77rOzs+6xsbHus7Oz7ra2tu66urruu7u77r6+vu7AwMDuw8PD7sjIyO7T09Pu3d3d7ubm5u7x8fHu/Pz87v///+7////u////7v///+7////u////7v///+7////u/Pz87vb29u7y8vLu7Ozs7uXl5e7e3t7u19fX7tHR0e7Kysruw8PD7ry8vO67u7vuu7u77ru7u+67u7vuu7u77ru7u+67u7vuu7u77ry8vO7AwMDuw8PD7sfHx+7Ly8vuzs7O7tLS0u7V1dXu1tbW7s7Ozu7ExMTuvLy87rS0tO6rq6vuo6Oj7pubm+6RkZHujIyM7oWFhe6AgIDuenp67nR0dO5ubm7uZ2dn7mBgYO5ra2vueHh47oaGhu6UlJTuo6Oj7rCwsO6+vr7uzMzM7tfX1+7j4+Pu7e3t7vj4+O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u6enp7szMzO6vr6/ulJSU7nd3d+5bW1vuPT097iIiIu4yMjLuSUlJ7l9fX+50dHTuiYmJ7p+fn+60tLTuysrK7tLS0tnS0tK60tLSm9LS0nzS0tJd0tLSPdLS0h4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANLS0gLS0tIh0tLSQNLS0mDS0tJ+0tLSntLS0r3S0tLcyMjI7rOzs+6cnJzuhoaG7nBwcO5cXFzuRUVF7i4uLu4jIyPuQEBA7lxcXO54eHjulZWV7rGxse7Ozs7u6urq7v///+7////u+fn57vHx8e7q6uru4uLi7tvb2+7T09Puy8vL7sfHx+7Gxsbuw8PD7sDAwO68vLzuurq67ri4uO62trbutra27rq6uu6/v7/uxMTE7sjIyO7MzMzu0dHR7tbW1u7b29vu5eXl7u7u7u729vbu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vb29u7t7e3u4+Pj7tnZ2e7Pz8/uxsbG7ru7u+6xsbHusbGx7ra2tu67u7vuwMDA7sTExO7Kysruz8/P7tPT0+7a2tru4+Pj7uzs7O709PTu/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v39/e729vbu8PDw7unp6e7i4uLu3d3d7tbW1u7Pz8/uzMzM7s7Ozu7Ozs7uzs7O7s7Ozu7Pz8/uz8/P7s/Pz+7R0dHu1dXV7tnZ2e7d3d3u4eHh7uXl5e7p6enu7Ozs7uzs7O7e3t7u0dHR7sPDw+62trbup6en7pmZme6MjIzuf39/7np6eu5zc3Pubm5u7mdnZ+5hYWHuW1tb7lVVVe5PT0/uXFxc7m5ubu5/f3/ukZGR7qSkpO62trbux8fH7tnZ2e7l5eXu7u7u7vj4+O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7u3t7e7Pz8/usbGx7pWVle54eHjuW1tb7j09Pe4fHx/uMTEx7khISO5dXV3uc3Nz7oiIiO6dnZ3us7Oz7sjIyO7R0dHZ0dHRutHR0ZvR0dF80dHRXdHR0T3R0dEeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADT09MC09PTIdPT00DT09Ng09PTftPT057T09O909PT3MjIyO6zs7PunJyc7oaGhu5wcHDuW1tb7kRERO4tLS3uISEh7j09Pe5bW1vud3d37pKSku6vr6/uy8vL7ufn5+7////u/v7+7vn5+e7y8vLu7e3t7ubm5u7h4eHu2tra7tPT0+7Pz8/uy8vL7sfHx+7CwsLuvLy87ri4uO60tLTusLCw7rGxse64uLjuv7+/7sfHx+7Ozs7u1tbW7tvb2+7j4+Pu6urq7vHx8e75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u9PT07unp6e7d3d3u0tLS7sfHx+67u7vusLCw7rGxse63t7fuv7+/7sfHx+7Ozs7u1tbW7t7e3u7l5eXu7Ozs7vT09O75+fnu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+78/Pzu9fX17u7u7u7n5+fu4eHh7t/f3+7h4eHu39/f7uHh4e7h4eHu4uLi7uPj4+7j4+Pu5ubm7urq6u7t7e3u8vLy7vb29u76+vru/v7+7v///+7////u7u7u7tvb2+7Kysrut7e37qOjo+6RkZHuf39/7m5ubu5nZ2fuYGBg7ltbW+5UVFTuT09P7khISO5CQkLuPDw87k1NTe5jY2PueHh47o2Nje6kpKTuurq67s/Pz+7l5eXu8vLy7vr6+u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7x8fHu0tLS7rOzs+6WlpbueHh47ltbW+48PDzuHh4e7i4uLu5FRUXuW1tb7nBwcO6FhYXunJyc7rGxse7Hx8fuz8/P2c/Pz7rPz8+bz8/PfM/Pz13Pz889AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1dXVAtXV1SHV1dVA1dXVYNXV1X7V1dWe1dXVvdXV1dzKysrutLS07p2dne6IiIjucnJy7lxcXO5FRUXuLi4u7iIiIu49PT3uWVlZ7nR0dO6Ojo7uqamp7sTExO7f39/u+vr67vb29u7y8vLu7e3t7unp6e7j4+Pu3t7e7tnZ2e7T09Puzs7O7srKyu7GxsbuwsLC7ry8vO64uLjutLS07rCwsO6xsbHuurq67sPDw+7Ly8vu09PT7t3d3e7l5eXu7e3t7vX19e75+fnu/v7+7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vb29u7s7Ozu4eHh7tXV1e7Kysruv7+/7rOzs+60tLTuvLy87sTExO7Ozs7u1tbW7t7e3u7n5+fu8PDw7vb29u79/f3u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+75+fnu9PT07u3t7e7q6uru6urq7urq6u7q6uru6enp7unp6e7p6enu6enp7urq6u3u7u7s8vLy6vj4+On8/Pzo////5v///+X////j////4/n5+eTj4+Plz8/P57u7u+ikpKTqkJCQ63x8fOxnZ2fuY2Nj7lxcXO5XV1fuUFBQ7kpKSu5ERETuPj4+7jg4OO5KSkruYWFh7nh4eO6NjY3upaWl7ry8vO7T09Pu6urq7vj4+O7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u8vLy7tXV1e62trbumJiY7np6eu5bW1vuPT097h8fH+4vLy/uRkZG7ltbW+5wcHDuhYWF7pycnO6wsLDuxsbG7s7OztnOzs66zs7Om87OznzOzs5dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANbW1gLW1tYh1tbWQNbW1mDW1tZ+1tbWntbW1r3W1tbcy8vL7re3t+6hoaHuioqK7nZ2du5hYWHuTExM7jU1Ne4pKSnuQUFB7llZWe5ycnLuiIiI7qCgoO64uLju0dHR7ufn5+7j4+Pu39/f7tra2u7W1tbu0dHR7svLy+7GxsbuwMDA7r+/v+6+vr7uvr6+7r6+vu67u7vuu7u77rq6uu66urruvLy87sPDw+7Ly8vu09PT7tra2u7i4uLu6enp7vHx8e729vbu+Pj47vr6+u76+vru/f397v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vz8/O7y8vLu6urq7uHh4e7X19fuz8/P7sbGxu6+vr7uv7+/7sTExO7MzMzu1dXV7tra2u7i4uLu6urq7vDw8O729vbu+fn57vz8/O7+/v7u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u+fn57vT09O7t7e3u6enp7ubm5u7i4uLu39/f7tvb2+7Z2dnu1tbW7tLS0u7T09Pr1tbW5tra2uHe3t7c4uLi1+Xl5dHp6enM7Ozsx////8X5+fnK5+fnz9XV1dTDw8PZsLCw3p2dneOMjIzpenp67nZ2du5vb2/ua2tr7mRkZO5gYGDuWVlZ7lVVVe5PT0/uXV1d7nBwcO6CgoLulZWV7qmpqe68vLzuz8/P7uLi4u7u7u7u9fX17vz8/O7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vHx8e7V1dXutra27pmZme58fHzuX19f7kFBQe4lJSXuNDQ07klJSe5fX1/uc3Nz7oaGhu6cnJzusLCw7sTExO7MzMzZzMzMuszMzJvMzMx8zMzMXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADX19cC19fXIdfX10DX19dg19fXftfX157X19e919fX3M7Ozu66urrupKSk7o6Oju57e3vuZ2dn7lFRUe49PT3uLy8v7kVFRe5ZWVnubm5u7oKCgu6WlpburKys7sDAwO7V1dXu0dHR7szMzO7Hx8fuw8PD7r6+vu64uLjus7Oz7q+vr+6vr6/us7Oz7ra2tu64uLjuurq67ry8vO7AwMDuw8PD7sfHx+7MzMzu09PT7tra2u7h4eHu5+fn7u3t7e709PTu+Pj47vb29u719fXu8vLy7vHx8e7w8PDu7u7u7uzs7O7q6uru7Ozs7u7u7u7x8fHu8vLy7vT09O729vbu+Pj47vn5+e709PTu7u7u7ufn5+7h4eHu2tra7tXV1e7Ozs7ux8fH7sjIyO7Ozs7u1dXV7tra2u7f39/u5ubm7u3t7e7x8fHu9fX17vX19e719fXu9vb27vb29u729vbu9vb27vb29u729vbu/Pz87v7+/u7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7vn5+e709PTu7u7u7ufn5+7i4uLu29vb7tbW1u7Pz8/uyMjI7sPDw+68vLzuu7u76b6+vuDCwsLXxMTEz8jIyMbLy8u9zs7OtNHR0av///+n+fn5r+rq6rjb29vBy8vLyru7u9OsrKzcnJyc5YyMjO6IiIjugoKC7n9/f+56enrudHR07m9vb+5ra2vuZWVl7nJycu6AgIDujo6O7p2dne6tra3uvLy87svLy+7a2tru5eXl7u3t7e709PTu/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7w8PDu1dXV7re3t+6cnJzuf39/7mNjY+5GRkbuKioq7jk5Oe5NTU3uYWFh7nZ2du6IiIjunJyc7rCwsO7Dw8Puy8vL2cvLy7rLy8uby8vLfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2dnZAtnZ2SHZ2dlA2dnZYNnZ2X7Z2dme2dnZvdnZ2dzPz8/uvLy87qioqO6SkpLuf39/7mxsbO5YWFjuRERE7jY2Nu5ISEjuWVlZ7mtra+58fHzujY2N7qCgoO6wsLDuwsLC7r6+vu66urrutLS07rCwsO6rq6vup6en7qGhoe6cnJzuoKCg7qenp+6srKzus7Oz7ri4uO6/v7/uxsbG7svLy+7S0tLu1tbW7tvb2+7i4uLu5ubm7u3t7e7y8vLu+Pj47vr6+u709PTu8PDw7urq6u7m5ubu4eHh7tvb2+7W1tbu0tLS7tbW1u7a2tru3t7e7uHh4e7l5eXu6enp7u3t7e7x8fHu7e3t7unp6e7m5ubu4eHh7t3d3e7a2tru1tbW7tHR0e7T09Pu19fX7tvb2+7h4eHu5eXl7unp6e7u7u7u8vLy7vT09O7y8vLu8PDw7u7u7u7s7Ozu6enp7ubm5u7l5eXu4uLi7unp6e7w8PDu9fX17vz8/O7////u////7v///+7////u////7v///+7////u////7v39/e74+Pju9PT07u7u7u7m5ubu3t7e7tXV1e7Ly8vuwsLC7rq6uu6wsLDup6en7qSkpOenp6fbqKiozqysrMGtra21sLCwqLOzs5u2traO////iPr6+pXt7e2i4eHhrtPT07vGxsbIurq61aysrOGfn5/unJyc7paWlu6SkpLujY2N7omJie6EhITugYGB7nx8fO6EhITujo6O7pmZme6kpKTusLCw7ru7u+7Gxsbu0tLS7tra2u7j4+Pu7Ozs7vT09O78/Pzu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u8PDw7tXV1e64uLjunZ2d7oGBge5nZ2fuSkpK7i8vL+4+Pj7uUVFR7mRkZO53d3fuiYmJ7pycnO6vr6/uwsLC7sjIyNnIyMi6yMjImwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANra2gLa2toh2traQNra2mDa2tp+2trantra2r3a2trc0dHR7r6+vu6rq6vulpaW7oSEhO5wcHDuXV1d7kpKSu49PT3uTExM7ltbW+5oaGjud3d37oSEhO6SkpLuoaGh7q+vr+6rq6vup6en7qGhoe6dnZ3umZmZ7pSUlO6Ojo7uioqK7pCQkO6bm5vupKSk7q+vr+63t7fuwMDA7svLy+7V1dXu29vb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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN/f3wLf398h39/fQN/f32Df399+39/fnt/f373f39/c1tbW7sbGxu60tLTuo6Oj7pGRke6AgIDucHBw7l9fX+5RUVHuVVVV7ltbW+5fX1/uZGRk7mpqau5vb2/uc3Nz7nd3d+5zc3Pub29v7mtra+5nZ2fuYWFh7l1dXe5YWFjuVFRU7mNjY+53d3fuioqK7qCgoO6zs7Pux8fH7t3d3e7x8fHu/Pz87vz8/O79/f3u////7v///+7////u////7v///+7////u7u7u7t3d3e7Kysrut7e37qWlpe6SkpLugICA7nBwcO58fHzuiIiI7pKSku6dnZ3uqamp7rS0tO7AwMDuy8vL7tLS0u7X19fu3t7e7uLi4u7p6enu7u7u7vX19e75+fnu/Pz87vr6+u76+vru+fn57vj4+O74+Pju+Pj47vb29u7x8fHu5eXl7tnZ2e7MzMzuv7+/7rOzs+6np6fum5ub7pKSku6goKDur6+v7r6+vu7Ly8vu2tra7unp6e729vbu////7v///+7////u/v7+7vz8/O75+fnu9vb27vT09O7x8fHu4eHh7szMzO63t7fuo6Oj7o6Oju56enruZWVl7lBQUO5GRkbgRkZGxEZGRqlISEiNSEhIcUhISFVJSUk5SUlJHf7+/hD8/Pwr+fn5R/j4+GP19fV/8vLym/Hx8bfu7u7T6urq7unp6e7m5ubu4uLi7uHh4e7e3t7u29vb7tnZ2e7W1tbu0tLS7szMzO7Hx8fuw8PD7r6+vu66urrutLS07rCwsO60tLTuv7+/7srKyu7V1dXu39/f7uzs7O729vbu////7v///+7////u////7v///+7////u////7v///+7////u////7urq6u7V1dXuvLy87qSkpO6NjY3udnZ27l1dXe5GRkbuUVFR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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ2dkA2dnZEdnZ2S/Z2dlN2dnZa9nZ2YrZ2dmo2dnZxtnZ2eXX19fn19fX59fX1+fX19fn1tbW59bW1ufW1tbn1tbW59bW1tHW1taz1tbWldbW1nfW1tZZ1tbWOdbW1hvW1tYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2dnZANnZ2QzZ2dkn2dnZQdnZ2VvZ2dl32dnZkdnZ2avZ2dnG19fXyNfX18jX19fI19fXyNbW1sjW1tbI1tbWyNbW1sjW1ta11tbWmtbW1oDW1tZm1tbWS9bW1jDW1tYW1tbWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ2QDZ2dkI2dnZH9nZ2TXZ2dlM2dnZY9nZ2XrZ2dmQ2dnZp9fX16jX19eo19fXqNfX16jW1tao1tbWqNbW1qjW1tao1tbWmNbW1oLW1tZr1tbWVdbW1j7W1tYn1tbWENbW1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ2dkA2dnZBNnZ2RfZ2dkp2dnZPNnZ2VDZ2dlj2dnZddnZ2YjX19eJ19fXidfX14nX19eJ1tbWidbW1onW1taJ1tbWidbW1nzW1tZp1tbWVtbW1kTW1tYx1tbWHdbW1grW1tYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2dnZANnZ2QDZ2dkP2dnZHtnZ2S3Z2dk82dnZS9nZ2VrZ2dlq19fXa9fX12vX19dr19fXa9bW1mvW1tZr1tbWa9bW1mvW1tZg1tbWUdbW1kLW1tYz1tbWJNbW1hTW1tYF1tbWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ2QDZ2dkA2dnZB9nZ2RLZ2dkd2dnZKdnZ2TTZ2dk/2dnZS9fX10zX19dM19fXTNfX10zW1tZM1tbWTNbW1kzW1tZM1tbWQ9bW1jjW1tYt1tbWItbW1hbW1tYL1tbWANbW1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2dnZANnZ2QDZ2dkG2dnZDtnZ2RXZ2dkd2dnZJNnZ2SzX19cs19fXLNfX1yzX19cs1tbWLNbW1izW1tYs1tbWLNbW1ifW1tYg1tbWGNbW1hHW1tYJ1tbWAdbW1gDW1tYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ2QDZ2dkA2dnZANnZ2QDZ2dkC2dnZBtnZ2QnZ2dkN19fXDdfX1w3X19cN19fXDdbW1g3W1tYN1tbWDdbW1g3W1tYL1tbWB9bW1gPW1tYA1tbWANbW1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////////////gAAAAAAAAAAB//////////////////////////////AAAAAAAAAAAAAP////////////////////////////AAAAAAAAAAAAAAD///////////////////////////gAAAAAAAAAAAAAAB//////////////////////////wAAAAAAAAAAAAAAAA/////////////////////////4AAAAAAAAAAAAAAAAAf///////////////////////8AAAAAAAAAAAAAAAAAAP///////////////////////AAAAAAAAAAAAAAAAAAAP//////////////////////wAAAAAAAAAAAAAAAAAAAP/////////////////////4AAAAAAAAAAAAAAAAAAAAH////////////////////+AAAAAAAAAAAAAAAAAAAAAH////////////////////gAAAAAAAAAAAAAAAAAAAAAH///////////////////8AAAAAAAAAAAAAAAAAAAAAAP///////////////////AAAAAAAAAAAAAAAAAAAAAAAP//////////////////wAAAAAAAAAAAAAAAAAAAAAAAP/////////////////8AAAAAAAAAAAAAAAAAAAAAAAAP/////////////////gAAAAAAAAAAAAAAAAAAAAAAAAf////////////////4AAAAAAAAAAAAAAAAAAAAAAAAAf////////////////AAAAAAAAAAAAAAAAAAAAAAAAAA////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAA///////////////+AAAAAAAAAAAAAAAAAAAAAAAAAAB///////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAB//////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAH/////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////AAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAD////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH////////////AAAAAAAAAAAAAAAAAAAAEAAAAAAAAA////////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAf////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAf////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAf//////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAf//////////////+AAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAf///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAf////////////////AAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////4AAAAAAAAAAAAAAAAAAAAAAAA//////////////////gAAAAAAAAAAAAAAAAAAAAAAAH/////////////////+AAAAAAAAAAAAAAAAAAAAAAAA//////////////////4AAAAAAAAAAAAAAAAAAAAAAAH//////////////////gAAAAAAAAAAAAAAAAAAAAAAB///////////////////AAAAAAAAAAAAAAAAAAAAAAAP//////////////////8AAAAAAAAAAAAAAAAAAAAAAD///////////////////4AAAAAAAAAAAAAAAAAAAAAAf////////////////////gAAAAAAAAAAAAAAAAAAAAH////////////////////+AAAAAAAAAAAAAAAAAAAAA/////////////////////4AAAAAAAAAAAAAAAAAAAAP/////////////////////gAAAAAAAAAAAAAAAAAAAD//////////////////////AAAAAAAAAAAAAAAAAAAA//////////////////////8AAAAAAAAAAAAAAAAAAAH//////////////////////wAAAAAAAAAAAAAAAAAAB///////////////////////gAAAAAAAAAAAAAAAAAAf///////////////////////4AAAAAAAAAAAAAAAAAP//////////////////////////////////gAAA//////////////////////////////////////+AAAD//////////////////////////////////////4AAAP//////////////////////////////////////gAAA///////////////////////////////////////AAAD//////////////////////////////////////8AAAf//////////////////////////////////////4AAB///////////////////////////////////////4AA//////////////////////////////////////////////////////////8oAAAAMAAAAGAAAAABACAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA19fXl9XV1ZfS0tKX0dHRl9HR0ZfR0dGX09PTl9nZ2Zfe3t6X4+Pjl+zs7Jfw8PCX5ubml9/f35fa2tqX1dXVl9LS0pfR0dGX0dHRl9HR0ZfT09OX1tbWl9ra2pff39+XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOjo+6cnJzumJiY7paWlu6UlJTulJSU7pSUlO6UlJTulZWV7pmZme6dnZ3uoKCg7qWlpe6oqKjuo6Oj7p2dne6bm5vulpaW7pSUlO6UlJTulJSU7pSUlO6VlZXumJiY7pubm+6dnZ3uoKCg7ry8vKcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKTqLy8v7R4eHu4ZGRnuGRkZ7hkZGe4XFxfuFxcX7hcXF+4XFxfuGRkZ7hkZGe4ZGRnuGRkZ7hkZGe4ZGRnuGRkZ7hkZGe4ZGRnuGRkZ7hcXF+4XFxfuFxcX7hcXF+4ZGRnuGRkZ7hkZGe4WFhbuDAwM7l9fX+ve3t7X3t7eMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb24yvr6/uSUlJ7n9/f+6srKzus7Oz7rOzs+6zs7Pus7Oz7rOzs+6zs7Pus7Oz7rOzs+6zs7Pus7Oz7rOzs+6zs7Pus7Oz7rOzs+6zs7Pus7Oz7rOzs+6zs7Pus7Oz7rOzs+6zs7Pus7Oz7rOzs+6pqanucHBw7oWFhe7IyMjdyMjINQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eOubm5qnCwsLuY2Nj7ry8vO7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////uurq67qOjo+6xsbHdsbGxNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ2dnj3t7e4/n5+end3d3ud3d37sTExO7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u3d3d7rGxse6WlpbdlpaWNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHt7e8phYWHuZGRk7m9vb+5lZWXuPT097ltbW+5zc3PudnZ27nNzc+5zc3Puc3Nz7nNzc+5zc3PucnJy7nJycu5wcHDucHBw7nBwcO5wcHDucHBw7nBwcO5zc3Puc3Nz7nR0dO5zc3Puc3Nz7pCQkO7Dw8Pu////7v///+7////u9fX17ra2tu5ycnLdcnJyNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBw6VtbW+5TU1PuWFhY7llZWe5ZWVnuWFhY7llZWe5ZWVnuWVlZ7lVVVe5VVVXdVVVVrlVVVc5VVVXuV1dX7ldXV+5VVVXuU1NT7lNTU+5TU1PuVFRU7ldXV+5bW1vuW1tb7l1dXe5dXV3uWVlZ7lhYWO5ubm7u8fHx7v///+7////u////7rOzs+5PT0/hc3NzaOrq6hoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIi7ZGRke7d3d3u8fHx7vHx8e7w8PDu8PDw7vLy8u729vbu9vb27vLy8u7x8fG18fHxGPLy8oPy8vLu9vb27vX19e7x8fHu6enp7ufn5+7n5+fu7Ozs7vHx8e74+Pju+vr67v///+7////u9vb27pSUlO42Njbu09PT7v///+7////u////7qioqO4vLy/sq6ur4urq6oEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIiGV1dX6pmZme7d3d3u////7t3d3e6srKzujIyM7sPDw+74+Pju////7vz8/O7a2trVt7e3kc/Pz7/y8vLu////7vr6+u7T09PupaWl7pubm+6bm5vun5+f7qenp+60tLTuysrK7vb29u7////u////7ri4uO5PT0/usLCw7vj4+O7////u////7qWlpe4pKSnuq6ur7uPj44wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQkJBAkJCQ6I6Oju68vLzu////7t3d3e6dnZ3udHR07rq6uu78/Pzu////7v///+7Z2dnuq6ur7srKyu74+Pju////7v///+7S0tLunJyc7pCQkO6Ojo7ujY2N7pGRke6fn5/uvr6+7vX19e7////u////7tvb2+58fHzuiYmJ7tHR0e7////u////7qenp+4lJSXupaWl7t3d3YwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/v79Av7+/6GxsbO6CgoLu////7v///+7////u+vr67v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vn5+e75+fnu////7v///+7////u////7v///+7CwsLuYGBg7qCgoO7////u////7qmpqe4jIyPuoKCg7tbW1owAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADR0dFA0dHR6GFhYe5sbGzu////7v///+7////u////7vj4+O709PTu////7v///+7////u////7vHx8e7Ly8vura2t7ubm5u7////u////7v///+7Pz8/unZ2d7pCQkO6dnZ3u2dnZ7v///+7////u////7v///+7i4uLuVVVV7oqKiu7////u////7rGxse4mJibun5+f7tLS0owAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2tot2trarWFhYdhqamru8fHx7v///+7////u5eXl7r+/v+6+vr7u8vLy7v///+7////u////7tfX1+6ZmZnucHBw7sfHx+7////u////7vj4+O63t7fueHh47mtra+5/f3/ux8fH7vX19e7////u////7v///+78/PzuXFxc7n9/f+79/f3u////7ru7u+4tLS3un5+f7s/Pz4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2toA2traCWpqapqBgYHuyMjI7vn5+e7m5ubudHR07mtra+6QkJDu6urq7v///+7////u////7u7u7u7IyMjuw8PD7vj4+O7////u////7v///+7////u/Pz87vn5+e7////u////7v///+7////u////7v///+7////ud3d37n5+fu7V1dXu////7sPDw+42Njbun5+f7szMzIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiYmJGQkJDufHx87t/f3+7////ux8fH7sjIyO7h4eHu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////utLS07oaGhu6Kioru/f397srKyu5JSUnuoKCg7sTExIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMLCwpGZmZnuPT097sfHx+7////u+Pj47v///+7////u////7v///+7////u9fX17v///+7////u////7v///+7////u/v7+7vn5+e74+Pju+fn57v///+7////u////7v///+719fXu////7v///+7////u7Ozs7pSUlO5MTEzu5ubm7tHR0e5gYGDun5+f7rq6uowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM/Pz5GZmZnuJSUl7rOzs+7p6enukJCQ7qioqO7a2tru////7ufn5+6kpKTub29v7qmpqe7u7u7u////7tvb2+6SkpLue3t77m9vb+5vb2/ufn5+7s/Pz+7////u////7tra2u6Ojo7ura2t7urq6u7////u////7qGhoe4yMjLu0tLS7tPT0+58fHzunJyc7qurq4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ2ZGkpKTuLy8v7qSkpO7i4uLuxMTE7ri4uO7R0dHu////7v///+7b29vuuLi47t7e3u7////u////7vr6+u7Ozs7uuLi47rS0tO63t7fuwsLC7vT09O7////u////7v///+7Z2dnu6enp7v///+7////u////7rOzs+46Ojruvr6+7szMzO6WlpbulJSU7pSUlIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4XGtra3LVFRU65KSku7T09Pu////7uXl5e7f39/u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7svLy+5YWFjuoaGh7ru7u+6xsbHuioqK7nt7e4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4QewsLBUoKCg5Hx8fO6bm5vu////7v///+7////u////7v39/e719fXu/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7vDw8O6dnZ3udnZ27pGRke7Ly8vufn5+7l1dXYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMA6wMDA42tra+53d3fu////7v///+7u7u7utLS07qysrO60tLTuzMzM7vT09O78/PzuwsLC7sPDw+7T09Pu39/f7t/f3+7h4eHu+Pj47tnZ2e60tLTutra27tra2u729vbuurq67tHR0e7////u////7v///+7R0dHuYWFh7nx8fO7Z2dnubGxs7mRkZL7q6upr6urqFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADS0tI60tLS42NjY+5gYGDu/f397v///+7b29vuhoaG7oWFhe6ZmZnuurq67unp6e7s7OzujY2N7oyMjO6dnZ3upKSk7pycnO6hoaHu29vb7rCwsO53d3fud3d37rGxse7h4eHuhoaG7qGhoe7t7e3u////7v///+74+PjuW1tb7m9vb+7a2truW1tb7nBwcO7n5+fj5+fnOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ2dk62dnZ42xsbO5fX1/u4uLi7v///+7////u////7v///+7////u////7v///+7////u////7v///+74+Pjuzs7O7q+vr+6xsbHu////7v///+74+Pju+fn57v///+7////u7u7u7vHx8e7////u////7v///+7////uZ2dn7mtra+7AwMDuT09P7mhoaO7h4eHj4eHhOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29sV29vba4mJib54eHjuoaGh7vT09O7////u////7v///+7////u////7v///+7////u////7v///+7////u/v7+7u3t7e7t7e3u////7v///+7////u////7v///+7////u9PT07uHh4e7b29vu8vLy7v///+7////ukpKS7nNzc+6GhobuOTk57mNjY+7a2trj2traOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKurq4yUlJTuXV1d7tPT0+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u19fX7re3t+6rq6vuxsbG7vX19e7////uysrK7oKCgu5ISEjuJSUl7l9fX+7V1dXj1dXVOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMfHx4ybm5vuNDQ07ri4uO7////uz8/P7rCwsO6vr6/u39/f7tXV1e7W1tbu////7szMzO6hoaHu19fX7v///+7////umJiY7nx8fO6QkJDu7e3t7v///+7////uwsLC7rCwsO6+vr7u3d3d7v///+7////u/Pz87pubm+4jIyPuGxsb7l9fX+7R0dHj0dHROgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANXV1YyhoaHuKysr7qmpqe7+/v7u6enp7tPT0+7Dw8PuvLy87r6+vu7S0tLu////7unp6e7Kysru8fHx7v///+7////us7Oz7qSkpO68vLzu////7v///+7////u8PDw7unp6e709PTu////7v///+7////u////7qysrO4dHR3uGRkZ7l9fX+7Pz8/jz8/POgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb23elpaXWPT09652dne719fXu////7v///+7+/v7uurq67sjIyO7t7e3u////7v///+7////u////7v///+7////u/Pz87v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7sDAwO4uLi7uHR0d7lxcXO7Ozs7jzs7OOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2xCbm5tcgYGB4I2Nje67u7vu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7t3d3e5qamruJSUl7lNTU+7KysrjysrKOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvr681r6+v3Xh4eO6IiIju////7v///+7////u////7v///+7m5ubu1tbW7urq6u7////u////7v///+78/Pzu////7v39/e7t7e3uw8PD7ra2tu67u7vu1tbW7tXV1e7IyMjuvLy87svLy+7t7e3u////7vz8/O6srKzuMTEx7kZGRu6+vr7jvr6+OgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPz881z8/P3WdnZ+5gYGDu////7v///+7////u////7tfX1+6dnZ3ue3t77qenp+7l5eXu////7vj4+O7Ly8vu19fX7tXV1e6+vr7ucHBw7l9fX+5ra2vuiIiI7n5+fu5jY2PuVVVV7nZ2du6wsLDu////7v///+7q6uruPT097jo6Ou6srKzjrKysOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADX19c119fX3Wpqau5ZWVnu8fHx7uPj4+7Ozs7u0dHR7t/f3+7e3t7ut7e37uHh4e7////u////7v///+79/f3u////7v///+7////u7Ozs7urq6u7y8vLu8PDw7uPj4+7V1dXu2tra7urq6u7////u////7v///+7////uSkpK7jY2Nu6SkpLjkpKSOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29sX29vbd3Z2dsFsbGzuw8PD7t7e3u7q6uru6urq7v///+7////u4eHh7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////ucnJy7lRUVO6NjY3jjY2NOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImJiYaJiYnuiYmJ7uXl5e7////u////7v///+7////u8vLy7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////uqKio7n9/f+6KiorjlZWVSdvb2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALq6uoabm5vuT09P7sLCwu7////uwsLC7tbW1u7b29vuoKCg7uHh4e7////u5eXl7tnZ2e7Ly8vunJyc7sjIyO74+PjuwsLC7qCgoO6KioruhISE7oWFhe6YmJju6urq7vb29u7a2truurq67t7e3u7////u5+fn7pmZme5JSUnroKCgwNvb22cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAADZ2dkH2dnZdtfX15fW1taB1tbWEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////8AAAD//////AAAAD/////wAAAAD////+AAAAAP////wAAAAA////+AAAAAD////wAAAAAP///+AAAAAAf///4AAAAAB////AAAAAAH///8AAAAAAf///wAAAAAB////AAAAAAH///8AAAAAAf///4AAAAAB////wAAAAAH////AAAAAAf///8AAAAAB////wAAAAAH////AAAAAAf///8AAAAAB////4AAAAAB////gAAAAAH///+AAAAAAf///4AAAAAB////4AAAAAH////gAAAAAf///+AAAAAB////4AAAAAH////gAAAAAf////AAAAAB////8AAAAAH////wAAAAAf////AAAAAB/////AAAAAH////8AAAAAP////wAAAAA/////AAAAAD////8AAAAAP////wAAAAA/////gAAAAH////+AAAAA/////+AAAAH/////8AAAA//////wAAAP////////B////////////////KAAAACAAAABAAAAAAQAgAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7Ozs7t/f3+7X19fu09PT7tHR0e7R0dHu1dXV7t3d3e7l5eXu8vLy7uXl5e7b29vu1dXV7tHR0e7R0dHu09PT7tfX1+7f39/u7Ozs7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANbW1u4hISHuFhYW7hQUFO4UFBTuFhYW7hQUFO4UFBTuFhYW7hQUFO4UFBTuFhYW7hQUFO4UFBTuFhYW7hQUFO4UFBTuFhYW7hQUFO4EBATu3t7e7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/f7lNTU+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7omJie6+vr7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1tbW7t/f3+7////ub29v7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////ux8fH7pWVle4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJGRke4ZGRnuGhoa7hsbG+4ZGRnuGhoa7hcXF+4UFBTuFBQU7hYWFu4UFBTuFBQU7hYWFu4UFBTuFBQU7hkZGe4aGhruGhoa7hcXF+5ycnLu////7v///+74+PjuXFxc7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tbuFxcX7uLi4u7////u/v7+7v7+/u7////u////7v///+4AAAAA////7v///+7////u9vb27vb29u78/Pzu////7v///+7////u////7hoaGu7////u////7v///+4hISHu6urq7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/f3/ur6+v7v///+6MjIzuPT097tra2u7////u1tbW7nx8fO7X19fu////7svLy+5fX1/uX19f7mRkZO50dHTurKys7v///+7////uW1tb7q+vr+7////u////7hoaGu7f39/uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMbGxu40NDTu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7e3t7uNDQ07v///+7////uFxcX7tbW1u4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2tra7hoaGu7////u////7v///+7AwMDu/Pz87v///+7////um5ub7kpKSu7////u////7q2tre42NjbuPT097sbGxu7////u////7v///+4aGhru////7v///+4fHx/u0dHR7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa2tr7sfHx+7////uV1dX7mRkZO74+Pju////7v///+7R0dHu0dHR7v///+7////u////7v///+7////u////7v///+7////u////7khISO7Hx8fu////7i8vL+7MzMzuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/v7/uQUFB7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////uzMzM7kFBQe7////uUVFR7r+/v+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANLS0u4aGhru////7nNzc+6xsbHu////7qmpqe5MTEzu19fX7v///+6GhobuXFxc7lFRUe5sbGzu////7v///+52dnbuq6ur7v///+7////uGhoa7v///+6BgYHuqKio7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4eHh7jg4OO7Z2dnu////7re3t+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+44ODju2dnZ7q+vr+6EhITuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsbGx7lRUVO7////u////7v///+7t7e3u/f397v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7re3t+5UVFTu29vb7ldXV+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADR0dHuHR0d7v///+719fXuW1tb7m9vb+6pqanu////7l1dXe6BgYHun5+f7pKSku7f39/uVVVV7lhYWO7n5+fuTExM7uHh4e7////u////7h0dHe7u7u7uKSkp7urq6u4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2+4rKyvu5+fn7v///+7////u////7v///+7////u////7v///+7MzMzun5+f7v///+7////u////7v///+7////u////7v///+7////uKysr7sfHx+4dHR3u39/f7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWlpe5kZGTu////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7svLy+6lpaXuysrK7v///+6cnJzuVVVV7hYWFu7W1tbuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P7h0dHe7////us7Oz7oCAgO7X19fusLCw7v///+5wcHDu1tbW7v///+5YWFjuVVVV7v///+7////upKSk7r6+vu7y8vLu////7v///+4ZGRnuGRkZ7tHR0e4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29vuJiYm7vb29u7////u////7p2dne7T09Pu////7v///+7////u////7uzs7O7////u////7v///+7////u////7v///+7////u////7iUlJe4ZGRnuz8/P7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYmJjuf39/7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////uhoaG7gYGBu7KysruAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozu4hISHu////7v///+7////uoKCg7mxsbO7MzMzu////7sDAwO7V1dXuxsbG7kVFRe5QUFDuhISE7lRUVO48PDzumJiY7v///+75+fnuAAAA7rCwsO4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA29vb7h8fH+7+/v7uvLy87r6+vu7////uxMTE7v///+7////u////7v///+7////u////7v///+7////u/Pz87v///+7////u////7v///+4DAwPuioqK7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhISE7pSUlO7////u////7v///+74+Pju////7v///+7////u////7v///+7////u////7v///+7////u////7v///+7////u////7m5ubu6UlJTuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMzuKioq7v///+6QkJDu3d3d7nZ2du7////uwsLC7ru7u+5gYGDu+Pj47o2Nje5YWFjuSkpK7lxcXO79/f3uxsbG7oSEhO7////u8fHx7ioqKu7b29vuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANXV1e4bGxvu////7tra2u6rq6vu9PT07v///+7////urKys7vb29u7////u////7uzs7O7y8vLu////7mNjY+4xMTHu+fn57v///+7////uGxsb7s/Pz+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4eHh7lhYWO5oaGjuRUVF7v///+7////uXFxc7sfHx+7////u+Pj47oCAgO7////u8vLy7jIyMu4AAAAA/f397urq6u6np6fu////7v///+5KSkruwsLC7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3d3d7gAAAO4DAwPuFBQU7hISEu4AAADuDg4O7hYWFu4MDAzuAAAA7hYWFu4WFhbuAAAA7hAQEO4aGhruExMT7gAAAO4aGhruISEh7mFhYe7u7u7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp6en7jw8PO6lpaXuampq7hMTE+56enru5eXl7kZGRu42NjbujIyM7vDw8O4eHh7uDw8P7rGxse7m5ubuAAAA7omJie78/PzuRkZG7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6enp7tbW1u7Ly8vu4+Pj7p2dne52dnbuiIiI7rOzs+5NTU3uLi4u7pGRke68vLzuz8/P7paWlu6FhYXuMTEx7iEhIe4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ2e7W1tbuAAAAAAAAAAAAAAAAAAAAAAAAAADX19fuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////AAAf/gAAD/4AAA/4AAAP8AAAD+AIAAfwAAAH8AAAB/AAAAf4AAAH+AAAB/gAAAf4AAAH/AAAB/wAAAP8AAAD/gAAA/4AAAP+AAAD/wAAA/8AAAP/AAAD/4AAA/+AAAH/gAAB/4ABAf/AAAH/4AAD//AAB///8+//////ygAAAAYAAAAMAAAAAEAIAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tYDy8vLj5ubm+6SkpLuj4+P7o+Pj+6SkpLumZmZ7qKiou6bm5vuk5OT7o+Pj+6Pj4/ukpKS7peXl+6urq7E3t7eIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3NwKoKCg7pmZme63t7fut7e37re3t+63t7fut7e37re3t+63t7fut7e37re3t+63t7fut7e37re3t+56enrux8fHXQAAAAAAAAAAAAAAAAAAAAAAAAAAkZGRA8/Pz6jX19fuvr6+7tDQ0O709PTu9PT07vT09O709PTu9PT07vT09O709PTu9PT07vX19e719fXu/Pz87v///+65ubnukpKSXQAAAAAAAAAAAAAAAAAAAAAAAAAAkZGRj2VlZe5zc3Puc3Nz7nJycu5xcXHub29vxXBwcNlvb2/ubW1t7mxsbO5ubm7ucnJy7nNzc+5paWnusrKy7v///+7Ly8vudHR0lerq6gMAAAAAAAAAAAAAAAAAAAAAhISEeqGhoe76+vrukpKS7sXFxe78/Pzuw8PD0tLS0uD5+fnusLCw7oaGhu6NjY3ura2t7vb29u7X19fujo6O7vn5+e7Dw8Puk5OT7uHh4QoAAAAAAAAAAAAAAAAAAAAAx8fHUl5eXu7////u////7vr6+u7+/v7u////7vj4+O7x8fHu////7vn5+e7t7e3u9PT07v7+/u739/fufX197uzs7O7CwsLui4uL7tXV1QoAAAAAAAAAAAAAAAAAAAAA2traLl5eXs7n5+fu4uLi7p+fn+76+vru////7sLCwu6UlJTu////7tjY2O6NjY3uubm57vr6+u7////uiIiI7tbW1u7FxcXujIyM7s7OzgoAAAAAAAAAAAAAAAAAAAAAAAAAAKysrKVkZGTu8PDw7tzc3O79/f3u////7vf39+729vbu////7v///+7////u////7v///+7////u0dHR7mRkZO7Pz8/ukZGR7sHBwQoAAAAAAAAAAAAAAAAAAAAAAAAAANPT06UmJibuzMzM7qWlpe74+PjukJCQ7sHBwe7x8fHug4OD7mhoaO6UlJTu////7paWlu7FxcXu////7jAwMO7b29vul5eX7qOjowoAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4VZzc3PuwMDA7uLi4u7+/v7u+fn57v7+/u7////u////7v///+7////u////7v///+7////u////7oCAgO6kpKTuj4+P7m5ubgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDw8Puenp67vj4+O54eHjumpqa7u/v7+58fHzuoqKi7qampu7Pz8/uc3Nz7tvb2+6FhYXu8/Pz7vPz8+5ZWVnueXl57sjIyMYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKysrGeHh47vLy8u7////u////7v///+7////u6urq7rW1te7////u////7v///+709PTu8vLy7v7+/u5cXFzuVlZW7tTU1O4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6uroKiYmJ7szMzO7U1NTu0NDQ7tnZ2e719fXuzc3N7vr6+u6np6fu1NTU7v///+60tLTuysrK7vv7++6np6fuIyMj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
\ No newline at end of file
diff --git a/2DGAMELIB/_2DGAMELIB.UI.resx b/2DGAMELIB/_2DGAMELIB.UI.resx
new file mode 100644
index 0000000..81f4abd
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB.UI.resx
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+text/microsoft-resx1.3System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5JY29uAgAAAAhJY29uRGF0YQhJY29uU2l6ZQcEAhNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAIAAAAJAwAAAAX8////E1N5c3RlbS5EcmF3aW5nLlNpemUCAAAABXdpZHRoBmhlaWdodAAACAgCAAAAAAAAAAAAAAAPAwAAAPeoAAACAAABAA8AICAQAAEABADoAgAA9gAAABAQEAABAAQAKAEAAN4DAAAwMAAAAQAIAKgOAAAGBQAAICAAAAEACACoCAAArhMAABgYAAABAAgAyAYAAFYcAAAQEAAAAQAIAGgFAAAeIwAAMDAAAAEAGACoHAAAhigAACAgAAABABgAqAwAAC5FAAAYGAAAAQAYAEgHAADWUQAAEBAAAAEAGABoAwAAHlkAAAAAAAABACAAMQgAAIZcAAAwMAAAAQAgAKglAAC3ZAAAICAAAAEAIACoEAAAX4oAABgYAAABACAAiAkAAAebAAAQEAAAAQAgAGgEAACPpAAAKAAAACAAAABAAAAAAQAEAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAP7+/gD69/MA8PP0ANLg6gDa19AAwrWnAJWmuACXkosAhnxyAD5TawA8OjwALCAUAA0THAAMDA0ADwYBAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3f/////////////////qdRJnr//////////////7UAAAABbP////////////5QA3d3QAb////////////6EDz//7QCr///////////+ACf///3AJ////////////273///tACf///////////////8qEADz/////////////+4UgAAOv/////////////nEAADad//////////////gAJorP///////////////kA6//////////////////sQb///6Fbf///////////+QCr//6EG3////////////4ACd3dAKf/////////////nEAAAAo///////////////qchE3r/////////////////3d3//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAAAfAAAADgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAcAAAAPgAAAHKAAAABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAPf5+QDV2NsA49nPAMzKxwC9xs4ArqaeAJmcngCIkp0AdnFuAGRfWwBMUFQAHiEmAB0YEwARERIABQIAAAAAAAD//////////////////////////////////////////////GM33//////iSZNP/////9a/+Q3//////8lQb//////4BIr//////+J/+5//////9RmSb//////8YRff/////////////////////////////////////////////8AD//+AAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//gAH//8AD//8oAAAAMAAAAGAAAAABAAgAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAA/v//AAAAAAD///4A///9AP7+/gAAAAAA/f7/AP7+/QD+/f0AAAAAAPz+/wD5//8A+P//AAAAAAD///wAAAAAAP7+/AAAAAAA/v77AP/8+QD8+vgAAAAAAP//8gD///AA//nwAAAAAAD8+PUA//jtAP327QAAAAAA9v7/AAAAAAD1+f8AAAAAAPH//wDt//8A6/f/AAAAAAD4+v0A6v7+AOvz/gAAAAAA9Pj8AObx+gD37OIAAAAAAOTv+wAAAAAA3ejw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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgAAAAAH///4AAAAAAH///AAAAAAAP//4AAAAAAAf//gAAAAAAB//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//gAAAAAAB//+AAAAAAAH//8AAAAAAA///4AAAAAAH///4AAAAAB///ygAAAAgAAAAQAAAAAEACAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAD+//8AAAAAAPz//wAAAAAA/f7/AAAAAAD9/v4AAAAAAPv//wAAAAAA///9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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAB8ZEiMjIyIjIw0TGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAsFBHRkP56enqSenvTl0v////7//8LT4p6enp6enidBXQMEBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQHAI59YPfs4v///////////////////////////////////////8DY9jpOZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwNANGzl////v////////////////////////////////////////////////7+/l2GugIFCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAALuWav7+/P///////////+v3/7m5v7i4uLi4uLi4uLi4uMrBuPz6+P////////////X5/z9ojgACBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQoB//47f////////z+/7Xf5ys2UgABBgAAAAAAAAAAAAAAAA8HAE4/NtXEpf///P///////7za9A4eNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAKyDTP///////////7nk7w8bOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8lEfLfyP////////j//y9XhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAIANW1l////////////1mGvQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgKANa8mP///////////1yMygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwHAodyYJWVlZWVlYyVlR80TwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8PBePGoP///////////1yMygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIKA7CKaf/8+f////////n//z5omwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBACsjHEs4MMzCpvz49f///////////8nm9hUnRwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYDABISEjwrHqucka6trPbp3f////////////////////j6/UZwmAACBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMLBY54Z7Cejv7+/f///////////////////////////////+3//0ZgiAEEBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8SBqiKd///8P///////////////////////////////////6a6z3GGiAAJHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgLANWzlf79/f////////////////////T4/LC4wqurqyxIbBISEgQHCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgAAAAAH///4AAAAAAH///AAAAAAAP//4AAAAAAAf//gAAAAAAB//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//gAAAAAAB//+AAAAAAAH//8AAAAAAA///4AAAAAAH///4AAAAAB///ygAAAAgAAAAQAAAAAEAGAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAwIQEA8ODxAAAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBgJaS0KkpJi9tK359vHt9PamqrKRlp0xPk4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAHwAAAA4AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAHAAAAD4AAABygAAAAYAAAAMAAAAAEAGAAAAAAAwAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAHQAAAL0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC9AAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACEAAAA9wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAIQAAAAEAAAAAAAAAAAAAAAAAAAABAAAALUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC1AAAABAAAAAAAAAAAAAAAhAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhAAAAAAAAAAdAAAA9wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAB0AAAC9AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAAD/HxkS/yMjI/8iIyP/DRMY/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAP8LBQT/dGQ//56env+knp7/9OXS///////+////wtPi/56env+enp7/J0Fd/wMEBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/FAcA/459YP/37OL//////////////////////////////////////////////////////8DY9v86TmT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8cDQD/0bOX/////v/////////////////////////////////////////////////////////////////+/v7/XYa6/wIFCP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wYAAP+7lmr//v78/////////////////+v3//+5ub//uLi4/7i4uP+4uLj/uLi4/8rBuP/8+vj/////////////////9fn//z9ojv8AAgb/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/1QoB///+O3////////////8/v//td/n/ys2Uv8AAQb/AAAA/wAAAP8AAAD/AAAA/w8HAP9OPzb/1cSl/////P///////////7za9P8OHjX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BQAA/6yDTP////////////////+55O//Dxs7/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/PyUR//LfyP////////////j///8vV4b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/EAgA/9W1l/////////////////9Zhr3/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/GAoA/9a8mP////////////////9cjMr/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/DAcC/4dyYP+VlZX/lZWV/4yVlf8fNE//AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Hw8F/+PGoP////////////////9cjMr/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8SCgP/sIpp///8+f////////////n///8+aJv/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAQD/KyMc/0s4MP/Mwqb//Pj1/////////////////8nm9v8VJ0f/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wYDAP8SEhL/PCse/6uckf+uraz/9und////////////////////////////+Pr9/0ZwmP8AAgf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8TCwX/jnhn/7Cejv/+/v3////////////////////////////////////////////t////RmCI/wEEB/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/HxIG/6iKd/////D/////////////////////////////////////////////////prrP/3GGiP8ACRz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8YCwD/1bOV//79/f////////////////////////////T4/P+wuML/q6ur/yxIbP8SEhL/BAcL/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+ddkn//v77/////////////////93o8P+xycn/O0Nd/ykrLv8CBw3/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/yACAP/26Ln////////////9/v//pcbv/x4sN/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/1AiAP////L////////////m8fr/Gjhe/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/1orAP/////////////////k7/v/FDJW/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/TikY///11v///////////77Y9v8LGSz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/zsPAP///9r////////////2/v//VoCy/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EAAD/oHJF/////f///////////6jI4v8EECD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wcAAP/btov////+////////////6/P+/0Zqif8AAQv/AAAA/wAAAP8AAAD/AAAA/w8HAP9pU0P/9+PQ/////////////////05/q/8AAQf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9sRiT//fbt//////////////////H///+5ucX/uLi4/7i4uP+4uLj/uLi4/8rBuP/8+vj/////////////////utb1/wkYK/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8HAAD/pX1W///58P/////////////////////////////////////////////////////////////////q/v7/IkRq/wAAAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4BXNv/x593//////////////////////////////////////////////////////73Y9v8jOk7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEAAP8OBwT/fWxP/56env/+5tT//////////////////////6/A1/+enp7/M05t/wMEBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iGhP/IyMj/yMjI/8jIyP/IyMj/wYMFP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC9AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAdAAAA9wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAB0AAAAAAAAAhAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhAAAAAAAAAAAAAAABAAAALUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC1AAAABAAAAAAAAAAAAAAAAAAAAAQAAACEAAAA9wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAIQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAL0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC9AAAAHQAAAAAAAAAAAAAAAAAAAADwAAAAAA///8AAAAAAA///gAAAAAAB//+AAAAAAAH//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//gAAAAAAB//+AAAAAAAH//8AAAAAAA///8AAAAAAP//8oAAAAIAAAAEAAAAABACAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAqAAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAKgAAAAQAAAAAAAAAAAAAAAAAAAAJwAAAM8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAM8AAAAnAAAAAAAAABAAAADPAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAM8AAAAQAAAAqAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAKgAAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUDAv8QEA//Dg8Q/wABA/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/CgYC/1pLQv+kpJj/vbSt//n28f/t9Pb/pqqy/5GWnf8xPk7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA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AP8AAAD/AAAA/wAAAP8AAAD/CAQA/1pMQP+kpJ3/8ubd//n5+f/5+fn/ytPf/5SZoP8zQFD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8PDQv/EBAQ/xAQEP8HCQv/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAACoAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAqAAAABAAAADPAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAM8AAAAQAAAAAAAAACcAAADPAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADPAAAAJwAAAAAAAAAAAAAAAAAAABAAAACoAAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAAqAAAABAAAAAAAAAAAMAAAAOAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAHAAAADKAAAABgAAAAwAAAAAQAgAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAigAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAIoAAAAAAAAAAAAAAAAAAACgAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACgAAAAAAAAAIoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAigAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Ew8K/31yZ/+wrq7/7unj/9zj6f+urq7/WGRx/wUIC/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8fFQz/2s/C///////3+Pn/8fHx//Hx8f/6+ff//////7C/0v8FCxL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+hiXL//////7TI1P8WGyb/AAAA/wAAAP8nHxn/08a1//////9fdYz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+6p5b/1dbW/y5AU/8AAAD/AAAA/wAAAP8AAAD/inRc//////+Vq8f/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/woIBv9HPTL/7OHX//////9xiKD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/yQcF/9vaWP/tq6o/+fi3v///////////7/N2f8LFB7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EAgD/loJz////+f//////+/3+/9HT1v+PlZz/PkhQ/wABBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9bRjL//v35/+jw+f9lcXf/Fxog/wACA/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+SfWj//////4mft/8AAAD/AAAA/wAAAP8AAAD/Z1tM/5CQkP8qNkX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9rVj/////+/9zo9P8eKjf/AAAA/wAAAP8xJR3/7+PW//z9/v8lOk//AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8NBwP/yLWj///////3+fr/8fHx//Hx8f/6+ff//v///4mgtf8AAQL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/DgkF/31zaP/Nxr//9PT0//T09P+0ucD/Wmd1/wMFCP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAIoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAigAAAAAAAACgAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACgAAAAAAAAAAAAAAAAAAAAigAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAIoAAAAAAAAAAMAAA/+AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+AAAH/wAAD/ygAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAPoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAGQAAAAAAAAAZAAAAPoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAAZAAAAPoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8gGxb/nZiS/9DNyv/Hys3/jJGW/xAUGv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8IBAL/3tPH/7zGzv9bXF7/X1xa/83Hv/+6x9T/AAIE/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/GREK/5aWlf8dJS7/AAAA/wAAAP92Z1n/8/j+/wcQG/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/IBsX/2tnZP+oo6D/+ffz/5qotf8AAAL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/fnBk//r8+v/Bxcn/en6D/zY7P/8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BwMA/+/l2f91g5P/AAAA/wAAAP82MCr/VFpg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIAAP/FuKn/z9jg/1xdX/9fXFr/3NTN/5Wks/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/GRMO/5yYkv/e29n/09bZ/4uSmP8KDhP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAGQAAAD6AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAGQAAAAAAAAAZAAAAPoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAGQAAAAAgAH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//gAH//ws=
\ No newline at end of file
diff --git a/2DGAMELIB/_2DGAMELIB/Are.cs b/2DGAMELIB/_2DGAMELIB/Are.cs
new file mode 100644
index 0000000..f13c881
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Are.cs
@@ -0,0 +1,201 @@
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Drawing.Imaging;
+
+namespace _2DGAMELIB;
+
+public class Are : Rect
+{
+ public Bitmap Dis;
+
+ protected Graphics gd;
+
+ protected Bitmap Hit;
+
+ protected Graphics gh;
+
+ protected double unit;
+
+ protected double disUnit;
+
+ protected double hitUnit;
+
+ protected Size WH = System.Drawing.Size.Empty;
+
+ protected Size WHH = System.Drawing.Size.Empty;
+
+ protected Size WHA = System.Drawing.Size.Empty;
+
+ private Color ClearColor = Color.Transparent;
+
+ public Vector2D BasePoint = Dat.Vec2DZero;
+
+ public Vector2D Position = Dat.Vec2DZero;
+
+ protected Vector2D p;
+
+ protected Rectangle r;
+
+ protected ColorMatrix cm = new ColorMatrix();
+
+ protected ImageAttributes ia = new ImageAttributes();
+
+ protected InterpolationMode im;
+
+ public Graphics GD => gd;
+
+ public Graphics GH => gh;
+
+ public double Unit => unit;
+
+ public double DisUnit => disUnit;
+
+ public Are() { }
+ public Are(double Unit, double XRatio, double YRatio, double Size, double DisMag, double HitMag)
+ {
+ Setting(Unit, XRatio, YRatio, Size, DisMag, HitMag);
+ }
+
+ public Are(Med Med, bool Hit)
+ {
+ if (Hit)
+ {
+ Setting(Med.Unit, Med.Base.XRatio, Med.Base.YRatio, Med.Base.Size, Med.DisQuality, Med.HitAccuracy);
+ }
+ else
+ {
+ Setting(Med.Unit, Med.Base.XRatio, Med.Base.YRatio, Med.Base.Size, Med.DisQuality);
+ }
+ }
+ private void Setting(double Unit, double XRatio, double YRatio, double Size, double DisMag)
+ {
+ SetXYRatio(XRatio, YRatio);
+ base.Size = Size;
+ unit = Unit;
+ disUnit = Unit * DisMag;
+ WH.Width = (int)(base.LocalWidth * Unit);
+ WH.Height = (int)(base.LocalHeight * Unit);
+ WHA.Width = (int)(base.LocalWidth * disUnit);
+ WHA.Height = (int)(base.LocalHeight * disUnit);
+ Dis = new Bitmap((int)((double)WH.Width * DisMag), (int)((double)WH.Height * DisMag));
+ gd = Graphics.FromImage(Dis);
+
+
+ gd.SmoothingMode = SmoothingMode.None;
+ gd.PixelOffsetMode = PixelOffsetMode.HighSpeed;
+ gd.InterpolationMode = InterpolationMode.NearestNeighbor;
+ //needed for text or smthn
+ gd.CompositingMode = CompositingMode.SourceOver;
+ }
+ private void Setting(double Unit, double XRatio, double YRatio, double Size, double DisMag, double HitMag)
+ {
+ Setting(Unit, XRatio, YRatio, Size, DisMag);
+
+ hitUnit = Unit * HitMag;
+ WHH.Width = (int)(base.LocalWidth * hitUnit);
+ WHH.Height = (int)(base.LocalHeight * hitUnit);
+ Hit = new Bitmap(WHH.Width, WHH.Height);
+ gh = Graphics.FromImage(Hit);
+
+
+ gh.SmoothingMode = SmoothingMode.None;
+ gh.PixelOffsetMode = PixelOffsetMode.HighSpeed;
+ gh.InterpolationMode = InterpolationMode.NearestNeighbor;
+ gh.CompositingMode = CompositingMode.SourceCopy;
+ }
+
+ public Vector2D GetPosition()
+ {
+ return new Vector2D(Position.X - BasePoint.X * XRatio * Size, Position.Y - BasePoint.Y * YRatio * Size);
+ }
+
+
+
+
+
+ public void Draw(Par Par)
+ {
+ Par.Draw(disUnit, gd);
+ if (gh != null)
+ {
+ Par.DrawH(hitUnit, gh);
+ }
+ }
+
+ public void Draw(ParT ParT)
+ {
+ ParT.Draw(disUnit, gd);
+ if (gh != null)
+ {
+ ParT.DrawH(hitUnit, gh);
+ }
+ }
+
+ public void Draw(Pars Pars)
+ {
+ Pars.Draw(disUnit, gd);
+ if (gh != null)
+ {
+ Pars.DrawH(hitUnit, gh);
+ }
+ }
+
+ public void Draw(Graphics GD)
+ {
+ p = GetPosition();
+ GD.DrawImage(Dis, (int)(p.X * unit), (int)(p.Y * unit), WH.Width, WH.Height);
+ }
+
+ public void Draw(Graphics GD, Graphics GH)
+ {
+ p = GetPosition();
+ GD.DrawImage(Dis, (int)(p.X * unit), (int)(p.Y * unit), WH.Width, WH.Height);
+ if (gh != null)
+ {
+ GH.DrawImage(Hit, (int)(p.X * hitUnit), (int)(p.Y * hitUnit), WHH.Width, WHH.Height);
+ }
+ }
+
+ public void Draw(Are Are)
+ {
+ p = Are.GetPosition();
+ GD.DrawImage(Are.Dis, (float)(p.X * Are.disUnit), (float)(p.Y * Are.disUnit), Are.WHA.Width, Are.WHA.Height);
+ if (Are.gh != null && GH != null)
+ {
+ GH.DrawImage(Are.Hit, (int)(p.X * Are.hitUnit), (int)(p.Y * Are.hitUnit), Are.WHH.Width, Are.WHH.Height);
+ }
+ }
+
+
+
+
+
+ public void Clear()
+ {
+ gd.Clear(ClearColor);
+ if (gh != null)
+ {
+ gh.Clear(ClearColor);
+ }
+ }
+
+ public void Clear(Color Color)
+ {
+ gd.Clear(Color);
+ if (gh != null)
+ {
+ gh.Clear(ClearColor);
+ }
+ }
+
+ public void Dispose()
+ {
+ Dis.Dispose();
+ gd.Dispose();
+ if (Hit != null)
+ {
+ Hit.Dispose();
+ gh.Dispose();
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/AreM.cs b/2DGAMELIB/_2DGAMELIB/AreM.cs
new file mode 100644
index 0000000..2b4663a
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/AreM.cs
@@ -0,0 +1,84 @@
+using System.Drawing;
+using System.Drawing.Drawing2D;
+
+namespace _2DGAMELIB;
+
+public class AreM : Are
+{
+ private double strength;
+
+ private double unitS;
+
+ public AreM(double Unit, double XRatio, double YRatio, double Size, double DisMag, double HitMag, double Strength)
+ {
+ Setting(Unit, XRatio, YRatio, Size, DisMag, HitMag, Strength);
+ }
+
+ private void Setting(double Unit, double XRatio, double YRatio, double Size, double DisMag, double HitMag, double Strength)
+ {
+ SetXYRatio(XRatio, YRatio);
+ base.Size = Size;
+ unit = Unit;
+ strength = Strength;
+ disUnit = Unit * DisMag;
+ double num = 1.0 - Strength;
+ unitS = disUnit * num;
+ WH.Width = (int)(base.LocalWidth * Unit);
+ WH.Height = (int)(base.LocalHeight * Unit);
+ WHA.Width = (int)(base.LocalWidth * disUnit);
+ WHA.Height = (int)(base.LocalHeight * disUnit);
+ Dis = new Bitmap((int)((double)WH.Width * DisMag * num), (int)((double)WH.Height * DisMag * num));
+ gd = Graphics.FromImage(Dis);
+ gd.SmoothingMode = SmoothingMode.None;
+ gd.PixelOffsetMode = PixelOffsetMode.None;
+ hitUnit = Unit * HitMag;
+ WHH.Width = (int)(base.LocalWidth * hitUnit);
+ WHH.Height = (int)(base.LocalHeight * hitUnit);
+ Hit = new Bitmap(WHH.Width, WHH.Height);
+ gh = Graphics.FromImage(Hit);
+ gh.SmoothingMode = SmoothingMode.None;
+ gh.PixelOffsetMode = PixelOffsetMode.None;
+ }
+
+ public new void Draw(ParT ParT)
+ {
+ ParT.Draw(unitS, gd);
+ if (gh != null)
+ {
+ ParT.DrawH(hitUnit, gh);
+ }
+ }
+
+ public new void Draw(Pars Pars)
+ {
+ Pars.Draw(unitS, gd);
+ if (gh != null)
+ {
+ Pars.DrawH(hitUnit, gh);
+ }
+ }
+ public new void Draw(Graphics GD)
+ {
+ im = GD.InterpolationMode;
+ GD.InterpolationMode = InterpolationMode.NearestNeighbor;
+ p = GetPosition();
+ GD.DrawImage(Dis, (int)(p.X * unit), (int)(p.Y * unit), WH.Width, WH.Height);
+ GD.InterpolationMode = im;
+ }
+
+ public new void Draw(Graphics GD, double Opacity)
+ {
+ im = GD.InterpolationMode;
+ GD.InterpolationMode = InterpolationMode.NearestNeighbor;
+ cm.Matrix33 = (float)Opacity;
+ ia.SetColorMatrix(cm);
+ p = GetPosition();
+ r.X = (int)(p.X * unit);
+ r.Y = (int)(p.Y * unit);
+ r.Width = WH.Width;
+ r.Height = WH.Height;
+ GD.DrawImage(Dis, r, 0, 0, Dis.Width, Dis.Height, GraphicsUnit.Pixel, ia);
+ GD.InterpolationMode = im;
+ }
+
+}
diff --git a/2DGAMELIB/_2DGAMELIB/But.cs b/2DGAMELIB/_2DGAMELIB/But.cs
new file mode 100644
index 0000000..4227b53
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/But.cs
@@ -0,0 +1,166 @@
+using System;
+using System.Drawing;
+
+namespace _2DGAMELIB;
+
+public class But
+{
+ private bool dra = true;
+
+ private Color hc = Color.Transparent;
+
+ protected Pars pars;
+
+ protected Action Over = delegate
+ {
+ };
+
+ protected Action Push = delegate
+ {
+ };
+
+ protected Action Release = delegate
+ {
+ };
+
+ protected Action Out = delegate
+ {
+ };
+
+ public Action Action = delegate
+ {
+ };
+
+ private bool f1;
+
+ private bool f2;
+
+ public bool Dra
+ {
+ get
+ {
+ return dra;
+ }
+ set
+ {
+ Move(ref hc);
+ dra = value;
+ }
+ }
+
+ public Pars Pars => pars;
+
+ public But(Par Par, Action Action)
+ {
+ pars = new Pars(Par);
+ this.Action = Action;
+ }
+
+ public But(ParT ParT, Action Action)
+ {
+ pars = new Pars(ParT);
+ this.Action = Action;
+ }
+
+ public But(Pars Pars, Action Action)
+ {
+ pars = Pars;
+ this.Action = Action;
+ }
+
+ public bool Move(ref Color HitColor)
+ {
+ if (Dra && !f2 && pars.IsHit(ref HitColor))
+ {
+ f2 = true;
+ Over(this);
+ return true;
+ }
+ if (Dra && f2 && !pars.IsHit(ref HitColor))
+ {
+ f1 = false;
+ f2 = false;
+ Out(this);
+ return true;
+ }
+ return false;
+ }
+
+ public bool Leave()
+ {
+ if (Dra && f2)
+ {
+ f1 = false;
+ f2 = false;
+ Out(this);
+ return true;
+ }
+ return false;
+ }
+
+ public bool Down(ref Color HitColor)
+ {
+ if (Dra && !f1 && pars.IsHit(ref HitColor))
+ {
+ f1 = true;
+ Push(this);
+ return true;
+ }
+ return false;
+ }
+
+ public bool Up(ref Color HitColor)
+ {
+ if (Dra && f1 && pars.IsHit(ref HitColor))
+ {
+ f1 = false;
+ Release(this);
+ Action(this);
+ return true;
+ }
+ return false;
+ }
+
+ public void Draw(Are Are)
+ {
+ if (dra)
+ {
+ Are.Draw(pars);
+ }
+ }
+
+ public void Draw(AreM AreM)
+ {
+ if (dra)
+ {
+ AreM.Draw(pars);
+ }
+ }
+
+ public void SetHitColor(Med Med)
+ {
+ foreach (Par item in pars.EnumAllPar())
+ {
+ if (item.HitColor != Color.Transparent)
+ {
+ Med.RemUniqueColor(item.HitColor);
+ }
+ item.HitColor = Med.GetUniqueColor();
+ }
+ }
+
+ public void Dispose()
+ {
+ pars.Dispose();
+ }
+
+ public bool IsBut1()
+ {
+ return this is But1;
+ }
+
+ public But1 ToBut1()
+ {
+ return (But1)this;
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/But1.cs b/2DGAMELIB/_2DGAMELIB/But1.cs
new file mode 100644
index 0000000..9f3cd5b
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/But1.cs
@@ -0,0 +1,110 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+
+namespace _2DGAMELIB;
+
+public class But1 : But
+{
+ public List BaseColors = new List();
+
+ public List OverColors = new List();
+
+ public List PushColors = new List();
+
+ public List TextColors = new List();
+
+ public But1(Par Par, Action Action)
+ : base(Par, Action)
+ {
+ Setting();
+ }
+
+ public But1(ParT ParT, Action Action)
+ : base(ParT, Action)
+ {
+ Setting();
+ }
+
+ public But1(Pars Pars, Action Action)
+ : base(Pars, Action)
+ {
+ Setting();
+ }
+
+ private void Setting()
+ {
+ foreach (Par item in pars.EnumAllPar())
+ {
+ BaseColors.Add(item.BrushColor);
+ OverColors.Add(BaseColors.Last().FuncHSV(delegate(Hsv hsv)
+ {
+ hsv.Hue += 30;
+ hsv.Sat -= 30;
+ hsv.Val += 100;
+ return hsv;
+ }));
+ PushColors.Add(OverColors.Last().FuncHSV(delegate(Hsv hsv)
+ {
+ hsv.Hue += 30;
+ hsv.Sat -= 30;
+ hsv.Val += 100;
+ return hsv;
+ }));
+ TextColors.Add(item.IsParT() ? item.ToParT().TextColor : Color.Empty);
+ }
+ Over = delegate
+ {
+ int num4 = 0;
+ foreach (Par item2 in pars.EnumAllPar())
+ {
+ item2.BrushColor = OverColors[num4];
+ if (item2.IsParT())
+ {
+ item2.ToParT().TextColor = TextColors[num4].Reverse();
+ }
+ num4++;
+ }
+ };
+ Push = delegate
+ {
+ int num3 = 0;
+ foreach (Par item3 in pars.EnumAllPar())
+ {
+ item3.BrushColor = PushColors[num3];
+ if (item3.IsParT())
+ {
+ item3.ToParT().TextColor = TextColors[num3].Reverse();
+ }
+ num3++;
+ }
+ };
+ Release = delegate
+ {
+ int num2 = 0;
+ foreach (Par item4 in pars.EnumAllPar())
+ {
+ item4.BrushColor = OverColors[num2];
+ if (item4.IsParT())
+ {
+ item4.ToParT().TextColor = TextColors[num2].Reverse();
+ }
+ num2++;
+ }
+ };
+ Out = delegate
+ {
+ int num = 0;
+ foreach (Par item5 in pars.EnumAllPar())
+ {
+ item5.BrushColor = BaseColors[num];
+ if (item5.IsParT())
+ {
+ item5.ToParT().TextColor = TextColors[num];
+ }
+ num++;
+ }
+ };
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Buts.cs b/2DGAMELIB/_2DGAMELIB/Buts.cs
new file mode 100644
index 0000000..e180c2d
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Buts.cs
@@ -0,0 +1,88 @@
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+
+namespace _2DGAMELIB;
+
+public class Buts
+{
+ private OrderedDictionary buts = new OrderedDictionary();
+
+ public But this[string Name] => buts[Name];
+
+ public IEnumerable EnumBut => buts.Values;
+
+ public void Add(string Name, But But)
+ {
+ buts.Add(Name, But);
+ }
+
+ public void Down(ref Color HitColor)
+ {
+ using IEnumerator enumerator = buts.Values.GetEnumerator();
+ while (enumerator.MoveNext() && !enumerator.Current.Down(ref HitColor))
+ {
+ }
+ }
+
+ public void Up(ref Color HitColor)
+ {
+ using IEnumerator enumerator = buts.Values.GetEnumerator();
+ while (enumerator.MoveNext() && !enumerator.Current.Up(ref HitColor))
+ {
+ }
+ }
+
+ public void Move(ref Color HitColor)
+ {
+ foreach (But value in buts.Values)
+ {
+ value.Move(ref HitColor);
+ }
+ }
+
+ public void Leave()
+ {
+ using IEnumerator enumerator = buts.Values.GetEnumerator();
+ while (enumerator.MoveNext() && !enumerator.Current.Leave())
+ {
+ }
+ }
+
+ public void SetHitColor(Med Med)
+ {
+ foreach (But item in EnumBut)
+ {
+ item.SetHitColor(Med);
+ }
+ }
+
+ public void Draw(Are Are)
+ {
+ foreach (But value in buts.Values)
+ {
+ value.Draw(Are);
+ }
+ }
+
+ public void Draw(AreM AreM)
+ {
+ foreach (But value in buts.Values)
+ {
+ value.Draw(AreM);
+ }
+ }
+
+ public void Dispose()
+ {
+ foreach (But value in buts.Values)
+ {
+ value.Dispose();
+ }
+ }
+
+ public bool IsHit(Color hc)
+ {
+ return EnumBut.Any((But e) => e.Pars.Values.First().ToPar().HitColor == hc);
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/ConstProp.cs b/2DGAMELIB/_2DGAMELIB/ConstProp.cs
new file mode 100644
index 0000000..417be86
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/ConstProp.cs
@@ -0,0 +1,17 @@
+namespace _2DGAMELIB;
+
+public class ConstProp
+{
+ private int c = -1;
+
+ public bool GetFlag(double Proportion)
+ {
+ c++;
+ return c % (int)(1.0 / Proportion) == 0;
+ }
+
+ public void Reset()
+ {
+ c = -1;
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Dat.cs b/2DGAMELIB/_2DGAMELIB/Dat.cs
new file mode 100644
index 0000000..c52c1d8
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Dat.cs
@@ -0,0 +1,19 @@
+using System.Runtime.InteropServices;
+
+namespace _2DGAMELIB;
+
+[StructLayout(LayoutKind.Sequential, Size = 1)]
+public struct Dat
+{
+ public static MatrixD MatDZero = new MatrixD(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
+
+ public static MatrixD MatDIdentity = new MatrixD(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0);
+
+ public static Vector2D Vec2DZero = new Vector2D(0.0, 0.0);
+
+ public static Vector2D Vec2DOne = new Vector2D(1.0, 1.0);
+
+ public static Vector2D Vec2DUnitX = new Vector2D(1.0, 0.0);
+
+ public static Vector2D Vec2DUnitY = new Vector2D(0.0, 1.0);
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Dif.cs b/2DGAMELIB/_2DGAMELIB/Dif.cs
new file mode 100644
index 0000000..129bfb5
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Dif.cs
@@ -0,0 +1,292 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.IO;
+using System.Windows.Documents;
+
+namespace _2DGAMELIB;
+
+[Serializable]
+public class Dif
+{
+ public string Tag = "";
+
+ private List parss = new List();
+
+ public List Parss => parss;
+
+ public int Count => parss.Count;
+
+ public Pars this[int Index]
+ {
+ get
+ {
+ return parss[Index];
+ }
+ set
+ {
+ parss[Index] = value;
+ }
+ }
+
+ public double PositionSize
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.PositionSize = value;
+ }
+ }
+ }
+
+ public Vector2D PositionVector
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.PositionVector = value;
+ }
+ }
+ }
+
+ public double AngleBase
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.AngleBase = value;
+ }
+ }
+ }
+
+ public double AngleCont
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.AngleCont = value;
+ }
+ }
+ }
+
+ public double SizeBase
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.SizeBase = value;
+ }
+ }
+ }
+
+ public double SizeCont
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.SizeCont = value;
+ }
+ }
+ }
+
+ public double SizeXBase
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.SizeXBase = value;
+ }
+ }
+ }
+
+ public double SizeXCont
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.SizeXCont = value;
+ }
+ }
+ }
+
+ public double SizeYBase
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.SizeYBase = value;
+ }
+ }
+ }
+
+ public double SizeYCont
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.SizeYCont = value;
+ }
+ }
+ }
+
+ public bool Dra
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.Dra = value;
+ }
+ }
+ }
+
+ public bool Hit
+ {
+ set
+ {
+ foreach (Pars item in parss)
+ {
+ item.Hit = value;
+ }
+ }
+ }
+
+ public IEnumerable EnumAllPar()
+ {
+ foreach (Pars item in parss)
+ {
+ foreach (Par item2 in item.EnumAllPar())
+ {
+ yield return item2;
+ }
+ }
+ }
+
+ public void SetDefault()
+ {
+ foreach (Pars item in parss)
+ {
+ item.SetDefault();
+ }
+ }
+
+ public Dif()
+ {
+ }
+
+ public Dif(Dif Dif)
+ {
+ Copy(Dif);
+ }
+
+ private void Copy(Dif Dif)
+ {
+ Tag = Dif.Tag;
+ foreach (Pars item in Dif.parss)
+ {
+ parss.Add(new Pars(item));
+ }
+ }
+
+ public void Add(Pars Pars)
+ {
+ parss.Add(Pars);
+ }
+
+ public void Insert(int Index, Pars Pars)
+ {
+ parss.Insert(Index, Pars);
+ }
+
+ public void Remove(Pars Pars)
+ {
+ parss.Remove(Pars);
+ }
+
+ public void RemoveAt(int Index)
+ {
+ parss.RemoveAt(Index);
+ }
+
+ public void Draws(Are Are)
+ {
+ foreach (Pars item in parss)
+ {
+ Are.Draw(item);
+ }
+ }
+
+ public void Draws(AreM AreM)
+ {
+ foreach (Pars item in parss)
+ {
+ AreM.Draw(item);
+ }
+ }
+
+ public List GetHitTags(ref Color HitColor)
+ {
+ List list = new List();
+ foreach (Pars item in parss)
+ {
+ list.AddRange(item.GetHitTags(ref HitColor));
+ }
+ return list;
+ }
+
+ public List GetHitPars(ref Color HitColor)
+ {
+ List list = new List();
+ foreach (Pars item in parss)
+ {
+ list.AddRange(item.GetHitPars(ref HitColor));
+ }
+ return list;
+ }
+
+ public bool IsHit(ref Color HitColor)
+ {
+ foreach (Pars item in parss)
+ {
+ if (item.IsHit(ref HitColor))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public void ReverseX()
+ {
+ foreach (Pars item in parss)
+ {
+ item.ReverseX();
+ }
+ }
+
+ public void ReverseY()
+ {
+ foreach (Pars item in parss)
+ {
+ item.ReverseY();
+ }
+ }
+
+ public void Dispose()
+ {
+ foreach (Pars item in parss)
+ {
+ item.Dispose();
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Difs.cs b/2DGAMELIB/_2DGAMELIB/Difs.cs
new file mode 100644
index 0000000..8d6688c
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Difs.cs
@@ -0,0 +1,477 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Net.NetworkInformation;
+using System.IO;
+using System.Windows.Documents;
+using Newtonsoft.Json;
+
+namespace _2DGAMELIB;
+
+[Serializable]
+public class Difs
+{
+ public string Tag = "";
+
+ public double ValueX;
+
+ public double ValueY;
+
+ private List difs = new List();
+
+ public Dictionary pj;
+
+ public Dictionary pr;
+
+ public List Difss => difs;
+
+ public int CountX => difs.Count;
+
+ public int CountY
+ {
+ get
+ {
+ if (difs.Count > 0)
+ {
+ return difs[IndexX].Count;
+ }
+ return 0;
+ }
+ }
+
+ public int IndexX
+ {
+ get
+ {
+ if (!(ValueX >= 1.0))
+ {
+ return (int)((double)CountX * ValueX);
+ }
+ return CountX - 1;
+ }
+ set
+ {
+ ValueX = (double)value / (double)CountX;
+ }
+ }
+
+ public int IndexY
+ {
+ get
+ {
+ if (!(ValueY >= 1.0))
+ {
+ return (int)((double)CountY * ValueY);
+ }
+ return CountY - 1;
+ }
+ set
+ {
+ ValueY = (double)value / (double)CountY;
+ }
+ }
+
+ public Dif this[int Index]
+ {
+ get
+ {
+ return difs[Index];
+ }
+ set
+ {
+ difs[Index] = value;
+ }
+ }
+
+ public Pars Current => difs[IndexX][IndexY];
+
+ public double PositionSize
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.PositionSize = value;
+ }
+ }
+ }
+
+ public Vector2D PositionVector
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.PositionVector = value;
+ }
+ }
+ }
+
+ public double AngleBase
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.AngleBase = value;
+ }
+ }
+ }
+
+ public double AngleCont
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.AngleCont = value;
+ }
+ }
+ }
+
+ public double SizeBase
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.SizeBase = value;
+ }
+ }
+ }
+
+ public double SizeCont
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.SizeCont = value;
+ }
+ }
+ }
+
+ public double SizeXBase
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.SizeXBase = value;
+ }
+ }
+ }
+
+ public double SizeXCont
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.SizeXCont = value;
+ }
+ }
+ }
+
+ public double SizeYBase
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.SizeYBase = value;
+ }
+ }
+ }
+
+ public double SizeYCont
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.SizeYCont = value;
+ }
+ }
+ }
+
+ public bool Dra
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.Dra = value;
+ }
+ }
+ }
+
+ public bool Hit
+ {
+ set
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.Hit = value;
+ }
+ }
+ }
+
+ [JsonIgnore]
+ public Par CurJoinRoot
+ {
+ get
+ {
+ Pars current = Current;
+ if (pr.ContainsKey(current))
+ {
+ return pr[current];
+ }
+ return null;
+ }
+ }
+
+ [JsonIgnore]
+ public IEnumerable EnumJoinRoot => pr.Values;
+ public IEnumerable EnumAllPar()
+ {
+ foreach (Dif dif in difs)
+ {
+ foreach (Par item in dif.EnumAllPar())
+ {
+ yield return item;
+ }
+ }
+ }
+
+ public IEnumerable EnumAllPars()
+ {
+ foreach (Dif dif in difs)
+ {
+ foreach (Pars item in dif.Parss)
+ {
+ yield return item;
+ }
+ }
+ }
+
+ public void SetDefault()
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.SetDefault();
+ }
+ }
+
+ public Difs()
+ {
+ }
+
+ public Difs(Difs Difs)
+ {
+ Copy(Difs);
+ }
+
+ private void Copy(Difs Difs)
+ {
+ Tag = Difs.Tag;
+ ValueX = Difs.ValueX;
+ ValueY = Difs.ValueY;
+ foreach (Dif dif in Difs.difs)
+ {
+ difs.Add(new Dif(dif));
+ }
+ }
+
+ public void Add(Dif Dif)
+ {
+ difs.Add(Dif);
+ }
+
+ public void Insert(int Index, Dif Dif)
+ {
+ difs.Insert(Index, Dif);
+ }
+
+ public void Remove(Dif Dif)
+ {
+ difs.Remove(Dif);
+ }
+
+ public void RemoveAt(int Index)
+ {
+ difs.RemoveAt(Index);
+ }
+
+ public void Draw(Are Are)
+ {
+ Are.Draw(Current);
+ }
+
+ public void Draws(Are Are)
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.Draws(Are);
+ }
+ }
+
+ public void Draw(AreM AreM)
+ {
+ AreM.Draw(Current);
+ }
+
+ public void Draws(AreM AreM)
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.Draws(AreM);
+ }
+ }
+ private Par GetJoinRoot(Pars ps)
+ {
+ Par[] array = ps.EnumAllPar().ToArray();
+ if (array.Length <= 1)
+ {
+ return array.FirstOrDefault();
+ }
+ Par[] array2 = array;
+ foreach (Par p0 in array2)
+ {
+ Vector2D p = p0.Position;
+ if (array.All((Par p1) => p0 == p1 || p1.JP.All((Joi j) => !(p1.ToGlobal(j.Joint).DistanceSquared(p) <= Join.IdentityDistance))))
+ {
+ return p0;
+ }
+ }
+ Par par = array.FirstOrDefault((Par e) => e.JP.Count > 0);
+ if (par != null)
+ {
+ return par;
+ }
+ return array.First();
+ }
+
+ public void SetJoints()
+ {
+ pj = new Dictionary();
+ pr = new Dictionary();
+ foreach (Pars item in EnumAllPars())
+ {
+ Par joinRoot = GetJoinRoot(item);
+ if (joinRoot != null)
+ {
+ pj.Add(item, joinRoot.GetJoints(item.EnumAllPar()));
+ pr.Add(item, joinRoot);
+ }
+ }
+ }
+
+ public void JoinP()
+ {
+ pj[Current].JoinP();
+ }
+
+ public void JoinPA()
+ {
+ pj[Current].JoinPA();
+ }
+
+ public void JoinPall()
+ {
+ foreach (Joints value in pj.Values)
+ {
+ value.JoinP();
+ }
+ }
+
+ public void JoinPAall()
+ {
+ foreach (Joints value in pj.Values)
+ {
+ value.JoinPA();
+ }
+ }
+
+ public void JoinP(Pars ps)
+ {
+ if (pj.ContainsKey(ps))
+ {
+ pj[ps].JoinP();
+ }
+ }
+
+ public void JoinPA(Pars ps)
+ {
+ if (pj.ContainsKey(ps))
+ {
+ pj[ps].JoinPA();
+ }
+ }
+
+ public Par GetHitPar_(Color HitColor)
+ {
+ return difs.FirstOrDefault((Dif d) => d.IsHit(ref HitColor)).Parss.FirstOrDefault((Pars ps) => ps.IsHit(ref HitColor)).EnumAllPar().FirstOrDefault((Par e) => e.HitColor == HitColor);
+ }
+
+ public List GetHitTags(ref Color HitColor)
+ {
+ List list = new List();
+ foreach (Dif dif in difs)
+ {
+ list.AddRange(dif.GetHitTags(ref HitColor));
+ }
+ return list;
+ }
+
+ public List GetHitPars(ref Color HitColor)
+ {
+ List list = new List();
+ foreach (Dif dif in difs)
+ {
+ list.AddRange(dif.GetHitPars(ref HitColor));
+ }
+ return list;
+ }
+
+ public bool IsHit(ref Color HitColor)
+ {
+ foreach (Dif dif in difs)
+ {
+ if (dif.IsHit(ref HitColor))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public void ReverseX()
+ {
+ SetJoints();
+ foreach (Dif dif in difs)
+ {
+ dif.ReverseX();
+ }
+ JoinP();
+ }
+
+ public void ReverseY()
+ {
+ SetJoints();
+ foreach (Dif dif in difs)
+ {
+ dif.ReverseY();
+ }
+ JoinP();
+ }
+
+ public void Dispose()
+ {
+ foreach (Dif dif in difs)
+ {
+ dif.Dispose();
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/FPS.cs b/2DGAMELIB/_2DGAMELIB/FPS.cs
new file mode 100644
index 0000000..69d68c2
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/FPS.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Diagnostics;
+
+namespace _2DGAMELIB;
+
+public class FPS
+{
+ public Stopwatch sw = new Stopwatch();
+
+ private long last_frame;
+ public double Value;
+
+ private int count;
+
+ private double ticks_per_frame;
+ public FPS(double FPS)
+ {
+ Value = FPS;
+ ticks_per_frame = (double)Stopwatch.Frequency / FPS;
+ sw.Start();
+ last_frame = sw.ElapsedTicks;
+ }
+
+ public void FPSFixed(Action Action)
+ {
+ long current_time = sw.ElapsedTicks;
+
+ if (current_time - last_frame >= ticks_per_frame)
+ {
+ Action();
+
+ Value = (9 * Value + ((double)Stopwatch.Frequency / (sw.ElapsedTicks - last_frame)))/10;
+
+ last_frame = current_time;
+ }
+
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Gau.cs b/2DGAMELIB/_2DGAMELIB/Gau.cs
new file mode 100644
index 0000000..dfa127e
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Gau.cs
@@ -0,0 +1,628 @@
+using System.Drawing;
+
+namespace _2DGAMELIB;
+
+public enum Range
+{
+ ZeroOne = 1,
+ MinusPlus
+}
+
+public enum Open
+{
+ Top = 1,
+ Bot,
+ Lef,
+ Rig
+}
+
+public class Gau
+{
+ private Pars pars;
+
+ private Par base_;
+
+ private Par frame1;
+
+ private Par frame2;
+
+ private Par gauge;
+
+ private Par knob;
+
+ private double val;
+
+ private Brush PlusBrush;
+
+ private Brush MinusBrush;
+
+ private Open Open;
+
+ private Range Range;
+
+ private double Max;
+
+ private bool Grip;
+
+ private Vector2D op;
+
+ private double Unit;
+
+ private Color PlusColor1;
+
+ private Color PlusColor2;
+
+ private Color MinusColor1;
+
+ private Color MinusColor2;
+
+ public Pars Pars => pars;
+
+ public Par Base => base_;
+
+ public Par Frame1 => frame1;
+
+ public Par Frame2 => frame2;
+
+ public Par Gauge => gauge;
+
+ public Par Knob => knob;
+
+ public double Value
+ {
+ get
+ {
+ return val;
+ }
+ set
+ {
+ val = value;
+ SetLimit();
+ SetColor();
+ SetValue();
+ }
+ }
+
+ private Vector2D TL1 => frame1.OP[0].ps[0];
+
+ private Vector2D TR1 => frame1.OP[0].ps[1];
+
+ private Vector2D BR1 => frame1.OP[0].ps[2];
+
+ private Vector2D BL1 => frame1.OP[0].ps[3];
+
+ private Vector2D TL2 => frame2.OP[0].ps[0];
+
+ private Vector2D TR2 => frame2.OP[0].ps[1];
+
+ private Vector2D BR2 => frame2.OP[0].ps[2];
+
+ private Vector2D BL2 => frame2.OP[0].ps[3];
+
+ private Vector2D TLG => gauge.OP[0].ps[0];
+
+ private Vector2D TRG => gauge.OP[0].ps[1];
+
+ private Vector2D BRG => gauge.OP[0].ps[2];
+
+ private Vector2D BLG => gauge.OP[0].ps[3];
+
+ private void SetLimit()
+ {
+ if (Range == Range.ZeroOne)
+ {
+ val = val.Clamp(0.0, 1.0);
+ }
+ else
+ {
+ val = val.Clamp(-1.0, 1.0);
+ }
+ }
+
+ private void SetColor()
+ {
+ if (val > 0.0)
+ {
+ gauge.SetBrush(PlusBrush);
+ }
+ else
+ {
+ gauge.SetBrush(MinusBrush);
+ }
+ }
+
+ private void SetValue()
+ {
+ if (Open == Open.Top || Open == Open.Bot)
+ {
+ gauge.SizeYCont = val;
+ }
+ else if (Open == Open.Lef || Open == Open.Rig)
+ {
+ gauge.SizeXCont = val;
+ }
+ if (knob != null)
+ {
+ knob.PositionBase = GetKnobPosition();
+ }
+ }
+
+ private Vector2D GetBasePoint1()
+ {
+ if (Range == Range.MinusPlus)
+ {
+ switch (Open)
+ {
+ case Open.Top:
+ return (BL1 + BR1) * 0.5;
+ case Open.Bot:
+ return (TL1 + TR1) * 0.5;
+ case Open.Rig:
+ return (TL1 + BL1) * 0.5;
+ case Open.Lef:
+ return (TR1 + BR1) * 0.5;
+ }
+ }
+ return frame1.OP.GetCenter();
+ }
+
+ private Vector2D GetBasePoint2()
+ {
+ if (Range == Range.MinusPlus)
+ {
+ switch (Open)
+ {
+ case Open.Top:
+ return (TL2 + TR2) * 0.5;
+ case Open.Bot:
+ return (BL2 + BR2) * 0.5;
+ case Open.Rig:
+ return (TR2 + BR2) * 0.5;
+ case Open.Lef:
+ return (TL2 + BL2) * 0.5;
+ }
+ }
+ return frame2.OP.GetCenter();
+ }
+
+ private Vector2D GetBasePoint()
+ {
+ if (Range == Range.ZeroOne)
+ {
+ switch (Open)
+ {
+ case Open.Top:
+ return (BLG + BRG) * 0.5;
+ case Open.Bot:
+ return (TLG + TRG) * 0.5;
+ case Open.Rig:
+ return (TLG + BLG) * 0.5;
+ case Open.Lef:
+ return (TRG + BRG) * 0.5;
+ }
+ }
+ return frame1.BasePoint;
+ }
+
+ private double GetWidthMag()
+ {
+ if (Range == Range.MinusPlus && (Open == Open.Lef || Open == Open.Rig))
+ {
+ return 0.5;
+ }
+ return 1.0;
+ }
+
+ private double GetHeightMag()
+ {
+ if (Range == Range.MinusPlus && (Open == Open.Top || Open == Open.Bot))
+ {
+ return 0.5;
+ }
+ return 1.0;
+ }
+
+ private double GetGaugeWidthMag(double Margin)
+ {
+ if (Open == Open.Top || Open == Open.Bot)
+ {
+ return (Margin * 2.0).Inverse();
+ }
+ return 1.0;
+ }
+
+ private double GetGaugeHeightMag(double Margin)
+ {
+ if (Open == Open.Lef || Open == Open.Rig)
+ {
+ return (Margin * 2.0).Inverse();
+ }
+ return 1.0;
+ }
+
+ private double GetKnobWidthMag(double Width)
+ {
+ if (Open == Open.Top || Open == Open.Bot)
+ {
+ return Width;
+ }
+ return 0.1;
+ }
+
+ private double GetKnobHeightMag(double Height)
+ {
+ if (Open == Open.Lef || Open == Open.Rig)
+ {
+ return Height;
+ }
+ return 0.1;
+ }
+
+ private Vector2D GetGaugePosition()
+ {
+ return Open switch
+ {
+ Open.Top => frame1.ToGlobal((BL1 + BR1) * 0.5),
+ Open.Bot => frame1.ToGlobal((TL1 + TR1) * 0.5),
+ Open.Rig => frame1.ToGlobal((TL1 + BL1) * 0.5),
+ Open.Lef => frame1.ToGlobal((TR1 + BR1) * 0.5),
+ _ => Dat.Vec2DZero,
+ };
+ }
+
+ private Vector2D GetKnobPosition()
+ {
+ return Open switch
+ {
+ Open.Top => gauge.ToGlobal((TLG + TRG) * 0.5),
+ Open.Bot => gauge.ToGlobal((BLG + BRG) * 0.5),
+ Open.Rig => gauge.ToGlobal((TRG + BRG) * 0.5),
+ Open.Lef => gauge.ToGlobal((TLG + BLG) * 0.5),
+ _ => Dat.Vec2DZero,
+ };
+ }
+
+ private void ParSetting(string Name, ref Vector2D Position, double Size, double Width, double Height, double Margin, ref Color BackColor, bool knob)
+ {
+ pars = new Pars();
+ base_ = new Par
+ {
+ Tag = Name + "_ベース",
+ InitializeOP = new Out[1] { Shas.Get正方形() },
+ PositionBase = Position,
+ SizeBase = Size,
+ SizeXBase = Width,
+ SizeYBase = Height,
+ Closed = true,
+ Pen = null,
+ BrushColor = BackColor
+ };
+ base_.BasePointBase = base_.OP.GetCenter();
+ pars.Add(base_.Tag, base_);
+ frame1 = new Par
+ {
+ Tag = Name + "_フレーム1",
+ InitializeOP = new Out[1] { Shas.Get正方形() },
+ PositionBase = Position,
+ SizeBase = Size,
+ SizeXBase = Width * GetWidthMag(),
+ SizeYBase = Height * GetHeightMag(),
+ Closed = true,
+ Brush = null
+ };
+ frame1.BasePointBase = GetBasePoint1();
+ pars.Add(frame1.Tag, frame1);
+ if (Range == Range.MinusPlus)
+ {
+ frame2 = new Par
+ {
+ Tag = Name + "_フレーム2",
+ InitializeOP = new Out[1] { Shas.Get正方形() },
+ PositionBase = Position,
+ SizeBase = Size,
+ SizeXBase = Width * GetWidthMag(),
+ SizeYBase = Height * GetHeightMag(),
+ Closed = true,
+ Brush = null
+ };
+ frame2.BasePointBase = GetBasePoint2();
+ pars.Add(frame2.Tag, frame2);
+ }
+ gauge = new Par
+ {
+ Tag = Name + "_ゲージ",
+ InitializeOP = new Out[1] { Shas.Get正方形() },
+ PositionBase = GetGaugePosition(),
+ SizeBase = Size,
+ SizeXBase = Width * GetWidthMag() * GetGaugeWidthMag(Margin),
+ SizeYBase = Height * GetHeightMag() * GetGaugeHeightMag(Margin),
+ Closed = true
+ };
+ gauge.BasePointBase = GetBasePoint();
+ pars.Add(gauge.Tag, gauge);
+ if (knob)
+ {
+ this.knob = new Par
+ {
+ Tag = Name + "_ノブ",
+ InitializeOP = new Out[1] { Shas.Get正方形() },
+ SizeBase = Size,
+ SizeXBase = GetKnobWidthMag(Width),
+ SizeYBase = GetKnobHeightMag(Height),
+ Closed = true,
+ BrushColor = Color.FromArgb(128, Color.White)
+ };
+ this.knob.BasePointBase = this.knob.OP.GetCenter();
+ pars.Add(this.knob.Tag, this.knob);
+ }
+ }
+
+ public void SetHitColor(Med Med)
+ {
+ if (base_.HitColor != Color.Transparent)
+ {
+ Med.RemUniqueColor(base_.HitColor);
+ }
+ base_.HitColor = Med.GetUniqueColor();
+ if (frame1.HitColor != Color.Transparent)
+ {
+ Med.RemUniqueColor(frame1.HitColor);
+ }
+ frame1.HitColor = Med.GetUniqueColor();
+ if (Range == Range.MinusPlus)
+ {
+ if (frame2.HitColor != Color.Transparent)
+ {
+ Med.RemUniqueColor(frame2.HitColor);
+ }
+ frame2.HitColor = Med.GetUniqueColor();
+ }
+ if (gauge.HitColor != Color.Transparent)
+ {
+ Med.RemUniqueColor(gauge.HitColor);
+ }
+ gauge.HitColor = Med.GetUniqueColor();
+ if (knob != null)
+ {
+ if (knob.HitColor != Color.Transparent)
+ {
+ Med.RemUniqueColor(knob.HitColor);
+ }
+ knob.HitColor = Med.GetUniqueColor();
+ }
+ }
+
+ private void SetBrush(double Unit, ref Color PlusColor1, ref Color PlusColor2, ref Color MinusColor1, ref Color MinusColor2)
+ {
+ this.Unit = Unit;
+ this.PlusColor1 = PlusColor1;
+ this.PlusColor2 = PlusColor2;
+ this.MinusColor1 = MinusColor1;
+ this.MinusColor2 = MinusColor2;
+ switch (Open)
+ {
+ case Open.Top:
+ {
+ frame1.GetMiY_MaY(out var MM7);
+ PlusBrush = Oth.GetLGB(Unit, MM7, ref PlusColor2, ref PlusColor1);
+ if (Range == Range.MinusPlus)
+ {
+ frame2.GetMiY_MaY(out var MM8);
+ MinusBrush = Oth.GetLGB(Unit, MM8, ref MinusColor1, ref MinusColor2);
+ }
+ break;
+ }
+ case Open.Bot:
+ {
+ frame1.GetMaY_MiY(out var MM3);
+ PlusBrush = Oth.GetLGB(Unit, MM3, ref PlusColor2, ref PlusColor1);
+ if (Range == Range.MinusPlus)
+ {
+ frame2.GetMaY_MiY(out var MM4);
+ MinusBrush = Oth.GetLGB(Unit, MM4, ref MinusColor1, ref MinusColor2);
+ }
+ break;
+ }
+ case Open.Rig:
+ {
+ frame1.GetMaX_MiX(out var MM5);
+ PlusBrush = Oth.GetLGB(Unit, MM5, ref PlusColor2, ref PlusColor1);
+ if (Range == Range.MinusPlus)
+ {
+ frame2.GetMaX_MiX(out var MM6);
+ MinusBrush = Oth.GetLGB(Unit, MM6, ref MinusColor1, ref MinusColor2);
+ }
+ break;
+ }
+ case Open.Lef:
+ {
+ frame1.GetMiX_MaX(out var MM);
+ PlusBrush = Oth.GetLGB(Unit, MM, ref PlusColor2, ref PlusColor1);
+ if (Range == Range.MinusPlus)
+ {
+ frame2.GetMiX_MaX(out var MM2);
+ MinusBrush = Oth.GetLGB(Unit, MM2, ref MinusColor1, ref MinusColor2);
+ }
+ break;
+ }
+ }
+ }
+
+ public void SetAlphaG(double Alpha)
+ {
+ switch (Open)
+ {
+ case Open.Top:
+ {
+ PlusBrush.Dispose();
+ frame1.GetMiY_MaY(out var MM7);
+ PlusBrush = Oth.GetLGB(Unit, MM7, Color.FromArgb((int)(255.0 * Alpha), PlusColor2), Color.FromArgb((int)(255.0 * Alpha), PlusColor1));
+ if (Range == Range.MinusPlus)
+ {
+ MinusBrush.Dispose();
+ frame2.GetMiY_MaY(out var MM8);
+ MinusBrush = Oth.GetLGB(Unit, MM8, Color.FromArgb((int)(255.0 * Alpha), MinusColor1), Color.FromArgb((int)(255.0 * Alpha), MinusColor2));
+ }
+ break;
+ }
+ case Open.Bot:
+ {
+ PlusBrush.Dispose();
+ frame1.GetMaY_MiY(out var MM3);
+ PlusBrush = Oth.GetLGB(Unit, MM3, Color.FromArgb((int)(255.0 * Alpha), PlusColor2), Color.FromArgb((int)(255.0 * Alpha), PlusColor1));
+ if (Range == Range.MinusPlus)
+ {
+ MinusBrush.Dispose();
+ frame2.GetMaY_MiY(out var MM4);
+ MinusBrush = Oth.GetLGB(Unit, MM4, Color.FromArgb((int)(255.0 * Alpha), MinusColor1), Color.FromArgb((int)(255.0 * Alpha), MinusColor2));
+ }
+ break;
+ }
+ case Open.Rig:
+ {
+ PlusBrush.Dispose();
+ frame1.GetMaX_MiX(out var MM5);
+ PlusBrush = Oth.GetLGB(Unit, MM5, Color.FromArgb((int)(255.0 * Alpha), PlusColor2), Color.FromArgb((int)(255.0 * Alpha), PlusColor1));
+ if (Range == Range.MinusPlus)
+ {
+ MinusBrush.Dispose();
+ frame2.GetMaX_MiX(out var MM6);
+ MinusBrush = Oth.GetLGB(Unit, MM6, Color.FromArgb((int)(255.0 * Alpha), MinusColor1), Color.FromArgb((int)(255.0 * Alpha), MinusColor2));
+ }
+ break;
+ }
+ case Open.Lef:
+ {
+ PlusBrush.Dispose();
+ frame1.GetMiX_MaX(out var MM);
+ PlusBrush = Oth.GetLGB(Unit, MM, Color.FromArgb((int)(255.0 * Alpha), PlusColor2), Color.FromArgb((int)(255.0 * Alpha), PlusColor1));
+ if (Range == Range.MinusPlus)
+ {
+ MinusBrush.Dispose();
+ frame2.GetMiX_MaX(out var MM2);
+ MinusBrush = Oth.GetLGB(Unit, MM2, Color.FromArgb((int)(255.0 * Alpha), MinusColor1), Color.FromArgb((int)(255.0 * Alpha), MinusColor2));
+ }
+ break;
+ }
+ }
+ }
+
+ private double GetMax()
+ {
+ return Open switch
+ {
+ Open.Top => (0.0 - gauge.SizeY) * gauge.Size,
+ Open.Bot => gauge.SizeY * gauge.Size,
+ Open.Rig => gauge.SizeX * gauge.Size,
+ Open.Lef => (0.0 - gauge.SizeX) * gauge.Size,
+ _ => 0.0,
+ };
+ }
+
+ private double GetDifference(ref Vector2D CursorPosition)
+ {
+ if (Open == Open.Top || Open == Open.Bot)
+ {
+ return CursorPosition.Y - op.Y;
+ }
+ if (Open == Open.Lef || Open == Open.Rig)
+ {
+ return CursorPosition.X - op.X;
+ }
+ return 0.0;
+ }
+
+ public Gau(string Name, ref Vector2D Position, double Size, double Width, double Height, double Margin, Open Open, Range Range, ref Color PlusColor, ref Color MinusColor, ref Color BackColor, bool Knob)
+ {
+ this.Open = Open;
+ this.Range = Range;
+ PlusBrush = new SolidBrush(PlusColor);
+ MinusBrush = new SolidBrush(MinusColor);
+ ParSetting(Name, ref Position, Size, Width, Height, Margin, ref BackColor, Knob);
+ Max = GetMax();
+ Value = 0.0;
+ }
+
+ public Gau(string Name, Vector2D Position, double Size, double Width, double Height, double Margin, Open Open, Range Range, Color PlusColor, Color MinusColor, Color BackColor, bool Knob)
+ {
+ this.Open = Open;
+ this.Range = Range;
+ PlusBrush = new SolidBrush(PlusColor);
+ MinusBrush = new SolidBrush(MinusColor);
+ ParSetting(Name, ref Position, Size, Width, Height, Margin, ref BackColor, Knob);
+ Max = GetMax();
+ Value = 0.0;
+ }
+
+ public Gau(string Name, ref Vector2D Position, double Size, double Width, double Height, double Margin, Open Open, Range Range, double DisUnit, ref Color PlusColor1, ref Color PlusColor2, ref Color MinusColor1, ref Color MinusColor2, ref Color BackColor, bool Knob)
+ {
+ this.Open = Open;
+ this.Range = Range;
+ ParSetting(Name, ref Position, Size, Width, Height, Margin, ref BackColor, Knob);
+ SetBrush(DisUnit, ref PlusColor1, ref PlusColor2, ref MinusColor1, ref MinusColor2);
+ Max = GetMax();
+ Value = 0.0;
+ }
+
+ public Gau(string Name, Vector2D Position, double Size, double Width, double Height, double Margin, Open Open, Range Range, double DisUnit, Color PlusColor1, Color PlusColor2, Color MinusColor1, Color MinusColor2, Color BackColor, bool Knob)
+ {
+ this.Open = Open;
+ this.Range = Range;
+ ParSetting(Name, ref Position, Size, Width, Height, Margin, ref BackColor, Knob);
+ SetBrush(DisUnit, ref PlusColor1, ref PlusColor2, ref MinusColor1, ref MinusColor2);
+ Max = GetMax();
+ Value = 0.0;
+ }
+
+ public bool Down(ref Color HitColor, ref Vector2D CursorPosition)
+ {
+ if (knob != null && knob.HitColor == HitColor)
+ {
+ Grip = true;
+ op = CursorPosition;
+ return true;
+ }
+ return false;
+ }
+
+ public bool Up()
+ {
+ if (Grip)
+ {
+ Grip = false;
+ return true;
+ }
+ return false;
+ }
+
+ public bool Move(ref Vector2D CursorPosition)
+ {
+ if (Grip)
+ {
+ Value += GetDifference(ref CursorPosition) / Max;
+ op = CursorPosition;
+ return true;
+ }
+ return false;
+ }
+
+ public bool Leave()
+ {
+ if (Grip)
+ {
+ Grip = false;
+ return true;
+ }
+ return false;
+ }
+
+ public void Dispose()
+ {
+ pars.Dispose();
+ PlusBrush.Dispose();
+ if (MinusBrush != null)
+ {
+ MinusBrush.Dispose();
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/HSV.cs b/2DGAMELIB/_2DGAMELIB/HSV.cs
new file mode 100644
index 0000000..6f462eb
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/HSV.cs
@@ -0,0 +1,306 @@
+using System.Drawing;
+
+namespace _2DGAMELIB;
+
+public static class HSV
+{
+ public static void ToHSV(int r, int g, int b, out int h, out int s, out int v)
+ {
+ v = GetMax(r, g, b);
+ int num = v - GetMin(r, g, b);
+ if (num == 0)
+ {
+ s = 0;
+ }
+ else
+ {
+ s = (int)((double)(num * 255) / (double)v);
+ }
+ if (s == 0)
+ {
+ h = 0;
+ return;
+ }
+ double num2 = num;
+ if (r == v)
+ {
+ h = v - (int)((double)(b * 60) / num2) - (v - (int)((double)(g * 60) / num2));
+ }
+ else if (g == v)
+ {
+ h = 120 + (v - (int)((double)(r * 60) / num2)) - (v - (int)((double)(b * 60) / num2));
+ }
+ else
+ {
+ h = 240 + (v - (int)((double)(g * 60) / num2)) - (v - (int)((double)(r * 60) / num2));
+ }
+ if (h < 0)
+ {
+ h += 360;
+ }
+ }
+
+ public static void ToRGB(int h, int s, int v, out int r, out int g, out int b)
+ {
+ if (s == 0)
+ {
+ r = (g = (b = v));
+ return;
+ }
+ int num = h * 6;
+ switch (num / 360)
+ {
+ case 0:
+ r = v;
+ g = (int)((double)(v * (255 - (int)((double)(s * (360 - num % 360)) / 360.0))) / 255.0);
+ b = (int)((double)(v * (255 - s)) / 255.0);
+ break;
+ case 1:
+ r = (int)((double)(v * (255 - (int)((double)(s * (num % 360)) / 360.0))) / 255.0);
+ g = v;
+ b = (int)((double)(v * (255 - s)) / 255.0);
+ break;
+ case 2:
+ r = (int)((double)(v * (255 - s)) / 255.0);
+ g = v;
+ b = (int)((double)(v * (255 - (int)((double)(s * (360 - num % 360)) / 360.0))) / 255.0);
+ break;
+ case 3:
+ r = (int)((double)(v * (255 - s)) / 255.0);
+ g = (int)((double)(v * (255 - (int)((double)(s * (num % 360)) / 360.0))) / 255.0);
+ b = v;
+ break;
+ case 4:
+ r = (int)((double)(v * (255 - (int)((double)(s * (360 - num % 360)) / 360.0))) / 255.0);
+ g = (int)((double)(v * (255 - s)) / 255.0);
+ b = v;
+ break;
+ default:
+ r = v;
+ g = (int)((double)(v * (255 - s)) / 255.0);
+ b = (int)((double)(v * (255 - (int)((double)(s * (num % 360)) / 360.0))) / 255.0);
+ break;
+ }
+ }
+
+ public static void ToHSV(this Color col, out int h, out int s, out int v)
+ {
+ ToHSV(col.R, col.G, col.B, out h, out s, out v);
+ }
+
+ public static void ToHSV(ref Color col, out int h, out int s, out int v)
+ {
+ ToHSV(col.R, col.G, col.B, out h, out s, out v);
+ }
+
+ public static void ToRGB(int h, int s, int v, out Color ret)
+ {
+ ToRGB(h, s, v, out var r, out var g, out var b);
+ ret = Color.FromArgb(r, g, b);
+ }
+
+ public static void ToRGB(int h, int s, int v, int a, out Color ret)
+ {
+ ToRGB(h, s, v, out var r, out var g, out var b);
+ ret = Color.FromArgb(a, r, g, b);
+ }
+
+ public static void ToRGB(this Hsv hsv, out int r, out int g, out int b)
+ {
+ ToRGB(hsv.H, hsv.S, hsv.V, out r, out g, out b);
+ }
+
+ public static void ToRGB(ref Hsv hsv, out int r, out int g, out int b)
+ {
+ ToRGB(hsv.H, hsv.S, hsv.V, out r, out g, out b);
+ }
+
+ public static Hsv ToHSV(int r, int g, int b)
+ {
+ Hsv result = default(Hsv);
+ ToHSV(r, g, b, out result.H, out result.S, out result.V);
+ return result;
+ }
+
+ public static Hsv ToHSV(this Color col)
+ {
+ Hsv result = default(Hsv);
+ ToHSV(col.R, col.G, col.B, out result.H, out result.S, out result.V);
+ return result;
+ }
+
+ public static Hsv ToHSV(ref Color col)
+ {
+ Hsv result = default(Hsv);
+ ToHSV(col.R, col.G, col.B, out result.H, out result.S, out result.V);
+ return result;
+ }
+
+ public static Color ToRGB(this Hsv hsv)
+ {
+ ToRGB(hsv.H, hsv.S, hsv.V, out var r, out var g, out var b);
+ return Color.FromArgb(r, g, b);
+ }
+
+ public static Color ToRGB(ref Hsv hsv)
+ {
+ ToRGB(hsv.H, hsv.S, hsv.V, out var r, out var g, out var b);
+ return Color.FromArgb(r, g, b);
+ }
+
+ private static int GetMax(int x, int y, int z)
+ {
+ if (x < y)
+ {
+ if (z >= y)
+ {
+ return z;
+ }
+ return y;
+ }
+ if (z < x)
+ {
+ return x;
+ }
+ return z;
+ }
+
+ private static int GetMin(int x, int y, int z)
+ {
+ if (x > y)
+ {
+ if (z <= y)
+ {
+ return z;
+ }
+ return y;
+ }
+ if (z > x)
+ {
+ return x;
+ }
+ return z;
+ }
+}
+public struct Hsv
+{
+ public int H;
+
+ public int S;
+
+ public int V;
+
+ public int Hue
+ {
+ get
+ {
+ return H;
+ }
+ set
+ {
+ H = value;
+ HueLimit();
+ }
+ }
+
+ public int Sat
+ {
+ get
+ {
+ return S;
+ }
+ set
+ {
+ S = value;
+ SatLimit();
+ }
+ }
+
+ public int Val
+ {
+ get
+ {
+ return V;
+ }
+ set
+ {
+ V = value;
+ ValLimit();
+ }
+ }
+
+ public Hsv(Color Color)
+ {
+ HSV.ToHSV(Color.R, Color.G, Color.B, out H, out S, out V);
+ }
+
+ public Hsv(ref Color Color)
+ {
+ HSV.ToHSV(Color.R, Color.G, Color.B, out H, out S, out V);
+ }
+
+ public Hsv(int Hue, int Sat, int Val)
+ {
+ H = Hue;
+ S = Sat;
+ V = Val;
+ }
+
+ private void HueLimit()
+ {
+ H %= 360;
+ }
+
+ private void SatLimit()
+ {
+ if (S > 255)
+ {
+ S = 255;
+ }
+ else if (S < 0)
+ {
+ S = 0;
+ }
+ }
+
+ private void ValLimit()
+ {
+ if (V > 255)
+ {
+ V = 255;
+ }
+ else if (V < 0)
+ {
+ V = 0;
+ }
+ }
+
+ public Color GetColor()
+ {
+ HSV.ToRGB(H, S, V, out var r, out var g, out var b);
+ return Color.FromArgb(r, g, b);
+ }
+
+ public Color GetColor(int a)
+ {
+ HSV.ToRGB(H, S, V, out var r, out var g, out var b);
+ return Color.FromArgb(a, r, g, b);
+ }
+
+ public void GetColor(out Color ret)
+ {
+ HSV.ToRGB(H, S, V, out var r, out var g, out var b);
+ ret = Color.FromArgb(r, g, b);
+ }
+
+ public void GetColor(int a, out Color ret)
+ {
+ HSV.ToRGB(H, S, V, out var r, out var g, out var b);
+ ret = Color.FromArgb(a, r, g, b);
+ }
+
+ public override string ToString()
+ {
+ return "H : " + H + " S : " + S + " V : " + V;
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Joi.cs b/2DGAMELIB/_2DGAMELIB/Joi.cs
new file mode 100644
index 0000000..4df4a66
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Joi.cs
@@ -0,0 +1,31 @@
+using System;
+using System.IO;
+
+namespace _2DGAMELIB;
+
+
+//its the position of a joint
+[Serializable]
+public class Joi
+{
+ public Vector2D Joint = Dat.Vec2DZero;
+
+ public Joi()
+ {
+ }
+
+ public Joi(Joi Joi)
+ {
+ Joint = Joi.Joint;
+ }
+
+ public Joi(Vector2D Joint)
+ {
+ this.Joint = Joint;
+ }
+
+ public Joi(ref Vector2D Joint)
+ {
+ this.Joint = Joint;
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Join.cs b/2DGAMELIB/_2DGAMELIB/Join.cs
new file mode 100644
index 0000000..471b6d8
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Join.cs
@@ -0,0 +1,196 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace _2DGAMELIB;
+
+public static class Join
+{
+ public static double IdentityDistance = System.Math.Pow(5E-05, 2.0);
+
+ public static Joints GetJoints(this Par JoinRoot, IEnumerable EnumPar)
+ {
+ Joints joints = new Joints();
+ int num = 0;
+ List list = new List();
+ List list2 = EnumPar.ToList();
+ foreach (Joi item in JoinRoot.JP)
+ {
+ Vector2D v = JoinRoot.ToGlobal(item.Joint);
+ int num2 = 0;
+ list.Clear();
+ foreach (Par item2 in list2)
+ {
+ if (JoinRoot != item2)
+ {
+ if (v.DistanceSquared(item2.Position) <= IdentityDistance)
+ {
+ joints.Joins.Add(new Joint(JoinRoot, num, item2));
+ if (!list.Contains(num2))
+ {
+ list.Add(num2);
+ }
+ }
+ }
+ else if (!list.Contains(num2))
+ {
+ list.Add(num2);
+ }
+ num2++;
+ }
+ for (int num3 = list.Count - 1; num3 > -1; num3--)
+ {
+ list2.RemoveAt(list[num3]);
+ }
+ num++;
+ }
+ GetJoints(list2, joints, list);
+ return joints;
+ }
+
+ private static void GetJoints(List pl, Joints js, List del)
+ {
+ int num = -1;
+ int num2 = 0;
+ while (num != js.Joins.Count)
+ {
+ num = js.Joins.Count;
+ for (int i = num2; i < num; i++)
+ {
+ Par par = js.Joins[i].Par1;
+ int num3 = 0;
+ foreach (Joi item in par.JP)
+ {
+ Vector2D v = par.ToGlobal(item.Joint);
+ int num4 = 0;
+ del.Clear();
+ foreach (Par item2 in pl)
+ {
+ if (par != item2)
+ {
+ if (v.DistanceSquared(item2.Position) <= IdentityDistance)
+ {
+ js.Joins.Add(new Joint(par, num3, item2));
+ if (!del.Contains(num4))
+ {
+ del.Add(num4);
+ }
+ }
+ }
+ else if (!del.Contains(num4))
+ {
+ del.Add(num4);
+ }
+ num4++;
+ }
+ for (int num5 = del.Count - 1; num5 > -1; num5--)
+ {
+ pl.RemoveAt(del[num5]);
+ }
+ num3++;
+ }
+ }
+ num2 = num;
+ }
+ }
+
+ public static JointsD GetJointsD(this Difs JoinRoot, IEnumerable EnumDifs)
+ {
+ JointsD jointsD = new JointsD();
+ List list = new List();
+ List list2 = EnumDifs.ToList();
+ foreach (Par item in JoinRoot.EnumAllPar())
+ {
+ int num = 0;
+ list.Clear();
+ foreach (Difs item2 in list2)
+ {
+ if (JoinRoot != item2)
+ {
+ int num2 = 0;
+ foreach (Joi item3 in item.JP)
+ {
+ Vector2D v = item.ToGlobal(item3.Joint);
+ foreach (Par item4 in item2.EnumJoinRoot)
+ {
+ if (v.DistanceSquared(item4.Position) <= IdentityDistance)
+ {
+ jointsD.Joins.Add(new JointD(JoinRoot, item, num2, item2));
+ if (!list.Contains(num))
+ {
+ list.Add(num);
+ }
+ break;
+ }
+ }
+ num2++;
+ }
+ }
+ else if (!list.Contains(num))
+ {
+ list.Add(num);
+ }
+ num++;
+ }
+ for (int num3 = list.Count - 1; num3 > -1; num3--)
+ {
+ list2.RemoveAt(list[num3]);
+ }
+ }
+ GetJointsD(list2, jointsD, list);
+ return jointsD;
+ }
+
+ private static void GetJointsD(List dl, JointsD jsd, List del)
+ {
+ int num = -1;
+ int num2 = 0;
+ while (num != jsd.Joins.Count)
+ {
+ num = jsd.Joins.Count;
+ for (int i = num2; i < num; i++)
+ {
+ Difs difs = jsd.Joins[i].Difs1;
+ foreach (Par item in difs.EnumAllPar())
+ {
+ int num3 = 0;
+ del.Clear();
+ foreach (Difs item2 in dl)
+ {
+ if (difs != item2)
+ {
+ int num4 = 0;
+ foreach (Joi item3 in item.JP)
+ {
+ Vector2D v = item.ToGlobal(item3.Joint);
+ foreach (Par item4 in item2.EnumJoinRoot)
+ {
+ if (v.DistanceSquared(item4.Position) <= IdentityDistance)
+ {
+ jsd.Joins.Add(new JointD(difs, item, num4, item2));
+ if (!del.Contains(num3))
+ {
+ del.Add(num3);
+ }
+ break;
+ }
+ }
+ num4++;
+ }
+ }
+ else if (!del.Contains(num3))
+ {
+ del.Add(num3);
+ }
+ num3++;
+ }
+ for (int num5 = del.Count - 1; num5 > -1; num5--)
+ {
+ dl.RemoveAt(del[num5]);
+ }
+ }
+ }
+ num2 = num;
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Joint.cs b/2DGAMELIB/_2DGAMELIB/Joint.cs
new file mode 100644
index 0000000..37b98c3
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Joint.cs
@@ -0,0 +1,30 @@
+using System;
+
+namespace _2DGAMELIB;
+
+[Serializable]
+public class Joint
+{
+ public Par Par0;
+
+ public int Index;
+
+ public Par Par1;
+
+ public Joint(Par Par0, int Index, Par Par1)
+ {
+ this.Par0 = Par0;
+ this.Index = Index;
+ this.Par1 = Par1;
+ }
+
+ public void JoinP()
+ {
+ Par0.SetJointP(Index, Par1);
+ }
+
+ public void JoinPA()
+ {
+ Par0.SetJointPA(Index, Par1);
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/JointD.cs b/2DGAMELIB/_2DGAMELIB/JointD.cs
new file mode 100644
index 0000000..a6fcd0a
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/JointD.cs
@@ -0,0 +1,72 @@
+using System;
+using System.Collections.Generic;
+
+namespace _2DGAMELIB;
+
+[Serializable]
+public class JointD
+{
+ public Difs Difs0;
+
+ public List Path0;
+
+ public int Index;
+
+ public Difs Difs1;
+
+ public JointD(Difs Difs0, Par Par0, int Index, Difs Difs1)
+ {
+ this.Difs0 = Difs0;
+ Path0 = Par0.GetPath();
+ this.Index = Index;
+ this.Difs1 = Difs1;
+ }
+
+ public JointD(Difs Difs1)
+ {
+ this.Difs1 = Difs1;
+ }
+
+ public void JoinP()
+ {
+ Difs0.Current.GetPar(Path0).SetJointP(Index, Difs1.CurJoinRoot);
+ Difs1.JoinPA();
+ }
+
+ public void JoinPA()
+ {
+ Difs0.Current.GetPar(Path0).SetJointPA(Index, Difs1.CurJoinRoot);
+ Difs1.JoinPA();
+ }
+
+ public void JoinPall()
+ {
+ foreach (Par item in Difs1.EnumJoinRoot)
+ {
+ Difs0.Current.GetPar(Path0).SetJointP(Index, item);
+ }
+ foreach (Pars item2 in Difs1.EnumAllPars())
+ {
+ Difs1.JoinPA(item2);
+ }
+ }
+
+ public void JoinPAall()
+ {
+ foreach (Par item in Difs1.EnumJoinRoot)
+ {
+ Difs0.Current.GetPar(Path0).SetJointPA(Index, item);
+ }
+ foreach (Pars item2 in Difs1.EnumAllPars())
+ {
+ Difs1.JoinPA(item2);
+ }
+ }
+
+ public void Set(JointS 接続元)
+ {
+ Difs0 = 接続元.Difs;
+ Path0 = 接続元.Path;
+ Index = 接続元.Index;
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Joints.cs b/2DGAMELIB/_2DGAMELIB/Joints.cs
new file mode 100644
index 0000000..69005a5
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Joints.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+
+namespace _2DGAMELIB;
+
+[Serializable]
+public class Joints
+{
+ public List Joins = new List();
+
+ public void JoinP()
+ {
+ foreach (Joint join in Joins)
+ {
+ join.JoinP();
+ }
+ }
+
+ public void JoinPA()
+ {
+ foreach (Joint join in Joins)
+ {
+ join.JoinPA();
+ }
+ }
+}
+[Serializable]
+public class JointS
+{
+ public Difs Difs;
+
+ public List Path;
+
+ public int Index;
+
+ public JointS()
+ {
+ }
+
+ public JointS(Difs Difs, Par Par, int Index)
+ {
+ this.Difs = Difs;
+ Path = Par.GetPath();
+ this.Index = Index;
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/JointsD.cs b/2DGAMELIB/_2DGAMELIB/JointsD.cs
new file mode 100644
index 0000000..fc0345b
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/JointsD.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Collections.Generic;
+
+namespace _2DGAMELIB;
+
+[Serializable]
+public class JointsD
+{
+ public List Joins = new List();
+
+ public void JoinP()
+ {
+ foreach (JointD join in Joins)
+ {
+ join.JoinP();
+ }
+ }
+
+ public void JoinPA()
+ {
+ foreach (JointD join in Joins)
+ {
+ join.JoinPA();
+ }
+ }
+
+ public void JoinPall()
+ {
+ foreach (JointD join in Joins)
+ {
+ join.JoinPall();
+ }
+ }
+
+ public void JoinPAall()
+ {
+ foreach (JointD join in Joins)
+ {
+ join.JoinPAall();
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Lab.cs b/2DGAMELIB/_2DGAMELIB/Lab.cs
new file mode 100644
index 0000000..c91ab8c
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Lab.cs
@@ -0,0 +1,215 @@
+using System;
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace _2DGAMELIB;
+
+public class Lab
+{
+ private ParT parT;
+
+ private Med Med;
+
+ private Are Are;
+
+ private double Width;
+
+ private bool Input;
+
+ private double Min;
+
+ private TextBox tb;
+
+ public ParT ParT => parT;
+
+ public string Text
+ {
+ get
+ {
+ return parT.Text;
+ }
+ set
+ {
+ if (!Med.BaseControl.Contains(tb))
+ {
+ SetText(value);
+ }
+ }
+ }
+
+ private void SetText(string Text)
+ {
+ parT.Text = Text;
+ SetRect();
+ }
+
+ public Lab(Med Med, Are Are, string Name, ref Vector2D Position, double Size, double Width, Font Font, double TextSize, string Text, ref Color TextColor, ref Color ShadColor, ref Color BackColor, ref Color FramColor, bool Input)
+ {
+ Setting(Med, Are, Name, ref Position, Size, Width, Font, TextSize, Text, ref TextColor, ref ShadColor, ref BackColor, ref FramColor, Input);
+ }
+
+ public Lab(Med Med, Are Are, string Name, Vector2D Position, double Size, double Width, Font Font, double TextSize, string Text, Color TextColor, Color ShadColor, Color BackColor, Color FramColor, bool Input)
+ {
+ Setting(Med, Are, Name, ref Position, Size, Width, Font, TextSize, Text, ref TextColor, ref ShadColor, ref BackColor, ref FramColor, Input);
+ }
+
+ private void Setting(Med Med, Are Are, string Name, ref Vector2D Position, double Size, double Width, Font Font, double TextSize, string Text, ref Color TextColor, ref Color ShadColor, ref Color BackColor, ref Color FramColor, bool Input)
+ {
+ this.Med = Med;
+ this.Are = Are;
+ this.Width = Width;
+ this.Input = Input;
+ if (Input)
+ {
+ tb = new TextBox();
+ tb.WordWrap = true;
+ tb.Multiline = true;
+ tb.Text = Text;
+ tb.ForeColor = TextColor;
+ tb.BackColor = Color.FromArgb(255, BackColor);
+ tb.KeyUp += delegate
+ {
+ lock (Med.obj)
+ {
+ SetText(tb.Text);
+ parT.Text = "";
+ SetRectT();
+ }
+ };
+ tb.KeyDown += delegate(object s, KeyEventArgs e)
+ {
+ lock (Med.obj)
+ {
+ if (e.KeyCode == Keys.Return)
+ {
+ this.Med.BaseControl.Controls.Remove(tb);
+ SetText(tb.Text);
+ e.SuppressKeyPress = true;
+ }
+ }
+ };
+ tb.PreviewKeyDown += delegate(object s, PreviewKeyDownEventArgs e)
+ {
+ e.IsInputKey = true;
+ };
+ Med.BaseControl.Controls.Add(tb);
+ Med.BaseControl.Controls.Remove(tb);
+ ((Control)Med.BaseControl).Resize += Lab_Resize;
+ }
+ Out[] array = new Out[1] { Shas.Get正方形() };
+ if (FramColor == Color.Empty || FramColor == Color.Transparent)
+ {
+ array.OutlineFalse();
+ }
+ parT = new ParT
+ {
+ Tag = Name,
+ InitializeOP = array,
+ BasePointBase = array[0].ps[0],
+ PositionBase = Position,
+ SizeBase = Size,
+ Closed = true,
+ BrushColor = BackColor,
+ PenColor = FramColor,
+ Font = Font,
+ FontSize = TextSize,
+ TextColor = TextColor,
+ Text = "A"
+ };
+ if (ShadColor != Color.Empty)
+ {
+ parT.ShadBrush = new SolidBrush(ShadColor);
+ }
+ SetRect();
+ Min = parT.RectSize.Y;
+ SetText(Text);
+ }
+
+ private void Lab_Resize(object sender, EventArgs e)
+ {
+ Med.BaseControl.Controls.Remove(tb);
+ SetText(tb.Text);
+ }
+
+ public void SetHitColor(Med Med)
+ {
+ if (parT.HitColor != Color.Transparent)
+ {
+ Med.RemUniqueColor(parT.HitColor);
+ }
+ parT.HitColor = Med.GetUniqueColor();
+ }
+
+ private void SetRect()
+ {
+ if (!string.IsNullOrEmpty(parT.Text))
+ {
+ parT.RectSize = new Vector2D(Width, 10.0);
+ Vector2D_2 stringRect = parT.GetStringRect(Are.DisUnit, Are.GD);
+ double x = ((stringRect.v2.X > Min) ? stringRect.v2.X : Min) + 0.07;
+ parT.RectSize = new Vector2D(x, stringRect.v2.Y);
+ }
+ else
+ {
+ double x2 = Min + 0.07;
+ parT.RectSize = new Vector2D(x2, Min);
+ }
+ parT.OP[0].ps[0] = new Vector2D(0.0, 0.0);
+ parT.OP[0].ps[1] = new Vector2D(parT.RectSize.X, 0.0);
+ parT.OP[0].ps[2] = new Vector2D(parT.RectSize.X, parT.RectSize.Y);
+ parT.OP[0].ps[3] = new Vector2D(0.0, parT.RectSize.Y);
+ }
+
+ private void SetRectT()
+ {
+ double resMag = Med.ResMag;
+ Vector2D vector2D = (parT.Position + Are.GetPosition()) * Med.Unit / resMag + Med.ResVector;
+ tb.Location = new Point((int)vector2D.X - 1, (int)vector2D.Y - 1);
+ double num = parT.Size * Med.Unit;
+ if (tb.Font != null)
+ {
+ tb.Font.Dispose();
+ }
+ tb.Font = new Font(parT.Font.FontFamily, (float)(parT.FontSize * num / resMag));
+ Vector2D vector2D2 = parT.RectSize * num / resMag;
+ tb.Size = new Size((int)(vector2D2.X + 2.0), (int)(vector2D2.Y + 10.0));
+ }
+
+ public bool Double(ref Color HitColor)
+ {
+ if (Input && parT.HitColor == HitColor && !Med.BaseControl.Controls.Contains(tb))
+ {
+ tb.Text = parT.Text;
+ parT.Text = "";
+ SetRectT();
+ Med.BaseControl.Controls.Add(tb);
+ tb.SelectAll();
+ tb.Focus();
+ tb.BringToFront();
+ return true;
+ }
+ return false;
+ }
+
+ public void Click(ref Color HitColor)
+ {
+ if (Input && parT.HitColor != HitColor && Med.BaseControl.Controls.Contains(tb))
+ {
+ Med.BaseControl.Controls.Remove(tb);
+ SetText(tb.Text);
+ }
+ }
+
+ public void Dispose()
+ {
+ parT.Dispose();
+ if (Input)
+ {
+ ((Control)Med.BaseControl).Resize -= Lab_Resize;
+ }
+ if (tb != null)
+ {
+ tb.Dispose();
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Labs.cs b/2DGAMELIB/_2DGAMELIB/Labs.cs
new file mode 100644
index 0000000..cd48802
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Labs.cs
@@ -0,0 +1,79 @@
+using System.Collections.Generic;
+using System.Drawing;
+
+namespace _2DGAMELIB;
+
+public class Labs
+{
+ private OrderedDictionary labs = new OrderedDictionary();
+
+ private Med Med;
+
+ private Are Are;
+
+ public Lab this[string Name] => labs[Name];
+
+ public Labs(Med Med, Are Are)
+ {
+ this.Med = Med;
+ this.Are = Are;
+ }
+
+ public void Add(string Name, Vector2D Position, double Size, double Width, Font Font, double TextSize, string Text, Color TextColor, Color ShadColor, Color BackColor, Color FramColor, bool Input)
+ {
+ labs.Add(Name, new Lab(Med, Are, Name, ref Position, Size, Width, Font, TextSize, Text, ref TextColor, ref ShadColor, ref BackColor, ref FramColor, Input));
+ }
+
+ public void Add(string Name, ref Vector2D Position, double Size, double Width, Font Font, double TextSize, string Text, ref Color TextColor, ref Color ShadColor, ref Color BackColor, ref Color FramColor, bool Input)
+ {
+ labs.Add(Name, new Lab(Med, Are, Name, ref Position, Size, Width, Font, TextSize, Text, ref TextColor, ref ShadColor, ref BackColor, ref FramColor, Input));
+ }
+
+ public void Double(ref Color HitColor)
+ {
+ using IEnumerator enumerator = labs.Values.GetEnumerator();
+ while (enumerator.MoveNext() && !enumerator.Current.Double(ref HitColor))
+ {
+ }
+ }
+
+ public void Click(ref Color HitColor)
+ {
+ foreach (Lab value in labs.Values)
+ {
+ value.Click(ref HitColor);
+ }
+ }
+
+ public void SetHitColor(Med Med)
+ {
+ foreach (Lab value in labs.Values)
+ {
+ value.SetHitColor(Med);
+ }
+ }
+
+ public void Draw(Are Are)
+ {
+ foreach (Lab value in labs.Values)
+ {
+ Are.Draw(value.ParT);
+ }
+ }
+
+ public void Draw(AreM AreM)
+ {
+ foreach (Lab value in labs.Values)
+ {
+ AreM.Draw(value.ParT);
+ }
+ }
+
+ public void Dispose()
+ {
+ foreach (Lab value in labs.Values)
+ {
+ value.Dispose();
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Math.cs b/2DGAMELIB/_2DGAMELIB/Math.cs
new file mode 100644
index 0000000..6763424
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Math.cs
@@ -0,0 +1,98 @@
+using System;
+
+namespace _2DGAMELIB;
+
+//TODO remove these...
+public static class Math
+{
+ public static double RoundDown(this double Value, int Digits)
+ {
+ double num = System.Math.Pow(10.0, Digits);
+ if (!(Value > 0.0))
+ {
+ return System.Math.Ceiling(Value * num) / num;
+ }
+ return System.Math.Floor(Value * num) / num;
+ }
+
+ public static double Inverse(this double Rate)
+ {
+ if (Rate == 0.0)
+ {
+ return 1.0;
+ }
+ return (double)System.Math.Sign(Rate) - Rate;
+ }
+
+ public static double Reciprocal(this double Rate)
+ {
+ if (Rate == 0.0)
+ {
+ return 1.0;
+ }
+ return 1.0 / Rate;
+ }
+ public static double ToRadian(this double Degree)
+ {
+ return System.Math.PI * Degree / 180.0;
+ }
+ public static double ToDegree(this double Radian)
+ {
+ return Radian * 180.0 / System.Math.PI;
+ }
+ public static double Pow(this double x, double n)
+ {
+ return System.Math.Pow(x, n);
+ }
+
+ public static double Sin(this double θ)
+ {
+ return System.Math.Sin(θ);
+ }
+
+ public static double Abs(this double x)
+ {
+ return System.Math.Abs(x);
+ }
+
+ public static int Abs(this int x)
+ {
+ return System.Math.Abs(x);
+ }
+
+ public static int Sign(this double x)
+ {
+ return System.Math.Sign(x);
+ }
+
+ public static int Sign(this int x)
+ {
+ return System.Math.Sign(x);
+ }
+
+ public static double Sqrt(this double x)
+ {
+ return System.Math.Sqrt(x);
+ }
+
+ public static double Max(this double a, double b)
+ {
+ return System.Math.Max(a, b);
+ }
+
+ public static int Clamp(this int Value, int Min, int Max)
+ {
+ return System.Math.Min(Max, System.Math.Max(Min, Value));
+ }
+
+ public static double Clamp(this double Value, double Min, double Max)
+ {
+ return System.Math.Min(Max, System.Math.Max(Min, Value));
+ }
+
+ public static int Limit(this int Value, int Sta, int Les)
+ {
+ return System.Math.Min(Les-1, System.Math.Max(Sta, Value));
+ }
+
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Matrix.cs b/2DGAMELIB/_2DGAMELIB/Matrix.cs
new file mode 100644
index 0000000..be04205
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Matrix.cs
@@ -0,0 +1,154 @@
+using System;
+
+namespace _2DGAMELIB;
+
+public static class Matrix
+{
+ public static MatrixD RotationZ(this double angle)
+ {
+ MatrixD result = default(MatrixD);
+ result.M11 = System.Math.Cos(angle);
+ result.M12 = System.Math.Sin(angle);
+ result.M13 = 0.0;
+ result.M14 = 0.0;
+ result.M21 = 0.0 - result.M12;
+ result.M22 = result.M11;
+ result.M23 = 0.0;
+ result.M24 = 0.0;
+ result.M31 = 0.0;
+ result.M32 = 0.0;
+ result.M33 = 1.0;
+ result.M34 = 0.0;
+ result.M41 = 0.0;
+ result.M42 = 0.0;
+ result.M43 = 0.0;
+ result.M44 = 1.0;
+ return result;
+ }
+
+ public static void RotationZ(this double angle, out MatrixD result)
+ {
+ result.M11 = System.Math.Cos(angle);
+ result.M12 = System.Math.Sin(angle);
+ result.M13 = 0.0;
+ result.M14 = 0.0;
+ result.M21 = 0.0 - result.M12;
+ result.M22 = result.M11;
+ result.M23 = 0.0;
+ result.M24 = 0.0;
+ result.M31 = 0.0;
+ result.M32 = 0.0;
+ result.M33 = 1.0;
+ result.M34 = 0.0;
+ result.M41 = 0.0;
+ result.M42 = 0.0;
+ result.M43 = 0.0;
+ result.M44 = 1.0;
+ }
+
+ public static Vector2D TransformCoordinate(this Vector2D coord, MatrixD transform)
+ {
+ double num = 1.0 / (coord.X * transform.M14 + coord.Y * transform.M24 + transform.M44);
+ return new Vector2D((coord.X * transform.M11 + coord.Y * transform.M21 + transform.M41) * num, (coord.X * transform.M12 + coord.Y * transform.M22 + transform.M42) * num);
+ }
+
+ public static Vector2D TransformCoordinate(ref Vector2D coord, ref MatrixD transform)
+ {
+ double num = 1.0 / (coord.X * transform.M14 + coord.Y * transform.M24 + transform.M44);
+ return new Vector2D((coord.X * transform.M11 + coord.Y * transform.M21 + transform.M41) * num, (coord.X * transform.M12 + coord.Y * transform.M22 + transform.M42) * num);
+ }
+
+ public static void TransformCoordinate(this Vector2D coord, MatrixD transform, out Vector2D result)
+ {
+ double num = 1.0 / (coord.X * transform.M14 + coord.Y * transform.M24 + transform.M44);
+ result.X = (coord.X * transform.M11 + coord.Y * transform.M21 + transform.M41) * num;
+ result.Y = (coord.X * transform.M12 + coord.Y * transform.M22 + transform.M42) * num;
+ }
+
+ public static void TransformCoordinate(ref Vector2D coord, ref MatrixD transform, out Vector2D result)
+ {
+ double num = 1.0 / (coord.X * transform.M14 + coord.Y * transform.M24 + transform.M44);
+ result.X = (coord.X * transform.M11 + coord.Y * transform.M21 + transform.M41) * num;
+ result.Y = (coord.X * transform.M12 + coord.Y * transform.M22 + transform.M42) * num;
+ }
+
+ public static Vector2D[] TransformCoordinate(this Vector2D[] coords, MatrixD transform)
+ {
+ int num = coords.Length;
+ Vector2D[] array = new Vector2D[num];
+ for (int i = 0; i < num; i++)
+ {
+ double num2 = 1.0 / (coords[i].X * transform.M14 + coords[i].Y * transform.M24 + transform.M44);
+ array[i].X = (coords[i].X * transform.M11 + coords[i].Y * transform.M21 + transform.M41) * num2;
+ array[i].Y = (coords[i].X * transform.M12 + coords[i].Y * transform.M22 + transform.M42) * num2;
+ }
+ return array;
+ }
+
+ public static Vector2D[] TransformCoordinate(this Vector2D[] coords, ref MatrixD transform)
+ {
+ int num = coords.Length;
+ Vector2D[] array = new Vector2D[num];
+ for (int i = 0; i < num; i++)
+ {
+ double num2 = 1.0 / (coords[i].X * transform.M14 + coords[i].Y * transform.M24 + transform.M44);
+ array[i].X = (coords[i].X * transform.M11 + coords[i].Y * transform.M21 + transform.M41) * num2;
+ array[i].Y = (coords[i].X * transform.M12 + coords[i].Y * transform.M22 + transform.M42) * num2;
+ }
+ return array;
+ }
+
+ public static void TransformCoordinate(this Vector2D[] coords, MatrixD transform, out Vector2D[] results)
+ {
+ int num = coords.Length;
+ results = new Vector2D[num];
+ for (int i = 0; i < num; i++)
+ {
+ double num2 = 1.0 / (coords[i].X * transform.M14 + coords[i].Y * transform.M24 + transform.M44);
+ results[i].X = (coords[i].X * transform.M11 + coords[i].Y * transform.M21 + transform.M41) * num2;
+ results[i].Y = (coords[i].X * transform.M12 + coords[i].Y * transform.M22 + transform.M42) * num2;
+ }
+ }
+
+ public static void TransformCoordinate(this Vector2D[] coords, ref MatrixD transform, out Vector2D[] results)
+ {
+ int num = coords.Length;
+ results = new Vector2D[num];
+ for (int i = 0; i < num; i++)
+ {
+ double num2 = 1.0 / (coords[i].X * transform.M14 + coords[i].Y * transform.M24 + transform.M44);
+ results[i].X = (coords[i].X * transform.M11 + coords[i].Y * transform.M21 + transform.M41) * num2;
+ results[i].Y = (coords[i].X * transform.M12 + coords[i].Y * transform.M22 + transform.M42) * num2;
+ }
+ }
+
+ public static Vector2D TransformCoordinateBP(this Vector2D coord, Vector2D BasePoint, MatrixD transform)
+ {
+ Vec.Subtract(ref coord, ref BasePoint, out coord);
+ TransformCoordinate(ref coord, ref transform, out var result);
+ Vec.Add(ref result, ref BasePoint, out result);
+ return result;
+ }
+
+ public static Vector2D TransformCoordinateBP(ref Vector2D coord, ref Vector2D BasePoint, ref MatrixD transform)
+ {
+ Vec.Subtract(ref coord, ref BasePoint, out var r);
+ TransformCoordinate(ref r, ref transform, out var result);
+ Vec.Add(ref result, ref BasePoint, out result);
+ return result;
+ }
+
+ public static void TransformCoordinateBP(this Vector2D coord, Vector2D BasePoint, MatrixD transform, out Vector2D result)
+ {
+ Vec.Subtract(ref coord, ref BasePoint, out coord);
+ TransformCoordinate(ref coord, ref transform, out result);
+ Vec.Add(ref result, ref BasePoint, out result);
+ }
+
+ public static void TransformCoordinateBP(ref Vector2D coord, ref Vector2D BasePoint, ref MatrixD transform, out Vector2D result)
+ {
+ Vec.Subtract(ref coord, ref BasePoint, out var r);
+ TransformCoordinate(ref r, ref transform, out result);
+ Vec.Add(ref result, ref BasePoint, out result);
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/MatrixD.cs b/2DGAMELIB/_2DGAMELIB/MatrixD.cs
new file mode 100644
index 0000000..cbbf31f
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/MatrixD.cs
@@ -0,0 +1,587 @@
+using System;
+using System.Globalization;
+
+namespace _2DGAMELIB;
+
+[Serializable]
+public struct MatrixD
+{
+ public double M11;
+
+ public double M12;
+
+ public double M13;
+
+ public double M14;
+
+ public double M21;
+
+ public double M22;
+
+ public double M23;
+
+ public double M24;
+
+ public double M31;
+
+ public double M32;
+
+ public double M33;
+
+ public double M34;
+
+ public double M41;
+
+ public double M42;
+
+ public double M43;
+
+ public double M44;
+
+ public double this[int row, int col]
+ {
+ get
+ {
+ switch (row)
+ {
+ case 0:
+ switch (col)
+ {
+ case 0:
+ return M11;
+ case 1:
+ return M12;
+ case 2:
+ return M13;
+ case 3:
+ return M14;
+ default:
+ error(row, col);
+ return 0.0;
+ }
+ case 1:
+ switch (col)
+ {
+ case 0:
+ return M21;
+ case 1:
+ return M22;
+ case 2:
+ return M23;
+ case 3:
+ return M24;
+ default:
+ error(row, col);
+ return 0.0;
+ }
+ case 2:
+ switch (col)
+ {
+ case 0:
+ return M31;
+ case 1:
+ return M32;
+ case 2:
+ return M33;
+ case 3:
+ return M34;
+ default:
+ error(row, col);
+ return 0.0;
+ }
+ case 3:
+ switch (col)
+ {
+ case 0:
+ return M41;
+ case 1:
+ return M42;
+ case 2:
+ return M43;
+ case 3:
+ return M44;
+ default:
+ error(row, col);
+ return 0.0;
+ }
+ default:
+ error(row, col);
+ return 0.0;
+ }
+ }
+ set
+ {
+ switch (row)
+ {
+ case 0:
+ switch (col)
+ {
+ case 0:
+ M11 = value;
+ break;
+ case 1:
+ M12 = value;
+ break;
+ case 2:
+ M13 = value;
+ break;
+ case 3:
+ M14 = value;
+ break;
+ default:
+ error(row, col);
+ break;
+ }
+ break;
+ case 1:
+ switch (col)
+ {
+ case 0:
+ M21 = value;
+ break;
+ case 1:
+ M22 = value;
+ break;
+ case 2:
+ M23 = value;
+ break;
+ case 3:
+ M24 = value;
+ break;
+ default:
+ error(row, col);
+ break;
+ }
+ break;
+ case 2:
+ switch (col)
+ {
+ case 0:
+ M31 = value;
+ break;
+ case 1:
+ M32 = value;
+ break;
+ case 2:
+ M33 = value;
+ break;
+ case 3:
+ M34 = value;
+ break;
+ default:
+ error(row, col);
+ break;
+ }
+ break;
+ case 3:
+ switch (col)
+ {
+ case 0:
+ M41 = value;
+ break;
+ case 1:
+ M42 = value;
+ break;
+ case 2:
+ M43 = value;
+ break;
+ case 3:
+ M44 = value;
+ break;
+ default:
+ error(row, col);
+ break;
+ }
+ break;
+ default:
+ error(row, col);
+ break;
+ }
+ }
+ }
+
+ public static MatrixD Identity
+ {
+ get
+ {
+ MatrixD result = default(MatrixD);
+ result.M11 = 1.0;
+ result.M22 = 1.0;
+ result.M33 = 1.0;
+ result.M44 = 1.0;
+ return result;
+ }
+ }
+
+ public bool IsIdentity
+ {
+ get
+ {
+ if (M11 != 1.0 || M22 != 1.0 || M33 != 1.0 || M44 != 1.0)
+ {
+ return false;
+ }
+ if (M12 != 0.0 || M13 != 0.0 || M14 != 0.0 || M21 != 0.0 || M23 != 0.0 || M24 != 0.0 || M31 != 0.0 || M32 != 0.0 || M34 != 0.0 || M41 != 0.0 || M42 != 0.0 || M43 != 0.0)
+ {
+ return false;
+ }
+ return true;
+ }
+ }
+
+ public MatrixD(double M11, double M12, double M13, double M14, double M21, double M22, double M23, double M24, double M31, double M32, double M33, double M34, double M41, double M42, double M43, double M44)
+ {
+ this.M11 = M11;
+ this.M12 = M12;
+ this.M13 = M13;
+ this.M14 = M14;
+ this.M21 = M21;
+ this.M22 = M22;
+ this.M23 = M23;
+ this.M24 = M24;
+ this.M31 = M31;
+ this.M32 = M32;
+ this.M33 = M33;
+ this.M34 = M34;
+ this.M41 = M41;
+ this.M42 = M42;
+ this.M43 = M43;
+ this.M44 = M44;
+ }
+
+ private void error(int row, int col)
+ {
+ if (row < 0 || row > 3)
+ {
+ throw new ArgumentOutOfRangeException("row", "Rows and columns for matrices run from 0 to 3, inclusive.");
+ }
+ if (col < 0 || col > 3)
+ {
+ throw new ArgumentOutOfRangeException("col", "Rows and columns for matrices run from 0 to 3, inclusive.");
+ }
+ }
+
+ public Vector4D GetRow(int row)
+ {
+ return new Vector4D(this[row, 0], this[row, 1], this[row, 2], this[row, 3]);
+ }
+
+ public void SetRow(int row, Vector4D value)
+ {
+ this[row, 0] = value.X;
+ this[row, 1] = value.Y;
+ this[row, 2] = value.Z;
+ this[row, 3] = value.W;
+ }
+
+ public void SetRow(int row, ref Vector4D value)
+ {
+ this[row, 0] = value.X;
+ this[row, 1] = value.Y;
+ this[row, 2] = value.Z;
+ this[row, 3] = value.W;
+ }
+
+ public Vector4D GetCol(int column)
+ {
+ return new Vector4D(this[0, column], this[1, column], this[2, column], this[3, column]);
+ }
+
+ public void SetCol(int column, Vector4D value)
+ {
+ this[0, column] = value.X;
+ this[1, column] = value.Y;
+ this[2, column] = value.Z;
+ this[3, column] = value.W;
+ }
+
+ public void SetCol(int column, ref Vector4D value)
+ {
+ this[0, column] = value.X;
+ this[1, column] = value.Y;
+ this[2, column] = value.Z;
+ this[3, column] = value.W;
+ }
+
+ public double[] ToArray()
+ {
+ return new double[16]
+ {
+ M11, M12, M13, M14, M21, M22, M23, M24, M31, M32,
+ M33, M34, M41, M42, M43, M44
+ };
+ }
+
+ public void Invert()
+ {
+ MatrixD matDIdentity = Dat.MatDIdentity;
+ for (int i = 0; i < 4; i++)
+ {
+ double num = 1.0 / this[i, i];
+ for (int j = 0; j < 4; j++)
+ {
+ this[i, j] *= num;
+ matDIdentity[i, j] *= num;
+ }
+ for (int j = 0; j < 4; j++)
+ {
+ if (i != j)
+ {
+ num = this[j, i];
+ for (int k = 0; k < 4; k++)
+ {
+ this[j, k] -= this[i, k] * num;
+ matDIdentity[j, k] -= matDIdentity[i, k] * num;
+ }
+ }
+ }
+ }
+ this = matDIdentity;
+ }
+
+ public double Determinant()
+ {
+ double num = M33 * M44 - M34 * M43;
+ double num2 = M32 * M44 - M34 * M42;
+ double num3 = M32 * M43 - M33 * M42;
+ double num4 = M31 * M44 - M34 * M41;
+ double num5 = M31 * M43 - M33 * M41;
+ double num6 = M31 * M42 - M32 * M41;
+ return M11 * (M22 * num - M23 * num2 + M24 * num3) - M12 * (M21 * num - M23 * num4 + M24 * num5) + M13 * (M21 * num2 - M22 * num4 + M24 * num6) - M14 * (M21 * num3 - M22 * num5 + M23 * num6);
+ }
+
+ public static MatrixD operator +(MatrixD left, MatrixD right)
+ {
+ MatrixD result = default(MatrixD);
+ result.M11 = left.M11 + right.M11;
+ result.M12 = left.M12 + right.M12;
+ result.M13 = left.M13 + right.M13;
+ result.M14 = left.M14 + right.M14;
+ result.M21 = left.M21 + right.M21;
+ result.M22 = left.M22 + right.M22;
+ result.M23 = left.M23 + right.M23;
+ result.M24 = left.M24 + right.M24;
+ result.M31 = left.M31 + right.M31;
+ result.M32 = left.M32 + right.M32;
+ result.M33 = left.M33 + right.M33;
+ result.M34 = left.M34 + right.M34;
+ result.M41 = left.M41 + right.M41;
+ result.M42 = left.M42 + right.M42;
+ result.M43 = left.M43 + right.M43;
+ result.M44 = left.M44 + right.M44;
+ return result;
+ }
+
+ public static MatrixD operator -(MatrixD left, MatrixD right)
+ {
+ MatrixD result = default(MatrixD);
+ result.M11 = left.M11 - right.M11;
+ result.M12 = left.M12 - right.M12;
+ result.M13 = left.M13 - right.M13;
+ result.M14 = left.M14 - right.M14;
+ result.M21 = left.M21 - right.M21;
+ result.M22 = left.M22 - right.M22;
+ result.M23 = left.M23 - right.M23;
+ result.M24 = left.M24 - right.M24;
+ result.M31 = left.M31 - right.M31;
+ result.M32 = left.M32 - right.M32;
+ result.M33 = left.M33 - right.M33;
+ result.M34 = left.M34 - right.M34;
+ result.M41 = left.M41 - right.M41;
+ result.M42 = left.M42 - right.M42;
+ result.M43 = left.M43 - right.M43;
+ result.M44 = left.M44 - right.M44;
+ return result;
+ }
+
+ public static MatrixD operator -(MatrixD matrix)
+ {
+ MatrixD result = default(MatrixD);
+ result.M11 = 0.0 - matrix.M11;
+ result.M12 = 0.0 - matrix.M12;
+ result.M13 = 0.0 - matrix.M13;
+ result.M14 = 0.0 - matrix.M14;
+ result.M21 = 0.0 - matrix.M21;
+ result.M22 = 0.0 - matrix.M22;
+ result.M23 = 0.0 - matrix.M23;
+ result.M24 = 0.0 - matrix.M24;
+ result.M31 = 0.0 - matrix.M31;
+ result.M32 = 0.0 - matrix.M32;
+ result.M33 = 0.0 - matrix.M33;
+ result.M34 = 0.0 - matrix.M34;
+ result.M41 = 0.0 - matrix.M41;
+ result.M42 = 0.0 - matrix.M42;
+ result.M43 = 0.0 - matrix.M43;
+ result.M44 = 0.0 - matrix.M44;
+ return result;
+ }
+
+ public static MatrixD operator *(MatrixD left, MatrixD right)
+ {
+ MatrixD result = default(MatrixD);
+ result.M11 = left.M11 * right.M11 + left.M12 * right.M21 + left.M13 * right.M31 + left.M14 * right.M41;
+ result.M12 = left.M11 * right.M12 + left.M12 * right.M22 + left.M13 * right.M32 + left.M14 * right.M42;
+ result.M13 = left.M11 * right.M13 + left.M12 * right.M23 + left.M13 * right.M33 + left.M14 * right.M43;
+ result.M14 = left.M11 * right.M14 + left.M12 * right.M24 + left.M13 * right.M34 + left.M14 * right.M44;
+ result.M21 = left.M21 * right.M11 + left.M22 * right.M21 + left.M23 * right.M31 + left.M24 * right.M41;
+ result.M22 = left.M21 * right.M12 + left.M22 * right.M22 + left.M23 * right.M32 + left.M24 * right.M42;
+ result.M23 = left.M21 * right.M13 + left.M22 * right.M23 + left.M23 * right.M33 + left.M24 * right.M43;
+ result.M24 = left.M21 * right.M14 + left.M22 * right.M24 + left.M23 * right.M34 + left.M24 * right.M44;
+ result.M31 = left.M31 * right.M11 + left.M32 * right.M21 + left.M33 * right.M31 + left.M34 * right.M41;
+ result.M32 = left.M31 * right.M12 + left.M32 * right.M22 + left.M33 * right.M32 + left.M34 * right.M42;
+ result.M33 = left.M31 * right.M13 + left.M32 * right.M23 + left.M33 * right.M33 + left.M34 * right.M43;
+ result.M34 = left.M31 * right.M14 + left.M32 * right.M24 + left.M33 * right.M34 + left.M34 * right.M44;
+ result.M41 = left.M41 * right.M11 + left.M42 * right.M21 + left.M43 * right.M31 + left.M44 * right.M41;
+ result.M42 = left.M41 * right.M12 + left.M42 * right.M22 + left.M43 * right.M32 + left.M44 * right.M42;
+ result.M43 = left.M41 * right.M13 + left.M42 * right.M23 + left.M43 * right.M33 + left.M44 * right.M43;
+ result.M44 = left.M41 * right.M14 + left.M42 * right.M24 + left.M43 * right.M34 + left.M44 * right.M44;
+ return result;
+ }
+
+ public static MatrixD operator *(MatrixD left, double right)
+ {
+ MatrixD result = default(MatrixD);
+ result.M11 = left.M11 * right;
+ result.M12 = left.M12 * right;
+ result.M13 = left.M13 * right;
+ result.M14 = left.M14 * right;
+ result.M21 = left.M21 * right;
+ result.M22 = left.M22 * right;
+ result.M23 = left.M23 * right;
+ result.M24 = left.M24 * right;
+ result.M31 = left.M31 * right;
+ result.M32 = left.M32 * right;
+ result.M33 = left.M33 * right;
+ result.M34 = left.M34 * right;
+ result.M41 = left.M41 * right;
+ result.M42 = left.M42 * right;
+ result.M43 = left.M43 * right;
+ result.M44 = left.M44 * right;
+ return result;
+ }
+
+ public static MatrixD operator *(double right, MatrixD left)
+ {
+ MatrixD result = default(MatrixD);
+ result.M11 = left.M11 * right;
+ result.M12 = left.M12 * right;
+ result.M13 = left.M13 * right;
+ result.M14 = left.M14 * right;
+ result.M21 = left.M21 * right;
+ result.M22 = left.M22 * right;
+ result.M23 = left.M23 * right;
+ result.M24 = left.M24 * right;
+ result.M31 = left.M31 * right;
+ result.M32 = left.M32 * right;
+ result.M33 = left.M33 * right;
+ result.M34 = left.M34 * right;
+ result.M41 = left.M41 * right;
+ result.M42 = left.M42 * right;
+ result.M43 = left.M43 * right;
+ result.M44 = left.M44 * right;
+ return result;
+ }
+
+ public static MatrixD operator /(MatrixD left, MatrixD right)
+ {
+ MatrixD result = default(MatrixD);
+ result.M11 = left.M11 / right.M11;
+ result.M12 = left.M12 / right.M12;
+ result.M13 = left.M13 / right.M13;
+ result.M14 = left.M14 / right.M14;
+ result.M21 = left.M21 / right.M21;
+ result.M22 = left.M22 / right.M22;
+ result.M23 = left.M23 / right.M23;
+ result.M24 = left.M24 / right.M24;
+ result.M31 = left.M31 / right.M31;
+ result.M32 = left.M32 / right.M32;
+ result.M33 = left.M33 / right.M33;
+ result.M34 = left.M34 / right.M34;
+ result.M41 = left.M41 / right.M41;
+ result.M42 = left.M42 / right.M42;
+ result.M43 = left.M43 / right.M43;
+ result.M44 = left.M44 / right.M44;
+ return result;
+ }
+
+ public static MatrixD operator /(MatrixD left, double right)
+ {
+ MatrixD result = default(MatrixD);
+ result.M11 = left.M11 / right;
+ result.M12 = left.M12 / right;
+ result.M13 = left.M13 / right;
+ result.M14 = left.M14 / right;
+ result.M21 = left.M21 / right;
+ result.M22 = left.M22 / right;
+ result.M23 = left.M23 / right;
+ result.M24 = left.M24 / right;
+ result.M31 = left.M31 / right;
+ result.M32 = left.M32 / right;
+ result.M33 = left.M33 / right;
+ result.M34 = left.M34 / right;
+ result.M41 = left.M41 / right;
+ result.M42 = left.M42 / right;
+ result.M43 = left.M43 / right;
+ result.M44 = left.M44 / right;
+ return result;
+ }
+
+ public static bool operator ==(MatrixD left, MatrixD right)
+ {
+ if (left.M11 == right.M11 && left.M12 == right.M12 && left.M13 == right.M13 && left.M14 == right.M14 && left.M21 == right.M21 && left.M22 == right.M22 && left.M23 == right.M23 && left.M24 == right.M24 && left.M31 == right.M31 && left.M32 == right.M32 && left.M33 == right.M33 && left.M34 == right.M34 && left.M41 == right.M41 && left.M42 == right.M42 && left.M43 == right.M43)
+ {
+ return left.M44 == right.M44;
+ }
+ return false;
+ }
+
+ public static bool operator !=(MatrixD left, MatrixD right)
+ {
+ if (left.M11 == right.M11 && left.M12 == right.M12 && left.M13 == right.M13 && left.M14 == right.M14 && left.M21 == right.M21 && left.M22 == right.M22 && left.M23 == right.M23 && left.M24 == right.M24 && left.M31 == right.M31 && left.M32 == right.M32 && left.M33 == right.M33 && left.M34 == right.M34 && left.M41 == right.M41 && left.M42 == right.M42 && left.M43 == right.M43)
+ {
+ return left.M44 != right.M44;
+ }
+ return true;
+ }
+
+ public override string ToString()
+ {
+ return string.Format(CultureInfo.CurrentCulture, "[M11:{0} M12:{1} M13:{2} M14:{3}] [M21:{4} M22:{5} M23:{6} M24:{7}] [M31:{8} M32:{9} M33:{10} M34:{11}] [M41:{12} M42:{13} M43:{14} M44:{15}]", M11.ToString(CultureInfo.CurrentCulture), M12.ToString(CultureInfo.CurrentCulture), M13.ToString(CultureInfo.CurrentCulture), M14.ToString(CultureInfo.CurrentCulture), M21.ToString(CultureInfo.CurrentCulture), M22.ToString(CultureInfo.CurrentCulture), M23.ToString(CultureInfo.CurrentCulture), M24.ToString(CultureInfo.CurrentCulture), M31.ToString(CultureInfo.CurrentCulture), M32.ToString(CultureInfo.CurrentCulture), M33.ToString(CultureInfo.CurrentCulture), M34.ToString(CultureInfo.CurrentCulture), M41.ToString(CultureInfo.CurrentCulture), M42.ToString(CultureInfo.CurrentCulture), M43.ToString(CultureInfo.CurrentCulture), M44.ToString(CultureInfo.CurrentCulture));
+ }
+
+ public override int GetHashCode()
+ {
+ return M11.GetHashCode() + M12.GetHashCode() + M13.GetHashCode() + M14.GetHashCode() + M21.GetHashCode() + M22.GetHashCode() + M23.GetHashCode() + M24.GetHashCode() + M31.GetHashCode() + M32.GetHashCode() + M33.GetHashCode() + M34.GetHashCode() + M41.GetHashCode() + M42.GetHashCode() + M43.GetHashCode() + M44.GetHashCode();
+ }
+
+ public override bool Equals(object value)
+ {
+ if (value == null)
+ {
+ return false;
+ }
+ if (value.GetType() != GetType())
+ {
+ return false;
+ }
+ return Equals((MatrixD)value);
+ }
+
+ public bool Equals(MatrixD value)
+ {
+ if (M11 == value.M11 && M12 == value.M12 && M13 == value.M13 && M14 == value.M14 && M21 == value.M21 && M22 == value.M22 && M23 == value.M23 && M24 == value.M24 && M31 == value.M31 && M32 == value.M32 && M33 == value.M33 && M34 == value.M34 && M41 == value.M41 && M42 == value.M42 && M43 == value.M43)
+ {
+ return M44 == value.M44;
+ }
+ return false;
+ }
+
+ public bool Equals(ref MatrixD value)
+ {
+ if (M11 == value.M11 && M12 == value.M12 && M13 == value.M13 && M14 == value.M14 && M21 == value.M21 && M22 == value.M22 && M23 == value.M23 && M24 == value.M24 && M31 == value.M31 && M32 == value.M32 && M33 == value.M33 && M34 == value.M34 && M41 == value.M41 && M42 == value.M42 && M43 == value.M43)
+ {
+ return M44 == value.M44;
+ }
+ return false;
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Med.cs b/2DGAMELIB/_2DGAMELIB/Med.cs
new file mode 100644
index 0000000..84d990d
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Med.cs
@@ -0,0 +1,479 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Runtime.InteropServices;
+using System.Windows.Forms;
+using System.Windows.Input;
+
+namespace _2DGAMELIB;
+
+public class Med
+{
+ public static object obj;
+
+ private WPFImage baseControl;
+
+ public double Unit = 1762.4;
+
+ public Rect Base = new Rect(4.0, 3.0, 0.4);
+
+ public double DisQuality = 1.0;
+
+ public double HitAccuracy = 0.5;
+
+ public Bitmap BD;
+
+ public Graphics GD;
+
+ public Bitmap BH;
+
+ public Graphics GH;
+
+ private Color ClearColor = Color.Transparent;
+
+ public bool Drive = true;
+
+ private Size BaseSize = Size.Empty;
+
+ private double resMag = 1.0;
+
+ private Vector2D resVector = Dat.Vec2DZero;
+
+ private Sce Sce;
+
+ private string mode;
+
+ public string Modeb;
+
+ private Dictionary Modes;
+
+ private Func> GetModes;
+
+ private int WidthM;
+
+ private int HeightM;
+
+ public static double FPS;
+
+ public FPS FPSF = new FPS(FPS);
+
+ private bool cur = true;
+
+ public HashSet HitColors = new HashSet
+ {
+ Color.Transparent,
+ Color.Black
+ };
+
+ private const int LOGPIXELSX = 88;
+
+ private const int LOGPIXELSY = 90;
+
+ public static double dpiX;
+
+ public static double dpiY;
+
+ public static double DpiX;
+
+ public static double DpiY;
+
+ public string UITitle;
+
+ public bool ShowFPS;
+
+ public Control BaseControlC => baseControl;
+
+ public WPFImage BaseControl => baseControl;
+
+ public double ResMag => resMag;
+
+ public Vector2D ResVector => resVector;
+
+ public string Mode
+ {
+ get
+ {
+ return mode;
+ }
+ set
+ {
+ Modes[mode].Up(MouseButtons.None, Dat.Vec2DZero, Color.Empty);
+ Modes[mode].Move(MouseButtons.None, Dat.Vec2DZero, Color.Empty);
+ Modeb = mode;
+ mode = value;
+ Modes[mode].Move(MouseButtons.None, Dat.Vec2DZero, Color.Empty);
+ Modes[mode].Setting();
+ }
+ }
+
+ public Vector2D CursorPosition => ToBasePosition(baseControl.PointToClient(System.Windows.Forms.Cursor.Position));
+
+ public Med()
+ {
+ Point dpi = GetDpi();
+ dpiX = dpi.X;
+ dpiY = dpi.Y;
+ DpiX = 96.0 / dpiX;
+ DpiY = 96.0 / dpiY;
+ }
+
+ public void FadeIn(double Rate)
+ {
+ Sce.TransformAlpha(GD, Rate);
+ }
+
+ public void FadeOut(double Rate)
+ {
+ Sce.TransD(GD, Rate);
+ }
+
+ public void DrawStart(Are Are)
+ {
+ Sce.DrawStart(Are);
+ }
+
+ public void DrawEnd(Are Are)
+ {
+ Sce.DrawEnd(Are);
+ }
+
+ public void ClearSta(Color ClearColor)
+ {
+ Sce.ClearStart(ref ClearColor);
+ }
+
+ public void InitializeModes(string Mode, Func> GetModes)
+ {
+ mode = Mode;
+ this.GetModes = GetModes;
+ }
+
+ public Size Setting(WPFImage BaseControl)
+ {
+ baseControl = BaseControl;
+ BaseSize = new Size((int)(Base.LocalWidth * Unit), (int)(Base.LocalHeight * Unit));
+ BD = new Bitmap(BaseSize.Width, BaseSize.Height);
+ GD = Graphics.FromImage(BD);
+ GD.InterpolationMode = InterpolationMode.HighQualityBilinear;
+ BH = new Bitmap((int)((double)BaseSize.Width * HitAccuracy), (int)((double)BaseSize.Height * HitAccuracy));
+ GH = Graphics.FromImage(BH);
+ GH.InterpolationMode = InterpolationMode.Bilinear;
+ WidthM = BH.Width - 1;
+ HeightM = BH.Height - 1;
+ Clear();
+ Sce = new Sce(BaseSize.Width, BaseSize.Height);
+ Modes = GetModes(this);
+ BaseControl.Image.MouseDown += delegate(object s, MouseButtonEventArgs e)
+ {
+ Point Position5 = baseControl.PointToClient(System.Windows.Forms.Cursor.Position);
+ MouseButtons arg2 = MouseButtons.None;
+ switch (e.ChangedButton)
+ {
+ case MouseButton.Left:
+ arg2 = MouseButtons.Left;
+ break;
+ case MouseButton.Middle:
+ arg2 = MouseButtons.Middle;
+ break;
+ case MouseButton.Right:
+ arg2 = MouseButtons.Right;
+ break;
+ case MouseButton.XButton1:
+ arg2 = MouseButtons.XButton1;
+ break;
+ case MouseButton.XButton2:
+ arg2 = MouseButtons.XButton2;
+ break;
+ }
+ Modes[mode].Down(arg2, ToBasePosition(Position5), GetHitColor(ref Position5));
+ };
+ BaseControl.Image.MouseUp += delegate(object s, MouseButtonEventArgs e)
+ {
+ Point Position4 = baseControl.PointToClient(System.Windows.Forms.Cursor.Position);
+ MouseButtons arg = MouseButtons.None;
+ switch (e.ChangedButton)
+ {
+ case MouseButton.Left:
+ arg = MouseButtons.Left;
+ break;
+ case MouseButton.Middle:
+ arg = MouseButtons.Middle;
+ break;
+ case MouseButton.Right:
+ arg = MouseButtons.Right;
+ break;
+ case MouseButton.XButton1:
+ arg = MouseButtons.XButton1;
+ break;
+ case MouseButton.XButton2:
+ arg = MouseButtons.XButton2;
+ break;
+ }
+ Modes[mode].Up(arg, ToBasePosition(Position4), GetHitColor(ref Position4));
+ };
+ BaseControl.Image.MouseMove += delegate
+ {
+ Point Position3 = baseControl.PointToClient(System.Windows.Forms.Cursor.Position);
+ Modes[mode].Move(Control.MouseButtons, ToBasePosition(Position3), GetHitColor(ref Position3));
+ };
+ BaseControl.Image.MouseLeave += delegate
+ {
+ Point Position2 = baseControl.PointToClient(System.Windows.Forms.Cursor.Position);
+ Modes[mode].Leave(Control.MouseButtons, ToBasePosition(Position2), GetHitColor(ref Position2));
+ };
+ BaseControl.Image.MouseWheel += delegate(object s, MouseWheelEventArgs e)
+ {
+ Point Position = baseControl.PointToClient(System.Windows.Forms.Cursor.Position);
+ Modes[mode].Wheel(Control.MouseButtons, ToBasePosition(Position), e.Delta, GetHitColor(ref Position));
+ };
+ ((Control)BaseControl).Resize += delegate
+ {
+ if (BaseSize.Width >= BaseSize.Height)
+ {
+ double num = (double)BaseSize.Width / (double)BaseSize.Height;
+ if ((double)baseControl.ClientSize.Width / (double)baseControl.ClientSize.Height <= num)
+ {
+ resMag = (double)BaseSize.Width / (double)baseControl.ClientSize.Width;
+ resVector.X = 0.0;
+ resVector.Y = ((double)baseControl.ClientSize.Height - (double)BaseSize.Height / resMag) * 0.5;
+ }
+ else
+ {
+ resMag = (double)BaseSize.Height / (double)baseControl.ClientSize.Height;
+ resVector.X = ((double)baseControl.ClientSize.Width - (double)BaseSize.Width / resMag) * 0.5;
+ resVector.Y = 0.0;
+ }
+ }
+ else
+ {
+ double num2 = (double)BaseSize.Height / (double)BaseSize.Width;
+ if ((double)baseControl.ClientSize.Height / (double)baseControl.ClientSize.Width <= num2)
+ {
+ resMag = (double)BaseSize.Height / (double)baseControl.ClientSize.Height;
+ resVector.X = ((double)baseControl.ClientSize.Width - (double)BaseSize.Width / resMag) * 0.5;
+ resVector.Y = 0.0;
+ }
+ else
+ {
+ resMag = (double)BaseSize.Width / (double)baseControl.ClientSize.Width;
+ resVector.X = 0.0;
+ resVector.Y = ((double)baseControl.ClientSize.Height - (double)BaseSize.Height / resMag) * 0.5;
+ }
+ }
+ };
+ return BaseSize;
+ }
+
+ public Vector2D ToBasePosition(Point Position)
+ {
+ return new Vector2D(((double)Position.X - resVector.X) / Unit * resMag, ((double)Position.Y - resVector.Y) / Unit * resMag);
+ }
+
+ public Point FromBasePosition(Vector2D Position)
+ {
+ return new Point((int)(Position.X / resMag * Unit + resVector.X), (int)(Position.Y / resMag * Unit + resVector.Y));
+ }
+
+ public Color GetHitColor(Point Position)
+ {
+ double num = HitAccuracy * resMag;
+ Point point = ((Position.ToVector2D() - resVector) * num).ToPoint();
+ if (point.X < 0)
+ {
+ point.X = 0;
+ }
+ if (point.Y < 0)
+ {
+ point.Y = 0;
+ }
+ if (point.X > WidthM)
+ {
+ point.X = WidthM;
+ }
+ if (point.Y > HeightM)
+ {
+ point.Y = HeightM;
+ }
+ return BH.GetPixel(point.X, point.Y);
+ }
+
+ public Color GetHitColor(ref Point Position)
+ {
+ double num = HitAccuracy * resMag;
+ Point point = ((Position.ToVector2D() - resVector) * num).ToPoint();
+ if (point.X < 0)
+ {
+ point.X = 0;
+ }
+ if (point.Y < 0)
+ {
+ point.Y = 0;
+ }
+ if (point.X > WidthM)
+ {
+ point.X = WidthM;
+ }
+ if (point.Y > HeightM)
+ {
+ point.Y = HeightM;
+ }
+ return BH.GetPixel(point.X, point.Y);
+ }
+
+ public void Drawing()
+ {
+ baseControl.BitmapSetting(BD);
+ Modes[mode].Setting();
+ double FPS = 0.0;
+
+
+ Action action = delegate
+ {
+ FPS = FPSF.Value;
+ if (FPS > 1.0)
+ {
+ Modes[mode].Draw(FPSF);
+ }
+ baseControl.SetBitmap(BD);
+ };
+
+
+ while (Drive)
+ {
+ long frame_start = FPSF.sw.ElapsedMilliseconds;
+
+ FPSF.FPSFixed(action);
+
+ long frame_end = FPSF.sw.ElapsedMilliseconds;
+
+ if (ShowFPS)
+ {
+ baseControl.Parent.Text = UITitle + " - FPS: " + System.Math.Round(FPSF.Value, 2);
+ }
+ Application.DoEvents();
+
+ long frame_update_end = FPSF.sw.ElapsedMilliseconds;
+
+ //System.Diagnostics.Debug.WriteLine("frame time: {0:D}", frame_end - frame_start);
+ //System.Diagnostics.Debug.WriteLine("event time: {0:D}", frame_update_end - frame_end);
+ }
+ }
+
+ public void Clear()
+ {
+ GD.Clear(ClearColor);
+ GH.Clear(ClearColor);
+ }
+
+ public void Draw(Are Are)
+ {
+ Are.Draw(GD, GH);
+ }
+
+ public void CursorHide()
+ {
+ if (cur)
+ {
+ System.Windows.Forms.Cursor.Hide();
+ cur = false;
+ }
+ }
+
+ public void CursorShow()
+ {
+ if (!cur)
+ {
+ System.Windows.Forms.Cursor.Show();
+ cur = true;
+ }
+ }
+
+ public void InvokeL(Action a)
+ {
+ baseControl.Invoke(a);
+ }
+
+ public Color GetUniqueColor()
+ {
+ Oth.GetRandomColor(out var ret);
+ while (HitColors.Contains(ret))
+ {
+ Oth.GetRandomColor(out ret);
+ }
+ HitColors.Add(ret);
+ return ret;
+ }
+
+ public void GetUniqueColor(out Color c)
+ {
+ Oth.GetRandomColor(out c);
+ while (HitColors.Contains(c))
+ {
+ Oth.GetRandomColor(out c);
+ }
+ HitColors.Add(c);
+ }
+
+ public void SetUniqueColor(IEnumerable ps)
+ {
+ foreach (Par p in ps)
+ {
+ p.HitColor = GetUniqueColor();
+ }
+ }
+
+ public void RemUniqueColor(Color Color)
+ {
+ HitColors.Remove(Color);
+ }
+
+ public void RemUniqueColor(IEnumerable ps)
+ {
+ foreach (Par p in ps)
+ {
+ HitColors.Remove(p.HitColor);
+ }
+ }
+
+ public void Dispose()
+ {
+ Drive = false;
+ foreach (Module value in Modes.Values)
+ {
+ value.Dispose();
+ }
+ BD.Dispose();
+ GD.Dispose();
+ BH.Dispose();
+ GH.Dispose();
+ Sce.Dispose();
+ }
+
+ [DllImport("user32.dll")]
+ private static extern bool SetProcessDPIAware();
+
+ [DllImport("user32.dll")]
+ private static extern IntPtr GetWindowDC(IntPtr hwnd);
+
+ [DllImport("gdi32.dll")]
+ private static extern int GetDeviceCaps(IntPtr hdc, int index);
+
+ [DllImport("user32.dll")]
+ private static extern int ReleaseDC(IntPtr hwnd, IntPtr hdc);
+
+ public static Point GetDpi()
+ {
+ SetProcessDPIAware();
+ IntPtr windowDC = GetWindowDC(IntPtr.Zero);
+ Point result = new Point(GetDeviceCaps(windowDC, 88), GetDeviceCaps(windowDC, 90));
+ ReleaseDC(IntPtr.Zero, windowDC);
+ return result;
+ }
+
+ static Med()
+ {
+ obj = new object();
+ FPS = 60.0;
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Module.cs b/2DGAMELIB/_2DGAMELIB/Module.cs
new file mode 100644
index 0000000..df4a224
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Module.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace _2DGAMELIB;
+
+public class Module
+{
+ public Action Down = delegate
+ {
+ };
+
+ public Action Up = delegate
+ {
+ };
+
+ public Action Move = delegate
+ {
+ };
+
+ public Action Leave = delegate
+ {
+ };
+
+ public Action Wheel = delegate
+ {
+ };
+
+ public Action Draw = delegate
+ {
+ };
+
+ public Action Dispose = delegate
+ {
+ };
+
+ public Action Setting = delegate
+ {
+ };
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Mot.cs b/2DGAMELIB/_2DGAMELIB/Mot.cs
new file mode 100644
index 0000000..f9f3148
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Mot.cs
@@ -0,0 +1,76 @@
+using System;
+
+namespace _2DGAMELIB;
+
+public class Mot : MotV
+{
+ public Action Staing;
+
+ public Action Runing;
+
+ public Action Reaing;
+
+ public Action Rouing;
+
+ public Action Ending;
+
+ private bool run;
+
+ private bool rou;
+
+ public bool Run => run;
+
+ public Mot(double Min, double Max)
+ : base(Min, Max)
+ {
+ }
+
+ public new void GetValue(FPS FPS)
+ {
+ if (!run)
+ {
+ return;
+ }
+ base.GetValue(FPS);
+ if (Runing != null)
+ {
+ Runing(this);
+ }
+ if (Value == min)
+ {
+ if (rou && Rouing != null)
+ {
+ Rouing(this);
+ }
+ rou = false;
+ }
+ else if (Value == max)
+ {
+ if (Reaing != null)
+ {
+ Reaing(this);
+ }
+ rou = true;
+ }
+ }
+
+ public void Start()
+ {
+ if (Staing != null)
+ {
+ Staing(this);
+ }
+ run = true;
+ }
+
+ public void End()
+ {
+ run = false;
+ if (Ending != null)
+ {
+ Ending(this);
+ }
+ ResetValue();
+ rou = false;
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/MotV.cs b/2DGAMELIB/_2DGAMELIB/MotV.cs
new file mode 100644
index 0000000..aed4815
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/MotV.cs
@@ -0,0 +1,108 @@
+namespace _2DGAMELIB;
+
+public class MotV
+{
+ public double Value;
+
+ protected double min = -1.0;
+
+ protected double max = 1.0;
+
+ private double Frame;
+
+ private double FrameHalf;
+
+ private double MinFrameHalf;
+
+ public double BaseSpeed = 1.0;
+
+ public double GotoSpeed = 1.0;
+
+ public double RetuSpeed = 1.0;
+
+ public double Interval;
+
+ private long st;
+
+ public double LowestIncrease = 1.0;
+
+ private int s = 1;
+
+ private double d;
+
+ private double m;
+
+ public double Min
+ {
+ get
+ {
+ return min;
+ }
+ set
+ {
+ min = value;
+ SetFrame();
+ }
+ }
+
+ public double Max
+ {
+ get
+ {
+ return max;
+ }
+ set
+ {
+ max = value;
+ SetFrame();
+ }
+ }
+
+ public MotV(double Min, double Max)
+ {
+ min = Min;
+ max = Max;
+ SetFrame();
+ ResetValue();
+ }
+
+ private void SetFrame()
+ {
+ Frame = max - min;
+ FrameHalf = Frame * 0.5;
+ MinFrameHalf = Min + FrameHalf;
+ }
+
+ public void ResetValue()
+ {
+ Value = min;
+ }
+
+ private void Count(FPS FPS)
+ {
+ m = Frame / FPS.Value;
+ Value += (m * d + m * LowestIncrease) * BaseSpeed * ((s > 0) ? GotoSpeed : RetuSpeed) * (double)s;
+ }
+
+ public void GetValue(FPS FPS)
+ {
+ if (!((double)(FPS.sw.ElapsedMilliseconds - st) < Interval) && FPS.Value > 0.0)
+ {
+ d = (MinFrameHalf - Value) / FrameHalf;
+ d *= d.Sign();
+ d = d.Inverse();
+ Count(FPS);
+ if (Value >= max)
+ {
+ Value = max;
+ s = -s;
+ }
+ else if (Value <= min)
+ {
+ Value = min;
+ s = -s;
+ st = FPS.sw.ElapsedMilliseconds;
+ }
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Mots.cs b/2DGAMELIB/_2DGAMELIB/Mots.cs
new file mode 100644
index 0000000..847dfcc
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Mots.cs
@@ -0,0 +1,43 @@
+using System.Collections.Generic;
+
+namespace _2DGAMELIB;
+
+public class Mots
+{
+ public Dictionary ms;
+
+ public Mot this[string Name]
+ {
+ get
+ {
+ return ms[Name];
+ }
+ set
+ {
+ ms[Name] = value;
+ }
+ }
+
+ public Mots()
+ {
+ ms = new Dictionary();
+ }
+
+ public void Add(string Name, Mot Mot)
+ {
+ ms.Add(Name, Mot);
+ }
+
+ public void Rem(string Name)
+ {
+ ms.Remove(Name);
+ }
+
+ public void Drive(FPS FPS)
+ {
+ foreach (Mot value in ms.Values)
+ {
+ value.GetValue(FPS);
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/MyRandom.cs b/2DGAMELIB/_2DGAMELIB/MyRandom.cs
new file mode 100644
index 0000000..56e452d
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/MyRandom.cs
@@ -0,0 +1,221 @@
+using System;
+
+namespace _2DGAMELIB;
+
+public class MyRandom : Random
+{
+ protected uint x;
+
+ protected uint y;
+
+ protected uint z;
+
+ protected uint w;
+
+ private const double d_4294967296 = 2.3283064365386963E-10;
+
+ private const double d_9007199254740992 = 1.1102230246251565E-16;
+
+ protected uint InitMtSub(uint s, uint i)
+ {
+ return 1812433253 * (s ^ (s >> 30)) + i + 1;
+ }
+
+ public void Initialize(uint s)
+ {
+ x = InitMtSub(s, 0u);
+ y = InitMtSub(x, 1u);
+ z = InitMtSub(y, 2u);
+ w = InitMtSub(z, 3u);
+ }
+
+ public MyRandom(uint s)
+ {
+ Initialize(s);
+ }
+
+ public MyRandom()
+ : this(4357u)
+ {
+ }
+
+ public void Initialize(uint[] key)
+ {
+ uint num = (uint)key.Length;
+ uint[] array = new uint[4];
+ Initialize(1u);
+ array[0] = x;
+ array[1] = y;
+ array[2] = z;
+ array[3] = w;
+ uint s = w;
+ uint num2;
+ for (num2 = 0u; num2 < num; num2++)
+ {
+ array[num2 & 3] ^= (s = InitMtSub(s, key[num2] + num2));
+ }
+ uint num3 = 0u;
+ while (num3 < 3)
+ {
+ array[num2 & 3] ^= (s = InitMtSub(s, num3));
+ num3++;
+ num2++;
+ }
+ x = array[0];
+ y = array[1];
+ z = array[2];
+ w = array[3];
+ if (x == 0 && y == 0 && z == 0 && w == 0)
+ {
+ x = 1u;
+ }
+ }
+
+ public MyRandom(uint[] key)
+ {
+ Initialize(key);
+ }
+
+ public override int Next()
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ return (int)(0.5 * (double)(w = w ^ (w >> 19) ^ num ^ (num >> 8)));
+ }
+
+ public override int Next(int les)
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ return (int)((double)les * 2.3283064365386963E-10 * (double)(w = w ^ (w >> 19) ^ num ^ (num >> 8)));
+ }
+
+ public void Next(int les, out int o)
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ o = (int)((double)les * 2.3283064365386963E-10 * (double)(w = w ^ (w >> 19) ^ num ^ (num >> 8)));
+ }
+
+ public override int Next(int sta, int les)
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ return (int)((double)(les - sta) * 2.3283064365386963E-10 * (double)(w = w ^ (w >> 19) ^ num ^ (num >> 8))) + sta;
+ }
+
+ public int NextM(int max)
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ return (int)((double)((long)max + 1L) * 2.3283064365386963E-10 * (double)(w = w ^ (w >> 19) ^ num ^ (num >> 8)));
+ }
+
+ public int NextM(int min, int max)
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ return (int)((double)((long)(max - min) + 1L) * 2.3283064365386963E-10 * (double)(w = w ^ (w >> 19) ^ num ^ (num >> 8))) + min;
+ }
+
+ public override double NextDouble()
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ uint num2 = (w = w ^ (w >> 19) ^ num ^ (num >> 8)) >> 11;
+ num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ return 1.1102230246251565E-16 * ((double)(w = w ^ (w >> 19) ^ num ^ (num >> 8)) * 2097152.0 + (double)num2);
+ }
+
+ public double NextDouble(double les)
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ uint num2 = (w = w ^ (w >> 19) ^ num ^ (num >> 8)) >> 11;
+ num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ return les * 1.1102230246251565E-16 * ((double)(w = w ^ (w >> 19) ^ num ^ (num >> 8)) * 2097152.0 + (double)num2);
+ }
+
+ public double NextDouble(double sta, double les)
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ uint num2 = (w = w ^ (w >> 19) ^ num ^ (num >> 8)) >> 11;
+ num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ return (les - sta) * 1.1102230246251565E-16 * ((double)(w = w ^ (w >> 19) ^ num ^ (num >> 8)) * 2097152.0 + (double)num2) + sta;
+ }
+
+ public bool NextBool()
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ return (w = w ^ (w >> 19) ^ num ^ (num >> 8)) % 2 == 0;
+ }
+
+ public int NextSign()
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ if ((w = w ^ (w >> 19) ^ num ^ (num >> 8)) % 2 != 0)
+ {
+ return -1;
+ }
+ return 1;
+ }
+
+ public double NextNorCos(double mu = 0.0, double sigma = 1.0)
+ {
+ uint num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ uint num2 = (w = w ^ (w >> 19) ^ num ^ (num >> 8)) >> 11;
+ num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ double d = 1.1102230246251565E-16 * ((double)(w = w ^ (w >> 19) ^ num ^ (num >> 8)) * 2097152.0 + (double)num2);
+ num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ num2 = (w = w ^ (w >> 19) ^ num ^ (num >> 8)) >> 11;
+ num = x ^ (x << 11);
+ x = y;
+ y = z;
+ z = w;
+ double num3 = 1.1102230246251565E-16 * ((double)(w = w ^ (w >> 19) ^ num ^ (num >> 8)) * 2097152.0 + (double)num2);
+ return System.Math.Sqrt(-2.0 * System.Math.Log(d)) * System.Math.Cos(System.Math.PI * 2.0 * num3) * sigma + mu;
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Obj.cs b/2DGAMELIB/_2DGAMELIB/Obj.cs
new file mode 100644
index 0000000..c039703
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Obj.cs
@@ -0,0 +1,612 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.IO;
+
+namespace _2DGAMELIB;
+
+[Serializable]
+public class Obj
+{
+ public string Tag = "";
+
+ public OrderedDictionary Difss = new OrderedDictionary();
+
+ private Difs r;
+
+ private JointsD jsd;
+
+ public IEnumerable Keys => Difss.Keys;
+
+ public IEnumerable Values => Difss.Values;
+
+ public Difs this[string Name]
+ {
+ get
+ {
+ return Difss[Name];
+ }
+ set
+ {
+ Difss[Name] = value;
+ }
+ }
+
+ public Difs this[int Index]
+ {
+ get
+ {
+ return Difss[Index];
+ }
+ set
+ {
+ Difss[Index] = value;
+ }
+ }
+
+ public double PositionSize
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.PositionSize = value;
+ }
+ }
+ }
+
+ public Vector2D PositionVector
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.PositionVector = value;
+ }
+ }
+ }
+
+ public double AngleBase
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.AngleBase = value;
+ }
+ }
+ }
+
+ public double AngleCont
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.AngleCont = value;
+ }
+ }
+ }
+
+ public double SizeBase
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.SizeBase = value;
+ }
+ }
+ }
+
+ public double SizeCont
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.SizeCont = value;
+ }
+ }
+ }
+
+ public double SizeXBase
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.SizeXBase = value;
+ }
+ }
+ }
+
+ public double SizeXCont
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.SizeXCont = value;
+ }
+ }
+ }
+
+ public double SizeYBase
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.SizeYBase = value;
+ }
+ }
+ }
+
+ public double SizeYCont
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.SizeYCont = value;
+ }
+ }
+ }
+
+ public bool Dra
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.Dra = value;
+ }
+ }
+ }
+
+ public bool Hit
+ {
+ set
+ {
+ foreach (Difs value2 in Difss.Values)
+ {
+ value2.Hit = value;
+ }
+ }
+ }
+
+ public Difs JoinRoot => r;
+ public IEnumerable EnumAllPar()
+ {
+ foreach (Difs value in Difss.Values)
+ {
+ foreach (Par item in value.EnumAllPar())
+ {
+ yield return item;
+ }
+ }
+ }
+
+ public void SetDefault()
+ {
+ foreach (Difs value in Difss.Values)
+ {
+ value.SetDefault();
+ }
+ }
+
+ public Obj SetDefaultR()
+ {
+ foreach (Difs value in Difss.Values)
+ {
+ value.SetDefault();
+ }
+ return this;
+ }
+
+ public Obj()
+ {
+ }
+
+ public Obj(Obj Obj)
+ {
+ Copy(Obj);
+ }
+
+ private void Copy(Obj Obj)
+ {
+ Tag = Obj.Tag;
+ foreach (string key in Obj.Difss.Keys)
+ {
+ Difss.Add(key, new Difs(Obj.Difss[key]));
+ }
+ }
+
+ public void Add(string Name, Difs Difs)
+ {
+ Difss.Add(Name, Difs);
+ }
+
+ public void Add(Difs Difs)
+ {
+ Difss.Add(Difs.Tag, Difs);
+ }
+
+ public void Insert(int Index, string Name, Difs Difs)
+ {
+ Difss.Insert(Index, Name, Difs);
+ }
+
+ public void Remove(string Name)
+ {
+ Difss.Remove(Name);
+ }
+
+ public void Draw(Are Are)
+ {
+ foreach (Difs value in Difss.Values)
+ {
+ value.Draw(Are);
+ }
+ }
+
+ public void Draws(Are Are)
+ {
+ foreach (Difs value in Difss.Values)
+ {
+ value.Draws(Are);
+ }
+ }
+
+ public void Draw(AreM AreM)
+ {
+ foreach (Difs value in Difss.Values)
+ {
+ value.Draw(AreM);
+ }
+ }
+
+ public void Draws(AreM AreM)
+ {
+ foreach (Difs value in Difss.Values)
+ {
+ value.Draws(AreM);
+ }
+ }
+
+ private Difs GetJoinRootDifs()
+ {
+ Difs[] array = Difss.Values.ToArray();
+ if (array.Length <= 1)
+ {
+ return array.FirstOrDefault();
+ }
+ Par[] pa = EnumAllPar().ToArray();
+ Difs[] array2 = array;
+ Vector2D p;
+ foreach (Difs difs in array2)
+ {
+ if (difs.EnumJoinRoot.All(delegate(Par p0)
+ {
+ p = p0.Position;
+ return pa.All((Par p1) => p0 == p1 || p1.JP.All((Joi j) => !(p1.ToGlobal(j.Joint).DistanceSquared(p) <= Join.IdentityDistance)));
+ }))
+ {
+ return difs;
+ }
+ }
+ return array.First();
+ }
+
+ public void SetJoints()
+ {
+ Difs[] array = Difss.Values.ToArray();
+ Difs[] array2 = array;
+ for (int i = 0; i < array2.Length; i++)
+ {
+ array2[i].SetJoints();
+ }
+ r = GetJoinRootDifs();
+ if (r != null)
+ {
+ jsd = r.GetJointsD(array);
+ }
+ }
+
+ public void SetJoints(string Name)
+ {
+ Difs[] array = Difss.Values.ToArray();
+ Difs[] array2 = array;
+ for (int i = 0; i < array2.Length; i++)
+ {
+ array2[i].SetJoints();
+ }
+ r = Difss[Name];
+ if (r != null)
+ {
+ jsd = r.GetJointsD(array);
+ }
+ }
+
+ public void JoinP()
+ {
+ if (r != null)
+ {
+ r.JoinPA();
+ jsd.JoinP();
+ }
+ }
+
+ public void JoinPA()
+ {
+ if (r != null)
+ {
+ r.JoinPA();
+ jsd.JoinPA();
+ }
+ }
+
+ public void JoinPall()
+ {
+ if (r != null)
+ {
+ r.JoinPA();
+ jsd.JoinPall();
+ }
+ }
+
+ public void JoinPAall()
+ {
+ if (r != null)
+ {
+ r.JoinPA();
+ jsd.JoinPAall();
+ }
+ }
+
+ public HashSet GetHitDifsTagsCur(ref Color HitColor)
+ {
+ HashSet hashSet = new HashSet();
+ foreach (Difs value in Values)
+ {
+ if (value.Current.IsHit(ref HitColor))
+ {
+ hashSet.Add(value.Tag);
+ }
+ }
+ return hashSet;
+ }
+
+ public List GetHitDifssCur(ref Color HitColor)
+ {
+ List list = new List();
+ foreach (Difs value in Values)
+ {
+ if (value.Current.IsHit(ref HitColor))
+ {
+ list.Add(value);
+ }
+ }
+ return list;
+ }
+
+ public HashSet GetHitParTagsCur(ref Color HitColor)
+ {
+ HashSet hashSet = new HashSet();
+ foreach (Difs value in Values)
+ {
+ foreach (string hitTag in value.Current.GetHitTags(ref HitColor))
+ {
+ hashSet.Add(hitTag);
+ }
+ }
+ return hashSet;
+ }
+
+ public List GetHitParsCur(ref Color HitColor)
+ {
+ List list = new List();
+ foreach (Difs value in Values)
+ {
+ list.AddRange(value.Current.GetHitPars(ref HitColor));
+ }
+ return list;
+ }
+
+ public bool IsHitCur(ref Color HitColor)
+ {
+ foreach (Difs value in Values)
+ {
+ if (value.IsHit(ref HitColor))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public HashSet GetHitDifsTags(ref Color HitColor)
+ {
+ HashSet hashSet = new HashSet();
+ foreach (Difs value in Values)
+ {
+ if (value.IsHit(ref HitColor))
+ {
+ hashSet.Add(value.Tag);
+ }
+ }
+ return hashSet;
+ }
+
+ public List GetHitDifss(ref Color HitColor)
+ {
+ List list = new List();
+ foreach (Difs value in Values)
+ {
+ if (value.IsHit(ref HitColor))
+ {
+ list.Add(value);
+ }
+ }
+ return list;
+ }
+
+ public HashSet GetHitParTags(ref Color HitColor)
+ {
+ HashSet hashSet = new HashSet();
+ foreach (Difs value in Values)
+ {
+ foreach (string hitTag in value.GetHitTags(ref HitColor))
+ {
+ hashSet.Add(hitTag);
+ }
+ }
+ return hashSet;
+ }
+
+ public List GetHitPars(ref Color HitColor)
+ {
+ List list = new List();
+ foreach (Difs value in Values)
+ {
+ list.AddRange(value.GetHitPars(ref HitColor));
+ }
+ return list;
+ }
+
+ public bool IsHit(ref Color HitColor)
+ {
+ foreach (Difs value in Values)
+ {
+ if (value.IsHit(ref HitColor))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public void Symmetrization(string[] Names)
+ {
+ Difs[] array = Difss.Values.ToArray();
+ Difs[] array2 = array;
+ for (int i = 0; i < array2.Length; i++)
+ {
+ array2[i].SetJoints();
+ }
+ JointsD jointsD = GetJoinRootDifs().GetJointsD(array);
+ foreach (string name in Names)
+ {
+ symmetrization(name, array, jointsD);
+ }
+ }
+
+ public void Symmetrization(string Name, string[] Names)
+ {
+ Difs[] array = Difss.Values.ToArray();
+ Difs[] array2 = array;
+ for (int i = 0; i < array2.Length; i++)
+ {
+ array2[i].SetJoints();
+ }
+ JointsD jointsD = Difss[Name].GetJointsD(array);
+ foreach (string name in Names)
+ {
+ symmetrization(name, array, jointsD);
+ }
+ }
+
+ private void symmetrization(string Name, Difs[] da, JointsD jsdb)
+ {
+ Difs difs = Difss[Name];
+ JointsD jointsD = difs.GetJointsD(da);
+ Difs difs2 = new Difs(difs);
+ difs2.SetJoints();
+ difs2.ReverseX();
+ TagReplace(difs2);
+ SetPos(difs2, GetSymPos(difs, jsdb) - difs2.CurJoinRoot.Position);
+ foreach (Pars item in difs2.EnumAllPars())
+ {
+ difs2.JoinP(item);
+ }
+ Difss.Add(difs2.Tag, difs2);
+ string key = null;
+ foreach (JointD join in jointsD.Joins)
+ {
+ difs2 = new Difs(join.Difs1);
+ difs2.SetJoints();
+ difs2.ReverseX();
+ TagReplace(difs2);
+ if (join.Difs0.Tag.Contains("左"))
+ {
+ key = join.Difs0.Tag.Replace("左", "右");
+ }
+ else if (join.Difs0.Tag.Contains("右"))
+ {
+ key = join.Difs0.Tag.Replace("右", "左");
+ }
+ Par par = Difss[key].Current.GetPar(join.Path0);
+ SetPos(difs2, par.ToGlobal(par.JP[join.Index].Joint) - difs2.CurJoinRoot.Position);
+ foreach (Pars item2 in difs2.EnumAllPars())
+ {
+ difs2.JoinP(item2);
+ }
+ Difss.Add(difs2.Tag, difs2);
+ }
+ }
+
+ private void TagReplace(Difs ds)
+ {
+ if (ds.Tag.Contains("左"))
+ {
+ ds.Tag = ds.Tag.Replace("左", "右");
+ }
+ else if (ds.Tag.Contains("右"))
+ {
+ ds.Tag = ds.Tag.Replace("右", "左");
+ }
+ }
+
+ private Vector2D GetSymPos(Difs r, JointsD jsdb)
+ {
+ JointD jointD = null;
+ foreach (JointD join in jsdb.Joins)
+ {
+ if (join.Difs1 == r)
+ {
+ jointD = join;
+ break;
+ }
+ }
+ Vector2D position = r.CurJoinRoot.Position;
+ Par par = jointD.Difs0.Current.GetPar(jointD.Path0);
+ Joi joi = par.JP[jointD.Index];
+ foreach (Joi item in par.JP)
+ {
+ Vector2D result = par.ToGlobal(item.Joint);
+ if (item != joi && System.Math.Abs(result.Y - position.Y) < 1E-06)
+ {
+ return result;
+ }
+ }
+ return Dat.Vec2DZero;
+ }
+
+ private void SetPos(Difs ds, Vector2D v)
+ {
+ foreach (Par item in ds.EnumAllPar())
+ {
+ item.PositionBase += v;
+ }
+ }
+
+ public void Dispose()
+ {
+ foreach (Difs value in Difss.Values)
+ {
+ value.Dispose();
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/OrderedDictionary.cs b/2DGAMELIB/_2DGAMELIB/OrderedDictionary.cs
new file mode 100644
index 0000000..12018d4
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/OrderedDictionary.cs
@@ -0,0 +1,206 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace _2DGAMELIB;
+
+[Serializable]
+public class OrderedDictionary
+{
+ private List keys;
+
+ private Dictionary values;
+
+ public T2 this[T1 Key]
+ {
+ get
+ {
+ return values[Key];
+ }
+ set
+ {
+ values[Key] = value;
+ }
+ }
+
+ public T2 this[int Index]
+ {
+ get
+ {
+ return values[keys[Index]];
+ }
+ set
+ {
+ values[keys[Index]] = value;
+ }
+ }
+
+ public IEnumerable Keys => keys;
+
+ public IEnumerable Values
+ {
+ get
+ {
+ foreach (T1 key in keys)
+ {
+ yield return values[key];
+ }
+ }
+ }
+
+ public int Count => keys.Count;
+
+ public OrderedDictionary()
+ {
+ keys = new List();
+ values = new Dictionary();
+ }
+
+ public OrderedDictionary(int capacity)
+ {
+ keys = new List(capacity);
+ values = new Dictionary(capacity);
+ }
+
+ public int IndexOf(T1 Key)
+ {
+ return keys.IndexOf(Key);
+ }
+
+ public int IndexOf(ref T1 Key)
+ {
+ return keys.IndexOf(Key);
+ }
+
+ public int IndexOf(T2 Value)
+ {
+ int num = 0;
+ foreach (T2 value in Values)
+ {
+ if (value.Equals(Value))
+ {
+ return num;
+ }
+ num++;
+ }
+ return -1;
+ }
+
+ public int IndexOf(ref T2 Value)
+ {
+ int num = 0;
+ foreach (T2 value in Values)
+ {
+ if (value.Equals(Value))
+ {
+ return num;
+ }
+ num++;
+ }
+ return -1;
+ }
+
+ public int LastIndexOf(T1 Key)
+ {
+ return keys.LastIndexOf(Key);
+ }
+
+ public int LastIndexOf(ref T1 Key)
+ {
+ return keys.LastIndexOf(Key);
+ }
+
+ public int LastIndexOf(T2 Value)
+ {
+ int num = keys.Count - 1;
+ foreach (T2 item in Values.Reverse())
+ {
+ if (item.Equals(Value))
+ {
+ return num;
+ }
+ num--;
+ }
+ return -1;
+ }
+
+ public int LastIndexOf(ref T2 Value)
+ {
+ int num = keys.Count - 1;
+ foreach (T2 item in Values.Reverse())
+ {
+ if (item.Equals(Value))
+ {
+ return num;
+ }
+ num--;
+ }
+ return -1;
+ }
+
+ public void Add(T1 Key, T2 Value)
+ {
+ keys.Add(Key);
+ values.Add(Key, Value);
+ }
+
+ public void Add(ref T1 Key, ref T2 Value)
+ {
+ keys.Add(Key);
+ values.Add(Key, Value);
+ }
+
+ public void Insert(int Index, T1 Key, T2 Value)
+ {
+ keys.Insert(Index, Key);
+ values.Add(Key, Value);
+ }
+
+ public void Insert(int Index, ref T1 Key, ref T2 Value)
+ {
+ keys.Insert(Index, Key);
+ values.Add(Key, Value);
+ }
+
+ public void Remove(T1 Key)
+ {
+ keys.Remove(Key);
+ values.Remove(Key);
+ }
+
+ public void Remove(ref T1 Key)
+ {
+ keys.Remove(Key);
+ values.Remove(Key);
+ }
+
+ public void Reverse()
+ {
+ keys.Reverse();
+ }
+
+ public void Reverse(int Index, int Count)
+ {
+ keys.Reverse(Index, Count);
+ }
+
+ public bool ContainsKey(T1 Key)
+ {
+ return values.ContainsKey(Key);
+ }
+
+ public bool ContainsKey(ref T1 Key)
+ {
+ return values.ContainsKey(Key);
+ }
+
+ public bool ContainsValue(T2 Value)
+ {
+ return values.ContainsValue(Value);
+ }
+
+ public bool ContainsValue(ref T2 Value)
+ {
+ return values.ContainsValue(Value);
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Oth.cs b/2DGAMELIB/_2DGAMELIB/Oth.cs
new file mode 100644
index 0000000..1294f26
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Oth.cs
@@ -0,0 +1,366 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Drawing.Imaging;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace _2DGAMELIB;
+
+public static class Oth
+{
+ private static double s1;
+
+ private static double s0;
+
+ public static double GetDiagonalLength(this double Width, double Height)
+ {
+ return System.Math.Sqrt(Width * Width + Height * Height);
+ }
+
+ public static Color Reverse(this Color c)
+ {
+ return Color.FromArgb(c.A, 255 - c.R, 255 - c.G, 255 - c.B);
+ }
+
+ public static void GetRandomColor(out Color ret)
+ {
+ ret = Color.FromArgb(255, RNG.XS.Next(256), RNG.XS.Next(256), RNG.XS.Next(256));
+ }
+
+ public static Color GetInter(ref Color c1, ref Color c2)
+ {
+ return Color.FromArgb((c1.A + c2.A) / 2, (c1.R + c2.R) / 2, (c1.G + c2.G) / 2, (c1.B + c2.B) / 2);
+ }
+
+ public static void GetInter(ref Color c1, ref Color c2, out Color ret)
+ {
+ ret = Color.FromArgb((c1.A + c2.A) / 2, (c1.R + c2.R) / 2, (c1.G + c2.G) / 2, (c1.B + c2.B) / 2);
+ }
+
+ public static Vector2D GetRandomVector()
+ {
+ return new Vector2D(RNG.XS.NextDouble() * (double)(RNG.XS.NextBool() ? 1 : (-1)), RNG.XS.NextDouble() * (double)(RNG.XS.NextBool() ? 1 : (-1)));
+ }
+
+ public static Color FuncHSV(this Color Color, Func Func)
+ {
+ return Func(new Hsv(ref Color)).GetColor();
+ }
+
+ public static Rectangle GetRect(this Bitmap Bmp)
+ {
+ return new Rectangle(0, 0, Bmp.Width, Bmp.Height);
+ }
+
+ public static LinearGradientBrush GetLGB(double Unit, Vector2D[] MM, Color Color1, Color Color2)
+ {
+ return new LinearGradientBrush((MM[0] * Unit * s0).ToPointF(), (MM[1] * Unit * s1).ToPointF(), Color1, Color2)
+ {
+ GammaCorrection = true
+ };
+ }
+
+ public static LinearGradientBrush GetLGB(double Unit, Vector2D[] MM, ref Color Color1, ref Color Color2)
+ {
+ return new LinearGradientBrush((MM[0] * Unit * s0).ToPointF(), (MM[1] * Unit * s1).ToPointF(), Color1, Color2)
+ {
+ GammaCorrection = true
+ };
+ }
+
+ private static void GetMinMaxX(Par Par, ref double MinX, ref double MaxX)
+ {
+ foreach (Out item in Par.OP)
+ {
+ foreach (Vector2D p in item.ps)
+ {
+ Vector2D vector2D = Par.ToGlobal(p);
+ if (MinX > vector2D.X)
+ {
+ MinX = vector2D.X;
+ }
+ else if (MaxX < vector2D.X)
+ {
+ MaxX = vector2D.X;
+ }
+ }
+ }
+ }
+
+ private static void GetMinMaxY(Par Par, ref double MinY, ref double MaxY)
+ {
+ foreach (Out item in Par.OP)
+ {
+ foreach (Vector2D p in item.ps)
+ {
+ Vector2D vector2D = Par.ToGlobal(p);
+ if (MinY > vector2D.Y)
+ {
+ MinY = vector2D.Y;
+ }
+ else if (MaxY < vector2D.Y)
+ {
+ MaxY = vector2D.Y;
+ }
+ }
+ }
+ }
+
+ private static void GetMinMaxY(Par[] Pars, ref double MinY, ref double MaxY)
+ {
+ for (int i = 0; i < Pars.Length; i++)
+ {
+ GetMinMaxY(Pars[i], ref MinY, ref MaxY);
+ }
+ }
+
+ public static void GetMiX_MaX(this Par Par, out Vector2D[] MM)
+ {
+ Vector2D vector2D = Par.ToGlobal(Par.OP.First().ps.First());
+ MM = new Vector2D[2];
+ MM[0].X = vector2D.X;
+ MM[1].X = vector2D.X;
+ GetMinMaxX(Par, ref MM[0].X, ref MM[1].X);
+ }
+
+ public static void GetMaX_MiX(this Par Par, out Vector2D[] MM)
+ {
+ Vector2D vector2D = Par.ToGlobal(Par.OP.First().ps.First());
+ MM = new Vector2D[2];
+ MM[0].X = vector2D.X;
+ MM[1].X = vector2D.X;
+ GetMinMaxX(Par, ref MM[1].X, ref MM[0].X);
+ }
+
+ public static void GetMiY_MaY(this Par Par, out Vector2D[] MM)
+ {
+ Vector2D vector2D = Par.ToGlobal(Par.OP.First().ps.First());
+ MM = new Vector2D[2];
+ MM[0].Y = vector2D.Y;
+ MM[1].Y = vector2D.Y;
+ GetMinMaxY(Par, ref MM[0].Y, ref MM[1].Y);
+ }
+
+ public static void GetMiY_MaY(this Par[] Pars, out Vector2D[] MM)
+ {
+ Par par = Pars.First();
+ Vector2D vector2D = par.ToGlobal(par.OP.First().ps.First());
+ MM = new Vector2D[2];
+ MM[0].Y = vector2D.Y;
+ MM[1].Y = vector2D.Y;
+ GetMinMaxY(Pars, ref MM[0].Y, ref MM[1].Y);
+ }
+
+ public static void GetMaY_MiY(this Par Par, out Vector2D[] MM)
+ {
+ Vector2D vector2D = Par.ToGlobal(Par.OP.First().ps.First());
+ MM = new Vector2D[2];
+ MM[0].Y = vector2D.Y;
+ MM[1].Y = vector2D.Y;
+ GetMinMaxY(Par, ref MM[1].Y, ref MM[0].Y);
+ }
+
+ public static Obj ObjLoad(this byte[] bd)
+ {
+ return bd.Load().ToDeserialObject().SetDefaultR();
+ }
+
+ public static bool Lot(this double p)
+ {
+ return RNG.XS.NextDouble() < p;
+ }
+
+ public static int GetRandomIndex(params double[] WeightTable)
+ {
+ double les = WeightTable.Sum();
+ double num = RNG.XS.NextDouble(les);
+ int result = -1;
+ for (int i = 0; i < WeightTable.Length; i++)
+ {
+ if (WeightTable[i] >= num)
+ {
+ result = i;
+ break;
+ }
+ num -= WeightTable[i];
+ }
+ return result;
+ }
+
+ public static Encoding GetEncoding(this byte[] Bytes)
+ {
+ byte[] array = null;
+ if (Bytes.Length > 4000)
+ {
+ array = new byte[4000];
+ Array.Copy(Bytes, array, 4000);
+ }
+ else
+ {
+ array = Bytes;
+ }
+ int num = array.Length;
+ bool flag = false;
+ for (int i = 0; i < num; i++)
+ {
+ byte b = array[i];
+ if (b <= 6 || b == 127 || b == byte.MaxValue)
+ {
+ flag = true;
+ if (b == 0 && i < num - 1 && array[i + 1] <= 127)
+ {
+ return Encoding.Unicode;
+ }
+ }
+ }
+ if (flag)
+ {
+ return null;
+ }
+ bool flag2 = true;
+ byte[] array2 = array;
+ foreach (byte b2 in array2)
+ {
+ if (b2 == 27 || 128 <= b2)
+ {
+ flag2 = false;
+ break;
+ }
+ }
+ if (flag2)
+ {
+ return Encoding.ASCII;
+ }
+ for (int k = 0; k < num - 2; k++)
+ {
+ byte b = array[k];
+ byte b3 = array[k + 1];
+ byte b4 = array[k + 2];
+ if (b != 27)
+ {
+ continue;
+ }
+ if (b3 == 36 && b4 == 64)
+ {
+ return Encoding.GetEncoding(50220);
+ }
+ if (b3 == 36 && b4 == 66)
+ {
+ return Encoding.GetEncoding(50220);
+ }
+ if (b3 == 40 && (b4 == 66 || b4 == 74))
+ {
+ return Encoding.GetEncoding(50220);
+ }
+ if (b3 == 40 && b4 == 73)
+ {
+ return Encoding.GetEncoding(50220);
+ }
+ if (k < num - 3)
+ {
+ byte b5 = array[k + 3];
+ if (b3 == 36 && b4 == 40 && b5 == 68)
+ {
+ return Encoding.GetEncoding(50220);
+ }
+ if (k < num - 5 && b3 == 38 && b4 == 64 && b5 == 27 && array[k + 4] == 36 && array[k + 5] == 66)
+ {
+ return Encoding.GetEncoding(50220);
+ }
+ }
+ }
+ int num2 = 0;
+ int num3 = 0;
+ int num4 = 0;
+ for (int l = 0; l < num - 1; l++)
+ {
+ byte b = array[l];
+ byte b3 = array[l + 1];
+ if (((129 <= b && b <= 159) || (224 <= b && b <= 252)) && ((64 <= b3 && b3 <= 126) || (128 <= b3 && b3 <= 252)))
+ {
+ num2 += 2;
+ l++;
+ }
+ }
+ for (int m = 0; m < num - 1; m++)
+ {
+ byte b = array[m];
+ byte b3 = array[m + 1];
+ if ((161 <= b && b <= 254 && 161 <= b3 && b3 <= 254) || (b == 142 && 161 <= b3 && b3 <= 223))
+ {
+ num3 += 2;
+ m++;
+ }
+ else if (m < num - 2)
+ {
+ byte b4 = array[m + 2];
+ if (b == 143 && 161 <= b3 && b3 <= 254 && 161 <= b4 && b4 <= 254)
+ {
+ num3 += 3;
+ m += 2;
+ }
+ }
+ }
+ for (int n = 0; n < num - 1; n++)
+ {
+ byte b = array[n];
+ byte b3 = array[n + 1];
+ if (192 <= b && b <= 223 && 128 <= b3 && b3 <= 191)
+ {
+ num4 += 2;
+ n++;
+ }
+ else if (n < num - 2)
+ {
+ byte b4 = array[n + 2];
+ if (224 <= b && b <= 239 && 128 <= b3 && b3 <= 191 && 128 <= b4 && b4 <= 191)
+ {
+ num4 += 3;
+ n += 2;
+ }
+ }
+ }
+ if (num3 > num2 && num3 > num4)
+ {
+ return Encoding.GetEncoding(51932);
+ }
+ if (num2 > num3 && num2 > num4)
+ {
+ return Encoding.GetEncoding(932);
+ }
+ if (num4 > num3 && num4 > num2)
+ {
+ return Encoding.UTF8;
+ }
+ return null;
+ }
+
+ public static string Join(this IEnumerable strs, string Separator)
+ {
+ return string.Join(Separator, strs);
+ }
+
+ public static string[] Split(this string str, string Separator)
+ {
+ return str.Split(new string[1] { Separator }, StringSplitOptions.None);
+ }
+
+ static Oth()
+ {
+ s1 = 1.01;
+ s0 = s1.Reciprocal();
+ }
+
+ public static void SaveExMod(this T Obj, string Path)
+ {
+ Obj.ToSerialBytes().Save(Path);
+ }
+
+ public static T LoadExMod(this string Path)
+ {
+ return Path.Load().ToDeserialObject();
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Out.cs b/2DGAMELIB/_2DGAMELIB/Out.cs
new file mode 100644
index 0000000..f4b1e25
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Out.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement;
+
+namespace _2DGAMELIB;
+
+
+//outline/path/line basically represents a curve :3
+[Serializable]
+public class Out
+{
+ public List ps = new List();
+
+ public float Tension = 0.5f;
+ public bool Outline = true;
+
+ public Out()
+ {
+ }
+
+ public Out(Out Out)
+ {
+ ps = new List(Out.ps);
+ Tension = Out.Tension;
+ Outline = Out.Outline;
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Par.cs b/2DGAMELIB/_2DGAMELIB/Par.cs
new file mode 100644
index 0000000..d3e8079
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Par.cs
@@ -0,0 +1,1094 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.IO;
+using System.Linq;
+using System.Windows.Controls.Primitives;
+using System.Windows.Documents;
+using System.Windows.Media.Animation;
+
+namespace _2DGAMELIB;
+
+//represents a whole or part of a body part :3
+[Serializable]
+public class Par
+{
+ private Pars parent;
+
+ public string Tag = "";
+
+ protected List op = new List();
+
+ protected List jp = new List();
+
+ protected Vector2D basePointBase = Dat.Vec2DZero;
+
+ //cont short for contract?
+ protected Vector2D basePointCont = Dat.Vec2DZero;
+
+ protected Vector2D positionBase = Dat.Vec2DZero;
+
+ protected Vector2D positionContO = Dat.Vec2DZero;
+
+ protected Vector2D positionCont = Dat.Vec2DZero;
+
+ protected double positionSize = 1.0;
+
+ protected Vector2D positionVector = Dat.Vec2DZero;
+
+ protected double anglePare;
+
+ protected double angleBase;
+
+ protected double angleCont;
+
+ protected double sizeBase = 1.0;
+
+ protected double sizeCont = 1.0;
+
+ protected double xSizeBase = 1.0;
+
+ protected double xSizeCont = 1.0;
+
+ protected double ySizeBase = 1.0;
+
+ protected double ySizeCont = 1.0;
+
+ public bool Dra = true;
+
+ private bool closed;
+
+ [NonSerialized, JsonIgnore]
+ protected Pen pen = new Pen(Color.Black, 1f);
+
+ protected double penWidth;
+
+ private bool EditP = true;
+
+ [NonSerialized, JsonIgnore]
+ protected Brush brush = new SolidBrush(Color.LightGray);
+
+ public bool Hit = true;
+
+ [NonSerialized, JsonIgnore]
+ protected SolidBrush HitBrush = new SolidBrush(Color.Transparent);
+
+ private double us;
+
+ private double usx;
+
+ private double usy;
+
+ private Vector2D bp;
+
+ private Vector2D mv;
+
+ private double angle;
+
+ private double M11;
+
+ private double M12;
+
+
+ [NonSerialized, JsonIgnore]
+ private GraphicsPath Path = new GraphicsPath();
+
+ [NonSerialized, JsonIgnore]
+ private GraphicsPath OutlinePath = new GraphicsPath();
+
+ private Vector2D p;
+
+ private Vector2D v;
+
+ private PointF[] points;
+
+ protected bool Edit = true;
+
+ protected bool EditS = true;
+
+ protected bool EditPS = true;
+
+ private double ush;
+
+ private double usxh;
+
+ private double usyh;
+
+ private Vector2D bph;
+
+ private Vector2D mvh;
+
+ private double ah;
+
+ private double M11h;
+
+ private double M12h;
+
+ [NonSerialized, JsonIgnore]
+ private GraphicsPath gph = new GraphicsPath();
+
+ private Vector2D ph;
+
+ private Vector2D vh;
+
+ private PointF[] psh;
+
+ private bool EditH = true;
+
+ public Pars Parent => parent;
+
+ public List OP
+ {
+ get
+ {
+ Edit = true;
+ EditH = true;
+ return op;
+ }
+ set
+ {
+ op = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public IEnumerable InitializeOP
+ {
+ set
+ {
+ op.Clear();
+ op.AddRange(value);
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public List JP
+ {
+ get
+ {
+ return jp;
+ }
+ set
+ {
+ jp = value;
+ }
+ }
+
+ public IEnumerable InitializeJP
+ {
+ set
+ {
+ jp.Clear();
+ jp.AddRange(value);
+ }
+ }
+
+ public Vector2D BasePointBase
+ {
+ get
+ {
+ return basePointBase;
+ }
+ set
+ {
+ basePointBase = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public Vector2D BasePointCont
+ {
+ get
+ {
+ return basePointCont;
+ }
+ set
+ {
+ basePointCont = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public Vector2D BasePoint => basePointBase + basePointCont;
+
+ public Vector2D PositionBase
+ {
+ get
+ {
+ return positionBase;
+ }
+ set
+ {
+ positionBase = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public Vector2D PositionCont
+ {
+ get
+ {
+ return positionContO;
+ }
+ set
+ {
+ positionContO = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public Vector2D Position
+ {
+ get
+ {
+ double d = System.Math.PI * AngleParent / 180.0;
+ double num = System.Math.Cos(d);
+ double num2 = System.Math.Sin(d);
+ positionCont.X = positionContO.X * num + positionContO.Y * (0.0 - num2);
+ positionCont.Y = positionContO.X * num2 + positionContO.Y * num;
+ return (positionBase + positionCont) * positionSize + positionVector;
+ }
+ }
+
+ public Vector2D Position_nc
+ {
+ get
+ {
+ double d = System.Math.PI * AngleParent / 180.0;
+ System.Math.Cos(d);
+ System.Math.Sin(d);
+ return positionBase * positionSize + positionVector;
+ }
+ }
+
+ public double PositionSize
+ {
+ get
+ {
+ return positionSize;
+ }
+ set
+ {
+ positionSize = value;
+ Edit = true;
+ EditH = true;
+ EditPS = true;
+ }
+ }
+
+ public Vector2D PositionVector
+ {
+ get
+ {
+ return positionVector;
+ }
+ set
+ {
+ positionVector = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public double AngleParent
+ {
+ get
+ {
+ return anglePare;
+ }
+ set
+ {
+ anglePare = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public double AngleBase
+ {
+ get
+ {
+ return angleBase;
+ }
+ set
+ {
+ angleBase = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public double AngleCont
+ {
+ get
+ {
+ return angleCont;
+ }
+ set
+ {
+ angleCont = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public double Angle => anglePare + angleBase + angleCont;
+
+ public double SizeBase
+ {
+ get
+ {
+ return sizeBase;
+ }
+ set
+ {
+ sizeBase = value;
+ Edit = true;
+ EditH = true;
+ EditS = true;
+ }
+ }
+
+ public double SizeCont
+ {
+ get
+ {
+ return sizeCont;
+ }
+ set
+ {
+ sizeCont = value;
+ Edit = true;
+ EditH = true;
+ EditS = true;
+ }
+ }
+
+ public double Size => sizeBase * sizeCont * positionSize;
+
+ public double SizeXBase
+ {
+ get
+ {
+ return xSizeBase;
+ }
+ set
+ {
+ xSizeBase = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public double SizeXCont
+ {
+ get
+ {
+ return xSizeCont;
+ }
+ set
+ {
+ xSizeCont = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public double SizeX => xSizeBase * xSizeCont;
+
+ public double SizeYBase
+ {
+ get
+ {
+ return ySizeBase;
+ }
+ set
+ {
+ ySizeBase = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public double SizeYCont
+ {
+ get
+ {
+ return ySizeCont;
+ }
+ set
+ {
+ ySizeCont = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ public double SizeY => ySizeBase * ySizeCont;
+
+ public bool Closed
+ {
+ get
+ {
+ return closed;
+ }
+ set
+ {
+ closed = value;
+ Edit = true;
+ EditH = true;
+ }
+ }
+
+ [JsonIgnore]
+ public Pen Pen
+ {
+ get
+ {
+ return pen;
+ }
+ set
+ {
+ if (pen != value && pen != null)
+ {
+ pen.Dispose();
+ }
+ pen = value;
+ if (pen != null)
+ {
+ pen.StartCap = LineCap.Round;
+ pen.EndCap = LineCap.Round;
+ }
+ EditP = true;
+ }
+ }
+
+ public double PenWidth
+ {
+ get
+ {
+ return penWidth;
+ }
+ set
+ {
+ penWidth = value;
+ EditP = true;
+ }
+ }
+
+ public Color PenColor
+ {
+ get
+ {
+ return pen.Color;
+ }
+ set
+ {
+ pen.Color = value;
+ }
+ }
+
+ [JsonIgnore]
+ public Brush Brush
+ {
+ get
+ {
+ return brush;
+ }
+ set
+ {
+ if (brush != value && brush != null)
+ {
+ brush.Dispose();
+ }
+ brush = value;
+ }
+ }
+
+ public Color BrushColor
+ {
+ get
+ {
+ return ((SolidBrush)brush).Color;
+ }
+ set
+ {
+ ((SolidBrush)brush).Color = value;
+ }
+ }
+
+ public Color HitColor
+ {
+ get
+ {
+ return HitBrush.Color;
+ }
+ set
+ {
+ HitBrush.Color = value;
+ }
+ }
+ public void SetParent(Pars Parent)
+ {
+ parent = Parent;
+ }
+
+ public void SetPen(Pen Pen)
+ {
+ pen = Pen;
+ if (pen != null)
+ {
+ pen.StartCap = LineCap.Round;
+ pen.EndCap = LineCap.Round;
+ }
+ EditP = true;
+ }
+
+ public void SetBrush(Brush Brush)
+ {
+ brush = Brush;
+ }
+
+ public void EditTrue()
+ {
+ Edit = true;
+ EditH = true;
+ }
+
+ public void SetDefault()
+ {
+ pen = new Pen(Color.Black, 1f);
+ pen.StartCap = LineCap.Round;
+ pen.EndCap = LineCap.Round;
+ brush = new SolidBrush(Color.LightGray);
+ HitBrush = new SolidBrush(Color.Transparent);
+ Path = new GraphicsPath();
+ OutlinePath = new GraphicsPath();
+ gph = new GraphicsPath();
+ }
+
+ public Par()
+ {
+ pen.StartCap = LineCap.Round;
+ pen.EndCap = LineCap.Round;
+ }
+
+ public Par(Par Par)
+ {
+ Copy(Par);
+ }
+
+ protected void Copy(Par Par)
+ {
+ Tag = Par.Tag;
+ op = new List(Par.op.Count);
+ for (int i = 0; i < Par.op.Count; i++)
+ {
+ op.Add(new Out(Par.op[i]));
+ }
+ jp = new List(Par.jp.Count);
+ for (int j = 0; j < Par.jp.Count; j++)
+ {
+ jp.Add(new Joi(Par.jp[j]));
+ }
+ basePointBase = Par.basePointBase;
+ basePointCont = Par.basePointCont;
+ positionBase = Par.positionBase;
+ positionContO = Par.positionContO;
+ positionCont = Par.positionCont;
+ positionSize = Par.positionSize;
+ positionVector = Par.positionVector;
+ anglePare = Par.anglePare;
+ angleBase = Par.angleBase;
+ angleCont = Par.angleCont;
+ sizeBase = Par.sizeBase;
+ sizeCont = Par.sizeCont;
+ xSizeBase = Par.xSizeBase;
+ xSizeCont = Par.xSizeCont;
+ ySizeBase = Par.ySizeBase;
+ ySizeCont = Par.ySizeCont;
+ penWidth = Par.penWidth;
+ Dra = Par.Dra;
+ closed = Par.closed;
+ if (Par.pen != null)
+ {
+ Pen = Par.pen.Copy();
+ }
+ if (Par.brush != null)
+ {
+ Brush = Par.brush.Copy();
+ }
+ Hit = Par.Hit;
+ if (Par.HitBrush != null)
+ {
+ HitBrush = (SolidBrush)Par.HitBrush.Copy();
+ }
+ }
+
+ private void Calculation(double Unit)
+ {
+
+ /*
+ things that affect where this part is drawn
+
+ Size, SizeX, SizeY, BasePoint, Position, Angle, Unit
+
+ Size = sizeBase * sizeCont * positionSize
+ SizeX = xSizeBase * xSizeCont
+ SizeY = ySizeBase * ySizeCont
+ BasePoint = basePointBase + basePointCont
+ Position (AnglePare, positionContO, positionBase, positionCont, positionSize, positionVector)
+ Angle = anglePare + angleBase + angleCont
+ AnglePare = anglePare
+
+ sizeBase, sizeCont, positionSize, xSizeBase, xSizeCont, ySizeBase, ySizeCont,
+ basePointBase, basePointCont, positionContO, positionBase, positionCont,
+ positionVector, anglePare, angleBase, angleCont
+
+ */
+
+ us = Unit * Size;
+ usx = us * SizeX;
+ usy = us * SizeY;
+
+ bp = BasePoint;
+ bp.X *= usx;
+ bp.Y *= usy;
+
+ mv = Position * Unit - bp;
+
+ Path.Reset();
+ OutlinePath.Reset();
+ foreach (Out item in op)
+ {
+ points = new PointF[item.ps.Count];
+ for (int i = 0; i < item.ps.Count; i++)
+ {
+ p.X = item.ps[i].X * usx;
+ p.Y = item.ps[i].Y * usy;
+ p = Rotate(Angle, p) + mv;
+
+ points[i].X = (float)p.X;
+ points[i].Y = (float)p.Y;
+ }
+
+ if (Closed)
+ Path.AddClosedCurve(points, item.Tension);
+ else
+ Path.AddCurve(points, item.Tension);
+
+ if (item.Outline)
+ {
+ OutlinePath.StartFigure();
+
+ if (Closed)
+ OutlinePath.AddClosedCurve(points, item.Tension);
+ else
+ OutlinePath.AddCurve(points, item.Tension);
+ }
+ }
+ }
+
+ private Vector2D Rotate(double angle, Vector2D p)
+ {
+ double M11 = System.Math.Cos(System.Math.PI * angle / 180.0);
+ double M12 = System.Math.Sin(System.Math.PI * angle / 180.0);
+
+ p.X -= bp.X;
+ p.Y -= bp.Y;
+
+ v.X = p.X * M11 + p.Y * (0.0 - M12);
+ v.Y = p.X * M12 + p.Y * M11;
+
+ p.X = v.X + bp.X;
+ p.Y = v.Y + bp.Y;
+
+ return p;
+ }
+
+ public void Draw(double Unit, Graphics Graphics)
+ {
+ if (Dra)
+ {
+ if (Edit)
+ {
+ Calculation(Unit);
+ Edit = false;
+ }
+ if (pen != null && (EditP || EditPS))
+ {
+ pen.Width = (float)(Unit * penWidth * positionSize);
+ EditP = false;
+ EditPS = false;
+ }
+ if (brush != null)
+ {
+ Graphics.FillPath(brush, Path);
+ }
+ if (pen != null)
+ {
+ Graphics.DrawPath(pen, OutlinePath);
+ }
+ }
+ }
+
+ private void CalculationH(double Unit)
+ {
+ ush = Unit * Size;
+ usxh = ush * SizeX;
+ usyh = ush * SizeY;
+
+ bph = BasePoint;
+ bph.X *= usxh;
+ bph.Y *= usyh;
+
+ mvh = Position;
+ mvh.X = mvh.X * Unit - bph.X;
+ mvh.Y = mvh.Y * Unit - bph.Y;
+ ah = System.Math.PI * Angle / 180.0;
+ M11h = System.Math.Cos(ah);
+ M12h = System.Math.Sin(ah);
+ gph.Reset();
+ if (Closed)
+ {
+ foreach (Out item in op)
+ {
+ psh = new PointF[item.ps.Count];
+ for (int i = 0; i < item.ps.Count; i++)
+ {
+ ph.X = item.ps[i].X * usxh;
+ ph.Y = item.ps[i].Y * usyh;
+ RotateH(ref ph);
+ ph.X += mvh.X;
+ ph.Y += mvh.Y;
+ psh[i].X = (float)ph.X;
+ psh[i].Y = (float)ph.Y;
+ }
+ gph.AddClosedCurve(psh, item.Tension);
+ }
+ return;
+ }
+
+ foreach (Out item2 in op)
+ {
+ psh = new PointF[item2.ps.Count];
+ for (int j = 0; j < item2.ps.Count; j++)
+ {
+ ph.X = item2.ps[j].X * usxh;
+ ph.Y = item2.ps[j].Y * usyh;
+ RotateH(ref ph);
+ ph.X += mvh.X;
+ ph.Y += mvh.Y;
+ psh[j].X = (float)ph.X;
+ psh[j].Y = (float)ph.Y;
+ }
+ gph.AddCurve(psh, item2.Tension);
+ }
+ }
+
+ private void RotateH(ref Vector2D ph)
+ {
+ ph.X -= bph.X;
+ ph.Y -= bph.Y;
+
+ vh.X = ph.X * M11h + ph.Y * (0.0 - M12h);
+ vh.Y = ph.X * M12h + ph.Y * M11h;
+
+ ph.X = vh.X + bph.X;
+ ph.Y = vh.Y + bph.Y;
+ }
+
+ public void DrawH(double Unit, Graphics Graphics)
+ {
+ if (Hit)
+ {
+ if (EditH)
+ {
+ CalculationH(Unit);
+ EditH = false;
+ }
+ Graphics.FillPath(HitBrush, gph);
+ }
+ }
+
+ public void SetJointP(int Index, Par Par)
+ {
+ if (Index < jp.Count)
+ {
+ Par.PositionBase = ToGlobal(jp[Index].Joint);
+ }
+ Par.Edit = true;
+ Par.EditH = true;
+ }
+
+ public void SetJointPA(int Index, Par Par)
+ {
+ if (Index < jp.Count)
+ {
+ Par.PositionBase = ToGlobal(jp[Index].Joint);
+ }
+ Par.AngleParent = Angle;
+ Par.Edit = true;
+ Par.EditH = true;
+ }
+
+ public Vector2D ToGlobal(Vector2D Local)
+ {
+ double size = Size;
+ double xsz = size * SizeX;
+ double ysz = size * SizeY;
+ Vector2D basePoint = BasePoint;
+ basePoint.X *= xsz;
+ basePoint.Y *= ysz;
+ Vector2D position = Position;
+ position.X -= basePoint.X;
+ position.Y -= basePoint.Y;
+ double d = System.Math.PI * Angle / 180.0;
+ double num3 = System.Math.Cos(d);
+ double num4 = System.Math.Sin(d);
+ double num5 = 0.0 - num4;
+ double num6 = num3;
+ Local.X *= xsz;
+ Local.Y *= ysz;
+ Local.X -= basePoint.X;
+ Local.Y -= basePoint.Y;
+ Vector2D vector2D = default(Vector2D);
+ vector2D.X = Local.X * num3 + Local.Y * num5;
+ vector2D.Y = Local.X * num4 + Local.Y * num6;
+ Local.X = vector2D.X;
+ Local.Y = vector2D.Y;
+ Local.X += basePoint.X;
+ Local.Y += basePoint.Y;
+ Local.X += position.X;
+ Local.Y += position.Y;
+ return Local;
+ }
+
+ public Vector2D ToGlobal_nc(Vector2D Local)
+ {
+ double size = Size;
+ double num = size * SizeX;
+ double num2 = size * SizeY;
+ Vector2D basePoint = BasePoint;
+ basePoint.X *= num;
+ basePoint.Y *= num2;
+ Vector2D position_nc = Position_nc;
+ position_nc.X -= basePoint.X;
+ position_nc.Y -= basePoint.Y;
+ double d = System.Math.PI * Angle / 180.0;
+ double num3 = System.Math.Cos(d);
+ double num4 = System.Math.Sin(d);
+ double num5 = 0.0 - num4;
+ double num6 = num3;
+ Local.X *= num;
+ Local.Y *= num2;
+ Local.X -= basePoint.X;
+ Local.Y -= basePoint.Y;
+ Vector2D vector2D = default(Vector2D);
+ vector2D.X = Local.X * num3 + Local.Y * num5;
+ vector2D.Y = Local.X * num4 + Local.Y * num6;
+ Local.X = vector2D.X;
+ Local.Y = vector2D.Y;
+ Local.X += basePoint.X;
+ Local.Y += basePoint.Y;
+ Local.X += position_nc.X;
+ Local.Y += position_nc.Y;
+ return Local;
+ }
+
+ public Vector2D ToLocal(Vector2D Global)
+ {
+ double size = Size;
+ double num = size * SizeX;
+ double num2 = size * SizeY;
+ Vector2D basePoint = BasePoint;
+ basePoint.X *= num;
+ basePoint.Y *= num2;
+ Vector2D position = Position;
+ position.X = basePoint.X - position.X;
+ position.Y = basePoint.Y - position.Y;
+ num = num.Reciprocal();
+ num2 = num2.Reciprocal();
+ double d = System.Math.PI * (0.0 - Angle) / 180.0;
+ double num3 = System.Math.Cos(d);
+ double num4 = System.Math.Sin(d);
+ double num5 = 0.0 - num4;
+ double num6 = num3;
+ Global.X += position.X;
+ Global.Y += position.Y;
+ Global.X -= basePoint.X;
+ Global.Y -= basePoint.Y;
+ Vector2D vector2D = default(Vector2D);
+ vector2D.X = Global.X * num3 + Global.Y * num5;
+ vector2D.Y = Global.X * num4 + Global.Y * num6;
+ Global.X = vector2D.X;
+ Global.Y = vector2D.Y;
+ Global.X += basePoint.X;
+ Global.Y += basePoint.Y;
+ Global.X *= num;
+ Global.Y *= num2;
+ return Global;
+ }
+
+ public bool IsParT()
+ {
+ return this is ParT;
+ }
+
+ public ParT ToParT()
+ {
+ return (ParT)this;
+ }
+
+ public List GetPath()
+ {
+ List list = new List { parent.IndexOf(this) };
+ Pars pars2 = parent;
+ for (Pars pars3 = pars2.Parent; pars3 != null; pars3 = pars2.Parent)
+ {
+ list.Insert(0, pars3.IndexOf(pars2));
+ pars2 = pars3;
+ }
+ return list;
+ }
+
+ public Pars GetRoot()
+ {
+ Pars pars2 = parent;
+ while (pars2.Parent != null)
+ {
+ pars2 = pars2.Parent;
+ }
+ return pars2;
+ }
+
+ public override string ToString()
+ {
+ return Tag;
+ }
+
+ public void ReverseX()
+ {
+ op.ReverseX(ref basePointBase);
+ jp.ReverseX(ref basePointBase);
+ angleBase = 360.0 - angleBase;
+ angleCont = 360.0 - angleCont;
+ }
+
+ public void ReverseY()
+ {
+ op.ReverseY(ref basePointBase);
+ jp.ReverseY(ref basePointBase);
+ angleBase = 360.0 - angleBase;
+ angleCont = 360.0 - angleCont;
+ }
+
+ public bool IsParentTag(string Tag)
+ {
+ if (Parent != null)
+ {
+ return Parent.Tag == Tag;
+ }
+ return false;
+ }
+
+ public bool IsRootTag(string Tag)
+ {
+ Pars root = GetRoot();
+ if (root != null)
+ {
+ return root.Tag == Tag;
+ }
+ return false;
+ }
+
+ public bool ContainsParentTag(string Tag)
+ {
+ if (Parent != null)
+ {
+ return Parent.Tag.Contains(Tag);
+ }
+ return false;
+ }
+
+ public bool ContainsRootTag(string Tag)
+ {
+ return GetRoot()?.Tag.Contains(Tag) ?? false;
+ }
+
+ public double GetArea()
+ {
+ Vector2D[] array = op.EnumPoints().ToArray();
+ Vector2D vector2D = ToGlobal(array[0]);
+ Vector2D vector2D2 = vector2D;
+ double num = 0.0;
+ for (int i = 1; i < array.Length; i++)
+ {
+ Vector2D vector2D3 = ToGlobal(array[i]);
+ num += vector2D2.X * vector2D3.Y - vector2D3.X * vector2D2.Y;
+ vector2D2 = vector2D3;
+ }
+ num += vector2D2.X * vector2D.Y - vector2D.X * vector2D2.Y;
+ return System.Math.Abs(num * 0.5);
+ }
+
+ public void ScalingXY(double Scale)
+ {
+ op.ScalingXY(ref basePointBase, Scale);
+ jp.ScalingXY(ref basePointBase, Scale);
+ }
+
+ public void ScalingX(double Scale)
+ {
+ op.ScalingX(ref basePointBase, Scale);
+ jp.ScalingX(ref basePointBase, Scale);
+ }
+
+ public void ScalingY(double Scale)
+ {
+ op.ScalingY(ref basePointBase, Scale);
+ jp.ScalingY(ref basePointBase, Scale);
+ }
+
+ public void ExpansionXY(double Rate)
+ {
+ op.ExpansionXY(ref basePointBase, Rate);
+ jp.ExpansionXY(ref basePointBase, Rate);
+ }
+
+ public void ExpansionX(double Rate)
+ {
+ op.ExpansionX(ref basePointBase, Rate);
+ jp.ExpansionX(ref basePointBase, Rate);
+ }
+
+ public void ExpansionY(double Rate)
+ {
+ op.ExpansionY(ref basePointBase, Rate);
+ jp.ExpansionY(ref basePointBase, Rate);
+ }
+
+ public void Dispose()
+ {
+ if (pen != null)
+ {
+ pen.Dispose();
+ }
+ if (brush != null)
+ {
+ brush.Dispose();
+ }
+ HitBrush.Dispose();
+ Path.Dispose();
+ OutlinePath.Dispose();
+ gph.Dispose();
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/ParT.cs b/2DGAMELIB/_2DGAMELIB/ParT.cs
new file mode 100644
index 0000000..8208721
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/ParT.cs
@@ -0,0 +1,375 @@
+using System;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using Newtonsoft.Json;
+
+namespace _2DGAMELIB;
+
+// renders text
+[Serializable]
+public class ParT : Par
+{
+ [NonSerialized, JsonIgnore]
+ private Font font = new Font("", 1f);
+
+ private double fontSize = 1.0;
+
+ private bool EditF = true;
+
+ [NonSerialized, JsonIgnore]
+ private Brush brusht = new SolidBrush(Color.Black);
+
+ private const double Shift = 1.0;
+
+ [NonSerialized, JsonIgnore]
+ private Brush brushs;
+
+ [NonSerialized, JsonIgnore]
+ private StringFormat stringformat = new StringFormat();
+
+ private Vector2D positionT = Dat.Vec2DZero;
+
+ private Vector2D rectSize = Dat.Vec2DOne;
+
+ public string Text = "";
+
+ private RectangleF rect;
+
+ private double us;
+
+ private double usx;
+
+ private double usy;
+
+ private Vector2D bp;
+
+ private Vector2D p;
+
+ private Vector2D v;
+
+ private double a0;
+
+ private double a1;
+
+ private double M11;
+
+ private double M12;
+
+ private float af;
+
+ private float xf;
+
+ private float yf;
+
+ private bool EditT = true;
+
+ private bool EditTS = true;
+
+ private CharacterRange[] crr = new CharacterRange[1];
+
+ private CharacterRange[] cre = new CharacterRange[1];
+
+ public Font Font
+ {
+ get
+ {
+ return font;
+ }
+ set
+ {
+ if (font != value && font != null)
+ {
+ font.Dispose();
+ }
+ font = value;
+ EditF = true;
+ }
+ }
+
+ public double FontSize
+ {
+ get
+ {
+ return fontSize;
+ }
+ set
+ {
+ fontSize = value;
+ EditF = true;
+ }
+ }
+
+ public Brush TextBrush
+ {
+ get
+ {
+ return brusht;
+ }
+ set
+ {
+ if (brusht != value && brusht != null)
+ {
+ brusht.Dispose();
+ }
+ brusht = value;
+ }
+ }
+
+ public Color TextColor
+ {
+ get
+ {
+ return ((SolidBrush)brusht).Color;
+ }
+ set
+ {
+ ((SolidBrush)brusht).Color = value;
+ }
+ }
+
+ public Brush ShadBrush
+ {
+ get
+ {
+ return brushs;
+ }
+ set
+ {
+ if (brushs != value && brushs != null)
+ {
+ brushs.Dispose();
+ }
+ brushs = value;
+ }
+ }
+
+ public Color ShadColor
+ {
+ get
+ {
+ return ((SolidBrush)brushs).Color;
+ }
+ set
+ {
+ ((SolidBrush)brushs).Color = value;
+ }
+ }
+
+ public StringFormat StringFormat
+ {
+ get
+ {
+ return stringformat;
+ }
+ set
+ {
+ if (stringformat != value && stringformat != null)
+ {
+ stringformat.Dispose();
+ }
+ stringformat = value;
+ }
+ }
+
+ public Vector2D PositionT
+ {
+ get
+ {
+ return positionT;
+ }
+ set
+ {
+ positionT = value;
+ EditT = true;
+ }
+ }
+
+ public Vector2D RectSize
+ {
+ get
+ {
+ return rectSize;
+ }
+ set
+ {
+ rectSize = value;
+ EditT = true;
+ }
+ }
+
+ public new void SetDefault()
+ {
+ base.SetDefault();
+ font = new Font("", 1f);
+ brusht = new SolidBrush(Color.Black);
+ brushs = null;
+ stringformat = new StringFormat();
+ }
+
+ public ParT()
+ {
+ }
+
+
+ public ParT(ParT ParT)
+ {
+ CopyT(ParT);
+ }
+
+ private void CopyT(ParT ParT)
+ {
+ Copy(ParT);
+ fontSize = ParT.fontSize;
+ if (ParT.font != null)
+ {
+ Font = ParT.font.Copy();
+ }
+ if (ParT.brusht != null)
+ {
+ TextBrush = ParT.brusht.Copy();
+ }
+ if (ParT.brushs != null)
+ {
+ ShadBrush = ParT.brushs.Copy();
+ }
+ if (ParT.stringformat != null)
+ {
+ StringFormat = ParT.stringformat.Copy();
+ }
+ positionT = ParT.positionT;
+ rectSize = ParT.rectSize;
+ Text = ParT.Text;
+ }
+
+ public new void Draw(double Unit, Graphics Graphics)
+ {
+ if (Edit)
+ {
+ EditT = true;
+ }
+ if (EditS || EditPS)
+ {
+ EditTS = true;
+ }
+ base.Draw(Unit, Graphics);
+ DrawString(Unit, Graphics);
+ }
+
+ private void Calculation(double Unit)
+ {
+ us = Unit * base.Size;
+ usx = us * base.SizeX;
+ usy = us * base.SizeY;
+ bp = base.BasePoint;
+ bp.X *= usx;
+ bp.Y *= usy;
+ a0 = base.Angle;
+ a1 = System.Math.PI * a0 / 180.0;
+ M11 = System.Math.Cos(a1);
+ M12 = System.Math.Sin(a1);
+ v.X = bp.X * M11 + bp.Y * (0.0 - M12);
+ v.Y = bp.X * M12 + bp.Y * M11;
+ p = base.Position;
+ bp.X = p.X * Unit - v.X;
+ bp.Y = p.Y * Unit - v.Y;
+ rect.X = (float)(positionT.X * us);
+ rect.Y = (float)(positionT.Y * us);
+ rect.Width = (float)(rectSize.X * us);
+ rect.Height = (float)(rectSize.Y * us);
+ }
+
+ private void DrawString(double Unit, Graphics Graphics)
+ {
+ if (EditT)
+ {
+ Calculation(Unit);
+ EditT = false;
+ }
+ if (EditF || EditTS)
+ {
+ Font = new Font(font.FontFamily, (float)(us * fontSize * Med.DpiY));
+ EditF = false;
+ EditTS = false;
+ }
+ af = (float)a0;
+ xf = (float)base.SizeX;
+ yf = (float)base.SizeY;
+ if (brushs != null)
+ {
+ Graphics.TranslateTransform((float)(bp.X + 1.0), (float)(bp.Y + 1.0));
+ Graphics.RotateTransform(af);
+ Graphics.ScaleTransform(xf, yf);
+ Graphics.DrawString(Text, font, brushs, rect, stringformat);
+ Graphics.ResetTransform();
+ }
+ Graphics.TranslateTransform((float)bp.X, (float)bp.Y);
+ Graphics.RotateTransform(af);
+ Graphics.ScaleTransform(xf, yf);
+ Graphics.DrawString(Text, font, brusht, rect, stringformat);
+ Graphics.ResetTransform();
+ }
+
+ public Vector2D_2 GetStringRect(double Unit, Graphics Graphics)
+ {
+ double num = Unit * base.Size;
+ if (EditF || EditS || EditPS || EditTS)
+ {
+ Font = new Font(font.FontFamily, (float)(num * fontSize * Med.DpiY));
+ EditF = false;
+ EditTS = false;
+ }
+ crr[0] = new CharacterRange(0, Text.Length);
+ stringformat.SetMeasurableCharacterRanges(crr);
+ RectangleF bounds = Graphics.MeasureCharacterRanges(Text, font, new RectangleF((float)(positionT.X * num), (float)(positionT.Y * num), (float)(rectSize.X * num), (float)(rectSize.Y * num)), stringformat)[0].GetBounds(Graphics);
+ return new Vector2D_2(new Vector2D((double)bounds.X / num, (double)bounds.Y / num), new Vector2D((double)bounds.Width / num, (double)bounds.Height / num));
+ }
+
+ public Vector2D[] GetStringRectPoints(double Unit, Graphics Graphics)
+ {
+ Vector2D_2 stringRect = GetStringRect(Unit, Graphics);
+ stringRect.v2.X *= 1.07;
+ return new Vector2D[4]
+ {
+ stringRect.v1,
+ new Vector2D(stringRect.v2.X, stringRect.v1.Y),
+ stringRect.v2,
+ new Vector2D(stringRect.v1.X, stringRect.v2.Y)
+ };
+ }
+ public void SetStringRectOutline(double Unit, Graphics Graphics)
+ {
+ Vector2D[] stringRectPoints = GetStringRectPoints(Unit, Graphics);
+ Out @out = new Out
+ {
+ Tension = 0f
+ };
+ Vector2D vector2D = Dat.Vec2DZero - stringRectPoints[0];
+ double x = 0.05;
+ double num = 0.025;
+ @out.ps.Add(stringRectPoints[0].AddY(0.0 - num) + vector2D);
+ @out.ps.Add(stringRectPoints[1].AddXY(x, 0.0 - num) + vector2D);
+ @out.ps.Add(stringRectPoints[2].AddXY(x, num) + vector2D);
+ @out.ps.Add(stringRectPoints[3].AddY(num) + vector2D);
+ base.OP.Add(@out);
+ }
+ public new void Dispose()
+ {
+ base.Dispose();
+ if (font != null)
+ {
+ font.Dispose();
+ }
+ if (brusht != null)
+ {
+ brusht.Dispose();
+ }
+ if (brushs != null)
+ {
+ brushs.Dispose();
+ }
+ if (stringformat != null)
+ {
+ stringformat.Dispose();
+ }
+ }
+}
diff --git a/2DGAMELIB/_2DGAMELIB/Pars.cs b/2DGAMELIB/_2DGAMELIB/Pars.cs
new file mode 100644
index 0000000..2fd2474
--- /dev/null
+++ b/2DGAMELIB/_2DGAMELIB/Pars.cs
@@ -0,0 +1,864 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.IO;
+using System.Linq;
+using System.Runtime.ExceptionServices;
+using System.Windows.Documents;
+
+namespace _2DGAMELIB;
+
+[Serializable]
+public class Pars
+{
+ private Pars parent;
+
+ public string Tag = "";
+
+ public OrderedDictionary pars = new OrderedDictionary();
+
+ public Pars Parent => parent;
+
+ public IEnumerable Keys => pars.Keys;
+
+ public IEnumerable