From ee10e5ae1973d4ba7253cb16713825a6431614d9 Mon Sep 17 00:00:00 2001 From: Nils Strelow Date: Tue, 18 May 2021 20:55:06 +0200 Subject: [PATCH 1/8] Add Binder setup --- README.md | 1 + binder/apt.txt | 2 ++ binder/environment.yml | 7 +++++++ binder/install-cinof1.R | 1 + binder/postBuild | 1 + 5 files changed, 12 insertions(+) create mode 100644 binder/apt.txt create mode 100644 binder/environment.yml create mode 100644 binder/install-cinof1.R create mode 100644 binder/postBuild diff --git a/README.md b/README.md index a937e5c..67c7fee 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/nstrelow/cinof1/master?urlpath=lab) [![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] diff --git a/binder/apt.txt b/binder/apt.txt new file mode 100644 index 0000000..4f9aa4a --- /dev/null +++ b/binder/apt.txt @@ -0,0 +1,2 @@ +apt-utils +libv8-dev diff --git a/binder/environment.yml b/binder/environment.yml new file mode 100644 index 0000000..ddbdbbd --- /dev/null +++ b/binder/environment.yml @@ -0,0 +1,7 @@ +channels: + - conda-forge +dependencies: + - r-base=4 + - r-tidyverse + - r-devtools + - r-dagitty diff --git a/binder/install-cinof1.R b/binder/install-cinof1.R new file mode 100644 index 0000000..3ce0606 --- /dev/null +++ b/binder/install-cinof1.R @@ -0,0 +1 @@ +devtools::install_github("thogaertner/cinof1") diff --git a/binder/postBuild b/binder/postBuild new file mode 100644 index 0000000..e814dac --- /dev/null +++ b/binder/postBuild @@ -0,0 +1 @@ +Rscript binder/install-cinof1.R From 89a37de4c72c5cbc66be89738c4a197b71f2641b Mon Sep 17 00:00:00 2001 From: Nils Strelow Date: Tue, 18 May 2021 22:52:30 +0200 Subject: [PATCH 2/8] Convert Rmd to Jupyter Notebook Using `jupytext --to notebook Overview_Methods.Rmd` --- Overview_Methods.ipynb | 935 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 935 insertions(+) create mode 100644 Overview_Methods.ipynb diff --git a/Overview_Methods.ipynb b/Overview_Methods.ipynb new file mode 100644 index 0000000..d81520b --- /dev/null +++ b/Overview_Methods.ipynb @@ -0,0 +1,935 @@ +{ + "cells": [ + { + "cell_type": "raw", + "id": "7ece622f", + "metadata": {}, + "source": [ + "---\n", + "title: \"Example Use\"\n", + "author: \"Thomas Gaertner\"\n", + "date: \"4/13/2021\"\n", + "output: pdf_document\n", + "---" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6578e82c", + "metadata": { + "message": false, + "name": "setup", + "warnings": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[36mℹ\u001b[39m Updating \u001b[34m\u001b[34mcinof1\u001b[34m\u001b[39m documentation\n", + "\n", + "\u001b[36mℹ\u001b[39m Loading \u001b[34m\u001b[34mcinof1\u001b[34m\u001b[39m\n", + "\n", + "Warning message in system(\"timedatectl\", intern = TRUE):\n", + "“running command 'timedatectl' had status 1”\n", + "Warning message:\n", + "“[/home/nils/cinof1/R/adjtreat.R:25] @example spans multiple lines. Do you want @examples?”\n", + "Warning message:\n", + "“[/home/nils/cinof1/R/basic_functions.R:64] @example spans multiple lines. Do you want @examples?”\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing NAMESPACE\n", + "Writing NAMESPACE\n" + ] + } + ], + "source": [ + "devtools::document()\n", + "knitr::opts_chunk$set(echo = TRUE)" + ] + }, + { + "cell_type": "markdown", + "id": "af5f367e", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This R Markdown document shows the usage of the package `cino1`. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ddc0325e", + "metadata": { + "lines_to_next_cell": 2, + "message": false, + "warnings": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[36mℹ\u001b[39m Updating \u001b[34m\u001b[34mcinof1\u001b[34m\u001b[39m documentation\n", + "\n", + "\u001b[36mℹ\u001b[39m Loading \u001b[34m\u001b[34mcinof1\u001b[34m\u001b[39m\n", + "\n", + "Warning message:\n", + "“[/home/nils/cinof1/R/adjtreat.R:25] @example spans multiple lines. Do you want @examples?”\n", + "Warning message:\n", + "“[/home/nils/cinof1/R/basic_functions.R:64] @example spans multiple lines. Do you want @examples?”\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing NAMESPACE\n", + "Writing NAMESPACE\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Installing package into ‘/home/nils/R/x86_64-pc-linux-gnu-library/4.0’\n", + "(as ‘lib’ is unspecified)\n", + "\n", + "Warning message in install.packages(\"~/Documents/Masterarbeit/Package/nofone/\", :\n", + "“installation of package ‘/home/nils/Documents/Masterarbeit/Package/nofone/’ had non-zero exit status”\n", + "Loading required package: foreach\n", + "\n", + "Loading required package: iterators\n", + "\n", + "Loading required package: parallel\n", + "\n" + ] + } + ], + "source": [ + "# Install local package\n", + "devtools::document()\n", + "install.packages(\"~/Documents/Masterarbeit/Package/nofone/\", repos = NULL, type=\"source\")\n", + "# load package\n", + "library(cinof1)\n", + "library(doParallel)" + ] + }, + { + "cell_type": "markdown", + "id": "37568bfa", + "metadata": {}, + "source": [ + "## Data\n", + "\n", + "In this package, a sample data frame is included. It contains data for 300 patients within an n of 1 study. The data has the following structure:\n", + "\n", + "* _patient_id_: Unique patient identifier\n", + "* _date_: Date of data points\n", + "* _day_: Day in study\n", + "* _Block_: identifies treatment block\n", + "* _Activity_: Dummy variable for steps per day\n", + "* _treatment_: Dummy variable for 2 treatments as factors\n", + "* _Uncertain_Low_Back_Pain_: Dummy variable for Uncertain loq back pain on scale 1-15" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "004c3c36", + "metadata": { + "message": false, + "name": "data", + "warnings": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + " patient_id date day treatment \n", + " Min. : 0.00 2018-01-01: 20 Min. : 1.00 Treatment_1:1120 \n", + " 1st Qu.: 4.75 2018-01-02: 20 1st Qu.: 28.75 Treatment_2:1120 \n", + " Median : 9.50 2018-01-03: 20 Median : 56.50 \n", + " Mean : 9.50 2018-01-04: 20 Mean : 56.50 \n", + " 3rd Qu.:14.25 2018-01-05: 20 3rd Qu.: 84.25 \n", + " Max. :19.00 2018-01-06: 20 Max. :112.00 \n", + " (Other) :2120 \n", + " Uncertain_Low_Back_Pain block Activity \n", + " Min. : 6.000 Min. :1.00 Min. : 45.19 \n", + " 1st Qu.: 9.000 1st Qu.:1.75 1st Qu.: 5563.32 \n", + " Median : 9.000 Median :2.50 Median : 6910.56 \n", + " Mean : 9.231 Mean :2.50 Mean : 6943.34 \n", + " 3rd Qu.:10.000 3rd Qu.:3.25 3rd Qu.: 8290.16 \n", + " Max. :12.000 Max. :4.00 Max. :14084.38 \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "load(\"data/simpatdat.rda\")\n", + "# Summarize Data\n", + "summary(simpatdat)" + ] + }, + { + "cell_type": "markdown", + "id": "293b8a8d", + "metadata": {}, + "source": [ + "## Basic Functions\n", + "\n", + "Basic functions for analyse N-of-1 studys are for example wilcox test or comparative plots. These two functions are provided in this package.\n", + "\n", + "### Comparative Plot\n", + "\n", + "To get a first idea about the data and the difference between treatment 1 and treatment 2, a comparative plot could be used. It shows the outcome on the y-Axis against the different treatments on the x-Axis," + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "12abb419", + "metadata": { + "lines_to_next_cell": 2, + "message": false, + "name": "basic function comparativ plot", + "warnings": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAC+lBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGjo6OkpKSlpaWmpqan\np6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGzs7O0tLS1tbW2tra3t7e4uLi5ubm6\nurq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vM\nzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e\n3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w\n8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///8yMhLmAAAA\nCXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dC3gU5b348ZdQQtDogWPBXrRyERXkcsoi\naK3Fipd6bAqWImBRa1Ol2hZEbfHWBg5XL6iogI2ttCiiUTmF0iJ/FWhrtOhRQFFqox7rpae2\n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\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiGh/d5bee/yHWEPQhohZUBIfnr5a7FY7Mtrwh6GMELKgJD8NDFmO/OvYY9DlkBIe3ZGzT69\nL+whRNe2mKsq7IHI2t3+kPY3RM0fr9oY9hCi65VESA+HPRBZ9e0PKXp37R6LrQh7CNH19kg3\npP8X9kBk8RgpA0Ly011OR1f9I+xxyCKkDAjJT/+3+KzYlyveDnsYwggpA0Ly1+5d0dsrSkgZ\nEJK/eGUDIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEA\nIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEA\nIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEA\nIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEA\nIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEA\nIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEA\n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\n/nGGz7X746TfvfPiD2fZD5+eiVleOKT/CUywa/vH3gsZ6tVTYnA8Jnq9tj4GyhjSgi5t513+\ngHXwRtnr1uEn71k++jhq9up9YQ/BPzWvhe6x2IKwh/Daa3+VvVp3HTyk736+7byLf2kd7Ch7\nteV09B4j1erasIcQaetj94U9BHEHf4z0asnEtjPvHf/0+1uv+V7yTiEh4dB0lJCWJtxx2eFd\nXmob0v5fXzHu0gUfJE8TEg5NRwmp9Wmkz63OcDN1IELCoekoIbXcIv1qU30OHRESDlFHCekQ\nERIODSEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQ\nEiFBACEREgQQEiFBACEREgQQEiFBACEREgQQUkZ1kdOgG8IeQqQ9/42Hwh6CvPaHtHdP1NTp\nurCHEGmf6PqwhyCutv0hcdcOh2a33hf2EMTxGCkDQvIXIRESBBASIUEAIRESBBASIUEAIRES\nBBASIUEAIRESBGsvQZcAAAgHSURBVBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEA\nIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEA\nIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEAIRESBBASIUEA\n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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": { + "image/png": { + "height": 420, + "width": 420 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "# Define outcome and exposure column\n", + "outcome <- \"Uncertain_Low_Back_Pain\"\n", + "exposure <- \"treatment\"\n", + "# Plot outcome among different exposures\n", + "comparative.plot(simpatdat, exposure = exposure, outcome = outcome)" + ] + }, + { + "cell_type": "markdown", + "id": "053d2cab", + "metadata": {}, + "source": [ + "## Wilcox Test\n", + "\n", + "To validate, that there is a difference in both treatments, the Wilcox test could be used. It calculates the p-value for the null hypothesis, that there location shift is equal to zero." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b41bcaca", + "metadata": { + "message": false, + "name": "basic function wilcox test", + "warnings": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "\tWilcoxon rank sum test\n", + "\n", + "data: Uncertain_Low_Back_Pain by treatment\n", + "W = 1048691, p-value < 2.2e-16\n", + "alternative hypothesis: true location shift is not equal to 0\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Define outcome and exposure column\n", + "outcome <- \"Uncertain_Low_Back_Pain\"\n", + "exposure <- \"treatment\"\n", + "# Perform Wilcox test among different exposures\n", + "wilcox.nofone(simpatdat, exposure = exposure, outcome = outcome)" + ] + }, + { + "cell_type": "markdown", + "id": "dc7f8516", + "metadata": {}, + "source": [ + "## Adjust Wash In and Wash Out\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "dda400a9", + "metadata": { + "message": false, + "name": "adj.wash.in", + "warnings": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\t
$data
\n", + "\t\t
\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "
A data.frame: 4 × 9
treatment.Treatment_1.gammatreatment.Treatment_2.gammatreatment.Treatment_1.tautreatment.Treatment_2.taur2treatment.Treatment_1.Estimatetreatment.Treatment_1.Std..Errortreatment.Treatment_2.Estimatetreatment.Treatment_2.Std..Error
<int><int><int><int><dbl><dbl><dbl><dbl><dbl>
11110.3925277 1.116547980.03050288 NA NA
21210.3922651-0.030976960.16987892-1.1458950.1638043
12120.4098408-0.482468030.19819322-1.6566510.2029606
22220.4429989-3.249656460.27524924-4.3576310.2717909
\n", + "
\n", + "\t
$best
\n", + "\t\t
\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\n", + "
A data.frame: 1 × 4
treatment.Treatment_1.gammatreatment.Treatment_2.gammatreatment.Treatment_1.tautreatment.Treatment_2.tau
<int><int><int><int>
42222
\n", + "
\n", + "
\n" + ], + "text/latex": [ + "\\begin{description}\n", + "\\item[\\$data] A data.frame: 4 × 9\n", + "\\begin{tabular}{lllllllll}\n", + " treatment.Treatment\\_1.gamma & treatment.Treatment\\_2.gamma & treatment.Treatment\\_1.tau & treatment.Treatment\\_2.tau & r2 & treatment.Treatment\\_1.Estimate & treatment.Treatment\\_1.Std..Error & treatment.Treatment\\_2.Estimate & treatment.Treatment\\_2.Std..Error\\\\\n", + " & & & & & & & & \\\\\n", + "\\hline\n", + "\t 1 & 1 & 1 & 1 & 0.3925277 & 1.11654798 & 0.03050288 & NA & NA\\\\\n", + "\t 2 & 1 & 2 & 1 & 0.3922651 & -0.03097696 & 0.16987892 & -1.145895 & 0.1638043\\\\\n", + "\t 1 & 2 & 1 & 2 & 0.4098408 & -0.48246803 & 0.19819322 & -1.656651 & 0.2029606\\\\\n", + "\t 2 & 2 & 2 & 2 & 0.4429989 & -3.24965646 & 0.27524924 & -4.357631 & 0.2717909\\\\\n", + "\\end{tabular}\n", + "\n", + "\\item[\\$best] A data.frame: 1 × 4\n", + "\\begin{tabular}{r|llll}\n", + " & treatment.Treatment\\_1.gamma & treatment.Treatment\\_2.gamma & treatment.Treatment\\_1.tau & treatment.Treatment\\_2.tau\\\\\n", + " & & & & \\\\\n", + "\\hline\n", + "\t4 & 2 & 2 & 2 & 2\\\\\n", + "\\end{tabular}\n", + "\n", + "\\end{description}\n" + ], + "text/markdown": [ + "$data\n", + ": \n", + "A data.frame: 4 × 9\n", + "\n", + "| treatment.Treatment_1.gamma <int> | treatment.Treatment_2.gamma <int> | treatment.Treatment_1.tau <int> | treatment.Treatment_2.tau <int> | r2 <dbl> | treatment.Treatment_1.Estimate <dbl> | treatment.Treatment_1.Std..Error <dbl> | treatment.Treatment_2.Estimate <dbl> | treatment.Treatment_2.Std..Error <dbl> |\n", + "|---|---|---|---|---|---|---|---|---|\n", + "| 1 | 1 | 1 | 1 | 0.3925277 | 1.11654798 | 0.03050288 | NA | NA |\n", + "| 2 | 1 | 2 | 1 | 0.3922651 | -0.03097696 | 0.16987892 | -1.145895 | 0.1638043 |\n", + "| 1 | 2 | 1 | 2 | 0.4098408 | -0.48246803 | 0.19819322 | -1.656651 | 0.2029606 |\n", + "| 2 | 2 | 2 | 2 | 0.4429989 | -3.24965646 | 0.27524924 | -4.357631 | 0.2717909 |\n", + "\n", + "\n", + "$best\n", + ": \n", + "A data.frame: 1 × 4\n", + "\n", + "| | treatment.Treatment_1.gamma <int> | treatment.Treatment_2.gamma <int> | treatment.Treatment_1.tau <int> | treatment.Treatment_2.tau <int> |\n", + "|---|---|---|---|---|\n", + "| 4 | 2 | 2 | 2 | 2 |\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "$data\n", + " treatment.Treatment_1.gamma treatment.Treatment_2.gamma\n", + "1 1 1\n", + "2 2 1\n", + "3 1 2\n", + "4 2 2\n", + " treatment.Treatment_1.tau treatment.Treatment_2.tau r2\n", + "1 1 1 0.3925277\n", + "2 2 1 0.3922651\n", + "3 1 2 0.4098408\n", + "4 2 2 0.4429989\n", + " treatment.Treatment_1.Estimate treatment.Treatment_1.Std..Error\n", + "1 1.11654798 0.03050288\n", + "2 -0.03097696 0.16987892\n", + "3 -0.48246803 0.19819322\n", + "4 -3.24965646 0.27524924\n", + " treatment.Treatment_2.Estimate treatment.Treatment_2.Std..Error\n", + "1 NA NA\n", + "2 -1.145895 0.1638043\n", + "3 -1.656651 0.2029606\n", + "4 -4.357631 0.2717909\n", + "\n", + "$best\n", + " treatment.Treatment_1.gamma treatment.Treatment_2.gamma\n", + "4 2 2\n", + " treatment.Treatment_1.tau treatment.Treatment_2.tau\n", + "4 2 2\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Warning message in if (is.na(effects)) {:\n", + "“the condition has length > 1 and only the first element will be used”\n" + ] + }, + { + "data": { + "text/plain": [ + "\n", + "Call:\n", + "lm(formula = formula(str_formula), data = data, na.action = na.omit)\n", + "\n", + "Coefficients:\n", + " (Intercept) treatment.Treatment_1.gamma.2.tau.2 \n", + " 1.360e+01 -3.250e+00 \n", + " Activity treatment.Treatment_2.gamma.2.tau.2 \n", + " -8.569e-05 -4.358e+00 \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "outcome <- \"Uncertain_Low_Back_Pain\"\n", + "exposure <- \"treatment\"\n", + "variables <- c(\"Activity\")\n", + "id <- \"patient_id\"\n", + "time_col <- \"day\"\n", + "\n", + "result <- estimate.gamma.tau(data = simpatdat, outcome = outcome, exposure = exposure, variables = variables, bound = 2, symmetric = TRUE, id=id, time_col = time_col)\n", + "\n", + "result\n", + "\n", + "fit.adj.lm(data = simpatdat, outcome = outcome, exposure = exposure, variables = variables, effects = result$best, id = id, time_col = time_col)" + ] + }, + { + "cell_type": "markdown", + "id": "28d3474f", + "metadata": { + "lines_to_next_cell": 0 + }, + "source": [ + "## Bayesian\n", + "\n", + "Bayesian Networks are used to calculated the probability of outcome variables adjusted for confounders. For that, a dag is required, which identifies the relations between the variables.\n", + "In this implementation, also lags are included and could be specified in the dag by adding `.lag=` to the variable name.\n", + "\n", + "### Preprocess Data" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "bb02dd47", + "metadata": { + "lines_to_next_cell": 2, + "message": false, + "name": "bn.data", + "warnings": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dB3wT9f/H8W+bdNFFobS0bFAU\nEAULMkVlyA+ULaggMpShgCjwE1QQFVBc4E+GW1SGIv7FgagMARergIooS6bsVaBAS2m//7sk\n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\nNOg1/qPFy9PTV34x77neaWUsN41dJ3ou8MfaxxtbyjTq/dy8L1empy///KPxvW4ID7/5ma2i\n5/IoeEJSZC57ZfCt1RJCGGNlq7QYOPXrjNLXAVmd+XrqwOaVyyrfzJCEarcOfmWZhwPxyyGo\nQsqXSXtYZxDqnNQB5QvKkAD0hpAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAk\nAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIg\ngJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAII\nCYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAA\nCCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAA\nQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAk\nAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIg\ngJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAII\nCYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAA\nCCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAA\nQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAk\nAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIg\ngJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAII\nCYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAA\nCCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAA\nQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAk\nAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIg\ngJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAII\nCYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAACCAkAAIICYAAQgIggJAA\nCCAkAAIICYAAQgIggJAACCAkAAL/DxJa860Yz/UOAAAAAElFTkSuQmCC", + "text/plain": [ + "Plot with title “Transformed Bn DAG”" + ] + }, + "metadata": { + "image/png": { + "height": 420, + "width": 420 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "# specify column names\n", + "id <- \"patient_id\"\n", + "time_col <- \"day\"\n", + "\n", + "# Load data\n", + "load(\"data/simpatdag.rda\")\n", + "load(\"data/simpatdat.rda\")\n", + "\n", + "# Dag preprocessing\n", + "bn.dag <- bn.prep.dag(simpatdag)\n", + "\n", + "# Data Preprocessing (Factorization)\n", + "simpatdat$Uncertain_Low_Back_Pain <- as.factor(simpatdat$Uncertain_Low_Back_Pain)\n", + "simpatdat$Activity <- cut(simpatdat$Activity, 3, labels=c(\"low Activity\", \"middle Activity\", \"high Activity\"))\n", + "bn.data <- bn.prep.data(bn.dag, simpatdat, id, time_col)\n", + "bn.data <- na.omit(bn.data)" + ] + }, + { + "cell_type": "markdown", + "id": "60126c7c", + "metadata": { + "lines_to_next_cell": 0 + }, + "source": [ + "### Fit and Plot Results" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4b0a208d", + "metadata": { + "lines_to_next_cell": 2, + "message": false, + "name": "bn.fit", + "warnings": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzdd1zU9v8H8M9xx95TpnuPusCKe4G4cI+6R8VWFK2r/rS12mpb6657Vuve\no1hcjKooCiq4EBdOlrKEO8Zx3O+P9JtvvgecN5O7+Ho++OMu+STvd5JPcm9ySU4gl8sJAAAA\nABg/E64TAAAAAADdQGEHAAAAwBMo7AAAAAB4AoUdAAAAAE+gsAMAAADgCRR2AAAAADyBwg4A\nAACAJ1DYAQAAAPDEp1jYFRYWChju379PjxKJRPTwuLg41eep8YTsM6JUFbCQuQYhqppE3eH6\nyE1/ysrK1q1b17ZtWwcHBxMTEyqrESNGcJsVJ5QcT4BzBrXXgAaMdAtym7ZIt7OLjIw8depU\nbGzs27dvc3NzLSwsvL29fX19+/fvHxwcbGpqqttwrAkPD09ISKBe+/r69u3bl9t82OTr63vr\n1q2Kw21sbDw9Pf38/EaNGtWrVy/2E+MZ4+pjI0aMOH78ONdZKHbORYsWLVmyhNlgx44dkydP\npl57eXm9efOG1fx0hLmYPXv2PHfuHHNsXFycv78//TYiIiIoKIjV/HTHuPaCipRvKaNQ6QHf\nzMzMxsamZs2afn5+I0eO7NSpEye56QrvP9R0VtglJSVNmjRJYWVJpdLk5OTk5OS9e/d6e3s/\nfPjQ1tZWVxHZFB4evnXrVur1lClTjO5wow+FhYWPHz9+/Pjx/v37e/XqdeTIERsbG66TMmJG\n1Mdu3brFrOosLCzc3NwEAoGrqyuHWRFC1qxZExYW5uzszG0aoDEj2gs+KaWlpTk5OTk5Obdv\n3966deuECRN27twpEAi4zkvHePOhppvC7vTp01988UVRUZGSNm/evCkpKTHwwm7GjBkymYx6\n7eHhwcKE/BARETFq1KjTp09znQgH1N30POhj9DkVQoiPj8/Dhw8N5PBXUFDw22+/LV++nOtE\nwFAYzl7DJ3/88UeHDh0mTpzIdSJ6pOWHGrcdTweF3Z07d0aOHMms6pycnAYOHNioUSMTE5O3\nb99evXr1xo0b2gdiwapVq1ie0Lg0btx4+vTphBCJRBIfH3/kyJHy8nJq1JkzZ27evNmmTRtO\nE+SAupueB32ssLCQfl2/fn0DqeooGzZsmDVrVrVq1bhOBAyC4ew1xsjf3//3338nhEgkkgsX\nLixbtowedeDAAX4Udnr6UOO448m11rFjR+YMhwwZkp+fr9AmOTl5yJAh79+/Vxh++/btKVOm\nNG7c2M7OztTUtFq1aoGBgRs2bJBIJAothUIhHeL69evZ2dlz5sypXbu2ubm5u7v7mDFjXrx4\nUTE3sVj8/fff169f39zc3MPDY8yYMY8fPy4oKGAmfO/evaqiyOXy/v37K1l7zs7OVU3I2mKe\nOXNmzpw53bt3r1evnrOzs0gksrW1rVev3ogRI86cOVNxnShPtaLWrVvT7Xv27MkctX79euba\n+Omnn6qK8u7du+nTp9esWVMkEnXp0kUnKycrK4uap7m5ube391dffZWenq7blaNKiKrWp+rD\nddLH7t27N23atKZNm9rb25uZmXl4eAQHBx89erS8vFyhZUlJyZYtWwICAjw9Pc3NzekLYb/8\n8sstW7ZkZ2dXXC202bNnK0n16NGjdEuNN6uSrlIRs3PSwsLC6Abbt2+nh3t5eVWcg+p5ytU/\nnlBU3zSqLKbCPiiXy69fv85MICIigh6l2WFTLpc/f/58/vz5n3/+ubOzs6mpqaura4sWLWbM\nmHHz5k2Nl075hlZxL9DV4U7jNaOc8i1VKVV64IcPH0Sif8/CCIXCgoICehR9eaWtrW1ZWRk9\nvF69enQmcXFxOlmEgIAAelSdOnWYo9TdLhRVullVW1Dh02f9+vU6WcaqPtQMvOMp0LawUzgV\n16ZNG6lUqsqEUql02rRple/EhFSvXj0hIYHZnrk6du7cWfHcpru7++vXr5mTvHv3rlmzZgrN\nbGxs/vrrL+YQvRZ2LCxm8+bNlWQ4YMCA0tLSqkJoWdi9ffuWGWvq1KmVRjly5IiPjw/9tnPn\nztqvnL1791ZcOa6urvfv39fVylExBOeFnUwmmzdvXlXXu3Tr1o1ZqxUVFbVt21ZJuIsXLyrp\nDKoUdtps1qq6SlWYndPc3Jx+Qe8jSgo7dfPU4Hii1qZRcTE1LuxUPJ6Ul5f/9NNPzAmZxo0b\np/HSKd/QKu4FujrcabBmtN9SCtTqgczzRpcuXaIGFhcX092eEHLnzh1qeFZWFj3Q2tpaxQ/l\njy4Cs7Br3bo1c5S620X1blbpFtyzZw+z46lV1Slfxqo+1Ay84ynQtrBbvHgxM6ezZ8+qOOHX\nX3+tZDURQpycnJ4+fUq3Z66Oqu6uHTt2LDNEnz59Km2m8M2RXgs7FhaT2eHs7Oysra0V2i9e\nvJjZXoeF3bVr15iB5s6dW2kUhWvqO3XqpP3KqbiYlLp16zL/09Vm5agYgvPCTqHYMjExUejh\nHTt2pI/sq1evZo6ysLCg/vukh2hf2GmzWavqKlVhds4pU6bQH3IhISFUAyWFnbp5anA8UWvT\nqLiYGhd2Kh5PFixYoGSdMD9x1V065Rtag8JOm8OdBmtGFWoVdmr1wLlz59LDf/zxR2rg1atX\nme03bNhADT9x4gQ9MDAwUONF8Pf3j4+Pj4+Pv3z58vfff8+spb777jvmVOpuF9W7WcUteOLE\nCeZAdas6uUYfagbe8RRoW9gNGjSImWVRUZEqU928eZO5GH5+fhEREXfu3Pn111+ZnzH9+/en\nJ1Eo7Vu3bv3HH39s2rSJWfBaW1vT56L/+ecfhfYnT578559/qG/TmZQXdpmZmampqSNHjqSH\njxw5MvU/Xr16VdWE7CymXC4fP378ypUrHz16JBaLqSGZmZmzZs2i2zs7OzO/FtFJYSeRSC5f\nvtykSRNmtgcPHqxqQYRC4YABA+bOnTtmzJgBAwboZOUMGDDg3Llz586dCw4OZg7//fffdbJy\nVAyhfWGnTR+7c+cOfbQVCAQrVqyg9sEbN25Ur16dbr9t2zaqPXNBTpw4QS17WVnZgwcPNm7c\n2KVLl8jISCWdIScnJzU1lXlQbt++PZ2qWCzWfrNW7CpKMDvnTz/9FBYWRr02NTV99uyZvOrC\nTt08NTieqLtpVFxMjQs7osLxJCkpycTkvw83dXFxWbt2bVJSUnJy8qlTp4YPHz5x4kSNl075\nhlZxL9DV4U6DI60qVC/s1O2B4eHhFeescJ/QF198QQ1n1tzLli3TeBGq0rZtW+bXwXI1t4vq\n3UxeYQtevHiReZJSg6pOrtGHmoF3PAXaFnbMC+wqvYSlUvSTpQghTk5OzC7CvDxTIBBkZmZS\nw5mrw9vbu7CwkBoeFRXFXE1Pnjyhhk+ZMoUe6Ojo+OHDBzrEhAkTmJMoL+wqzm3KlCkVl6jS\nCVlYzKpIpVJLS0u6/cOHDz+6jFVRZT8nhHh4eDAXkBlFKBRevnxZYbZarpzPP/+c3otkMhkz\nybZt2+pk5agYQvvCjqJZH2NONWbMGGb7ffv20aPatGlDDezZsyc1xMTEROOLOVasWEHPuXv3\n7sxRWm7WSruKEgqFXUZGhpWVFfWW+qe/qsJO3Tw1OJ6ou2lUXEyNCztVjifMc0hCofD27dsK\nsfLy8jReOlU29Ef3gkppcLjT1ZFWgeqFnbo9MC8vjy6G7O3tZTKZ/D//p9FPGqpevTo1h88/\n/5yew9WrVzVehEp5eHhU7BiVqmq7qN7N5P+7pVavXs08VaZZVafKMtJLqlC/qriActY7ngJu\nfnmCeQJ52LBhzBP4kyZNol/L5fLY2NiKk3/99df01lXYQnl5edSL+Ph4euDQoUOZj1lhhtAr\nFhaTEFJeXn7kyJFhw4Y1aNDA1tZWKBQKBALq7CndJi0tTeulUcbCwmLfvn1V3R05cuRIhTts\niNYrZ+LEifQJAxMTE+aH6+3bt+n7zLVZOSqG4NaVK1fo14mJiX0ZNm/eTI+6deuWVColhND/\nj5aXlzdo0KBjx46TJ09evXp1dHR0cXGx9vlouVkr7Sqqq1atGn3R0r59+1JSUnSVpwbHE3U3\njb6pcjy5fPkyPXDw4MEtW7ZUmIm9vT31Qsul03hD6+Nwp+KRVrfU7YH29vYtWrSgBubn5z94\n8IAQQn1v2KhRox49ehBCXr169ebNm6Kiotu3b1MtLS0t/fz8dJt5enq6r6/vwYMHmQPV2i6q\ndzMFc+bMEYvF1Ov169cruUJRewofasbV8bR93AnzUomsrKzi4mILC4uPTpWRkUG/rlWrFnNU\ntWrVrKysJBIJ9TY9Pb3i5MxLmBW+6i4rK6OToQfWrFmT2aZ27dofzVAnWFhMsVjcp08fhe+J\nKmI+n0K3hEJhUFDQb7/91rhx46raBAYGVhyo5cpRmIS5TUtLS/Py8pydnbVcOaqEUD5nFjBX\nzr179+7du1dpM5lM9v79ew8Pj9DQ0J07d+bn5xNCSkpKrl69Sn/A2NraTpkyZenSpcxvOtSl\n5WattKuoZd68eZs3by4oKJDJZD/88AP1gad9nhocT9TdNFUvE2F+byWXyxXGKgxhNmZS5XjC\n/GT67LPPlKSk5dJptqH1dLhTZc3onAZ7SufOnemK7dq1a+bm5u/fvyeEtGvXrnnz5lSlFRsb\n6+7uThfT/v7+ZmZmGidJ/3hGaWnpo0ePZs2aFRkZSQgpLy+fNGlSjx49qAJA3e2iejdTQD+I\npFu3bvqr6ip+qBldx9O2sPvss8/o6zSlUml0dLQqP8TBPBJVvKlK+Vjyv9VkVbfVVDz80ejO\noW8sLObPP//M7G2fffZZ8+bNqW+j9uzZQ5+DUbI21EI/8kcgEFhbW3t4eLRq1crR0VH5VMzb\n32harhyFJap0m2q5clQJwTnVt2xJSQkhpHbt2tevX//uu+/Onj1LDaEVFBSsXLmyoKBgy5Yt\nOslHg81aaVdRi7Oz88yZM3/66SdCyJEjR6p6oJ26eWpwPFF30yjBPEGo8HQVQsiHDx+Yb+3s\n7CqdiSrHEyblvyug5dJptqH1dLhTd83ohAZ7SufOndesWUO9vnbtGl2xtW/fnr60nyrs6Gm7\ndOmik2zNzMw+++yzgwcPurm5UUOKiooOHz5MVVfabBfNfr4iKipq6dKl3333nQbTKlDlQ83o\nOp62hV2vXr2YN8b++OOPAQEBzGs/K+Xh4UGfaXz+/DlzVGZmJvPcJrOPqqVatWr0fcupqanM\nUQpv9YeFxTx27Bj9evr06dTDJAkhZWVlf/zxh2bzVMLHx+err75Sd6pKzwBpuXIUJmFuUzMz\nMwcHB6L1ylElBOeYq3HNmjUzZ8786CSNGjU6fvy4RCJJTExMSUl58uTJuXPn7ty5Q43dvXv3\n2rVrVTnv/tF8NNis2pwspM2ePXvDhg25ublyuZz+fSot89TgeKLBpqmKp6cn/frRo0cymYz5\nMaBwtozZWINAubm51Ou7d+8qaanl0mm2oVk+3OmVBntKp06dTExMqH8kYmNj6Xsq27dvX7t2\nbRsbm8LCwtjYWOY/M507d9Zhzq6urra2tvS/Fs+ePaNeqLtdVO9mCvr370//FMT3339frVo1\n5qWKmlHlQ83oOp6219i1adOGealEXFzc6NGjK/5P+fjx42HDhmVnZ1NvO3ToQI86cuQI8wTm\nzp076dcCgaB9+/aaJca8sODYsWPMlJghVMS8LVn5L6cxsbCYzC9EunXrRr++cOFCaWmpZvNk\nh5YrZ9euXfSZkvLycube1apVK+pjT8uVo0oIHdKsjzH3voMHD1Z65V9GRgb9vEn6DL+VlVW7\ndu0mTJjw888/x8fH0x8eJSUllX5JqiIW+vxH2dvbz5kzh3pd1ckwdfPU4Hii7qZRol27dvTr\n3Nxc5inV7Ozsbdu20W89PT2ZN6Wqi/nj7seOHav4oUt9iU90unRMyvcC4z3cVaTBnuLo6Eh/\neffs2bOzZ88SQlxdXevVqycUCqkbJpKSkuirV83NzZl3UWjv4cOHzJ5PHwPV3S6qdzMF8+fP\n//LLL+m3X3/9NfPBLvpjfB1PmzsvKLdv36bvRKM4Ozt/+eWXq1atWrNmzdy5c9u3b0+dbn33\n7h01icKd3m3atDl37lxiYqKKz0RQuJeTOSt6VExMDHN4q1atjh07FhUVFRoaqrAGVLkrdsmS\nJfRwDw+PqKio58+fp6am0k/gVOVxJ/pYTObFGb169crLyysvL4+JiVH4r/3kyZOqhKiUBs9S\nVyWKliuHENK3b9+zZ8+ePXu2X79+zOHr1q3TycpRJYSSJVV3uGZ97NatW8zEhg0bRt9OlZub\ne/bs2bFjx1paWv7www/UwNmzZw8YMGDfvn0vX76k7vktLy8PDw9nrvOKvxCjQMldsbrt8x+l\ncFcsPbywsFDhSWlE6eNOPpqnBscTdTeNEu/evWPefEcI6du376JFi0JDQ728vJjDFyxYwJxQ\n3eNJYmIi86sxV1fX33///e7du48ePQoPDx87diz9HAoNlk6VDa18L9Dh4U7dNaMiZoesWbPm\n7MocOHBArtGeIpfL6Qf6VGywaNEihVEffb73RxeBfo5dbGzszp0769Spw5z/n3/+SU2i7nZR\nvZvJK2wpqVQaFBREDzE3N4+OjtZmGVX5UDP8jqdAB4WdXC4/deqUKt/d0IWdXIVnMzo6Olb1\nFFMVV0dVV/spXEyqSmEXERFR6axmzJihfEJ9L6bCfi4UCqlrME1NTZn/+xpgYaflyqnqiuA6\nderQzxnScuWoEkLJkqo7XOM+9s033yhMYmlpybwqixBCf77OmDGDuYDOzs4KX4r5+/t/dOMq\nKey03Ky6KuzkcnnF32pU9wHFCnlqcDxRa9Mop/DEskrVrFkzJyeHOZUGh8358+crCcF8cqy6\nS6fKhla+F+jwcMdCYVeVUaNGUY3V7YFyufz48eMKbZYvX06Nou5yYFq0aJFayau+CIQQLy8v\n+lEgGmwX1btZxS1VUFBA3yBMCLGzs1Px8SuVLqMqH2qG3/EU6OZxJ/3794+Li2vVqpWSNt7e\n3syPkN9//73iP7u06tWrX7hwQeH/A3Xt2bOn4q2a5ubme/bsUXdWAQEBFW/JVoW+F3PRokXM\n3wSUyWRisVgoFG7fvr2qa6gNhzYrZ8OGDS4uLgoDnZ2dT5w4QZ8/1nLlqBJChzTuYytXrpw/\nfz7zP+CioiKFyyEUPm4ppaWl2dnZzC8r3d3dmQ9+0wwLu7Yqpk6dqvxqM3Xz1OB4ovGmqWje\nvHmLFi2q6o5XQkiTJk3Onz//0TuZPurnn3/+4YcfVLnSQIdLR1O+Fxj14a4iDfaUTp06Kdxt\nQH9R6+/vr9A9dHuBHZOnp+dff/1FPwpEg+2iejeryMbG5uzZs/T9Nx8+fOjVq9fTp081mJWK\njK/jaVMVVnTx4sXQ0NDmzZu7uLiIRCIbG5uGDRuOGTPm6NGjCr+kRrl169aUKVMaNWpkY2Nj\namrq5ubWo0eP9evXM8+IUDSrcwsLCxcuXFi3bl0zMzM3N7dhw4bdu3dPyY92K4mSnZ09ffr0\nOnXqMP9B/+jZFBYWMycnZ+bMmTVq1KB+RLl///7Xrl2Ty+XMh3EY5hk7isYrJz09/euvv65e\nvbqZmZmXl1dISEhaWprCJFquHFVC6OqMnVy7PkY9jIC6n4v6h7Ju3brBwcErVqxITk6mm716\n9WrXrl2TJ0/28/OrXr26paUltc47der0yy+/UDccfJTyM3YUnfT5j1Jyxk4ul2/cuJG511T6\nBHXV85SrfzyhqLhpVJGSkjJnzpw2bdpQPwRnbW1dq1atwYMH79+/v9IDrManB54+fTpv3jw/\nPz8nJyeRSOTi4tKiRYvp06ffuHFD46VTcUMr3wt0dbgzhDN2FLV6oFwuZ/40gpmZWXFxMT2K\n+egQMzMz5i8far8IlpaWPj4+QUFB69evr/jYXnW3C0WVblbVlrp//z7zcXe1atVKT0/XYBlV\n/FAz8I6nQCBX8wZdAAAAADBM3PzyBAAAAADoHAo7AAAAAJ7Q9gHFAAAAPHbq1KmPthkwYAAL\nmWiMB4vwUZ/CMqoI19gBAABUSZWfvTLwT1IeLMJHfQrLqCJ8FQsAAADAEzhjBwAAAMATOGMH\nAAAAwBMo7AAAAAB4AoUdAAAAAE+gsAMAAADgCRR2AAAAADyBwg4AAACAJ1DYAQAAAPAECjsA\nAAAAnkBhBwAAAMATKOwAAAAAeAKFHQAAAABPoLADAAAA4AkUdgAAAAA8gcIOAAAAgCdQ2AEA\nAADwBAo7AAAAAJ5AYQcAAADAEyjsAAAAAHgChR0AAAAAT6CwAwAAAOAJFHYAAAAAPIHCDgAA\nAIAnUNgBGLGsrKwxY8Y4OTnZ2NgEBQUlJyfrqrFO5pOWlhYWFubv729paSkQCF68eKHviNHR\n0RMmTKhXr56VlVWdOnVCQ0OzsrL0HTQ2NrZv377e3t4WFhYeHh7BwcHx8fH6Dso0ePBggUAw\nfvx4fQe9dOmS4H+5uLhoFhQA9ETEdQIAoCGpVBoYGJiVlbVy5UobG5tly5Z16dLl7t271apV\n07KxroI+f/788OHDfn5+/v7+0dHRLCzmkiVLPnz4MHbs2OrVqz98+HDDhg0RERFJSUm2trb6\nC/rixQtLS8sZM2a4ubllZGRs27atQ4cO169fb9Wqlf6C0v7666+YmBgzMzO1YmkTdPXq1T4+\nPtRrc3NzzeICgL7IAcA47d69mxASFRVFvX39+rWZmdns2bO1b6yroDKZjHqxZs0aQkhqaqq6\n4dSNmJKSwny7f/9+QsjOnTv1GlQBdWJy5syZLAQtKCjw8fHZvn27tbX1uHHj1I2obtCLFy8S\nQu7du6dBIABgB76KBTBWZ86c8fLy6tq1K/XW29u7W7dup06d0r6xroKamOjgCKNWxPr16zPf\ndunShRDy9u1bvQZV4O7uLhKJTE1NWQj63XffeXt7T5o0Sd1Y2gQlhEgkErlcrnFQANAfFHYA\nxurBgwdNmjRhDmnWrNnz58+Lioq0bKyroDqhTcTY2FiqPQtBi4qKCgoKUlJSJk+ebGVlNXHi\nRH0HTUhI2LJly+bNmwUCgbqxNA5KCOnQoYO1tbWNjc2gQYOePXumcWgA0AcUdgDGKicnx9HR\nkTnE0dFRLpfn5eVp2VhXQXVC44g5OTlz585t2bJlv379WAgaEBBgZ2fXsGHDixcvnjt3rmHD\nhnoNKpPJQkJCpk6d2rx5c3UDaRzUzs5u2rRp27ZtCw8PnzdvXmRkZLt27dLT07VJAAB0CzdP\nABgruVyu+qkatRqzMB99RywqKho0aJBYLL506ZJQKGQh6ObNm3Nzc1+9erVx48bevXtfuHDB\nz89Pf0HXrFmTlZW1ZMkStUJoGbRNmzZt2rShXvfp06dr166dO3det27dr7/+qmUaAKArKOwA\njJWTk1Nubi5zSG5urkAgcHBw0LKxroLqhAYRS0pKBg4cmJiYGB0dXbduXXaC0l/4Dh48uH79\n+gsWLKBuNdBH0PT09MWLF69bt04mk9Gn1kpLS/Py8mxsbEQiNQ7s2mzQTp06Va9eXeNnuwCA\nPuCrWABj1aRJkwcPHjCH3L9/v3bt2paWllo21lVQnVA3olQqHTJkSGxsbERERMuWLdkJymRp\nadm4ceMnT57oL+jLly/FYvGXX37p+B9isfjgwYOOjo6XLl3SU9BKlZWVsXwGFwCUQ2EHYKyC\ng4PfvHnzzz//UG/fvn0bFRXVv39/7RvrKqhOqBWxrKxs+PDhkZGR4eHh/v7+7ASVyWTMt5mZ\nmQkJCRqcKVQ9aOPGjaP/l4WFRc+ePaOjo+mvSnUelBBSVlbGfHv27Nm0tLS2bduqFREA9IuD\nR6wAgC6UlpY2a9bM09Nz165dR44cad68uaura1paGjX2/PnzQqFw//79qjTWU9Dy8vKjR48e\nPXqU+lGETZs2HT169OrVq/qLSD34IyQk5CjDnTt39LqYAQEBkyZNWrdu3e7du3/44QcfHx8z\nM7OYmBi9BlWg8XPs1Aras2fPCRMmrF27dufOnVOnTjUzM/Px8cnKytIgLgDoCQo7ACOWkZEx\ncuRIBwcHKyurwMDABw8e0KMiIiIIIXv37lWlsZ6CSqXSiv9M9unTR38RFZ7cQQkNDdXrYm7a\ntKl9+/bOzs7m5uZ16tQZOXKkxo/wVWuDMmlc2KkVdOXKla1bt3ZwcBCJRD4+PiEhIenp6ZoF\nBQA9EcjxkEkAAAAAXsA1dgAAAAA8gcIOAAAAgCdQ2AEAAADwBAo7AAAAAJ5AYQcAAADAEyjs\nAAAAAHgChR0AAAAAT6CwAwAAAOAJFHaEELJkyZK4uDg2I0okkrFjx0okEjaDxsXF/fjjj2xG\nJISsW7fu3LlzbEYsLy8fP358VlYWm0GTk5NnzZrFZsSPKi0tHTt2bH5+PptBb9++vXDhQjYj\nEkK2bNly+vRploNOnjz57du3bEZ8/vx5aGgomxEJIYcPH969ezfLQZV78ODBnDlzWA76xx9/\nHDlyhOWgoaGhqampbEZ8/fp1SEgImxEJIadOndq6dSvLQRcsWJCYmMhyUNagsCOEkOPHj8fH\nx7MZMSsra+/evSwXHzdv3jx+/DibEQkhZ8+evXr1KpsRS0pK9uzZw/IB8d69e/v372cz4kfl\n5eXt3buX5eLj9u3b7H/+nTt3jv4Ne9bs3Lnz8ePHbEZ8+PDhn3/+yWZEQkhUVNTFixdZDqpc\nUlLSwYMHWQ564cKF6OholoPu2bPn4cOHbEZ8/Pjxrl272IxICPnnn39Y/uefEHL48OHbt2+z\nHJQ1KOwAAAAAeAKFHQAAAABPoLADAAAA4AkUdgAAAAA8gcIOAAAAgCdQ2AEAAADwBAo7AAAA\nAJ4QcZ2Avrx69Ur1p0wVFhampKRcunRJrykxZWZmEkJiY2OfPn3KWtCUlJTCwkI2F5MQkpOT\nk5qaymbQkpISQkh8fHxBQQFrQe/du1daWsrCYqamptasWVMgEHy0ZV5eHiHk+pfzG4IAACAA\nSURBVPXraWlp+s6KlpycLJFIWO5j7969E4lELAclhNy6dUsmk7EWLjExUSaTsbyYb9++LSoq\n0ndQuVz+4sWLWrVqqdL4/v37JSUlLK+HzMxM9g+eMpksMTHR3NyctYh37tyRy+UsL+arV6/e\nvXvHctCioqKHDx+yELR+/frVq1fXdxRFcp7q1bsX26sSQP9UKekAAMAQ9Ordi/36h7dn7MrK\nyiYumDh12VSuEwHQJT8Tv82Rm/26+XGdCIDO7Fu1b928dfEyVn/+B0DfNi3c9DrhNftxcY0d\nAAAAAE+gsAMAAADgCRR2AAAAADzB22vsjE5BXkFXx64fbfZ7xO/tgtrpI4HXT18PrDcwcHjg\nz4d+1sf8taFxblEnohKiEx7dfvQk6UmRuMgwl47f0LGVQMc2XujYSqBjcwuFnaEwNTPtO64v\nc0jkscgicVHAsABzy//e7u7m5cZ6akbsj5//SL6VbG1n7erl+urxK67T+RShY+sDOjbn0LH1\nAR1bJ1DYGQoLK4vFuxczh9yKuVUkLpqzbo6zuzNHSRm9mStnunm7edfxvnr26jf9vuE6nU8R\nOrY+oGNzDh1bH9CxdQLX2BmNx4mPfQW+i8cvfvPszYIRCwLcAvxM/O7F3aPG3r1+d97geYHu\ngW3N2gZ5Bn0/+vsXj14wJz+5/eTsAbODawW3s2zXxaFLSOeQS0f/+2zG3b/uHlhvICHkwuEL\nvgJf6u/vfX8z475++nruoLndnLp1susU1juM+nfqffr7xeMXB1YLbGfZblKHScm3khXSVp4Y\nPfPM15kLRy7s7tK9nWW7sX5jY/+OVSW3j2rdpbVPXR88+82QoWOjY/MSOjY6Nldwxs7IZL7O\nHPf5OAcXB/8g/2JxsbmFOSHk5PaTv3z1i72zfce+HR3dHNNS0y4dvRRzKmZz5OamnzelJvx5\nys9N2jTx7errVM0pJyvnavjV+cPmhy0PGztvLCGkU79OIlPR2jlrm7VtNjR0KDVJi/Yt6LgZ\nrzIm+E/wqesTNDLoxaMX1yKuhSSGbL+8fUrXKQ4uDt0Gd8t4lXH17NXQgNDTz0/bOthSU6mS\nGLVQY/zGuHm5BQwLyMnKiTkV802/b7bGbG3ZsaUquQEPoGNXzA14AB27Ym6gbyjsjEx8VPyw\nacPmrJ1jIvz3bGtqcury0OWfB3y+8uRK+tqOJ3efTGo/aVnIsoNJB6kh4S/Dq/lUo+dTLCkO\n6RyydfHWAZMH2Dna1W5S29TcdO2ctR41PHqP7l0xbkJ0wpQlUyYvmky9XTp56akdp8a1Gddn\nbJ9Za2ZR/2Bt/n7zzqU7T2w9Me7bcaonRi3UpO8mffXjV9R8/t7396Ixi/au2EsdJj6aG/AA\nOrYu1yYYDHRsXa5NUA2+ijUyDi4OYcvD6GMEIeTopqNl0rIJCyYUiYvy3udRf66ern7d/Z7c\nfZL+Mp1qRh0j5HJ5YX5hTmaO+IO4y8AuJUUliVcSVYnrUcNj0sJJ9Nt+4/tRL6b9Mo0+bU4N\nTElMUSsxQoh7dfeQH0Lo+fQa1cvG3ub+zfsarSEwSujYwEvo2MA+nLEzMvVb1LewsmAOuXf9\nHiEkpHNIpe3fp7/3qOFBCEm5k7J18daE6ARJgYTZIOttlipxG7RswDw2uXq5EkJqN6ld8f6v\nrDdZaiVGzVwoEtKjBAKBm7fb6ycc/BILcAUdG3gJHRvYh8LOyLh6uioMyc/OJ4SsPrPawtKi\nYvtajWoRQh7dfjSpwyRzC/MhXw+p37y+jb2NidDk5qWb+1btKy0pVSWujb0N861IJKo4kNrV\ny6RlqidGoa/wYM5fJpOpkhjwAzo28BI6NrAPhZ2RqXi7ELWvuri7NPZrXNVU+1fvLykqWXNm\nTZsebeiBj2490lOSqicGQEHHBl5Cxwb24Ro7o9e0bVNCyPlD55W0SXuRRrekxUfFM98KhUJC\niA7/61IlMRXpPDcwfOjYwEvo2KBvKOyM3vBpw4Ui4eH1hxV2e0mh5MLhC9Rrr9pehJAbF2/Q\nY88dOKfQ3t7ZnhCS8SqDzcRUpPPcwPChYwMvoWODvuGrWKNXp2mdhVsXLpuybGqPqW0D2zZo\n2aBcVv7i0Yv4qHiPmh6BwwMJIcOnDT934NzCLxYGDA/wqOHxOPHx1b+v9hjag/nES2s766af\nN71/4/6CLxbUbFhTKBR2GdClTtM6ek1MRRrnFnUi6vKZy+Q/Fwjfv3F/8fjFhBAHF4eZK2dq\nuGDACnRsJdCxjRc6thLo2DqBwo4PgicGN2zVcN/qfbdibiVEJ1haW7p4uvQe05veFZu0abL5\n0uYti7bEnIohhDT2bbzxwsZ3ae+YhwlCyE/7flr9zeq483EXD1+Uy+UeNT20OUyokpjqNMvt\n0e1H4XvC6bdpL9Ko7zg8anjgMGH40LGrgo5t1NCxq4KOrRMCuVzOdQ56Edgz0MfXZ+qyqVwn\nAqBLfiZ+my5t8uvmx3UiADqzb9W+dfPWxcviP94UwHhsWrjpdcLrC+fV+yJbe7jGDgAAAIAn\n8FUsGCVZmSzvfZ6SBg4uDsxHaAIYBXRs4CV0bDahsAOjlJKYMtZvrJIGf8b/2dgXT2MCI4OO\nDbyEjs0m3hZ2xSXFb1Pf3rx0k+tEQC+KJcVhy8OUNHif9p6vW//R7Ufycn5eGgufZsd+9fgV\nkRP+LRfQPs2O/Tb1bXFJMftxeXvzRI2aNV69fMV1FgA6JhQJZWV47CfwjUDA2w8j+JRVr1H9\n5YuXLAfl7Rm7hvUbjO7fY9m3uCsWeMXE2y/yyOZu7XFXLPDHqq375i1dV/4mgetEAHRp4fJN\nCcmv2Y+Lu2IBAAAAeAKFHQAAAABPoLAzXG/SswRevgMmzuY6ER3TbLn4ujY+WapvUJem3Wt+\n3k/dZsbSYbA7GKnEB48FXr7jZy5W3kzjLaXi/NmHHmv4UNiBMst+3yXw8hV4+aY8U/vyz6cv\nXgu8fEd8vUAfibEwfwAF2B3AuKDHfpp4e/MEaE8ul+88eIq6W237/pMrF+nmp/rcXByvnNzh\n7GjPwlRgsIxug2J3AA1wuKXQYz9ZOGMHVbrwT1zqq7RxQ/tWc3XaczS8VCrVyWzNTE07tGnR\nqF4tFqYCg2V0GxS7A2iAwy2FHvvJQmFnfA6dvtBx4Jd2DTpZ1m7XrPvwXzfsLiktpUYViiVm\nNdq27z+RblxUXGJRq53Ay3fvsb/pgZv2HBV4+e46dEZ5oO0HThJCJo8aOGpgr/c5eScjoiu2\nibt9b9iU+Z4tg8xr+nu07Bn4ReiRvy4SQn7dsLte+4GEkMNnLlDfBQi8fPcd/5tUuNji+q27\nAi/fQV/OrTjzRp2HmNf0z8n7UHGqquZ/626ywMs3ePwshVnJ5fL6HQZZ1Wmfm/9B+VKDWugr\ngZ6+eD3oy7lOjbvZNejUe0zY4+evCCHpWe/Hz1xcrXmgZe12HQZMunU3mZ6w0mtuysvL124/\n0KjzEIta7Xx8e3+zeHWhWFIxqIrNKnX91t3Bk+e5twg0q9HWs2XQ6OnfP3r6QpUJsTtApV6n\nZY4MXejStLtl7XZ+vcf+HRXLHFtpP5fJyldt3dew02CqA8/8YVWhWFLVtaTK568EeuwnC1/F\nGpl5S39fsflPNxen0YN6W1tZno28+n+/bDgXc+3ioU2mIpGNtVWblk1u3LlfUCixtbEihMTG\nJ1FlX+TVm2OG9KZmEhUbTwjp3kHZs9Ay3+WcOX+5fu3q7Xw/s7OxXr1t/7Z9J4cHBzLbbNl7\nPHTBclORKDiwU91aPlnvcxKSkjftOTqsX0C/gE6mpqI5P65t26pZ6PihVPv2fi0qBvJv/VmD\nOjXCL17Jzs1nnqi/mfjg0dMXg/t0c3KwqzhVVfOvVd3Tr0Xjv6Ouvk7L9PGsRrePvpbwJPXV\nuKF9He0rmRto6dXbDP9+E+rW9Bk5MOjR0xcRUdcS74dcPrm965ApLk4Og3t3e/U242zk1YAR\noc/jTjvY2VY1n6//79dt+07U8PaYNmGYQCA4ERGVkPRQJivXrFlF2/ef/Gr+L86O9n17dHRz\ncUx9lXb0r0unzsVEHtn8ecumSibE7gCVep2W6dd7jJe727B+AVnZOafOxfQb903Msa0dP2+p\nZKqQeUt3HTpT08dz2oRhJiYmJ/6OunU3udIOrNn8CXrspw2FnTG5cuPOis1/1qrueSN8j6uz\nIyHkl/+bFjzhm4ioays2/bkgbCIhpFt7v9j4pMs3bvfp3oEQEnn1plBo0unzVpFX//21lvLy\n8phrt2rX8Krh7aEk1h+Hz0jLysYP60cIadqwTqtmDaOvJTx98bpuTR+qwd3kJ9MWLnews7l6\naifzBPub9CxCSJMGtc3NTef8uLaGt8fowb2VL9e4oX0X/Lrx4Knz0yYMowfuORJOjap0EiXz\nnzpu6IRvluw8eHrx7BB64Na9JwghU8YMUp4JaCb6WsKSOVMWfTOZejt57tIdB0616T1u7NA+\naxbPEggEhJDvf9u8dN3OrXtPfBs6rtKZxFy/tW3fieaN68ee3mltZUkIWTJnSocBk/I+FNjb\n2ajbrKLkJ6mhC5YHdPr85M6Vlhbm1MC7yU/a958UMndZ0qWDSqbF7gCVioqN/27GpB/nfkV1\n8n3H/x4TtmjF5r1KCq/Iqzd3HTqj0IE7DZpcaQfWYP4U9NhPGb6KNSbUl6eLvplMVXWEEJFI\nuGrRNwKBYMfBU9SQ7h3aEEIir/xbxkVevdm6WaPBfbq9Sc+ivh1LfPA4OzefalYVuVy+48Ap\nExOTsUP7UEPGD+tHDaTbbN5zTCYrXzx7isJlE94ebuou15ghfUxMTPYcDaeHlEqlh06fd3Nx\n6tW1vbpzGx4c6ORgt+PAKfo/4Kz3OafOxTRrWNe/9Wfqzg1UUcPbY2HYJPot9XFCCPnl/6ZR\nH0iEkPHD+xFCEh+kVDWT3Yf/IoQsnh1CfdoRQqwsLZZW+PEYFZtVtGnPUWlZ2YLpE8SSovc5\nedSfZzXX7h387iY/efkmvaoJsTtAVap7uf8wK4Tu5KMG9bK3tbmZeF/JJH8ePUsIWTJnCt2B\nLS3Ml877WlfzJ+ixnzwUdsbk9r1HhJCu7XyZAxvVq+Xh5pL6Ki3vQwEhxN+3maWFeeTVeEJI\nfkHh7XuPundsQ/0CFXXSjvoeVvlvUkXFxj97+Sag0+de7v/u5CMHBpmZmu4+8pe0rIwaEnf7\nHiGkV7d22i+Xt4db9w5+CUkPHz5+Tg3568KVnLwPowYGiURCdedmaWE+fli/txlZZyOvUkP+\nOPxXqVT61djB2qcKlWrZtIFQ+N+DiZe7KyGkSYPa9IkxQgjVl6jzAZW6cz+FENKpbSvmwE4V\nzkyo2Kyi67fuEUI6Dw5xbdaD+Xf6/D+EkPSs91VNiN0BqtKyaQPmRhEIBN6ebrl5BUomoTqw\nwim3Dm0q+ZZTs/kT9NhPHgo7Y5JfUEgIcXdzVhjuUc2FEJL/oZD85+aje4+eZr3Pibl2SyYr\n797Br1G9Wp7VXKnCLvJqvEAg6Nbet8Ls/2vbvpOEcd6FEOLsaN8vsGPmuxzqU5AQkvehkPzn\n01p7VCz6fz7qxbhhlZ/G/6ivxw0RCARb9x4nhFC3+ltbWY4e9JEvFEBj9rb/8xWSSCSqZKBQ\nSAiRSsuqmkl+QaFIJFS4IsfG2oo+saFWs4qyc/MJIWd2r754aFPFPyX362F3gKpUvGBUJBTJ\nymVKJvlQKK7Yga2tLCvtwBrMn6DHfvJQ2BkT6pMyIytbYXh65ntCCH19Rrf2fnK5PCo2IfLq\nTXMzM+qK167tfaNjE0pKS6/cuNOkQW03F6eqorzLzj11LoYQ8sXUBfT9SgIv3+Nnowgh2/ad\noJo52NkQQt5mVHkCRi0De3W1s7XedzxCJit/l50bER3bvHH95o3raza3ujV9enRscy7m+ss3\n6Zeu3Hz28s2I/oF2ttY6SRX0xN7WpqxMRt1DRysUS8SSIg2aVTp/Qoi7q0uPjm0q/imUoTTs\nDqBbdjbWFTuwWFL00Q6sIvRYwM0TxqRl0wZ3k5/EXL/FvCI15dnL9Kz3tap70v/b/XuZ3dWb\n12/dbe/X3MLcjBDSvYPf/hMRm/ccE0uKlF9gRz3xqPVnjVo0Udwtz1y4fOnKzdRXabWqe7Zt\n1SzxweOIqGvTJw6vdD5CEyEhRCb7yD+XFEsL82H9AnYcOHXpyo3kJ6llZbKP/renfP5Txw29\nePnGjgOnkp+mEkKmjMZpfENHde/LcbcHBHWhB16+cUezZhW1bdU06eHjQ6fP+7VorHpW2B1A\nt1o0rX/v0dOrNxODAzvRA6/eTNTV/NFjAWfsjMnEEcGEkJ/W7KC+VCKElJXJZi9ZI5fLJ30x\ngG7W+rOGDna2p8//8yDlOf1ME6qY+2XDbvKxC+yoC2w3/TJ/x8rvFf6mjB4kl8upGzWmjh8q\nFJosXrVV4TFg9EVU1K3vr95mqLh01Mn8P4+d/fPYWZFIOGpgkPL2yuffL6CTt4fbtv0nz5y/\n3KpZQ7U+y4ET1CfB4lXb6FMXkqLi73/brFmziqZNGC4SCdfvOkxdZkorFEsOn7lQ1VTYHUC3\nxg6hOvBWSVExNaS4pHTRii26mj96LOCMnTHp1LbVrJBRq7ftb9J16JA+PawsLc5GXn34+HnH\nz1vO/XoM3czExKSzfyvqWoruHf89OVfdy71ODe9nL98IhSad/VtVHoCQmOu3Up69bNawbpsW\nTSqOnfRF/2W/7/rj0Jkls6c0a1h3/dJ50xb+1iJgZHBgp3q1q2fn5CXcTba1too+tpUQYmdr\n/XnLpjfu3P9i6oKGdWsKhcIBPbs0bVinqtDt/ZrXrelz9K9L0rKyfgGdlHxZTFE+f6HQJGT0\nIOpwOWU0bpI3Al3b+U4eNXD7/pNNuw0f3Lsb9YA6z2quCpcZqdisoqYN62xdvnDKt8t6DJ8a\n2Llty6YNZLLyR09fRMXG1/TxUHjEFwW7A+hcj45txg3tu+doeNNuwwb37i4QCE5GRLu7OTvY\n2ZqYCLScOXosEJyxMzqrfvhm3/qf6tTw3nM0/PedhwQCsvTbqRcObjQzNWU2o87P2dla+372\n3390qCKvdbNGVV1ORAjZvv8kIeTLkQMqHVvTx7NHxzbpWe//uniZEPL12CGXT2zv1a1dzPVb\nKzb9eebCZRcnh1DGo4z2bfipb4+O52Pilqze/v1vm5U86oIyblhf6qatqp5+pED5/KkTnLY2\nViM/9r8jGIgtv/7f6sWzzExF63cdPnjqfHBg54h9vzPvt1WrWUUTRwTH/7139OBeDx8/X711\n/44Dp56/ejNmcO8Ny76ttD12B9CHnasW/fZdmEgo+n3noQMnz/Xu3v7M7tWFEomdjbIHMaoC\nPRYIIQK5XM51DnrRMzDQt5HPMhWebgV8FRF1rfeYsK/GDN786/9xnYvOmHj7XTq8SfmX6QAV\nGfLusGrrvnlL18lex3+8KU8lPXzcImDkiP6BBzf9zHUuhsKQe6yKFi7flJD8+vyFKq/00BOc\nsQPe+m3THkJI6PhhH20JwHvYHQzH+5w85ltJUfHcn9YRQgb26spRRoYIPVZjuMYO+Ob2vUfn\noq/F3b4fc/3W8OBAJReFAPAedgcDtHjVtpjrCV38fd3dnNMy3v0dFfvyTXqvbu2G9u3BdWrc\nQ4/VHgo74JtrCXcXLt/kYGf7xYCem36Zz3U6AFzC7mCAgrr6P37+8tjZS7l5BSKRsEGdGtMm\nDJvx5Rf0T4d9ytBjtcfba+y6dO7k6WQ1cUR/rhMB0KXAL0J/+y6sRZMGXCcCoDNHwy9t33/y\nwsGNXCcCoEu7Dp1Oy5HE/HOZ5bi8Lexq1qzx8uUrrrMA0DGRUFim2iNDAYyIQMDbDyP4lNWo\nUf3Fi5csB+XtV7ENGjQcNWr0smXLVGmcnp5uYWHh6Oio76xoMpksKyvLzc1NKFT7N5I1JhaL\ni4qKXFxcWItICMnJyTE1NbW1/cgzxnRILpdnZGS4uLiY/u8jYPSquLg4Pz+/WrVq+g4kEAhW\nrlw5e/bsj7YsKyt79+6dk5OTubm5vrOiSSQSsVjs6urKWkRCSG5urlAotLOz+3hT3UlPT3d2\ndjYzM2MtYklJSW5urru7O2sRCSH5+flyudzBwUGvUVatWjVnzhwVC7v8/PyioiKW10NeXp5A\nILC3t2czaEZGhqOjI5v7b0lJSU5OjoeHB2sRCSEfPnyQyWRsfv4SQrKysmxsbKysrPQaZeHC\nhQkJCXoNUSncFQsAAADAEyjsAAAAAHgChR0AAAAAT6CwAwAAAOAJFHYAAAAAPIHCDgAAAIAn\nUNgBAAAA8AQKOwAAAACe4O0DitWyYcOGBw8eMJ81amVltW3bNjafPgqgW1KpdObMmf369Rs9\nejTXuQDozOPHj7dv375t2zauEwEwUDhjRwghJ0+ePC0WH61d+98/e/s9e/bk5ORwnReA5nJz\nc48cOXL+/HmuEwHQpaSkpD///JPrLAAMF87Y/UdwMJk+/d/Xjx6RHTs4zQYAAABAbThjBwAA\nAMATKOwAAAAAeAKFHQAAAABPoLADAAAA4AkUdgAAAAA8YRCFXVpaWlhYmL+/v6WlpUAgePHi\nBXNsdHT0hAkT6tWrZ2VlVadOndDQ0KysLI4yBQAAADBcBlHYPX/+/PDhw87Ozv7+/hXHLlmy\nJCkpaezYsZs3bx4yZMju3bvbtm1bUFDAfp4AAAAAhswgnmPXrl27zMxMQsjatWujo6MVxm7b\ntq1+/fr02+bNm48aNero0aMTJ05kNUsAAAAAw2YQZ+xMTJSlwazqCCFdunQhhLx9+1avKQEA\nAAAYHYMo7NQSGxtLCGnWrBnXiQAAAAAYFiMr7HJycubOnduyZct+/fpxnQsAAACAYTGIa+xU\nVFRUNGjQILFYfOnSJaFQyHU6AAAAAIbFaAq7kpKSgQMHJiYmRkdH161bl+t0AAAAAAyOcRR2\nUql0yJAhsbGxFy5caNmyJdfpAAAAABgiIyjsysrKhg8fHhkZGRERUemD7gAAAACAGEhhJ5fL\njx8/TghJSkoihERERLi6unp4eLRv354Q8tVXX508eTIkJOTdu3fHjh2jJqlbt26LFi04zBkA\nAADA0BhEYSeTyYYOHUq/nTp1KiGkT58+4eHhhJC4uDhCyLZt27Zt20a3CQ0N3bBhA+uZAgAA\nABgugyjsRCKRXC6vauz9+/fZTAYAAADASBnZc+wAAAAAoCoo7AAAAAB4AoUdAAAAAE+gsAMA\nAADgCRR2AAAAADxhEHfFGoSUFHLp0r+vX7/mNBUAAAAATaCwI4QQV1fX5I0bycaN9BA7Oztr\na2sOUwLQkpWVla2trbu7O9eJAOgS9fh6rrMAMFwo7Agh5NChQxYWFo6OjlwnAqAzNjY2KSkp\nTk5OXCcCoEtdunS5fv0611kAGC5cYwcAAADAEyjsAAAAAHgChR0AAAAAT6CwAwAAAOAJFHYA\nAAAAPIHCDgAAAIAnUNgBAAAA8AQKOwAAAACeQGEHAAAAwBMo7AAAAAB4AoUdAAAAAE+gsCOE\nkGHDhjk5OQlYJBKJPD09RSIRm0FtbGxcXV2rGisUCq9cucL1pgCdKSwsrFu3roWFBZt9zNra\n2s3NTcXGffv25XolgfGJiory9PTUazdmaty4MddLDKAeEdcJGITs7Gwydy4ZPpzrRLhU3q3b\n+/fvuc4CdEYikUgkEnL0KKlVi+tcKvPnn+/i4rhOAoxPdna23MWFRESwESwy8t2KFWwEAtAd\nFHb/4eNDWrfmOglOCYVcZwB60LgxMcxTDpGRXGcARsvUlKXDdWoqG1EAdApfxQIAAADwBAo7\nAAAAAJ5AYQcAAADAEyjsAAAAAHgChR0AAAAATxhEYZeWlhYWFubv729paSkQCF68eKH6WAAA\nAACgGERh9/z588OHDzs7O/v7+6s7FgAAAAAoBlHYtWvXLjMzMzw8PDg4WN2xAAAAAEAxiMLO\nxERZGsrHAgAAAAAFNRMAAAAAT6CwAwAAAOAJFHYAAAAAPIHCDgAAAIAnUNgBAAAA8AQKOwAA\nAACeEHGdACGEyOXy48ePE0KSkpIIIREREa6urh4eHu3bt//oWAAAAACgGERhJ5PJhg4dSr+d\nOnUqIaRPnz7h4eEfHQsAAAAAFIMo7EQikVwu12wsAAAAAFBwjR0AAAAAT6CwAwAAAOAJFHYA\nAAAAPIHCDgAAAIAnUNgBAAAA8IRB3BVrEA4fJvfvc50EpyQSrjMAPVi8mDg6cp1EZZKSuM4A\njFZeHpkyhY1AqalsRAHQKRR2hBAyePDge/fumeXmshZRLpeXlJSYm5sLBALWgpaVlclkMnNz\n80rHCgcObNGiBWvJgL45OjqOGDFCKpWasNixZTJZWVlZVX3sf1SvjmeMgwZatGjRPyCApcO1\ng0PdyZPZCASgOyjsCCFk6tSpFhYWjiye2JDJZFlZWW5ubkKhkLWgYrG4qKjIxcWFtYjAIVNT\n09WrVzs5OalUZumIRCIRi8Wurq6sRYRPTb169bZs2eLu7s51IgAGCtfYAQAAAPAECjsAAAAA\nnkBhBwAAAMATKOwAAAAAeAKFHQAAAABPoLADAAAA4AkUdgAAAAA8gcIOAAAAgCdQ2AEAAADw\nBAo7AAAAAJ7AT4oRQsjdu3fT09Otra1Zi1heXp6fn29vb29iwl5tXVJSUlpaamtry1pEQkhh\nYaFQKLS0tGQtolwuz8vLs7OzY/Pn2qRSqUQisbe312BagUAQFBRkY2Oj86yioqIEAoGpqanO\n51yVkpKSkpISOzs71iISQsRisYmJCZt9jBCSm5tra2srErF3CJVKpWKx2MHBgbWIhBCJRCKX\ny1U8Nnp5ebVr107fKYnF4r///luzfU2boAKBwMrKis2geXl51tbWbO6/Uqm0sLBQs1/XrF+/\nfvPmzXWeEmgAhR0hhMyaNethVhZh99MI4F8vXx7av3/48OG6nWt2dvboOHi3JQAAIABJREFU\n0aOJtzcxM9PtnAEqUVjoIRSmpaXpO8758+cnf/UVqVFD34FADXl5/g0aXLt2jes8gBAUdhS5\nXE4WLSLTp3OdCHySvLxkMpnO5/rvPM+fJ40b63zmAIoOHy6fMYOFODKZjFSrRp49YyEWqGr5\n8vKTJ7lOAv6Fa+wAAAAAeAKFHQAAAABPoLADAAAA4AkUdgAAAAA8gcIOAAAAgCdQ2AEAAADw\nhEEUdmlpaWFhYf7+/paWlgKB4MWLFwoNsrKyxowZ4+TkZGNjExQUlJyczEWaAAAAAAbNIAq7\n58+fHz582NnZ2d/fv+JYqVQaGBgYGRm5cuXKXbt2paend+nSJTMzk/08AQAAAAyZQTyguF27\ndlShtnbt2ujoaIWxBw4cSEpKioqK6tq1K9W4Tp06K1asWLlyJQe5AgAAABgqgzhjp/z3Us+c\nOePl5UVVdYQQb2/vbt26nTp1ipXUAAAAAIyGQRR2yj148KBJkybMIc2aNXv+/HlRURFXKQEA\nAAAYICMo7HJychwdHZlDHB0d5XJ5Xl4eVykBAAAAGCAjKOzkcrlAIOA6CwAAAABDZwSFnZOT\nU25uLnNIbm6uQCBwcHDgKiUAAAAAA2QEhV2TJk0ePHjAHHL//v3atWtbWlpylRIAAACAATKC\nwi44OPjNmzf//PMP9fbt27dRUVH9+/fnNisAAAAAQ2MQz7GTy+XHjx8nhCQlJRFCIiIiXF1d\nPTw82rdvTwgZNWrU6tWrR44cuXTpUhsbm2XLltnZ2c2ZM4fjpAEAAAAMjEEUdjKZbOjQofTb\nqVOnEkL69OkTHh5OCDE1Nb148eKsWbNmzZpVWlraoUOHAwcOeHh4cJYuAAAAgEEyiMJOJBLJ\n5XIlDapVq7Z//37W8gEAAAAwRkZwjR0AAAAAqAKFHQAAAABPoLADAAAA4AkUdgAAAAA8gcIO\nAAAAgCcM4q5YzgkEAjJ/PvnhB64TgU9Sfr5QKNT5XP+dp78/0cPMARSVlprY2bEQRygUkowM\n4uTEQixQVXGxSYsWXCcB/0JhRwgha9asSUtLs7a2Zi1ieXl5fn6+vb29iQl7J01LSkpKS0tt\nbW1Zi0gIKSwsFAqFbP7+m1wuz8vLs7Oz00e1VBWpVCqRSOzt7TWY1sTEpGfPnjpPydnZmXpI\nkKmpqc5nXpWSkpKSkhI7Vj7gaWKx2MTEhOXfGMzNzbW1tRWJ2DuESqVSsVjM8m9kSyQSuVyu\n4rHR29tb3/kQQnr27Llj2zb2+5hAILCysmIzaF5enrW1NZv7r1QqLSwsdHR01GDa+vXr6zwf\n0AwKO0IIadasmZ+fn2a9WTMymSwrK8vNzY3N4kMsFhcVFbm4uLAWkRCSk5NjamrKZjUpl8sz\nMjJcXFzYPCAWFxfn5+dXq1aNtYiq6Nq1q5OTk7m5OWsRJRKJWCx2dXVlLSIhJDc3VygUsvxJ\nn56e7uzsbGZmxlrEkpKS3Nxcd3d31iISQvLz8+VyOcvVpHLW1tZ9+vRheT3k5eUJBALN/nPT\nWEZGhqOjI5v7b0lJSU5ODp7/b+xwjR0AAAAAT6CwAwAAAOAJFHYAAAAAPIHCDgAAAIAnUNgB\nAAAA8AQKOwAAAACeQGEHAAAAwBMo7AAAAAB4AoUdAAAAAE+gsAMAAADgCfykGCGEbNq06d69\ne2z+OpBcLi8pKTE3NxcIBKwFLSsrk8lk9A/UBAUFTZw4kbXowDKpVDpr1iypVMrm7xHLZLKy\nsjI2fwSJEFJaWioQCNj8BTlCSHFxcc+ePUNDQ9kMCoSQJ0+eLF26lM3DNSFEKpUSdn92mRBS\nXFxsZmbG5v5bXl5eWlpqYWHBWkRCiFQqlcvlLG/QkpISkUhU8Sc9+/TpM27cODYz0QcUdoQQ\ncvz48WQnJ9KkCdeJsOjGjcLCQhR2PJabm3vo0CEydChh8UeQPyEJCQXHjqGwY19iYuLpixfJ\n6NFcJwK8c/16SUkJCjseGT6cTJ/OdRIsmj+f3L3LdRKgf4sXk8aNuU6Cj374gVy+zHUSnyoH\nB7J1K9dJAO/Mnk2ePuU6CR3ANXYAAAAAPIHCDgAAAIAnUNgBAAAA8AQKOwAAAACeQGEHAAAA\nwBPGUdhduXKlc+fOVlZWjo6OI0aMePv2LdcZAQAAABgcIyjsbty40b179+Li4p07d65YseLa\ntWtdunQpLCzkOi8AAAAAw2IEz7FbvHixnZ3dpUuXbG1tCSF+fn4tW7bcuHHjt99+y3VqAAAA\nAAbECM7YxcXFdenSharqCCHNmzf38fE5fvw4t1kBAAAAGBojKOxKS0sVfnrSwsLi/v37XOUD\nAAAAYJiMoLBr2LBhfHx8eXk59TYzMzM1NbWoqKioqIjbxAAAAAAMihEUdqGhoU+ePAkLC0tP\nT3/27NmYMWOoIs/ExAiSBwAAAGCNEdRGEydO/PHHH3ft2uXp6Vm3bl1TU9M+ffo4OjoqfD8L\nAAAA8IkzgsKOEPL9999nZ2ffvXv3zZs34eHhKSkpHTp04DopAAAAAMNiBI87oVhaWjZr1owQ\n8scff6SkpKxZs4brjAAAAAAMixEUdomJievXr/f19TUxMYmNjd23b19ISEivXr24zgsAAADA\nsBhBYWdvb5+amnrixImioqIGDRps3Ljxq6++4jopAAAAAINjBIVdrVq1oqKiuM4CAAAAwNAZ\nx80TAAAAAPBRKOwAAAAAeAKFHQAAAABPoLADAAAA4AkUdgAAAAA8YQR3xbLk9Wty6xbXSbAo\nI4PrDIAVDx+SoiKuk+CjtDSuM/iESaWf1uEa2JGZyXUGuoHCjhBCnJ2dyYoVZMUKrhNhlevY\nsVynAHpkZWVlZWUlGTqU60R4yxXrlgvOzs6C9+/lvr5cJwI85DppEtcp6AAKO0IIOXLkiIWF\nhaOjI2sRZTJZVlaWm5ubUChkLahYLC4qKnJxcWEtInDIxsbm6dOnTk5O5ubmrAWVSCRisdjV\n1ZW1iISQ3NxcoVBoZ2fHZtD09HRnZ2c2IwKlW7duaWlp7u7ubAbNy8sTCAT29vZsBs3IyHB0\ndGRz/y0pKcnJyfHw8GAtIiHkw4cPMpmMzc9fQkhWVpaNjY2VlRWbQVmDa+wAAAAAeAKFHQAA\nAABPoLADAAAA4AkUdgAAAAA8gcIOAAAAgCdQ2AEAAADwBAo7AAAAAJ5AYQcAAADAEyjsAAAA\nAHgChR0AAAAAT6CwAwAAAOAJFHaEEDJixIg9e/ZwnQWALhUWFjZo0MDCwkJQhZCQEK5zBFBb\nTEyMl5dXVb26ovr163OdMgCrRFwnYBDevXuXmZnJdRYAuiSRSAoKCsiOHaRGjUpGb92akZHB\nelIA2nr37l25oyM5dEil1nFxGb/9pueMAAwLCjsAXvP3J40bVzL83Dny+DHr2QDogrk56dFD\npZZFRXpOBcDg4KtYAAAAAJ5AYQcAAADAEyjsAAAAAHgChR0AAAAAT6CwAwAAAOAJ4yjsrly5\nEhAQ4Orqamdn5+fnd/DgQa4zAgAAADA4RlDY3blzJyAgIC8vb926dbt37/bw8Bg5cuSBAwe4\nzgsAAADAsBjBc+wOHjxYWlp69uxZNzc3QkhwcHDt2rX37t07cuRIrlMDAAAAMCBGcMautLRU\nKBTa29tTb0Uikb29fXl5ObdZAQAAABgaIyjsJkyYYGpqOm3atNevX2dlZS1fvvzRo0czZszg\nOi8AAAAAw2IEX8U2b948Kipq8ODBO3bsIIRYWVkdPHiwd+/eXOcFAAAAYFiMoLBLSUkZOnRo\n48aNN23aZG5ufvjw4VGjRolEogEDBnCdGgAAAIABMYLCbt68eQKBIDw83NzcnBASFBT05s2b\n0NBQFHYAAAAATEZwjV1SUlLTpk2pqo7i6+ublpaWl5fHYVYAAAAAhsYICjt3d/e7d+8WFxfT\nQ+Li4mxtbW1tbTnMCgAAAMDQGEFhN3369Ldv3wYGBh44cOD48eMjRoyIiYkJCwsTCoVcpwYA\nAABgQIzgGrtRo0bZ2dn99ttvYWFhpaWldevW3b59+8SJE7nOCwAAAMCwGEFhRwjp169fv379\nuM4CAAAAwKAZwVexAAAAAKAKFHYAAAAAPIHCDgAAAIAnUNgBAAAA8AQKOwAAAACeMI67YgFA\nQ6tXExeXSoZfvkzc3VnPBkAXPnwg8+er1PLpUz2nAmBwUNgRQsjAgQP9/f25zgJAlxwdHYcP\nH16Wl2fy4UMlo2vWDAoKYj0pAG01b948uFs38+fPVWptYuIzebKeMwIwLCjsCCFk2rRpFhYW\nXGcBoEumpqZr1qxxcnJi/s4ygLGrX7/+1q1b3XG+GaAKuMYOAAAAgCdQ2AEAAADwBAo7AAAA\nAJ5AYQcAAADAEyjsAAAAAHgChR0AAAAAT6CwAwAAAOAJFHYAAAAAPIHCDgAAAIAnUNgBAAAA\n8AQKO0IIefjwYXZ2NtdZAOjYjRs35HI511kA6FJRUVFCQgLXWQAYLhR2hBAyY8aM3bt3c50F\ngC5lZ2cPHDjw0aNHXCcCoEsRERHDhw/nOgsAw4XCjhBCysvLZTIZ11kA6BLVpdGxgWdkMhl6\nNYASKOwAAP6fvfsOi+Jc/z/+bKE3qYqKPRawJqJiL4AGxYjYjsYWYzmamMQYW3ISkqMpJjEm\n9no0sWCM0RiV2NBELLHEHksiYgNFBRQBKbv7+2PP4cvPggvszuwO79fl5cXOzs59A88+fHZ2\ndgYAFIJgBwAAoBAEOwAAAIUg2AEAACgEwQ4AAEAhCHYAAAAKYQPBrlevXqrHtGjRQu6+AAAA\nrItW7gaebfLkyS+//HLhzUuXLk2ZMiUiIkLGlgAAAKyQDQS7kJCQojffe+89lUo1dOhQufoB\nAACwTjbwVmxRBoPhu+++a9euXc2aNeXuBQAAwLrYWLCLj4+/evXqsGHD5G4EAADA6thYsFux\nYoWzs3Pfvn3lbgQAAMDq2FKwy8zM/PHHH6Ojo11dXeXuBQAAwOrYUrBbv359dnY278MCAAA8\nkS0FuxUrVlSrVq1Tp05yNwIAAGCNbCbYJSYmJiQkDBkyRKVSyd0LAACANbKZYLdy5UqDwcDp\n6wAAAJ7GNoKd8fR1bdu2rVOnjty9AAAAWCkbuPKEEEKlUiUmJsrdBQAAgFWzjT12AAAAeCaC\nHQAAgEIQ7AAAABSCYAcAAKAQBDsAAACFINgJIYRKpdJoNHJ3AZiTWq0u/B9QDLVazagGimEb\npzuxtJkzZ9auXVvuLgBz8vHxWbNmTb169eRuBDCnrl27rly5Uu4uAOtFsBNCiOeff97R0VHu\nLgAz69ixI7uioTCurq7t2rWTuwvAerFDGwAAQCEIdgAAAApBsAMAAFAIgh0AAIBCEOwAAAAU\ngmAHAACgEAQ7AAAAhSDYAQAAKATBDgAAQCEIdgAAAApBsBNCiCVLlhw+fFjuLgBzKigoeP/9\n9zMzM+VuBDCnS5cuffzxx3J3AVgvgp0QQsTGxu7du1fuLgBzSktLW7p06ZUrV+RuBDCnP/74\nY/HixXJ3AVgvgh0AAIBCEOwAAAAUgmAHAACgEAQ7AAAAhSDYAQAAKATBDgAAQCFsJtht27at\nffv2rq6uHh4eISEhv/76q9wdAQAAWBet3A2YZNGiRWPGjAkLC5s+fbqzs/OpU6du3rwpd1MA\nAADWxQaCXVJS0ptvvvnGG2/Mnj1b7l4AAACslw28Fbt8+XK9Xh8TEyOE0Ov1crcDAABgpWwg\n2CUkJDRu3Hj16tUBAQEajaZGjRqzZs0yGAxy9wUAAGBdbOCt2OTk5OTk5JiYmBkzZtSoUSM2\nNvbtt9/Ozc2dOnWq3K0BAABYERsIdnq9PjMz89tvv+3Vq5cQIjw8PCkpaebMmZMmTdJoNHJ3\nBwAAYC1s4K1Yb29vIURoaGjhkrCwsIyMjCtXrsjXFAAAgNWxgWAXFBQkhCh6UJ3xa7XaBpoH\nAACQjA1ko6ioKCFEXFxc4ZJt27b5+flVq1ZNvqYAAACsjg0cYxcREdGpU6fRo0ffuHGjevXq\nsbGx+/fvX7BgAXvsAAAAirKBYKdSqTZt2jRt2rTPPvssPT29bt26K1euHDJkiNx9AQAAWBcb\nCHZCCHd397lz586dO1fuRgAAAKwX72YCAAAoBMEOAABAIQh2AAAACkGwAwAAUAiCHQAAgEIQ\n7AAAABSCYCeEEBUqVPD09JS7C8CcnJycXFxc3N3d5W4EMCdPT0+ma6AYtnEeO0v7/vvvXVxc\n5O4CMCc3N7cLFy74+PjI3QhgTqGhoUePHpW7C8B6scdOCCE0Go3cLQDmx2X3oEjM2EAxmPcB\nAAAUovRvxV67di0+Pt7Z2blHjx5OTk5m7AkAAAClYOoeu5kzZ9arVy89Pd14c9++fYGBgcOG\nDevXr1/Lli3v379vsQ4BAABgElOD3Y8//li5cuXCzyK98847eXl5U6dOffXVV0+fPj1//nyL\ndQgAAACTmBrsEhMTGzZsaPw6JSXl999/Hzly5Mcff7xkyZJOnTrFxsZarEMAAACYxNRgl5GR\n4eXlZfx6//79QoiePXsabwYHB1+9etUSzQEAAMB0pgY7Ly+vW7duGb/eu3evWq1u1aqV8aZO\np8vNzbVIdwAAADCZymAwmLJeaGjo2bNnjx07ptVqg4KC6tWrl5CQYLwrOjr6xIkTly5dsmSf\nJda4ceOUlBRfX19TVi4oKFCpVFKeG8lgMOh0Oo1Go1KpJCuq1+sNBoPEp4DS6XQqlUriE6oV\nFBRI/LM1/kK1Wouf8fvcuXM+Pj6mDOxyNcaE5Oc2U/AYK0qan+3t27fv3LnToEEDE1syGAyK\n/Dk8gjFmOQUFBWq12tJ/mG7fvu3v73/q1CmLVnmcqb+/N954o2fPntWqVdNoNHl5eXPmzDEu\nNxgMhw4datmypcU6LCWVRuUd4N0g2KSZArAV58+fb9CqgW9lk16xADZBe0p79+7dBu2YrqEo\n+iN6lUG6XF7I1GAXGRn5n//8Z8mSJUKIgQMHDhgwwLj8t99+y83NDQ8Pt1SDpVXRr2JA84Cx\nM8bK3QhgThuXbBz41sDgzsFyNwKYzaovV505fGbaomlyNwKY0/x35187ek36uiXY4zps2LBh\nw4Y9srBDhw537twxZ0cAAAAoFS4pBgAAoBAEOwAAAIUo7q3YXr16mb6hTZs2lbmZci0zI7OT\nZ6dnrvZN3Detu7W2RAPX/r4W9VxUeP/wj2M/tsT2y6J0vWU/yE7YmrB3096LJy6mXEnR2mnr\nNKoTOSyy5ys9Jf6UbnnGwC4GA9t2MbCLwcCWV3HB7qeffpKsD9jZ2/UY2qPokt0/7M7Jygnr\nF+bg5FC40K+Kn+St2apNSzfNemuWnb1d/efr12lUJ+1W2skDJ0/uP/nbz799sfELZgppMLDN\njoFtDRjYZsfANpfigt21azJ8mqPccnR2jFkRU3TJsb3HcrJyJn490buSt0xN2bZKAZWmzJ/S\nbWA3Vw9X45LEPxPHdBrz2+bfdq7b2fUfXeVtr5xgYJsdA9saMLDNjoFtLsVF4KolIVnH5dbF\nExebq5rHDIu5fun6tAHTwvzCgtXBpw+dNt576uCpSdGTwiuFt7Jv1a1yt3+9/K+k80lFH75x\nyca3e73ds2bP1k6tO1boOKrDqF3rdxXeu+LTFVHPRQkhdqzb0VzV3Phv26ptRete+/vaO73f\n6ezVub17+/ER469evCqEuJNyJ2ZYTHjF8NZOrUe0HXHu2LlH2i6+scKN37p2692B73bx6dLa\nqfWQ4CH7t+03pbfidY7u3OeffQrnCCFErcBaA98aKIQ49usxk37osDwGNgNbkRjYDGy5lPgE\n01euXElOTg4MDPTw8LBEQyjerWu3hrYcWsGnQki3kIdZDx0cHYQQG5ds/GTMJx7eHu16tPP0\n80y+nLxr/a69m/Yu2L2gYcuGxgd+PPrjoBZBzTs196rolZaalrAlYUq/KeM/Gz9k0hAhRPvI\n9lo77eyJsxu1atR3XF/jQ5q2aVpY9+bVm8NDhgfUCeg2sFvS+aQDcQdGnRi15LclozuNruBT\noXN055tXbyZsTRgXNu6nxJ/cKrgZH2VKY8ZvanDwYL8qfmH9wtJS0/Zu2vtW5FuL9i5q1q6Z\nKb2ViHHWsHewL93DYSEM7Md7KxEGtnViYD/eW4kwsEuhBMHu0KFDo0ePNl4cY+fOnaGhoUKI\n2NjY6dOnz5s3r0OHDpbqEUUciT/S77V+E2dPVGv+u7f18rnLn437rGVYyy82flF4bMdfp/4a\n0WbEjFEz1p5ca1yy5cqWigEVC7fzMPvhqA6jFsUs6jWyl7une62gWnYOdrMnzvav7h/xcsTj\ndY/uOTr6w9Ej3x9pvDl95PRNSzcNbTG0+5DuE76aYLzozYJ/LVg2fdmPi34cOnmo6Y0Zv6kR\n740Y89EY43a2rdr2/uD3v/v8O+M08czeTGcwGLZ+u1UI0T6yfVm2A7NjYJflp8fAtloM7LL8\n9BjYpWPq0Yjnzp0LDQ1NTEx86aWXii7v0aNHUlLS+vXrLdAbnqCCT4Xxn40vnCOEEOvnry/I\nLxg+bXhOVk7GnQzjP9/KvsFdgv869VfKlRTjasY5wmAwPLj3IO1WWtb9rI5RHXNzck/sO2FK\nXf/q/iPeHVF4M3JYpPGL1z55rfBShsaFF05cKFFjQohK1SqN+mBU4XZeHPSiq4frmcNnSvUT\nKs6SD5ecPnS6c+/OLUJbmH3jKAsGdlkwsK0WA7ssGNilY+oeu+nTp+fn5x89etTf37/op2Vd\nXV07deqUkJBgmfbwqLpN6zo6OxZdcvrgaSHEqA6jnrj+nZQ7/tX9hRAXjl9YFLPo6J6j2ZnZ\nRVdIvZFqSt16zeoVnZt8q/gKIWoF1Xr881+p11NL1Jhx4xrt/10BWqVS+VX1u/aXmT+78/3c\n7xd/uLj+8/U/+M8H5t0yyo6BXWoMbGvGwC41BnapmRrsdu/eHRUV1ahRo8cvIFa/fv2DBw+a\nuzE82eNXf793954QYtbmWY5Ojo+vX7NBTSHE+T/Oj2g7wsHRoc8/+9RtUtfVw1WtUR/edXjV\nl6vycvNMqVv0gFYhhFarfXyh8alekF9gemNGhUd4FN2+TqczpTETrfpy1eyJsxu80GDeznku\n7i5m3DLMgoFdOgxsK8fALh0GdlmYGuzu3r1bo0aNJ96l0WgyMzPN1hGKVbj3u5DxuepTyScw\nOPBpj1o9a3VuTu5Xm78qukP7/LHzFmrS9MaksThm8eIPFzcOafxN3DePTG2wEgzsUmBgWz8G\ndikwsMvI1GPsPD09b9++/cS7jh8/7u/vb76WUDINWzUUQmyP3V7MOslJyYVrFjoSf6ToTY1G\nI4Qw46suUxozUVl6mzVh1uIPF7/Q8YW5O+YyR9gQBnbxGNg2ioFdPAZ22Zka7Nq0abN169bc\n3NxHlsfHx+/cubNjx45m7gsm6/9af41Ws27Oukee9tkPsnes22H8ukqtKkKI33f+XnjvL2t+\neWR9D28PIcTNqzelbMxEpetNr9fPGDVjzVdrQrqGfLPtG2dX5xI9HPJiYD8NA9umMbCfhoFt\nLqa+FTtx4sT27dtHRUVNmTJFCJGTk3PkyJHY2Ng5c+ZotdoJEyZYskkUp3bD2u8uenfG6Blj\nQ8e2Cm9Vr1k9vU6fdD7pSPwR/xr+4f3DhRD9X+v/y5pf3v3Hu2H9w/yr+188cTFhW0Jo39Ci\nZ7x0cXdp2LLhmd/PTPvHtBr1a2g0mo69OtZuWNuijZmodL2t+nLVxiUb1Wq1u5f7J//8pOhd\ndRrVefntl0vzXUEqDOynYWDbNAb20zCwzcXUYNemTZt58+a9/vrrcXFxQoiePXsal9vZ2S1d\nurRx48aWahAm6PlKz/rP1181a9WxvceO7jnq5OLkU9knYnBE4VMxqEXQgl0LFr6/cO+mvUKI\nwOaB83bMu518u+g0IYT496p/z3pr1qHth3au22kwGPxr+JdlmjClMdOVojfjscB6vX772kff\nXAjpGsI0Yf0Y2E/EwLZ1DOwnYmCbi8pgMJi+9tmzZxcuXHjw4MG7d+96eHi0atXq9ddfDwoK\nslx/pRbeNTygecDYGWPlbgQwp2B18Pxd84M7B8vdCGA2q75c9fWkr4/ojjx7VcB2zH93/rWj\n13ZsL9kb2WVXskuKBQUFzZkzx0KtAAAAoCxMDXZpaWleXl4WbQUwna5Al3Eno5gVKvhUKHoK\nTcAmMLChSAxsKZka7Pz9/SMjI4cOHfriiy8aT3UIyOjCiQtDgocUs8K3R74NbC7z2ZiAkmJg\nQ5EY2FIy9Ri7Bg0anD9/Xgjh5+c3aNCgoUOHNmnSxMK9lUmTZk1yVblBwdZ4/B/KriC/IC01\nrZgVvPy8tHYKfAWyccnGtt3bPn46eyhD+RzY5/84f+7YuaiRUXI3AkspnwP77JGzDgaHk8dP\nSly3BB+eOHz48MqVK2NjY9PS0oQQTZo0GTp06KBBg/z8/CzZYSk1btw45cY1X29PuRsBzOnc\nX5erVank4uwkdyOA2dy+m3EnLb3BczWfvSpgO27fTfevEnDq1CmJ65bsU7FCiLy8vJ9//nnl\nypVxcXEFBQVarfbFF18cOnRodHS0hVosna7h4c0bBMyYzKdioSjqqsG71s3v3IZPxUI5vly0\natL0r3XX+FQsFOXdz+YfPXdt+w6pPxVr6pUnCtnb20dHR2/evDk5Ofmrr75q1KjRzz//3KdP\nH0s0BwAAANOVONgV8vLyatCgQYMGDezs7MzYEAAAAEqnNMHuzz//nDx5crVq1bp167ZmzZoa\nNWr8+9//NntnuJ6SqqrSvNcrb8vdiJmV7vtS6k+j3DL9F+rTsEuNlpElXc1WBgxPBxt14uxF\nVZXmw96MKX61Uv+mTNy+9Bix1q8Ewe7u3btz584NDg4OCgqaOXPmgwcPXn311YSEhIsXL773\n3nuWaxEymvHNclWV5qoqzS9culLSx/6ddE1VpfmAf06zRGMSbB/lQ/GxAAAgAElEQVR4BE8H\n2BZGbPlk6qeLo6Kitm7dmp+fr1arw8LChg0bFhUV5eTER/OUzGAwLFu7SaVSGQyGJas3fvH+\nm2bZrJ+P576NS709PSR4FKyWzf1CeTqgFGT8TTFiyy1T99ht2rSpVq1aH3/88ZUrV3bs2DFw\n4EBSneLt+PXQ5avJQ/v2qOjrtXL9lrz8fLNs1t7Orm2LpiU9tUHpHgWrZXO/UJ4OKAUZf1OM\n2HLL1GB38ODB8+fPT506tWrVqhZtCM8U+9OOdlGvutdr71SrdaMu/T+duyI3L89414OsbPvq\nrdq89ErhyjkPcx1rtlZVaf7dD9sKF85fuV5Vpfny2M3FF1qyZqMQYuSgqEFRL95Jy9gYt+fx\ndQ79cbrf6CmVm3VzqBHi36xr+D/Gff/zTiHEp3NXPNcmSgixbvMO43sBqirNV23YJh472OLg\nsVOqKs17v/rO4xtv0KGPQ42QtIz7jz/qads/duqcqkrznsMmPLIpg8FQt21v59pt0u/dL/67\nRokUHgn0d9K13q++4xXY2b1e+4jB4y8mXhVCpKTeGfZmTMUm4U61WrftNeLYqXOFD3ziMTd6\nvX72kjUNOvRxrNk6oHnEWzGzHmRlP17UxNWe6OCxU9EjJ1VqGm5fvVXlZt1efv1f5/9OMuWB\nPB3wRNeSbw0c965Pwy5OtVoHRwzZFr+/6L1PHOc6nf7LRavqt482DuA3P/jyQVb2044lLX77\nxWDEllumvhXbqlUr4xdXrlxJTk4ODAz08GCfqgwmTf/m8wXf+vl4vdw7wsXZaevuhKmfzP1l\n74GdsfPttFpXF+cWzYJ+P34m80G2m6uzEGL/kZPG2Lc74fDgPhHGjcTvPyKE6NK2uHOh3bqd\ntnn7b3VrVWvdvLG7q8usxasXr9rYv2d40XUWfrdh3LTP7LTanuHt69QMSL2TdvTkufkr1/eL\nDIsMa29np5340exWzzcaN6yvcf02wU0fLxTyQuN6tatv2bnvbvq9ojvqD584e/7vpOjunb0q\nuD/+qKdtv2a1ysFNA7fFJ1xLvhVQuWLh+nsOHP3r8tWhfXt4ejxhayijqzduhkQOr1MjYGBU\nt/N/J8XFHzhxZtRvG5d06jPax6tCdETnqzdubt2dEDZgXOKhnyq4uz1tO/+c+uniVT9Wr+r/\n2vB+KpXqx7j4oyf/1On0pVvtcUtWbxwz5RNvT48eoe38fDwvX01e//OuTb/s3f39gpbNGhbz\nQJ4OeKJrybeCIwZXqeTXLzIs9W7apl/2Rg59a+8Pi9q1bFbMo0ZNmr48dnONgMqvDe+nVqt/\n3BZ/7NS5Jw7g0m1fMGLLtxJcwePQoUOjR482nkN5586doaGhQojY2Njp06fPmzevQ4cOluoR\n/7Pv9+OfL/i2ZrXKv29ZabyoxidTX+s5/K24+AOfz/922vhXhBCd2wTvP3Lyt9//6N6lrRBi\nd8JhjUbdvuXzuxMOGzei1+v3HjhWq3qV6lX9i6n1n3Wb8wsKhvWLFEI0rF/7+Ub19xw4+nfS\ntTo1AowrnDr312vvflbB3TVh07KiO9ivp6QKIYLq1XJwsJv40ezqVf1fjo4o/vsa2rfHtE/n\nrd20/bXh/QoXrvx+i/GuJz6kmO2PHdp3+FsfLlv7U8zbowoXLvruRyHE6MG9i+8EpbPnwNEP\nJ45+/62Rxpsj35m+dM2mFhFDh/Tt/lXMBJVKJYT418wF079etui7HyePG/rEjew9eGzxqh+b\nBNbd/9My46U1Ppw4um2vERn3Mz3cXUu62uPO/XV53LTPwtq33LjsCydHB+PCU+f+avPSiFHv\nzDi5a20xj+XpgCeK33/kvTdGfPTOGOMgX7Vh2+Dx73++4LtigtfuhMPLYzc/MoDb9x75xAFc\niu0bMWLLM1Pfij137lxoaGhiYuJLL71UdHmPHj2SkpLWr19vgd7wKOObp++/NbLwUmlarebL\n999SqVRL124yLunStoUQYve+/8a43QmHX2jUILp75+spqcZ3x06cvXg3/Z5xtacxGAxL12xS\nq9VD+nY3LhnWL9K4sHCdBSt/0On0MW+PfuSwiar+Jb7E3OA+3dVq9cr1WwqX5OXnx/603c/H\n68VObUq6tf49w70quC9ds6nwFXDqnbRNv+xtVL9OyAuNS7o1mKJ6Vf93x48ovGn8cyKE+GTq\na8Y/SEKIYf0jhRAnzl542kZWrPtZCBHz9qjCC6Y5OzlOf+ziMSau9rj5K9fnFxRMe314VnbO\nnbQM47/KFX27tA0+de6vK9dTnvZAng54mmpVKn0wYVThIB/U+0UPN9fDJ84U85Bv128VQnw4\ncXThAHZydJg+6Z/m2r5gxJZ7pga76dOn5+fnHzhwYOnSpUWXu7q6durUKSEhwQK94VF/nD4v\nhOjUunnRhQ2eq+nv53P5anLG/UwhREjzRk6ODrsTjggh7mU++OP0+S7tWhivQGXcaWd8H7b4\na1LF7z9y6cr1sPYtq1T675N8YFQ3ezu7Fd//nF9QYFxy6I/TQogXO7cu+/dV1d+vS9vgoyf/\n/PNionHJzzv2pWXcHxTVTavVlHRrTo4Ow/pF3riZunX3f4flf9b9nJefP2aIdV31TkmaNayn\n0fzfZFKlkq8QIqhercIdY0II41gy7g94ouNnLggh2rd6vujC9o/tmTBxtccdPHZaCNEhepRv\no9Ci/37a/qsQIiX1ztMeyNMBT9OsYb2ivxSVSlW1sl96RmYxDzEO4Ed2ubVt8YR3OUu3fcGI\nLfdMDXa7d++Oiopq1KjR43fVr1//+vXrZu0KT3Yv84EQopKf9yPL/Sv6CCHu3X8g/vfho9Pn\n/069k7b3wDGdTt+lbXCD52pWruhrDHa7E46oVKrObZo/tvn/s3jVRlFkv4sQwtvTIzK83a3b\naca/gkKIjPsPxP/+WpedsVbhaz7jF0P7PXk3/jP9c2gflUq16LsNQgjjR/1dnJ1e7v2MNxRQ\nah5u/99bSFqt9gkLNRohRH5+wdM2ci/zgVareeSIHFcX58IdGyVa7XF30+8JITavmLUzdv7j\n/4r5vB5PBzzN4weMajVanV5XzEPuP8h6fAC7ODs9cQCXYvuCEVvumRrs7t69W6NGjSfepdFo\nMjOf8QICZmH8S3kz9e4jy1Nu3RFCFB6f0blNsMFgiN9/dHfCYQd7e+MRr53aNN+z/2huXt6+\n348H1avl5+P1tCq376Zv+mWvEOIfY6cVfl5JVaX5hq3xQojFq340rlbB3VUIcePmU3fAlEjU\ni53c3VxWbYjT6fS376bH7dnfJLBuk8C6pdtanRoBoe1a/LL34JXrKbv2Hb505fqAl8Ld3VzM\n0iosxMPNtaBAZ/wMXaEHWdlZ2TmlWO2J2xdCVPL1CW3X4vF/j8TQQjwdYF7uri6PD+Cs7Jxn\nDmATMWJh6ocnPD09b9++/cS7jh8/7u9f3GH4MJdmDeudOvfX3oPHih6ReuHSlZTUOzWrVS58\nbfffw+wSDh88dqpNcBNHB3shRJe2wat/jFuw8oes7JziD7AznvHohcYNmgY9+rTcvOO3XfsO\nX76aXLNa5VbPNzpx9mJc/IHXX+n/xO1o1BohhE73jBeXRk6ODv0iw5au2bRr3+/n/rpcUKB7\n5qu94rc/dmjfnb/9vnTNpnN/XxZCjH6Z3fjWzji8fzv0R69uHQsX/vb78dKt9rhWzzc8+efF\n2J+2BzcNNL0rng4wr6YN654+/3fC4RM9w9sXLkw4fMJc22fEwtQ9dm3atNm6dWtubu4jy+Pj\n43fu3NmxY0cz94UneWVATyHEv79aanxTSQhRUKB7+8OvDAbDiH/0Klzthcb1K7i7/bT917MX\nEgvPaWIMc5/MXSGedYCd8QDb+Z9MWfrFvx75N/rl3gaDwfhBjbHD+mo06pgvFz1yGrDCg6iM\nH32/euOmid+dcWf+tz9s/faHrVqtZlBUt+LXL377kWHtq/r7LV69cfP2355vVL9Ef8shC+Nf\ngpgvFxfuusjOefivmQtKt9rjXhveX6vVzFm+zniYaaEHWdnrNu942qN4OsC8hvQxDuBF2TkP\njUse5ua9//lCc22fEQtT99hNnDixffv2UVFRU6ZMEULk5OQcOXIkNjZ2zpw5Wq12woRHTycI\nS2jf6vkJowbNWrw6qFPfPt1DnZ0ct+5O+PNiYruWzd755+DC1dRqdYeQ543HUnRp99+dc9Wq\nVKpdveqlK9c1GnWHkOefXECIvQePXbh0pVH9Oi2aBj1+74h/vDTjm+X/id384dujG9WvM2f6\npNfendk0bGDP8PbP1ap2Ny3j6Klzbi7Oe35YJIRwd3Np2azh78fP/GPstPp1amg0ml5dOzas\nX/tppdsEN6lTI2D9z7vyCwoiw9oX82axUfHb12jUo17ubZwuR7/Mh+RtQKfWzUcOilqyemPD\nzv2jIzobT1BXuaLvI4cZmbja4xrWr73os3dHT54R2n9seIdWzRrW0+n05/9Oit9/pEaA/yOn\n+DLi6QCzC23XYmjfHivXb2nYuV90RBeVSrUxbk8lP+8K7m5qtaqMG2fEQpRoj928efN27txp\nPF9dz549W7RoMWvWLCHE0qVLGzfmQ8gS+fKDt1bN+Xft6lVXrt/yzbJYlUpMnzx2x9p59nZ2\nRVcz7p9zd3Np3vj/XugYQ94LjRo87XAiIcSS1RuFEK8O7PXEe2sEVA5t1yIl9c7PO38TQvxz\nSJ/fflzyYufWew8e+3z+t5t3/ObjVWFckVMZrZr77x6h7bbvPfThrCX/mrmgmFNdGA3t18P4\noa2nnf3oEcVv37iD083VeeCzXjvCSiz8dOqsmAn2dto5y9et3bS9Z3iHuFXfFP28bYlWe9wr\nA3oe2fbdy9Ev/nkxcdai1UvXbEq8en1wdMTcGZOfuD5PB1jCsi/fn/neeK1G+82y2DUbf4no\n0mbzilkPsrPdXYs7EaMpGLEQQqgMBoPpa589e3bhwoUHDx68e/euh4dHq1atXn/99aCgJ7wy\nkF3X8PDmDQJmmHB2KyhVXPyBiMHjxwyOXvDpVLl7MRt11eBd6+YX/2Y68Dhrfjp8uWjVpOlf\n664defaqCnXyz4tNwwYOeCl87fyP5e7FWljziDXRu5/NP3ru2vYdTz3Sw0JKcOUJIURQUNCc\nOXMeWZifn6/T6RwdHc3XFWAGM+evFEKMG9bvmWsCisfTwXrcScvw8apQeDM75+E7//5aCBH1\nYif5mrI6jNhSK1mwe6KRI0euXLmyRHv+AMv54/T5X/YcOPTHmb0Hj/XvGV7MQSGA4vF0sEIx\nXy7ee/Box5Dmlfy8k2/e3ha//8r1lBc7t+7bI1Tu1uTHiC07MwQ7wKocOHrq3c/mV3B3+0ev\nrvM/mSJ3O4CceDpYoW6dQi4mXvlh6670jEytVlOvdvXXhvd749V/FF46rDxjxJZdyY6xe6Jh\nw4ZZ4R67Zk2bqHS5wU/6ZBBgu5as3ti9S9vKlXzlbgQwmz9OnT92+tzIQVFyNwKY05ETZw0a\nh+MnTkpcV7F77HR6Q8rNuw+PnTNl5YKCApVKpdGU+Kp2pWYwGHQ6nUajkfIlml6vNxgMUn6b\nQgidTqdSqdRqUz9/bRYFBQUS/2yNv1DjpbQsXej3k+d9bjz1wqaPtFROxpgQQuKiCh5jRUnz\ns719+7bBYNhn2nSt0+kMBoMifw6PYIxZTkFBgVqttvQfptu378py+QbFBjt/f//IyMgZM2aY\nsnJKSoqjo6Onp6eluyqk0+lSU1P9/PykHM1ZWVk5OTk+Pj6SVRRCpKWl2dnZubk94xxjZmQw\nGG7evOnj42P3/58CxqIePnx47969ihUrWrqQSqWaPHny22+//cw1CwoKbt++7eXl5eDgYOmu\nCmVnZ2dlZfn6SrpDMT09XaPRuLu7P3tV80lJSfH29ra3t5esYm5ubnp6eqVKlSSrKIS4d++e\nwWCoUKHCs1ctgy+//HLixIl//vmniS3l5ORI/HPIyMhQqVQeHh5SFr1586anp6eUz9/c3Ny0\ntDSJs8j9+/d1Op2Uf3+FEKmpqa6urs7Ozhat8u677x49etSiJZ5I0v0oAAAAsByCHQAAgEI8\n461YU/bAZ2dnm6kZAAAAlN4zgt29e/ek6QMAAABl9Ixgl5OTI00fAAAAKKNnBDsuFAYAAGAr\n+PAEAACAQhDshPjfCRIBhdHr9XK3AJgfMzZQDIKdEEL069dv2bJlcncBmFNmZma9evWuXr0q\ndyOAOe3ateuFF16QuwvAehHshBAiIyMjPT1d7i4Ac8rJycnKyrp//77cjQDmlJ6eznQNFINg\nBwAAoBAEOwAAAIUg2AEAACgEwQ4AAEAhCHYAAAAKQbADAABQCKsIdsnJyePHjw8JCXFyclKp\nVElJSUXv3bNnz/Dhw5977jlnZ+fatWuPGzcuNTVVpk4BAACsl1UEu8TExHXr1nl7e4eEhDx+\n74cffnjy5MkhQ4YsWLCgT58+K1asaNWqVWZmpvR9AgAAWDOt3A0IIUTr1q1v3bolhJg9e/ae\nPXseuXfx4sV169YtvNmkSZNBgwatX7/+lVdekbRLAAAA62YVe+zU6uLaKJrqhBAdO3YUQty4\nccOiLQEAANgcqwh2JbJ//34hRKNGjeRuBAAAwLrYWLBLS0t75513mjVrFhkZKXcvAAAA1sUq\njrEzUU5OTu/evbOysnbt2qXRaORuBwAAwLrYTLDLzc2Nioo6ceLEnj176tSpI3c7AAAAVsc2\ngl1+fn6fPn3279+/Y8eOZs2ayd0OAACANbKBYFdQUNC/f//du3fHxcU98UR3AAAAEFYS7AwG\nw4YNG4QQJ0+eFELExcX5+vr6+/u3adNGCDFmzJiNGzeOGjXq9u3bP/zwg/EhderUadq0qYw9\nAwAAWBurCHY6na5v376FN8eOHSuE6N69+5YtW4QQhw4dEkIsXrx48eLFheuMGzdu7ty5kncK\nAABgvawi2Gm1WoPB8LR7z5w5I2UzAAAANsrGzmMHAACApyHYAQAAKATBDgAAQCEIdgAAAApB\nsAMAAFAIgh0AAIBCWMXpTmQ3YMCAVq1ayd0FYE5eXl6vvvpq9erV5W4EMKfnn39+9OjRcncB\nWC+CnRBCjBw50tHRUe4uAHPSarUfffSRm5ub3I0A5lS7du1p06bJ3QVgvXgrFgAAQCEIdgAA\nAApBsAMAAFAIgh0AAIBCEOwAAAAUgmAHAACgEAQ7AAAAhSDYAQAAKATBDgAAQCEIdgAAAApB\nsBNCiGPHjq1cuXLx4sU7d+6UuxfAbPbu3avT6eTuAjCnBw8e7Nu3T+4uAOvFtWKFEGLy5Ml/\npqYKrbbCw4fp6elytwOYwZ07dwYOHPjHH380a9ZM7l4As9m+ffu4ceP69u0rdyOAlWKPnRBC\nGAwG8f77YtEivV4vdy+AeRgHM0MaCqPX6xnVQDEIdgAAAApBsAMAAFAIgh0AAIBCEOwAAAAU\ngmAHAACgEFYR7JKTk8ePHx8SEuLk5KRSqZKSkky/FwAAAEZWEewSExPXrVvn7e0dEhJS0nsB\nAABgZBXBrnXr1rdu3dqyZUvPnj1Lei8AAACMrCLYqdXFtVH8vQAAADAiMwEAACgEwQ4AAEAh\nCHYAAAAKQbADAABQCIIdAACAQhDsAAAAFEIrdwNCCGEwGDZs2CCEOHnypBAiLi7O19fX39+/\nTZs2z7wXAAAARlYR7HQ6Xd++fQtvjh07VgjRvXv3LVu2PPNeAAAAGFlFsNNqtQaDoXT3AgAA\nwIhj7AAAABSCYAcAAKAQBDsAAACFINgBAAAoBMEOAABAIQh2AAAACmEVpzuRnVqtFlOmCLVa\nY2cndy+AeWg0msL/AcXQaDSMaqAYBDshhJg9e/b169ddXFyqVKkidy+AeXh7e2/cuLF+/fpy\nNwKY04svvvj999/L3QVgvQh2QggRFBT0wgsveHp6yt0IYE4tW7ZUqVRydwGYk5OTU/PmzeXu\nArBeHGMHAACgEAQ7AAAAhSDYAQAAKATBDgAAQCEIdgAAAApBsAMAAFAIgh0AAIBCEOwAAAAU\ngmAHAACgEAQ7AAAAheCSYkIIMXfu3LNnz9rb20tW0WAw5ObmOjg4SHnFp4KCAp1O5+DgUMw6\njo6OixYtcnJykqwrWEh+fv5bb71VUFCgVkv3+k2n0xUUFBjHmJ+f39y5cyUrjXLi4sWL06dP\nL34eeyaVSjV9+vTnnnvOXF0B1oNgJ4QQGzduPFeliuBy6ffuiYULP/rooxo1asjdCsoqPT19\n3bp1YsQI4eMjQ/krVzQLFxLsYHYnT57cHB8vxo0r01bmzOnTpw/BDopEsPufnj3F66/L3YTc\nkpLEwoVyNwGzmjBBBAbKUHf3brF+vQx1UR64u4tPPy3TFpYvN1MrgNXhGDsAAACFINgBAAAo\nBMEOAABAIQh2AAAACkGwAwAAUAirCHbJycnjx48PCQlxcnJSqVRJSUmPrJCamjp48GAvLy9X\nV9du3bqdO3dOjjYBAACsmlUEu8TExHXr1nl7e4eEhDx+b35+fnh4+O7du7/44ovly5enpKR0\n7Njx1q1b0vcJAABgzaziPHatW7c2BrXZs2fv2bPnkXvXrFlz8uTJ+Pj4Tp06GVeuXbv2559/\n/sUXX8jQKwAAgLWyij12xV/yaPPmzVWqVDGmOiFE1apVO3fuvGnTJklaAwAAsBlWEeyKd/bs\n2aCgoKJLGjVqlJiYmJOTI1dLAAAAVsgGgl1aWpqnp2fRJZ6engaDISMjQ66WAAAArJANBDuD\nwaBSqeTuAgAAwNrZQLDz8vJKT08vuiQ9PV2lUlWoUEGulgAAAKyQDQS7oKCgs2fPFl1y5syZ\nWrVqOTk5ydUSAACAFbKBYNezZ8/r16//+uuvxps3btyIj49/6aWX5O0KAADA2ljFeewMBsOG\nDRuEECdPnhRCxMXF+fr6+vv7t2nTRggxaNCgWbNmDRw4cPr06a6urjNmzHB3d584caLMTQMA\nAFgZqwh2Op2ub9++hTfHjh0rhOjevfuWLVuEEHZ2djt37pwwYcKECRPy8vLatm27Zs0af39/\n2doFAACwSlYR7LRarcFgKGaFihUrrl69WrJ+AAAAbJENHGMHAAAAUxDsAAAAFIJgBwAAoBAE\nOwAAAIUg2AEAACiEVXwq1ipcuCB27ZK7CbnduiV3BzC3gwdFcrIMdY8fl6Eoyonc3LJO13l5\nZmoFsDoEOyGE8PX1PTdvnpg3T+5G5Ofi4uLm5iZ3FzADZ2dnNze3zFdflauBSlWqyFUaCubr\n66tOT9eHhZVlIxqNxs/Pz1wtAVaFYCeEELGxsY6Ojp6enpJV1Ol0qampfn5+Go1GsqJZWVk5\nOTk+Pj6SVYSMXF1dL1y44OXl5eDgIFnR7OzsrKwsX19fySqivOnYseONGzcqVaokdyOAleIY\nOwAAAIUg2AEAACgEwQ4AAEAhCHYAAAAKQbADAABQCIIdAACAQhDsAAAAFIJgBwAAoBAEOwAA\nAIUg2AEAACgEwQ4AAEAhuFasEEL069cvISFB7i5QLqjV6t9++61NmzaWLvTgwYM6depkZ2db\nuhAUqWXLlocOHZK7iyeIj4+Pjo42GAxyN4JnmDdv3tixY+Xuojwi2AkhxN27d8U774j+/eVu\nBMqn79jxzp07EhTKzs7Ozs4W69eLmjUlKAdF2bz59qpVcjfxZHfv3jX4+Ii4OLkbQbFGj05N\nTZW7iXKKYPc/AQHihRfkbgLlgEYjabnAQBEYKGlFKMDJk3J3UCw7O6Zra+fmJncH5RfH2AEA\nACgEwQ4AAEAhCHYAAAAKQbADAABQCIIdAACAQthGsNu3b1+HDh2cnZ09PT0HDBhw48YNuTsC\nAACwOjYQ7H7//fcuXbo8fPhw2bJln3/++YEDBzp27PjgwQO5+wIAALAuNnAeu5iYGHd39127\ndrm5uQkhgoODmzVrNm/evMmTJ8vdGgAAgBWxgT12hw4d6tixo9v/znbYpEmTgICADRs2yNsV\nAACAtbGBYJeXl+fg4FB0iaOj45kzZ+TqBwAAwDrZQLCrX7/+kSNH9Hq98eatW7cuX76ck5OT\nk5Mjb2MAAABWxQaC3bhx4/7666/x48enpKRcunRp8ODBxpCnVttA8wAAAJKxgWz0yiuvfPTR\nR8uXL69cuXKdOnXs7Oy6d+/u6en5yPuzAAAA5ZwNBDshxL/+9a+7d++eOnXq+vXrW7ZsuXDh\nQtu2beVuCgAAwLrYwOlOjJycnBo1aiSE+M9//nPhwoWvvvpK7o4AAACsiw0EuxMnTsyZM6d5\n8+ZqtXr//v2rVq0aNWrUiy++KHdfAAAA1sUGgp2Hh8fly5d//PHHnJycevXqzZs3b8yYMXI3\nBQAAYHVsINjVrFkzPj5e7i4AAACsnW18eAIAAADPRLADAABQCIIdAACAQhDsAAAAFIJgBwAA\noBA28KlYiaxbJ86ckbsJlAM5OZKWi4kRnp6SVoQCXLggdwfFysgQo0fL3QSKdeGC6NBB7ibK\nKYKdEEJER0efPn3aPj1dsooGgyE3N9fBwUGlUklWtKCgQKfTSXyN3by8PLVardVKOtIePnxo\nb2+vVku3Q1qn0+Xn5zs6Oj5zTU3v3k2aNJGgJU9PzwEDBuTn56slHNg6na6goED6MaZSqezs\n7KQsKv0Y0+v1eXl5powxM/DzaxwaKkWhkmvatOlLYWFSTtdCiPz8fCEEY6wE2rbt3LmzGbaD\nkiPYCSHE2LFjHR0dPSXcsaHT6VJTU/38/DQajWRFs7KycnJyfHx8JKsohEhLS7Ozs3Nzc5Os\nosFguHnzpo+Pj5Sz8MOHD+/du1exYkXJKj6TnZ3drFmzvLy8pIxZ2dnZWVlZvr6+klUUQqSn\np2s0Gnd3dymLpqSkeHt729vbS1YxNzc3PT29UqVKklW0Ts8999zChQsl/jlkZGSoVCoPDw8p\ni968edPT01PK529ubm5aWpq/v79kFWEJHGMHAACgEAQ7ADvdowkAAB28SURBVAAAhSDYAQAA\nKATBDgAAQCEIdgAAAApBsAMAAFAIgh0AAIBCEOwAAAAUgmAHAACgEAQ7AAAAheCSYkIIcfr0\n6eTkZBcXF8kq6vX6e/fueXh4SHkdwNzc3Ly8vEeu7mVvb9+jRw8pr2wGyezZs0dIe4HL3Nzc\n3Nxcia/ulZWVpVarnZycpCyanp7u5uZWxosgd+zYUeLLrylAVlZWXFyc9GNMpVI5OztLWTQj\nI8PFxUXK529+fv6DBw+kvLqmECInJ0ev10v597dFixYSTxcSI9gJIcRbb731Z1KSkPbK5VbB\nYBAZGcePH2/atKncrcDM7t69O2jQIOHuLkjt1ikz8+OPPpo6darcfdiY7du3vzpqlJD2sq1Q\njqysf44YERMTI3cfFkSwE0IIg8EgPv1UvP663I1ILjNTuLvrdDq5+4D5/ffXevCgCAyUuxc8\nSbt2PPVKQafTiUqVxI0bcjcC2zRwoF6vl7sJy+IYOwAAAIUg2AEAACgEwQ4AAEAhCHYAAAAK\nQbADAABQCIIdAACAQthGsNu3b19YWJivr6+7u3twcPDatWvl7ggAAMDq2ECwO378eFhYWEZG\nxtdff71ixQp/f/+BAweuWbNG7r4AAACsiw2coHjt2rV5eXlbt2718/MTQvTs2bNWrVrffffd\nwIED5W4NAADAitjAHru8vDyNRuPxvwvIaLVaDw8PxZ85GgAAoKRsINgNHz7czs7utddeu3bt\nWmpq6meffXb+/Pk33nhD7r4AAACsiw28FdukSZP4+Pjo6OilS5cKIZydndeuXRsRESF3XwAA\nANbFBoLdhQsX+vbtGxgYOH/+fAcHh3Xr1g0aNEir1fbq1Uvu1gAAAKyIDQS7SZMmqVSqLVu2\nODg4CCG6det2/fr1cePGEewAAACKsoFj7E6ePNmwYUNjqjNq3rx5cnJyRkaGjF0BAABYGxsI\ndpUqVTp16tTDhw8Llxw6dMjNzc3NzU3GrgAAAKyNDQS7119//caNG+Hh4WvWrNmwYcOAAQP2\n7t07fvx4jUYjd2sAAABWxAaOsRs0aJC7u/vMmTPHjx+fl5dXp06dJUuWvPLKK3L3BQAAYF1s\nINgJISIjIyMjI+XuAgAAwKrZwFuxAAAAMAXBDgAAQCEIdgAAAApBsAMAAFAIgh0AAIBC2Man\nYi1NpVKJjz4Ss2fL3Yjk9HohBGcEVKT//lq7dhX29nL3gidJTtZERMjdhO3RaDTi1i1Ru7bc\njcA2paaqBw+WuwnLItgJIcSsWbNSUlJcXFwkq6jX6+/du+fh4aFWS7fTNDc3Ny8v75ErdtjZ\n2TVq1EiyHiAZb2/vVatWqVQqOzs7yYrm5ubm5ua6u7tLVlEIkZWVpVarnZycpCyanp7u5uam\n1ZZpCu3QoYO5+ik/unbtumThQg8PDymLZmVlqVQqZ2dnKYtmZGS4uLhI+fzNz89/8OCBp6en\nZBWFEDk5OXq9Xsq/vy1atJCsliwIdkII0bhx4xYtWkg5mnU6XWpqqp+fn5R7y7KysnJycnx8\nfCSrCHl17tzZy8ur6HWWLS07OzsrK8vX11eyikKI9PR0jUYjcZpMSUnx9va2Z2+o5FxcXHr0\n6FGpUiUpi2ZkZKhUKonT5M2bNz09PaV8/ubm5qalpfn7+0tWUQhx//59nU4ncZpMTU2VspzE\nOMYOAABAIQh2AAAACkGwAwAAUAiCHQAAgEIQ7AAAABSCYAcAAKAQBDsAAACFINgBAAAoBMEO\nAABAIQh2AAAACsElxYQQYv78+adPny68OpBKpZo2bVqTJk3k7Qooi/z8/AkTJuTn5xd/PWIX\nF5cFCxY4OjpK1hhQFn/99df06dMtcTG3rl27jhgxwuybBSRGsBNCiA0bNpzz8hJBQf+9/f33\nHTt2JNjBpqWnp8fGxoq+fUUxF2HMzBQrVsTExFSvXl3C1oDSO3HixE87d4qXXzbzdg8fzszM\nJNhBAQh2/9O/v3j99f9+vW+frK0A5hMTIwIDn3rv5cti7VoJuwHMoUIFsWiRmbc5dao4ccLM\n2wTkwDF2AAAACkGwAwAAUAiCHQAAgEIQ7AAAABSCYAcAAKAQNhDsevXqpXpMixYt5O4LAADA\nutjA6U4mT578cpFTFl26dGnKlCkREREytgQAAGCFbCDYhYSEFL353nvvqVSqoUOHytUPAACA\ndbKBt2KLMhgM3333Xbt27WrWrCl3LwAAANbFxoJdfHz81atXhw0bJncjAAAAVsfGgt2KFSuc\nnZ379u0rdyMAAABWx5aCXWZm5o8//hgdHe3q6ip3LwAAAFbHloLd+vXrs7OzeR8WAADgiWwp\n2K1YsaJatWqdOnWSuxEAAABrZDPBLjExMSEhYciQISqVSu5eAAAArJHNBLuVK1caDAZOXwcA\nAPA0thHsjKeva9u2bZ06deTuBQAAwErZwJUnhBAqlSoxMVHuLgAAAKyabeyxAwAAwDMR7AAA\nABSCYAcAAKAQBDsAAACFINgBAAAohG18KlYK166JY8f++/XDh7K2ApjPn3+KnJyn3pucLGEr\ngJnk5//fdG0uN2+aeYOATAh2Qgjh7e0tPv9cfP554RJfX18Z+wHKztnZ2dnZObtv3+JXc3Jy\ncnV1laYloOy8vb1Vd+4Ymjc3+5Z9Bw82+zYB6RHshBDi+++/d3R09PT0lLsRwGxcXV3//vtv\nLy8vBwcHuXsBzKZz587JycmVKlWSuxHASnGMHQAAgEIQ7AAAABSCYAcAAKAQBDsAAACFINgB\nAAAoBMEOAABAIQh2AAAACkGwAwAAUAiCHQAAgEIQ7AAAABSCYAcAAKAQBDshhBgwYMCqVavk\n7gIwpwcPHtSrV8/R0VGlUqlUKq1We+DAAbmbAspq7969VapUMY5qZ2fnGzduyN0RYF0IdkII\ncfv27Zs3b8rdBWBO2dnZmZmZYulSsXOn2LlT5+h4+/ZtuZsCyur27dt6T0+xc6f44YecnJyM\njAy5OwKsi1buBgBYUkiICAwUQggtT3YohYODCA0VvFABnoQ9dgAAAApBsAMAAFAIgh0AAIBC\nEOwAAAAUgmAHAACgEDYT7LZt29a+fXtXV1cPD4+QkJBff/1V7o4AAACsi22cAWHRokVjxowJ\nCwubPn26s7PzqVOnOO0cAADAI2wg2CUlJb355ptvvPHG7Nmz5e4FAADAetnAW7HLly/X6/Ux\nMTFCCL1eL3c7AAAAVsoGgl1CQkLjxo1Xr14dEBCg0Whq1Kgxa9Ysg8Egd18AAADWxQbeik1O\nTk5OTo6JiZkxY0aNGjViY2Pffvvt3NzcqVOnyt0aAACAFbGBYKfX6zMzM7/99ttevXoJIcLD\nw5OSkmbOnDlp0iSNRiN3dwAAANbCBt6K9fb2FkKEhoYWLgkLC8vIyLhy5Yp8TQEAAFgdGwh2\nQUFBQoiiB9UZv1arbaB5AAAAydhANoqKihJCxMXFFS7Ztm2bn59ftWrV5GsKAADA6tjAMXYR\nERGdOnUaPXr0jRs3qlevHhsbu3///gULFrDHDgAAoCgbCHYqlWrTpk3Tpk377LPP0tPT69at\nu3LlyiFDhsjdFwAAgHWxgWAnhHB3d587d+7cuXPlbgQAAMB68W4mAACAQhDsAAAAFIJgBwAA\noBAEOwAAAIUg2AEAACiEbXwqFkApzZolfHyEEOLhQ7lbAczk/n0xZYrIzpa7D8AaEeyEECIq\nKqp169ZydwGYk6enZ79+/XQZGer794UQqpdeatSokdxNAWXVpEmTyE6dHBMThRD2gwYFBATI\n3RFgXQh2Qgjx2muvOTo6yt0FYE52dnazZ8/28vJycHCQuxfAbOrWrbt48eJKlSrJ3QhgpTjG\nDgAAQCEIdgAAAApBsAMAAFAIgh0AAIBCEOwAAAAUgmAHAACgEAQ7AAAAhSDYAQAAKIVBoSIi\nIuT+0QIAgPIrIiJC+vyjMhgMcn/jFnH16tWLFy+auPKoUaMiIiJ69epl0ZaKunXr1ssvv7xq\n1aqKFStKVnTjxo2//PLLokWLJKsohJgyZUq9evWGDx8uWcXc3NwePXrMmTOnfv36khX99ddf\n586du379eksXunz5co0aNVQq1TPXzMjI6Nu379KlS6tXr27prgrFxcXFxsauXLlSsopCiA8+\n+MDf33/MmDFSFg0PD585c2bTpk0lq3jo0KGPP/548+bNklUUQsyePTsnJ2fq1KkWrWIwGJKS\nkmrWrGnKyvHx8YsXL46NjbVoS4/4+OOPXVxc3njjDSmLRkZGvvfeey1btpSs4vHjx6dMmbJ9\n+3bJKgohFixYcOvWrZiYGCmLDhkyZODAgd26dbN0obp161arVs3SVR6h2EuKVatWzfSfpqur\na7169UJDQy3aUlFJSUlCiDZt2tSoUUOyon/++WdCQoKU36YQwsvLq2bNmlIWzcnJEUIEBwdL\nOSGmpaXZ29tL/LMtXmpqqhAiJCQkMDBQsqJJSUnOzs4S/xzmzp1brVo16X/4L7zwQqdOnSQr\n9/DhQ41GI/G3uX79+gcPHljbwHZwcJC4pWXLllWoUEHiohqNpmnTplIWValUKpVK4m9z69at\ner1e4qJOTk6BgYFWNbDNiGPsAAAAFIJgBwAAoBAEOwAAAIUg2AEAACgEwQ4AAEAhCHYAAAAK\nQbADAABQCI3EZwW0Tqmpqe3bt69atapkFe3t7a9du9a/f387OzvJihoMBgcHhw4dOkhWUQiR\nlpb2/PPP16lTR7KKGo3mypUr/fr1c3FxkayoWq3Oz8/v2rWrZBWfyc7O7sqVK/3793d0dJSy\nrlqt7tKli5QVMzIyGjZsKOX5qIUQ169fj46Odnd3l6yiVqvNzs7u3r27ZBWFENnZ2dWqVZPy\nPMzPpFarCwoKwsPDpSyamZlZt27doKAgKYveuHHjpZde8vT0lKyinZ1dZmZmZGSkZBWFEA8f\nPvT392/evLmURW/duhUaGlqpUiUpi0pGsVeeAAAAKG94KxYAAEAhCHYAAAAKQbADAABQCIId\nAACAQhDsAAAAFIJgBwAAoBAEOwAAAIUg2AEAAChEeQl2qampgwcP9vLycnV17dat27lz58y1\nslm2k5ycPH78+JCQECcnJ5VKlZSUVLqKJSq6Z8+e4cOHP/fcc87OzrVr1x43blxqaqpFK+7f\nv79Hjx5Vq1Z1dHT09/fv2bPnkSNHSlGxREWLio6OVqlUw4YNs3TRXbt2qf5/Pj4+pSsKlEPS\nz9jlZLouUVGbnrHL9XRtKAfy8vKaNGni7++/bNmydevWNW7c2M/P7+bNm2Vf2VxF9+3b5+fn\n1717906dOgkhLl++XNJypSjaoUOHZs2affTRRytWrJg0aZKzs3PNmjXv379vuYqrVq3q06fP\nzJkzV6xY8emnn9aqVcve3v7YsWMW/TYLbd682cvLy97efujQoSWtWNKiO3fuFELMmjVr/f9s\n3ry5FEWBckj6GbucTNclLWq7M3Y5n67LRbBbsWKFECI+Pt5489q1a/b29m+//XbZVzZXUZ1O\nZ/ziq6++KstMUaKiFy5cKHpz9erVQohly5ZZruIjjK9033zzzRJVLF3RzMzMgICAJUuWuLi4\nlC7YlaiocaY4ffp0KQoB5Zz0M3Y5ma5LWvQRNjRjl/PpulwEu969e1epUqXokm7dutWuXbvs\nK5uraKEyzhRlaf7GjRtCiI8++kiyig8fPtRqte+8806JKpau6BtvvBESEqLX60sd7EpUtHCm\nyMrK0uv1pSgHlFvSz9jlZLouY1EbmrHL+XRdLo6xO3v2bFBQUNEljRo1SkxMzMnJKePK5ipq\nLmUpun//fuP6lq6Yk5OTmZl54cKFkSNHOjs7v/LKKyWqWIqiR48eXbhw4YIFC1QqVUlrlbqo\nEKJt27YuLi6urq69e/e+dOlSqUsD5Yr0M3Y5ma5LV9QWZ+xyPl2Xi2CXlpbm6elZdImnp6fB\nYMjIyCjjyuYqai6lLpqWlvbOO+80a9YsMjLS0hXDwsLc3d3r16+/c+fOX375pX79+iWqWNKi\nOp1u1KhRY8eObdKkSUkLlbqou7v7a6+9tnjx4i1btkyaNGn37t2tW7dOSUkpSwNAOSH9jF1O\npuvSFbXFGbucT9dauRuQgsFgMD34l2hlCbYjQdGcnJzevXtnZWXt2rVLo9FYuuKCBQvS09Ov\nXr06b968iIiIHTt2BAcHW67oV199lZqa+uGHH5aoRBmLtmjRokWLFsavjQdZd+jQ4euvv/70\n00/L2AageNLP2OVkui5dUVucscv5dF0ugp2Xl1d6enrRJenp6SqVqkKFCmVc2VxFzaUURXNz\nc6Oiok6cOLFnz546depIULHw7YPo6Oi6detOmzbNeIiDJYqmpKTExMR8/fXXOp2u8LVaXl5e\n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\nTkSuQmCC", + "text/plain": [ + "plot without title" + ] + }, + "metadata": { + "image/png": { + "height": 420, + "width": 420 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "fitted.bn <- bn.fit.dag(bn.data, bn.dag, method=\"bayes\")\n", + "\n", + "library(bnlearn)\n", + "bn.fit.barchart(fitted.bn$Uncertain_Low_Back_Pain)" + ] + }, + { + "cell_type": "markdown", + "id": "8bbde7d8", + "metadata": { + "lines_to_next_cell": 0 + }, + "source": [ + "## G-Estimation\n", + "\n", + "G-Estimation is used to adjust the analysis for causal inferences. For that, three different methods are implemented\n", + "\n", + "### Load Data" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "e2239257", + "metadata": { + "lines_to_next_cell": 2, + "message": false, + "name": "g.est load data", + "warnings": false + }, + "outputs": [], + "source": [ + "load(\"data/simpatdat.rda\")" + ] + }, + { + "cell_type": "markdown", + "id": "5902b53d", + "metadata": { + "lines_to_next_cell": 0 + }, + "source": [ + "### Fit G-Estimation by Iteration\n", + "It iterates over several values for $\\psi$ and returns a data frame with $\\psi$ and corresponding $\\alpha$" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "07120784", + "metadata": { + "name": "g.est method.iter" + }, + "outputs": [], + "source": [ + "outcome <- \"Uncertain_Low_Back_Pain\"\n", + "exposure <- \"treatment\"\n", + "confounder <- c(\"Activity\")\n", + "id <- \"patient_id\"\n", + "df <- nofgest(simpatdat, outcome, exposure, confounder, id, method=\"iterate\", steps=100, upper_bound_psi = 10, lower_bound_psi = -10)" + ] + }, + { + "cell_type": "markdown", + "id": "ae601a7d", + "metadata": { + "lines_to_next_cell": 0 + }, + "source": [ + "This function is useful to plot a curve for $\\alpha$ and $\\psi$." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "73baa6af", + "metadata": { + "message": false, + "name": "g.est method.iter plot", + "warnings": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nhw4d2rhx4+XLl4vOYupYGAsAT4gNioEapNfrJ02alJKSotPpateuLTqOqXNzczt//rzoFAAg\nY4zYATVozpw527Zt27p1q5OTk+gsMsCIHQA8IUbsgJqyadOm+fPn//77788995zoLPLg7u7O\n4RMA8CQYsQNqRFRU1IQJE7788stBgwaJziIbbm5ud+7cycrKEh0EAOSKYgdUv+vXrw8aNGjE\niBEzZswQnUVO3NzcJEnibSwAVBnFDqhmd+/e7d+/f9OmTVkGW1larbZOnTrseAIAVcYcO6A6\nFRYWjhgx4u7du3v37uXcsMpSqVSsnwCAJ0GxA6qNXq+fMmVKVFTUsWPHHB0dRceRJYodADwJ\nih1QbWbOnBkaGhoeHt68eXPRWeTK3d2dYgcAVcYcO6B6LF++/Ntvv/399987duwoOouMubm5\nMccOAKqMETugGmzfvv3tt99evnx5nz59RGeRN17FAsCTYMQOeFKRkZGjR4/+/PPPX3nlFdFZ\nZM/NzS0pKUmv14sOAgCyRLEDnkhcXNxLL700bty4mTNnis6iBO7u7vn5+ampqaKDAIAsUeyA\nqrty5UqvXr26dOny448/is6iEOxRDABPgmIHVFFaWlrv3r2bN2++YcMGS0tL0XEUwt7eXqPR\nUOwAoGoodkBVZGZm9u7d+6mnntqyZUudOnVEx1EUFsYCQJXJaVVscXFxaGjo4cOHa9euPWDA\ngJ49e5a6ICgoaN++fbt37xYSD+YjOzv7xRdfLC4u3rlzZ926dUXHURq2sgOAKpNNsbt///6g\nQYN27Nhh+OX3338/dOjQX375xcHBoeSav/76a8+ePYICwlzk5uYOHDgwKyvryJEjTz31lOg4\nCsSOJwBQZbIpdj///POOHTucnJwCAgIcHBxWr169efPmK1eu7N+/X6PRiE4Hc1FQUDB8+PDE\nxMSjR486OTmJjqNMbm5uMTExolMAgCzJZo5dSEiIlZXV4cOHP/roozfffPPEiROfffZZVFRU\n7969s7OzRaeDWSgsLBw9evTZs2cPHjzo7u4uOo5iubu7M8cOAKpGNsXu3LlznTt39vLyMvzS\nwsJizpw5ixcvjoyMfOmll3JycsTGg+IVFBSMGjXq+PHj+/bta9q0qeg4Subm5paSklJYWCg6\nCADIj2yKXUFBQYMGDUr98J133vn222+PHTs2YMCA3NxcIcFgDkpa3f79+729vbcycSkAACAA\n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\nq8ePH6/RaEQnAgyMETsA8uNWdigvL1+8ePEzzzzTtm3b48ePT5gwgVYHKTFiB0B+3MrOzB08\neHDSpElXr1796KOP/P39RccBmhAjdgDkx4id2bp58+b06dOff/75vn37njp1ilYH6TFiB0B+\nOp3u4MGDolPA2A4cOBAUFKQoyjfffDNgwADRcQBjYMQOgPyYijU35eXlb7/9dv/+/fv27Zud\nnU2rg/lgxA6A/OqmYvV6PevlzcGJEycCAwMvXbq0ffv2IUOGiI4DGBUjdgDk5+TkVFFRce3a\nNdFB0LSqq6sjIiJ69erVqVOnkydP0upghhixAyA/nU6nKMrly5d5DKjECgsLR40alZ+fv3nz\n5oCAANFxADEYsQMgP0dHRwsLCzbGSmzLli3du3dv1arViRMnaHUwZxQ7APKzsLBo3bo1+yek\ndPv27VmzZgUGBs6ePfurr75q06aN6ESASEzFAjALPFVMSllZWSNHjqyoqPjuu++effZZ0XEA\n8RixA2AWnJycmIqViV6vj4qK8vHx8fb2Pn78OK0OqMOIHQCzwIidTK5duxYUFJSampqYmBgY\nGCg6DmBCKHYAzIJOpztx4oToFDCAY8eOBQQEaLXaw4cPd+3aVXQcwLSoaSq2trZ2y5YtU6ZM\nmTVr1t69e397wMqVK19++WXjBwNg+nj4hBw2bdrUt2/frl27ZmRk0OqA31LNiF1NTc3QoUN3\n795d92VMTMzw4cM3bNhgY2Pz6zEnTpz46quvBAUEYNLqHj4hOgUar6Ki4q233oqLi1u6dOmC\nBQtExwFMlGqKXWJi4u7du52cnGbPnm1jY7Nx48bk5OQffvhh7969dnZ2otMBMHU6ne7KlSs1\nNTUWFhais6DBCgsL/f39f/755/379/v4+IiOA5gu1UzFJiUlWVpafvfddwsWLJg6derhw4ff\nfffdI0eOvPTSS9evXxedDoCpa9euXXV19aVLl0QHQYN9++23vXv3fuyxx7Kysmh1QP1UU+xy\ncnL69u3r7u5e96VWqw0LC1u9enVGRsagQYNu3bolNh4AE+fi4qLRaM6fPy86CBomISHhpZde\neu211/bs2ePo6Cg6DmDqVFPsKisrH3/88btenDFjxvvvv3/w4MEhQ4bcvn1bSDAAqmBtbd26\ndWuKnYpUV1fPnDlz5syZ8fHxa9eutbKyEp0IUAHVrLFzcXEpKir67evz5s27efNmWFjY8OHD\n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", + "text/plain": [ + "Plot with title “paste(\"Plot of \", alpha, \"( \", psi, \")\")”" + ] + }, + "metadata": { + "image/png": { + "height": 420, + "width": 420 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "plot( df$PSI ,df$Beta, type=\"l\", main=expression(paste(\"Plot of \", alpha, \"( \", psi,\")\")),\n", + " xlab=expression(psi),\n", + " ylab=expression(alpha))\n", + "# Add a second line\n", + "lines( c(-100,100),c(0,0), type = \"l\", col = \"red\")" + ] + }, + { + "cell_type": "markdown", + "id": "e8a7377f", + "metadata": { + "lines_to_next_cell": 0 + }, + "source": [ + "### Fit G-Estimation by Recursive Mean\n", + "\n", + "This function approximate $\\psi$ by an interval search." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "2cc533df", + "metadata": { + "message": false, + "name": "g.est method.rec_mean", + "warnings": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1] \"Max Iterations:\"\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "
A data.frame: 11 × 7
upper_psiupper_betaupper_selower_psilower_betalower_seiteration
<dbl><dbl><dbl><dbl><dbl><dbl><dbl>
1-1.109375-0.0034462060.040946897-1.1171880.00030725940.0358437310
2-1.109375-0.0034462060.040946897-1.1171880.00030725940.03584373 9
3-1.109375-0.0034462060.040946897-1.1250000.00406067110.03584373 8
4-1.093750-0.0109506590.040608006-1.1250000.00406067110.03584373 7
5-1.062500-0.0259312030.039908527-1.1250000.00406067110.03584373 6
6-1.000000-0.0556329330.038450862-1.1250000.00406067110.03584373 5
7-1.000000-0.0556329330.038450862-1.2500000.06357365080.03584373 4
8-1.000000-0.0556329330.038450862-1.5000000.17207520470.03584373 3
9-1.000000-0.0556329330.038450862-2.0000000.30869963660.03584373 2
10 0.000000-0.3354969820.025465297-2.0000000.30869963660.03584373 1
11 2.000000-0.2642433630.008784946-2.0000000.30869963660.03584373 0
\n" + ], + "text/latex": [ + "A data.frame: 11 × 7\n", + "\\begin{tabular}{r|lllllll}\n", + " & upper\\_psi & upper\\_beta & upper\\_se & lower\\_psi & lower\\_beta & lower\\_se & iteration\\\\\n", + " & & & & & & & \\\\\n", + "\\hline\n", + "\t1 & -1.109375 & -0.003446206 & 0.040946897 & -1.117188 & 0.0003072594 & 0.03584373 & 10\\\\\n", + "\t2 & -1.109375 & -0.003446206 & 0.040946897 & -1.117188 & 0.0003072594 & 0.03584373 & 9\\\\\n", + "\t3 & -1.109375 & -0.003446206 & 0.040946897 & -1.125000 & 0.0040606711 & 0.03584373 & 8\\\\\n", + "\t4 & -1.093750 & -0.010950659 & 0.040608006 & -1.125000 & 0.0040606711 & 0.03584373 & 7\\\\\n", + "\t5 & -1.062500 & -0.025931203 & 0.039908527 & -1.125000 & 0.0040606711 & 0.03584373 & 6\\\\\n", + "\t6 & -1.000000 & -0.055632933 & 0.038450862 & -1.125000 & 0.0040606711 & 0.03584373 & 5\\\\\n", + "\t7 & -1.000000 & -0.055632933 & 0.038450862 & -1.250000 & 0.0635736508 & 0.03584373 & 4\\\\\n", + "\t8 & -1.000000 & -0.055632933 & 0.038450862 & -1.500000 & 0.1720752047 & 0.03584373 & 3\\\\\n", + "\t9 & -1.000000 & -0.055632933 & 0.038450862 & -2.000000 & 0.3086996366 & 0.03584373 & 2\\\\\n", + "\t10 & 0.000000 & -0.335496982 & 0.025465297 & -2.000000 & 0.3086996366 & 0.03584373 & 1\\\\\n", + "\t11 & 2.000000 & -0.264243363 & 0.008784946 & -2.000000 & 0.3086996366 & 0.03584373 & 0\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "A data.frame: 11 × 7\n", + "\n", + "| | upper_psi <dbl> | upper_beta <dbl> | upper_se <dbl> | lower_psi <dbl> | lower_beta <dbl> | lower_se <dbl> | iteration <dbl> |\n", + "|---|---|---|---|---|---|---|---|\n", + "| 1 | -1.109375 | -0.003446206 | 0.040946897 | -1.117188 | 0.0003072594 | 0.03584373 | 10 |\n", + "| 2 | -1.109375 | -0.003446206 | 0.040946897 | -1.117188 | 0.0003072594 | 0.03584373 | 9 |\n", + "| 3 | -1.109375 | -0.003446206 | 0.040946897 | -1.125000 | 0.0040606711 | 0.03584373 | 8 |\n", + "| 4 | -1.093750 | -0.010950659 | 0.040608006 | -1.125000 | 0.0040606711 | 0.03584373 | 7 |\n", + "| 5 | -1.062500 | -0.025931203 | 0.039908527 | -1.125000 | 0.0040606711 | 0.03584373 | 6 |\n", + "| 6 | -1.000000 | -0.055632933 | 0.038450862 | -1.125000 | 0.0040606711 | 0.03584373 | 5 |\n", + "| 7 | -1.000000 | -0.055632933 | 0.038450862 | -1.250000 | 0.0635736508 | 0.03584373 | 4 |\n", + "| 8 | -1.000000 | -0.055632933 | 0.038450862 | -1.500000 | 0.1720752047 | 0.03584373 | 3 |\n", + "| 9 | -1.000000 | -0.055632933 | 0.038450862 | -2.000000 | 0.3086996366 | 0.03584373 | 2 |\n", + "| 10 | 0.000000 | -0.335496982 | 0.025465297 | -2.000000 | 0.3086996366 | 0.03584373 | 1 |\n", + "| 11 | 2.000000 | -0.264243363 | 0.008784946 | -2.000000 | 0.3086996366 | 0.03584373 | 0 |\n", + "\n" + ], + "text/plain": [ + " upper_psi upper_beta upper_se lower_psi lower_beta lower_se \n", + "1 -1.109375 -0.003446206 0.040946897 -1.117188 0.0003072594 0.03584373\n", + "2 -1.109375 -0.003446206 0.040946897 -1.117188 0.0003072594 0.03584373\n", + "3 -1.109375 -0.003446206 0.040946897 -1.125000 0.0040606711 0.03584373\n", + "4 -1.093750 -0.010950659 0.040608006 -1.125000 0.0040606711 0.03584373\n", + "5 -1.062500 -0.025931203 0.039908527 -1.125000 0.0040606711 0.03584373\n", + "6 -1.000000 -0.055632933 0.038450862 -1.125000 0.0040606711 0.03584373\n", + "7 -1.000000 -0.055632933 0.038450862 -1.250000 0.0635736508 0.03584373\n", + "8 -1.000000 -0.055632933 0.038450862 -1.500000 0.1720752047 0.03584373\n", + "9 -1.000000 -0.055632933 0.038450862 -2.000000 0.3086996366 0.03584373\n", + "10 0.000000 -0.335496982 0.025465297 -2.000000 0.3086996366 0.03584373\n", + "11 2.000000 -0.264243363 0.008784946 -2.000000 0.3086996366 0.03584373\n", + " iteration\n", + "1 10 \n", + "2 9 \n", + "3 8 \n", + "4 7 \n", + "5 6 \n", + "6 5 \n", + "7 4 \n", + "8 3 \n", + "9 2 \n", + "10 1 \n", + "11 0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "outcome <- \"Uncertain_Low_Back_Pain\"\n", + "exposure <- \"treatment\"\n", + "confounder <- c(\"Activity\")\n", + "id <- \"patient_id\"\n", + "nofgest(simpatdat, outcome, exposure, confounder, id, method=\"rec_mean\", max_number_it = 10, verbose=FALSE)" + ] + }, + { + "cell_type": "markdown", + "id": "5ba595db", + "metadata": { + "lines_to_next_cell": 0 + }, + "source": [ + "### Fit G-Estimation by Recursive Improved\n", + "\n", + "This function approximate $\\psi$ by an optimized interval search." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "917b64d4", + "metadata": { + "lines_to_next_cell": 0, + "message": false, + "name": "g.est method.rec_lin", + "warnings": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1] \"Converged! Optimal Psi: -1.1165479816877\"\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "
A data.frame: 9 × 7
upper_psiupper_betaupper_selower_psilower_betalower_seiteration
<dbl><dbl><dbl><dbl><dbl><dbl><dbl>
1-1.1165480-1.179378e-170.041099672-1.1165489.698380e-080.035843738
2-1.1165480-1.179378e-170.041099672-1.1165489.698380e-080.035843737
3-1.1165480-1.915311e-150.041099672-1.1165489.698380e-080.035843736
4-1.1162943-1.219032e-040.041094300-1.1165489.698380e-080.035843735
5-1.1162943-1.219032e-040.041094300-1.1573681.959637e-020.035843734
6-0.9804303-6.482132e-020.037986401-1.1573681.959637e-020.035843733
7-0.9804303-6.482132e-020.037986401-2.0000003.086996e-010.035843732
8 0.1551857-3.438355e-010.024008679-2.0000003.086996e-010.035843731
9 2.0000000-2.642434e-010.008784946-2.0000003.086996e-010.035843730
\n" + ], + "text/latex": [ + "A data.frame: 9 × 7\n", + "\\begin{tabular}{r|lllllll}\n", + " & upper\\_psi & upper\\_beta & upper\\_se & lower\\_psi & lower\\_beta & lower\\_se & iteration\\\\\n", + " & & & & & & & \\\\\n", + "\\hline\n", + "\t1 & -1.1165480 & -1.179378e-17 & 0.041099672 & -1.116548 & 9.698380e-08 & 0.03584373 & 8\\\\\n", + "\t2 & -1.1165480 & -1.179378e-17 & 0.041099672 & -1.116548 & 9.698380e-08 & 0.03584373 & 7\\\\\n", + "\t3 & -1.1165480 & -1.915311e-15 & 0.041099672 & -1.116548 & 9.698380e-08 & 0.03584373 & 6\\\\\n", + "\t4 & -1.1162943 & -1.219032e-04 & 0.041094300 & -1.116548 & 9.698380e-08 & 0.03584373 & 5\\\\\n", + "\t5 & -1.1162943 & -1.219032e-04 & 0.041094300 & -1.157368 & 1.959637e-02 & 0.03584373 & 4\\\\\n", + "\t6 & -0.9804303 & -6.482132e-02 & 0.037986401 & -1.157368 & 1.959637e-02 & 0.03584373 & 3\\\\\n", + "\t7 & -0.9804303 & -6.482132e-02 & 0.037986401 & -2.000000 & 3.086996e-01 & 0.03584373 & 2\\\\\n", + "\t8 & 0.1551857 & -3.438355e-01 & 0.024008679 & -2.000000 & 3.086996e-01 & 0.03584373 & 1\\\\\n", + "\t9 & 2.0000000 & -2.642434e-01 & 0.008784946 & -2.000000 & 3.086996e-01 & 0.03584373 & 0\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "A data.frame: 9 × 7\n", + "\n", + "| | upper_psi <dbl> | upper_beta <dbl> | upper_se <dbl> | lower_psi <dbl> | lower_beta <dbl> | lower_se <dbl> | iteration <dbl> |\n", + "|---|---|---|---|---|---|---|---|\n", + "| 1 | -1.1165480 | -1.179378e-17 | 0.041099672 | -1.116548 | 9.698380e-08 | 0.03584373 | 8 |\n", + "| 2 | -1.1165480 | -1.179378e-17 | 0.041099672 | -1.116548 | 9.698380e-08 | 0.03584373 | 7 |\n", + "| 3 | -1.1165480 | -1.915311e-15 | 0.041099672 | -1.116548 | 9.698380e-08 | 0.03584373 | 6 |\n", + "| 4 | -1.1162943 | -1.219032e-04 | 0.041094300 | -1.116548 | 9.698380e-08 | 0.03584373 | 5 |\n", + "| 5 | -1.1162943 | -1.219032e-04 | 0.041094300 | -1.157368 | 1.959637e-02 | 0.03584373 | 4 |\n", + "| 6 | -0.9804303 | -6.482132e-02 | 0.037986401 | -1.157368 | 1.959637e-02 | 0.03584373 | 3 |\n", + "| 7 | -0.9804303 | -6.482132e-02 | 0.037986401 | -2.000000 | 3.086996e-01 | 0.03584373 | 2 |\n", + "| 8 | 0.1551857 | -3.438355e-01 | 0.024008679 | -2.000000 | 3.086996e-01 | 0.03584373 | 1 |\n", + "| 9 | 2.0000000 | -2.642434e-01 | 0.008784946 | -2.000000 | 3.086996e-01 | 0.03584373 | 0 |\n", + "\n" + ], + "text/plain": [ + " upper_psi upper_beta upper_se lower_psi lower_beta lower_se \n", + "1 -1.1165480 -1.179378e-17 0.041099672 -1.116548 9.698380e-08 0.03584373\n", + "2 -1.1165480 -1.179378e-17 0.041099672 -1.116548 9.698380e-08 0.03584373\n", + "3 -1.1165480 -1.915311e-15 0.041099672 -1.116548 9.698380e-08 0.03584373\n", + "4 -1.1162943 -1.219032e-04 0.041094300 -1.116548 9.698380e-08 0.03584373\n", + "5 -1.1162943 -1.219032e-04 0.041094300 -1.157368 1.959637e-02 0.03584373\n", + "6 -0.9804303 -6.482132e-02 0.037986401 -1.157368 1.959637e-02 0.03584373\n", + "7 -0.9804303 -6.482132e-02 0.037986401 -2.000000 3.086996e-01 0.03584373\n", + "8 0.1551857 -3.438355e-01 0.024008679 -2.000000 3.086996e-01 0.03584373\n", + "9 2.0000000 -2.642434e-01 0.008784946 -2.000000 3.086996e-01 0.03584373\n", + " iteration\n", + "1 8 \n", + "2 7 \n", + "3 6 \n", + "4 5 \n", + "5 4 \n", + "6 3 \n", + "7 2 \n", + "8 1 \n", + "9 0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "outcome <- \"Uncertain_Low_Back_Pain\"\n", + "exposure <- \"treatment\"\n", + "confounder <- c(\"Activity\")\n", + "id <- \"patient_id\"\n", + "nofgest(simpatdat, outcome, exposure, confounder, id, method=\"rec\", max_number_it = 10, verbose=FALSE)" + ] + }, + { + "cell_type": "markdown", + "id": "d482b6c3", + "metadata": {}, + "source": [ + "\n" + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "message,warnings,name,-all", + "main_language": "R", + "notebook_metadata_filter": "-all" + }, + "kernelspec": { + "display_name": "R", + "language": "R", + "name": "ir" + }, + "language_info": { + "codemirror_mode": "r", + "file_extension": ".r", + "mimetype": "text/x-r-source", + "name": "R", + "pygments_lexer": "r", + "version": "4.0.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 57eb782bcb472e455102c6f6848091b178e26cac Mon Sep 17 00:00:00 2001 From: Nils Strelow Date: Tue, 18 May 2021 23:50:44 +0200 Subject: [PATCH 3/8] Add Rstudio binder link --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 67c7fee..3f36f69 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/nstrelow/cinof1/master?urlpath=lab) +[![Binder Jupyter Lab](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/nstrelow/cinof1/master?urlpath=lab) +[![Binder RStudio](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/nstrelow/cinof1/master?urlpath=rstudio) [![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] From 883f52e64bf77e51d45467e4f1d9283a96d4f9a1 Mon Sep 17 00:00:00 2001 From: Nils Strelow Date: Wed, 19 May 2021 00:09:39 +0200 Subject: [PATCH 4/8] Add R-Markdown package --- binder/environment.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/binder/environment.yml b/binder/environment.yml index ddbdbbd..82f9fba 100644 --- a/binder/environment.yml +++ b/binder/environment.yml @@ -5,3 +5,4 @@ dependencies: - r-tidyverse - r-devtools - r-dagitty + - r-rmarkdown From 40da5adc70ea58168a7fcf5ac11015a79172bda5 Mon Sep 17 00:00:00 2001 From: Nils Strelow Date: Wed, 19 May 2021 00:11:16 +0200 Subject: [PATCH 5/8] docs: Correclty name Binder badges --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3f36f69..cfc7113 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -[![Binder Jupyter Lab](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/nstrelow/cinof1/master?urlpath=lab) -[![Binder RStudio](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/nstrelow/cinof1/master?urlpath=rstudio) +[![JupyterLab](https://img.shields.io/badge/launch-Jupyter%20Lab-579ACA.svg?logo=data:image/png;base64,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)](https://mybinder.org/v2/gh/nstrelow/cinof1/master?urlpath=lab) +[![RStudio](https://img.shields.io/badge/launch-RStudio-579ACA.svg?logo=data:image/png;base64,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)](https://mybinder.org/v2/gh/nstrelow/cinof1/master?urlpath=rstudio) [![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] From b82ca65f186e9d1a5bce85edd5a05c7e217f1956 Mon Sep 17 00:00:00 2001 From: Nils Strelow Date: Wed, 19 May 2021 00:23:20 +0200 Subject: [PATCH 6/8] Add jupytext --- binder/environment.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/binder/environment.yml b/binder/environment.yml index 82f9fba..3c518e8 100644 --- a/binder/environment.yml +++ b/binder/environment.yml @@ -6,3 +6,4 @@ dependencies: - r-devtools - r-dagitty - r-rmarkdown + - jupytext From 325bc6d5bc61691191e20fafd3b1be7d35d2b16e Mon Sep 17 00:00:00 2001 From: Nils Strelow Date: Wed, 19 May 2021 00:45:06 +0200 Subject: [PATCH 7/8] Add jupyterlab-git package --- binder/environment.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/binder/environment.yml b/binder/environment.yml index 3c518e8..187b34f 100644 --- a/binder/environment.yml +++ b/binder/environment.yml @@ -7,3 +7,4 @@ dependencies: - r-dagitty - r-rmarkdown - jupytext + - jupyterlab-git From 8eb74a690e983c6e908ffa3171e9e1427ad053a2 Mon Sep 17 00:00:00 2001 From: Nils Strelow Date: Wed, 19 May 2021 11:39:09 +0200 Subject: [PATCH 8/8] Call devtools::install_github directly --- binder/install-cinof1.R | 1 - binder/postBuild | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 binder/install-cinof1.R diff --git a/binder/install-cinof1.R b/binder/install-cinof1.R deleted file mode 100644 index 3ce0606..0000000 --- a/binder/install-cinof1.R +++ /dev/null @@ -1 +0,0 @@ -devtools::install_github("thogaertner/cinof1") diff --git a/binder/postBuild b/binder/postBuild index e814dac..dfe9ce4 100644 --- a/binder/postBuild +++ b/binder/postBuild @@ -1 +1 @@ -Rscript binder/install-cinof1.R +Rscript -e "devtools::install_github('thogaertner/cinof1')"