{
"cells": [
{
"cell_type": "markdown",
"id": "27e03969",
"metadata": {},
"source": [
"# Filter Networks #\n",
"\n",
"### Approach ###\n",
"\n",
"Analysing simple RC networks for the purpose of producing phase shifts of sine waves which in turn might be useful later for producing oscillatory networks."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "693e7655",
"metadata": {},
"outputs": [],
"source": [
"from IPython.display import Image\n",
"from sympy import Matrix, symbols, Symbol, init_printing, Function, dsolve, checkodesol, sin, cos,exp, pi, Eq, \\\n",
" solveset, collect, cancel, simplify, lambdify, acos, atan, sqrt, I, integrate, factor, factor_list, Matrix, expand, \\\n",
" conjugate, Rational, sympify\n",
"import sympy\n",
"import matplotlib.pyplot as plt\n",
"from scipy.signal import find_peaks\n",
"from scipy.integrate import solve_ivp\n",
"import numpy as np\n",
"from sympy.abc import phi\n",
"from functools import reduce\n",
"init_printing()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "d8541032",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'1.13.1'"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from system_eqns import systemEqns\n",
"import sympy \n",
"sympy.__version__"
]
},
{
"cell_type": "markdown",
"id": "0a699a5b",
"metadata": {},
"source": [
"## The simplest network\n",
"\n",
"A network containing only one capacitor and resistor"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "effe33dd",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Image(url='https://images.kiwiheretic.xyz/RC-filter0.jpg', width=600)"
]
},
{
"cell_type": "markdown",
"id": "6057575f",
"metadata": {},
"source": [
"This is the simplest RC filter I can think of. It only contains one current path for $ \\textit{i} $.\n",
"\n",
"Therefore:\n",
"\n",
"$$ V_{in} = V_c + R \\textit{i} $$\n",
"\n",
"However $ \\textit{i} = C \\frac{d V_c}{dt} $ and we want to think about the case where $ V_{in} = A \\sin( 2 \\pi f t) $ and so we have:\n",
"\n",
"$$ A \\sin (2 \\pi f t ) = V_c(t) + R C \\frac{d V_c}{dt} $$\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "ec4b6463",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\left( V_{in}, \\ V_{c}, \\ C, \\ R, \\ i, \\ t, \\ f, \\ A, \\ \\tau, \\ \\omega\\right)$"
],
"text/plain": [
"(V_{in}, V_c, C, R, i, t, f, A, τ, ω)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Vin, Vc, C, R, i, t, f, A, tau, w = symbols(\"V_{in} V_c C R i t f A tau omega\", real=True, positive=True)\n",
"Vin, Vc, C, R, i, t, f, A, tau, w"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "cd33a7be",
"metadata": {},
"outputs": [],
"source": [
"def multiplyIt(x, y):\n",
" return sympify(x)*sympify(y)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "0fb16257",
"metadata": {},
"outputs": [],
"source": [
"# Define the voltage across the capacitor as a function of time\n",
"VC = Function(\"V_c\")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "2ff1f3dd",
"metadata": {},
"outputs": [],
"source": [
"# Define \"driving term\" of the differential equation\n",
"dt =A*sin(2*pi*f*t)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "ba8ccfa4",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle A \\sin{\\left(2 \\pi f t \\right)} = C R \\frac{d}{d t} V_{c}{\\left(t \\right)} + V_{c}{\\left(t \\right)}$"
],
"text/plain": [
" d \n",
"A⋅sin(2⋅π⋅f⋅t) = C⋅R⋅──(V_c(t)) + V_c(t)\n",
" dt "
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Present the differential equation of the circuit\n",
"eqn1 = Eq(dt , VC(t) + R * C * VC(t).diff(t))\n",
"eqn1"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "d0b3ec67",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAbkAAAAhCAYAAABEFtWyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAASKklEQVR4nO2deZwdVZXHv0lACMEBBYYBGRbDGqBpEhCQsA0OA7gkgKioQEBQHFxCBPlEZU5+IkuCkCAioCIJyDJgNIxAwMDAhEQGAiQh7CZhk1VkSSDDEtLzx7mVVNerV6/ee9Xp1931+3z606+qbp17q+6pe+9Z7jn9Ojo6KNF9kDQWOBzYDngX+F9grJk93CC9HYC5wONm1l6lTDtwGrAfsCHwInA/MMHM5oQydwD/Em5ZDjwdrv8qRmd74GHgyNDupWb2ViPtrheSzgM2NLPjYucKeZdpzwUY0GZm/xbK7Az8D7CVmb3Z/BN1D/LwS5X71gP6mdkbDdbbqf+K/A76Uv+VqI3+3d2AEuwP/AL4JD6pLAdul/TRBun9DLgAGCLpQ8mLkkbhE9q7wBeBbYFjw/FJsaJDgR8AmwBbA9cBl0naNVbmc8DDZvYHM3txNU5w6wAnAJcnLu1PMe8y7bk+AdwXFTCzBcBi4KsNPUTrIJNfqsHM3mxigkvrv/0p7jvoS/1XogbW6O4G9HVEK8sIko4G3gT2Bv4Yzj0CDKlCQmY2LpQ7HF+4TADGhnvmxWjvBfwaOM3MJsZoPAvMjAYUSYOB9YFbzeylcO4y4EfAjsBcSU8C24RrHcA0fCU+Bp8sNwf+BlxlZmNDubWA8cBRwHqhbaea2axYG/cN7d8J+AB4Ajg+saI/FOgAZhf9LoEvpzzXp4E1gX0l/Qh4zMyGAP8VnuXiKvRaGln8UqsfJE3GJbHPhOO7gEeBN4CvAyuAK4Hvm9mKRNUV/VfUd1CFL3tl//VUBCm+Ldnn4dqlwDtmNjoct9Ok1qmU5FoPH8b75fXYucPC/0NxyWpTYBnwNXzSQNJA4Kf4pPEG8AIQl7oAzgfuTUxwK2Fmr4Wfw4AlwPxAe5NAewXwYCgzHHgSn/g2waXBs4EzgHPwyfBI4LlYFRNw6fH40LYFwK2BPpLWAG4EZgG7AHsAk/BBNo59gAfMrJauvZF3mfZce4V79gjn9g7H9wGfCO++RyGLX+rohyS+gg8ynwS+BYzG+zuJPP3X0HdAH+m/Ho5OUnUESf1wKXxaOB5FAVqnUpJrPVyIr6bviZ3bGF/53m1mb0naGlgHmGVm/xfKnB6O54bjR4D2iICkbfCP/agcbRgGrAsskdQfGAi8B3zPzB4NZZYAHwdmm9lLktYFTgFGm9lvQpmF0XNIGgR8EzjBzG4O507CV2An44PSP+AS5B/NbFGg8XhK+7bAB+VaqPtdhtX/yucK7dwEt+vMSQzML+ASwqbAInoWsvglbz8k8aiZ/Uf4/aSkE4EDgWsT5fL0X6PfQSe+hF7bfz0OQR3+FulSNcDuwFrArCK1TqtNkpM0RdIrYbDLe88wSR2STujKtrUKJF2Ar0SPMLP4qnkXYHHM5tWOr2AXhvu2BL4D/DB2z8N0luSGhv/352jKUJzB2kN7bgN+ZWaTYmV2whdJ88LxEJxB76hCczDO3HEV1Qf4IDYkHL8GTAZuk3SzpDGSNk+hNRB4J+sBGn2XKc8F/h7np0ge0cDaoySBWvxSRz8k8VDi+AXgH1PKZfZfE30HfaD/ejCWU12qBhgJ3GxmyylQ67RSkpN0FHANcImZ/XtWSyVdgouLPzWz02o9maTdgaNx1cjbKddPwY3fXzGza2IP8oCkacCZkq5bXY4N3QFJE4EvAQeY2eLE5TY6DyDtuGE9snVMBD4CPCUpKtMPWCqpX/i41wnn87zDocBvzSyaRE8CFku6LBjsozY806jzQQIrBx8zO07SJOBgXHVxlqSRZnZbrPyr+POmosl32U7lc7XjHohJRE4Rf6vWlhZFTX7J2Q9JvJ847iDdJFK1/5rsu+hcb++/lQgamuOBg3A7+Pq4XXQ+8Htgspkt6672xWFmKzKkaoARwBlFa53i6sr54f9OWRSDnvPrwPO4oT4PzsJn20syGgrwQMq1c4B78ZXn2Tnr61GQdCGucz7AzNLUQm3A9NhxO6tWLgfhRtlheOdG2B64AdgK9yKLHDf2A/4zpQ3rmNkySVvhH380mWFmT0uaiy9Uvh9rw7wYicdwXfmBwF9SnmFRaN/e4TeSBuDMfE28oJnND883XtJ0XA8fH1znAqNS6mjqXVZ5LnAJYjqV2Al43sxeTmtLK6IOfsnTD40itf8K6Lvo3LzEuV7TfxGC/erHuNp5TeDPwO9wZ50t8EnvQHyi2KcL2/ETOmsE0nCAmd0VfqdK1UH1/HGcvz4TTtejdToPV7OfDSyMa53ik9wTuAph5xpEL8JXZ9/LI1lJ2hb4FPDrmN48iWG4hPFk8oKZ3SfpceAbks5N8dTq0ZB0MT55jARel/RP4dJbwe7QH/8Yx8duGwzcI2lN3HZxvpk9GLuOpGfDz11xFc+cMFBdFAzts/GV9lDgRHzBMgvvixW4p1wcM3Dvyfgkd3t00cyWhkHqHEnvAjOBDYBhZnaJmb0dNADjJb0KPIXb8DbGXccJE+w3cK+353Gmb6NycXRboLOBmf29iHcZO+70XAFrANtL2hRYFpMS9qHJQT8Y16+g80DQJcjLL8EumacfGkVF/xXUd7Ca+68RFNTnv8EXCo8CXw4LkngdA3FP560bbmg+TAJ+W6PMs7Hf7aRL1SOBO8I4UajWaeUkZ2YfyF10h0nazMz+mqQm6av4SvwOM6uQBqrgeFwVkiY9nIuvRCKsiKlPjjGzq8Lv64BxwL/SDUzZxYhUw0lblvBnHgwMorOaZgHOwP2BjfC9Tp1gZkskvYQz1dRw+jDgu+Hei/GV/GLgZlatmoYBi8wsaTOZAZwuaUf8w2rDdd9xjMW94c4ANgNext3II0R9fQWuVpkLHGxmL4bzy3APqhtwd+GXgavpPLBhZgsk3YerteLu3w2/S0kPArdWea4fhjaMAS4Dvilpbfx9VrhBtzC+Sz5+mUWOfmgUVfqvqb4zs+lBuunN/QeApDH4BPcYsKeZLU2WCQLFWWrQc1TSEfhext1xCekZ/LsdH7eTmtmruPo5L6pJ1SOAKeF3oVqnfvGIJ5IuxyelQ81seoLwuri0txG+xyGPtxWS7sc/nPWS9jhJX8DdgY/Fxe0ZscuXm9lzodynwrXzzezUPPWW6N2QdDAulQxJOCesrvpPBkaY2UFN0hnFapLkWgm9pf8arHsUDfZ5sGktxgWUXa3ByEgZ9AfgktmXcIee23EzxCH4wudKMzu2CfpP42rVCwhStaSNcCelzSLVsaRbgN3wiapC62RmsyR9Hp8EB8UX5UF4OtzMtoXKLQSRyLszlbPtGbir7YQ6JrhB+AT3WJrDiZldL2l9fJKbYma/rEJqTvi/b446R+NSQl7MM7NpdZQv0QIws1uDimszfJW5uvE+8O1uqLdXoOy/hjEaWBt3KCl0ggu4EJ/gzgXOCJ6OSDoNuAs4RtJ4W7WVqF5USNXAZ3FHlLhttBCtk5k9Um2S6+R8Euxqo4G/4sbOvPgYMADfpV4NkWv7g9UKmNmbkt7BvYdqYTRueM2LKYTNhyV6FsysQu22GuuutiArkRNl/zWEkeH/lVmFGoGkPXC18Y0WohRFMLP3JU3BN/rvQaXNPhfM7Gpc9R3HCBJjsJm9iwePmJBBayxuIkmevwM3kQGVklyk7046n0wCPgSMSZPIMrBB+P96Rpmh+KpqQUYZgNdwJ4VMmNmWuVrWIIK4Xc8kerWZlfHxStTinTtj9ugIU8xsVFe2qUTXosg+DyajbXHV3b11tmNf4FRc+tkUOM7MJieKfRufHJZJGpdCJhJ+it5fPZvKgAGFodMkZ2avS3oO2EHSGma2XNJncX3sDDO7oU76kTfl2mkX5eGDdsYjJbxbg9bAGL3uxCJqbEROIE9kjhJ9A5OoVKW3s8ro/nTi2rwubk+JrsckiuvzjcL/JQ3sfVsXd+i4kupSYGSfrLU/rVD1splVldaKQFpYr/n4PoVtJC3GN46+RxX9taSPAT/BJ8L1cWPlGDP7E/BKKLZB2r14pIu1yVBVhjr6B9pPZZULZUfThTY5MzuwDtqZCK7aJXoZzKxflfOTkueCE8II3MZyV946St5pLayOPgciLdpASQPqcdgxs1uAW0L9k1PatDY+ic40s/3qaFPLI2uS2xnfFzUYONfMnkgWlLQZnq/p/lD2FXyLwZJQ5EU8msB2VepvD//T9k3EsR0uRs+rUQ56kE2u2odRokQtlLzT92Bmr0h6Bh/f9qd6CD0k9a9zT3HETxs23sLWRLVJDlwy+wIeRf7MKvdfFsofFtvBvjKOnJl1SJoJHCFp62jDXgyRhLeEbOwZ/t9Zo1yX2+R6KiT9M3AVHktwOXBmvernImg0QqeoektUolX4ohEafZQvJuIq0F9IGpH0dA97BQ8GjsPH71wwD07+ENAm6XAz+32yjKThwD3dseWjGaQZEKNJbhQe7/CUNP2vpC3wPW5m2Skzoo3IaZsuozBeZ0k6T9I4SUemlDsIT/NxY0Y9JbKxHM8QMAR/n5NUR7DsAmk0QqeoektUolX4ohEafZEvfoZHO9kWWCAPoD1R0gRJ1+LRRW6hMo5oHpyGv9OpkmZIOj/Qvl7SIuCanjbBQfoktxCPPAFwm5lNTSkDrmpcTnq8yTim4mrMY5IXzGwmbut7O/w3YulhACSth7vN3hRtDi9RP8wzJM8Lv1/CoxTUlXW5CBp56Ug6UdJiScvxzZ9N11uiEq3CF3lp9HW+MA+e/TU8EexN+Hh5Mh6dpA0PczYKj/VbL+0/4VsEpuLmqu/gkUN2wDeFH9f0A3QDKtSVQY+bZzX0frj/w2SoG83sPXk087Ml7Wqr8ldF138O/DyjnmNw55RkqJ4+CUlj8SCkF5vZtxqkMQwYkLZoUI5MvFk0VCNLb562SNoej5N4JG7zXZpVvgjkdLEuHKGOpuvpSr7IyxM1aOTmiwwavYIviujzuCNJkQj9+fmi6XYnmkmaei++/+1SSWfh6sTh+M71ZGTwiXhqnh/ju9tzIcRdGwtMNbNZTbS1V0DSnngGiGTernpofBR3IT4x5dooPKL3lXg0+OeALUOdJxEiz2TRYFWW3ivw/HIn4Fl6708ucDLofA5PofKHvG2v8qyTgafNbFyO4nlcrFsSXckXeXkii0ZALr6oQaPkiwYR9thFwZr7A5uHxctrZvZs1Rt7ARqe5Mzs72EP3QR8VfUBzvA3pZR9R9LRwAGSBtWxoXxL4JcUsNLt6Qhq26vx2KKWcv0RQvLRtNvNbJyktXBP0nPN7M+J+/Nm4s2iUTNLb6xsKh1JTwLbhN8dwDQzOyyr3iJQy8W6VdGVfJGXJ0LZpvmiBo2SL5rDbnR23FP4m0KVtFW9Bc1IcpjZbDpnds0qOxNPv1IP/cfwCOQlfLL/nZndKaliMMNjvT2BOwPNxV2CF+K2zmuD19Vk4L9tVXaHOGpm4s1Bo2aW3nA+i85w4G581Xw5Hn2hVr19GV3JF7myMxfBFzlolHzRBMz34/XJbSdNTXIlVg8knYirGrLCg22Mh/u52zz/1ta4d+ys4B48HFc3PSRpZLjnaPO0J3kz8e5djUb4XTNLbw46S/D8ZbNjq/6qba/R3l6NruQLPKpP3uzMRfBFLRolX5RoCOUk1+KQtB3uUDDczLLcgnfBk6NGiQbbcS/ZhQDBplkt5lwUJDszE28NGhGdzCy9OejshPPlvDrqBUDSD3C7T4S1gA5J8fRMh5jZ3bVotTq6mi8kfTH8rJmduQi+yEGj5IsSDaGc5Fofe+EebY9oVTDXAcC+8iy4g8zjfrbR2fGgHTfS54l6UE8m3izUzNKbA+3AM7Yqe3M9uBS4PnY8Hs9sHY92/3wDdFsRXc0XRfEElHxRohtRTnKtj2lUrqavAP6Cr4jfC+fa6JwDsJ1VG/trIVcm3iwCypmlNwfaaTAwcbARvRZr01LceywZaac3YBpdyxdN80QoV/JFiW5FOcm1OMLK9Y34OUlv4x/pw+G4P67OGR8rNhjfGJqnjjmSpgMXhW0bFZl4gVpbOIbhjgTJPFMz8Lim9Qxmt+csWxh6mot1V/NFQTwBJV+U6GYUnReoRPdgML6BP66WWgCMkXRIThqH4R5vY/AV8xzgdHxArGmXITtL7zaSdqxFIHjLtdE9KWZ2w70P5+KOEQq/60kS3Gpoli+a5Qko+aJEN6NfR0eZsaNEiRIlSvROlJJciRIlSpTotSgnuRIlSpQo0Wvx/6d30R8+1ORkAAAAAElFTkSuQmCC",
"text/latex": [
"$\\displaystyle V_{c}{\\left(t \\right)} = - \\frac{2 \\pi A C R f \\cos{\\left(2 \\pi f t \\right)}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1} + \\frac{A \\sin{\\left(2 \\pi f t \\right)}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1} + C_{1} e^{- \\frac{t}{C R}}$"
],
"text/plain": [
" -t \n",
" ───\n",
" 2⋅π⋅A⋅C⋅R⋅f⋅cos(2⋅π⋅f⋅t) A⋅sin(2⋅π⋅f⋅t) C⋅R\n",
"V_c(t) = - ──────────────────────── + ───────────────── + C₁⋅ℯ \n",
" 2 2 2 2 2 2 2 2 \n",
" 4⋅π ⋅C ⋅R ⋅f + 1 4⋅π ⋅C ⋅R ⋅f + 1 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Solve for the voltage across the capacitor wrt time\n",
"dsoln = dsolve(eqn1, VC(t))\n",
"dsoln"
]
},
{
"cell_type": "markdown",
"id": "4a3c5e39",
"metadata": {},
"source": [
"### Find value for $ C_1 $\n",
"At this point we want to find $ C_1 $ by setting $ V_c(0) = 0 $. This seems reasonable that the capacitor starts off with no charge on it."
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "a93838da",
"metadata": {},
"outputs": [],
"source": [
"c1 = Symbol('C1')"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "e7608c5e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c1 in dsoln.free_symbols"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "804836bb",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{2 \\pi A C R f}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1} + V_{c}{\\left(0 \\right)}$"
],
"text/plain": [
" 2⋅π⋅A⋅C⋅R⋅f \n",
"───────────────── + V_c(0)\n",
" 2 2 2 2 \n",
"4⋅π ⋅C ⋅R ⋅f + 1 "
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Solve for C1\n",
"c1eq = solveset(dsoln.subs([(t,0)]), c1).args[0]; c1eq"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "bc4fa20e",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{2 \\pi A C R f}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
" 2⋅π⋅A⋅C⋅R⋅f \n",
"─────────────────\n",
" 2 2 2 2 \n",
"4⋅π ⋅C ⋅R ⋅f + 1"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# We will assume VC = 0 at t = 0. No charge on capacitor at start. \n",
"c1eq.args[0]"
]
},
{
"cell_type": "markdown",
"id": "2aa9fc95",
"metadata": {},
"source": [
"At this point I am going to try and ignore the transient part of the solution"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "e61d4d03",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAW0AAAAhCAYAAAAS7PqBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAOO0lEQVR4nO2de7QVdRXHP6CmoKX5Kl3mIx8pEh7BNBVfuTK1B6hZ9jDRtKgsjTQXmn3dlg8oBWuZWqmIoeUrrPCRmqUopRYoqGWAqClaZgpIkQT9sX+HO3fOmTlzzpl7zzn3znetu+6Zmd/s2b/Z+7dn//bvsQesXr2aPGBm44EjgXcBK4DfA+MlzWuC5i7AbODPkkpVrpeA04EDgE2BxcAjwERJD4cy9wDvC7esBBaF6z+K0doZmAccHXhfKmlZo7xnhZl9B9hU0vGRc7m8y2p1AgQMk/SBSLl3A78DtpP0WnM1ag1q6UrKfRsCAyS92uBzWyq/viC7AvVhYI60DgR+AOyDG8mVwN1mtnETNL8HXAwMMbM3RS+Y2RjcQK8APg7sBBwXjsdGig4HzgS2AHYAfgpcYWa7x571EWCepJ9LWtxLBnswcCJwZezSgeTzLqvVaU/goWghSXOBhcCn665E+yBRV9Ig6bUmDHbL5ddHZFegDqydF6Go5wZgZscCrwH7Ar8M5x4HhiSQMEnnRO4/Ev+oTATGh/vmhGt7Az8GTpc0KULjWeC+cuMws+2BjYA7JL0Yzl0BfAPYFffMMLOngB3D79XAdNxTGod/ALYG/gFcK2m8ma0LTAA+AWwY+DpN0swI//sH3ocC/wP+ApwQ87YOB1YDD+T9LoFPVqnTB4F1gP3N7BvAk5LKNH4R6nNpAs22RZquhOuJsjCzKbin/KFQ9rfAE8CrwOeAVcBU4OuSVsUe3ZD8srSDBJ1Mkl/Hyq6TEXpZw+LyDtcuB/4j6dTIuRIpkYGsUYE8Pe043hzo/yty7ojw/3Dc890SWA58FjeCAJjZIOC7uCF8FXgBiHrGFwF/iBnsNZD0Svg5AlgCPBrobhHorgL+FLllJPAUbsy3wD3284GzgQtwA3808FwoPxH37k8IfM0F7gj0MbO1gVuBmcBuwF7AZNxgRLEf8EdJtWJUjbzLanXaO9yzVzi3b4TeQ8Ce4d13DGrpSh2yiOJTeKPZBzgZOBWXdxyNyi9LO6hHfh0puz6Ail4rgJkNwHtJ0yPnxlA7MpApKpCbp10Fl+DezqzIubfhnsn9kpaZ2Q7AYGCmpH9Hyp0Rzs0Ox48DJQAz2xFX3k9k4GEEsAGwxMwGAoOA/wJfk/REpNwS4J3AA5JeNLMNgK8Cp0q6KpSZD8wys/WBLwAnSpoReBqLfyG/hDeyt+Ae/i8lLQj3/7kKf9vgRqYW6n6XwTtbU6fA5xZ4XPThKobmBdyL2xJYQOcgUVcCssoiiickfTP8fsrMTgIOBq6PlWtUflnaQTedhFT5darsOhIh/LaM5F7re4B1cUchU2Qga1QAesjTNrOLcU/hKElRj2Y3YGEkXlzCPYz5kXu3Bb4CnBW5bx5d3tPw8P+RDKwMx19WKfBzJ/AjSZNj5YbiH7A54XgI/tLvqUJze1xYa7rEoY6zwn1lT38KcKeZzTCzcWa2dRVag4D/pFWgiXcZrxP4O3w0wTMsG4uO8dYy6Eo9sojisdjxC8DmVco1Kr+a7YD65NdxsutwrCS91zoamCFpZTjOEhnIGhXI39M2s0nAMcBBkhbGLg+je4Mo4QMt0VjhJOCtwNNmVj43AFgauh2Dw7ksA4XDgZ9Imh94GwssNLMrwgBOlI9nGh2QimBNY5J0vJlNBg7Fu0rnmdloSXdGyr+M17UqmnyXJSrrVCLyxY6hPEj2jyR+2hCpulI2bhllEcUbsePVVHdwGpVflnZQIrv8OlF23RB60CcAh+BjSBvh4wqPArcAUyQtbxV/UUhaVaPXOgoPrdYTGcgaFcjXaJvZJXi85iBJ1bqgw4DbI8clwpcl3H8IHqQfERguY2fgRmA73JMilPtZFR4GS1puZtvhyrzGOEtaZGazgWOBr8f4mBM5fhKPNR0M/DX2iAWBt33Db8xsLVww10ULSno01G+Cmd2Ox7CihmI2MCZeh0CzqXdZpU7gHt7tVMdQ4HlJLyVcbytk1JU1hjKDLBpBo/KrJbvyuTmxc0ny6yjZRREcsXPxMNc6wIPATfjA7Ta4ET8YN3r79TAv36Z7r60aDpL0WxJ6PSHU9U66dCtrZKAcFfgOHtI7H5hfJSqQn9E2s0txYzga+JeZvT1cWhbidgNx5ZoQuW17QpzPzNbBY38XSerWHTCzZ8PP3SXdHBrd98PAywO4JzQcOAmfOTETb8yr8JkAUdyFzwyJG+27yweSloZGd4GZrQDuAzYBRki6zMwuwxv/y8DTePz7bfg0L8IH4/P4qP7zuBCHAZfFeLkz0NlE0j/zepfV6hSwNrCzmW0JLI95cfvRpBELgy1X06XYPYKsuoL3qrLKohHULT88DFJLdlCf/JqWXSPISd5X4R++J4BPho9r9BmD8FlcOzTMaHZMBn5So0xZv0pU7/WMBu6R9Ho4zhoZyBoVyNXT/mL4H48DG3AOrpjr071bOBcYZ2Z/woPtm+HzbbtB0hIzexF/UTfjo++n4MK8FPe0FgIz6PqijQAWSIrHHO8CzjCzXSU9Hr70w/D4URTj8dH+s4GtgJfwqV/gXgG4wm6EC+9QSYvD+eX46PCN+NSel4BpdG+oSJprZg/hXejodK1m3+UdCXU6K/AwDrgCH1DFzNbD32nF1KU2xSlk15VMsmgEDcpvGimyk3R7ik5WyK8DZbcGZjYON9hPAu+VtDReJgzMntfozBgzOwqfS/8e3IN9Bm+3E2JjREh6GQ95ZUFSr2cUcE3kuGZkAHf4skYFGJDXisgCjcHMDsW9xiFxJepFHr4EjJJ0SJN0xtALnnY7odXyy0t2DT57DA3KO8SEF+KO4+5qYuV0Av21cK/5GHyA92485HkY/hGfKum4JugvwsM4FxN6PWa2GT5ovVU0VGVmtwF74Ma3WmTg7bhBXz/qZJrZhcCRknaKPrsn52kXyABJd+Be2lYtZOMN4MstfH7Hog3k16myOxVYDw8J5GqwAy7BDfaFwC6SvhAWugzF4+afMbOkBU5ZcFag/zd8LQfAh/GByfjYwhF4r2kcPk7xMN5bn4VHBtKiAjua2a7Rkz05T7tARkiq6Ob38vN/2MrndzpaKb8Olt3o8H9qWqFGYGZ74SGqWyWNj16T9IaZXYMvnNqLyjGvTJA0DQ91RTGKyIKaSNkV+IK8iQnkxoe/+H334LOhuqGb0Q4u/zYZeC5jmqRiz4N+iBq6cm9kCl4Z10ga05M8Feg55CnvsHhtJzxM8Ic6+dgfOA33TrcEjpc0JVbsy7ixW25m51QhMzT8zzvS8ACVC7ByR9zTXkCNxQIxZFkNVqBvYjI+CBtFia6BmEWxa3N6mJ8CPYvJ5CfvzcL/JQ3Mvd4AH9ybSrKXXo7v15ob/Uydz06FpCRPOlfkMhAZlkwX6GOQVNE1S0MjA1OF7rQX6pF5owORZrY5Povnv8DgRgdwzWwZcHLU0w6zaf4N3CfpgEbotjtyiWnX27gLFCij0J3+B0l/N7Nn8HDLgVTfLgIAMxuoyt0V01DWp00b57C90XEDkWb2DuBafC+IlcC3JN3YCjr10siL9wKVaIU886LTT/ViEh5y+YGZjYqvGg1z1Q8Fjgc+lpWofLO0x4BhZnakpFviZcxsJDCrVVNsm0UnTvlbie++NwSPXU0233mvFXTqpZEX7wUq0Qp55kWnP+rF9/DVkDsBc80385pkZhPN7Hp85eFtVO4DkwWn4+/0ZjO7y8wuCrRvMLMFwHWdarChAz3tsOpwcfj9YlhKvjHweuqNPUAnCw3zbT3H45vgXCXpc83yXqASvSXPvOj0d70Ie3Z81sxuxheZ7Am8H1/uvRifwzwD+FUDtH9tZvvgc6FH4iGY1wLdu4EbcqhCy9Ayo22eR+984FJJJzdIYwSwlqTnqlwrUSN/ZBody5hFogaNnfE9LqI5/mry3gwyTonqEYTnNPWsdtGLJBqFXnQhD3lLug33qHNFkOVH86bbDmiJ0Taz9+KpnOL7FtdDY2N8ys9JVa6NwXfMmorvtPYcsG145lh8RVItOuUsElfje2ufiGeReERdG+7XorEmx19W3lPqOwVYpEhKtgRkmRLVlmgXvaghn0IvWogwx7u8edRAYOvwIX5F0rOJN/Yh9LrRNs9+PQ3fO1dVrmfJn7cuvvLoQkkPxu7PlD8ylK1Kx+rIIpFCoyLHn6Qj0njPA1HPJTTojkC76EUNGoVetB57APdGji38XUPCNrl9Da3wtH8I3CTpXjOraJz4Ov2/4PnzZuNTeObjq5yuD6PKU4DfSLq2yv2Z8kfWoJMpi0QNGiOB+3Gv5kp8dVYt3vszWq4XGWgUetFihPng/XqaaK8a7TD4sgOQtvS9Vu7DkXjX9jEzGx3uOVa+TWY9+SP3TaJD9iwSaTSq5fhL5D0Dv30WbaQXafKEQi8KtAF6zWib2bvwAaaRktKm8aTmz5M0k+SpipnzR2agUzOLRA0aFTn+apTvBjM7E4+dlrEusNrMToucO0zS/VnotSvaSS8yyKfQiwItR2962nvjo/WPW9fmMmvh2YzH4nvJriBb/rwk1JM/Mg2Zs0ikoERzeScvp/vUpAl45pXojnLPN0i7nVDoRX3oL3pRIAG9abSnU+npXI3nYDyfrjx/WfLnJSFT/sg0AlZfbsk0lGhik6QQe38lwtdSfIR8fvJdHYnpFHqRGf1ILwokoNeMdvAsXo2eM7PXcYWbF46z5D5Me8bDli1/ZBrqyS2ZhhKVOf56HJ02JarQi95Bp+lFgWS02zL2tNyHh2WkUStLRC3UlUWiGqwrx9+cjDzniT3w2RWz8YEyC7/PbQEveaHQi+bRF/WiX6LIEVmgQIECHYR287QLFChQoEAKCqNdoECBAh2E/wMliWNters5qAAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle - \\frac{2 \\pi A C R f \\cos{\\left(2 \\pi f t \\right)}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1} + \\frac{A \\sin{\\left(2 \\pi f t \\right)}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1} + C_{1} e^{- \\frac{t}{C R}}$"
],
"text/plain": [
" -t \n",
" ───\n",
" 2⋅π⋅A⋅C⋅R⋅f⋅cos(2⋅π⋅f⋅t) A⋅sin(2⋅π⋅f⋅t) C⋅R\n",
"- ──────────────────────── + ───────────────── + C₁⋅ℯ \n",
" 2 2 2 2 2 2 2 2 \n",
" 4⋅π ⋅C ⋅R ⋅f + 1 4⋅π ⋅C ⋅R ⋅f + 1 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eqn1 = dsoln.rhs; eqn1"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "c7a07a11",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle - \\frac{2 \\pi A C R f \\cos{\\left(2 \\pi f t \\right)}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1} + \\frac{A \\sin{\\left(2 \\pi f t \\right)}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
" 2⋅π⋅A⋅C⋅R⋅f⋅cos(2⋅π⋅f⋅t) A⋅sin(2⋅π⋅f⋅t) \n",
"- ──────────────────────── + ─────────────────\n",
" 2 2 2 2 2 2 2 2 \n",
" 4⋅π ⋅C ⋅R ⋅f + 1 4⋅π ⋅C ⋅R ⋅f + 1"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nonTransient = sum(eqn1.args[1:])\n",
"nonTransient"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "9d2e8ec0",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{2 \\pi A C R f \\left(2 \\pi C R f \\sin{\\left(2 \\pi f t \\right)} + \\cos{\\left(2 \\pi f t \\right)}\\right)}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
"2⋅π⋅A⋅C⋅R⋅f⋅(2⋅π⋅C⋅R⋅f⋅sin(2⋅π⋅f⋅t) + cos(2⋅π⋅f⋅t))\n",
"───────────────────────────────────────────────────\n",
" 2 2 2 2 \n",
" 4⋅π ⋅C ⋅R ⋅f + 1 "
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Find the voltage at the output\n",
"vout = simplify(A * sin(2*pi*f*t) - nonTransient)\n",
"vout"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "1833b696",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGQAAAAUCAYAAAB7wJiVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAD4klEQVR4nO2ZW2hcVRSGvykDQk21itS+iFCKURQ9hlKxFIzFy4NCgxQvUDGgYuuD1yJUav/+D6K0WBPxhrXYKD7YBy/UR6VRQrWImqAVL1VqKaiolEq8RKzxYe+ZnpzMmUxmJpOp5IfDOmedvda/k3XWXmvvKYyPjzOH9kGxlWS2NwI3AJ3AGPAhsFHS5yczVzMxr8V83cCzwApgFfAP8I7tM09yrqahMJtLlu0O4BjQI2nP/4WrEVRdsmyvBV6Jj3dKerHJ/AsIWXq0yX5nm2sCbK8BrgAS4JI4l1clrc2OzQ2I7XOAp4FRoGNGZgr9wDDwwQz5ny2uLDYRAjEKHAHOzxtYMSC2C8BLwK/A68CGZs/Q9nZgJbBS0vFm+282l+1ewv/kSkmD0zS/nxCIg4RM2Zs3MC9D7iEUwu4oK03wOuDtGifUJenTlO2TwM2EP+67PCPbdwHPA9slPVhl3LfAEmCxpJ8y72rimklIKgfAdtWxk7os2xcAjwP9kt6vYnsMeC7eHwCcul6L+iFAwEjKfz9wC7BK0pd5zm2fDWwFfow+quHjKFdkfNTE1U6YkCG2i4Qifhh4uJqhpCHbZwHrgTclbUn5eQi4CdglaWdK/wxwK9ADHLW9OL4alTSaodgMnAZsqvAui0NRltfmaXK1DbIZshm4FOiV9GcN9kmUwxl9V47+bkKH8S7wQ+qaUKNioG8HfgN2MjV+j/KM6XK1G8oZYvsyQlY8IanWTiSJciSj7yJsxCbsiiUVavR7I3AKsFvSH6k5LgceAJ6StC81fn6UY3VwTYLtQ8C5Oa/3VqgDA5J66+VLoxgnUAReBr4GHpmGfUJo5Q6WFLYXAEuBA5LGcuymQneU72X01xOWwm0Z/dIov6mTL4s+YGFGlwCrgQFOLJElDDeJt5whHcB58f6vnE5gh+0dhGJ/n+2FhK9on6T0dj8BCg1OsjPKbCG+NsrDJYXteYSWFiYHsC5I6svqYtu7mlAXB5vBUwmlgIyRv1Z3EerKEPAVJzZWSZSVlitoLCCnR1kuvrH7Wx4f05l3FbAI2C/p+wY42wJFgFjA76g0wPYWQkAGMkcnSZTDGZOLovysgXn9TMi+i4GRuFHdCnxCCHgn8JHt+VEP8FgDfG2DRo7fkyizGVI6Tb3Q9heSjtTh+w1gGdBnOyF8EMuAq4FBYMD2HsIS0gm8IOmtOnhaAts9hPYboNR+X257V7z/RdIGaOz4PQH+ZXIm7CYcuTxK2CHXg22EwnocWEf4cK6RtD8+nwrcC/xNaG/X1cnTKiTAbfEq1cElKd2a0sBZPX6fw2S0+geqOUyB/wAKx1TYRnUjbQAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle 4 \\pi^{2} \\omega^{2} + 1$"
],
"text/plain": [
" 2 2 \n",
"4⋅π ⋅ω + 1"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c3_2 = ((2*pi*C*R*f)**2 + 1).subs(C*R*f, w)\n",
"c3_2"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "e441c722",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\operatorname{acos}{\\left(\\frac{1}{4 \\pi^{2} \\omega^{2} + 1} \\right)}$"
],
"text/plain": [
" ⎛ 1 ⎞\n",
"acos⎜───────────⎟\n",
" ⎜ 2 2 ⎟\n",
" ⎝4⋅π ⋅ω + 1⎠"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Now compute the phase shift at the output\n",
"alpha = acos(1/c3_2)\n",
"alpha"
]
},
{
"cell_type": "markdown",
"id": "68fba51d",
"metadata": {},
"source": [
"### Find magnitude and phase of voltage across $ V_c $ ###\n",
"\n",
"We do this initially by comparing the coefficients of the sin and cos terms but later on we have at doing this\n",
"using complex analysis."
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "54b227ef",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\left( \\frac{A \\sin{\\left(2 \\pi f t \\right)}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}, \\ - \\frac{2 \\pi A C R f \\cos{\\left(2 \\pi f t \\right)}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}\\right)$"
],
"text/plain": [
"⎛ A⋅sin(2⋅π⋅f⋅t) -2⋅π⋅A⋅C⋅R⋅f⋅cos(2⋅π⋅f⋅t) ⎞\n",
"⎜─────────────────, ──────────────────────────⎟\n",
"⎜ 2 2 2 2 2 2 2 2 ⎟\n",
"⎝4⋅π ⋅C ⋅R ⋅f + 1 4⋅π ⋅C ⋅R ⋅f + 1 ⎠"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nonTransient.args"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "5b88db11",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGUAAAAfCAYAAAD+xQNoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEx0lEQVR4nO2aW4hVVRzGf+Ml8UIX6YJBoqlkKnqc8SFJFHoQjAgVIoKkq+JDVJgWSvD5FURalhVRluSg9VAG+qSBXSA1i5HGyyhhJqZYPg2iZmHm9LDWGfYcz5mzz5ldZ47MB4e991r/9a1vnf9a67/2Wruho6ODPvQuDKi1gCxg+06gFfhJUq7GcnqMfrUWkBHeBt4AJti+ptZieoq6d4rt+YR2rAYGAhNqq6jnqGun2B4MvA4slXQG+A2YWlNRGaCunQK8AOyS1BqfDwG52snJBnUb6G2PAp4GpiSS24BpNRGUIRrqdUlsewswF/gnkdwAnANukFSfDaNOR4rt2cAsoAm4mMgaD2wGRgPHaiAtE9SdU2wPBN4C1kj6sSDvRLydSh07pR4D/TPATYR3ky6QdBY4TZ0H+7qNKVcz6nGkXPXoc0ovxAAA231zWC+BpIa+mNILkdmS2PZtwCbgZuAS8LKkzbXgqYYjK/1ZIMuYcgl4VtIEYDaw1vbQGvFUw5GV/h7jP5u+bO8H7pN0stY8pThsLwSWAyOBjyQtyrLealF0+rK9HHgFeFfSU5WS2m4C+hdrkO0csIywTXIj8DuwF1gtqaUcj+2vgHvi4yXgeCz7YSVabI8H3gMeAL4n7JmV1V8tbM8ElhK2hm4FHpPUXMz2CqfYvgtYBByosvLhwEZgYZG8R4H1Mf9B4CQwKta3GGhJwdMIrAA2AIOAJ4F1tvcmtvDLagHuB9okbamgTLH2NgPHJa0sYzqMsIu9Mf5KootTbF8HfAI8Dqgg7xClT/UsaaXtQcBW4FVJ3xWUn05wyDJJbyayTgDfxj8jb1uUx/YY4HrgC0mnY9o64EVgIuGcvluOmHcEGBfvO4CtkuZ1V6ankLQN2BbrbO7OtjDQfwB8LumbIrbz4vVeYARhCF4AngBW2W4AmoGvJW0qUn4N8EOBQ5Ki26Pg7niagLPA/mg7gnDyeBno3JxMoWUGcITgzBHAIynK/G/oHCkx6I0FHi5hewvQAeyUdN72WGAI4eTvT9szCFPSAdtzY5kFkg7aHgdMBx5KoenuUjwEpwwDztruBwwmbN0/J+lwSg4Ijr0d2J0YcSX1p9CcKfJv9HcQAvsMSX+XsJ0CHJN0Pj7nCCPlKICkXZReYjfG695yglLwrAdeA66Nmo9KWlsBB8AkQtv3VVAGANsrCDEtj0FAh+2libQ5knaW4yqF/EiZTlgJHbKdz+sPzLS9GBgKTKZr8M8RAuXlFPUMidfz3VqVRyPwsaSjAFHbMdvrKuzROeDX+LFFpXgf+CzxvAo4RdejhFNV8HYi75StXNmLNwA/E3rjRYJTtifyc8S5PQXa4nUW8Glhpu0hki50R2B7NDAc6PzzJR233QosAJ5PqQWC9n0V2Hcixr72hK5zQHu+o2SBAbGiM8CZZIbtP2JlbXH+nkToFXmMAfakqURSi+3twDvxs6DdhPjUSFh6GthVhqaJENAPF6TvAOZTuVO+rMC+x7A9jBCzIUyTI+M7W7ukE0nbtNssYwhTWHL6OggssT0nJcc8wkppCaGXthA+EdpDilhDcMovkv4qSN8BjLM9MY2IuMqaTJUjpQeYRliytxIWKI73LxUa9u0S90L0HXL1QvwLICIIUfzSmRIAAAAASUVORK5CYII=",
"text/latex": [
"$\\displaystyle \\frac{A}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
" A \n",
"─────────────────\n",
" 2 2 2 2 \n",
"4⋅π ⋅C ⋅R ⋅f + 1"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get sine coefficient\n",
"sincf = reduce(multiplyIt, (filter(lambda x:type(x) not in [sin],nonTransient.args[0].args)))\n",
"sincf"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "620dff99",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle - \\frac{2 \\pi A C R f}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
" -2⋅π⋅A⋅C⋅R⋅f \n",
"─────────────────\n",
" 2 2 2 2 \n",
"4⋅π ⋅C ⋅R ⋅f + 1"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get cosine coefficient\n",
"coscf = reduce(multiplyIt, (filter(lambda x:type(x) not in [cos],nonTransient.args[1].args)))\n",
"coscf"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "dca40fff",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{A}{\\sqrt{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}}$"
],
"text/plain": [
" A \n",
"──────────────────────\n",
" ___________________\n",
" ╱ 2 2 2 2 \n",
"╲╱ 4⋅π ⋅C ⋅R ⋅f + 1 "
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c3 = sqrt(cancel(sincf**2 + coscf**2))\n",
"c3"
]
},
{
"cell_type": "markdown",
"id": "ad029c95",
"metadata": {},
"source": [
"We might like to find out the amplitude and phase of the above formula given that it has both a sin and cosine term in it. The result will be a superposition which will have a different amplitude and phase of any of them separately. \n",
"\n",
"If we remember that for $ C_1 \\sin( \\theta ) + C_2 \\cos (\\theta) = C_3 * \\cos ( \\theta + \\alpha ) $. The constants $ C_1, C_2 \\mathrm{and} C_3 $ have nothing to do with the constant of integration $ C_1 $ mentioned above. It is simply because I am running out of meaningful variable names.\n",
"\n",
"Then:\n",
"\n",
"$$ C_3^2 = C_1^2 + C_2^2 $$\n",
"\n",
"and\n",
"\n",
"we can try to reduce this formula:\n",
"\n",
"$$ C_1 \\sin( \\theta ) + C_2 \\cos (\\theta) = C_3 * \\cos ( \\theta + \\alpha ) $$\n",
"$$ \\Rightarrow C_1 \\sin( \\theta ) + C_2 \\cos (\\theta) = C_3 * \\cos ( \\theta ) \\cos (\\alpha ) - C_3 * \\sin ( \\theta ) \\sin (\\alpha ) $$\n",
"$$ \\Rightarrow C_1 = C_3 * \\sin (\\alpha ) \\textrm{ and } C_2 = C_3 * \\cos (\\alpha ) $$\n",
"$$ \\Rightarrow \\tan( \\alpha ) = C_1 / C_2 $$\n",
"$$ \\Rightarrow \\tan^2( \\alpha ) = C_1^2 / C_2^2 $$\n",
"$$ \\Rightarrow \\tan^2( \\alpha ) + 1 = C_1^2 / C_2^2 + C_2^2/C_2^2 =\\frac{C_1^2 + C_2^2}{C_2^2} $$\n",
"$$ \\Rightarrow \\cos^2( \\alpha ) = \\frac{C_2^2}{C_1^2 + C_2^2} $$\n",
"$$ \\Rightarrow \\alpha = \\cos^{-1} \\left( \\sqrt {\\frac{ C_2^2 } { C_1^2 + C_2^2 }} \\right) $$"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "ebe53008",
"metadata": {},
"outputs": [],
"source": [
"from sympy import Mul, sympify, re, im\n",
"import math "
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "8475e93c",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAAjCAYAAACZzQ12AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAOXElEQVR4nO2df7RdRXXHP0lASsIPAauCNAgBxRjDNY+F8juFtfjhT0K1KjarEUER0doY0aD4dWuLgkWCLEQEJYBKK7KkUIFUUhSDWKDkQcIPaYgpGIzLGCBgFImkf+y5efPOuz/Ovffce897b75rvfXuOWdmn5nZs2f23jNn9oQtW7aQkJCQkDB+sU2/C1AmmNmpwEJgKvAtSR/owTt3AR4GDpH0aBfoN62TmV0L/FzS+UW/P6EYmNk+wAxJN0T3rgHOlrTKzOYBHwEmAROB8yVdaWbzgY8D64HtgTMk/WfPK1AimNli4CWS3tJm/r7KbDfktbCJwMwWAicCrwaeA34OLJS0sgOarwGWAw9LqtR4XgE+ARwJvAT4NXAPcJ6ku0OapcBRIctmYE14flmG1v7AJcA7Q9mfabfcLeIs4Ka4QxXVlrXqZGZfBmZKOjZK+nngJ2Z2uaSnO6pNQrdwPLAjcAOAmU0EpoVJ4IPAe4FjJa03s92At4Z8M4AFkq4xs78FvgCMiYmg2fjQAP8ATOjg1cNktsixL6fMFi6vE4sgEjAb+BpwCD7wbgZuNbNdO6D5VeArwHQze1H8IGhA9+AN/y7gVcDfh+vToqSzcMbtDuwL/CtwqZm9PvOutwErJf1A0q8lPdtBuXPBzCYDpwDfzDyaTTFtWatOBwF3xYkkrQBWA3/XciUSasLMTjWz1Wa22cy+0SGtI/EB/P1mttzMpgADwL1BO/0n4N2S1gNI+p2kxSH7DOB/w+/VwJ86KUvJUHd8aARJT0t6qp0X1pHZ2RQ39jWV2W7Ia2EWQUbDxMzmAk8DhwI3hnsPANPrkDBJn4vyn4hPVOfhZtJ0YDA8Oxi4HPiEpAsiGo8Bt1cZYGbTgBcDt0haF+5dCnwGeC2uTWBmjwD7hd9bgOvxGX4+PqlMBX4LXC1poZltB5wLvAfYOZRrgaRlUfmPCGWfAfwZ+AVwckZLeBOwBbij6LYETqpRpzcD2wJHmNlngIckVWncEOpzcR2aPUPR1mUezbHM1qWkn5jZ/cA8SWvCO47BNfs5wG2SnqhRpwnAa4BHzGwScDI+oYx6NBofwvO68pd1DZnZj4EHgaeADwAvAFcBZ0p6IfPqETJb1NhXZxyqJ7OFymuRFkEWOwb6T0b35oT/b8I19D2ATcD78YEVADPbHvgXfHB9CngCiDX484H/zkwCWyFpQ/g5AGwE7gt0dw90XwDujbIcBjyCTxC745bFOcDZwBfxSeOdwOMh/Xm4FXJyKNcK4JZAHzPbBvh3YBlwAPAGYBHeIWMcDvyPpGYr9u20Za06HRzyvCHcOzSidxdwUGj7fmM2xVqXDTXHMliXZjZoZitr/O0RkkytTgIBRwNL8YFusA7ZvYHtgNvxNYIpY2F9oNn40IL8xXgv3s8OAc4APob3hSzyyGy7Y18rMluovHZzsfhCvIPeGd17GT6b/lTSs2a2LzAZWCbpD1G6T4Z7y8P1A0AFwMz2wxvnPTnKMADsAGwMPtXtcdP445IejNJtBPYB7pC0zsx2AP4R+Jikb4U0q4A7g1n+IeAUST8MZToNH7A+jDNxJ9wSuTHy/T9co3x74Z24GVpuy6BRbK1TKOfuuHZ6d42O/ASueewBFL4A1gqKtC5zaI5dty4lzTGzV+BKxZvxBd2lwOmSfhPqXKnXHma2J1E/MbMdgYmSnjaz31NfoZsBLJH0VjP7K+BBMztL0tp67xolqDs+BOSVvxgPSvps+P1IWLA9Grgmky6PzLY79g0bh6ChzBYqr12xCMzsK/js9jeS4ln4AGB1pCFV8FlxVZT3lcBHgU9H+VYyNOPPCv/vyVGUWbiQV0J5lgCXSVqUSTcDnxQHw/V0XJNaWoPmNJwBsWn4Z5zp08P1BmAxsMTMfmhm881sag1a2wN/bFSBDtoyWyfwNryvjjZT7YxlsAiyaEvDymFZQg+sSzPbO6RZG57Pxt1PX89XffbCXVVVHAXcFn7fDJwUFogxs53MrOo73motSHoc+A/guJzvLCVyjA+tyF+M+zPXTwAvrZGuocx2MvbRmswWKq+FTwRmdgGurR8laXXm8UyGN3gFN6FjP9wFwC7AL8NC22Z8lX9m8HlODunyLObOAn4maZWke3Ez/3Qze10mXQX4v3YXkCJsZZak9+Hm3O24q+AXZnZsJv16vK410WFbVhhZpwpBc62Bqtvlt/XK00c007DWAVMYqWE11Bwj6/KiHGWIrctN+EAxhybWpaSN+ID/TUkLJT0kaRD31R+dr/qsBPYxsxVmNh04lrDzR9LPcLfXbWa2AneHbBvyZd1GNwLH5HxnWdFsfAByy1+M5zPXW6g9PtaV2QLGvgr5ZbZQeS3UNWRmF+J+tb+WVMsUm4lrMFVUCBpWyH8Mvlg3wPDdDfsD1+I+z+qC4ZHAv9Uow2RJm4IWtivuvwdA0hozWw7MBc7MlGMwun4I9w8fzdCOiyoeDWU7NPwmLMQdDHw3TijpvlC/c83sZtzntyRKshyYl61DoNlRW9aoE7hWcjO1MQNYW3VVlAWRhnVYKxpWpDkeEOVZCRwYXbdjXX4Zdz2cA6xqZl2a2V744Hu4mX00SjcplLcp5FsEB6rXZnYQ/s1A9fnloWzZfCdlrr9Lpo+OJuQcH7YOwDnkrx3UlNkC5LV6bzBzr57MFiqvRX5HcDE+wJ4APGlmLw+Png0+sYl44c+Nsk0jaHlmti2u+Z0ftPeY9mPh5+slXReYelEw/e/AZ+9ZwKn4jplleGd5Ad8NEONH+I6U7ERwa/VC0jOBsV80s+dwrWI3YEDSJWZ2Cd651gO/xNcTXoYvcBImoQ/iK/trcQ1xJr6TJMaSQGc3Sb8rqi1r1SlgG2D/sAC5KaN5HE6HQhIWXa/AheHHndAK9C4A3h3otaphxZpjNc0EfF/2hGBqt2pdfltSdaI5DVhtZpfKt/PF5Yi1ugNwK2GAkWhrK6ekA5un6j6K5neTd+UaH3Ce5JW/djBCZguSV2hNZjuW1xhFuoZOx325S3F/ZvVvQXg+DTffY+FdAcw3s+Nx8+4v8R0ewxDM63UMmfVzcP/sfHwGvRt3A9zJkHY3ADwqKevP+xGwn5m9FrZusZvJyJl4Ic64s3EL4Tpgz/Dsk7g1ckXINxM4TlLVj7sJ33lyLe4vvhL4DsM7QnU/8F34YBejo7ZsUKdPh3f9Cl+4JLTBX+BtehklQZiIq2Z2PQ0rawFV/fex5liJ/t6Fb/fdO+SJrctaZZgc/te0LnHtcG4mW4Xh7f48zqt1wUUZ/z1GQl60Mj7kkr92UEdmOx37Go1DI2S2G/I6IZ011F+Y2XG4pjM94/roZRk+DLxdUkf+46I0xIyGFVt0sYa1EZgr6Qchz0PAt/HdQffj2vs/Z+juhO8+eoek68K9m3B30ZnUsC4lLTOzd+AT/5RYsTCzLwEnSnpVdG8ZcGu0a2kXfDBahn8RWl1DOAH4iEbuUx816KVFUCb0W2aLktcY3fyOICEHJN2CfxSyZ7O0XcTzRD7nEqBtDQv4FPk1R+iydSnpSfx4iJ3xnT6D4X2/Gs2TwHhGCWS2cHlNFkFCYRivGuJ4ReL32MGwicDM1uB7lvPiO5LS+TTjEG30lSslzetOaRK6jcTvsY3srqFHafKBUwZ5vopNGJtYhH+9GaMCvB1fnFuTeTbY5fIkdBeLSPwes0iuoYTCkFwF4wuJ32MHhXxHYH6mSsIYg6ROzmzPhdR3yoXE8/EHSRMKmQh60XmqCIdnXY2fA7IZ+IKka/tBp1UaRZV9LKGovtMPfhZFZ7z1i8Tz8vF8NG4f3YyfCjod/3R/kfmJoP2g0yqNosqeMBL94GdRdFK/aA+J5wVh1K8RmNl9wFvkpyv2lU4tGtYg/mhRZS8LyuQz7hY/i6IzFvpFmfgNieedoG/B682jUJ0DXCzpjDZpDACTajWe5Yg41YiO5YxG1YRG3UhVjcreCcwjMy3AP4LaA3ifhsIWdhXhPR29qyz9oh6N1C+GUAS/Q9kSz/vM875MBGb2RjwkXPYM8FZo7IqHkzu1xrN5+GmMV+HnyzwOvDK88zT869FmdKrRqK7AYxOcgkejukdDxxo3o7E1UlXesjeo72JgjaJwnnWwA36GzlXhb9SgLP2iCX9SvygQiefl4HnPJwIz2xk/AOpkQDWe54ntuR0ez/NL8vPY4/y5Ik6FtDXpWM5oVE1o1ItUVbfsRUDSTcBN4b2Li6bfLZSlXzShkfpFgUg8Lw/P+7FY/A3g+5Juq/O8YeQp8/NcFgP/JenqGvlzRZxqQidXNKomNGpFqmpW9vGMvveLHDRSvygWiecl4XlPLYKwWLIv0OhYimaxeA/DTbz7zeyEkGeupBXWWjzjQ+vRIX+s40Y0asUfrVv2HOUdsyhRv2jET0j9ojAknpeL5z2bCMzs1fiC0GGSsmHhYjSMPCVpGfUtmdwRp3LQaRqNqgmNEfFHm6QfBjM7C/dLVrEdsMXMFkT3jpf00zz0yooy9Ysc/En9ogAknpeP5720CA7GV+wfsKGIUZOAI8yjPU2R9Bz5YnvWQysRpxohbzSqRqjQWRzkrwPfi67PxaMtxccrr22TdpmQ+kVrGAv9IvG8NXSd572cCK5n5Ox8BR4T+ByGwvblie1ZD7niGTciYK3FOm6ECh0cvBXWMjZE5XoG2FDtkGMI15P6RW6MkX5xPYnnudELnvdsIgiz4VPxPTP7PV6hleE6b2zPeu+42/LFM26EVmIdN0KFkfFHuw4z2wH3vYKbnlPN91FvUAlDI6Z+0RuUqV8knvcGrfC8bEdMNI3tmQN5Ik41Qq5oVI1g9eOP9gIH4lvaluMLWxZ+f74PZSkKqV90jtHWLxLPO0duno/6IyYSEhISEjpD2SyChISEhIQeI00ECQkJCeMc/w9kDaNs/4/w+AAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle - \\frac{2 \\pi A C R f \\cos{\\left(2 \\pi f t \\right)}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1} + \\frac{2 \\pi A C R f e^{- \\frac{t}{C R}}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1} + \\frac{A \\sin{\\left(2 \\pi f t \\right)}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
" -t \n",
" ─── \n",
" C⋅R \n",
" 2⋅π⋅A⋅C⋅R⋅f⋅cos(2⋅π⋅f⋅t) 2⋅π⋅A⋅C⋅R⋅f⋅ℯ A⋅sin(2⋅π⋅f⋅t) \n",
"- ──────────────────────── + ───────────────── + ─────────────────\n",
" 2 2 2 2 2 2 2 2 2 2 2 2 \n",
" 4⋅π ⋅C ⋅R ⋅f + 1 4⋅π ⋅C ⋅R ⋅f + 1 4⋅π ⋅C ⋅R ⋅f + 1"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simpeq2 = dsoln.args[1].subs(c1, c1eq.args[0])\n",
"simpeq2"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "ee48e2dd",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"sin"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(simpeq2.args[0].args[-1])"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "03cfa076",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGUAAAAfCAYAAAD+xQNoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEx0lEQVR4nO2aW4hVVRzGf+Ml8UIX6YJBoqlkKnqc8SFJFHoQjAgVIoKkq+JDVJgWSvD5FURalhVRluSg9VAG+qSBXSA1i5HGyyhhJqZYPg2iZmHm9LDWGfYcz5mzz5ldZ47MB4e991r/9a1vnf9a67/2Wruho6ODPvQuDKi1gCxg+06gFfhJUq7GcnqMfrUWkBHeBt4AJti+ptZieoq6d4rt+YR2rAYGAhNqq6jnqGun2B4MvA4slXQG+A2YWlNRGaCunQK8AOyS1BqfDwG52snJBnUb6G2PAp4GpiSS24BpNRGUIRrqdUlsewswF/gnkdwAnANukFSfDaNOR4rt2cAsoAm4mMgaD2wGRgPHaiAtE9SdU2wPBN4C1kj6sSDvRLydSh07pR4D/TPATYR3ky6QdBY4TZ0H+7qNKVcz6nGkXPXoc0ovxAAA231zWC+BpIa+mNILkdmS2PZtwCbgZuAS8LKkzbXgqYYjK/1ZIMuYcgl4VtIEYDaw1vbQGvFUw5GV/h7jP5u+bO8H7pN0stY8pThsLwSWAyOBjyQtyrLealF0+rK9HHgFeFfSU5WS2m4C+hdrkO0csIywTXIj8DuwF1gtqaUcj+2vgHvi4yXgeCz7YSVabI8H3gMeAL4n7JmV1V8tbM8ElhK2hm4FHpPUXMz2CqfYvgtYBByosvLhwEZgYZG8R4H1Mf9B4CQwKta3GGhJwdMIrAA2AIOAJ4F1tvcmtvDLagHuB9okbamgTLH2NgPHJa0sYzqMsIu9Mf5KootTbF8HfAI8Dqgg7xClT/UsaaXtQcBW4FVJ3xWUn05wyDJJbyayTgDfxj8jb1uUx/YY4HrgC0mnY9o64EVgIuGcvluOmHcEGBfvO4CtkuZ1V6ankLQN2BbrbO7OtjDQfwB8LumbIrbz4vVeYARhCF4AngBW2W4AmoGvJW0qUn4N8EOBQ5Ki26Pg7niagLPA/mg7gnDyeBno3JxMoWUGcITgzBHAIynK/G/oHCkx6I0FHi5hewvQAeyUdN72WGAI4eTvT9szCFPSAdtzY5kFkg7aHgdMBx5KoenuUjwEpwwDztruBwwmbN0/J+lwSg4Ijr0d2J0YcSX1p9CcKfJv9HcQAvsMSX+XsJ0CHJN0Pj7nCCPlKICkXZReYjfG695yglLwrAdeA66Nmo9KWlsBB8AkQtv3VVAGANsrCDEtj0FAh+2libQ5knaW4yqF/EiZTlgJHbKdz+sPzLS9GBgKTKZr8M8RAuXlFPUMidfz3VqVRyPwsaSjAFHbMdvrKuzROeDX+LFFpXgf+CzxvAo4RdejhFNV8HYi75StXNmLNwA/E3rjRYJTtifyc8S5PQXa4nUW8Glhpu0hki50R2B7NDAc6PzzJR233QosAJ5PqQWC9n0V2Hcixr72hK5zQHu+o2SBAbGiM8CZZIbtP2JlbXH+nkToFXmMAfakqURSi+3twDvxs6DdhPjUSFh6GthVhqaJENAPF6TvAOZTuVO+rMC+x7A9jBCzIUyTI+M7W7ukE0nbtNssYwhTWHL6OggssT0nJcc8wkppCaGXthA+EdpDilhDcMovkv4qSN8BjLM9MY2IuMqaTJUjpQeYRliytxIWKI73LxUa9u0S90L0HXL1QvwLICIIUfzSmRIAAAAASUVORK5CYII=",
"text/latex": [
"$\\displaystyle \\frac{A}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
" A \n",
"─────────────────\n",
" 2 2 2 2 \n",
"4⋅π ⋅C ⋅R ⋅f + 1"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simpeq2.coeff(simpeq2.args[0].args[-1])"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "2e9fd9f3",
"metadata": {},
"outputs": [],
"source": [
"u = symbols('u')"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "66f6c8ec",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{A \\sin{\\left(2 \\pi f t \\right)}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
" A⋅sin(2⋅π⋅f⋅t) \n",
"─────────────────\n",
" 2 2 2 2 \n",
"4⋅π ⋅C ⋅R ⋅f + 1"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simpeq2.args[0]"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "2baf1a6a",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGUAAAAfCAYAAAD+xQNoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAEx0lEQVR4nO2aW4hVVRzGf+Ml8UIX6YJBoqlkKnqc8SFJFHoQjAgVIoKkq+JDVJgWSvD5FURalhVRluSg9VAG+qSBXSA1i5HGyyhhJqZYPg2iZmHm9LDWGfYcz5mzz5ldZ47MB4e991r/9a1vnf9a67/2Wruho6ODPvQuDKi1gCxg+06gFfhJUq7GcnqMfrUWkBHeBt4AJti+ptZieoq6d4rt+YR2rAYGAhNqq6jnqGun2B4MvA4slXQG+A2YWlNRGaCunQK8AOyS1BqfDwG52snJBnUb6G2PAp4GpiSS24BpNRGUIRrqdUlsewswF/gnkdwAnANukFSfDaNOR4rt2cAsoAm4mMgaD2wGRgPHaiAtE9SdU2wPBN4C1kj6sSDvRLydSh07pR4D/TPATYR3ky6QdBY4TZ0H+7qNKVcz6nGkXPXoc0ovxAAA231zWC+BpIa+mNILkdmS2PZtwCbgZuAS8LKkzbXgqYYjK/1ZIMuYcgl4VtIEYDaw1vbQGvFUw5GV/h7jP5u+bO8H7pN0stY8pThsLwSWAyOBjyQtyrLealF0+rK9HHgFeFfSU5WS2m4C+hdrkO0csIywTXIj8DuwF1gtqaUcj+2vgHvi4yXgeCz7YSVabI8H3gMeAL4n7JmV1V8tbM8ElhK2hm4FHpPUXMz2CqfYvgtYBByosvLhwEZgYZG8R4H1Mf9B4CQwKta3GGhJwdMIrAA2AIOAJ4F1tvcmtvDLagHuB9okbamgTLH2NgPHJa0sYzqMsIu9Mf5KootTbF8HfAI8Dqgg7xClT/UsaaXtQcBW4FVJ3xWUn05wyDJJbyayTgDfxj8jb1uUx/YY4HrgC0mnY9o64EVgIuGcvluOmHcEGBfvO4CtkuZ1V6ankLQN2BbrbO7OtjDQfwB8LumbIrbz4vVeYARhCF4AngBW2W4AmoGvJW0qUn4N8EOBQ5Ki26Pg7niagLPA/mg7gnDyeBno3JxMoWUGcITgzBHAIynK/G/oHCkx6I0FHi5hewvQAeyUdN72WGAI4eTvT9szCFPSAdtzY5kFkg7aHgdMBx5KoenuUjwEpwwDztruBwwmbN0/J+lwSg4Ijr0d2J0YcSX1p9CcKfJv9HcQAvsMSX+XsJ0CHJN0Pj7nCCPlKICkXZReYjfG695yglLwrAdeA66Nmo9KWlsBB8AkQtv3VVAGANsrCDEtj0FAh+2libQ5knaW4yqF/EiZTlgJHbKdz+sPzLS9GBgKTKZr8M8RAuXlFPUMidfz3VqVRyPwsaSjAFHbMdvrKuzROeDX+LFFpXgf+CzxvAo4RdejhFNV8HYi75StXNmLNwA/E3rjRYJTtifyc8S5PQXa4nUW8Glhpu0hki50R2B7NDAc6PzzJR233QosAJ5PqQWC9n0V2Hcixr72hK5zQHu+o2SBAbGiM8CZZIbtP2JlbXH+nkToFXmMAfakqURSi+3twDvxs6DdhPjUSFh6GthVhqaJENAPF6TvAOZTuVO+rMC+x7A9jBCzIUyTI+M7W7ukE0nbtNssYwhTWHL6OggssT0nJcc8wkppCaGXthA+EdpDilhDcMovkv4qSN8BjLM9MY2IuMqaTJUjpQeYRliytxIWKI73LxUa9u0S90L0HXL1QvwLICIIUfzSmRIAAAAASUVORK5CYII=",
"text/latex": [
"$\\displaystyle \\frac{A}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
" A \n",
"─────────────────\n",
" 2 2 2 2 \n",
"4⋅π ⋅C ⋅R ⋅f + 1"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get sine coefficient\n",
"c1 = reduce(multiplyIt, (filter(lambda x:type(x) not in [sin],simpeq2.args[0].args)))\n",
"c1"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "99628c59",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle - \\frac{2 \\pi A C R f}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
" -2⋅π⋅A⋅C⋅R⋅f \n",
"─────────────────\n",
" 2 2 2 2 \n",
"4⋅π ⋅C ⋅R ⋅f + 1"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get cosine coefficient\n",
"c2 = reduce(multiplyIt, (list(filter(lambda x:type(x) not in [cos],simpeq2.args[1].args))))\n",
"c2"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "36345ddc",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{2 \\pi A C R f}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
" 2⋅π⋅A⋅C⋅R⋅f \n",
"─────────────────\n",
" 2 2 2 2 \n",
"4⋅π ⋅C ⋅R ⋅f + 1"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get third coefficient (of exponential term)\n",
"reduce(multiplyIt, filter(lambda x:type(x) not in [ exp],simpeq2.args[2].args))"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "07f2f49c",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGUAAAAhCAYAAADAtWW1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAFAUlEQVR4nO2aW4hVVRjHf+Ml8UIXqWyCRFPLVHSc8SFJFHoQjAgVQoKkq+JDVJgWSvD3XxBpWVZEWZKD1kMZ6JMGdoHULMYaL6OEmZhi+TSIt8LM6WGtM+w5zjlnn+NxzhydPxz2Xuv71rf++3xrrW/t9e2atrY2rhbYrgWGSNpt+zbgZ+AuSWcrTK0o1FxNTsmG7T3Ag5KOVZpLMehTaQKlwPY9QDPwq6S6HDoNQO9qcwhAr0oTKBHvAm8BY2xfly20PRhYB8zvamLlQNU5xfZsAu8VQF9gTJa8H7AJeF3SD11OsAyoKqfY7g+8CSySdBL4E5iYkNcAjcC3ktZXgmM5UG0x5SVgu6TmWN4P1CXk9wFzgL22Z8a6uZL2dRnDMqBqnGJ7GPAsMCFR3QJMyhQkbafKZn9nqJotse2NwEzgv0R1DXAauElSdTxIClTFTLE9HZgGNADnE6LRwAZgOHC4AtSuCLq9U2z3Bd4BVkr6JUt2NN5O5CpySjWsv88BtxDeTTpA0ingBB2DfdWjamLKtYRqmCnXHHqc0g3R45RuiD4AtnsCSzeBpJqyBXrbdwDrgVuBC8CrkjZUwk4pNsrFvxwo5/J1AXhe0hhgOrDK9sAK2SnFRrn4Xzau2Ja4XFm/ctjJZcP2PGAJMBT4RNL8Qm26Ap2+0dteArwGvC/pmWKN5sv62a4DFhOOTW4G/gJ2ASskNRWyY/sb4P5YvAAciW0/LoaL7dHAB8DDwI+EM7SC/EuF7anAIsJR0e3AE5IaO9O9xCm27yVk7PaW2Hkm6zevE9njwJoonwMcA4bF/hYATSns1ANLgbVAP+BpYLXtXYkj/YJcgIeAFkkbi2jT2fM2AkckLSugOohwqr0u/nKig1Ns3wB8BjwJKEu2n6wsX1IsaVm+rJ/tyQSHLJb0dkJ0FPg+/hkZ3U7t2B4B3Ah8JelErFsNvAyMJeTt89qIsoPAqHjfBmySNOtKZi0lbQY2xz4b8+lmB/qPgC8lfdeJ7qx4fQCoJUzBc8BTwPIUWb+VwE9ZDkmSbo2E89lpAE4Be6JuLSETeRFoP6xMwWUKcJDgzFrgse6UtWyfKTHojQQezaE7BGgDtkk6Y3skMICQCfzb9hRyZP1sjwImA4+k4JQve9hAWAZO2e4F9Ccc5b8g6UBKGxAceyewIzHjcvJPwbmsyLw83k0I7FMk/ZtDdwJwWNKZWK4jzJRDUDDrVx+vuwoRSmFnDfAGcH3kfEjSqiJsAIwjPPvuItoAYHspIaZl0A9os70oUTdD0rZCtnIhM1MmE3ZC+21nZL2BqbYXAAOB8XQM/nWEQHkxRT8D4vVMXq3CqAc+lXQIIHI7bHt1kSO6DvgjfnxRLD4EvkiUlwPH6ZhaOF6C3XZknLKJS0fxWuA3wmg8T3DKloS8jri2p0BLvE4DPs8W2h4g6Vw+A7aHA4OB9j9f0hHbzcBc4MWUXCBw312Efjti7GtN8DoNtGYGSjnQJ3Z0EjiZFNg+Gztriev3OMKoyGAEsDNNJ5KabG8B3oufCe0gxKd6wtbTwPYCZhoIAf1AVv1WYDbFO+XrIvQvG7YHEWI2hGVyaHxna5V0NKmb9phlBGEJSy5f+4CFtmektDGLsFNaSBilTYRPhnaSItYQnPK7pH+y6rcCo2yPTUMi7rLGU+JMuQxMImzZmwkbFMf7V7IVezKP3RA9+ZRuiB6ndEP8D4b5MjWJKv6PAAAAAElFTkSuQmCC",
"text/latex": [
"$\\displaystyle \\frac{A^{2}}{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}$"
],
"text/plain": [
" 2 \n",
" A \n",
"─────────────────\n",
" 2 2 2 2 \n",
"4⋅π ⋅C ⋅R ⋅f + 1"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Compute c3^2 using pythagoras theorem\n",
"c3_2 = simplify(c1**2 + c2**2)\n",
"c3_2"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "907ce05a",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{A}{\\sqrt{4 \\pi^{2} C^{2} R^{2} f^{2} + 1}}$"
],
"text/plain": [
" A \n",
"──────────────────────\n",
" ___________________\n",
" ╱ 2 2 2 2 \n",
"╲╱ 4⋅π ⋅C ⋅R ⋅f + 1 "
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# find c3 by taking square root\n",
"c3 = sqrt(c3_2) \n",
"c3\n"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "56dcb8dc",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAD0AAAAeCAYAAACfWhZxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAADPUlEQVR4nO3YTYhXVRQA8N9IGycLGoJUoiidij5sGtsYkuGuFuEEEUFiEUJIEJgWE8HptIjsyyQKoogWBe2KWrRQV6YVDjqlhcgoU0G20pqGzDCnxb1Dzz9jMvGfcWo88HjvnHvu+XjnnnPPvR1jY2NmG8w51wacC7jgXBswDpl5OzZgKRbioYh4dyp0zaRIz8N+PIbjU6moYybmdGaO4tHZEOlpg/NOzxY47/RsgRlTvTNzHhZXdBeex8c4GhHft1PXTIr0rdhbn7nI+v1suxXNmEhPJ5zWhmbmMK6cxPz3I+KBtlo0DdDaex/C75OY/2MbbZk2aMvyzsz/VI6cz+n/K2TmWvTjCrzTtkhnZj/uwbU4gS/QHxH7/6W8HmzEClyKIxjACxGxOzO3Y2VlP4nhOvZWi5zrlCPrvdWmX9u5T9+BN3BbNeYktmVm12QFZeaDioMncB+uwZqKP1LZevEUFihNzQd4MzNvaRF3N/ZHxIcRcSQiRqcsp2uH9QtWRcQnlfYNrj/TlIh4JjOXYQc2RsTmCeR24RIMoTci9lb65fgBqyPivUo7iO7G9I8iom8qO7KLlI7vWIPWV993KRFaiN/wMDbVsZfx5UQOQ0QcVa6URvAVZOYCvIRT2NNgX46DeLrqW8PUFrItGMTnDdplGMOOiBjNzMXoxGcRcTwzu7EM959F9lLlemkkM+cobesfeDwivm3wjeBq7IyIn8aJU+J0Zr6i/OXlEfFnY+hmHI6I0Yr3KJEeqnhvfQ+cRUUv3saLuBjPYSgiXm3hu1HxcbBJbPvyzszNSqRWRsThluEl+LqB9yhF5lTFO+t71D9DL3ZFxFBE7FGK27rMvKmFrwffRcTPTWJbnc7MLf52+MAELEvUPGwY1cTHt7cVZ5DfmZlXoQv7xukRMaycyFa3TOnREmXauLwz8/WqdBWOZeb8OjRa83eOstw2NaYt0sj5uv9+itcycy52KjWgF2uV4+Z8pWA1cxe2Kn3CEw1aD7a12trOSK9TKvZ2pZEYfzbU8UW40OnLex/WZ+adDVqfUonXK1HajSeVnzOgFLFDEdF6MNqK7sy8ATKzQ1lZg62GzsreeybdnEwb/AUglB8tbX6QZgAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle - \\frac{1}{2 \\pi C R f}$"
],
"text/plain": [
" -1 \n",
"─────────\n",
"2⋅π⋅C⋅R⋅f"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Compute the phase\n",
"c1/c2"
]
},
{
"cell_type": "markdown",
"id": "4b24e8dd",
"metadata": {},
"source": [
"The tan function can be equated to the fraction of $ \\frac{\\sin( \\theta )}{\\cos (\\theta )}$ "
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "05abad5c",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAIAAAAAeCAYAAADkUhb4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAGhklEQVR4nO2be4xdVRXGf4OvlI4YqkRbSFsp+GKslxmiQHwUqlE0KA9NQ2LTVoFIQ6KprVo1fv3EBDEqrQSLgRgeYkBFlKpYgdjIo9ZiKVCMwRaLxhb/YWgZW6p9+Mfap3N65py593bOMI69XzI596y199p7n732WmuvvafrwIEDdHDk4qix7kAHY4uXjnUHxgNsd0saqEnWu4HFQB8wBVgg6cY6ZFe0dzSwW1Kpqe9YgCawPQX4XI0iu4FNwKeB3TXKrcLRwJVVzK5ODFAN2y8H7gQ+IemfoyB/ALh8NC1AaudiYKKkFUVexwIMjy8Cd43G5L+YkHQD8BHbby7yxjQGsD0d+Ctwk6T5Y9mXImxPAxYC08e4K3XhBuA7wPvyxI4FqMYSYvXvGuuO1ISfAqfZPiNP7ChACVLkPI/4aP8XkPQC8CvCqh1ErS7A9nzgXOBUYDLwH+BxYKWkHxTKLgOUXufZnpdjL5B0YzvykszpJJcCLAO+DryXwch7maRftDCUc1OdDS2UHU/4I/BV2xMk7Yb6LcBKYBrwO2A5cFt6v8X2FYWya4AsKn0UcO5v42HIy2Ma8AfCf98C3A70AD+3fVYL45gNbJf0TAtl24LtbtsN2w3i+09N71PrbqsEG4CJwOkZoe4gsEfSljwhbaXuBr5g+zpJ/wCQtMb2VmI/vFHSspHIK2AWsdqdq/dD4NeEb/9tk3G8A3iiSZnDxWmF9jOlvwmYP0ptZsjGdHrWh1oVoDhZifZv29cCZxMr6+YXQd7TwNcK9Vbb/hvw9haaPgl4stV+tgNJa4Cu0ZDdAvrT86SMcIgCpBU5rQ2Bt0r6eK7+VODzxMRMBSYUyh/fhuyRyNsoaV8J/e/AGSX0fJuvIrJnO9vp63iApL22dxPxFDDUAmwBXmhD5rbsh+0TCb97LHA/8BtgB7CP8MXzgFe0KniE8p6roO+ledzTnZ47Wu3rOMMOBsd4qAJImj0CwYuAV1NyuGH7ImLCxlJeq8hy40PMtO1xlTeXVOZquhgcY60xQOZX7ijhvaeiTmamX1KTvDrwr/Q8psio+KDjDccwOMZaFWBres4CVmVE2+8HLq6o009oY9kW6HDkjRiSdtjeRYkC/K/D9iXAUuJ7fl/SpQX+y4g46uDOqU4F+C6wAPix7Z8Q8UEP8AHgR8CcYgVJA7bXAe+yfSsRee8D7joceTViMxF7DIHtpcAFwBuBPcDvgaWSNrXbSMoFLCEs2muA7cDDwDckrU9l7iN2PBAxzNbEv74g601E3uRjqU/PlzSZjekvGaG2RJCkx4CzgIeADwGXEavoAuC6YarOBX5JTKyAK4DeEcirA+uAUyp4swjlPJOYmL3AvbYntdNAynI+TCjRHOANRFyzB/hUrmgvcSo5mXCLtwHfs31qQeSHgU2S7pS0veICS096rs0InfsAJbA9h/jQx0va1qRsNxFZnydpVaI9AbylqgqwmtjZLJF0dYnMSZKetT2DsEa9kh5JvBOI7ezcLB1u+0ng5JyIn0k6v0TuYuArwHGS9kDnMKgKq4AB4tpWM7yS+I79OVr28T9IrNwpwC7gk8BVwLeAdWWTDyDp2fSzj8hHPApgezLwTWA/h55TvJNwn19O7VXtkPqAO7LJh44ClCIdAa8ELmyh+Ari7GJtjvZaIri9P50nTCSSSw8AJxDJqGtakN1H7Nl3psB0G6Fcn5X0p1y5ncCJwIOSnpE0JImVTjjPAa7N0zsKUI0rgdnJxJfC9reJ1XdhIfP4NuCpnB9uEBZgM+HTIfx/M/QSFzkaqZ3VwPWSlhfK9RAB/cZhZH0UeEjSIe12FKACkvqJE8j5ZXzbVwMXAWdLeqrAngk8lntvEAHafsISQLiYZuglJm2zpA1EcLjQ9lsL5RrA05Keq+hrF+F+PlPkdRRgeCwHzkw3gw/C9goGJ//PJfVmkvx2QiP3nm0XS5NZyVRj+/XAJOL+AwCStgKPEDunPBoMv/ovA26XNOSAq/N/AcNA0j7blwKXE5dLSCeRc4HzgH7br0vFB1Je4yjCJF+VEzWDFCNIWm/7buAa2xOAB4l4oRe4hNglPED4//1A3tcD3ENshfNX1RvAvWVjsH0csZv5Uhm/YwGaIPnx5TnSQiLyv49I3GR/ixN/BhH05V3A48Ai2+ek9/OJaH4RsXLXE6eeaxmMDfqALekqVx73ACfbPgUOmveZVFuA56smHzp5gCMeHQtwhOO/Sq9ljzi6UgMAAAAASUVORK5CYII=",
"text/latex": [
"$\\displaystyle - \\operatorname{atan}{\\left(\\frac{1}{2 \\pi C R f} \\right)}$"
],
"text/plain": [
" ⎛ 1 ⎞\n",
"-atan⎜─────────⎟\n",
" ⎝2⋅π⋅C⋅R⋅f⎠"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simplify(atan(c1/c2))"
]
},
{
"cell_type": "markdown",
"id": "61093af9",
"metadata": {},
"source": [
"I wish to compare this with the complex analysis of the circuit"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "3bfdd494",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{C R \\omega - i}{C \\omega}$"
],
"text/plain": [
"C⋅R⋅ω - ⅈ\n",
"─────────\n",
" C⋅ω "
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Z = R - I / (w*C)\n",
"zc = cancel(Z) # express as fraction\n",
"zc"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "f3db2138",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEcAAAAcCAYAAAAz+aIrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAADE0lEQVR4nO3YXYhVVRQH8J/Si/ZBSS9KEGIWIjXXGSh8CCvoJXwx+qAo6iWIIIjKQgsWC6LAipHEYMhXoZ588MFIogj7nEGbjIrSGAwqwixkGvqc6eGc0TN3PpwZTgdv3D9c9rlrr73X2v+z9jp7ryUTExM6BZm5G6siYksT9i5owkiNeBZ/NWVsSSdFTtPomMjJzCvwHdZFxFdN2FzahJGa0IMxfN2UwU4ip4WjETHelMFOIqcHnzZpsJPIaemSMx2ZeSHW6JIzI64r28+aNNop5PTgm4gYa9Jo9xA4B6YcAjNzBFcuYPzeiLivVo/OI7SfkI/j9wWM/75GX8471LKtMvN/uTe7OWcOdMrXqjFk5u7M3Md/cCvPzBa2YhMuxw8Ywo6IGCx13sYt5ZC/MVL2v1a3P4vAmZpRrZGTmQ8qiPgDd+NqPFD+f7ii2ovtWImr8DoGMnNDnf4sBhHxS0SMUmPkZOZG7MHWiOivdJ3Ae5m5otRbg0vxZkT8WMoGFG9sPY5U5uzHjbi+/TaemUM4FBGP1biGKTWjOrfVy/i4jZgziIhT5WMfTmO4dGglXsI4DlccvQaP4tZZyhRfou5Im1IzqoWczFyLjbhnHup9uAinM3MpluFPPBERX1T0nsRwRLwzyzyncMPivZ4RLZWaUV2R01u2Q/PU3YMXcQmex7GI2DmpUJJ2B3ZUZP34NiJ2laKL8Vv75Jn5HJ45hw83R8S7M8in1IzqSsjLy3Z0Hrq9+CAijkXEYUWifiQzr63orFbkpaMV2V2KkJ9ED6qRNomdWHeO3yez+NZSIaeuyPm8bDfhjfbOzFweEWOZuRorVBYdESOZeQT346lSfFnZjpbjb8Iqxfab3MYtvNBuKyJO4uRCFzBTzagWciJiMDMPYFdmLsP7mFBEyUNIHFLkm3HT3/hB3O4sOSdKvXsz81e8gv3YnJnDeFVR29lXh/8lptWM6jznbFF8dR5XsD+Ip/Ghs7moD8cjov1yexBrM3M9RMRP2IY78RYGFAl6Az7Cz7gtIv6p0f9pNaPu3WoO/AulNQt/mBxX9AAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle - \\frac{i}{C R \\omega - i}$"
],
"text/plain": [
" -ⅈ \n",
"─────────\n",
"C⋅R⋅ω - ⅈ"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Now we try and work out Vout as R/Z\n",
"rzc = (-I/(w*C))/zc\n",
"rzc"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "01ccfae6",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAfCAYAAACbKPEXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAADpklEQVR4nO2YT2hcVRTGf4mB0lpFiwgVFIpGwSI2GVGKaEVQULpQ8Q8KRV1URCwWTRWL8PkpaKlKigUx6CLYjeJCqVDFooLGqCS0ppa6SaXEhSIYpMaqJXZc3Dvy+jqZuUleMlN8Pxje3DNnvntycu6fOR3VapWSYuhqdQD1sH090AdUgAuAByUNtjSoBDpbHcAMLAcOAo8Bf7Y4lmQ62n2Z254CHi0r839GmcwCKZNZIGUyC6RMZoG05WluezlwSRwOA9uA3cCkpImWBdaEdq3Mq4D98bUUcHz/XCuDakZbVubpSrtW5mlJmcwC6QKwXa71eSKpo9wzC2RWLTjbFwK7gPOBaeB5Se8utsZCaBXBbPfMaWCzpMuBm4Edts9sgcZCaM2beS1z22PAekk/tlJjIbTmwinL3PYaYAuwDjgP+AkYBbZLGsn4VYAz8oHb/gS4MQ6ngSPxu2/UmauuxlwoUiunm9z1P2mZ236AkLi/gXuAS4H74/jhjN8K4C3goTqavcBWYCXhJ+HbwIDtntxcjTRmxVy0bA/afjbBNbnr/19l2l4LvAlskdSf8ZkAPo8BY3sJ8D6wTdJwLsCLgXOAjyT9HG0DwDPAasJPwoYa8fN+4Drgakkncp+NAkOSNqdozRdJe4A9ca7BRr7ZZf4K8E0ukVnRSdsdwCDwqaRdddwqwFFgLE6+EngZOAHsi7aGGrYvAzYBN+UTGfke6EnRWmxql/ZuYC1wbxP/awnL/4Dt26Jtg6Tv4vsKYVkctd1JaFIcB56QdChRow8Yk/TZDDFMAtckai0qtcrsjc/RRs6Shmh8neolbBUvAWcDLwDjknakaMR/wJ3A9oytH/hB0s5oOgv4IzGerPZWwl5eYwlQtd2Xsd0i6YsUvXrUAlkWn1NzFYr0AsOSxiXtIxxaj9i+IvH7qwh7bray7gaOZcZXAoeYPa8DazKv3XVsDYupGbXKPBif64B38k62l0k6lrfnfFYBK8gkQtIR2/uBDcCTCfGcG59TUfMGwnXkeBx3E/7oFxO0TkLSJGGLqMX7O6HZPD5brZnoihON2P4Q2Gl7KfAlUCVU2kZCc3aoiVaFcNDkq2YvcAdpyZyIGvfZ/g14FfgAWB8v5K8BB4D3ErQKIdf17wQuinfxU7r+2f3mdsLJ+zjwLTACPAV8RVr5V4DDkv7K2fcC3bZXNxOQ9AvwNHAX8DEwQDiQeoCvgV+BWyX9kxBPUSR3/cuuUYGUzeEC+Rfmr4kfdXoELQAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle \\frac{1}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" 1 \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sympy.re(rzc)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "b5d08d9b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGQAAAAfCAYAAAARB2hWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAERUlEQVR4nO2aa2gcVRzFf6lCaYyiRYQKKkWrYBHTRJTioyIoKP2g4gPFov2giFAs2lYswvEoqFQlxYIY2g/BIigKikJ9FBU0VktCa6rol1RCBBXBILXWBzXxw9ytk3Gze2cz+6J7YJmdO+ee/c/evf//nXu2a2Zmhg5aByc2O4C8sN0LbARWAacDPwKjwBZJI4HzIXBN6HIUmAjXtzc63rxY0OwA8sD2PSRf/l/A7cD5wN3h/P4UtQ/YDCwBzgNeBQZtr2hkvLWgbWaI7ZXADmCjpIHUpUngE9uLA+9c4FTgPUk/hbZB4DFgObA/pTkAXAlcKmk683mjwLCk9fW6p3JomwEBngf2ZgbjGCRNhbf9wCFgDMD2EuA5YBrYV+LbvgBYB1ybHYyAb4GGz6i2GBDby4CVwB0R9H6gBzhkewGwCPgbeFjSNyneBmBM0sdz6EwBl9UedW1olxrSF46jkdwdQC9wBfA+sF3S1hIhDNQtwBuptgHb61I6JwO/zyvqGtAuA9IdjocjuH3AHknjkvaRFPsHbF+U4iwlqTNfpdpuA46kzi8G0jOqIWiXAfk6HFeVu2i7OxyXAotJfdGSJkgK+ZpUl9PC8XDodzVwJklqK6XIXuDNQqLPgbaoIZJGbL8LbLO9CPgMmCGZDfcCBoZJ6sc0//9l7wZuBjaF88nAu9P2r8ALwDvAattjwIvAAZowIO0yQwBuIlktPQR8CYwAjwCf819t6QcOSvoz03c3sMz2cgBJPwOPArcCHwCDJEV+BfAF8Atwg6R/6ng/ZdHV2TppLcxKWbYngHNy9H9F0l2FRnScI1tDDgLZ6V4JPxQYSwcUlLJsd/JeAZDU1akhLYaGL3ttnwXsBM4g2Rp/UtLrjdaoh1YRaMay9yiwXtKFwHXAVtsnNUGjHlrzRtNTVngQWy3p+2Zq1EOrFhSesmIcvRS3Hzghe/N5HL+5NGqMvTCtjO5VJA+e/SRbNGslDZXjFpqycjh6BEPpZeC+MlJRjl8Vjbyx59ayPWT78QhqD8l+3IPAH5WIhc2QWEcvcBcCbwHPSNqT0Yly/CpphOvRbmA1rflC0i5gV/isoUrcIlNWlKNnuwsYAj6StLMMtarjV00jjxsYEU9DUciA5HT0LidJZwds3xja1kgqbZnHOH7VNPK4gdW0GoqiZki0oydpmMq1q+T4PQucAjwFjKcdv0oaKTdwS6ptAPhO0rbQdMwNjIgnrb2ZpLaVsBCYsb0h1Xa9pE9j9MqhqKKex9GrhhjHrxLq6Qa+RGJclV5vl2mLsZnnRFEzJO3ovZa9aLtb0pFsexleWcfPdsnx2zRX3xRi3cCnI7RmIdTB0r9bsP0bMCVpPK/WXChkQHI4etUQ6/hVQsu5gbZ7SJbvkGSls8Pz2pSkyTS3yOeQGEevGqIcv0poUTfwEpLl+n6SRYrD+yeyxKZvnXQwG+3kqR8X+Bct6x38fhVFpgAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle - \\frac{C R \\omega}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" -C⋅R⋅ω \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sympy.im(rzc)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "18c46477",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle \\frac{C^{2} R^{2} \\omega^{2}}{\\left(C^{2} R^{2} \\omega^{2} + 1\\right)^{2}} + \\frac{1}{\\left(C^{2} R^{2} \\omega^{2} + 1\\right)^{2}}$"
],
"text/plain": [
" 2 2 2 \n",
" C ⋅R ⋅ω 1 \n",
"─────────────── + ───────────────\n",
" 2 2\n",
"⎛ 2 2 2 ⎞ ⎛ 2 2 2 ⎞ \n",
"⎝C ⋅R ⋅ω + 1⎠ ⎝C ⋅R ⋅ω + 1⎠ "
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sympy.re(rzc)**2 + sympy.im(rzc)**2"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "0436eb4f",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAfCAYAAACbKPEXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAADpklEQVR4nO2YT2hcVRTGf4mB0lpFiwgVFIpGwSI2GVGKaEVQULpQ8Q8KRV1URCwWTRWL8PkpaKlKigUx6CLYjeJCqVDFooLGqCS0ppa6SaXEhSIYpMaqJXZc3Dvy+jqZuUleMlN8Pxje3DNnvntycu6fOR3VapWSYuhqdQD1sH090AdUgAuAByUNtjSoBDpbHcAMLAcOAo8Bf7Y4lmQ62n2Z254CHi0r839GmcwCKZNZIGUyC6RMZoG05WluezlwSRwOA9uA3cCkpImWBdaEdq3Mq4D98bUUcHz/XCuDakZbVubpSrtW5mlJmcwC6QKwXa71eSKpo9wzC2RWLTjbFwK7gPOBaeB5Se8utsZCaBXBbPfMaWCzpMuBm4Edts9sgcZCaM2beS1z22PAekk/tlJjIbTmwinL3PYaYAuwDjgP+AkYBbZLGsn4VYAz8oHb/gS4MQ6ngSPxu2/UmauuxlwoUiunm9z1P2mZ236AkLi/gXuAS4H74/jhjN8K4C3goTqavcBWYCXhJ+HbwIDtntxcjTRmxVy0bA/afjbBNbnr/19l2l4LvAlskdSf8ZkAPo8BY3sJ8D6wTdJwLsCLgXOAjyT9HG0DwDPAasJPwoYa8fN+4Drgakkncp+NAkOSNqdozRdJe4A9ca7BRr7ZZf4K8E0ukVnRSdsdwCDwqaRdddwqwFFgLE6+EngZOAHsi7aGGrYvAzYBN+UTGfke6EnRWmxql/ZuYC1wbxP/awnL/4Dt26Jtg6Tv4vsKYVkctd1JaFIcB56QdChRow8Yk/TZDDFMAtckai0qtcrsjc/RRs6Shmh8neolbBUvAWcDLwDjknakaMR/wJ3A9oytH/hB0s5oOgv4IzGerPZWwl5eYwlQtd2Xsd0i6YsUvXrUAlkWn1NzFYr0AsOSxiXtIxxaj9i+IvH7qwh7bray7gaOZcZXAoeYPa8DazKv3XVsDYupGbXKPBif64B38k62l0k6lrfnfFYBK8gkQtIR2/uBDcCTCfGcG59TUfMGwnXkeBx3E/7oFxO0TkLSJGGLqMX7O6HZPD5brZnoihON2P4Q2Gl7KfAlUCVU2kZCc3aoiVaFcNDkq2YvcAdpyZyIGvfZ/g14FfgAWB8v5K8BB4D3ErQKIdf17wQuinfxU7r+2f3mdsLJ+zjwLTACPAV8RVr5V4DDkv7K2fcC3bZXNxOQ9AvwNHAX8DEwQDiQeoCvgV+BWyX9kxBPUSR3/cuuUYGUzeEC+Rfmr4kfdXoELQAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle \\frac{1}{C^{2} R^{2} \\omega^{2} + 1}$"
],
"text/plain": [
" 1 \n",
"────────────\n",
" 2 2 2 \n",
"C ⋅R ⋅ω + 1"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# This is the square of the magnitude of voltage dividing impedance across R\n",
"c3_2 = cancel(_)\n",
"c3_2"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "225bcd4b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/latex": [
"$\\displaystyle - \\operatorname{atan}{\\left(C R \\omega \\right)}$"
],
"text/plain": [
"-atan(C⋅R⋅ω)"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"phase = atan(sympy.im(rzc)/sympy.re(rzc))\n",
"phase"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "26cdf8e7",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAD0AAAAkCAYAAAA6uzK6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAABJ0AAASdAHeZh94AAAC60lEQVR4nO2ZX2hOYRzHP+8ohGJKWSgipZatiSKSIpYL5V+54sId2cVckPr6kiY3k5W4W+RKodES4cIsF8qGuJELyiSWMlbCXJwznZ295rzv3p0tZ586ved5nvf9/X7f93ee3/N0nlxfXx9pYHstUA/UABXAXknNqTiPUZair2nAc+Ag0Jui30Hk0sp0FNs9wP4sZHrMMC46K4yLzgqpVW/b04BFYbMdOAW0AN2S3qQSREiamV4OPAmvKYDD++MpxgCM0jo92mRyTo+LzgoTAWxnZmJLyo0XsqyQSdETk3zJ9lzg7QjHkgqScolEA7VAhaSukQwoLZI+3nP+F8GQ4PG2PZlhvNOyPQ+4BMwGfgAnJF0p1l4pSJLp9cD9Yfj4AdRJWgpsBM7YnjoMe8Mmiega4HGxDiR1SeoI798DH4HyYu2VgiSic5JKsoOxXQNMkDSqK8GQc9p2JfCsFI5slwMXgX2lsBezXdBBwp9M215g+2RsfANwpwRBTQKuA6cktSf8TbPtYwldFHSQEM10JbDHdoOknn5jkftoQI3AGmCFpF+xscdAm6S6sJ0DmoF7ki4lFFEQklqB1tBf87++/yfTklqAmwQVFtuzCIrOAGwvAQ4Ah+KCQ14C1ZH2amAXsNV2R3hVJhU0EsTn9A1gG3AV2ATcyvObeqBT0t+WsW5gZX9DUhtjbI8fF30XaLJdBiyUdDk6GPZvB05H+hqB15Kawq7pwNdCA7F9BDgS6ZoE9Nmuj/RtlvSgUNtxBmRAUi9BQVhFsKmIswCYwcCKvhP4FmkvA14UEct5oCpyteTpK3q/ECXfknUDaACO5hmbGX72ANheR7BEfA/bi8PgGgoNRFI3wdQgtPWF4J34q0Jt/Yt8om8SBP0wz9gb4Bew2/Zn4CzBn7TFdidwDngKXCt1oEMRO0goA+bbruIvBwmDCoykdwR75UGPt6QPwGFgB3AbuEBQ2KqBR8AnoFbSz5KoSU5BBwmZfEf2G1l//7wdGFt8AAAAAElFTkSuQmCC",
"text/latex": [
"$\\displaystyle \\frac{1}{\\sqrt{\\omega^{2} + 1}}$"
],
"text/plain": [
" 1 \n",
"───────────\n",
" ________\n",
" ╱ 2 \n",
"╲╱ ω + 1 "
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"u = sqrt(c3_2).subs([(A,1), (C,1), (R,1)])\n",
"u"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "75116894",
"metadata": {},
"outputs": [],
"source": [
"f1 = lambdify(w, u)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "25585a9d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABDYAAAHNCAYAAADlvvsxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACrZElEQVR4nOzdeVhUZf/H8ffMsImKC6sLirviAi5JaJrlVpppq6mlUdlTSlnUU9GiaSXVU2aLaZmm2aJl2aahhFma+77iLriB4IYCwsDM7w9/UoQL0sAZ4PO6Lq7nmTPn3PP5zhjefuec+5jsdrsdEREREREREZEyyGx0ABERERERERGR4lJjQ0RERERERETKLDU2RERERERERKTMUmNDRERERERERMosNTZEREREREREpMxSY0NEREREREREyiw1NkRERERERESkzFJjQ0RERERERETKLDU2RERERERERKTMUmNDRERERERERMosNTZEREREREREpMxSY0PkEtasWUOnTp2oXLkyJpOJjRs3Gh1JSsDLL7+MyWQiLS3N6CgiIiIXpTlJxaA5iUjxqbEhchFWq5W77rqLEydO8M477zBr1izq169vdCwRACIiIvDw8CAvL++S+9x88814enpy6NChUkwmIiKOpjmJODPNScRZuBgdQMQZ7d27l8TERKZOncpDDz1kdByRAlq0aEF2djb79++ncePGhZ5funQpsbGxPPvss9StW9eAhCIi4iiak4gz05xEnIXO2BC5iGPHjgFQvXr1y+6XkZFRCmlECgoODgYgISHhos9HR0dTs2ZNnnvuudKMJSIiJUBzEnFmmpOIs1BjQ+Qf7r//fq6//noA7rrrLkwmE926dcu/7nH79u0MHjyYGjVqcN111+Ufd/jwYR544AH8/f1xd3enZcuWTJ8+vdD4y5Yt45prrsHDw4NGjRrx0Ucf5Y/9zxxBQUGFjr/YvkV9/QvH7tmzh/vvv5/q1atTrVo1IiIiyMzMLDTegw8+SO3atXF3d6dBgwY8+uij5OTk8Ntvv2EymZg3b16hHF9++SUmk4kVK1Zc8j2eO3cuJpOJ33//vdBzH330ESaTia1bt3LmzBmeeOIJgoKCcHd3x8/Pj549e7J+/fpLjv33OhMSErj77rvx8vLC29ubUaNGce7cuYsec+rUqcu+J4mJiYwYMYJmzZpRqVIlvL29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eUTE4V5++WXGjh171QtlOYPc3Fxq165Nv379mDZtmtFxgL/ez9TU1Ks6DbW8effdd1m+fHmBVd5FREQuR3MSx9Kc5Lzly5dz9913c+jQIQCys7Px9fVl2bJlRVqgVORKtMaGiPwr33//PampqbpPuRNq06YNv/32G7t378Zms7F+/XqOHj1qdCwREZESoTmJ87pwR5QL3N3d6datGz///LOBqaQ8UWNDRIpl1apVTJ06laioKNq2bau1G5zQDTfcwMiRI+natSvVqlXjkUcewdXV1ehYIiIiDqU5ifPbtGkTrVq1KrCtd+/eamyIw2jxUBEplsmTJ/P5558TGhrKjBkzjI4jlzBmzBjGjBljdAwREZESozmJ85syZUqhbSNHjmTkyJEGpJHySGtsiIiIiIiIiEiZpUtRRERERERERKTMUmNDRERERERERMqsCrfGhs1m48iRI1StWhWTyWR0HBEREadit9s5c+YMtWvXxmzW9x8lTfMSERGRSyvqvKTCNTaOHDlCYGCg0TFERESc2sGDB6lbt67RMco9zUtERESu7ErzkgrX2KhatSpw/o3x8vJyyJhWq5VFixbRq1evcnErRdXj3FSPc1M9zk31XFl6ejqBgYH5f19KydK85MpUj3NTPc5N9Tg31XNlRZ2XVLjGxoXTPL28vBw6gfD09MTLy6vc/IFUPc5L9Tg31ePcVE/R6bKI0qF5yZWpHuemepyb6nFuqqforjQv0cWzIiIiIiIiIlJmqbEhIiIiIiIiImWWGhsiIiIiIiIiUmapsSEiIiIiIiIiZZYaGyIiIiIiIiJSZqmxISIiIiIiIiJllhobIiIiIiIiIlJmqbEhIiIiIiIiImWWGhsiIiIiIiIiUmapsSEiIiIiIiIiZZahjY0//viDfv36Ubt2bUwmE99///0Vj1myZAnt2rXD3d2dxo0bM2PGjBLPKSIiIiIiIiLOydDGRkZGBiEhIUyaNKlI++/fv5++fftyww03sHHjRp544gkeeughFi5cWMJJRURERERERMQZuRj54jfffDM333xzkfefMmUKDRo04O233wagRYsWLFu2jHfeeYfevXuXVMwrSjyRyalsOHMul2oWFyxmk2FZRERERERERErbmXO5HDxrzGsb2ti4WitWrKBHjx4FtvXu3ZsnnnjiksdkZ2eTnZ2d/zg9PR0Aq9WK1Wp1SK7bJ68k/ZwLY9YvxmyC2tUrUb+mJy1rV6VD/Rp0qF+dqh6uDnmt0nDhfXHU+2M01ePcVI9zUz3OrSTqKS/vjYiIiJSs01lW1uw/war9x1m1/wRbD5/Gw2JhuM1e6lnKVGMjOTkZf3//Atv8/f1JT08nKyuLSpUqFTomJiaGsWPHFtq+aNEiPD09HZIrL9eCCbBjwmaHQyezOHQyiz/3HufjpQewmOw0rWYn1NtOW2877haHvGyJi4uLMzqCQ6ke56Z6nJvqcW6OrCczM9NhY4mIiEj5cTrLyur9J1ix9zir9h9n+9F07P/oYVSyQOrZbOq6u5VqtjLV2CiO6OhooqKi8h+np6cTGBhIr1698PLycshr9OxpZdGiOK6/8UbOWuHgiSz2p2Ww4eBp1hw4SeKJTHacMrHjFPx82IU729XhvmsDCazhmMaKo1mtVuLi4ujZsyeurmXnTJNLUT3OTfU4N9Xj3EqingtnNoqIiEjFlpWTx9rEEyzfe5zle9LYcvg0/zwZo6FPZcIa1iSsgTftAr3Y8Odi/L08Sj1rmWpsBAQEkJKSUmBbSkoKXl5eFz1bA8Dd3R13d/dC211dXR06qTWZoEolD2p4uRLoXZVOTWBI+Pnn9hw7y4ItR5m34TD70zL4dHkis1Ymcfc1gYzq3sSQD74oHP0eGU31ODfV49xUj3NzZD3l6X0RERGRosvJtbHx4CmW701j+d7jbEg6iTWvYCejoU9lrm3kzbUNvbm2QU38/vZvWavVyobSDv3/ylRjIzw8nAULFhTYFhcXR3h4uEGJiqaxXxUe796EyBsa8/vuVKYv28/S3Wl8uSqJb9cd4tFujXi0WyPcXcrINSoiIiIiIiJSpuXZ7Gw7cpo/9xxn+d401h44SZY1r8A+tap50KmRD50bexPeyJta1S5+QoHRDG1snD17lj179uQ/3r9/Pxs3bqRmzZrUq1eP6OhoDh8+zGeffQbAI488wgcffMAzzzzDAw88wOLFi/n666+ZP3++USVcFbPZxA3N/LihmR+r9h3nfwt3sjbxJBN/3c2Pm47w2oDWhDfyNjqmiIiIiIiIlEMHT2Tyx+5Ulu5KY/neNNLP5RZ43ruyG+GNvOnUyIdOjbyp7+2JyeT8d/00tLGxdu1abrjhhvzHF9bCGDZsGDNmzODo0aMkJSXlP9+gQQPmz5/Pk08+ybvvvkvdunX55JNPDL3Va3GFNfTmm0fC+XnzUcb9vJ19qRkMmrqSh65rwH9vaqazN0RERERERORfOZudy8q9x883M3ansT8to8DzVd1dCGvoTadG3nRq7E0z/6plopHxT4Y2Nrp164b9n8uo/s2MGTMuesyGDUZdueNYJpOJfiG16drUlzdiE/hyVRKfLNvP8r3HeW9QWxr7VTE6ooiIiIiIiJQRNpudrUdOs3R3Gn/sSmX9P9bJsJhNtKtXnS5NfOnSxIfWdarhYjEbmNgxytQaG+VVtUqujL+tNTc28+O/czex/Wg6/T9YxsR72tIz2P/KA4iIiIiIiEiFlJJ+jj92pfLH7jSW7U7lZKa1wPP1anrStakPXZr4Et7IGy+P8rdQuBobTqRHsD+xT3Tl8a82sGr/CR6etZanejZl5A2Ny+TpQCIiIiIiIuJYeTY7mw6d4reEYyxOOMa2IwVv1V7F3YVOjbzp0tSXrk18qO9d2aCkpUeNDSfj7+XB5w+F8crP2/lsRSJvLdrFnmNnefPOENxcyv4pQiIiIiIiInJ1Tmda+X13Kr8lHOP3XamcyMjJf85kgjZ1qtG1qS9dm/oSGlgd13JwecnVUGPDCblazIzr34oWtbx46futfL/xCCcyrUwe0o7K7vrIREREREREyjO73c7OlDMsTjjGkoRU1iWdJM/211oZVT1c6NrUlxub+XF9M198qrgbmNZ4+leyExvUsR61qnnw6Ofr+WNXKoM/WcWn919DzcpuRkcTERERERERBzpnzWPF3uP8uiOF3xKOceT0uQLPN/Wvwg3N/LihuR/t69eocGdlXI4aG06uWzM/vhweRsSMNWw6eIp7Pl7BV8OvxbuCd+RERERERETKusxc+GHjERbvSmPJzlQyc/Lyn3N3MdOpkTc3NvejWzM/Amt6GpjUuamxUQa0rVeDuY+EM3jqKnalnGXIJ6v4cvi1OnNDRERERESkjDl8Kou4bcks2pbMyv0WbGu25j8X4OVB9xZ+dG/hR3hDHyq5WQxMWnaosVFGNParylcPX8s9H68kIfnM+ebGQ2HUUHNDRERERETEadntdhKSz7BoWwqLtif/4y4mJpr6VaFXywB6BvvTuk41zGbdEfNqqbFRhjTyrcJXw883N3YcTee+6av4avi1VC2H9yEWEREREREpq2w2OxsOnmTBlmQWbkvm0Mms/OfMJuhQvybdm/vgkrKdobd3wtVV/6b7N9TYKGMa+1Vh9sNh3PPxSrYeTuc/s9bxacQ1uLvoFCURERERERGj5NnsrEs8yYItR/ll61FS0rPzn/NwNdOliS89g/3p3twP7yruWK1WFizYbmDi8kONjTKosV9VZkR0ZOBHK1i+9zhRczbx3qC2WHTKkoiIiIiISKnJs9lZvf8EC7YcJXZbMqln/mpmVHV3oWewP71bBdC1ia/WyyhBamyUUa3qVOPjoR24/9PVzN9yFO8qboy9tSUmk5obIiIiIiIiJSU3z8aq/29mLNyWTNrZnPznvDxc6BkcQN82AXRu7KMz60uJGhtlWOfGPky4O5THZ2/gsxWJ1K1RiYe7NjI6loiIiIiISLlis9lZtf8EP246wsJtyZzI+KuZUd3TlV7B/tzcuhadG/ng5mI2MGnFpMZGGdcvpDbHzmTzys/bifklgUa+Vejewt/oWCIiIiIiImWa3W5n6+F0fth4mJ83HyU5/Vz+czU8XbmpVQA3t6pFeCNvXC1qZhhJ73458EDnIAaH1cNuh8e/2kBCcvqVDxIREZFCJk2aRFBQEB4eHoSFhbF69epL7tutWzdMJlOhn759+5ZiYhERcbS9qWd5J24XN779O/0+WMYny/aTnH6Oqh4uDOwQyOcPhrHmhR7E3N6Grk191dRwAjpjoxwwmUyMvbUlB9IyWL73OA/OWMsPkZ3xqeJudDQREZEyY86cOURFRTFlyhTCwsKYOHEivXv3ZufOnfj5+RXa/7vvviMn569TkY8fP05ISAh33XVXacYWEREHOHo6i583HeWHTYfZevivL4o9XM10b+FP/5DaXN/MV2tmOCk1NsoJV4uZD4e047YPl7M/LYNHZq3jy+HX6vouERGRIpowYQLDhw8nIiICgClTpjB//nymT5/Oc889V2j/mjVrFng8e/ZsPD091dgQESkjzpyzsmDLUb5bf5jVB05gt5/fbjGb6NLEh/6htekZHEAVd/2z2dnpEypHqnu6MW1YB/pP+pO1iScZv2AHL9/a0uhYIiIiTi8nJ4d169YRHR2dv81sNtOjRw9WrFhRpDGmTZvGPffcQ+XKlS+5T3Z2NtnZf90KMD39/LeCVqsVq9VazPQFXRjHUeMZTfU4N9Xj3FRPYXk2O8v3HWfehiPE7TjGOast/7kO9atzS5ta3NTSH+/Kbv+/1V5i758+n6KPeSVqbJQzDX2rMHFgKA/OXMuM5QdoW686/UPrGB1LRETEqaWlpZGXl4e/f8EFuP39/UlISLji8atXr2br1q1MmzbtsvvFxMQwduzYQtsXLVqEp6fn1YW+gri4OIeOZzTV49xUj3NTPZCcCatTzaxNNXHaasrf7l/JzjW+Ntr72KnpngZpaaz6fYsj416RPp9Ly8zMLNJ+amyUQ91b+PPYjY15f/Eenvt2C80DvGgWUNXoWCIiIuXWtGnTaN26NR07drzsftHR0URFReU/Tk9PJzAwkF69euHl5eWQLFarlbi4OHr27Imrq6tDxjSS6nFuqse5VfR6Tmbm8PPmZOZtPMKWv62bUa2SC7e0rsVtbWvTpo4XJpPpMqOUnIr++RTFhTMbr0SNjXLqiR5N2XjwFEt3p/HI5+v4IbIzXh5l/z8WERGRkuDj44PFYiElJaXA9pSUFAICAi57bEZGBrNnz2bcuHFXfB13d3fc3Qsv7u3q6urwSW1JjGkk1ePcVI9zq0j15Nns/LErlTlrDhKfkII17/zCGS5mE92a+XJHu7rc2MLPqRYBrUifT3HGKgo1Nsopi9nEu/e0pd/7y9iflsF/v9nElHvbG9aNFBERcWZubm60b9+e+Ph4BgwYAIDNZiM+Pp7IyMjLHvvNN9+QnZ3NvffeWwpJRUTkYg6dzOTrNQf5Zt0hjp4+l789uJYXd7SvS//Q2rprZDmmxkY5VrOyGx8OacddU1awcFsKs1YmMjQ8yOhYIiIiTikqKophw4bRoUMHOnbsyMSJE8nIyMi/S8rQoUOpU6cOMTExBY6bNm0aAwYMwNvb24jYIiIVVk6ujV93pPDV6iSW7UnLv6tJdU9Xbm9bl7s61KVFLcdc5ifOTY2Nci4ksDrP3dyccT9v59X5O7gmqKb+4xYREbmIgQMHkpqayujRo0lOTiY0NJTY2Nj8BUWTkpIwmwveRn3nzp0sW7aMRYsWGRFZRKRC2peawbcbj/LtukMcz8jJ3965sTcDr6lH75b+TnWpiZQ8NTYqgIjOQSzbk8bihGM89tUGfozsjKebPnoREZF/ioyMvOSlJ0uWLCm0rVmzZtgvfEUoIiIl5pw1j583HmHyVgt7V/yZv92vqjt3dajL3R0Cqe996dttS/mmf91WACaTif/d2Yab313KnmNnGffTdl6/o43RsURERERERC7r4IlMvlydxJw1BzmRkQOYMJvgxuZ+DLymHjc088XFYr7iOFK+qbFRQXhXcWfiwFCGTFvF7DUH6dzYh34htY2OJSIiIiIiUoDNZueP3anMWpHI4p3H8tfOqFXNg7ZeGUTfcwOB3lWNDSlORY2NCqRTYx9GdGvEpN/28vx3WwgNrE5gTU+jY4mIiIiIiHAyI4dv1h3ki1VJJB7PzN/epYkP911bny6NarBoYSwBXh4GphRnpMZGBfNEj6as2Huc9UmnePqbTXw1/FrMZt0CVkREREREjLH50Ck+W5HIT5uOkJ1rA6Cqhwt3tQ/k3mvr0dC3CgBWq9XImOLE1NioYFwtZt4ZGMrN7y5l1f4TTP9zPw91aWh0LBERERERqUBy82ws2p7CtGX7WZd4Mn97y9peDA2vT7+Q2rrhgRSZ/qRUQPW9K/Ni32Cen7eFNxfupGtTX5r66xo1EREREREpWaezrHy95iAzlh/g8KksAFwtJm5pU5v7wuvTNrA6JpPOKJero8ZGBTWoYyBx25P5bWcqT87ZyLwRnXFz0WrCIiIiIiLieAfSMpix/ADfrD1IRk4eADUru3FvWD3uvbY+flo3Q/4FNTYqKJPJxBt3tKHXxD/YdiSd9+J383TvZkbHEhERERGRcsJut7Ni33GmLztAfEJK/t1NmvpX4cHrGtA/tA4erhZjQ0q5YPhX9JMmTSIoKAgPDw/CwsJYvXr1Jfe1Wq2MGzeORo0a4eHhQUhICLGxsaWYtnzx8/LgtQGtAfhwyR7WJ528whEiIiIiIiKXl5tn44eNh+n73jIGT13FrzvONzVuaObL5w+GsfCJrgy8pp6aGuIwhp6xMWfOHKKiopgyZQphYWFMnDiR3r17s3PnTvz8/Art/+KLL/L5558zdepUmjdvzsKFC7nttttYvnw5bdu2NaCCsq9vm1rEba/N9xuPEDVnIwtGdcFVl7SJiIiIiMhVysrJ4+u1B5m6dB+HTp5fP6OSq4U729fl/s5BNPr/u5uIOJqhZ2xMmDCB4cOHExERQXBwMFOmTMHT05Pp06dfdP9Zs2bx/PPP06dPHxo2bMijjz5Knz59ePvtt0s5efky9tZWBHh5cOB4Jm8v2mV0HBERERERKUNOZuTw7q+76fzGYsb8uI1DJ7OoWdmNqJ5NWRF9I68MaKWmhpQow87YyMnJYd26dURHR+dvM5vN9OjRgxUrVlz0mOzsbDw8Ci4qU6lSJZYtW3bJ18nOziY7Ozv/cXp6OnD+shZH3Qf5wjhl9b7Knq7wav8WPDRrA9P/3E/3JjWAslvPP5X1z+efVI9zUz3OTfUUfUwREZErOXQyk0+W7mfOmoNkWc8vCBpYsxIPd2nIne0DqeSmS02kdBjW2EhLSyMvLw9/f/8C2/39/UlISLjoMb1792bChAl07dqVRo0aER8fz3fffUdeXt4lXycmJoaxY8cW2r5o0SI8PT3/XRH/EBcX59DxSltHXzOrU808OXsd/21T9uv5J9Xj3FSPc1M9zs2R9WRmZjpsLBERKZ92pZxh8pK9/LjpCHm28yuCBtfy4pFujejTKgAXi+FLOUoFU6buivLuu+8yfPhwmjdvjslkolGjRkRERFzy0hWA6OhooqKi8h+np6cTGBhIr1698PLyckguq9VKXFwcPXv2xNXV1SFjGqFTppU+7/9JytkcYg+Zee/B7mW6ngvKy+dzgepxbqrHuameK7twZqOIiMg/bT+Szge/7WbBluT8bZ0aefPI9Y3o0sQHk0mL9YkxDGts+Pj4YLFYSElJKbA9JSWFgICAix7j6+vL999/z7lz5zh+/Di1a9fmueeeo2HDhpd8HXd3d9zd3Qttd3V1dfiktiTGLE2+1Vx59bbW/GfWOhYfNrHzWBZtgxx7VouRyvrn80+qx7mpHuemei4/loiIyN9tOXSa9xbvJm77X/92u6llACNuaESbutWNCyby/ww7R8jNzY327dsTHx+fv81msxEfH094ePhlj/Xw8KBOnTrk5uby7bff0r9//5KOW2H0bhlA31YB2DDx3Lyt5OTajI4kIiIiIiIGWJ90kohPV9Pvg2XEbU/BZIJb2tQi9okuTLmvvZoa4jQMvRQlKiqKYcOG0aFDBzp27MjEiRPJyMggIiICgKFDh1KnTh1iYmIAWLVqFYcPHyY0NJTDhw/z8ssvY7PZeOaZZ4wso9x56ZbmLEk4ys6Us3y4ZA9P9GhqdCQRERERESklq/ef4P3Fu1m6Ow0Aswn6h9Zh5A2NaOxX1eB0IoUZ2tgYOHAgqampjB49muTkZEJDQ4mNjc1fUDQpKQmz+a+TSs6dO8eLL77Ivn37qFKlCn369GHWrFlUr17doArKJ+/KbtzZwMbM3RY+WLyH3i0DaFHLMeuRiIiIiIiIc1qXeJK3F+1k+d7jALiYTdzWtg4jb2hMkE9lg9OJXJrhi4dGRkYSGRl50eeWLFlS4PH111/P9u3bSyGVtPW2c8TFj7gdx3hm7mbmjeik1Y1FRERERMqhrYdP8/ainfy2MxUAV4uJO9sHMqJbIwJrlp8196T8MryxIc7JZIKX+7Vg1f4TbDl8mpkrEnnwugZGxxIREREREQfZnXKGd37dlX+XE4vZxJ3t6vJY98bUraGGhpQdamzIJflVdSe6Twuiv9vC24t2clOrAOpUr2R0LBERERER+RcSj2cw8dfdfL/xMHb7+S81bw2pzRM9mtJAl5xIGaTGhlzWwA6BfLf+EGsOnOSl77cybVgH3Z9aRERERKQMOno6i/fi9/DN2oPk2uzA+du2PtmzKc0CtCiolF1qbMhlmc0mYm5vzc3vLmVxwjEWbEmmb5taRscSEREREZEiSs+y8kn8XqYv2092rg2A65v68nSvZrSuW83gdCL/nhobckWN/aryaLfGvBe/m5d/2sZ1TXyoVsnV6FgiIiIiInIZ2bk2lhw1MeadZZzKsgLQMagm/72pGdcE1TQ4nYjj6DYXUiQjujWioW9lUs9k80ZsgtFxRERERETkEmw2Oz9sPMxN7/3JvAMWTmVZaexXhU+GdmDOf65VU0PKHZ2xIUXi4Wph/G2tuefjlXy5Konb2tbRL0QRERERESezfE8aMb8ksOXwaQC8XO0826clAzvWx8Wi77WlfNKfbCmyaxt6M7BDIADR320hOzfP4EQiIiIiIgLnb916/6erGfzJKrYcPk0Vdxee7N6YF9vmcXeHumpqSLmmP91yVaL7NMeniht7jp3lo9/3GR1HRERERKRCO5WZw5gftnLTu0tZsjMVF7OJ+zsF8ft/uzGiW0PcLUYnFCl5uhRFrkp1TzdG92vJ419t4IPFe+jbphaNfKsYHUtEREREpELJzbPxxaokJsTt4vT/LwzaK9if6D4taOBTGQCr1WpkRJFSo8aGXLV+bWrx7bpD/L4rlee/28Lsh6/FZDIZHUtEREREpEL4Y1cqr/y8nd3HzgLQPKAqo28JplNjH4OTiRhDjQ25aiaTiVcHtKLnO7+zav8Jvlt/mDva1zU6loiIiIhIubYv9Syvzd9BfMIxAGp4uhLVqxmDrgnUGhpSoamxIcUSWNOTx7s34c3YnYxfsIPuLfyo7ulmdCwRERERkXLnbHYu78Xv5tM/92PNs+NiNjE0PIhR3ZtQzdPV6HgihlNjQ4rtoesaMm/9YXYfO8ubC3cy/rbWRkcSERERESk37HY787cc5dWfd5Ccfg6Abs18ebFvMI39tM6dyAU6X0mKzc3FzCsDWgHw1eokNiSdNDiRiIjIvzNp0iSCgoLw8PAgLCyM1atXX3b/U6dOMXLkSGrVqoW7uztNmzZlwYIFpZRWRMqzfalnGTp9NZFfbiA5/Rz1anoy/f4OzIjoqKaGyD+osSH/yrUNvbmjXV3sdnhh3lZy82xGRxIRESmWOXPmEBUVxZgxY1i/fj0hISH07t2bY8eOXXT/nJwcevbsyYEDB5g7dy47d+5k6tSp1KlTp5STi0h5kpWTx1sLd3LTxKUs3Z2Gm4uZUd2bsOjJrtzY3N/oeCJOSZeiyL/2fJ/m/Lojhe1H05m5IpEHr2tgdCQREZGrNmHCBIYPH05ERAQAU6ZMYf78+UyfPp3nnnuu0P7Tp0/nxIkTLF++HFfX89e4BwUFlWZkESln4ran8PKP2zh8KguA65v6MvbWlgT9/+1bReTidMaG/GveVdx59qbmAExYtJPk0+cMTiQiInJ1cnJyWLduHT169MjfZjab6dGjBytWrLjoMT/++CPh4eGMHDkSf39/WrVqxfjx48nLyyut2CJSThw+lcVDM9cw/LO1HD6VRe1qHky5tx0zIq5RU0OkCHTGhjjEPdcE8s26g2xIOsUrP29n0pB2RkcSEREpsrS0NPLy8vD3L3iat7+/PwkJCRc9Zt++fSxevJghQ4awYMEC9uzZw4gRI7BarYwZM+aix2RnZ5OdnZ3/OD09HQCr1YrVanVILRfGcdR4RlM9zk31/Dt5NjtfrD7IhLjdZOTk4WI28UDn+ozs1hBPNxdyc3P/1fj6fJyb6in6mFeixoY4hNls4rUBren3wTLmbznK3btSub6pr9GxRERESozNZsPPz4+PP/4Yi8VC+/btOXz4MP/73/8u2diIiYlh7NixhbYvWrQIT09Ph+aLi4tz6HhGUz3OTfVcvSOZMHuvhcSzJgAaVLVzT8NcAnL3sOTXPQ59LX0+zk31XFpmZmaR9lNjQxwmuLYX93cKYtqy/Yz+YSsLn+iKh6vF6FgiIiJX5OPjg8ViISUlpcD2lJQUAgICLnpMrVq1cHV1xWL56++6Fi1akJycTE5ODm5uboWOiY6OJioqKv9xeno6gYGB9OrVCy8vL4fUYrVaiYuLo2fPnvlrf5Rlqse5qZ6rl23N48Pf9/Pxqv3k2uxUdrfw315NGdShLmazyaGvpc/HuameK7twZuOVqLEhDvVkz6bM33yUxOOZfLhkL1E9mxodSURE5Irc3Nxo37498fHxDBgwADh/RkZ8fDyRkZEXPaZz5858+eWX2Gw2zObzy5bt2rWLWrVqXbSpAeDu7o67u3uh7a6urg6f1JbEmEZSPc5N9RTNqn3HiZ63hX2pGQD0DPbnlf6tCKjm4fDX+jt9Ps5N9Vx+rKLQ4qHiUFXcXRjdLxiAKUv2si/1rMGJREREiiYqKoqpU6cyc+ZMduzYwaOPPkpGRkb+XVKGDh1KdHR0/v6PPvooJ06cYNSoUezatYv58+czfvx4Ro4caVQJIuKkzpyz8vy8LQz8eCX7UjPwrerO5CHt+Pi+9iXe1BCpCHTGhjjcza0CuL6pL7/vSuWlH7by+YNhmEyOPa1ORETE0QYOHEhqaiqjR48mOTmZ0NBQYmNj8xcUTUpKyj8zAyAwMJCFCxfy5JNP0qZNG+rUqcOoUaN49tlnjSpBRJzQst1pPPvt5vxbuA7qGMhzN7egWqXy8w29iNHU2BCHM5lMjOvfkl7v/MGfe47z46Yj9A+tY3QsERGRK4qMjLzkpSdLliwptC08PJyVK1eWcCoRKYsysnOJ+WUHn69MAqBeTU/euKMN4Y28DU4mUv7oUhQpEfW9KxN5Q2MAXp2/g/Rz5eMWRiIiIiIiV7Ji73F6T/wjv6kxNLw+v4zqoqaGSAlRY0NKzMPXN6Shb2VSz2Tz9sKdRscRERERESlRmTm5vPzjNgZNXcmhk1nUqV6JLx8KY1z/VlR218nyIiVFjQ0pMe4uFl7t3wqAz1YmsvnQKWMDiYiIiIiUkDUHTnDzu0uZsfwAAIPD6rHwya50auxjbDCRCkCNDSlRnRr70D+0NnY7vDBvK3k2u9GRREREREQcJifXxpuxCdz90QoSj2dSu5oHnz3QkfG3taaKztIQKRVqbEiJe6FvC6p6uLDl8Gm+WJVodBwREREREYfYm3qWOyYv58Mle7Hb4c72dYl9sitdm/oaHU2kQlFjQ0qcX1UPnundDID/xe7k2JlzBicSERERESk+u93O5ysT6fveUrYcPk21Sq5MHtKOt+4KwctDt3EVKW1qbEipGBxWnzZ1q3EmO5dXf95hdBwRERERkWJJO5vN8M/W8uL3WzlntXFdYx8WPtGVm1vXMjqaSIWlxoaUCovZxGsDWmM2wY+bjrBsd5rRkURERERErspvCce4aeIf/LrjGG4WMy/2bcFnD3QkoJqH0dFEKjTDGxuTJk0iKCgIDw8PwsLCWL169WX3nzhxIs2aNaNSpUoEBgby5JNPcu6cLm0oC1rXrcbQ8CAAXvphK+esecYGEhEREREpguzcPF7+cRsRM9aQdjaHZv5V+SGyMw91aYjZbDI6nkiFZ2hjY86cOURFRTFmzBjWr19PSEgIvXv35tixYxfd/8svv+S5555jzJgx7Nixg2nTpjFnzhyef/75Uk4uxRXVqym+Vd3Zn5bBR7/vMzqOiIiIiMhlHUjL4I7Jy/Nv4xrROYgfIjvTopaXscFEJJ+hjY0JEyYwfPhwIiIiCA4OZsqUKXh6ejJ9+vSL7r98+XI6d+7M4MGDCQoKolevXgwaNOiKZ3mI8/DycOWlW4IBmLRkDwfSMgxOJCIiIiJycT9tOsIt7y9j6+F0ani6Mv3+Dozp1xIPV4vR0UTkbwxrbOTk5LBu3Tp69OjxVxizmR49erBixYqLHtOpUyfWrVuX38jYt28fCxYsoE+fPqWSWRyjX5tadGniQ06ujdE/bsNutxsdSUREREQk3zlrHtHfbeGxrzZwNjuXa4JqsGBUF25s7m90NBG5CBejXjgtLY28vDz8/Qv+cvD39ychIeGixwwePJi0tDSuu+467HY7ubm5PPLII5e9FCU7O5vs7Oz8x+np6QBYrVasVqsDKiF/HEeNZ7TSqGd032b0/eAEf+xK5aeNh7i5VUCJvZY+H+emepyb6nFuJVFPeXlvRESKKyUL7vxoFTtTzmIywchujXmiRxNcLIYvTygil2BYY6M4lixZwvjx4/nwww8JCwtjz549jBo1ildeeYWXXnrposfExMQwduzYQtsXLVqEp6enQ/PFxcU5dDyjlXQ9NwaYiT1k5sXvNpG1bz0eJfynUZ+Pc1M9zk31ODdH1pOZmemwsUREypp5G47w1mYLObaz+FRx452BoXRp4mt0LBG5AsMaGz4+PlgsFlJSUgpsT0lJISDg4t/ev/TSS9x333089NBDALRu3ZqMjAwefvhhXnjhBczmwl3U6OhooqKi8h+np6cTGBhIr1698PJyzII/VquVuLg4evbsiaurq0PGNFJp1dPdmseOD1aQeCKT7S4NebFP8xJ5HX0+zk31ODfV49xKop4LZzaKiFQk2bl5jP1pO1+uSgJMhDesybuD2uJXVbdxFSkLDGtsuLm50b59e+Lj4xkwYAAANpuN+Ph4IiMjL3pMZmZmoeaFxXJ+4Z5LrdPg7u6Ou7t7oe2urq4On9SWxJhGKul6XF1defW2Vtw3bTWzViZxV4d6tKpTrURfT5+P81I9zk31ODdH1lOe3hcRkaI4fCqLEZ+vY9Oh05hM0LtOHhOHtcfD3c3oaCJSRIZeKBYVFcXUqVOZOXMmO3bs4NFHHyUjI4OIiAgAhg4dSnR0dP7+/fr1Y/LkycyePZv9+/cTFxfHSy+9RL9+/fIbHFK2dGniyy1tamGzwwvfbyXPpoVERURERKR0/LknjX7vL2PTodNUq+TKJ/e14+ZAOxazyehoInIVDF1jY+DAgaSmpjJ69GiSk5MJDQ0lNjY2f0HRpKSkAmdovPjii5hMJl588UUOHz6Mr68v/fr147XXXjOqBHGAl24J5vedqWw6eIqvVidx77X1jY4kIiIiIuWY3W5n8u97eWvhTmx2aFXHi8lD2hNQ1ZUFu41OJyJXy/DFQyMjIy956cmSJUsKPHZxcWHMmDGMGTOmFJJJafH38uCpXk15+aftvBmbQO+WAfhWLXz5kIiIiIjIv5V+zsrTX29i0fbza/3d3aEu4/q3wsPVojtDiZRRumeROIX7woNoVceL9HO5jF+ww+g4IiIiIlIO7U45Q/8P/mTR9hTcLGZev701b94ZgoerLmsXKcvU2BCnYDGbeG1Aa0wmmLfhMMv3phkdSURERETKkfgdKdz24XL2p2VQp3olvnkknHs61jM6log4gBob4jRCAqtzb9j59TVe/H4r2bl5BicSERERkbLObrczecleHvpsLWezcwlrUJMfIzsTEljd6Ggi4iBqbIhTebp3M3yquLMvNYOpf+wzOo6IiIiIlGHnrHk8MWcjb8QmYLfDvdfW4/OHwvCuovXcRMoTNTbEqVSr5MqLfVsA8P7iPSQdzzQ4kYiIiIiURUdPZ3HXlBX8sPEILmYTrwxoxasDWuNq0T+BRMob/VctTqd/aG06NfImO9fG6B+3YrfbjY4kIiIiImXI+qST3PrBn2w5fJoanq7MejCM+66tb3QsESkhamyI0zGZznfU3SxmluxMJXZrstGRRERERKSMmLfhEPd8tJLUM9k086/Kj5HXEd7I2+hYIlKC1NgQp9TItwr/ub4hAGN/2s7Z7FyDE4mIiIiIM7Pb7Uz8dRdPztlETp6NXsH+fDuiE4E1PY2OJiIlTI0NcVojb2hMvZqeJKefY2LcLqPjiIiIiIiTys7N46mvNzHx190A/Of6hky5tz1V3F0MTiYipUGNDXFaHq4WxvVvCcCnyw+w/Ui6wYlERERExNmcysxh6LTVfLfhMBazifG3tSb65haYzSajo4lIKVFjQ5xat2Z+9GkdQJ7Nzgvfb8Fm00KiIiIiInJe4vEMbp+8nFX7T1DF3YVP77+GwWH1jI4lIqVMjQ1xeqNvaUllNwsbkk7x5eoko+OIiIiIiBNYl3iC2z5czr7UDGpX82Duo+F0beprdCwRMYAaG+L0Aqp58HTvZgC88UsCyafPGZxIRERERIz0y5ajDJq6ihMZObSuU43vR3ameYCX0bFExCBqbEiZMDQ8iJDA6pzJzuXlH7cZHUdEREREDDJrxQFGfLmenFwbPVr4M+c/1+Ln5WF0LBExkBobUiZYzCZev701LmYTsduSWbgt2ehIIiIiIlKK7HY7by/ayUs/bMNuhyFh9fjovvZ4uunOJyIVnRobUma0qOXFw10bAjDmh22cOWc1OJGIiJQ3kyZNIigoCA8PD8LCwli9evUl950xYwYmk6nAj4eHvjUWKQm5eTaiv9vC+4v3APBkj6a8OqAVFt35RERQY0PKmMe7N6G+tyfJ6ef438KdRscREZFyZM6cOURFRTFmzBjWr19PSEgIvXv35tixY5c8xsvLi6NHj+b/JCYmlmJikYohKyePRz5fz+w1BzGbYPxtrRnVowkmk5oaInKeGhtSpni4Whh/W2sAZq1MZF3iSYMTiYhIeTFhwgSGDx9OREQEwcHBTJkyBU9PT6ZPn37JY0wmEwEBAfk//v7+pZhYpPw7lZnDvdNW8euOFNxczEy+t71u5yoiheiCNClzOjf24c72dZm77hDR323m58e64OaiHp2IiBRfTk4O69atIzo6On+b2WymR48erFix4pLHnT17lvr162Oz2WjXrh3jx4+nZcuWl9w/Ozub7Ozs/Mfp6ekAWK1WrFbHXGJ5YRxHjWc01ePcSrKeo6fP8cDMdexJzcDLw4UpQ9pyTVCNEn3v9Pk4N9Xj3EqinqKOpcaGlEkv9GnBbwnH2JVylo//2EvkjU2MjiQiImVYWloaeXl5hc648Pf3JyEh4aLHNGvWjOnTp9OmTRtOnz7NW2+9RadOndi2bRt169a96DExMTGMHTu20PZFixbh6en57wv5m7i4OIeOZzTV49wcXU/aOZi03cKJbBPV3Ow80uwcqdtXsGC7Q1/mkvT5ODfV49wcWU9mZmaR9lNjQ8qkGpXdGN0vmFGzN/Le4j30aV2Lhr5VjI4lIiIVSHh4OOHh4fmPO3XqRIsWLfjoo4945ZVXLnpMdHQ0UVFR+Y/T09MJDAykV69eeHl5OSSX1WolLi6Onj174urq6pAxjaR6nFtJ1LP72Flem7GOE9nZ1K/pycyI9tSpXskhY1+JPh/npnqcW0nUc+HMxitRY0PKrFtDavPt+sP8sSuV6O+2MPvha7WIlIiIFIuPjw8Wi4WUlJQC21NSUggICCjSGK6urrRt25Y9e/Zcch93d3fc3d0veqyjJ7UlMaaRVI9zc1Q9Ww6dZuj0NZzMtNLMvyqzHuqIX9XSv9uQPh/npnqcmyPrKeo4WphAyiyTycRrA1pRydXCqv0n+HrtQaMjiYhIGeXm5kb79u2Jj4/P32az2YiPjy9wVsbl5OXlsWXLFmrVqlVSMUXKtTUHTjB46kpOZloJqVuNOf+51pCmhoiUPWpsSJkWWNOTqJ5NAXht/g5Sz2Rf4QgREZGLi4qKYurUqcycOZMdO3bw6KOPkpGRQUREBABDhw4tsLjouHHjWLRoEfv27WP9+vXce++9JCYm8tBDDxlVgkiZtXR3KvdNW8WZ7Fw6NqjJ5w+FUd3TzehYIlJG6FIUKfMiOgfxw6bDbD2cztiftvHB4HZGRxIRkTJo4MCBpKamMnr0aJKTkwkNDSU2NjZ/QdGkpCTM5r++Ezp58iTDhw8nOTmZGjVq0L59e5YvX05wcLBRJYiUSQu3JfPYlxvIybPRrZkvk4e0p5KbxehYIlKGqLEhZZ6Lxczrt7eh/6Q/+XnzUW4NSaZXy6JdDy0iIvJ3kZGRREZGXvS5JUuWFHj8zjvv8M4775RCKpHy66dNR3hizkbybHZubhXAu/e0xc1FJ5WLyNXRbw0pF1rVqcbwLg0BePH7rZzOLB/3ghYREREpr37YeJhRszeQZ7Nze7s6vD9ITQ0RKR795pBy44keTWjoW5ljZ7J5dX4p3eRcRERERK7aDxsP8+ScjdjscHeHurx1ZwguFv3TRESKR789pNzwcLXw5h1tMJngm3WH+H1XqtGRREREROQf5m04lN/UuOeaQF6/vQ1ms8noWCJShqmxIeVKh6Ca3N8pCIDobzdz5pwuSRERERFxFt+uO0TU15uw2WFQx0DG39ZaTQ0R+dfU2JBy57+9m1GvpidHTp/jjdgEo+OIiIiICDB33SGenrsJux0GdazHawPU1BARx1BjQ8odTzcXXr+jNQCfr0xi5b4TBicSERERqdi+XnuQ//5/U2NIWD1eG9BKTQ0RcRg1NqRc6tTIhyFh9QB4/vttZOcZHEhERESkgpq34RDPfrsZux3uu7Y+r6qpISIOpsaGlFvP3dyc2tU8OHgyi/kH9UddREREpLQt2HKUp77+60yNcf1bYjKpqSEijuUU/9qbNGkSQUFBeHh4EBYWxurVqy+5b7du3TCZTIV++vbtW4qJpSyo6uHK+NvPX5Lyx1ET65NOGRtIREREpAJZnJDC419twGaHO9vX5ZX+rdTUEJESYXhjY86cOURFRTFmzBjWr19PSEgIvXv35tixYxfd/7vvvuPo0aP5P1u3bsVisXDXXXeVcnIpC7o18+P2trWxYyJ63lbOWXVNioiIiEhJW7Y7jUc+X0+uzU6/kNq8cYdu6SoiJcfwxsaECRMYPnw4ERERBAcHM2XKFDw9PZk+ffpF969ZsyYBAQH5P3FxcXh6eqqxIZf0/M3N8HK1sy8tk4m/7jY6joiIiEi5tnr/CYZ/tpacXBu9gv2ZcHcIFjU1RKQEuRj54jk5Oaxbt47o6Oj8bWazmR49erBixYoijTFt2jTuueceKleufNHns7Ozyc7Ozn+cnp4OgNVqxWq1/ov0f7kwjqPGM1p5q8fTBe5uaOOTnRY+/mMvNzb1pm296kbHKrby9vmoHuemepxbSdRTXt4bETHGxoOneGDGGrKseVzf1Jf3B7fF1WL4d6kiUs4Vu7GRlJREYmIimZmZ+Pr60rJlS9zd3a9qjLS0NPLy8vD39y+w3d/fn4SEhCsev3r1arZu3cq0adMuuU9MTAxjx44ttH3RokV4enpeVd4riYuLc+h4RitP9bSuCdf42FiTZmbkrFU80yYPN4vRqf6d8vT5gOpxdqrHuTmynszMTIeNVdJOnTrFvHnzWLp0aYE5Sdu2benduzedOnUyOqJIhbL9SDpDp63ibHYu4Q29+ei+9ri7lPEJl4iUCVfV2Dhw4ACTJ09m9uzZHDp0CLvdnv+cm5sbXbp04eGHH+aOO+7AbC75zuy0adNo3bo1HTt2vOQ+0dHRREVF5T9OT08nMDCQXr164eXl5ZAcVquVuLg4evbsiaurq0PGNFJ5ree9iK4M+GgNKenZbDY3ZHSf5kZHK5by+vmoHuekepxbSdRz4cxGZ3bkyBFGjx7NF198Qe3atenYsSOhoaFUqlSJEydO8Ntvv/HWW29Rv359xowZw8CBA42OLFLuJR7PZOj01aSfy6Vdvep8MqwDHq5qaohI6ShyY+Pxxx9n5syZ9O7dm1dffZWOHTtSu3bt/EnE1q1bWbp0KaNHj2bs2LF8+umnXHPNNZcd08fHB4vFQkpKSoHtKSkpBAQEXPbYjIwMZs+ezbhx4y67n7u7+0XPJHF1dXX4pLYkxjRSeavHx8uTN+8MYdj01cxamcTNrWrRqbGP0bGKrbx9PqrHuake5+bIesrC+9K2bVuGDRvGunXrCA4Ovug+WVlZfP/990ycOJGDBw/y9NNPl3JKkYrjdA7cP3MdaWdzCK7lxacRHansbugV7yJSwRT5N07lypXZt28f3t7ehZ7z8/Pjxhtv5MYbb2TMmDHExsZy8ODBKzY23NzcaN++PfHx8QwYMAAAm81GfHw8kZGRlz32m2++ITs7m3vvvbeoJYhwfVNfhoTV44tVSfx37mZin+hCVQ/nn8SLiMhftm/fftH5yN9VqlSJQYMGMWjQII4fP15KyUQqntNZVibvsHA0M4v63p7MfKAj1SppbiUipavI14vExMRccRJxwU033cTtt99epH2joqKYOnUqM2fOZMeOHTz66KNkZGQQEREBwNChQwssLnrBtGnTGDBgQJEziVzwfJ8WBNasxOFTWbz68w6j44iIyFW62r/7NVcQKRlZOXn85/MNHM004VvFjVkPhOFb9erW3BMRcYRiL4SRm5vLr7/+ykcffcSZM2eA89e8nj179qrGGThwIG+99RajR48mNDSUjRs3Ehsbm7+gaFJSEkePHi1wzM6dO1m2bBkPPvhgceNLBVbZ3YW37wrFZII5aw+yOCHlygeJiIjTmjVrFp07d6Z27dokJiYCMHHiRH744QeDk4mUX9Y8GyO/XM+6pFNUstiZPqw99bwduzC/iEhRFauxkZiYSOvWrenfvz8jR44kNTUVgDfeeKNY17BGRkaSmJhIdnY2q1atIiwsLP+5JUuWMGPGjAL7N2vWDLvdTs+ePYsTX4SODWry0HUNAHj22y2czMgxOJGIiBTH5MmTiYqKok+fPpw6dYq8vDwAqlevzsSJE40NJ1JO2Wx2np27mcUJx3B3MTO8eR7NA6oaHUtEKrBiNTZGjRpFhw4dOHnyJJUqVcrffttttxEfH++wcCIl6alezWjsV4XUM9mM/nGb0XFERKQY3n//faZOncoLL7yAxfLXHRg6dOjAli1bDEwmUj7Z7XZeW7CD7zYcxmI28f49ITRyzI0GRUSKrViNjaVLl/Liiy/i5uZWYHtQUBCHDx92SDCRkubhamHC3SFYzCZ+2nSEnzcfMTqSiIhcpf3799O2bdtC293d3cnIyDAgkUj5NnXpPqYt2w/A/+5sww3NfA1OJCJSzMaGzWbLP9Xz7w4dOkTVqjoNTcqONnWrM/KGxgC8+P1Wkk+fMziRiIhcjQYNGrBx48ZC22NjY2nRokXpBxIpx37adITxCxIAeKFPC25vV9fgRCIi5xWrsdGrV68C162aTCbOnj3LmDFj6NOnj6OyiZSKyBsa06qOF6cyrTz9zSZsNrvRkUREpIiioqIYOXIkc+bMwW63s3r1al577TWio6N55plnjI4nUm6s3n+Cp77eBMD9nYJ4qEsDgxOJiPzFpTgHvf322/Tu3Zvg4GDOnTvH4MGD2b17Nz4+Pnz11VeOzihSotxczEwc2JZb3l/Ksj1pTP9zPw91aWh0LBERKYKHHnqISpUq8eKLL5KZmcngwYOpXbs27777Lvfcc4/R8UTKhT3HzjD8s7Xk5Nno3dKfl24JxmQyGR1LRCRfsRobdevWZdOmTcyZM4dNmzZx9uxZHnzwQYYMGVJgMVGRsqKxXxVeuiWYF+Zt5c3YnXRu7EOLWloJS0SkLBgyZAhDhgwhMzOTs2fP4ufnZ3QkkXLj2JlzDJu+htNZVtrWq86797TFYlZTQ0ScS7EaGwAuLi75EwmR8mBwx3r8lpDKrztSGDV7Az9GXoeHq+XKB4qIiGGysrKw2+14enri6elJamoqEydOJDg4mF69ehkdT6RMy8jO5YEZazh8Kosgb08+GdpBcyMRcUrFWmNj5syZzJ8/P//xM888Q/Xq1enUqROJiYkOCydSmkwmE2/c0RqfKu7sSjnL678kGB1JRESuoH///nz22WcAnDp1io4dO/L222/Tv39/Jk+ebHA6kbIrN89G5Jfr2Xo4nZqV3ZgR0RHvKu5GxxIRuahiNTbGjx+ff8nJihUr+OCDD3jzzTfx8fHhySefdGhAkdLkXcWdt+5qA8CM5QdYsvOYwYlERORy1q9fT5cuXQCYO3cuAQEBJCYm8tlnn/Hee+8ZnE6kbLLb7Yz+cRu/7UzF3cXMJ8M6EORT2ehYIiKXVKzGxsGDB2nc+PwtMr///nvuvPNOHn74YWJiYli6dKlDA4qUtm7N/Li/UxAAT3+zmeNns40NJCIil5SZmZl/q/lFixZx++23Yzabufbaa3UWqUgxTf/zAF+uSsJkgnfvaUu7ejWMjiQiclnFamxUqVKF48ePA+cnET179gTAw8ODrKwsx6UTMchzNzenqX8V0s5m8+y3W7DbdQtYERFn1LhxY77//nsOHjzIwoUL89fVOHbsGF5eWgRa5Gr9lnCM1+ZvB+D5m1twU6sAgxOJiFxZsRobPXv25KGHHuKhhx5i165d9OnTB4Bt27YRFBTkyHwihvBwtTBxYFvcLGZ+3ZHCl6uTjI4kIiIXMXr0aJ5++mmCgoIICwsjPDwcOP/FS9u2bQ1OJ1K27Ew+w2NfbcBmh4EdAnmoSwOjI4mIFEmxGhuTJk0iPDyc1NRUvv32W7y9vQFYt24dgwYNcmhAEaME1/bimZuaAfDKz9vZlXLG4EQiIvJPd955J0lJSaxdu5bY2Nj87d27d+edd94xMJlI2ZJ2NpsHZ67hbHYuYQ1q8sqAVphMuq2riJQNxbrda/Xq1fnggw8KbR87duy/DiTiTB7o3IDfd6WydHcakV+u54eR11HJTbc5ExFxJgEBAQQEFDxdvmPHjgalESl7snPzeGTWOg6dPH9b1yn3tsfNpVjff4qIGOJf/cbKzMwkISGBzZs3F/gRKS/MZhMT7g7Ft+r5W8CO+3m70ZFEROQf1q5dyzPPPMM999zD7bffXuDnak2aNImgoCA8PDwICwtj9erVRTpu9uzZmEwmBgwYcNWvKWIku91O9LdbWJt4kqoeLnwy7BpqVHYzOpaIyFUpVmMjNTWVvn37UrVqVVq2bEnbtm0L/IiUJ75V3Zk4MBSTCb5ancTPm48YHUlERP7f7Nmz6dSpEzt27GDevHlYrVa2bdvG4sWLqVat2lWNNWfOHKKiohgzZgzr168nJCSE3r17c+zY5W/9feDAAZ5++un8286KlCUfLtnLdxsOYzGbmDykPY39qhgdSUTkqhWrsfHEE09w+vRpVq1aRaVKlYiNjWXmzJk0adKEH3/80dEZRQzXubEPI7udv8Vx9LdbSDqeaXAiEREBGD9+PO+88w4//fQTbm5uvPvuuyQkJHD33XdTr169qxprwoQJDB8+nIiICIKDg5kyZQqenp5Mnz79ksfk5eUxZMgQxo4dS8OGDf9tOSKlauG2ZP63cCcAL9/akuua+BicSESkeIq1xsbixYv54Ycf6NChA2azmfr169OzZ0+8vLyIiYmhb9++js4pYrgnejRh5b7jrE08SeRX65n7SCddfyoiYrC9e/fmzzvc3NzIyMjAZDLx5JNPcuONNxZ5/a+cnBzWrVtHdHR0/jaz2UyPHj1YsWLFJY8bN24cfn5+PPjggyxduvSKr5OdnU12dnb+4/T0dACsVitWq7VIWa/kwjiOGs9oqqdk7D52lqg5GwG4LyyQe9rXLlYmZ6nHUVSPc1M9zq0k6inqWMVqbGRkZODn5wdAjRo1SE1NpWnTprRu3Zr169cXZ0gRp+diMfPuoLb0eXcpmw+d5s3YBF68JdjoWCIiFVqNGjU4c+b8Xavq1KnD1q1bad26NadOnSIzs+hn16WlpZGXl4e/v3+B7f7+/iQkJFz0mGXLljFt2jQ2btxY5NeJiYm5aLNl0aJFeHp6FnmcooiLi3PoeEZTPY6TmQtvb7GQkWOiiZeNtqb9LFiw/1+Nqc/Huake56Z6Lq2of5cXq7HRrFkzdu7cSVBQECEhIXz00UcEBQUxZcoUatWqVZwhRcqEOtUr8dZdIQz/bC2fLNtPp8be3Njc/8oHiohIiejatStxcXG0bt2au+66i1GjRrF48WLi4uLo3r17ib3umTNnuO+++5g6dSo+PkU/fT86OpqoqKj8x+np6QQGBtKrVy+8vLwcks1qtRIXF0fPnj1xdXV1yJhGUj2OlWez85/PN5B2Lo061T2Y9ci1eP+LxUKNrsfRVI9zUz3OrSTquXBm45UUq7ExatQojh49CsCYMWO46aab+OKLL3Bzc2PGjBnFGVKkzOgZ7M/9nYKYsfwAT329iV9GdSWgmofRsUREKqQPPviAc+fOAfDCCy/g6urK8uXLueOOO3jxxReLPI6Pjw8Wi4WUlJQC21NSUgrdShbOXwJz4MAB+vXrl7/NZrMB4OLiws6dO2nUqFGh49zd3XF3dy+03dXV1eGT2pIY00iqxzHeiU3g991peLia+ei+DgRUr+yQcfX5ODfV49xUz+XHKopiNTbuvffe/P/fvn17EhMTSUhIoF69elf1rYVIWRXdpzlrE0+w9XA6j321ni+HX4urRettiIiUtpo1a+b/f7PZzHPPPVescdzc3Gjfvj3x8fH5t2y12WzEx8cTGRlZaP/mzZuzZcuWAttefPFFzpw5w7vvvktgYGCxcoiUpPmbj/Lhkr0AvHFHG1rVubo7B4mIOKtiNTb+ydPTk3bt2jliKJEywd3FwvuD2tHv/WWsOXCS/y3cyfN9WhgdS0SkQrLZbOzZs4djx47lnzVxQdeuXYs8TlRUFMOGDaNDhw507NiRiRMnkpGRQUREBABDhw6lTp06xMTE4OHhQatWrQocX716dYBC20WcQUJyOk9/swmA4V0a0D+0jsGJREQcp1iNjby8PGbMmEF8fPxFJxGLFy92SDgRZ9bApzJv3dWGRz5fz8d/7KNdvRrc1Krw6coiIlJyVq5cyeDBg0lMTMRutxd4zmQykZeXV+SxBg4cSGpqKqNHjyY5OZnQ0FBiY2PzFxRNSkrCbNbZeVL2nMrM4eHP1pFlzaNzY2+evam50ZFERByq2GtszJgxg759+9KqVStMJpOjc4mUCTe1qsVD1zXgk2X7+e83m2gWUJUGPo65VlVERK7skUceoUOHDsyfP59atWr96zlJZGTkRS89AViyZMllj9U6Y+KM8mx2HvtqA0knMqlboxIfDGqHiy6fFZFypliNjdmzZ/P111/Tp08fR+cRKXOevbk5mw6dYs2Bkzz6+TrmjehMJTeL0bFERCqE3bt3M3fuXBo3bmx0FBGnNPHXXSz9/8VCP76vAzX+xR1QREScVbHatW5ubppAiPw/V4uZDwa3w6eKGwnJZ3jph62FTocWEZGSERYWxp49e4yOIeKUfks4xvuLz//38frtbQiu7ZhbCouIOJtinbHx1FNP8e677/LBBx/oMhQRwN/Lg/cGteXeT1Yxd90hrgmqwcBr6hkdS0SkXNq8eXP+/3/sscd46qmnSE5OpnXr1oVuC9emTZvSjifiFA6eyOSJORsBuPfaegxoq8VCRaT8KnJj4/bbby/wePHixfzyyy+0bNmy0CTiu+++c0w6kTKkUyMfnurVjP8t3MlLP2yjZe1quo2aiEgJCA0NxWQyFTg77oEHHsj//xeeu9rFQ0XKi+zcPEZ+uZ7TWVZC6lbjpVuCjY4kIlKiitzYqFat4D/QbrvtNoeHESnrHr2+EesTTxKfcIwRX6znp8jrqObpeuUDRUSkyPbv3290BBGn9srP29l86DTVPV2ZNKQd7i5a+0tEyrciNzY+/fTTkswhUi6YzSYm3B1K3/eXknQik1FzNjBt2DVYzLpkS0TEUerXr290BBGn9f2Gw3y+MgmTCd4ZGErdGp5GRxIRKXFXvXjoypUreeGFF/jvf/9LbGxsSWQSKdOqeboy5d72eLiaWbIzlbcX7TQ6kohIubZz504iIyPp3r073bt3JzIykp079btXKp5dKWeI/m4LAI/d0JgbmvkZnEhEpHRcVWNj7ty5dO7cmXfffZdPPvmEvn378tZbb5VUNpEyq1Wdarxxx/kF6z5cspf5m48anEhEpHz69ttvadWqFevWrSMkJISQkBDWr19Pq1at+Pbbb42OJ1Jqzmbn8sjn68iy5tGliQ+jejQ1OpKISKm5qsZGTEwMw4cP5/Tp05w8eZJXX32V8ePH/6sAkyZNIigoCA8PD8LCwli9evVl9z916hQjR46kVq1auLu707RpUxYsWPCvMoiUhP6hdRjepQEAT3+ziYTkdIMTiYiUP8888wzR0dGsWLGCCRMmMGHCBJYvX87zzz/PM888Y3Q8kVJht9t57tvN7EvNoFY1DyYODNVlsCJSoVxVY2Pnzp08/fTTWCznFyB66qmnOHPmDMeOHSvWi8+ZM4eoqCjGjBnD+vXrCQkJoXfv3pccLycnh549e3LgwAHmzp3Lzp07mTp1KnXq6PZV4pyevak5nRt7k2XN4+HP1nEqM8foSCIi5crRo0cZOnRooe333nsvR4/qbDmpGL5afZCfNx/FxWzig8Ht8K7ibnQkEZFSdVWNjczMTLy8vPIfu7m54eHhwdmzZ4v14hMmTGD48OFEREQQHBzMlClT8PT0ZPr06Rfdf/r06Zw4cYLvv/+ezp07ExQUxPXXX09ISEixXl+kpLlYzHwwqB11a1Qi6UQmj321gTyb/coHiohIkXTr1o2lS5cW2r5s2TK6dOliQCKR0pWQnM7Yn7YB8N/ezWhfv4bBiURESl+R74pywSeffEKVKlXyH+fm5jJjxgx8fHzytz3++ONXHCcnJ4d169YRHR2dv81sNtOjRw9WrFhx0WN+/PFHwsPDGTlyJD/88AO+vr4MHjyYZ599Nv8skn/Kzs4mOzs7/3F6+vnLAaxWK1ar9Yo5i+LCOI4az2iqx7GquJn4cFAod09dxdLdaby+YDvP9C7+da9G1+Noqse5qR7nVhL1lLX35tZbb+XZZ59l3bp1XHvttcD5hc6/+eYbxo4dy48//lhgX5HyJDMnl8gvN5Cda6NbM1+Gd2lodCQREUNcVWOjXr16TJ06tcC2gIAAZs2alf/YZDIVqbGRlpZGXl4e/v7+Bbb7+/uTkJBw0WP27dvH4sWLGTJkCAsWLGDPnj2MGDECq9XKmDFjLnpMTEwMY8eOLbR90aJFeHo69vZXcXFxDh3PaKrHsQYGmZi528LUZQfISdlLO59/d+aG0fU4mupxbqrHuTmynszMTIeNVRpGjBgBwIcffsiHH3540efg/PwkLy+vVLOJlLSxP25nz7Gz+FV15627QjBrXQ0RqaCuqrFx4MCBEopRNDabDT8/Pz7++GMsFgvt27fn8OHD/O9//7tkYyM6OpqoqKj8x+np6QQGBtKrV68Cl9X8G1arlbi4OHr27Imrq6tDxjSS6ikZfQC3hbuYuuwAcw640r/7NbSuU+2qx3GWehxF9Tg31ePcSqKeC2c2lhU2m83oCCKG+GHjYeasPYjJBBMHhuKjdTVEpAK76ktRHMXHxweLxUJKSkqB7SkpKQQEBFz0mFq1auHq6lrgspMWLVqQnJxMTk4Obm5uhY5xd3fH3b3wL3pXV1eHT2pLYkwjqR7He65PMLtTM1iyM5VHv9zIDyOvI6CaR7HGcoZ6HEn1ODfV49wcWU95el9EyqsDaRk8/90WAB67oTGdGvtc4QgRkfKtyIuHzp49u8iDHjx4kD///POy+7i5udG+fXvi4+Pzt9lsNuLj4wkPD7/oMZ07d2bPnj0Fvp3ZtWsXtWrVumhTQ8TZWMwm3hvUliZ+VUhJz2b4Z2vJytGp0SIiV8PRcxKRsiQ7N4/Ir9aTkZNHx6CaPN69idGRREQMV+TGxuTJk2nRogVvvvkmO3bsKPT86dOnWbBgAYMHD6Zdu3YcP378imNGRUUxdepUZs6cyY4dO3j00UfJyMggIiICgKFDhxZYXPTRRx/lxIkTjBo1il27djF//nzGjx/PyJEji1qGiOG8PFyZNuwaalZ2Y8vh00R9vRGb7pQiIlJkJTEnESkrXv8lga2H06nu6cq7g0JxsVzVTQ5FRMqlIl+K8vvvv/Pjjz/y/vvvEx0dTeXKlfH398fDw4OTJ0+SnJyMj48P999/P1u3bi20KOjFDBw4kNTUVEaPHk1ycjKhoaHExsbmH5uUlITZ/Ncv68DAQBYuXMiTTz5JmzZtqFOnDqNGjeLZZ58tRukixqnn7cmUe9sz5JOV/LI1mXd+3cVTvZoZHUtEpEwoiTmJSFnw6/YUPv3zAABv3RlCrWqVjA0kIuIkrmqNjVtvvZVbb72VtLQ0li1bRmJiIllZWfj4+NC2bVvatm1boBFRFJGRkURGRl70uSVLlhTaFh4ezsqVK6/qNUScUccGNYm5vQ1Pf7OJ9xfvoZFvFQa0rWN0LBGRMqEk5iQizuzYmXM88+1mAB7o3IAewWrYiYhcUKzFQ318fBgwYICDo4hUPHe2r8ueY2eZ8vtenvl2M4E1PWlfv4bRsUREygzNSaQisNnsPP3NZk5k5NCilhfP3qyzPEVE/q5YX2UcPHiQQ4cO5T9evXo1TzzxBB9//LHDgolUFM/0bkavYH9ycm38Z9ZaDp3MNDqSiEiZoTmJVAQzVxzgj12puLuYefeeUNxdLFc+SESkAilWY2Pw4MH89ttvACQnJ9OjRw9Wr17NCy+8wLhx4xwaUKS8M5tNvDMwlBa1vEg7m0PEp2s4nWU1OpaISJmgOYmUdzuTzxDzSwIAz/dpQVP/qgYnEhFxPsVqbGzdupWOHTsC8PXXX9O6dWuWL1/OF198wYwZMxyZT6RCqOzuwrRhHfD3cmf3sbP8Z9ZasnN1G1gRkSvRnETKs+zcPEbN3kBOro1uzXwZGl7f6EgiIk6pWI0Nq9WKu7s7AL/++iu33norAM2bN+fo0aOOSydSgdSuXolP7+9IFXcXVu47wTNzN2O36zawIiKXozmJlGf/i91JQvIZalZ2480722AymYyOJCLilIrV2GjZsiVTpkxh6dKlxMXFcdNNNwFw5MgRvL29HRpQpCIJru3F5Hvb4WI28cPGI/xv4U6jI4mIODXNSaS8Wro7lU+W7QfgzTva4FfVw+BEIiLOq1iNjTfeeIOPPvqIbt26MWjQIEJCQgD48ccf808HFZHi6dLEl5jbWwPw4ZK9fLEq0eBEIiLOS3MSKY9OZuTw9DebABgSVk+3dhURuYJi3e61W7dupKWlkZ6eTo0af92a8uGHH8bT09Nh4UQqqrs6BHL4VBYTf93NS99vJcDLg+4tNKkREfknzUmkvLHb7Tz33WZS0rNp6FuZF/sGGx1JRMTpFauxAWCxWMjNzWXZsmUANGvWjKCgIEflEqnwRnVvwuGTWXyz7hCRX25gzn+upU3d6kbHEhFxOpqTSHnyzdpDLNyWgqvFxHv3tKWSm27tKiJyJcW6FCUjI4MHHniAWrVq0bVrV7p27Urt2rV58MEHyczMdHRGkQrJZDIx/vbWdGniQ5Y1jwdmrCHxeIbRsUREnIrmJFKeHDyRybiftwPwZM+mtKpTzeBEIiJlQ7EaG1FRUfz+++/89NNPnDp1ilOnTvHDDz/w+++/89RTTzk6o0iF5Wox8+GQdgTX8iLtbA73TVvNsTPZRscSEXEampNIeWGz2Xlm7mbOZufSvn4N/tO1kdGRRETKjGI1Nr799lumTZvGzTffjJeXF15eXvTp04epU6cyd+5cR2cUqdCqergy44FrqFfTk6QTmTw4cx2ZuUanEhFxDpqTSHkxc8UBVuw7TiVXC2/fFYLFrFu7iogUVbEaG5mZmfj7F17I0M/PT6d9ipQAv6oezHqwIz5V3ElIOcsnCRbOWfOMjiUiYjjNSaQ82Jt6ltd/SQDg+T7NCfKpbHAiEZGypViNjfDwcMaMGcO5c+fyt2VlZTF27FjCw8MdFk5E/lLfuzKfPdCRqh4u7D1jYtSczeTm2YyOJSJiKM1JpKzLzbPx9DebyM61cV1jH4aE1Tc6kohImVOsu6JMnDiRm266ibp16+bfL37Tpk24u7uzaNEihwYUkb8E1/bioyFtGTZ9NYt3pvLst1v4351tMOt0VRGpoDQnkbLuoz/2sSHpFFXdXXhTf6eLiBRLsc7YaN26Nbt37yYmJobQ0FBCQ0N5/fXX2bNnDy1btnR0RhH5m2uCanB/UxsWs4lv1x8i5pcd2O12o2OJiBjC0XOSSZMmERQUhIeHB2FhYaxevfqS+3733Xd06NCB6tWrU7lyZUJDQ5k1a9a/KUcqmB1H05n46y4AxtzaktrVKxmcSESkbCrWGRsxMTH4+/szfPjwAtunT59Oamoqzz77rEPCicjFtappZ/yAYJ79bhtTl+6nRmU3RnRrbHQsEZFS58g5yZw5c4iKimLKlCmEhYUxceJEevfuzc6dO/Hz8yu0f82aNXnhhRdo3rw5bm5u/Pzzz0RERODn50fv3r3/dW1SvuXk2oj6ehPWPDs9WvhzR7s6RkcSESmzinXGxkcffUTz5s0LbW/ZsiVTpkz516FE5Mpub1uHF/u2AODN2J3MXH7A2EAiIgZw5JxkwoQJDB8+nIiICIKDg5kyZQqenp5Mnz79ovt369aN2267jRYtWtCoUSNGjRpFmzZtWLZsWbFqkYrlgyV72XE0nRqeroy/vRUmky5BEREprmKdsZGcnEytWrUKbff19eXo0aP/OpSIFM1DXRqSnmXlvcV7GPPjNtxdzNzTsZ7RsURESo2j5iQ5OTmsW7eO6Ojo/G1ms5kePXqwYsWKKx5vt9tZvHgxO3fu5I033rjkftnZ2WRnZ+c/Tk9PB8BqtWK1Wouc93IujOOo8YxWHus5cAY+2rYfgLH9WlDDw1Jm6yuPn8/f/7esUz3OTfUUfcwrKVZjIzAwkD///JMGDRoU2P7nn39Su3bt4gwpIsX0ZM+mZFnzmLp0P9HztuDhamFAW53OKiIVg6PmJGlpaeTl5RW6day/vz8JCQmXPO706dPUqVOH7OxsLBYLH374IT179rzk/jExMYwdO7bQ9kWLFuHp6VnkvEURFxfn0PGMVl7qsdrgy70WbHZo523DnrSeBUlGp/r3ysvnc4HqcW6qx7k5sp6i3rq9WI2N4cOH88QTT2C1WrnxxhsBiI+P55lnnuGpp54qzpAiUkwmk4nn+7Qgy5rH5yuTeOqbTbi7mLm5deFvMEVEyhuj5yRVq1Zl48aNnD17lvj4eKKiomjYsCHdunW76P7R0dFERUXlP05PTycwMJBevXrh5eXlkExWq5W4uDh69uyJq6urQ8Y0Unmr583YBFKykvCu7MZHD3emumfZrqm8fT6qx7mpHudWEvVcOLPxSorV2Pjvf//L8ePHGTFiBDk5OQB4eHjw7LPPFjiFU0RKh8lkYtytrThntTF33SEen72Bj1zN3Njc/8oHi4iUYY6ak/j4+GCxWEhJSSmwPSUlhYCAgEseZzabadz4/OLNoaGh7Nixg5iYmEs2Ntzd3XF3dy+03dXV1eGT2pIY00jloZ4th04zfcVBAMbd2gLfao49S8dI5eHz+TvV49xUj3NzZD1FHadYi4eaTCbeeOMNUlNTWblyJZs2beLEiROMHj26OMOJiAOYzSbeuKMNt7SphTXPziOfr+fPPWlGxxIRKVGOmpO4ubnRvn174uPj87fZbDbi4+MJDw8v8jg2m63AGhoiF+Tk2vjv3E3k2ey09bbRK1hfPoiIOEqxzti4oEqVKlxzzTWOyiIi/5LFbOKdgaFk59qI257CQzPXMiPiGsIaehsdTUSkRDliThIVFcWwYcPo0KEDHTt2ZOLEiWRkZBAREQHA0KFDqVOnDjExMcD59TI6dOhAo0aNyM7OZsGCBcyaNYvJkyf/63qk/Jm8ZC8JyWeo4enKnQ2yjI4jIlKu/KvGhog4H1eLmQ8Gt2X4Z+v4Y1cqETPWMP3+a7hWzQ0RkcsaOHAgqampjB49muTkZEJDQ4mNjc1fUDQpKQmz+a+TXTMyMhgxYgSHDh2iUqVKNG/enM8//5yBAwcaVYI4qYTkdD74bTcAo/s2x3xog8GJRETKFzU2RMohdxcLH9/XnuGfrWXp7jQiPj3f3AhvpOaGiMjlREZGEhkZedHnlixZUuDxq6++yquvvloKqaQsy82z8czczVjz7PQM9qdv6wB+OWR0KhGR8qVYa2yIiPPzcLUwdWgHujb1JcuaR8SM1SzXmhsiIiKl6pNl+9l86DReHi68OqAVJpPJ6EgiIuWOGhsi5ZiH6/kzN65v6ss5q40HZq7RgqIiIiKlZG/qWSbE7QLgpVuC8ffyMDiRiEj5pMaGSDnn4Wrho/vac0Oz/29uzFjDst1qboiIiJSkPJudZ+ZuJifXRtemvtzZvq7RkUREyi01NkQqAA9XC1Pua8+Nzf3IzrXx4Mw1LN2danQsERGRcuuzFQdYl3iSym4WYm5vrUtQRERKkBobIhWEu4uFyfe2o0eLC82NtSxOSDE6loiISLmTdDyTN2N3AhDdpwV1qlcyOJGISPmmxoZIBeLuYuHDIe3pGexPTq6Nhz9bx/zNR42OJSIiUm7Y7Xaen7eFLGse1zasyeCO9YyOJCJS7qmxIVLBuLmY+XBIO24NqU2uzc5jX63n6zUHjY4lIiJSLny3/jDL9qTh7mLm9dvbYDbrEhQRkZLmFI2NSZMmERQUhIeHB2FhYaxevfqS+86YMQOTyVTgx8NDK0yLXA1Xi5l3BoYyqGMgNjs88+1mPv1zv9GxREREyrTjZ7N5df52AEb1aEKQT2WDE4mIVAyGNzbmzJlDVFQUY8aMYf369YSEhNC7d2+OHTt2yWO8vLw4evRo/k9iYmIpJhYpHyxmE+Nva81D1zUAYOxP2/lg8W7sdrvByURERMqmV+fv4GSmleYBVRnepaHRcUREKgzDGxsTJkxg+PDhREREEBwczJQpU/D09GT69OmXPMZkMhEQEJD/4+/vX4qJRcoPk8nEC31b8ESPJgC8tWgXr8cmqLkhIiJylf7Ylcq8DYcxmeD1O9rgajF8mi0iUmEY+hs3JyeHdevW0aNHj/xtZrOZHj16sGLFiksed/bsWerXr09gYCD9+/dn27ZtpRFXpFwymUw80aMpL/ZtAcBHv+/jpR+2kmdTc0NERKQoMnNyeeH7LQDc3ymI0MDqxgYSEalgXIx88bS0NPLy8gqdceHv709CQsJFj2nWrBnTp0+nTZs2nD59mrfeeotOnTqxbds26tatW2j/7OxssrOz8x+np6cDYLVasVqtDqnjwjiOGs9oqse5lVQ9w64NxN1iYvRP2/l8ZRJpZ7J5687WuLuUbP9Tn49zUz3OrSTqKS/vjUhpevfX3Rw8kUXtah481auZ0XFERCocQxsbxREeHk54eHj+406dOtGiRQs++ugjXnnllUL7x8TEMHbs2ELbFy1ahKenp0OzxcXFOXQ8o6ke51YS9XgBQxub+HyPmdhtKew5eJSHmtmoVAq/KfT5ODfV49wcWU9mZqbDxhKpCLYePs0ny84vwP3qba2o4l7mptciImWeob95fXx8sFgspKSkFNiekpJCQEBAkcZwdXWlbdu27Nmz56LPR0dHExUVlf84PT2dwMBAevXqhZeXV/HD/43VaiUuLo6ePXvi6urqkDGNpHqcW0nX0we4ce9xRny1kT3pMONgNaYNbYdfVXeHvxbo83F2qse5lUQ9F85sFJEry82zEf3dFvJsdvq2qcWNzbXum4iIEQxtbLi5udG+fXvi4+MZMGAAADabjfj4eCIjI4s0Rl5eHlu2bKFPnz4Xfd7d3R1398L/IHN1dXX4pLYkxjSS6nFuJVnP9c0DmPNwOPd/uoaE5DMMnLqaWQ+G0aAEb1unz8e5qR7n5sh6ytP7IlLSZiw/wJbDp/HycGFMv2Cj44iIVFiGL9ccFRXF1KlTmTlzJjt27ODRRx8lIyODiIgIAIYOHUp0dHT+/uPGjWPRokXs27eP9evXc++995KYmMhDDz1kVAki5VKrOtX47tFOBHl7cuhkFndMXs6mg6eMjiUiIuIUDp7I5O1FuwB4vk8L/Kp6GJxIRKTiMvwiwIEDB5Kamsro0aNJTk4mNDSU2NjY/AVFk5KSMJv/6r+cPHmS4cOHk5ycTI0aNWjfvj3Lly8nOFhdchFHq+ftydxHOxHx6Rq2HD7NoKkrmXxve65v6mt0NBEREcPY7XZe/H4rWdY8whrUZOA1gUZHEhGp0AxvbABERkZe8tKTJUuWFHj8zjvv8M4775RCKhEB8KnizlcPX8ujn69j6e40HpyxhlcHtOKejvWMjiYiImKIHzcd4fddqbi5mBl/e2tMJpPRkUREKjTDL0UREedXxd2FacOu4ba2dci12Xnuuy28EZuAzWY3OpqIiEipOpWZw7iftgPw2A2NaeRbxeBEIiKixoaIFImbi5kJd4cwqnsTACYv2ctjX23gnDXP4GQiIiKl543YBI5n5NDErwr/ub6R0XFERAQ1NkTkKphMJp7s2ZS37wrB1WJi/pajDJ66kuNns42OJiIiUuLWJZ7gq9UHARh/e2vcXDSVFhFxBvptLCJX7Y72dfnsgTC8PFxYn3SK2z5czp5jZ42OJSIiUmJy82y8MG8rAHd3qMs1QTUNTiQiIheosSEixRLeyJvvRnSmXk1Pkk5kcsfk5azYe9zoWCIiIiVixvIDJCSfobqnK8/d3MLoOCIi8jdqbIhIsTX2q8K8EZ1oW686p7Os3DdtFV+uSjI6loiIiEMdOZXFhLhdAETf3Jyald0MTiQiIn+nxoaI/CveVdz5avi13NKmFrk2O8/P28LoH7ZizbMZHU1ERMQhxv20ncycPDrUr8Fd7QONjiMiIv+gxoaI/GserhbeH9SW//ZuBsBnKxIZOm01JzNyDE4mIiLy7yxOSCF2WzIWs4lXb2uF2WwyOpKIiPyDGhsi4hAmk4mRNzTm4/vaU9nNwop9x7l10jJ2Jp8xOpqIiEixZOXkMfqHbQA8eF0Dmgd4GZxIREQuRo0NEXGoXi0D+G5EZwJrVuLgiSxu//BP4ranGB1LRETkqn3w224OncyidjUPRnVvYnQcERG5BDU2RMThmgVU5ceR1xHe0JuMnDwenrWWDxbvxm63Gx1NRESkSPYcO8PHf+wDYMytLans7mJwIhERuRQ1NkSkRNSo7MZnD3ZkWHh97HZ4a9EuHvl8HennrEZHExERuSy73c6L32/Fmmene3M/egX7Gx1JREQuQ40NESkxrhYzY/u34vXbW+NmMbNwWwr9P/hT626IiIhTm7fhMCv3ncDD1czLt7bEZNKCoSIizkyNDREpcfd0rMc3j4RTu5oH+9MyGDDpT37YeNjoWCIiIoWczrTy2vwdADzevQmBNT0NTiQiIleixoaIlIqQwOr8/HgXujTxIcuax6jZGxn70zaseTajo4mIiOR7Y2ECxzNyaOJXhYeua2h0HBERKQI1NkSk1NSs7MaMiI5E3tAYgE//PMB909dyOsfgYCIi/2/SpEkEBQXh4eFBWFgYq1evvuS+U6dOpUuXLtSoUYMaNWrQo0ePy+4vzm9D0km+Wp0EwCsDWuHmoqmyiEhZoN/WIlKqLGYTT/duxtShHajq7sK6pFP8b7OFVftPGB1NRCq4OXPmEBUVxZgxY1i/fj0hISH07t2bY8eOXXT/JUuWMGjQIH777TdWrFhBYGAgvXr14vBhXWpXFuXm2Xhh3lbsdrijXV2ubehtdCQRESkiNTZExBA9g/358bHraOpXhTNWE0M/XcvEX3eRZ9MtYUXEGBMmTGD48OFEREQQHBzMlClT8PT0ZPr06Rfd/4svvmDEiBGEhobSvHlzPvnkE2w2G/Hx8aWcXBxh5opEth9Np1olV57v09zoOCIichV0Q24RMUwDn8p885+OPDzlV1almpn4625W7TvBxHtC8ffyMDqeiFQgOTk5rFu3jujo6PxtZrOZHj16sGLFiiKNkZmZidVqpWbNmpfcJzs7m+zs7PzH6enpAFitVqxWx9wO+8I4jhrPaKVRT3L6OSYs2gnA0z2b4OVuLrHX0+fj3FSPc1M9zq0k6inqWGpsiIihPN1cGNzYxl1d2zD6px2s2HecPu8uZcLAUK5v6mt0PBGpINLS0sjLy8Pf37/Adn9/fxISEoo0xrPPPkvt2rXp0aPHJfeJiYlh7NixhbYvWrQIT0/H3n0jLi7OoeMZrSTr+XSXmYwcM0FV7FQ5tpkFCzaX2GtdoM/Huake56Z6nJsj68nMzCzSfmpsiIhT6B9am7ZB3kR+uYEdR9MZNn01j3ZrRFTPprhadNWciDi3119/ndmzZ7NkyRI8PC59xll0dDRRUVH5j9PT0/PX5vDy8nJIFqvVSlxcHD179sTV1dUhYxqppOv5Y3caG1esx2I28d7QcFrUqurw1/g7fT7OTfU4N9Xj3EqingtnNl6JGhsi4jQa+VZh3ohOvDZ/B7NWJjJ5yV5W7z/Be4PaUqd6JaPjiUg55uPjg8ViISUlpcD2lJQUAgICLnvsW2+9xeuvv86vv/5KmzZtLruvu7s77u7uhba7uro6fFJbEmMaqSTqOWfNY+zP58/Iub9TEG3qXfoyIkfT5+PcVI9zUz3OzZH1FHUcfQ0qIk7Fw9XCKwNa8eGQdufvmpJ4kpsn/sHPm48YHU1EyjE3Nzfat29fYOHPCwuBhoeHX/K4N998k1deeYXY2Fg6dOhQGlHFgT78bQ9JJzIJ8PLgyZ5NjY4jIiLFpMaGiDilPq1rMf/xLoQEVif9XC6RX24gas5GzpwrH4sriYjziYqKYurUqcycOZMdO3bw6KOPkpGRQUREBABDhw4tsLjoG2+8wUsvvcT06dMJCgoiOTmZ5ORkzp49a1QJchX2pp5lyu/7ABjTL5gq7jqRWUSkrFJjQ0ScVj1vT+Y+Es5jNzbGbILvNhymz3tLWXvghNHRRKQcGjhwIG+99RajR48mNDSUjRs3Ehsbm7+gaFJSEkePHs3ff/LkyeTk5HDnnXdSq1at/J+33nrLqBKkiOx2Oy99v5WcPBvdmvlyU6vLX24kIiLOTa1pEXFqrhYzT/VqxvVNfXlizkYOnsji7o9WMPKGxjzevYkWFhURh4qMjCQyMvKizy1ZsqTA4wMHDpR8ICkRP246wvK9x3F3MTPu1laYTCajI4mIyL+gfxGISJnQIagmv4zqwu3t6mCzw/uL93DnlBXsT8swOpqIiJQhp7OsvPLzDgAib2hMPW/H3mZXRERKnxobIlJmVPVwZcLdoXwwuC1eHi5sOniKvu8t5YtVidjtdqPjiYhIGfDWwp2knc2moW9lHr6+odFxRETEAdTYEJEy55Y2tYl9oivhDb3JzMnjhXlbuW/aag6fyjI6moiIOLFNB0/x+apEAF7t3wp3F4vBiURExBHU2BCRMql29Up88VAYo28JxsPVzLI9afR+5w/mrEnS2RsiIlJIns3Oi99vxW6HAaG16dTYx+hIIiLiIGpsiEiZZTabeOC6Bix4vAvt69fgbHYuz367hfs/XcPR0zp7Q0RE/vL5ykS2HD5NVQ8XXugbbHQcERFxIDU2RKTMa+hbha//E84LfVrg5mLm912p9HrnD75Ze1Bnb4iICMfSz/HWwp0APHNTc3yruhucSEREHEmNDREpFyxmE8O7NmTB410ICazOmXO5/HfuZh6cuVZnb4iIVHCvzN/BmexcQupWY3DHekbHERERB1NjQ0TKlcZ+Vfj2kXCevak5bhYzixOO0XPCH8xamYjNprM3REQqmqW7U/lp0xHMJnjtttZYzCajI4mIiIM5RWNj0qRJBAUF4eHhQVhYGKtXry7ScbNnz8ZkMjFgwICSDSgiZYqLxcyj3Rrx8+PX0bZedc5m5/LS91u5+6MV7E45Y3Q8EREpJeeseYz+YRsAQ8ODaFWnmsGJRESkJBje2JgzZw5RUVGMGTOG9evXExISQu/evTl27Nhljztw4ABPP/00Xbp0KaWkIlLWNPWvytxHOjH21pZUdrOwNvEkfd5bysRfd5Gdm2d0PBERKWEf/b6P/WkZ+FV1J6pXU6PjiIhICTG8sTFhwgSGDx9OREQEwcHBTJkyBU9PT6ZPn37JY/Ly8hgyZAhjx46lYcOGpZhWRMoai9nEsE5BxEVdT/fmfljz7Ez8dTd931vGusQTRscTEZESciAtg0lL9gDw0i3BeHm4GpxIRERKiouRL56Tk8O6deuIjo7O32Y2m+nRowcrVqy45HHjxo3Dz8+PBx98kKVLl172NbKzs8nOzs5/nJ6eDoDVasVqtf7LCsgf6+//W9apHuemeorHt7ILkweHsGBrCq/MT2DPsbPcOWUFg68J5KmejanqoAmvPh/npnqKPqZIWWa32xn94zZycm10aeLDLW1qGR1JRERKkKGNjbS0NPLy8vD39y+w3d/fn4SEhIses2zZMqZNm8bGjRuL9BoxMTGMHTu20PZFixbh6el51ZkvJy4uzqHjGU31ODfVUzwm4KkW8EOimVWpZr5YfZAfNyTRv76NDj52TA5aU06fj3NTPZeWmZnpsLFEjLJgSzJ/7ErFzcXMuP6tMDnql7uIiDglQxsbV+vMmTPcd999TJ06FR8fnyIdEx0dTVRUVP7j9PR0AgMD6dWrF15eXg7JZbVaiYuLo2fPnri6lv3THFWPc1M9jnEXsGLfcV7+aQf70jL5fI+FXbk1ePmWFjTxr1LscfX5ODfVc2UXzmwUKavOnLMy7ufzC4Y+en0jGvhUNjiRiIiUNEMbGz4+PlgsFlJSUgpsT0lJISAgoND+e/fu5cCBA/Tr1y9/m81mA8DFxYWdO3fSqFGjAse4u7vj7u5eaCxXV1eHT2pLYkwjqR7npnr+va7NAvilkS+fLN3P+4t3s/rASW79cAUPXNeAUd2bUNm9+L8i9fk4N9Vz+bFEyrIJcbtISc8myNuTR7s1uvIBIiJS5hm6eKibmxvt27cnPj4+f5vNZiM+Pp7w8PBC+zdv3pwtW7awcePG/J9bb72VG264gY0bNxIYGFia8UWkHHB3sTDyhsbEPXk9PYP9ybXZ+fiPffSY8DsLthzFbrcbHVFERIpo6+HTzFx+AIBXBrTCw9VibCARESkVhl+KEhUVxbBhw+jQoQMdO3Zk4sSJZGRkEBERAcDQoUOpU6cOMTExeHh40KpVqwLHV69eHaDQdhGRqxFY05OpQzuwOCGFMT9u4+CJLEZ8sZ4uTXx4+daWNPIt/uUpIiJS8mw2Oy9+vxWbHW5pU4suTXyNjiQiIqXE8MbGwIEDSU1NZfTo0SQnJxMaGkpsbGz+gqJJSUmYzYbflVZEKogbm/vTqZEPHy7Zy5Qle1m6O43e7/zBsE5BPN69CdUq6TR9ERFn9NWaJDYePEUVdxdeuiXY6DgiIlKKDG9sAERGRhIZGXnR55YsWXLZY2fMmOH4QCJSoXm4Wojq2ZTb29Zh3M/bWZxwjGnL9jNvw2Ge6tWUe66ph8WsFfZFRJxF2tls3vjl/B31nu7VFH8vD4MTiYhIadKpECIilxDkU5np91/DzAc60tivCicycnhh3lb6vreU5XvTjI4nIiL/b/z8HaSfy6VVHS/uCw8yOo6IiJQyNTZERK7g+qa+/DKqCy/3C6ZaJVcSks8weOoqHpm1jqTjmUbHExGp0JbtTuO7DYcxmeC1Aa11Rp2ISAWkxoaISBG4Wszc37kBS57uxtDw+ljMJmK3JdNjwu+8/ksC6eesRkcUEalwsnLyeH7eFgCGhQcREljd2EAiImIINTZERK5CjcpujOvfil9GdaFLEx9y8mxM+X0v17/5G9OX7Sc712Z0RBGRCuO9xbtJOpFJrWoePN27mdFxRETEIGpsiIgUQ1P/qnz2QEemDetAY78qnMy0Mu7n7dz03p+sTzNhs9mNjigiUq7tOJrOx3/sA2Bc/1ZUcXeKNfFFRMQAamyIiBSTyWSiewt/Ykd1Ieb21vhVdefQySxm7rZw58ertMCoiEgJybPZif5uC3k2Oze3CqBnsL/RkURExEBqbIiI/EsuFjODOtZjyX+78UT3xrhb7Gw5nM7gqauI+HQ1CcnpRkcUESlXPl+ZyMaDp6jq7sLLt7Y0Oo6IiBhM5+yJiDiIp5sLI7s1xOd0AjstDfhqzSF+25nKkl2p3Na2Dk90b0o9b0+jY4qIlGlHT2fxZmwCAM/c3Bx/Lw+DE4mIiNF0xoaIiINVdYXRt7QgLup6+rauhd0O360/zI1vL+GFeVs4ejrL6IgiImXWmB+2kZGTR/v6NRjSsZ7RcURExAmosSEiUkIa+FRm0pB2/DCyM12a+JBrs/PFqiSu/98SXvl5O2lns42OKCJSpsRuTWbR9hRczCbG39Yas9lkdCQREXECamyIiJSwkMDqzHowjDkPX0vHoJrk5NqYtmw/Xd/8jTdjEzidaTU6ooiI0ztzzsqYH7cC8Mj1jWgWUNXgRCIi4izU2BARKSVhDb2Z859r+eyBjrSpW43MnDw+XLKX695czHvxuzlzTg0OEZFLeStuNynp2QR5exJ5Y2Oj44iIiBNRY0NEpBSZTCa6NvXlh5Gd+fi+9jQPqMqZc7lMiNvFdW/8xnvxuzmdpQaHiMjf7T5t4svVhwAYf1trPFwtBicSERFnosaGiIgBTCYTvVoGsODxLrw3qC0NfStzOst6vsHx+mImLNrJqcwco2OKiBguMyeXr/aen7IODqtHp8Y+Bif6v/buPCyqev8D+HtmmBl2kB0BRRZFXABRFDVBRanMtF+31BZJy5tdedIoS1q0rhnaYrSYdLvXzHzMpVIrvCqhuG+BKOKOC8oOIiAo23x/f3idGtkVmDPwfj0Pz71z+J5zPp++ncvnfuac7yEiIqlhY4OISI/kchke9euKhFdC8PmUAHg7mKOssgaf7ziPYYt3YMnW0yjiIqNE7WbZsmVwd3eHsbExBg8ejMOHDzc4Nj09HY8//jjc3d0hk8kQGxvbfoF2IrGJGSiqlMHJUo3oh3z0HQ4REUkQGxtERBKg+F+DY9ucEVj+9AD0drZEeVUtlidlYPiSnVgUfxL5Zbf0HSZRh7Zu3TpERUVhwYIFSElJgZ+fH8LDw5Gfn1/v+IqKCnh4eGDx4sVwcnJq52g7h+TLxVh54DIA4P0JvrAwVuo5IiIikiI2NoiIJEQul+Ghfs7Y8vJwfDN1IPq7WuFmdS2+2XMRDyzZiXd/ScfV4gp9h0nUIS1duhQzZszAtGnT4Ovri7i4OJiammLFihX1jh80aBA++ugjTJ48GWq1up2j7fhuVdfi9R+PQQggyF6DkJ72+g6JiIgkio0NIiIJkslkGOPriM2zhuHbaYMQ0M0alTUarNx/CSEfJWHO2qM4lVOq7zCJOoyqqiokJycjLCxMu00ulyMsLAwHDhzQY2Sd1+eJ55BRUA57cxUmdtfoOxwiIpIwI30HQEREDZPJZBjZywGhPe2xP6MIy5MysPd8ITalZmNTajZCetpjZognhnjYQCaT6TtcIoNVWFiI2tpaODo66mx3dHTE6dOnW+08lZWVqKz8c92c0tLbDcrq6mpUV7fOG5HuHKe1jqcPJ7JK8fXuCwCA+eN6QpOZatD5/FVHmJ+/Yj7Sxnykjfk0/5hNYWODiMgAyGQyDPOywzAvO5zIKkHcrgxsScvBrrMF2HW2AH5u1ngpxANjfJ2gkLPBQSRVMTExeO+99+ps3759O0xNTVv1XAkJCa16vPZSowE+TlOgViPDAFsNNJmpAAw3n4YwH2ljPtLGfKStNfOpqGjeI9hsbBARGZi+Llb48qkBuFxUjm/2XMCGP67i2JXrmLk6BR52ZpgxwgOPBbjAWKnQd6hEBsPOzg4KhQJ5eXk62/Py8lp1YdDo6GhERUVpP5eWlsLNzQ1jx46FpaVlq5yjuroaCQkJGDNmDJRKw1ts89PfzyOn4gK6mCrx1YxhsFTJDDqfuxn6/NyN+Ugb85E25tO0O3c2NoWNDSIiA9Xd1gzvT+yHOWE9sXLfJaw6cAkXCssR/XMaPt52Bk8P6Y5nhnSDg4WxvkMlkjyVSoXAwEAkJiZi4sSJAACNRoPExERERka22nnUanW9C40qlcpWL2rb4phtLSWzGHH/ewRl0WP94GRtpr0N2RDzaQzzkTbmI23MR9paM5/mHoeNDSIiA2dnrsZr4b0wM9QTaw9nYsXei8guuYXPE88hLikD4/26Yvpwd/TpaqXvUIkkLSoqChERERg4cCCCgoIQGxuL8vJyTJs2DQAwdepUuLi4ICYmBsDtBUdPnjyp/e9ZWVlITU2Fubk5vLy89JaHoaqoqsGr649BI4DHAlzwcD9nfYdEREQGgo0NIqIOwlxthBce8MBzQ92xLT0P/9l7ASmZ1/FTylX8lHIVQzxsMH1YD4zu7ch1OIjqMWnSJBQUFGD+/PnIzc2Fv78/tm7dql1QNDMzE3L5ny+Uy87ORkBAgPbzxx9/jI8//hghISFISkpq7/ANXsyW07hYWA4nS2O8+2gffYdDREQGhI0NIqIOxkghx7j+zhjX3xlHM4uxYt8lbEnLwcEL13DwwjV0tzXFc0Pd8cRAN5ir+WeA6K8iIyMbfPTk7maFu7s7hBDtEFXHt+tsAb4/eBkA8PETfrAy6Ti3ZBMRUduTNz2EiIgMVUC3LvhiSgD2vjESL4V6wspEictFFXjv15MI/iAR7/6SjvP5N/QdJhF1YtcrqvD6j8cAAM8Ndcdwbzs9R0RERIaGjQ0iok7A2coEbzzogwPRo/D+xL7wsDdDWWUNVu6/hLClu/DUNwfx37Qc1NRq9B0qEXUy8zenI6+0Eh72ZnjjQR99h0NERAaI9yATEXUipiojPDOkO54K6oZ9GYVYdeAyEk/lYX9GEfZnFMHJ0hhTgrphSpAbHCz5NhUialsbj17FL8eyoZDLsPRJf5io+JpqIiJqOTY2iIg6Iblchge87fGAtz2yrt/EmkOXsfbwFeSW3sKnv5/FFzvOIbyvE6YMdAGXECCitnCpsBxvbzwBAHh5lDf83az1GxARERksNjaIiDo5F2sTzA33wcujvbH1RC5WH7yMI5eKEX88B/HHc+BkokChzWX8bWA3WJuq9B0uEXUAVTUavLz2KMqrahHUwwaRo/h6XCIiundsbBAREQBAbaTABH8XTPB3wcnsUqw+dBmbjmYh92Yt3t9yBh9uP4eH+zph0qBuGOJhA5mMr4wlonvz0bbTOH61BNamSnw22Z+voCYiovvCxUOJiKgO366W+OCxftg7dwT+1qMWPk4WqKrRYFNqNqZ8cxAjP07C8qQMFJRV6jtUIjIwO8/k45s9FwEAHz7eH85WJnqOiIiIDB3v2CAiogZZGCvxgJPABw8Nwen8Cqw9cgW/pGbjUlEFlmw9jU+2n8Ho3g6YHNQNI7zt+a0rETUqv/QWXlt/+9WuU4O7Y2wfJz1HREREHYEk7thYtmwZ3N3dYWxsjMGDB+Pw4cMNjv35558xcOBAWFtbw8zMDP7+/vj+++/bMVoios5HJpOhv6s1PnisHw69ORofPt4fA7pZo0YjsC09D9O+PYLhS3ZgacJZXC4q13e4RCRBNbW319UoKq+Cj5MF3ny4t75DIiKiDkLvd2ysW7cOUVFRiIuLw+DBgxEbG4vw8HCcOXMGDg4Odcbb2Njgrbfego+PD1QqFX777TdMmzYNDg4OCA8P10MGRESdi5naCE8OcsOTg9xwJrcM645cwc9HryKn5BY+TzyHzxPPYZB7Fzw+wBUP93eGpbFS3yETkQR8tP0MDl64BjOVAl8+FQBjJV/tSkRErUPvd2wsXboUM2bMwLRp0+Dr64u4uDiYmppixYoV9Y4PDQ3FY489ht69e8PT0xOzZ89G//79sXfv3naOnIiIejlZYP54XxyMHo3PpwRgRE97yGXAkUvFmPdzGga9/zte/uEodp0tQK2G740l6qy2nsjB17suAAA+/JsfvBws9BwRERF1JHq9Y6OqqgrJycmIjo7WbpPL5QgLC8OBAwea3F8IgR07duDMmTNYsmRJvWMqKytRWfnn4nalpaUAgOrqalRXV99nBtAe66//aeiYj7QxH2nrrPkoADzka4+HfO2RW3oLvxzLwcaj2ThfUI5fjmXjl2PZcLBQ41E/Z/yff1d4O5q3Q/R1ddb5uZdjErWWjIIbeG3DcQDA88N7YFx/Zz1HREREHY1eGxuFhYWora2Fo6OjznZHR0ecPn26wf1KSkrg4uKCyspKKBQKfPXVVxgzZky9Y2NiYvDee+/V2b59+3aYmpreXwJ3SUhIaNXj6RvzkTbmI22dPR9XAJGewBUn4HCBHCmFMuSXVeLfey/h33svwc1MYJC9BgG2Apaqtom5MZ19fhpTUVHRasciqqiqwUurk3GjsgaD3Ltg3kM++g6JiIg6IL2vsXEvLCwskJqaihs3biAxMRFRUVHw8PBAaGhonbHR0dGIiorSfi4tLYWbmxvGjh0LS0vLVomnuroaCQkJGDNmDJRKw3+WnPlIG/ORNuZT10wAVTUaJJ0twMaj2Ug6W4gr5cCVcgU2XQaCPWzxSH8nhPs6wKKN1+Pg/DTtzp2NRPdLoxF4bcMxnM27AXsLNZY9NQBKhd6fgiYiog5Ir40NOzs7KBQK5OXl6WzPy8uDk1PDr/+Sy+Xw8vICAPj7++PUqVOIiYmpt7GhVquhVqvrbFcqla1e1LbFMfWJ+Ugb85E25nP3/sA4P1eM83NF0Y1K/HIsG5tTs5F65Tr2ZRRhX0YRFvx6CiN72WOCvwtG+Ti06cKCnJ/Gj0XUGmJ/P4stablQKmRY9tQAOFga6zskIiLqoPTa2FCpVAgMDERiYiImTpwIANBoNEhMTERkZGSzj6PRaHTW0SAiIumyNVdj2rAemDasBy4XlePX/zU5zuXfwLb0PGxLz4O52ghj+zjiUb+uGO5lByN+y0tkUDanZuHzHecBAB881g9BPWz0HBEREXVken8UJSoqChERERg4cCCCgoIQGxuL8vJyTJs2DQAwdepUuLi4ICYmBsDtNTMGDhwIT09PVFZWYsuWLfj++++xfPlyfaZBRET3oLutGSJHeWPWSC+czi3D5tRs/HosG1nXb+LnlCz8nJIFWzMVHu7njHH9nTHI3QYKuUzfYRNRI45mFmPuj7cXC31xhAeeGOim54iIiKij03tjY9KkSSgoKMD8+fORm5sLf39/bN26VbugaGZmJuTyP7+pKy8vxz/+8Q9cvXoVJiYm8PHxwerVqzFp0iR9pUBERPdJJpOht7Mlejtb4vXwXkjJLMYvx7IRfzwHReVV+P7gZXx/8DLszNV4sK8jHu7njCB3G97JQSQxV65V4O/fJ6OqRoOw3o54/UEuFkpERG1P740NAIiMjGzw0ZOkpCSdz++//z7ef//9doiKiIj0QS6XYaC7DQa622D+I77Yl1GEX1KzkXAyF4U3KrH6YCZWH8yErZkK4X2d8HBfZwzxYJODSN+KblQiYsVhFJRVwsfJArGT/XmHFRERtQtJNDaIiIjqY6SQI6SnPUJ62qOqph/2ZxRiS1oOtp/MQ1F5FdYcysSaQ5mwMVMhvI8jHurrjGBPW755gaidlVfWYPrKI7hQWA4XaxN8Nz0I5mqWmURE1D74F4eIiAyCykiO0F4OCO3lgEW1GhzIKMJ/T+RgW3oerpVX4YfDV/DD4SuwNlVirK8jxvo6Ybi3XZu+XYWIbr/OeebqZBy7WoIupkp8Nz0IjnwDChERtSM2NoiIyOAoFXKM6GmPET3tsXCCBocuXsOWtBxsS89F4Y0qrP/jKtb/cRUmSgVG9LTDWF8njPJxgLmKt8UTtaaaWg1eWZeKPecKYaJUYMVzg+DlYK7vsIiIqJNhY4OIiAyakUKOYV52GOZlh39O6IvDF69h64kcJJzMQ3bJLe0rZBVyGQK7WcMFMvQrroCHg5W+QycyaDW1GsxZl4r4tBwoFTJ89cwABHTrou+wiIioE2Jjg4iIOgyFXIZgT1sEe9ri3Uf7ID27FNtP5mF7ei5O55bh8KViAApsXLoXPk4Wtx9Z6eOEPl0tIZPxbg6i5qrVCLy64Rh+O367qbH86UCM7OWg77CIiKiTYmODiIg6JJlMhr4uVujrYoWoMT1x5VoF/puWjfX7TuFCmRync8twOrcMn+84j65WxhjV2wGjfBwQ7GEHExXX5SBqSFWNBq9uOIZfj2XDSC7DsqcGIMzXUd9hERFRJ8bGBhERdQpuNqaYNrQ7HK+nIzh0FPacL8b2k7nYfbYQ2SW3tK+RVRvJMdTTFqN8bi9U6mZjqu/QiSSjvLIGM1cnY8+5QigVMnwxZQDG9nHSd1hERNTJsbFBRESdThdTFR4PdMXjga64VV2LfecLseN0Pnaezkd2yS3sPFOAnWcKAKTD28Eco3wcMNLHAYHdu/BVstRpXSuvwrSVR3DsynWYqhSIeyYQI3ra6zssIiIiNjaIiKhzM1YqMLq3I0b3doQQAmfyyrDzdAF2ns5HcmYxzuXfwLn8G/h69wVYGBthRE97jOrlgNBe9rA1V+s7fKJ2cTavDDNW/YHLRRXoYqrEiucGcaFQIiKSDDY2iIiI/kcmk8HHyRI+TpZ4KdQTJRXV2HXudpMj6Uw+iiuqEX88B/HHcyCTAX27WmFETzs84G2PAd26QGXEuzmo4/n9ZB5mrz2K8qpauFib4Lvpg+DlYKHvsIiIiLTY2CAiImqAlakSj/p1xaN+XVGrETh29Tp2ns7HjtP5SM8uRVpWCdKySrBsZwbMVAoEe9piRE97POBtD3dbU75phQxaTa0Gnyeewxc7z0MIYIiHDb56OhA2Zip9h0ZERKSDjQ0iIqJmUMhlGNCtCwZ064JXx/ZCfukt7DlXiD3nCrDnXCGKyqvw+6l8/H4qHwDg2sUEI3raY4S3HYZ62cHSWKnnDIia78q1CsxeexQpmdcBAM8O6Y754325xgwREUkSGxtERET3wMHSWLsAqUYjcDKnFLvPFWDP2UL8cfkarhbfxJpDmVhzKBMKuQz+btYY4W2P4d626O9qzf+DSJKk0Qj8cCQTi7ecRlllDSzURlj0f/3wqF9XfYdGRETUIDY2iIiI7pNcLkNfFyv0dbHCP0K9UF5Zg0MXi7D7bCF2nyvAhYJyJF8uRvLlYnz6O2CmUiCohw2Getoh2NMWvs6WkMv52Arp16mcUry1MU17l0Zg9y6IneTPVx4TEZHksbFBRETUyszURhjl44hRPo4AgKvFFdh77naT40BGEYorqv/ySlnA2lSJIT1sMdTLFkM9beFpb871OajdZBZVIPb3s9iYmgUhbjfeXgvvhanB7lCw4UZERAaAjQ0iIqI25trFFJODumFyUDdoNAKncktxIKMI+zOKcOhCEa5XVGNrei62pucCABws1Bjqaau9o4PfmLefZcuW4aOPPkJubi78/PzwxRdfICgoqMHxGzZswDvvvINLly7B29sbS5YswcMPP9yOEd+71CvX8d3+S/j1WDZqNAIAMK6fM95+pDecrUz0HB0REVHzsbFBRETUjuRyGfp0tUKfrlZ44QEPVNdqkJZV8r9GRyH+uFSM/LJKbErNxqbUbACAm40Jgj1sMbiHLQZ72MC1CxsdbWHdunWIiopCXFwcBg8ejNjYWISHh+PMmTNwcHCoM37//v2YMmUKYmJi8Mgjj2DNmjWYOHEiUlJS0LdvXz1k0LTLReXYkpaL345nIz27VLt9RE97zB3bC/1crfQYHRER0b1hY4OIiEiPlAq59m0rs0Z64VZ1LVIyi7V3dBy7ch1Xrt3ElWtXsf6PqwAAF2sTDPGwxcDuVqi4BQgh9JxFx7B06VLMmDED06ZNAwDExcUhPj4eK1aswLx58+qM/+yzz/Dggw9i7ty5AICFCxciISEBX375JeLi4to19jtuVtUiv+QmciuAY1dLUFhejYuFFTidW4ojF68hu+SWdqxKIccjfs54bqg7+rta6yVeIiKi1sDGBhERkYQYKxUY6mmHoZ52eBXAjcoaHLl0DQcvFOHQhWtIyypB1vWb+CnlKn5KuQrACDlm5/D2I330HbpBq6qqQnJyMqKjo7Xb5HI5wsLCcODAgXr3OXDgAKKionS2hYeHY9OmTQ2ep7KyEpWVldrPpaW375qorq5GdXX1fWRw25pDmVgYfxqAEXDsUJ3fK+QyDHbvgof6OmGsrwNszFTa80vVndikHGNLMB9pYz7SxnykrS3yae6x2NggIiKSMHO1EUb2csDIXrcfhbhRWYPky8U4dKEIBy8U4diVYvg6W+g5SsNXWFiI2tpaODo66mx3dHTE6dOn690nNze33vG5ubkNnicmJgbvvfdene3bt2+Hqen9P2J0Pl8GI5kcagWgVgDmRoC9iYCDsUAPC8DdQkCtyAcK8nFw132frl0lJCToO4RWxXykjflIG/ORttbMp6Kiolnj2NggIiIyIOZqI4T0tEdIT3tUV1dj069bMKZ33fUfSJqio6N17vIoLS2Fm5sbxo4dC0tLy/s+/kNC4J2aGiQkJGDMmDFQKpX3fUx9q66uZj4SxnykjflIG/Np2p07G5vCxgYREZEBUyluP75C98fOzg4KhQJ5eXk62/Py8uDk5FTvPk5OTi0aDwBqtRpqtbrOdqVS2WpF4J1XBbfmMaWA+Ugb85E25iNtzKfxYzWHvFXORkRERGTAVCoVAgMDkZiYqN2m0WiQmJiI4ODgevcJDg7WGQ/cvv22ofFERETUNnjHBhERERGAqKgoREREYODAgQgKCkJsbCzKy8u1b0mZOnUqXFxcEBMTAwCYPXs2QkJC8Mknn2DcuHFYu3Yt/vjjD/zrX//SZxpERESdDhsbRERERAAmTZqEgoICzJ8/H7m5ufD398fWrVu1C4RmZmZCLv/zZtehQ4dizZo1ePvtt/Hmm2/C29sbmzZtQt++ffWVAhERUafExgYRERHR/0RGRiIyMrLe3yUlJdXZ9sQTT+CJJ55o46iIiIioMVxjg4iIiIiIiIgMFhsbRERERERERGSw2NggIiIiIiIiIoPFxgYRERERERERGSw2NoiIiIiIiIjIYLGxQUREREREREQGi40NIiIiIiIiIjJYbGwQERERERERkcFiY4OIiIiIiIiIDJaRvgNob0IIAEBpaWmrHbO6uhoVFRUoLS2FUqlstePqC/ORNuYjbcxH2phP0+78fbzz95LaFuuSpjEfaWM+0sZ8pI35NK25dUmna2yUlZUBANzc3PQcCRERkXSVlZXByspK32F0eKxLiIiImtZUXSITnewrGY1Gg+zsbFhYWEAmk7XKMUtLS+Hm5oYrV67A0tKyVY6pT8xH2piPtDEfaWM+TRNCoKysDF27doVczidW2xrrkqYxH2ljPtLGfKSN+TStuXVJp7tjQy6Xw9XVtU2ObWlp2SH+hbyD+Ugb85E25iNtzKdxvFOj/bAuaT7mI23MR9qYj7Qxn8Y1py7hVzFEREREREREZLDY2CAiIiIiIiIig8XGRitQq9VYsGAB1Gq1vkNpFcxH2piPtDEfaWM+1Bl0tH8vmI+0MR9pYz7SxnxaT6dbPJSIiIiIiIiIOg7esUFEREREREREBouNDSIiIiIiIiIyWGxsEBEREREREZHBYmODiIiIiIiIiAwWGxvNtGzZMri7u8PY2BiDBw/G4cOHGx2/YcMG+Pj4wNjYGP369cOWLVvaKdLmaUk+K1euhEwm0/kxNjZux2gbt3v3bowfPx5du3aFTCbDpk2bmtwnKSkJAwYMgFqthpeXF1auXNnmcTZXS/NJSkqqMz8ymQy5ubntE3AjYmJiMGjQIFhYWMDBwQETJ07EmTNnmtxPqtfPveQj5etn+fLl6N+/PywtLWFpaYng4GD897//bXQfqc7NHS3NScrzc7fFixdDJpNhzpw5jY6T+hxR62BdIs3rljWJdGsSgHUJIO3rp6PVJR25JgGkV5ewsdEM69atQ1RUFBYsWICUlBT4+fkhPDwc+fn59Y7fv38/pkyZgueffx5Hjx7FxIkTMXHiRJw4caKdI69fS/MBAEtLS+Tk5Gh/Ll++3I4RN668vBx+fn5YtmxZs8ZfvHgR48aNw8iRI5Gamoo5c+bghRdewLZt29o40uZpaT53nDlzRmeOHBwc2ijC5tu1axdmzZqFgwcPIiEhAdXV1Rg7dizKy8sb3EfK18+95ANI9/pxdXXF4sWLkZycjD/++AOjRo3ChAkTkJ6eXu94Kc/NHS3NCZDu/PzVkSNH8PXXX6N///6NjjOEOaL7x7pEutcta5LbpFiTAKxL7pDq9dPR6pKOWpMAEq1LBDUpKChIzJo1S/u5trZWdO3aVcTExNQ7/sknnxTjxo3T2TZ48GDx4osvtmmczdXSfL799lthZWXVTtHdHwBi48aNjY55/fXXRZ8+fXS2TZo0SYSHh7dhZPemOfns3LlTABDFxcXtEtP9yM/PFwDErl27Ghwj9evnr5qTjyFdP0II0aVLF/Hvf/+73t8Z0tz8VWM5GcL8lJWVCW9vb5GQkCBCQkLE7NmzGxxrqHNELcO6RPrXrRCsSQwB6xLp62h1iaHXJEJIty7hHRtNqKqqQnJyMsLCwrTb5HI5wsLCcODAgXr3OXDggM54AAgPD29wfHu6l3wA4MaNG+jevTvc3Nya7DRKnZTn5374+/vD2dkZY8aMwb59+/QdTr1KSkoAADY2Ng2OMaT5aU4+gGFcP7W1tVi7di3Ky8sRHBxc7xhDmhugeTkB0p+fWbNmYdy4cXX+2dfH0OaIWo51yW1Sv26bS8pzcz8MoSYBWJdI+frpaHVJR6lJAOnWJWxsNKGwsBC1tbVwdHTU2e7o6Njg84K5ubktGt+e7iWfXr16YcWKFdi8eTNWr14NjUaDoUOH4urVq+0RcqtraH5KS0tx8+ZNPUV175ydnREXF4effvoJP/30E9zc3BAaGoqUlBR9h6ZDo9Fgzpw5GDZsGPr27dvgOClfP3/V3Hykfv2kpaXB3NwcarUaM2fOxMaNG+Hr61vvWEOZm5bkJPX5Wbt2LVJSUhATE9Os8YYyR3TvWJdI/7ptCdYk+sO6RJrXT0erSzpSTQJIuy4xavUjUocTHBys01kcOnQoevfuja+//hoLFy7UY2QE3P4fwV69emk/Dx06FBkZGfj000/x/fff6zEyXbNmzcKJEyewd+9efYfSKpqbj9Svn169eiE1NRUlJSX48ccfERERgV27djX4R9cQtCQnKc/PlStXMHv2bCQkJEh68TCi9ibl67azM5SaBGBdcofUrp+OVpd0lJoEkH5dwsZGE+zs7KBQKJCXl6ezPS8vD05OTvXu4+Tk1KLx7ele8rmbUqlEQEAAzp8/3xYhtrmG5sfS0hImJiZ6iqp1BQUFSeoPdWRkJH777Tfs3r0brq6ujY6V8vVzR0vyuZvUrh+VSgUvLy8AQGBgII4cOYLPPvsMX3/9dZ2xhjA3QMtyupuU5ic5ORn5+fkYMGCAdlttbS12796NL7/8EpWVlVAoFDr7GMoc0b1jXVKXlK7blmJNoh+sS/4kteuno9UlHaUmAaRfl/BRlCaoVCoEBgYiMTFRu02j0SAxMbHB56OCg4N1xgNAQkJCo89TtZd7yedutbW1SEtLg7Ozc1uF2aakPD+tJTU1VRLzI4RAZGQkNm7ciB07dqBHjx5N7iPl+bmXfO4m9etHo9GgsrKy3t9JeW4a01hOd5PS/IwePRppaWlITU3V/gwcOBBPP/00UlNT6xQPgOHOETUf65K6pHTdtpSU56a1SKUmAViX1Efq109Hq0sMtSYBDKAuafXlSDugtWvXCrVaLVauXClOnjwp/v73vwtra2uRm5srhBDi2WefFfPmzdOO37dvnzAyMhIff/yxOHXqlFiwYIFQKpUiLS1NXynoaGk+7733nti2bZvIyMgQycnJYvLkycLY2Fikp6frKwUdZWVl4ujRo+Lo0aMCgFi6dKk4evSouHz5shBCiHnz5olnn31WO/7ChQvC1NRUzJ07V5w6dUosW7ZMKBQKsXXrVn2loKOl+Xz66adi06ZN4ty5cyItLU3Mnj1byOVy8fvvv+srBa2XXnpJWFlZiaSkJJGTk6P9qaio0I4xpOvnXvKR8vUzb948sWvXLnHx4kVx/PhxMW/ePCGTycT27duFEIY1N3e0NCcpz0997l593BDniO4f6xLpXresSaRbkwjBukQIaV8/Ha0u6eg1iRDSqkvY2GimL774QnTr1k2oVCoRFBQkDh48qP1dSEiIiIiI0Bm/fv160bNnT6FSqUSfPn1EfHx8O0fcuJbkM2fOHO1YR0dH8fDDD4uUlBQ9RF2/O68Wu/vnTg4REREiJCSkzj7+/v5CpVIJDw8P8e2337Z73A1paT5LliwRnp6ewtjYWNjY2IjQ0FCxY8cO/QR/l/ryAKDzz9uQrp97yUfK18/06dNF9+7dhUqlEvb29mL06NHaP7ZCGNbc3NHSnKQ8P/W5u4AwxDmi1sG6RJrXLWsS6dYkQrAuEULa109Hq0s6ek0ihLTqEpkQQrT+fSBERERERERERG2Pa2wQERERERERkcFiY4OIiIiIiIiIDBYbG0RERERERERksNjYICIiIiIiIiKDxcYGERERERERERksNjaIiIiIiIiIyGCxsUFEREREREREBouNDSIiIiIiIiIyWGxsEBEREREREZHBYmODiDqtoqIiODg44NKlS/e0/+TJk/HJJ5+0blBERETU6bAmIbo/bGwQdQDPPfccZDJZnZ/z58/rOzRJW7RoESZMmAB3d/d72v/tt9/GokWLUFJS0rqBERERGSjWJPeGNQnR/WFjg6iDePDBB5GTk6Pz06NHjzrjqqqq9BCd9FRUVOA///kPnn/++Xs+Rt++feHp6YnVq1e3YmRERESGjTVJy7AmIbp/bGwQdRBqtRpOTk46PwqFAqGhoYiMjMScOXNgZ2eH8PBwAIBGo0FMTAx69OgBExMT+Pn54ccff9Q5Znl5OaZOnQpzc3M4Ozvjk08+QWhoKObMmaMd4+7ujtjYWJ39/P398e677zb7PKGhoXj55Zfx+uuvw8bGBk5OTtr979BoNPjwww/h5eUFtVqNbt26YdGiRVi1ahVsbW1RWVmpM37ixIl49tlnG/zntWXLFqjVagwZMkRn+0svvYThw4fXu4+rqysWL16ss238+PFYu3Ztg+chIiLqbFiTsCYham9sbBB1At999x1UKhX27duHuLg4AEBMTAxWrVqFuLg4pKen45VXXsEzzzyDXbt2afebO3cudu3ahc2bN2P79u1ISkpCSkpKi87dnPPcidHMzAyHDh3Chx9+iH/+859ISEjQ/j46OhqLFy/GO++8g5MnT2LNmjVwdHTEE088gdraWvzyyy/asfn5+YiPj8f06dMbjGvPnj0IDAzU2Zaeno5//etf+PDDD+vdp3fv3khNTdXZFhQUhMOHD9cpYoiIiKgu1iR1sSYhagWCiAxeRESEUCgUwszMTPvzt7/9TQghREhIiAgICNAZf+vWLWFqair279+vs/35558XU6ZMEUIIUVZWJlQqlVi/fr3290VFRcLExETMnj1bu6179+7i008/1TmOn5+fWLBgQbPOcyfG4cOH64wZNGiQeOONN4QQQpSWlgq1Wi2++eabevN/6aWXxEMPPaT9/MknnwgPDw+h0WjqHS+EEBMmTBDTp0/X2RYRESEGDx7c4D5PPvmkCAkJ0dl27NgxAUBcunSpwf2IiIg6C9YkrEmI9MFI340VImodI0eOxPLly7WfzczMtP/97m8Bzp8/j4qKCowZM0Zne1VVFQICAgAAGRkZqKqqwuDBg7W/t7GxQa9evZodU3POc0f//v11Pjs7OyM/Px8AcOrUKVRWVmL06NH1nmfGjBkYNGgQsrKy4OLigpUrV2oXL2vIzZs3YWxsrP1cU1ODn3/+Ge+8845224svvoigoCDtM69lZWUwMTHROc6dzxUVFQ2ei4iIqDNhTcKahKi9sbFB1EGYmZnBy8urwd/91Y0bNwAA8fHxcHFx0fmdWq1u0XnlcjmEEDrbqqurW3wepVKp81kmk0Gj0QBAnT/cdwsICICfnx9WrVqFsWPHIj09HfHx8Y3uY2dnh+LiYu3njIwMlJWVoV+/fgBuPz+7YcMGncLl+PHjmDRpks5xrl27BgCwt7dv9HxERESdBWsS1iRE7Y2NDaJOyNfXF2q1GpmZmQgJCal3jKenJ5RKJQ4dOoRu3boBAIqLi3H27Fmdfezt7ZGTk6P9XFpaiosXLzb7PM3h7e0NExMTJCYm4oUXXqh3zAsvvIDY2FhkZWUhLCwMbm5ujR4zICBAZ+Xw69evAwDMzc0BANu2bUNxcbH2G5SDBw8iKysLjz32mM5xTpw4AVdXV9jZ2d1rekRERJ0WaxLWJEStgY0Nok7IwsICr732Gl555RVoNBoMHz4cJSUl2LdvHywtLREREQFzc3M8//zzmDt3LmxtbeHg4IC33noLcrnumsOjRo3CypUrMX78eFhbW2P+/PlQKBTNPk9zGBsb44033sDrr78OlUqFYcOGoaCgAOnp6dpbMp966im89tpr+Oabb7Bq1aomjxkeHo7o6GgUFxejS5cu6N69O2QyGX744QeYmZnhtddew7hx47B582a4ublh5syZCAsLq7M6+Z49ezB27Nhm5UFERES6WJOwJiFqDWxsEHVSCxcuhL29PWJiYnDhwgVYW1tjwIABePPNN7VjPvroI9y4cQPjx4+HhYUFXn31VZSUlOgcJzo6GhcvXsQjjzwCKysrLFy4UPvtSHPP0xzvvPMOjIyMMH/+fGRnZ8PZ2RkzZ87U/t7KygqPP/444uPjMXHixCaP169fPwwYMADr16/Hiy++CCcnJyxatAiLFy/GTz/9hA8++ACBgYGYMGEC1q1bh/Hjx+Orr77SOcatW7ewadMmbN26tUW5EBER0Z9Yk7AmIbpfMnH3g2hERI0IDQ2Fv79/nffES8Ho0aPRp08ffP75580aHx8fj7lz5+LEiRN1vvVpjuXLl2Pjxo3Yvn17i/clIiKi+8Oa5E+sSaiz4x0bRGTwiouLkZSUhKSkpDrfYDRm3LhxOHfuHLKyspp8/rU+SqUSX3zxRYv3IyIioo6JNQmRfrCxQUQGLyAgAMXFxViyZEmLXv0GAHPmzLnn8za0aBgRERF1TqxJiPSDj6IQERERERERkcFq+QNcREREREREREQSwcYGERERERERERksNjaIiIiIiIiIyGCxsUFEREREREREBouNDSIiIiIiIiIyWGxsEBEREREREZHBYmODiIiIiIiIiAwWGxtEREREREREZLDY2CAiIiIiIiIig8XGBhEREREREREZLDY2iIiIiIiIiMhg/T/jZAN0xhwwBQAAAABJRU5ErkJggg==",
"text/plain": [
"