Skip to content

Instantly share code, notes, and snippets.

@nagachika
Created December 15, 2018 15:34
Show Gist options
  • Save nagachika/7ceacf03221c96ad485119161620979b to your computer and use it in GitHub Desktop.
Save nagachika/7ceacf03221c96ad485119161620979b to your computer and use it in GitHub Desktop.
pipe_breakage_probability_generate.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "pipe_breakage_probability_generate.ipynb",
"version": "0.3.2",
"provenance": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/nagachika/7ceacf03221c96ad485119161620979b/pipe_breakage_probability_generate.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"metadata": {
"id": "-vkQKwY3p3rF",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "1fcf1e99-fe78-47b0-dc6e-19d04431c673"
},
"cell_type": "code",
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"import tensorflow as tf\n",
"import tensorflow_probability as tfp\n",
"tf.enable_eager_execution()\n",
"tf.executing_eagerly()"
],
"execution_count": 18,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"True"
]
},
"metadata": {
"tags": []
},
"execution_count": 18
}
]
},
{
"metadata": {
"id": "iLjiTd3f6U2l",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"# 故障予測問題にTensorFlow Probabilityを利用する\n",
"## データ生成編\n",
"\n",
"* 稼動日数(d)\n",
"* 最後にメンテナンスしてからの日数(m)\n",
"* パイプ内の温度(T)\n",
"* 製造ライン(L)"
]
},
{
"metadata": {
"id": "6kNIniWi648E",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 稼動日数(d)\n",
"稼動日数(d)はしきいち(180日)付近で1に近付く→sigmoid関数を利用"
]
},
{
"metadata": {
"id": "5TocDAD5qx-I",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 361
},
"outputId": "b8900805-dd01-43d8-8e82-d34cdb95a730"
},
"cell_type": "code",
"source": [
"def p_for_d(d):\n",
" running_threshold_days = 180\n",
" C1 = 0.05\n",
" return tf.nn.sigmoid(C1 * (d - running_threshold_days))\n",
"\n",
"days = np.arange(366)\n",
"p_for_days = p_for_d(days)\n",
"\n",
"plt.plot(days, p_for_days)\n",
"plt.xlabel(\"days\")\n",
"plt.show()"
],
"execution_count": 39,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n4QtfMLmiy7d582bjgQce6PbZQw89ZLz55puGYRjGk08+abz88stmlHbJmpqajGXLlhk/+tGPjBdf\nfNEwjJ57ampqMm666SajoaHBaGlpMW699Vajrq7OzNL7pKf+fvjDHxpvv/32ectZrb+ioiLjG9/4\nhmEYhlFbW2ssWLDAVtuup/7ssu3eeOMN49lnnzUMwzBOnDhh3HTTTbbadj31Z9VtZ9nh6KKiIi1a\ntEiSNHbsWNXX1ysQCJhcVf/bsmWLbrzxRknSwoULVVRUZHJFFyc2NlbPPfecvF5v12c99VRcXKwp\nU6YoOTlZ8fHxmjFjhnbs2GFW2X3WU389sWJ/s2bN0i9+8QtJUkpKilpaWmy17XrqLxwOn7ecFftb\nsmSJvvnNb0qSKisrlZWVZatt11N/PbFCf5YNYb/fr/T09K7pjIwM+Xw+EyvqH2VlZbrvvvv0xS9+\nURs3blRLS0vX8HNmZqblenS73YqPj+/2WU89+f1+ZWRkdC1jle3ZU3+S9NJLL+nee+/V97//fdXW\n1lqyP5fLpcTEREnSa6+9pvnz59tq2/XUn8vlssW2O2vp0qVavny5VqxYYattd9a5/UnW/Hdn6WPC\n5zJscPfNMWPG6P7779enP/1pVVRU6N577+32m7kdevy4C/Vk5V5vu+02paWlaeLEiXr22Wf19NNP\n66qrruq2jJX6+9vf/qbXXntNL7zwgm666aauz+2y7c7tr6SkxFbb7tVXX9W+ffv0L//yL93qtsu2\nO7e/FStWWHLbWXZP2Ov1yu/3d01XV1fL4/GYWNHly8rK0pIlS+RwODR69GgNHz5c9fX1am1tlSRV\nVVX1OuxpBYmJief11NP2tGqvc+bM0cSJEyVJN9xwgw4ePGjZ/j744AP953/+p5577jklJyfbbtt9\nvD+7bLuSkhJVVlZKkiZOnKhwOKxhw4bZZtv11N+ECRMsue0sG8Jz587V+vXrJUmlpaXyer1KSkoy\nuarLs27dOj3//POSJJ/Pp5qaGt1xxx1dff7lL3/RddddZ2aJ/eLaa689r6dp06Zpz549amhoUFNT\nk3bs2KGZM2eaXOmleeCBB1RRUSGp4/j3+PHjLdlfY2OjHnvsMf3617/uOuPUTtuup/7ssu22bdum\nF154QVLHobvm5mZbbbue+vvxj39syW1n6acoPfHEE9q2bZscDodWrlypgoICs0u6LIFAQMuXL1dD\nQ4Pa29t1//33a+LEifrhD3+otrY2jRw5Uo888ohiYmLMLrXPSkpK9POf/1wnT56U2+1WVlaWnnji\nCT300EPn9fTWW2/p+eefl8Ph0LJly/S5z33O7PJ71VN/y5Yt07PPPquEhAQlJibqkUceUWZmpuX6\nW7NmjX71q18pPz+/67NHH31UP/rRj2yx7Xrq74477tBLL71k+W3X2tqqhx9+WJWVlWptbdX999+v\nyZMn9/izxGq9ST33l5iYqMcff9xy287SIQwAgJVZdjgaAACrI4QBADAJIQwAgEkIYQAATEIIAwBg\nEkIYsJHly5dr7dq1ZpcBoI8IYQAATMJ1woCFRSIRPfzwwzpw4IBycnLU3NysW2+9VRUVFV1P3MrO\nztbjjz+up59+Wm63Ww888IAk6dlnn9WZM2c0f/58Pfnkk4qPj1cwGNTDDz9s+WdzA1bBnjBgYZs2\nbdKRI0f0+uuv67HHHtOBAwcUDoeVkJCg//qv/9Krr76qxsZGbdiwQXfddZfWrVvXdRP7t956S3fe\nead++9vf6qtf/apefPFFPfLII1H3lBnAzmzzFCVgKDp48KCuuuoqORwOJSQkaOrUqXK5XHI6nbrn\nnnvkdrt15MgR1dXVKTc3V3l5edq6datGjBihhIQEXXHFFfrsZz+rp556Srt379aNN97Y9cxZAAOP\nEAYszDAMORyOrulIJKKqqiqtW7dOr7/+uhITE/VP//RPXfOXLl2qP/7xj8rLy9Odd94pqeMB6fPm\nzdOGDRv0zDPPaOrUqfrBD34w6L0AQxHD0YCFjRs3TsXFxTIMQ4FAQMXFxYqPj1dOTo4SExN18uRJ\n7dq1S8FgUJJ0/fXXa8+ePXr77bd1yy23SJJ++ctfKhwOa8mSJXr44Ye1c+dOM1sChhT2hAELmzdv\nntatW6e77rpLI0eO1PTp0xUTE6NAIKAvfvGLGj9+vB544AE988wzuvrqq5Wfn6/rrrtOgUBACQkJ\nkqS8vDx97WtfU0pKiiKRSNeJWwAGHmdHA0NIMBjUPffco0cffVTjxo0zuxxgyGM4Ghgi3nvvPX3+\n85/X7bffTgADUYI9YQAATMKeMAAAJiGEAQAwCSEMAIBJCGEAAExCCAMAYBJCGAAAk/x/sJWtqvdg\nYDUAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1e1b937940>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "qWqTY--OV1zO",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### メンテナンス(m)\n",
"メンテナンスは稼動日数を-30日する効果があるが、メンテナンスからの日数(m)ごとに効果が1日ぶん減衰し、30日以降(m>=30)は効果ゼロに戻る。\n",
"\n",
"つまりメンテナンス効果は ReLU を使って `ReLU(30-x)` で表現できる。"
]
},
{
"metadata": {
"id": "UesRQbPiWO2N",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"def p_for_d_m(d, m):\n",
" running_threshold_days = 180\n",
" C1 = 0.05\n",
" d = d - tf.nn.relu(30. - m)\n",
" return tf.nn.sigmoid(C1 * (d - running_threshold_days))"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "XIvXr9H3Wq4a",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Red=メンテナンスなし\n",
"Blue=30日おきメンテナンス\n",
"Green=10日おきメンテナンス"
]
},
{
"metadata": {
"id": "NUpAOl68W5jR",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 361
},
"outputId": "90b4ba62-9bdd-4980-d4af-abda6db8ecf6"
},
"cell_type": "code",
"source": [
"days = np.arange(366)\n",
"\n",
"no_maintenance = np.arange(366)\n",
"maintenance_per_30days = np.apply_along_axis(lambda x: x % 30, 0, np.arange(366))\n",
"maintenance_per_10days = np.apply_along_axis(lambda x: x % 10, 0, np.arange(366))\n",
"\n",
"p_red = p_for_d_m(days, no_maintenance)\n",
"p_blue = p_for_d_m(days, maintenance_per_30days)\n",
"p_green = p_for_d_m(days, maintenance_per_10days)\n",
"\n",
"plt.xlabel(\"days\")\n",
"plt.plot(days, p_red, \"r\", label=\"No maintenance\")\n",
"plt.plot(days, p_blue, \"b\", label=\"Maintenance/30days\")\n",
"plt.plot(days, p_green, \"g\", label=\"Maintenance/10days\")\n",
"plt.legend()\n",
"plt.show()"
],
"execution_count": 54,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1e1b3c4a20>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "B24deIIwmcSk",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"###温度(T)\n",
"\n",
"温度の影響はもうひとつの sigmoid 関数を導入して故障率を底上げする"
]
},
{
"metadata": {
"id": "Foabu1vWmmlw",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 361
},
"outputId": "f4144a68-6a27-4e0f-e57e-c40c438256d0"
},
"cell_type": "code",
"source": [
"def p_for_T(t):\n",
" temp_threshold = 120\n",
" C = 0.2\n",
" return tf.nn.sigmoid(C * (t - temp_threshold))\n",
"\n",
"temps = np.arange(160) + 20.0\n",
"plt.xlabel(\"temp(℃)\")\n",
"plt.plot(temps, p_for_T(temps))\n",
"plt.show()"
],
"execution_count": 68,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAeEAAAFYCAYAAABkj0SzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xt8VPWd//H33JKQKxnIkAsQQlDQ\nACqKFUHwEsRqbdcrqYXa1XZbq93WQl1lXfGhDYoP9dFdbau1dtsfeMEqa621oqi0qEFUFCWKkIAJ\nCSGZ3O+XmTm/PyIjkYQEmOTMmXk9Hw8emZlz5sznwyR555zzne+xGYZhCAAAjDi72QUAABCtCGEA\nAExCCAMAYBJCGAAAkxDCAACYhBAGAMAkzpF+Qa+3JaTbS02NV0NDe0i3aaZI6odewhO9hCd6CU+h\n6iUtLanfxy2/J+x0OswuIaQiqR96CU/0Ep7oJTwNdy+WD2EAAKyKEAYAwCSEMAAAJiGEAQAwCSEM\nAIBJCGEAAExCCAMAYBJCGAAAkwwphHft2qX8/HytXbv2sGVvv/22rrzySi1evFi//vWvQ14gAACR\natAQbm9v19133605c+b0u/yXv/ylHnroIT311FN66623VFJSEvIiAQCIRIPOHR0TE6PHHntMjz32\n2GHL9u3bp5SUFGVkZEiSFixYoKKiIk2ZMiX0lQIAQs4wDPn8hnp8Afn8gT5fe/wB+f2GAoahQOCL\nr4ahQKD3eYff7v2akNCg5uYOBQyj9zWCL3bo7b7LDEN9GIbR53l9tzPwc42vrPyVzQ7J6MQYzclL\nl81mO4ZnH51BQ9jpdMrp7H81r9crt9sdvO92u7Vv374jbi81NT7kc3EONDG2VUVSP/QSnuglPB1r\nLz0+vxpautTQ3Kn65i41tHSqqbVb7Z09auvoUXunT22dPer44mt7Z4+6uv3q9vWGLQ537uxspSTG\nShre77ERv4pSqK+skZaWFPIrM5kpkvqhl/BEL+FpsF4CAUNVdW3aX9eu6vp21TR0qLqh92tTW/eQ\nXsPpsGlUrFOjYp1KSHbJ5bTL6bDL5bTL5bDL6bTL5bD1edxht8tul+w2m+w2m2x2m+w2yW63ySab\n7Ifct9t676ckx6m1tUt2m036YmcyuE9pk2xf3PvqjubBPU9bn8cOeeIh97/ycHCb+vIlD3vuUI1O\njFF3R7e8Hd0h+x4bKMiPK4Q9Ho9qa2uD96urq+XxeI5nkwAASQ0tXSqtbNLequbefwda1NXt77OO\nzSaNSY7TtImjNTopVikJMUpJiNXoxBglxccoPs4ZDN34WIdcI3R1o0j642i4HVcIjx8/Xq2traqo\nqFB6erreeOMN3X///aGqDQCihmEYKqls0rZdXu3YU6cKb1twmU1SxtgE5WQkaYInSeNSR2mcO15j\nU+LkdPBJUysbNIR37Nih1atXq7KyUk6nUxs2bND555+v8ePHa+HChbrzzju1bNkySdLFF1+snJyc\nYS8aACJFTUO7/rF9v977zCtvQ4ckyeW0a/pkt6ZOGK3JmSmalJ6kUbEjfvYQI2DQd3X69Olas2bN\ngMtnz56tdevWhbQoAIhkhmHok7IGbdharh176iVJ8XFOnT09XbOneXRSdqpiXCNz6Bjm4k8rABhB\nn3xer+ff3KuSiiZJ0pSsFJ03K0sXzZ2spsbQDlxF+COEAWAE1DZ16KmNu/XB7t7BrKdOGatL505S\nTkayJLHnG6UIYQAYRgHD0Kvv7tP//XOPun0BnTg+RYsvOCEYvohuhDAADJOmtm49/uIn2rG3Xknx\nLn33oqkjNhMTrIEQBoBhUFLZpF+v/1hNbd2aMXmMrr/kJCUnxJhdFsIMIQwAIfb+Z1797q/F8vsN\nXX3eFF145oTe2aOAryCEASCEXt9WoSde2aUYl0M3XjlDM3PHmF0SwhghDAAhsunDSq19ZZeSE2L0\ns6tmalI6g69wZIQwAIRAUfEBrXn5MyWOcuk/rjlNGWMSzC4JFsCkowBwnD4qrdPjL36quFinli0+\nlQDGkBHCAHAcqhva9egLxbLbbbr5qlOUnR451zfG8COEAeAYdXb79PD6j9XR5dO1F03VlPEpZpcE\niyGEAeAYGIahP/59pyq9bbpg1njNnZFhdkmwIEIYAI7Blk+qtfXTGk0Zn6LFF0wxuxxYFCEMAEep\nsbVLT766S7Euh77/jZPldPCrFMeG7xwAOAqGYej/vfyZ2jp9uuq8XHlGjzK7JFgYIQwAR+GdT6r1\nYUmtpk0crXNPyzK7HFgcIQwAQ9TV7dczb5TI5bTrXy8+ifmgcdwIYQAYor+/U6bG1m4tOnOi0jgM\njRAghAFgCOqbO/XyO+VKSYzRxWdNNLscRAhCGACG4Ll/7FG3L6DL509WXAzT7iM0CGEAGESFt1VF\nxQc00ZOoudOZlAOhQwgDwCD+VlQmSfqX+ZNltzMYC6FDCAPAERyob9fWT6s1wZOoU3LHmF0OIgwh\nDABH8FJRmQxDuvTsSbLxkSSEGCEMAAOobepQUfEBZYyJ16ypaWaXgwhECAPAADZs3Sd/wNAlc7KZ\nmAPDghAGgH50dPn01sdVSk2K1ZknjTO7HEQoQhgA+rHlk2p1dvu14NRMrpKEYcN3FgB8hWEYemNb\nhRx2m+afkml2OYhghDAAfMXuiiZVeNt0+tQ0jU6MNbscRDBCGAC+4o0PKiVJ53GpQgwzQhgADtHc\n1q33dtYoa2yCTpww2uxyEOEIYQA4xDufVssfMDT/1Ewm58CwI4QB4BBbig/IbrPpa3wsCSOAEAaA\nL1TVtWlvVYumT3YrOSHG7HIQBQhhAPjCluJqSdJZeewFY2QQwgCg3s8GFxUfUGyMQ6edwDzRGBmE\nMABIKq1sVm1Tp04/MU2xLofZ5SBKEMIAIKmo+IAkaU5eusmVIJoQwgCiXiBg6P3PapQc79JJ2alm\nl4MoQggDiHql+5vU3N6jU08YK7udzwZj5BDCAKLetl1eSdKsExmQhZFFCAOIaoZh6INdtYqNceik\nbLfZ5SDKEMIAolqlt001jR2aOXmMXE5+JWJkOYey0qpVq7R9+3bZbDatWLFCM2fODC574okn9MIL\nL8hut2v69On6z//8z2ErFgBCbdtuDkXDPIP+2bd161aVlZVp3bp1KiwsVGFhYXBZa2urHn/8cT3x\nxBN66qmnVFpaqg8//HBYCwaAUNq2yyuH3aYZk8eYXQqi0KAhXFRUpPz8fElSbm6umpqa1NraKkly\nuVxyuVxqb2+Xz+dTR0eHUlJShrdiAAiR2qYOlVe36qRJqYqPG9KBQSCkBg3h2tpapaZ++bk5t9st\nr7f38E1sbKxuvPFG5efn67zzztMpp5yinJyc4asWAELoo9I6SWKaSpjmqP/0MwwjeLu1tVWPPvqo\nXn75ZSUmJuraa6/Vzp07NW3atAGfn5oaL6cztFPCpaUlhXR7ZoukfuglPNFLr92VzZKkBWdMVJo7\nPlQlHTPel/A0nL0MGsIej0e1tbXB+zU1NUpL6/2rsbS0VBMmTJDb3Tus/4wzztCOHTuOGMINDe3H\nW3MfaWlJ8npbQrpNM0VSP/QSnuill88f0Ie7vRrnjpfd7zf9/4T3JTyFqpeBgnzQw9Fz587Vhg0b\nJEnFxcXyeDxKTEyUJGVlZam0tFSdnZ2SpB07dmjSpEnHXSwADLeSiiZ1dfs1I4fPBsM8g+4Jz5o1\nS3l5eSooKJDNZtPKlSu1fv16JSUlaeHChbr++uv13e9+Vw6HQ6eddprOOOOMkagbAI7Ljr31kqTp\nkwlhmGdI54SXL1/e5/6hh5sLCgpUUFAQ2qoAYJjt2FMnp8OmqRO4YAPMw/QwAKJOU2uXymtadeKE\n0YqN4drBMA8hDCDqBA9F5zBBB8xFCAOIOsXBEOZ8MMxFCAOIKoZh6JPP65WSGKOstASzy0GUI4QB\nRJX9de1qbu/RSdmpstlsZpeDKEcIA4gqn5U3SJKmTWRUNMxHCAOIKjvLGyVJUyeONrkSgBAGEEUM\nw9Bn5Q1KTYqVZ/Qos8sBCGEA0WN/Xbta2ns0deJozgcjLBDCAKIG54MRbghhAFFjZ1lvCHM+GOGC\nEAYQFQzD0M7yRs4HI6wQwgCiwv7aNrV29Gga54MRRghhAFHhs30HP5rE+WCED0IYQFQoqWiSJJ0w\nPsXkSoAvEcIAokJJZZMSR7mU7o43uxQgiBAGEPEaWrpU29SpKVkpnA9GWCGEAUS80sreQ9G5Wckm\nVwL0RQgDiHi7g+eD+XwwwgshDCDilVQ2yWG3aVJ6ktmlAH0QwgAiWlePX+XVLcpOT1KMy2F2OUAf\nhDCAiPZ5VbP8AUNTsvhoEsIPIQwgopV8MSiLEEY4IoQBRLSDk3RMYZIOhCFCGEDEMgxDpfubNTYl\nTqMTY80uBzgMIQwgYtU0dqi1o0e5HIpGmCKEAUSsvfubJUk5GUzSgfBECAOIWHuqekN4MiGMMEUI\nA4hYe6ua5bDbNHFcotmlAP0ihAFEJJ8/oLIDrRqflsgkHQhbhDCAiFThbZXPH1BOJoeiEb4IYQAR\n6ctBWcwXjfBFCAOISAzKghUQwgAi0p79zYqNcShjTILZpQADIoQBRJz2Tp8O1LUrJz1JdrvN7HKA\nARHCACJO2YFmGRKDshD2CGEAEefg+eCcdEIY4Y0QBhBxPj/QIonpKhH+CGEAEafsQIsSR7nkTubK\nSQhvhDCAiNLa0aPapk5NSk+SzcagLIQ3QhhARCn74lD0JCbpgAUQwgAiyucHegdlZY/jfDDCHyEM\nIKIcHJQ1KZ09YYQ/QhhARGFQFqyEEAYQMRiUBashhAFEDAZlwWqcQ1lp1apV2r59u2w2m1asWKGZ\nM2cGl1VVVennP/+5enp6dPLJJ+uuu+4atmIB4EgYlAWrGXRPeOvWrSorK9O6detUWFiowsLCPsvv\nvfdeXXfddXr22WflcDi0f//+YSsWAI6EQVmwmkFDuKioSPn5+ZKk3NxcNTU1qbW1VZIUCAT0/vvv\n6/zzz5ckrVy5UpmZmcNYLgAMjEFZsJpBD0fX1tYqLy8veN/tdsvr9SoxMVH19fVKSEjQPffco+Li\nYp1xxhlatmzZEbeXmhovp9Nx/JUfIi0tsv7qjaR+6CU8RWIvLe3dqm3q1KypHnk81jwcHYnvSyQY\nzl6GdE74UIZh9LldXV2t7373u8rKytK//du/adOmTTr33HMHfH5DQ/sxFTqQtLQkeb0tId2mmSKp\nH3oJT5Hay6ef10uS0lNHWbK/SH1frC5UvQwU5IMejvZ4PKqtrQ3er6mpUVpamiQpNTVVmZmZmjhx\nohwOh+bMmaPdu3cfd7EAcLTKqntPk00cl2hyJcDQDRrCc+fO1YYNGyRJxcXF8ng8Skzs/SZ3Op2a\nMGGCPv/88+DynJyc4asWAAawr6Z3b2XiuMg5DIrIN+jh6FmzZikvL08FBQWy2WxauXKl1q9fr6Sk\nJC1cuFArVqzQrbfeKsMwdOKJJwYHaQHASCqvblVsjEOe1FFmlwIM2ZDOCS9fvrzP/WnTpgVvZ2dn\n66mnngptVQBwFLp7/Kqqa9fkrGTZmSkLFsKMWQAsr7K2TQHD0EQP54NhLYQwAMsrq+Z8MKyJEAZg\nefsYGQ2LIoQBWF55dYscdpuyxiaYXQpwVAhhAJYWCBja521Vxph4uUI8Gx8w3AhhAJZW3dCu7p4A\n54NhSYQwAEsrP3g+mJHRsCBCGICllTMyGhZGCAOwtPIaRkbDughhAJZlGIbKq1s0NiVO8XEus8sB\njhohDMCy6ps71dLew6FoWBYhDMCy9lQ2SWJQFqyLEAZgWcEQZk8YFkUIA7CsPfsPhjB7wrAmQhiA\nZe2pbFLiKJdSk2LNLgU4JoQwAEtq7/TpQF27JngSZeMawrAoQhiAJe2r6Z2kI5vzwbAwQhiAJTFJ\nByIBIQzAkg5OVzmBPWFYGCEMwJL2VbcqxuVQhjve7FKAY0YIA7Acnz+gyto2TcpIkt3OoCxYFyEM\nwHIqvW3yBwxNzhptdinAcSGEAVhO+RcjoydnJptcCXB8CGEAllNe3TsyenJWismVAMeHEAZgOfuq\nW2SzSdkZ7AnD2ghhAJYSMAyV17Qq3R2vuBin2eUAx4UQBmAptY0d6uz2M1MWIgIhDMBSDp4PnsBM\nWYgAhDAASzk4MpprCCMSEMIALOXgnvBED3vCsD5CGICllFe3KDUpVknxMWaXAhw3QhiAZTS3daux\ntZu9YEQMQhiAZRy8chLngxEpCGEAlsE1hBFpCGEAlsGeMCINIQzAMsqqWxUf69TYlDizSwFCghAG\nYAkdXT5V17crOz1JNhvXEEZkIIQBWMLBQ9FMV4lIQggDsISyg5N0pDMoC5GDEAZgCWUH2BNG5CGE\nAVhCeXWLYmMcGueON7sUIGQIYQBhr6vbr/11bcr2JMrOoCxEEEIYQNjb522VYUgT0zkUjchCCAMI\ne5wPRqQihAGEvbKDH09iTxgRZkghvGrVKi1evFgFBQX66KOP+l3ngQce0NKlS0NaHABIUvmBFsU4\n7coYw6AsRJZBQ3jr1q0qKyvTunXrVFhYqMLCwsPWKSkp0bvvvjssBQKIbj0+vypr2zTBkyiHnYN3\niCyDfkcXFRUpPz9fkpSbm6umpia1trb2Wefee+/VzTffPDwVAohqFd42+QMGg7IQkZyDrVBbW6u8\nvLzgfbfbLa/Xq8TE3llr1q9frzPPPFNZWVlDesHU1Hg5nY5jLLd/aWmR9cMZSf3QS3iyUi/vl9RJ\nkqZPSeu3biv1Mhh6CU/D2cugIfxVhmEEbzc2Nmr9+vX63//9X1VXVw/p+Q0N7Uf7kkeUlpYkr7cl\npNs0UyT1Qy/hyWq9FJd4JUnueNdhdVutlyOhl/AUql4GCvJBD0d7PB7V1tYG79fU1CgtLU2StGXL\nFtXX1+s73/mObrrpJhUXF2vVqlXHXSwAHFRW3SKnw6astASzSwFCbtAQnjt3rjZs2CBJKi4ulsfj\nCR6Kvuiii/TSSy/pmWee0cMPP6y8vDytWLFieCsGEDV8/oD21bQpKy1RTgeDshB5Bj0cPWvWLOXl\n5amgoEA2m00rV67U+vXrlZSUpIULF45EjQCi1P7aNvn8ASbpQMQa0jnh5cuX97k/bdq0w9YZP368\n1qxZE5qqAEBM0oHIx/EdAGGr/EDvxyHZE0akIoQBhK2y6hbZbTZN8DAoC5GJEAYQlgIBQ+U1Lcoc\nmyBXiOcWAMIFIQwgLFXVt6u7J6Ds9ESzSwGGDSEMICyVc/lCRAFCGEBYYmQ0ogEhDCAsfX6gRTZJ\nEz2EMCIXIQwg7AQChsoOtChjbIJiYxiUhchFCAMIO/vr2tTV49fkjGSzSwGGFSEMIOzs3d8sScrJ\nJIQR2QhhAGFnb1VvCLMnjEhHCAMIO3uqmuVy2rl8ISIeIQwgrHT1+FVR06bscUlcvhARj+9wAGGl\nvLpFAcNQDoeiEQUIYQBh5ctBWXw+GJGPEAYQVvYwKAtRhBAGEFb2VjUrcZRLaaNHmV0KMOwIYQBh\no6W9W97GTuVkJMtms5ldDjDsCGEAYePg54NzMjgfjOhACAMIGyWVX5wPzkwxuRJgZBDCAMJGSUWj\nbJKmZDEoC9GBEAYQFvyBgPZUNSszLUHxcS6zywFGBCEMICzsq2lVd09AU7I4FI3oQQgDCAu7K5ok\niRBGVCGEAYSF0sovQng8IYzoQQgDCAu7K5qUHO+Sh0k6EEUIYQCmq2/uVENLl3KzUpikA1GFEAZg\nuoPng08YP9rkSoCRRQgDMF1JJYOyEJ0IYQCmK6loktNhU3Y601UiuhDCAEzV3ulTeU2LJmUky+Xk\nVxKiC9/xAEy1u6JRhiFNm8j5YEQfQhiAqT4rb5QkTZuYanIlwMgjhAGYamd5gxx2m3IZlIUoRAgD\nME17p09l1S2anJmsWJfD7HKAEUcIAzDNwfPBUzkUjShFCAMwzc7yBkkMykL0IoQBmGZneaOcDs4H\nI3oRwgBM0d7Zo/LqFk3O4HwwohchDMAUuyqaOB+MqEcIAzDFJ5/XS+J8MKIbIQzAFMV76xXjsmsK\nV05CFCOEAYy42qYOVdW166SJqcwXjajGdz+AEbdjb++h6OmTx5hcCWAuQhjAiCve80UI57hNrgQw\nl3MoK61atUrbt2+XzWbTihUrNHPmzOCyLVu26MEHH5TdbldOTo4KCwtlt5PtAPrn8wf0SVm90kbH\nyZM6yuxyAFMNmpZbt25VWVmZ1q1bp8LCQhUWFvZZfscdd+h//ud/9PTTT6utrU2bN28etmIBWN+e\n/c3q6PJres4Y2Ww2s8sBTDVoCBcVFSk/P1+SlJubq6amJrW2tgaXr1+/Xunp6ZIkt9uthoaGYSoV\nQCTYsbdOkjR9MoeigUFDuLa2VqmpX36Y3u12y+v1Bu8nJiZKkmpqavTWW29pwYIFw1AmgEixY0+9\nHHYb1w8GNMRzwocyDOOwx+rq6vSjH/1IK1eu7BPY/UlNjZfTGdop6tLSkkK6PbNFUj/0Ep7M6qWh\nuVNl1S3KmzxGE8eHJoR5X8ITvQzNoCHs8XhUW1sbvF9TU6O0tLTg/dbWVv3gBz/Qz372M82bN2/Q\nF2xoaD/GUvuXlpYkr7clpNs0UyT1Qy/hycxeNn1YKcOQpmenhqQG3pfwRC/9b6c/gx6Onjt3rjZs\n2CBJKi4ulsfjCR6ClqR7771X1157rebPn3/cRQKIbNt29Z7KmnVi2iBrAtFh0D3hWbNmKS8vTwUF\nBbLZbFq5cqXWr1+vpKQkzZs3T88//7zKysr07LPPSpK+8Y1vaPHixcNeOABr6ejy6dPPGzTRk6ix\no/loEiAN8Zzw8uXL+9yfNm1a8PaOHTtCWxGAiPRRaZ38AUOnsRcMBDGrBoAR8cFuDkUDX0UIAxh2\nPb6APiqt09iUOI1PSzC7HCBsEMIAht2nZQ3q7PZr1olpzJIFHIIQBjDs3vusRhKHooGvIoQBDKse\nn1/vf1aj1KRYTRmfYnY5QFghhAEMq+0ldero8uusvHGycyga6IMQBjCsiooPSJLm5KWbXAkQfghh\nAMOmtaNHH5XWaYInUePTEgd/AhBlCGEAw+bdnTXyBwz2goEBEMIAhk1R8QHZJH3t5HFmlwKEJUIY\nwLCobmhXSUWTpmWnKjUp1uxygLBECAMYFps+qJQkzT8l0+RKgPBFCAMIue4ev978qErJ8S6dPpUJ\nOoCBEMIAQm7rpzVq6/Rp/qmZcjr4NQMMhJ8OACH3xgcVstmkBadkmV0KENYIYQAhtbeqWXurWnTq\nlLEakxJndjlAWCOEAYTUa+9XSJLOm8VeMDAYQhhAyNQ2dmhLcbUyxsTr5Elus8sBwh4hDCBkXnqn\nXAHD0DfOnsTFGoAhIIQBhERDS5fe/Gi/PKNH6cyTPGaXA1gCIQwgJDZsLZfPb+jiOdly2PnVAgwF\nPykAjltzW7c2fVCp1KRYnT2dizUAQ0UIAzhuz7+5V92+gC6Zk83kHMBR4KcFwHGp8LbqHx9WKmNM\nPPNEA0eJEAZwzAzD0LrXS2QY0tXnTWEvGDhK/MQAOGYf76lT8d565U1K1czcMWaXA1gOIQzgmHT1\n+PXkxt2y2aTFF5wgG58LBo4aIQzgmDz3j1LVNHTowtkTND4t0exyAEsihAEctV37GvXaexVKd8fr\nsnMmm10OYFmEMICj0tXt1x/+9qlkk66/5CTFuBxmlwRYFiEMYMgMw9CfNuxUTWOHFp05UblZKWaX\nBFgaIQxgyF59r0JbiquVm5nMYWggBAhhAEPyaVmDnnm9RCkJMfrxZTPkcvLrAzhe/BQBGFSFt1W/\n+b+PZbNJN/zLdKUmxZpdEhARCGEAR1Rd3677n/5QbZ0+XXvRNJ04YbTZJQERgxAGMKDaxg7d//QH\nam7r1ncWnqh5MzPMLgmIKE6zCwAQnsoOtOhXf96uprZuXbFgsi44fbzZJQERhxAGcJiPSuv02+d3\nqLvHr2/nn6CFZ0wwuyQgIhHCAIL8gYBeePNzvfj253I67frxZdN1+lSP2WUBEYsQBiBJ8jZ26Pcv\nfqLdFU0amxKnH31ruiZnJptdFhDRCGEgyvX4Anr5nTK9WFSmHl9As6d5dO1FUxUf5zK7NCDiEcJA\nlAoEDL3zSbX+8tZe1TR0KDkhRv/69Sn62snjuCwhMEIIYSDKdHb79M/t+/X3d8pVXd8uh92m/NPH\n61/Omaz4OH4lACOJnzggChiGoc8PtGhLcbXeLj6gto4eOew2zT8lU984O1tjU0aZXSIQlQhhIEL1\n+AIqqWjUx3vqtW2XVzWNHZKk0UmxuvTsSVpwaqbcyXEmVwlEN0IYiACGYaiuuVMV3jbt3d+sksom\nle5vUndPQJIU63LoayeP05nTPDrva5PU2NBmcsUApCGG8KpVq7R9+3bZbDatWLFCM2fODC57++23\n9eCDD8rhcGj+/Pm68cYbh61YIJoFDEMtbd2qa+5SfXOn6po7VVXXrsraVlV629TZ7e+zftbYBJ08\nya0Zk906ccJoxbgcksTVj4AwMmgIb926VWVlZVq3bp1KS0u1YsUKrVu3Lrj8l7/8pR5//HGNGzdO\nS5Ys0aJFizRlypRhLRqwEsMw5PMb6vb51d0TUI/Pr25f4LDbnd0+tXX61NrRo7bOHrV19P5r7fSp\nraNHja1d8vmNw7bvsNuU7o5XVlqCstISlT0uUblZKUrgI0ZA2Bs0hIuKipSfny9Jys3NVVNTk1pb\nW5WYmKh9+/YpJSVFGRm9k7ovWLBARUVFIxbCTa1devK1EjU2dxy27PBfVYMvPNJzDOOIW+xn/aNa\nPfgaMbFOdXf5hlzXsby+cZT/AUf+v+x/qSEpxuVUd49vKKsf0dH+3x/pdY61F4fDrq5uvwIBQwHD\nCH71B/reNgJfPGYo+LjPFzim9/CgGJddCXEuTfAkaUxyrNzJcXInx2lMcqw8qfFKd8ezdwtY1KAh\nXFtbq7y8vOB9t9str9erxMREeb1eud3uPsv27dt3xO2lpsbL6XQcR8lfqmnp1uvv71MgcDy/4oAv\nDfTxWLvNJofdJrv90K922e2S3W6X02FXrP3wdew2m1xOu2JcDsV+8S/G5VBsTO/XGJc9+HhsjFPJ\nCS4lxccoKT5GifG9tw8eRg6ce0+aAAALwElEQVSltLSkkG/TLPQSnuhlaI56YNax7JUcqqGh/bie\nfyhPUoyeuvvrqqpu7nf5kaYbOJbJCAZ6ysBbOsKSARaNHZuo2trWIa/f+ypHXdiAiwZ+naPvJS0t\nSV5vy1G8Rqh7Cd2EEwP1MpwC3T41dfsGX/EomdHLcKGX8EQv/W+nP4OGsMfjUW1tbfB+TU2N0tLS\n+l1WXV0tj2dkJ3uPj3MpOT5mRF9zOMXHuTQqNjIGrTsdvXuIAID+Dfobcu7cudqwYYMkqbi4WB6P\nR4mJiZKk8ePHq7W1VRUVFfL5fHrjjTc0d+7c4a0YAIAIMegu16xZs5SXl6eCggLZbDatXLlS69ev\nV1JSkhYuXKg777xTy5YtkyRdfPHFysnJGfaiAQCIBEM67rl8+fI+96dNmxa8PXv27D4fWQIAAEPD\nCTsAAExCCAMAYBJCGAAAkxDCAACYhBAGAMAkhDAAACYhhAEAMAkhDACASWzG8V6RAQAAHBP2hAEA\nMAkhDACASQhhAABMQggDAGASQhgAAJMQwgAAmMRyIXzfffdp8eLFuuKKK/TKK6+oqqpKS5cu1TXX\nXKOf/vSn6u7uNrvEo9LZ2an8/HytX7/e0r288MIL+uY3v6nLL79cmzZtsmwvbW1tuummm7R06VIV\nFBRo8+bN2rlzpwoKClRQUKCVK1eaXeKQ7Nq1S/n5+Vq7dq0kDfh+vPDCC7riiit01VVX6c9//rOZ\nJQ+ov16+973vacmSJfre974nr9cryZq9HLR582ZNnTo1eN+KvfT09GjZsmW68sorde2116qpqUmS\nNXt599139e1vf1tLly7VD3/4w2Avv//973XllVfqqquu0j/+8Y/QvLhhIUVFRcb3v/99wzAMo76+\n3liwYIFx6623Gi+99JJhGIbxwAMPGE888YSZJR61Bx980Lj88suN5557zrK91NfXGxdeeKHR0tJi\nVFdXG7fffrtle1mzZo1x//33G4ZhGAcOHDAWLVpkLFmyxNi+fbthGIbx85//3Ni0aZOZJQ6qra3N\nWLJkiXH77bcba9asMQzD6Pf9aGtrMy688EKjubnZ6OjoMC655BKjoaHBzNIP018vt9xyi/G3v/3N\nMAzDWLt2rbF69WrL9mIYhtHZ2WksWbLEmDt3bnA9K/aydu1a4+677zYMwzCefvppY+PGjZbt5bLL\nLjNKS0sNwzCM3/72t8ajjz5qlJeXG5dddpnR1dVl1NXVGYsWLTJ8Pt9xv76l9oRnz56t//7v/5Yk\nJScnq6OjQ++8844uuOACSdJ5552noqIiM0s8KqWlpSopKdG5554rSZbtpaioSHPmzFFiYqI8Ho/u\nvvtuy/aSmpqqxsZGSVJzc7NGjx6tyspKzZw5U5I1eomJidFjjz0mj8cTfKy/92P79u2aMWOGkpKS\nFBcXp1mzZmnbtm1mld2v/npZuXKlFi1aJOnL98uqvUjSI488omuuuUYxMTGSZNle3njjDX3zm9+U\nJC1evFgXXHCBZXs59PdAU1OTUlNT9c477+icc85RTEyM3G63srKyVFJSctyvb6kQdjgcio+PlyQ9\n++yzmj9/vjo6OoLfvGPGjAkemrKC1atX69Zbbw3et2ovFRUV6uzs1I9+9CNdc801Kioqsmwvl1xy\nifbv36+FCxdqyZIluuWWW5ScnBxcboVenE6n4uLi+jzW3/tRW1srt9sdXMftdoddb/31Eh8fL4fD\nIb/fryeffFKXXnqpZXvZu3evdu7cqa9//evBx6zaS2Vlpf75z39q6dKluvnmm9XY2GjZXlasWKEb\nb7xRixYt0vvvv6/LLrts2HqxVAgftHHjRj377LO64447+jxuWGgGzueff16nnnqqJkyY0O9yK/Ui\nSY2NjXr44Yd177336rbbbutTv5V6+ctf/qLMzEy9+uqr+tOf/qRf/OIXfZZbqZeBDNSDlXrz+/26\n5ZZbdNZZZ2nOnDmHLbdKL/fcc49uu+22I65jlV4Mw1BOTo7WrFmjE044QY8++mi/61jB3XffrYcf\nflgbNmzQ6aefrieffPKwdULVi+VCePPmzXrkkUf02GOPKSkpSfHx8ers7JQkVVdXH3aoJ1xt2rRJ\nr732mq6++mr9+c9/1m9+8xvL9jJmzBiddtppcjqdmjhxohISEpSQkGDJXrZt26Z58+ZJkqZNm6au\nri41NDQEl1upl0P1973l8XhUW1sbXKempsYyvd12223Kzs7WTTfdJEmW7KW6ulp79uzR8uXLdfXV\nV6umpkZLliyxZC+SNHbsWM2ePVuSNG/ePJWUlFi2l88++0ynn366JOnss8/Wjh07DuslVL8LLBXC\nLS0tuu+++/Too49q9OjRknr/gzZs2CBJeuWVV3TOOeeYWeKQ/epXv9Jzzz2nZ555RldddZV+/OMf\nW7aXefPmacuWLQoEAmpoaFB7e7tle8nOztb27dsl9R5eS0hIUG5urt577z1J1urlUP29H6eccoo+\n/vhjNTc3q62tTdu2bdMZZ5xhcqWDe+GFF+RyufTv//7vwces2Mu4ceO0ceNGPfPMM3rmmWfk8Xi0\ndu1aS/YiSfPnz9fmzZslScXFxcrJybFsL2PHjg2e7/3444+VnZ2ts846S5s2bVJ3d7eqq6tVU1Oj\nKVOmHPdrWeoqSuvWrdNDDz2knJyc4GP33nuvbr/9dnV1dSkzM1P33HOPXC6XiVUevYceekhZWVma\nN2+e/uM//sOSvTz99NN69tlnJUk33HCDZsyYYcle2tratGLFCtXV1cnn8+mnP/2p0tLSdMcddygQ\nCOiUU04Z9PCh2Xbs2KHVq1ersrJSTqdT48aN0/33369bb731sPfj5Zdf1uOPPy6bzaYlS5YEB9aE\ni/56qaurU2xsrBITEyVJubm5uvPOOy3Zy0MPPRTcoTj//PP1+uuvS5Ile7n//vtVWFgor9er+Ph4\nrV69WmPHjrVkLzfffLPuu+8+uVwupaSkaNWqVUpOTtaaNWv017/+VTabTT/72c/6PRVytCwVwgAA\nRBJLHY4GACCSEMIAAJiEEAYAwCSEMAAAJiGEAQAwidPsAgAMzV/+8hd961vfGrbt7969W3fddZd+\n8pOf6MUXX5TUO8+03+/Xq6++qtWrVw/bawPRij1hwAL8fr9+85vfDNv2A4GAfvGLX+jOO+9UVVWV\n7rrrLt11111qbm5Wfn6+fD6fXnrppWF7fSBaEcKABaxYsUKVlZW67rrr9NJLL+maa67Rt7/9bd14\n443BaTVPO+00/e53v1NBQYGuuOIKvfrqq/rBD36g/Px8vfnmm5KkpUuX6p577tF1112nSy+9NLjH\n+9prryk9PV25ubn9vv73v//9fucCBnB8CGHAAn7yk5/I7XarsLBQjzzyiP74xz/qqaee0plnnhkM\nx/b2dk2fPl1PP/204uPj9frrr+uxxx7Tj3/84z4T0Pt8Pv3hD3/Qww8/rFWrVikQCGjz5s1HnI7z\npJNOUk1NjWpqaoa9VyCacE4YsJAPPvhAXq9X119/vSSpu7tb48ePDy4/OOn8uHHjNGvWLElSenq6\nWlpaguscvEBFdna2bDab6urqVFVVpQULFhzxtTMyMrR//35LTMAPWAUhDFhITEyMZs6cOeChYYfD\n0e/tQwUCgeBtwzBks9lCWySAIeNwNGABdrtdPp9PM2bM0EcffRS8mPjf//53bdy48ai2tWXLFkm9\nF5S32+1yu93KyMjQgQMHjvi8qqoqZWZmHlsDAPrFnjBgAR6PR2PHjtUNN9yg2267TT/84Q81atQo\nxcXFHfVHh3w+n2644QZVVFTov/7rv2S323XOOefoueee03e+8x0ZhqE77rhDkjR58mRJ0s6dO4PX\nIAYQOlxFCYgiS5cu1Q033KCzzz67z+OBQECXX365HnjggX5HSC9btkwXXHCBLr744pEqFYgKHI4G\nILvdrvvuu0933nmnuru7+yzbuHGjHA4HAQwMA/aEAQAwCXvCAACYhBAGAMAkhDAAACYhhAEAMAkh\nDACASQhhAABM8v8BBs6dAlplzeAAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1e1b52dc50>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "KrbfincHntIb",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 361
},
"outputId": "8276f34b-b2b4-4ac6-d4f4-77a28e11bdcd"
},
"cell_type": "code",
"source": [
"def p_for_d_m_T(d, m, t):\n",
" return (p_for_d_m(d, m) * (1.0 - p_for_T(t))) + p_for_T(t)\n",
"\n",
"days = np.arange(366)\n",
"p_temp100 = p_for_d_m_T(days, 0, 100)\n",
"p_temp120 = p_for_d_m_T(days, 0, 120)\n",
"p_temp140 = p_for_d_m_T(days, 0, 140)\n",
"\n",
"plt.xlabel(\"days\")\n",
"plt.plot(days, p_temp100, \"g\", label=\"temp=100\")\n",
"plt.plot(days, p_temp120, \"b\", label=\"temp=120\")\n",
"plt.plot(days, p_temp140, \"r\", label=\"temp=140\")\n",
"plt.legend()\n",
"plt.show()"
],
"execution_count": 75,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAeEAAAFYCAYAAABkj0SzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xd8FHX+x/HXbEkPkEASeq9SlKIe\ngmIB9bAhZ0EFG/azi8oFFTwBUUHlJxZQRE8UOBA9FQRFwAaCoCJEkN4UQkJJsilb5/fHQgAJJCG7\n2ezm/Xw89rE7s7szn28myXvnO7PzNUzTNBEREZFKZwl1ASIiItWVQlhERCREFMIiIiIhohAWEREJ\nEYWwiIhIiCiERUREQsRW2SvMysoL6PKSkuLYv78goMusStS+8BXJbYPIbl8ktw3UvlBISUkscX7Y\n7wnbbNZQlxBUal/4iuS2QWS3L5LbBmpfVRL2ISwiIhKuFMIiIiIhohAWEREJEYWwiIhIiCiERURE\nQkQhLCIiEiIKYRERkRBRCIuIiIRImUJ4/fr19O7dm6lTpx7z3JIlS7jqqqu49tprefXVVwNeoIiI\nSKQqNYQLCgp45pln6N69e4nPjxw5kldeeYVp06bx/fffs3HjxoAXKSIiEolKvXZ0VFQUb775Jm++\n+eYxz+3YsYOaNWtSr149AHr16sXSpUtp2bJl4CsVEakKTBO8XnC7MTxu8HjA7fE/drsxvB7weMHn\nK74Zps//nuJ5pn++7+jXHf1a8/B804dx5PsP1WGahx8feX/EY6Ok1yVEE5NbWPJ7S3o95tHLO+76\nj12eCfi8h38kXs8RzTL9zTRNMA822fQdXrTXB16vD6/pxev14fGZeL1evD4fPp9Z/BqfaWL6TExM\nTNPEZrfhdLrxmebB0n0H13X4NYfWYZrmwfmHmmlibVSP8156EAzjZH5DyqXUELbZbNhsJb8sKyuL\n5OTk4unk5GR27NhxwuUlJcUF/Lqex7swdqRQ+8JXJLcNQtg+nw8cDsjLO/ZWWAhFRYfvy/PY6QS3\nP0xT3IcC1n30zeMJTZsDLLJ/Mytu/cPX0Lpr26Cvp9JHUQr0yBYpKYkBH5mpKlH7wlcktw3K2T7T\nBKcTw+HAcOQdvHdgyT/82HDkYeT9ZTrfcfS0w4ElLw+jID+gbTEtFoiJxYyOApsdS3QUXosNMy4a\n7Haw2THtNv+9zXZwng3TbgfrwfuD8027HSxWsFrAYvEv22IBwwJWq/+xxYJpMfzzLIfnm4deVzzP\nOHq+1erfOzu0h3bEY6fLIDcXcvMs5OZZcDgMcvMM8vIM8hwGuXkWCgoMCgoNCgstFLkMTPzvLem+\n9HleTKsb0+IFi+eoe9N66LEHLB4wDt5bD95bfFgNsFhMjENNNkwMq+H/8RjGoR+T/0dhgMVqYDUM\nLNbDP07DMDAsJv4fpYEF/32UzYrX6zs4zwADDIvF/zoM/3wDLBYDA//6jIOPDQPiW9TlmsYNAvr3\ne7wPrBUK4dTUVLKzs4unMzMzSU1NrcgiRaQqME1wufzhdygIi+/zMRx5YHiIzdxbHJCWv4Tl4QA9\nOO12n3w5cXGY8Qn4EhLwpKZhJiZiJiT4b/FHPE5IxIyNxYyJgZgYzOgYzOhoiI3FjI7GjI6BmGjM\nmNijHvOX3r6UlET2VbEPUC4XbNliYdMmCzt3GuzYYWHHDoOdO/3T+/ad+BQfq9UkLtFFVEIB9jQH\nXvt+PFHZFNl3U2j9E2L2Q0wORDnAXnDwll/8uEa8nRoJdmom2KmVEEXNuHhqRtekRlQNakTXpGZU\nTRKiEomzxRNrjyPWFnvwFkfcwftYWyyx9jiiLFEYQezqDacPwBUK4YYNG+JwONi5cyd169Zl0aJF\njB07NlC1iYjPV9wNanjc4HIfPvbocfuPRbpd/r3MoiKMokIocmIUFWIUFUFRIUZhEYaz6OjposKD\n7zk4nZ93MFyPCM8ydLsmHGe+abX6AzEhAV9aXczmR4TkEYHpS0zEjC/5ueKgjU/w7wFWEx4PbNhg\n4ddfLfz+u4WNGy1s2GBl61YDr/fY4IqJMWnY0EenTh7q1TOJq5WHM2YbufYN7LOtZY/xKzt8Kyi0\n7yDPYh71XqthpX5CAxomNqJBQkPS4uqSEteKlNgU6sSmkBKXSkpsCrVj62CzVHrHabVQ6k91zZo1\nPPfcc/zxxx/YbDbmz5/P+eefT8OGDenTpw8jRozgkUceAaBv3740a9Ys6EUXczhg6lvE7c4+er5p\nlvz6kuaXdZ7/iTK+v+R3Gyez/rgo4gtcZXtteeeV67VB+pnG2EkodJ38+8v68y/P+zl8QozhO+KE\nGtN/Qs1RJ8gcPInGOOqEm4PPWw1qOd3+95uHnzeOXJ7H499DPHjs0XC7/nKSj7fkugPMjI4uDjxf\nvQaY8fH+W0LiwfuEw2F5cH5ivTrk+Kz++fHx+BISi4OUmJhKOakl3JkmbN5s8OOPVlat8t8yMiwU\nFh79s0tKMuna1Uvr1j6aN/fRpIk/eGul5bLZvZSf96xkVdbPLMr6hd35u456b4w1hua1WtI66Upa\n1mpNs5rN6dioLQne2tSNr6dwDTHDNI+bOEERyC4C+8IF1BrQP2DLEwkowzh8PPDQMb/i432HDnhZ\n/ccQ7QePNUZFYdrscOj4Y1TU4WOPR0wXH3s89Fx0DGZMzOFu2Bh/l6wZG3t4OjoGYo94Lia2ePqv\n3bFlEU5dfuUVrLaZpn8v9/vvrSxdamXJEit79hzuRrZaTdq08XHqqT46dfLSvr2PVq181K7t/zed\n787nhz+/5/s/v2PJH9+yKusXvObhD2r14utzasppnJramY51OtEmuR0NExphtRzdkxDJ2w6qZvuC\nckw41NznXQDLlnFg555jnzzep/CS5pd13nHmHzpZ4eTXf/zXJSXFs39//jHzS19mRWsq+/vL3P4S\n5iUnx7OvpJP1KrH+ErfpkWeFnDBED8474oSbQ7eU1BpkV7F/BFL5iopgyRIrX35p48svbWzffjh0\nU1N99Ovn5swzvZx2mpdTTvERG3v0+3fn7+I/GfOYv3Uu3+78miJvEQA2i40uad3oUf9sutU9nVNT\nu5AWl1aZTZMACOsQxjDgjDNwN4vgf3QpiXgi+R95SiLeSG6fVEsuFyxcaGX2bDtffGGjoMD/QS8x\n0eTyy9306uXlrLM8NG9ulvjZcG/hXj7eOItZ62ewMnNF8fx2yafQu8lFnN2wF6fXPZN4e3xlNUmC\nJLxDWESkijBNWLbMysyZNj791M6BA/50bdbMx8UXu+nTx8OZZ3qx20t+v8vrYv7Wz5n5+zQWbP8C\nj8+DxbBwdoNeXNysLxc2/TtNajStvAZJpVAIi4hUgMMBs2bZmTLFztq1/mOvdev6uOsuN//4h5tO\nnXwnPEdtT8Ee3vttCu+smUxmwW4AOtTpxNWtB9C/1VWkxdetjGZIiCiERUROwrZtBpMmRTF9up28\nPAObzaRfPzeDBrk56yxvqd+q2pKzmfErxzFr/QxcPheJUTW4s9M9XNduEKfUbl85jZCQUwiLiJTD\nxo0G48dHM2uWDa/XoG5dH3ff7WLQIDdpaaV/2WTzgY28tHIss9bPwGt6aVGrJbd3uptr2lxHgv14\n37yWSKUQFhEpg+3bDZ59NprZs22YpkGbNl4eeMDFFVd4jnuc90h7C/fywo+jeTfjbbyml7bJ7Xi4\n62Nc1qLfMV8hkupDISwicgL798PLL0czebIdl8ugQwcvDz/som9fD5YyjMju8rqYvHoS41Y8R64r\nh+Y1WzDsb8O5pPnlWIwyDekuEUwhLCJSAp8PPvjAzjPPRLN/v0GjRj7S04u48sqyhS/Az5kreXDR\nvazdl0Gt6FqM7DGGmzvcRpQ1KrjFS9hQCIuI/MWvv8LgwXGsWGElIcFk+PAiBg92ExNTtvcXuAt4\nbvkoJv76Kj7Tx6BTbuGJvw0nKSa59DdLtaIQFhE5yO2GceOiGD8evF4rl1/uZuRIJ3Xrlv3qvmuy\nV3PHFzez8cAGmtZoxkvnTaBHg7ODWLWEM4WwiAiwfr2Ff/4zhlWrrDRuDM89V8AFF5R9AA3TNJmS\n8RbDv0/H6XVyZ6d7+NeZTxFnjwti1RLuFMIiUq2ZJrz9tp2nn46mqMhgwAA3EyfacTrLHsAOt4P7\nv7qbzzb/j+SYZN6+6D36NL04iFVLpFAIi0i15XDAI4/E8NFHdmrX9vH660VccomHGjXsZGWVbRk7\n83YwcO61/LZ3Dd3r9+CN3pOpl1A/uIVLxFAIi0i1tH69hVtvjWH9eiunn+7lrbcKqVevfCO7rti9\nnJs+v56swj3c0uE2RvZ4Dru1DF8aFjlIISwi1c6CBVZuvz2W/HyDO+908dRTzjJdcONIczZ/yl1f\n3orb5+bZs19gcMc7g1OsRDSFsIhUK5Mn2xk2LJqoKJg0qZB+/TzlXsbM36dz/8K7ibHF8u7fP+D8\nxn2CUKlUBwphEakWvF546qlo3nwzipQUH++9V0iXLr5yL+fdjLd57OuHqBFdk+mXfkjXtNODUK1U\nFwphEYl4LhfcfXcMn35qp21bL++/X0ijRuU7/gswadVrPPH9UOrE1uG/l/2PDnU6BqFaqU4UwiIS\n0QoK4NZbY1m40Eb37h7ee6+QGjXKv5z3f/sPT3w/lLS4unx4+ae0Tm4T+GKl2tHVw0UkYuXmwoAB\n/gDu3dvD9OknF8Cfbvofj3x9P8kxycy6/BMFsASMQlhEIlJeHlxzTRw//GDj8svdvPNOIbGx5V/O\n4h0LufvLwcTa4ph2yYe0SW4b+GKl2lIIi0jEcTjguuti+eknK9dc42bixCKiTmLgojXZq7n58xsw\nDIP3+k6nc1rXwBcr1ZqOCYtIRCkogEGDYlm+3MaVV7oZP74Iq7X8y8kqyOLGuQMo8OQz+aL36Nng\nnMAXK9We9oRFJGK4XHDLLbF8/72Nvn3dTJhwcgHs8rq4df5Adjp28PgZw7isxRWBL1YEhbCIRAif\nDx54IIZFi/wnYU2aVFTuq2CBfzSkuz+7m2W7lnJFi/483PWxwBcrcpBCWEQiwsiRUXz4oZ1u3fzX\ngT6ZY8AA72RM5u1f3qZTymmMP/81DMMIbKEiR1AIi0jYe/NNOxMmRNOypZepUwuIO8khfFdn/8pT\n3/+L2rG1effiDzQWsASdTswSkbA2Z46NJ56IJjXVx/TphSQnn9xyHG4Hd35xC06vk1n9ZtEgsWFg\nCxUpgfaERSRsrV5t4Z//jCE2FqZNK6Rx4/JfivKQ9G8fZeOBDdx56j+5tPWlAaxS5Pi0JywiYWnP\nHoMbb4yloMDgnXcK6dix/IMxHDJr/Qymr3ufU1M68+Tfng5glSInpj1hEQk7TifcfHMsf/xhIT3d\nSd++5R+O8JA/HX/w+DePkGBPZOKFbxNlPckzukROgvaERSSsmCY89lgMK1ZY6d/fzQMPuCqwLJMh\nix8gz5XLuHP/j+Y1WwSwUpHSaU9YRMLKBx/YmTbNTqdOXl56qYiKfINo5vrpLNj+BWc3PJeB7W4K\nXJEiZaQQFpGwsXq1haFDo6lVy+Ttt09uQIZDMvN388R3jxNni+elc1/R94ElJNQdLSJhIScHBg+O\nxek0mDy5oEJnQpumyWPfPMwB5wGePXssjWs0CWClImWnPWERqfJME+6/P4atWy088ICTCy/0Vmh5\n87bO5fMtn9G9fg9u6XBbgKoUKT+FsIhUea+/bufzz+307Onh8cdP/kQsgEJPIU9+NxSbxcYL57yM\nxdC/QQkd/faJSJW2YoWFZ56JJi3Nx+uvF2Gr4EG0CT+/zPa8bdzR6R5aJ7cJTJEiJ0khLCJVVl4e\n3HVXLD4fTJxYRFrayR8HBtiWu5VXfnqJtLi6DOn2eICqFDl5OjFLRKqsoUNj2L7dwoMPOjnrrIod\nBwZ48vt/UeQt4qWzRpIQlRiACkUqRnvCIlIlzZ5tY+ZMO507e3n00YodBwZYuH0B87bMoXv9HvRv\ndXUAKhSpOIWwiFQ5O3YYPPZYDHFxJq+/XojdXrHleX1enl7yJAYGo3o+r+8ES5Wh7mgRqVI8Hrjn\nnhhycw3Gjy+kefOKHQcG/wANa/dlcG2b6+lQp2MAqhQJDO0Ji0iV8sorUSxbZuOyy9wMGHDyAzMc\nUuQp4rnlo4i2RvP4GcMCUKFI4CiERaTKWLfOwtixUdSt62Ps2IpdF/qQKWveYqdjB4M73knDxEYV\nX6BIAJWpO3r06NGsWrUKwzBIT0+nU6dOxc+9//77fPLJJ1gsFjp06MCwYfqkKSLl5/HAAw/E4HYb\njB1bSFJSxZeZ4zzAyytfoEZUTR7o8nDFFygSYKXuCS9fvpxt27YxY8YMRo0axahRo4qfczgcTJ48\nmffff59p06axadMmfvnll6AWLCKRaeJEOz//bOUf/3BX+LKUh7zy08vsd+7n/i4PkxSTHJBligRS\nqSG8dOlSevfuDUCLFi3IycnB4XAAYLfbsdvtFBQU4PF4KCwspGbNmsGtWEQizubNBs89F02dOj5G\njnQGZJnZhdm8tfoN6sbX4/ZOdwVkmSKBVmoIZ2dnk3REv1BycjJZWVkAREdH889//pPevXtz3nnn\nceqpp9KsWbPgVSsiEcfngwcfjKGoyGDMGCe1a1f8bGiAiatepcBTwP2dHyLWVoExD0WCqNxfUTLN\nw38gDoeDiRMnMm/ePBISErjppptYt24dbdu2Pe77k5LisNmsJ1ftcaSkRPaVb9S+8BXJbYPAtO/V\nV+GHH6B/f7j11tiAnIy1t2Avk9dMpG5CXR48515i7eUPYW278BYu7Ss1hFNTU8nOzi6e3rNnDykp\nKQBs2rSJRo0akZzsP9bSrVs31qxZc8IQ3r+/oKI1HyUlJZGsrLyALrMqUfvCVyS3DQLTvu3bDR57\nLJ5ateDpp/PJzg7MXvCYZc/hcDl47PR0HAc8OChfndp24a0qtu94HwpK7Y7u0aMH8+fPByAjI4PU\n1FQSEhIAaNCgAZs2baKoqAiANWvW0LRp0wCVLCKRzDThkUdiKCgweOaZig/OcMiBov28uXoidWJT\nuPGUWwOyTJFgKXVPuEuXLrRv354BAwZgGAbDhw9n9uzZJCYm0qdPHwYPHsyNN96I1Wqlc+fOdOvW\nrTLqFpEwN326ja+/tnHBBR6uuabiF+U45M3Vb5DnyuXh7iOJs8cFbLkiwWCYRx7krQSB7iKoit0O\ngaT2ha9IbhtUrH27dxv07BmPzwfffptPgwaB+TeU58qly3sdsBlWfhy0mgR7wkktR9suvFXF9p10\nd7SISCCZJjz2WDS5uQbDhzsDFsAAU3/7DznOA9zR6Z6TDmCRyqQQFpFK9fHHNubNs9Ozp4dBg9wB\nW67b62bSr68RZ4vj5g6DA7ZckWBSCItIpcnONkhPjyY21mTcuCIsAfwP9L9Ns/nDsZPr2w3S1bEk\nbCiERaTSpKdHs3evhfR0J82aBa4b2jRNXvvlFSyGhTtP/WfAlisSbAphEakUc+fa+PhjO926ebnt\ntsB1QwN8+8fXrMn+lcua96NJjaYBXbZIMCmERSToDhzwn4wVFWXy8stFWAN70Txe/Xk8APecdl9g\nFywSZAphEQm64cNj2LPHwqOPumjd2hfQZf+2N4NFO76ie/0edE7rGtBliwSbQlhEgmrhQivTptnp\n1MnLPfe4Ar78t359A4C7T9VesIQfhbCIBI3DAUOGxGCz+buh7fbALn9/0T4+3PBfGtdoSp8mFwV2\n4SKVQCEsIkHzzDPR7Nxp4f77XXToENhuaIBp696n0FPILe1vw2oJ8IFmkUqgEBaRoFiyxMqUKVG0\nbevloYcC3w3tM31MWfMmMdYYrm83MODLF6kMCmERCbiCAnjwwRgsFn83dHR04NexcPuXbMvdyj9a\nX6OLc0jYUgiLSMA991w0W7dauOsuN126BL4bGmDy6kkA3Nrh9qAsX6QyKIRFJKBWrrQwcaKd5s19\nPP64Myjr2Jyzia+2f8npdc+kY8qpQVmHSGVQCItIwDid/m5on8/gpZeKiI0NznreWTMZgMEd7wjO\nCkQqiUJYRALmpZei+P13K7fe6qJ7d29Q1lHkKWLGuvepE5vCpc2vCMo6RCqLQlhEAmL1agv/939R\nNGrk44kngtMNDTBn8yfsd+7nurYDibJGBW09IpVBISwiFeZywf33x+DxGIwdW0RCQvDWNfW3dwG4\nod2g4K1EpJIohEWkwsaPjyIjw8rAgS7OOy843dAAmw9s5Ps/v6VH/bNpXqtl0NYjUlkUwiJSIatX\nW3jppSgaNPDx9NPB64YGmLr2PwAMPOWmoK5HpLIohEXkpLndh7uhx40rIjExeOtyeV1MX/c+SdFJ\nXNL88uCtSKQSKYRF5KS9/PLhbujzzw9eNzTA/K2fk12YxdVtBhBjiwnqukQqi0JYRE7KqlX+ryTV\nr+9jxIjgdkMDTP3tHQAGnnJz0NclUlkUwiJSbm433HwzeDwGL75YRI0awV3fzrwdLN6xkG5pZ9A2\nuV1wVyZSiRTCIlJuL78cxS+/wA03BL8bGmDW+hmYmFyvryVJhFEIi0i5rFrlPxu6YUOCfjY0gGma\nzPj9A2KsMVzeol/Q1ydSmRTCIlJmBQVw993+s6GnTCHo3dAAP+1ZwaYDG/l7s0uoEV0z+CsUqUQK\nYREps6efjmbjRit33umid+/KWeeMdR8AcE2b6ypnhSKVSCEsImWyYIGVKVOiaNfOy7Bhwe+GBnB6\nnXy88UNS49Lo1ej8SlmnSGVSCItIqbKyDO6/P4aoKJPXXisippK+pvvF1nkccB7gH62uwWaxVc5K\nRSqRQlhETsg04ZFHosnOtjBsmJP27X2Vtu6Zv08D4Nq211faOkUqk0JYRE7oP/+xM2+enbPP9nDn\nne5KW292YTYLtn9BhzqdOKV2+0pbr0hlUgiLyHGtXm3hiSeiSUoyeeWVIiyV+B/jow0z8fg8XKsT\nsiSC6SCLiJQoLw9uvz0Wp9Pg7bcLqF/frNT1z/h9GlbDypWtrq7U9YpUJu0Ji8gx/MeBY9i82cK9\n9zrp0yf4V8U60tq9v/Fr1i9c0LgPqXGplbpukcqkEBaRY7z7rp2PP7Zzxhke/vUvV6Wvf+b66YC+\nGyyRTyEsIkdZvdrCk09Gk5zsY+LEIuz2yl2/z/Tx0YZZJEbV4MKmf6/clYtUMoWwiBQ7cAAGD/Yf\nB3711SIaNKjc48AAy3cv4w/HTvo2u1TjBkvEUwiLCABeL9xxRyxbt1p46CEnF1xQuceBD/low0wA\n+uuELKkGFMIiAsDIkdEsXmyjTx8Pjz9e+ceBATw+D59u+pg6sSmc3bBXSGoQqUwKYRHhww9tvPpq\nFC1benn99cJK/T7wkb7ZuZjswmwub9FPl6mUakEhLFLN/fyzhYceiiEx0eQ//ymslOEJj+ejDbMA\n9N1gqTb0UVOkGtu2zeCGG2JxuWDy5EJatqz8E7EOKfIUMXfLZzRMaMTpdc8IWR0ilUl7wiLV1IED\ncP31sWRnWxg1qvIvyPFXC7Z9QZ4rl36t/oHF0L8mqR70my5SDTmdcPPNsWzYYOWuu1wMHlx5AzMc\nz+yDZ0Vf2eqqEFciUnkUwiLVjNcL990Xw5IlNi65xM2IEc5Ql0SeK5cvt82jdVIbOtTuGOpyRCqN\nQlikGjFNePTR6OJLUr72WuWOjHQ8czd/htPr5MpWV2EYRqjLEak0ZToxa/To0axatQrDMEhPT6dT\np07Fz+3atYuHH34Yt9vNKaecwr///e+gFSsiJ880YcSIaKZOjaJjRy8ffFBIbGyoq/L7aOOhs6LV\nFS3VS6mfgZcvX862bduYMWMGo0aNYtSoUUc9P2bMGG699VZmzZqF1Wrlzz//DFqxInLyxo2L4vXX\no2jVysuMGaH9KtKR9hbu5esdizgtpTPNa7YIdTkilarUEF66dCm9e/cGoEWLFuTk5OBwOADw+Xys\nXLmS888/H4Dhw4dTv379IJYrIuVlmvD881E8/3w0jRv7mDmzkDp1QvdVpL/6fMtneE0vl7fsH+pS\nRCpdqd3R2dnZtG/fvng6OTmZrKwsEhIS2LdvH/Hx8Tz77LNkZGTQrVs3HnnkkRMuLykpDpvNWvHK\nj5CSkhjQ5VU1al/4CnXbTBPS02HsWGjWDBYtstCkSULAlh+I9s3f8RkAN59+AylJVed3IdTbLtjU\nvqqh3BfrME3zqMeZmZnceOONNGjQgDvuuIPFixdz7rnnHvf9+/cXnFShx5OSkkhWVl5Al1mVqH3h\nK9RtM00YPjyaN96IonlzH7NnFxAXZ5KVFZjlB6J9+4v28dWWrzgtpTMJnjpV5nch1Nsu2NS+yne8\nDwWldkenpqaSnZ1dPL1nzx5SUlIASEpKon79+jRu3Bir1Ur37t3ZsGFDgEoWkZPldsP998fwxhtR\ntGnj5X//K6B+/arTBX3I51vm4PF5uLRFv1CXIhISpYZwjx49mD9/PgAZGRmkpqaSkODvzrLZbDRq\n1IitW7cWP9+sWbPgVSsipXI4/FfCmjHDTufOXj76qJC0tKoXwACfbPoIgMsVwlJNldod3aVLF9q3\nb8+AAQMwDIPhw4cze/ZsEhMT6dOnD+np6QwdOhTTNGndunXxSVoiUvkyMw2uuy6WNWusXHihh4kT\nC4mPD3VVJTtQtJ9vdi6mU8ppNK2pD+9SPZXpmPCQIUOOmm7btm3x4yZNmjBt2rTAViUi5bZihYVb\nb41l924Lgwa5eO45J7YqPETLvK1z8fg82guWaq0KXCtHRCrqvffsXHFFHHv2GAwfXsTYsVU7gAE+\n2ejvir60xRUhrkQkdKr4n6mInEhBATz5ZDTvvRdFUpLJpEmF9OoV2tGQyiLHeYCvdy6iQ51OukCH\nVGsKYZEwtWaNhbvuimH9eisdOniZMqWQJk2q5glYf/X5ljm4fW51RUu1p+5okTDj88HEiXYuvjiO\n9eut3H67i7lzC8ImgAE+2/Q/AC5TV7RUc9oTFgkjGzZYePjhaJYts1Gnjo/x4wvp06fqdz8fKdeZ\nw+IdCzmldgda1GoV6nJEQkohLBIGXC6YMCGKF1+MwuUyuOQSN2PGOKvs939PZN7Wubh8LnVFi6AQ\nFqnSTBMWLLDy1FMxbNpkIS0/fi1mAAAgAElEQVTNx7PPFnHppZ5Ql3bSPt30MQCXt7gyxJWIhJ5C\nWKSKWrvWwvDh0SxebMNiMbnlFhfp6U5q1gx1ZScv15nDou1f0S65PS2T1BUtohAWqWI2bLAwblwU\nH31kwzQNevXy8O9/O2nXzhfq0irsi23zcPlcOiFL5CCFsEgVkZFhYcIEf/j6fAYdOnj517+c9O7t\nxTBCXV1gfKKuaJGjKIRFQsjng0WLrLz+ehTffOP/czzlFC+PPuqib19PxIQvQJ4rl0XbF9A2uR2t\nk9uEuhyRKkEhLBICf/5pMGOGnQ8+sLNtm//r+j17erjzThd9+nixROA3+L/YOg+n18llOitapJhC\nWKSSOBywYIGN6dPtLF5sxecziIszGTDAze23u+jYMfyP+Z7Ioa5ohbDIYQphkSA6cADmz7cxZ46N\nxYttFBX5+5e7dvVy/fVu+vVzk5gY4iIrgcOVx8LtX9I6qQ1tk9uFuhyRKkMhLBJAHg/88ouFr7+2\nsWQJLF2agMfjD942bbxccomHfv08tG0b2Xu9f/XltvnqihYpgUJYpAIcDli1ysrKlVZWrLCwZImN\n3Fx/6BoGnHaaj7//3cMll3ho1ap6Be+RdFa0SMkUwiJldOAArFtnZd06C6tXW/jpJytr11rw+Q6f\nwty4sY8rrnBz7rle+vWLxestCGHFVYPD7eCrbV/QqlZrdUWL/IVCWOQITifs3GmwbZuFrVv9t/Xr\nLaxda2HXrqNPWY6NNTnjDC9du/ro2tVL165e6tU7fC3n5GTIyqrsFlQ9C7bOp8hbxGUtrsCIpO9c\niQSAQliqDYcD9uwxyMy0kJlpHHGz8OefBlu3+u9N89igqFfPx/nn+4/ltm3r5ZRTfLRr58NuD0FD\nwsynmw8NW6iuaJG/UghLWHC7oaAA8vMNCgqgoMCgoMAgP98/78AB/y0nh+LHh+cZ7N1rkJ9/4r2w\n+vV9/O1vXpo0MWnSxEfTpj4aN/bRqpWPWrUqqaERJt+dz4Jt82lRqyWn1G4f6nJEqpywD+G8PMjO\nNjCPGNHteI//Oq+k1wV6XunrNU64vD17YN8+SxDWC16v/+bzGfh8/qs3HZp36Hn/vGOfPzTt8xkl\nzPNPezwGTqc/QF0uA7ebg9MGLpd/eD7DAIcjtnja7fa/x+U6Omjd7pPrxoyPN6lVy6RpUx9paebB\nm/9xaqr/cWqqSd26JjExJ7UKOYGvtn1BoaeQy1v0U1e0SAnCOoR/+MHKlVeC15sQ6lKCLD7UBQSZ\n/9fQYjGJjga7HaKiTOLi/N3AcXEQF2cSH28WP46L46jpWrWOvEGtWiY1a5pERYW4adXcobOiL9VX\nk0RKFNYh3KyZj0GDYO9ed/G8Qx+2j/zQfaJ5Ryrve0ueZ5bpdWVdb1xcFIWFrgrXV9L6rVawWk2s\nVv98/zRYLP6b1WoevOeo1xz53JHPHzltsZgHw/RwqEZFHZo+/Lh+/QRycvKIivK/TyJHgbuABdvm\n06xmczrU7hjqckSqpLAO4bQ0kylTICurKNSlBE1KShRZWc5QlxE0NWv6u54l8ny1/UsKPAVc3uJK\ndUWLHEcEXiZeRKqCTzd9BMDl6ooWOS6FsIgEXKGnkC+2zqdJjaZ0qNMp1OWIVFkKYREJuIXbF1Dg\nyVdXtEgpFMIiEnDqihYpG4WwiARUoaeQ+Vvn0bhGUzqlnBbqckSqNIWwiATUou1fke92cFlzXSta\npDQKYREJqE+Lhy1UV7RIaRTCIhIwRZ4i5m/9nMaJTTgttUuoyxGp8hTCIhIwi3csxOHO41INWyhS\nJgphEQmYTw6eFX1ZiytCXIlIeFAIi0hAOL1O5m/9nIYJjeiS2i3U5YiEBYWwiATE1zsWkufKVVe0\nSDkohEUkID7RWdEi5aYQFpEKc3qdzNsyl/rxDeiSpq5okbJSCItIhX27czG5rhwua3EFFkP/VkTK\nSn8tIlJhh7qiL2txZYgrEQkvCmERqRCX18XnW+ZQL74+3eqeHupyRMKKQlhEKuTbnYvJcR7g0uaX\nqytapJz0FyMiFVLcFd1SXdEi5aUQFpGT5vQ6mbvlM+rF1+eMumeGuhyRsKMQFpGTtnjHQnKcB7ii\nZX91RYucBP3ViMhJ+2jDLACubPmPEFciEp7KFMKjR4/m2muvZcCAAfz6668lvmbcuHEMGjQooMWJ\nSNVV4C5g3pa5NKnRVMMWipykUkN4+fLlbNu2jRkzZjBq1ChGjRp1zGs2btzIjz/+GJQCRaRqmrN+\nDgWefK5seZWuFS1ykkoN4aVLl9K7d28AWrRoQU5ODg6H46jXjBkzhoceeig4FYpIlTQ9YzoA/Vqp\nK1rkZNlKe0F2djbt27cvnk5OTiYrK4uEhAQAZs+ezRlnnEGDBg3KtMKkpDhsNutJlluylJTEgC6v\nqlH7wlekti2nKIc56+fQPqU9vdr+LdTlBEWkbrtD1L6qodQQ/ivTNIsfHzhwgNmzZzNlyhQyMzPL\n9P79+wvKu8oTSklJJCsrL6DLrErUvvAVyW2bsW46Tq+Ty5pdGZFtjORtB2pfKBzvQ0Gp3dGpqalk\nZ2cXT+/Zs4eUlBQAfvjhB/bt28cNN9zAvffeS0ZGBqNHjw5QySJSVX288UMA+rXsH+JKRMJbqSHc\no0cP5s+fD0BGRgapqanFXdEXX3wxc+fO5b///S8TJkygffv2pKenB7diEQmpvYV7+XrnIrrW60rz\nWi1DXY5IWCu1O7pLly60b9+eAQMGYBgGw4cPZ/bs2SQmJtKnT5/KqFFEqpA5mz/B4/MwoMOAUJci\nEvbKdEx4yJAhR023bdv2mNc0bNiQ9957LzBViUiVdagr+tr214IrxMWIhDldMUtEymx3/i6+/+Nb\nzqzXnUY1G4W6HJGwpxAWkTL7cP1MTEz6t7o61KWIRASFsIiU2cz107Fb7FyhYQtFAkIhLCJlkpG9\nht/2rqF3k4tIjqkd6nJEIoJCWETKZOZ6/2Uqr26ts6JFAkUhLCKl8vq8zN4wk1rRtejT9KJQlyMS\nMRTCIlKqb//4mt35u7i8RX+irdGhLkckYiiERaRUM38/2BXdRl3RIoGkEBaRE8p35zNn86c0qdGU\nM+qeGepyRCKKQlhETmju5k8p8ORzVetrMQwj1OWIRBSFsIic0H9/nwbA1a2vDXElIpFHISwix7U7\nfxff/vE1XdNO14hJIkGgEBaR4/pw/Ux8pk8nZIkEiUJYREpkmibT100lyhJFv5b9Q12OSERSCItI\niVZm/sjv+9fx92aX6jKVIkGiEBaREn2w1j8++PXtBoW4EpHIpRAWkWM43A4+2vghDRIack7Dc0Nd\njkjEUgiLyDE+3fgx+W4HA9regNViDXU5IhFLISwix/hg3XsYGFzXdmCoSxGJaAphETnKxv0bWLZr\nKWc3PJfGNZqEuhyRiKYQFpGjfLDOf0LWDTohSyToFMIiUszldTFj3QfUiq7F35tdGupyRCKeQlhE\nin2+5TOyCvdwbZvribHFhLockYinEBaRYlPWvAXATe0Hh7gSkepBISwiAPy+bx1L/vyOsxueS8uk\nVqEuR6RaUAiLCADvZkwG4GbtBYtUGoWwiOBwO5jx+zTS4upycdO+oS5HpNpQCIsIH22YRZ4rl4Gn\n3ITdag91OSLVhkJYpJozTZMpa97CalgZdMrNoS5HpFpRCItUcysyl7Mm+1cuatqX+gkNQl2OSLWi\nEBap5iaueg2AwR3vCHElItWPQlikGtuRt53PNv+P9rU70rPBOaEuR6TaUQiLVGNv/ToRn+njzlPv\nwTCMUJcjUu0ohEWqKYcrj6lr3yUlNpUrW10V6nJEqiWFsEg1NW3dVPJcudza8XairdGhLkekWlII\ni1RDXp+Xib++Tow1RteJFgkhhbBINTRv61y2527l6jYDqBNbJ9TliFRbCmGRasY0TSb8/BIAd3S6\nJ8TViFRvCmGRaua7P75hZeYKLm52CW2S24a6HJFqTSEsUs28vHIsAA91GRLiSkREISxSjazYvZxv\n//iaXg3Po3Na11CXI1LtKYRFqpHxP40D4MGu2gsWqQoUwiLVREb2GuZv/ZzT657JWfV7hrocEUEh\nLFJtjP/p4LHgrkN0iUqRKkIhLFINrN37G//b+BEd6nTigsYXhrocETlIISxSDYxZPhITk3+d8YT2\ngkWqEFtZXjR69GhWrVqFYRikp6fTqVOn4ud++OEHXnzxRSwWC82aNWPUqFFYLMp2karip8wVfL7l\nM06veya9m1wU6nJE5AilpuXy5cvZtm0bM2bMYNSoUYwaNeqo55966in+7//+j+nTp5Ofn8+3334b\ntGJFpPxGL3sGgGFnDtdesEgVU2oIL126lN69ewPQokULcnJycDgcxc/Pnj2bunXrApCcnMz+/fuD\nVKqIlNe3O7/mm52LOLfR+ZzVQGdEi1Q1pYZwdnY2SUlJxdPJyclkZWUVTyckJACwZ88evv/+e3r1\n6hWEMkWkvEzTZPSyfwOQfuZTIa5GREpSpmPCRzJN85h5e/fu5a677mL48OFHBXZJkpLisNms5V3t\nCaWkJAZ0eVWN2he+Qtm22WtnszLzR/q360+f9sH5cKxtF77Uvqqh1BBOTU0lOzu7eHrPnj2kpKQU\nTzscDm6//XYefPBBevYsvbtr//6Ckyy1ZCkpiWRl5QV0mVWJ2he+Qtm2Ik8RD817BJvFxpDThgWl\nDm278KX2Vb7jfSgotTu6R48ezJ8/H4CMjAxSU1OLu6ABxowZw0033cQ555wToFJFpKIm/foa23O3\nMrjjnbRMahXqckTkOErdE+7SpQvt27dnwIABGIbB8OHDmT17NomJifTs2ZOPP/6Ybdu2MWvWLAAu\nvfRSrr322qAXLiIly8zfzUsrx1I7pjZDuj0e6nJE5ATKdEx4yJCjL/betu3hMUjXrFkT2IpEpEJG\nLXuafLeDEWeNpGZ0rVCXIyInoKtqiESQX/b8xPR173NK7Q4MbHdTqMsRkVIohEUihNfn5bGvHwJg\nZM8xWC2B/RaCiASeQlgkQry5+nV+yfqZf7S6hp4NdKKkSDhQCItEgO252xizbCTJMck803NMqMsR\nkTIq98U6RKRqMU2Tx755iAJPAc/3eok6sXVCXZKIlJH2hEXC3OwNM1m4fQG9Gp7H1a0HhLocESkH\nhbBIGMvM380T3z1OrC2WF3q9rFGSRMKMuqNFwpTP9HH/wrvZW7SX0T2fp2nNZqEuSUTKSXvCImFq\n8uqJLNrxFec37s3gjneGuhwROQkKYZEw9NveDP699CnqxNZh/PmvqxtaJEwphEXCTJGniLu/HIzT\n6+Tl814lLS4t1CWJBNTixV9V2royM3czePAgJkx4uXiew+Hg0Ucf4O67B/Pww/eRm5sDwI8/LuP2\n22/kzjtv4Z133grI+hXCImHENE0e/+Zh1u77jZvaD+bCpn8PdUkiAbVr158sWDC/0tb37LP/pmvX\n04+a99//fkDnzl15/fXJ9Op1HlOnvgvA+PFjGTnyeV5/fTLLl//Ali2bK7x+nZglEkbeyZjMtHVT\nOTWlM8/0eDbU5YgE3IsvPsfatRm8/fYkNm/eSF5eHl6vlwcffJSWLVtxzTVXcNllV7J48Vc0bNiQ\nNm3asWjRAho2bMzw4SMZNWoEyck1WbduAzk5B0hPfwqfz2TChJeOWk/PnucwYMBARo9+gcWLF7J5\n86bi51au/JF//espAHr0OIfHHnuQP/7YSWJiDdLS6gLQvXsPVq5cTrNmzSvUXoWwSJhYvmsZT3z3\nOLVjajPl4qnE2GJCXZJEuBFLnuDTTR8HdJmXtejHiLNGHvf5664bxOzZ/8VisXDmmWdx2WX92LJl\nM+PHj+Xll1/D5/PRpk1bBg68iX/841J69bqAN9/8D/37X0JeXh4AHo+H8eNf47vvvmHKlLd49tmx\nTJgwqcT1xcXFHzNv79691KqVBEBSUhJ792azb9/heYfm//HHHxX5UQAKYZGwkJm/m1vnD8Rrepl0\n4Ts0TGwU6pJEgmr16l85cGA/8+fPBcDpLCp+rl279hiGQVJSMq1btwEgKSmZ/HwHAGeddRYAHTp0\n4o03XqlQHaZpHmd+hRZbTCEsUsU53A4Gzb2WPQWZjDhrFGc37BXqkqSaGHHWyBPutQaT3W7joYce\npUOHTsc8Z7VaS3x8KDB9Pt8R0wbr1q09bnd0SerUqcO+fdkkJCSQnZ1FnTop1KmTwr59e4tfk5W1\nhzp1Kn6JWIWwSBXm9rq5bf6N/JL1M9e1Hcjdp94b6pJEgspiseD1ejnllA58881iOnToxJYtm1m2\nbMlxQ/OvVq5cyemnn01Gxq80bdqMtm3bHbc7uiRnnPE3Fi5cwM0338bixV9x5pndqVevPvn5+eza\n9ScpKaksWfIdTz31zMk2s5hCWKSKMk2Thxffx8LtC+jd+ELG9hqv7wNLxGvSpBm//76OevXqk5m5\nm3vuuQ2fz8eDDw4p8zKcTiePPfYgmZmZJwzKrKw9PP30E+zbt5eioiLWrfuNRx4ZylVXDeCZZ57k\nnntuIyEhsXgZQ4YMZcSIYQCcf34fGjduUrHGAoZ5vA7vIMnKygvo8lJSEgO+zKpE7QtfFW3bqB+e\nZvxP4+ic2oXZV8wh3n7sCSShpG0XviK5faNGjeCKKy6lQ4duoS7lKCkpiSXO156wSBVjmibP/zia\n8T+No1nN5rx/yawqF8AiEhgKYZEqxDRNnvtxFC+ueJ4mNZoy+/LPND6wSDkMGzYirPb0FcIiVYRp\nmoxZ/gwvrRxL0xrN+LjfXOonNAh1WSISRAphkSrA4/OQ/u2jvJMxmeY1W/DRFXOol1A/1GWJSJAp\nhEVCLN+dz51f3MIX2+bRvnZHpl06i7rx9UJdlohUAoWwSAhlFmQyaM41/JL1M+c2Op/JF/2HxKga\noS5LRCqJRlESCZEfdi2l93/PLr4Qx/t9ZyqARagaQxkOHfow9957B/fccxtbt24BNJShSEQwTZM3\nVk3gyo/7kl2YxZPd/83L572K3WoPdWkiIVcVhjKcMeN9OnY8lQkTJjFw4M1MnjwR0FCGImFvb+Fe\nhnz9AHM2f0JqXBqT+kzhrAY9Q12WSJVRFYYyHDjwZiwW/z5qrVq1yM3N0VCGIuFuzuZPefTrB8ku\nzKJ7/R5M6jOFtPi6oS5L5LhGjIjm008DGxOXXeZhxAjncZ+vCkMZRkdHFz+eOXM6ffpcpKEMRcJV\ndmE2T343lA83/JdoazQjzhrFnZ3uwWqxlv5mkWqqKgxl+Npr/4fdbufSS/uxevWqo57TUIYiVZzH\n52Hy6omMWT6KHOcBOqd24ZXzJ9I6uU2oSxMpkxEjnCfcaw2mUA5lCPDWW29w4MB+hg59EkBDGYqE\nC9M0+WbnYp758El+zfyVGlE1GdXzOW7pcDs2i/7kRE6kKgxluGrVL/z2WwZjx44vPjasoQxFwsAP\nu5YyZtkzLPnzOwBuaHcj6WcOJyUuJcSViYSHqjCU4UcfzWTPnt3cf/9dANSoUZPRo1/QUIYlCacL\ndZ8Mta/qM02Tr3cu4tWfx/P1zkUA9GlyEWMuGk0jW6sQVxc8kbDtjieS2waR3T4NZShSTRR6Cvnf\nxtm8sepVftu7BoCzG57L0DOGcXrdMyP6H52IBIZCWKQcTNPklz0/8cG6qXy0YRa5rhyshpX+ra7i\n7lPv49TUzqEuUaRa01CGIhFo04ENzNn8KR+u/y9r9/0GQN34etza4XZubH8LDRMbhbhCEQlHCmGR\nEvhMH79m/cLnWz5j7ubP+H3/OgDsFjuXtejH9W0Hcm6jC/RdXxGpEIWwCP5u5s05G/lm59d8u/Nr\nvv/jG/Y79wMQY43h4qZ96dv8Mi5sejHJMbVDXK2IRAqFsFRLuc4cft7zEz9lruCnPStYmbmC7MKs\n4ucbJjTi4maX0LvJRZzfuDfx9mMvbSciUlEKYYlohZ5CNh/YxNp9Gazd+xvr9v3G2r2/sdOx46jX\nNUhoyBUt+tOz4Tmc3bAXzWo0xzCMEFUtUr0tXvwV5557QaWsKzNzN+npj9K5c1fuvffBo57bvHkj\nt946kGnTZlOvXn1+/HEZkya9isVipXv3Htx8820VXr9CWMJagbuAzILdZObvZnveNrblbmVrzha2\n5W5lW+5WMgt2H/OetLi69Gp4Hp1STqNr2ul0TeumgRREqohDQxlWVggfGsrw0KUuDzFNkwkTxtOw\n4eGTLsePH8u4ca+QkpLKvffeQa9e52sUJYkcPtOHw5XHfud+cpwHOOA8UHx/wHmArII97CnYTWZ+\npj94CzLJc+WWuCyrYaVBYiPObnguzWo0p13tdrRLbk/b2u10TFekCqsKQxkCzJnzCd26nc6SJf6r\n32koQ6kUPtOH1+fFa/pvPtOLy+vG7XPh9Dpxe924fC7cXhcunwuX139z+1y4vG5cPufBaTeF7gIK\nPAUUuAvIdzsOPs4vnlfgycdpFpFb5CDPmUOOKwef6Su9SKB2TG0aJjQiLT6NtLi6pMXVpXGNJjSp\n0ZQmNZrSIKEhdqs9yD8tkcgWP+IJoj/9OKDLdF7Wj/wRI4/7fFUYyjAn5wDz5s3h5ZdfKw5hDWVY\ngsyCTB7/3wNk5+0vHj3D5OD9X6cP3lPa60zzmPccf9mUb9mlLu/YabvditvtOUGt/mmvzx+Yh8PT\nh9f04fMdOX3oNb6Dr/cd857KFGWJIj4qnlhrHGnxdWmd3JZa0bWoGV2r+D4pOql4uk5sCmnxdUmJ\nTVXAikS4UA5l+Prrr3D77Xdjsx0/IjWUIbAlZzP/WfUfvKY31KWUm4H/pJ9DJ/+ccNo88esMw4LF\nsGA1LFgNKxbDenDaitViJcoSdXD+4eetFuvBx4Z/+uA8CxYsFmvxsqyGlShrNFFWO3ZL1NGPLVFE\nWf03uyWKaGsUdqt/vt1qJ9YWR5wtjjh7PHH2OOIPPT54b7PYwurKNiLVTf6IkSfcaw2mUA5luHLl\nj8Xd01u3biE9fQhDhz6loQz/6m/1urPv8X38ken/wRwOKI6eLmPgcWSwlTUkyxOmJ0EhJSLVSVUY\nynDmzE+KH9977x0MGzYitEMZjh49mlWrVmEYBunp6XTqdPiTyZIlS3jxxRexWq2cc845/POf/6xw\nUeVRI7oGzlh9lUREJBJUhaEMj3eyVUiGMly+fDmTJ09m4sSJbNq0ifT0dGbMmFH8fN++fZk8eTJp\naWkMHDiQf//737Rs2fK4y9NQhuWj9oWvSG4bRHb7IrltENntC7ehDC2lvXHp0qX07t0bgBYtWpCT\nk4PD4T/4vWPHDmrWrEm9evWwWCz06tWLpUuXBrBsERGRyFVqd3R2djbt27cvnk5OTiYrK4uEhASy\nsrJITk4+6rkdO3aUtJhiSUlx2GyBvej98T5hRAq1L3xFctsgstsXyW2DyG3fyy+PC3UJ5VLuE7NK\n6b0u1f79BRV6/19FcrcKqH3hLJLbBpHdvkhuG6h9oXDS3dGpqalkZ2cXT+/Zs4eUlJQSn8vMzCQ1\nNbWitYqIiFQLpYZwjx49mD9/PgAZGRmkpqaSkJAAQMOGDXE4HOzcuROPx8OiRYvo0aNHcCsWERGJ\nEKV2R3fp0oX27dszYMAADMNg+PDhzJ49m8TERPr06cOIESN45JFHAP+Z0s2aNQt60SIiIpGgTMeE\nhww5+vtZbdu2LX58+umnH/WVJRERESmbUrujRUREJDgUwiIiIiGiEBYREQmRUi9bKSIiIsGhPWER\nEZEQUQiLiIiEiEJYREQkRBTCIiIiIaIQFhERCRGFsIiISIiUeyjDqmT06NGsWrUKwzBIT0+nU6dO\noS6pQpYtW8YDDzxAq1atAGjdujW33XYbjz32GF6vl5SUFF544QWioqJCXGn5rF+/nnvuuYebb76Z\ngQMHsmvXrhLb9Mknn/Duu+9isVi45ppruPrqq0Ndepn8tX1Dhw4lIyODWrVqATB48GDOPffcsGzf\n888/z8qVK/F4PNx555107NgxorbdX9u3cOHCiNh2hYWFDB06lL179+J0Ornnnnto27ZtxGy7kto3\nf/788Nx2ZphatmyZeccdd5imaZobN240r7nmmhBXVHE//PCDed999x01b+jQoebcuXNN0zTNcePG\nme+//34oSjtp+fn55sCBA80nnnjCfO+990zTLLlN+fn55oUXXmjm5uaahYWF5iWXXGLu378/lKWX\nSUnte/zxx82FCxce87pwa9/SpUvN2267zTRN09y3b5/Zq1eviNp2JbUvUrbdnDlzzEmTJpmmaZo7\nd+40L7zwwojadiW1L1y3Xdh2Ry9dupTevXsD0KJFC3JycnA4HCGuKvCWLVvGBRdcAMB5553H0qVL\nQ1xR+URFRfHmm28eNc50SW1atWoVHTt2JDExkZiYGLp06cJPP/0UqrLLrKT2lSQc23f66aczfvx4\nAGrUqEFhYWFEbbuS2uf1eo95XTi2r2/fvtx+++0A7Nq1i7S0tIjadiW1ryTh0L6wDeHs7GySkpKK\np5OTk8nKygphRYGxceNG7rrrLq677jq+//57CgsLi7ufa9euHXZttNlsxMTEHDWvpDZlZ2eTnJxc\n/Jpw2Z4ltQ9g6tSp3HjjjTz00EPs27cvLNtntVqJi4sDYNasWZxzzjkRte1Kap/Vao2IbXfIgAED\nGDJkCOnp6RG17Q45sn0Qnn93YX1M+EhmBFx9s2nTptx77738/e9/Z8eOHdx4441HfTKPhDb+1fHa\nFM5tveKKK6hVqxbt2rVj0qRJTJgwgc6dOx/1mnBq34IFC5g1axZvv/02F154YfH8SNl2R7ZvzZo1\nEbXtpk+fztq1a3n00UePqjtStt2R7UtPTw/LbRe2e8KpqalkZ2cXT+/Zs4eUlJQQVlRxaWlp9O3b\nF8MwaNy4MXXq1CEnJ4eioiIAMjMzS+32DAdxcXHHtKmk7Rmube3evTvt2rUD4Pzzz2f9+vVh275v\nv/2WN954gzfffJPExDtW3/QAAARASURBVMSI23Z/bV+kbLs1a9awa9cuANq1a4fX6yU+Pj5itl1J\n7WvdunVYbruwDeEePXowf/58ADIyMkhNTSUhISHEVVXMJ598wuTJkwHIyspi79699O/fv7idX3zx\nBWeffXYoSwyIs84665g2nXrqqaxevZrc3Fzy8/P56aef6NatW4grPTn33XcfO3bsAPzHv1u1ahWW\n7cvLy+P5559n4sSJxWecRtK2K6l9kbLtVqxYwdtvvw34D90VFBRE1LYrqX1PPfVUWG67sB5FaezY\nsaxYsQLDMBg+fDht27YNdUkV4nA4GDJkCLm5ubjdbu69917atWvH448/jtPppH79+jz77LPY7fZQ\nl1pma9as4bnnnuOPP/7AZrORlpbG2LFjGTp06DFtmjdvHpMnT8YwDAYOHMjll18e6vJLVVL7Bg4c\nyKRJk4iNjSUuLo5nn32W2rVrh137ZsyYwSuvvEKzZs2K540ZM4YnnngiIrZdSe3r378/U6dODftt\nV1RUxLBhw9i1axdFRUXce++9dOjQocT/JeHWNii5fXFxcbzwwgtht+3COoRFRETCWdh2R4uIiIQ7\nhbCIiEiIKIRFRERCRCEsIiISIgphERGREFEIi0SQIUOGMHv27FCXISJlpBAWEREJEX1PWCSM+Xw+\nhg0bxu+//06DBg0oKCjgkksuYceOHcUjbtWtW5cXXniBCRMmYLPZuO+++wCYNGkSBw4c4JxzzmHc\nuHHExMTgcrkYNmxY2I/NLRIutCcsEsaWLFnC5s2b+fDDD3n++ef5/fff8Xq9xMbG8sEHHzB9+nTy\n8vL47rvvuPrqq/nkk0+KL2I/b948rvr/9u5eNZkoisLw60/AmcJeIwzK2A5apRlBsJFAQNCA2mmv\nha0XkFQWAS8gpLZwLkAQrGyMprNIl8LKZqqBOCk+8A7yTRLX0x1Oc0612JsNu9Xi+fmZXq/Hy8sL\nDw8PP27LjMhf9me2KIlcov1+T7lcJhaLYRgGjuOQSCSIx+N0u12SySTv7+8cj0dyuRyWZbFer8lk\nMhiGQaFQ4O7ujslkwm63o1arnXfOisj3UwiL/GJhGBKLxc7n0+nE4XDA8zxmsxmmaTIcDs/37Xab\n+XyOZVm0Wi3g34J013VZrVZMp1Mcx2E0Gv33v4hcIrWjRX4x27bZbreEYYjv+2y3W1KpFNfX15im\nycfHB6+vrwRBAEC1WuXt7Y3FYkG9Xgfg6emJz89Pbm9vGY/HbDabKL8kclFUCYv8Yq7r4nke9/f3\nZLNZSqUSV1dX+L5Pp9OhWCwyGAyYTqfc3NyQz+epVCr4vo9hGABYlkW/3yedTnM6nc6DWyLy/TQd\nLXJBgiCg2+3y+PiIbdtRP0fk4qkdLXIhlsslzWaTRqOhABb5IVQJi4iIRESVsIiISEQUwiIiIhFR\nCIuIiEREISwiIhIRhbCIiEhEFMIiIiIR+QI8aDmbxD0nlwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1e1d2493c8>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "LLA_Qbziwkb2",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 製造ライン(L)\n",
"製造ライン(L)の影響は p_for_d_m() のしきい値を変化させるものとする"
]
},
{
"metadata": {
"id": "w4KXKcmzwsq0",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"def p_for_d_m_T_L(d, m, t, l):\n",
" # l = 0 なら 140, l = 1 なら 180 日をしきい値とする\n",
" running_days_thresholds = tf.map_fn(\n",
" lambda x: tf.cond(tf.equal(x, 0.), lambda: 140., lambda: 180.),\n",
" tf.cast(l, tf.float32))\n",
" # 稼動日数とメンテナンスの影響\n",
" C1 = 0.05\n",
" d = d - tf.nn.relu(30. - m)\n",
" p_for_d_m_L = tf.nn.sigmoid(C1 * (d - running_days_thresholds))\n",
" # 温度Tの影響\n",
" temp_threshold = 120\n",
" C = 0.2\n",
" p_for_T = tf.nn.sigmoid(C * (t - temp_threshold))\n",
" \n",
" return (p_for_d_m_L * (1.0 - p_for_T)) + p_for_T"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "AEZa5GhcxAb-",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 361
},
"outputId": "6715042b-87cc-42b1-b617-29a58f54d5aa"
},
"cell_type": "code",
"source": [
"days = np.arange(366)\n",
"\n",
"p_l1 = p_for_d_m_T_L(days, 0, 100., [0])\n",
"p_l2 = p_for_d_m_T_L(days, 0, 100., [1])\n",
"\n",
"plt.xlabel(\"days\")\n",
"plt.plot(days, p_l1, \"r\", label=\"l1\")\n",
"plt.plot(days, p_l2, \"b\", label=\"l2\")\n",
"plt.legend()\n",
"plt.show()"
],
"execution_count": 127,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\naJGKqIRFEph39szYVHSPnlZHicunnzrx+w0uvFCnLRSJh0pYJEE5Nm/CvfTfhM7shFmvntVx4jJr\nlhuAXr1CFicRsQeVsEiC2nOs6EDPiyxOEp9AAObNc9GkSZT27TUVLRIPlbBIgvLOmonpcBC4oJfV\nUeLy6adOCgs1FS1yKFTCIgnJyVyLAAAgAElEQVTI8fNm3F8vIXRmR8zsbKvjxGX27NhUdM+emooW\niZdKWCQBef+xe1W0TU5bGAjA3LkuGjWKcsopmooWiZdKWCQBeWfNxDQM20xFf/65k127NBUtcqhU\nwiIJxrHlZ9xLviR0RgfMnByr48RFq6JFDo9KWCTBeD7Yfaxom0xFB4OxqegGDTQVLXKoVMIiCaZs\nKvpCe+yatHChk4ICg549wzj0G0XkkOifjEgCcWz9BfdXiwn935mY9etbHScue6aie/bUsaJFDpVK\nWCSBeN+fjmGatjlWdCAAc+bEpqJPOy1idRwR21EJiyQQ74xpsQN09LTHuYMXLIhNRV90kaaiRQ6H\n/tmIJAjHhh9jx4ru2MU2q6JnzoxNRffpo1XRIocjrhIePXo0l19+Of369ePbb78t9zlPP/00V111\nVaWGE6lJvO/PACDQ5xKLk8SnqCi2KrpZsygnnaRV0SKHo8ISXrJkCRs2bGDy5MmMGjWKUaNG/e45\na9eu5d///neVBBSpKbwzp2G63QQusMdpCz/4AIqLDfr0CekAHSKHqcISXrx4Md26dQOgRYsWFBQU\n4Pf793vOmDFjuOuuu6omoUgN4PxhDe6V3xLs2g2zTqbVceIyaVLssndvrYoWOVyuip6Qn59Pbm5u\n2e2srCzy8vJIT08HYPr06Zx++uk0atQorm+YmZmKy+U8zLjly87OqNSvl2g0PvuKe2wvzwbAO3CA\nLf5/FBTAnDmQmwudO6dZHadK2OF1OBIaX2KosIR/yzTNsus7d+5k+vTp/P3vf2fr1q1xff6OHcWH\n+i0PKjs7g7y8wkr9molE47OvuMdmmmROeBdnSgr5Z5wNNvj/MXmyi0AghZ49A+TlBa2OU+mS+ecS\nND4rHOiPggqno3NycsjPzy+7vW3bNrJ3n1rtyy+/5Ndff+XKK6/k1ltvZdWqVYwePbqSIovUDM6V\nK3Ct/YFA9/Ng9wxTotuzKrp3b62KFjkSFZZwhw4dmDdvHgCrVq0iJyenbCr6vPPOY86cOUyZMoWX\n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\nGdy4cSO1a9emQYMGOBwOunTpwuLFi6s2sYiISJKocDo6Pz+f3NzcsttZWVnk5eWRnp5OXl4eWfvs\ndJmVlcXGjRsP+vUyM1NxuSr3qPfZ2Yl1urvKpvHZVzKPDZJ7fMk8NtD4EsUhL8wyzSM7stCOHcVH\n9Pm/lewLlzQ++0rmsUFyjy+ZxwYanxUO9EdBhdPROTk55Ofnl93etm0b2dnZ5T62detWcnJyjjSr\niIhIjVBhCXfo0IF58+YBsGrVKnJyckjffTD+xo0b4/f72bRpE+FwmAULFtChQ4eqTSwiIpIkKpyO\nPvnkk8nNzaVfv34YhsGIESOYPn06GRkZdO/enZEjR3LPPfcA0KNHD5o3b17loUVERJJBXO8JDxky\nZL/brVu3Lrt+2mmnMXny5MpNJSIiUgNUOB0tIiIiVUMlLCIiYhGVsIiIiEUM80h3/BUREZHDoi1h\nERERi6iERURELKISFhERsYhKWERExCIqYREREYuohEVERCxyyKcyTCSjR49m+fLlGIbBsGHDaNeu\nndWRjshXX33FHXfcQcuWLQFo1aoV119/Pffeey+RSITs7GyefPJJPB6PxUkPzZo1a7jlllu45ppr\nGDBgAFu2bCl3TLNmzeLNN9/E4XBw2WWX0bdvX6ujx+W34xs6dCirVq2iTp06AAwaNIizzjrLluN7\n4oknWLp0KeFwmJtuuom2bdsm1Wv32/HNnz8/KV67kpIShg4dyvbt2wkEAtxyyy20bt06aV678sY3\nb948e752pk199dVX5o033miapmmuXbvWvOyyyyxOdOS+/PJL87bbbtvvvqFDh5pz5swxTdM0n376\naXPChAlWRDtsRUVF5oABA8z777/ffPvtt03TLH9MRUVF5rnnnmvu2rXLLCkpMS+44AJzx44dVkaP\nS3nju++++8z58+f/7nl2G9/ixYvN66+/3jRN0/z111/NLl26JNVrV974kuW1++CDD8yxY8eapmma\nmzZtMs8999ykeu3KG59dXzvbTkcvXryYbt26AdCiRQsKCgrw+/0Wp6p8X331Feeccw4AZ599NosX\nL7Y40aHxeDyMGzduv/NMlzem5cuX07ZtWzIyMvD5fJx88sl88803VsWOW3njK48dx3faaafx/PPP\nA1CrVi1KSkqS6rUrb3yRSOR3z7Pj+Hr06MENN9wAwJYtW6hfv35SvXblja88dhifbUs4Pz+fzMzM\nsttZWVnk5eVZmKhyrF27lptvvpkrrriCL774gpKSkrLp57p169pujC6XC5/Pt9995Y0pPz+frKys\nsufY5fUsb3wA77zzDgMHDuSuu+7i119/teX4nE4nqampAEydOpXOnTsn1WtX3vicTmdSvHZ79OvX\njyFDhjBs2LCkeu322Hd8YM9/d7Z+T3hfZhIcfbNZs2bceuutnH/++WzcuJGBAwfu95d5Mozxtw40\nJjuP9aKLLqJOnTq0adOGsWPH8tJLL9G+ffv9nmOn8X388cdMnTqV119/nXPPPbfs/mR57fYd38qV\nK5PqtZs0aRKrV6/mz3/+8365k+W123d8w4YNs+VrZ9st4ZycHPLz88tub9u2jezsbAsTHbn69evT\no0cPDMPg6KOPpl69ehQUFFBaWgrA1q1bK5z2tIPU1NTfjam819OuYz3jjDNo06YNAF27dmXNmjW2\nHd/ChQv529/+xrhx48jIyEi61+6340uW127lypVs2bIFgDZt2hCJREhLS0ua16688bVq1cqWr51t\nS7hDhw7MmzcPgFWrVpGTk0N6errFqY7MrFmzGD9+PAB5eXls376diy++uGycH330EZ06dbIyYqU4\n88wzfzemE088kRUrVrBr1y6Kior45ptvOPXUUy1Oenhuu+02Nm7cCMTe/27ZsqUtx1dYWMgTTzzB\nq6++WrbiNJleu/LGlyyv3ddff83rr78OxN66Ky4uTqrXrrzxPfjgg7Z87Wx9FqWnnnqKr7/+GsMw\nGDFiBK1bt7Y60hHx+/0MGTKEXbt2EQqFuPXWW2nTpg333XcfgUCAhg0b8thjj+F2u62OGreVK1fy\n+OOPs3nzZlwuF/Xr1+epp55i6NChvxvT3LlzGT9+PIZhMGDAAHr16mV1/AqVN74BAwYwduxYUlJS\nSE1N5bHHHqNu3bq2G9/kyZN58cUXad68edl9Y8aM4f7770+K16688V188cW88847tn/tSktLGT58\nOFu2bKG0tJRbb72VE044odzfJXYbG5Q/vtTUVJ588knbvXa2LmERERE7s+10tIiIiN2phEVERCyi\nEhYREbGISlhERMQiKmERERGLqIRFksiQIUOYPn261TFEJE4qYREREYtoP2ERG4tGowwfPpzvv/+e\nRo0aUVxczAUXXMDGjRvLzrh11FFH8eSTT/LSSy/hcrm47bbbABg7diw7d+6kc+fOPP300/h8PoLB\nIMOHD7f9ublF7EJbwiI2tmjRItavX8+0adN44okn+P7774lEIqSkpPDuu+8yadIkCgsL+de//kXf\nvn2ZNWtW2UHs586dy6WXXsqbb77Jtddey9tvv81jjz2WcGeZEUlmSXMWJZGaaM2aNbRv3x7DMEhJ\nSaFdu3Y4nU4cDgf9+zuhj8kAAAGLSURBVPfH5XKxfv16duzYQePGjWnatClLliyhQYMGpKSkcMwx\nx9CzZ0+eeeYZvv32W84555yyc86KSNVTCYvYmGmaGIZRdjsajbJ161ZmzZrFtGnTSE1N5fbbby97\nvF+/frz//vs0bdqUSy+9FIidIL1jx47861//4uWXX6Zdu3bcfffd1T4WkZpI09EiNnbssceyfPly\nTNPE7/ezfPlyfD4fjRo1IjU1lc2bN7Ns2TKCwSAAZ511FitWrGD+/Pmcd955ALzwwgtEIhF69OjB\n8OHD+c9//mPlkERqFG0Ji9hYx44dmTVrFn379qVhw4acdNJJuN1u/H4/V1xxBS1btuS2227j5Zdf\n5g9/+APNmzenU6dO+P1+UlJSAGjatCnXXXcdtWrVIhqNli3cEpGqp9XRIjVIMBikf//+jBkzhmOP\nPdbqOCI1nqajRWqIzz77jEsuuYTevXurgEUShLaERURELKItYREREYuohEVERCyiEhYREbGISlhE\nRMQiKmERERGLqIRFREQs8v+kaSQlv5GVXQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1e1b464908>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "hgvrLQvrfk0T",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### ダミーデータの生成"
]
},
{
"metadata": {
"id": "fqtU0JwILt8c",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"dist_d = tfp.distributions.QuantizedDistribution(tfp.distributions.Pareto(5, scale=180), high=500)\n",
"dist_m = tfp.distributions.QuantizedDistribution(tfp.distributions.Uniform(-1, 19), low=0)\n",
"dist_T = tfp.distributions.Normal(loc=80.0, scale=20.0)\n",
"dist_L = tfp.distributions.Bernoulli(probs=0.5)\n",
"\n",
"N = 10000\n",
"d = dist_d.sample(N) - 180\n",
"m = tf.minimum(dist_m.sample(N), d)\n",
"T = dist_T.sample(N)\n",
"L = dist_L.sample(N)\n",
"\n",
"data_p = p_for_d_m_T_L(d, m, T, L)\n",
"\n",
"fault = tf.distributions.Bernoulli(probs=data_p).sample()\n",
"\n",
"T_noise = tfp.distributions.Normal(loc=0., scale=3.).sample(N)\n",
"T_sensor = T + T_noise\n",
"\n",
"with open('pipe_breakage_data.csv', 'w') as f:\n",
" for i in range(N):\n",
" f.write(\"{},{},{:.02f},{}\\n\".format(int(d[i]), int(m[i]), T_sensor[i], int(fault[i])))\n"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "09YUNMhvRrlB",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"from google.colab import files\n",
"\n",
"files.download('pipe_breakage_data.csv')"
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment