From 9ebad53df95c6d7fd06e677c30e849e8a897ea39 Mon Sep 17 00:00:00 2001 From: mjgaughan Date: Sat, 24 Aug 2024 17:04:46 -0500 Subject: [PATCH] post-submission cleaning --- .gitignore | 4 + R/.Rhistory | 1020 +++++++++++------------ R/072524_contirbuting_ranef_plot.png | Bin 0 -> 54217 bytes R/072524_contributing_ranef_plot.png | Bin 0 -> 54217 bytes R/072524_gam_document introduction.png | Bin 0 -> 77110 bytes R/072524_readability_density.png | Bin 0 -> 85478 bytes R/0725_topic_commitoutcome_contrib.rda | Bin 0 -> 45280 bytes R/0725_topic_commitoutcome_readme.rda | Bin 0 -> 380158 bytes R/0725_topic_contriboutcome_contrib.rda | Bin 0 -> 45268 bytes R/0725_topic_contriboutcome_readme.rda | Bin 0 -> 366438 bytes R/073024_fossy_plot.png | Bin 0 -> 128896 bytes R/0731_topic_commitoutcome_contrib.rda | Bin 0 -> 53387 bytes R/0731_topic_contriboutcome_contrib.rda | Bin 0 -> 51479 bytes R/082424_contributing_ranef_plot.png | Bin 0 -> 46208 bytes R/082424_doctype_wordcount.png | Bin 0 -> 42303 bytes R/082424_gam_document_introduction.png | Bin 0 -> 57734 bytes R/082424_readability_density.png | Bin 0 -> 75473 bytes R/FOSSY_contributing_doc_intro.png | Bin 0 -> 57205 bytes R/FOSSY_presentation_README_rt.png | Bin 0 -> 32144 bytes R/R.Rproj | 13 + R/contribRDDAnalysis.R | 16 +- R/contrib_docChar_outcomes.R | 10 +- R/contrib_topic_outcomes.R | 18 +- R/delta_analysis.R | 12 + R/documentReadabilityAnalysis.R | 135 ++- R/document_word_count.png | Bin 0 -> 44514 bytes R/fossy24_plot.png | Bin 0 -> 60360 bytes R/gam_plot_documents.R | 37 +- R/model_presentation.R | 12 +- R/readmeRDDAnalysis.R | 8 +- R/readme_docChar_outcomes.R | 5 +- R/readme_topic_outcomes.R | 19 +- R/topic_distributions.R | 42 + main.py | 14 - 34 files changed, 775 insertions(+), 590 deletions(-) create mode 100644 .gitignore create mode 100644 R/072524_contirbuting_ranef_plot.png create mode 100644 R/072524_contributing_ranef_plot.png create mode 100644 R/072524_gam_document introduction.png create mode 100644 R/072524_readability_density.png create mode 100644 R/0725_topic_commitoutcome_contrib.rda create mode 100644 R/0725_topic_commitoutcome_readme.rda create mode 100644 R/0725_topic_contriboutcome_contrib.rda create mode 100644 R/0725_topic_contriboutcome_readme.rda create mode 100644 R/073024_fossy_plot.png create mode 100644 R/0731_topic_commitoutcome_contrib.rda create mode 100644 R/0731_topic_contriboutcome_contrib.rda create mode 100644 R/082424_contributing_ranef_plot.png create mode 100644 R/082424_doctype_wordcount.png create mode 100644 R/082424_gam_document_introduction.png create mode 100644 R/082424_readability_density.png create mode 100644 R/FOSSY_contributing_doc_intro.png create mode 100644 R/FOSSY_presentation_README_rt.png create mode 100644 R/R.Rproj create mode 100644 R/document_word_count.png create mode 100644 R/fossy24_plot.png create mode 100644 R/topic_distributions.R diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5b6a065 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.Rproj.user +.Rhistory +.RData +.Ruserdata diff --git a/R/.Rhistory b/R/.Rhistory index 5426cf6..2e1d1a7 100644 --- a/R/.Rhistory +++ b/R/.Rhistory @@ -1,512 +1,512 @@ -summary(lm1) -lm1 <- glm.nb(after_contrib_new ~ reading_time, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(after_contrib_new ~ flesch_reading_ease, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -contrib_readability_df <- contrib_readability_df |> -mutate(project_name = map_chr(filename, ~ { -parts <- str_split(.x, pattern = "_")[[1]] -if (length(parts) >= 1) { -head(parts, -1) -} else { -NA_character_ -} -})) -parts[1] + parts[2] -contrib_readability_df <- contrib_readability_df |> -mutate(project_name = map_chr(filename, ~ { -parts <- str_split(.x, pattern = "_")[[1]] -if (length(parts) >= 1) { -parts[1] + parts[2] -} else { -NA_character_ -} -})) -contrib_readability_df <- contrib_readability_df |> -mutate(project_name = map_chr(filename, ~ { -parts <- str_split(.x, pattern = "_")[[1]] -if (length(parts) >= 1) { -paste(head(parts, -1), collapse="") -} else { -NA_character_ -} -})) -View(contrib_readability_df) -#libraries -library(stringr) -contrib_df <- read_csv("../final_data/deb_contrib_did.csv") -contrib_pop_df <- read_csv("../final_data/deb_contrib_pop_change.csv") -contrib_readability_df <- read_csv('../text_analysis/dwo_readability_contributing.csv') -contrib_pop_df <- contrib_pop_df |> -mutate(project_name = map_chr(upstream_vcs_link, ~ { -parts <- str_split(.x, pattern = "/")[[1]] -if (length(parts) >= 1) { -parts[length(parts)] -} else { -NA_character_ -} -})) -contrib_readability_df <- contrib_readability_df |> -mutate(project_name = map_chr(filename, ~ { -parts <- str_split(.x, pattern = "_")[[1]] -if (length(parts) >= 1) { -paste(head(parts, -1), collapse="_") -} else { -NA_character_ -} -})) -contrib_total_df <- contrib_pop_df |> -join(contrib_readability_df, by="project_name") -View(contrib_total_df) -# test regressions -library(MASS) -lm1 <- glm.nb(after_contrib_new ~ flesch_reading_ease, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(after_contrib_new ~ flesch_reading_ease + age_in_days, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -View(contrib_df) -source("~/Desktop/git/24_deb_gov/R/contrib_docChar_outcomes.R") -View(windowed_data) -View(windowed_data) -summed_data <- windowed_data |> -group_by(upstream_vcs_link) |> -summarize(total_ct_after_all = sum(ct_after_all)) -summed_data <- windowed_data |> -filter(window="ct_after_all") |> -group_by(upstream_vcs_link) |> -summarize(total_ct_after_all = sum(count)) -summed_data <- windowed_data |> -filter(window=="ct_after_all") |> -group_by(upstream_vcs_link) |> -summarize(total_ct_after_all = sum(count)) -View(summed_data) -summed_data <- windowed_data |> -filter(window=="ct_after_all") |> -group_by(upstream_vcs_link) |> -mutate(total_ct_after_all = sum(count)) -View(summed_data) -summed_data <- windowed_data |> -filter(window=="ct_after_all") |> -group_by(upstream_vcs_link) |> -summarize(total_ct_after_all = sum(count)) |> ungroup() -View(summed_data) -View(windowed_data) -summed_data <- windowed_data |> -filter(window=="ct_after_all") |> -group_by(upstream_vcs_link) |> -summarise_at(vars(count), list(name=sum)) -View(summed_data) -summed_data <- windowed_data |> -filter(D==1) |> -group_by(upstream_vcs_link) |> -summarise_at(vars(count), list(summed_count=sum)) -View(summed_data) -source("~/Desktop/git/24_deb_gov/R/contrib_docChar_outcomes.R") -contrib_total_df <- contrib_total_df|> -join(summed_data, by=upstream_vcs_link) -contrib_total_df <- contrib_pop_df |> -join(contrib_readability_df, by="project_name") -View(contrib_total_df) -contrib_total_df <- contrib_total_df|> -join(summed_data, by=upstream_vcs_link) -View(summed_data) -contrib_total_df <- contrib_total_df|> -join(summed_data, by="upstream_vcs_link") -View(contrib_total_df) -View(contrib_df) -source("~/Desktop/git/24_deb_gov/R/contrib_docChar_outcomes.R") -#outcome variable that is number of commits by number of new contributors -contrib_total_df$commit_by_contrib = contrib_total_df$summed_count * contrib_total_df$after_contrib_new -# test regressions -library(MASS) -lm1 <- glm.nb(after_contrib_new ~ flesch_reading_ease + age_in_days, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ flesch_reading_ease + age_in_days, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -View(contrib_total_df) -lm1 <- glm.nb(commit_by_contrib ~ word_count, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -contrib_total_df$scaled_outcome = scale(contrib_total_df$commit_by_contrib) -lm1 <- glm.nb(scaled_outcome ~ word_count + flesch_kincaid, data = contrib_total_df) -lm1 <- glm.nb(scaled_outcome ~ word_count + flesch_kincaid_grade, data = contrib_total_df) -contrib_total_df$logged_outcome = log1p(contrib_total_df$commit_by_contrib) -# test regressions -library(MASS) -lm1 <- glm.nb(scaled_outcome ~ word_count + flesch_kincaid_grade, data = contrib_total_df) -lm1 <- glm.nb(logged_outcome ~ word_count + flesch_kincaid_grade, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(logged_outcome ~ word_count + flesch_kincaid_grade + linsear_write_formula, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -contrib_total_df$scaled_outcome = scale(contrib_total_df$commit_by_contrib) -# test regressions -library(MASS) -lm1 <- lm(scaled_outcome ~ word_count + flesch_kincaid_grade + linsear_write_formula, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(logged_outcome ~ word_count + flesch_kincaid_grade + linsear_write_formula, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(logged_outcome ~ word_count + flesch_kincaid_grade + linsear_write_formula + mcalpine_eflaw, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(logged_outcome ~ word_count + flesch_kincaid_grade + linsear_write_formula + mcalpine_eflaw + dale_chall_readability_score, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(logged_outcome ~ word_count + dale_chall_readability_score, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(logged_outcome ~ word_count + reading_time, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ word_count + reading_time, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ word_count + flesch_kincaid_grade, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -#libraries -library(stringr) -readme_df <- read_csv("../final_data/deb_readme_did.csv") -readme_pop_df <- read_csv("../final_data/deb_readme_pop_change.csv") -readme_readability_df <- read_csv('../text_analysis/dwo_readability_readmeuting.csv') -source("~/Desktop/git/24_deb_gov/R/readme_docChar_outcomes.R") -source("~/Desktop/git/24_deb_gov/R/readme_docChar_outcomes.R") -lm1 <- glm.nb(commit_by_readme ~ word_count + flesch_kincaid_grade, data = readme_total_df) -View(readme_readability_df) -readme_readability_df <- readme_readability_df |> -mutate(project_name = map_chr(filename, ~ { -parts <- str_split(.x, pattern = "_")[[1]] -if (length(parts) >= 1) { -paste(head(parts, -1), collapse="_") -} else { -NA_character_ -} -})) -readme_total_df <- readme_pop_df |> -join(readme_readability_df, by="project_name") -readme_total_df <- readme_total_df|> -join(summed_data, by="upstream_vcs_link") -#outcome variable that is number of commits by number of new readmeutors -readme_total_df$commit_by_readme = readme_total_df$summed_count * readme_total_df$after_readme_new -readme_total_df$logged_outcome = log(readme_total_df$commit_by_readme) -View(readme_total_df) -View(readme_total_df) -#outcome variable that is number of commits by number of new readmeutors -readme_total_df$commit_by_readme = readme_total_df$summed_count * readme_total_df$after_readme_new -View(readme_total_df) -View(readme_readability_df) -readme_pop_df[readme_pop_df['upstream_vcs_link'] == "https://github.com/agateau/yokadi/issues/new", "project_name"] = "yokadi" -View(readme_pop_df) -readme_pop_df[readme_pop_df['upstream_vcs_link'] == "https://github.com/SciRuby/rb-gsl/issues/new", "project_name"] = "rb-gsl" -source("~/Desktop/git/24_deb_gov/R/readme_docChar_outcomes.R") -readme_readability_df <- readme_readability_df |> -mutate(project_name = map_chr(filename, ~ { -parts <- str_split(.x, pattern = "_")[[1]] -if (length(parts) >= 1) { -paste(head(parts, -1), collapse="_") -} else { -NA_character_ -} -})) -readme_readability_df[readme_readability_df['filename'] == "yder_README_8md.html", "project_name"] = "yder" -readme_readability_df[readme_readability_df['filename'] == "pg_filedump.git_README.pg_filedump", "project_name"] = "pg_filedump.git" -readme_readability_df[readme_readability_df['filename'] == "openvas_UPGRADE_README", "project_name"] = "openvas" -readme_readability_df[readme_readability_df['filename'] == "hyphen.git_README_hyph_en_US.txt", "project_name"] = "hyphen.git" -readme_readability_df[readme_readability_df['filename'] == "cycle.git_README_ru.html", "project_name"] = "cycle.git" -readme_readability_df[readme_readability_df['filename'] == "diffuse.git_README_ru", "project_name"] = "diffuse.git" -readme_readability_df[readme_readability_df['filename'] == "CheMPS2_README_8md_source.html", "project_name"] = "CheMPS2" -readme_readability_df[readme_readability_df['filename'] == "sleuthkit_README_win32.txt", "project_name"] = "sleuthkit" -readme_readability_df[readme_readability_df['filename'] == "Lmod_README_lua_modulefiles.txt", "project_name"] = "Lmod" -readme_readability_df[readme_readability_df['filename'] == "engauge_debian_README_for_osx", "project_name"] = "engauge_debian" -readme_total_df <- readme_pop_df |> -join(readme_readability_df, by="project_name") -readme_total_df <- readme_total_df|> -join(summed_data, by="upstream_vcs_link") -#outcome variable that is number of commits by number of new readmeutors -readme_total_df$commit_by_readme = readme_total_df$summed_count * readme_total_df$after_readme_new -View(readme_total_df) -readme_total_df$logged_outcome = log(readme_total_df$commit_by_readme) -#outcome variable that is number of commits by number of new readmeutors -readme_total_df$commit_by_readme = readme_total_df$summed_count * readme_total_df$after_readme_new -#outcome variable that is number of commits by number of new readmeutors -readme_total_df$commit_by_contrib = readme_total_df$summed_count * readme_total_df$after_readme_new -#outcome variable that is number of commits by number of new readmeutors -readme_total_df$commit_by_contrib = NA -readme_total_df$commit_by_contrib = readme_total_df$summed_count * readme_total_df$after_readme_new -View(readme_total_df) -View(readme_total_df) -readme_total_df$commit_by_contrib = readme_total_df$summed_count * readme_total_df$after_contrib_new -lm1 <- glm.nb(commit_by_contrib ~ word_count + flesch_kincaid_grade, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -readme_total_df$logged_outcome = log(readme_total_df$commit_by_readme) -readme_total_df$logged_outcome = log(readme_total_df$commit_by_contrib) -lm1 <- glm.nb(commit_by_contrib ~ word_count + flesch_kincaid_grade, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(summed_count ~ word_count + flesch_kincaid_grade, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ word_count + flesch_kincaid_grade, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(after_contrib_new ~ word_count + flesch_kincaid_grade, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(after_contrib_new ~ word_count + reading_time, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ word_count + reading_time, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(reading_time ~ word_count , data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -View(readme_total_df) -lm1 <- glm.nb(reading_time ~ flesch_reading_ease , data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(flesch_reading_ease ~ reading_time , data = readme_total_df) -lm1 <- glm.nb(commit_by_contrib ~ reading_time , data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ reading_time + linsear_write_formula , data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -readme_total_df$commit_by_contrib = readme_total_df$summed_count * (readme_total_df$after_contrib_new + 1) -readme_total_df$logged_outcome = log(readme_total_df$commit_by_contrib) -lm1 <- glm.nb(commit_by_contrib ~ reading_time + linsear_write_formula , data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -readme_total_df$logged_outcome = log1p(readme_total_df$commit_by_contrib) -lm1 <- glm.nb(logged_outcome ~ reading_time + linsear_write_formula , data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(logged_outcome ~ reading_time + linsear_write_formula + flesch_reading_ease, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(logged_outcome ~ reading_time + linsear_write_formula + flesch_reading_ease + mcalpine_eflaw, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(summed_count~ reading_time + linsear_write_formula + flesch_reading_ease + mcalpine_eflaw, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(summed_count~ reading_time + linsear_write_formula + flesch_reading_ease + mcalpine_eflaw + word_count, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(logged_outcome~ reading_time + linsear_write_formula + flesch_reading_ease + mcalpine_eflaw + word_count, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -source("~/Desktop/git/24_deb_gov/R/contrib_docChar_outcomes.R") -lm1 <- glm.nb(logged_outcome~ reading_time + linsear_write_formula + flesch_reading_ease + mcalpine_eflaw + word_count, data = contrib_total_df) -contrib_total_df$logged_outcome = log1p(contrib_total_df$commit_by_contrib) -lm1 <- glm.nb(logged_outcome ~ reading_time + linsear_write_formula + flesch_reading_ease + mcalpine_eflaw + word_count, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(summed_count ~ reading_time + linsear_write_formula + flesch_reading_ease + mcalpine_eflaw + word_count, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -contrib_topics_df <- read_csv("../text_analysis/contrib_file_topic_distributions.csv") +, c(0,1,2) ) +contrib_g <- contrib_groupings |> +ggplot(aes(x=rank, y=estimate, col = as.factor(ranef_grouping))) + +geom_linerange(aes(ymin= conf.low, ymax= conf.high)) + +scale_color_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +theme_bw() + +theme(legend.position = "top") + +labs(x="RE Coefficient Rank", y="RE Coefficient Estimate", color="Estimate Grouping") +contrib_g +subdirColors <- +setNames( c('#942e55', '#78c58a', '#9b6e29') +, c(0,1,2) ) +contrib_g <- contrib_groupings |> +ggplot(aes(x=rank, y=estimate, col = as.factor(ranef_grouping))) + +geom_linerange(aes(ymin= conf.low, ymax= conf.high)) + +scale_color_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +theme_bw() + +theme(legend.position = "top") + +labs(x="RE Coefficient Rank", y="RE Coefficient Estimate", color="Estimate Grouping") +contrib_g +subdirColors <- +setNames( c('#a1a596', '#557784', '#2f6382') +, c(0,1,2) ) +contrib_g <- contrib_groupings |> +ggplot(aes(x=rank, y=estimate, col = as.factor(ranef_grouping))) + +geom_linerange(aes(ymin= conf.low, ymax= conf.high)) + +scale_color_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +theme_bw() + +theme(legend.position = "top") + +labs(x="RE Coefficient Rank", y="RE Coefficient Estimate", color="Estimate Grouping") +contrib_g +subdirColors <- +setNames( c('#a3b0c9', '#101f31', '#28578d') +, c(0,1,2) ) +readme_g <- readme_groupings |> +ggplot(aes(x=rank, y=estimate, col = as.factor(ranef_grouping))) + +geom_linerange(aes(ymin= conf.low, ymax= conf.high)) + +scale_color_manual(values = subdirColors) + +guides(fill="none", color="none")+ +theme_bw() + +labs(x="RE Coefficient Rank", y="RE Coefficient Estimate", color="Estimate Grouping") +readme_g +contrib_g <- contrib_groupings |> +ggplot(aes(x=rank, y=estimate, col = as.factor(ranef_grouping))) + +geom_linerange(aes(ymin= conf.low, ymax= conf.high)) + +scale_color_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +theme_bw() + +theme(legend.position = "top") + +labs(x="RE Coefficient Rank", y="RE Coefficient Estimate", color="Estimate Grouping") +contrib_g +subdirColors <- +setNames( c('#f8f06b', '#ca7780', '#a13795') +, c(0,1,2) ) +contrib_g <- contrib_groupings |> +ggplot(aes(x=rank, y=estimate, col = as.factor(ranef_grouping))) + +geom_linerange(aes(ymin= conf.low, ymax= conf.high)) + +scale_color_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +theme_bw() + +theme(legend.position = "top") + +labs(x="RE Coefficient Rank", y="RE Coefficient Estimate", color="Estimate Grouping") +contrib_g library(tidyverse) -contrib_topics_df <- read_csv("../text_analysis/contrib_file_topic_distributions.csv") -View(contrib_topics_df) -source("~/Desktop/git/24_deb_gov/R/contrib_topic_outcomes.R") -source("~/Desktop/git/24_deb_gov/R/contrib_topic_outcomes.R") -source("~/Desktop/git/24_deb_gov/R/contrib_docChar_outcomes.R") -source("~/Desktop/git/24_deb_gov/R/contrib_topic_outcomes.R") -source("~/Desktop/git/24_deb_gov/R/contrib_topic_outcomes.R") -source("~/Desktop/git/24_deb_gov/R/contrib_topic_outcomes.R") -lm1 <- glm.nb(summed_count ~ t0 + t1 + t2 + t3, data = contrib_total_df) -#running regressions -library(MASS) -lm1 <- glm.nb(summed_count ~ t0 + t1 + t2 + t3, data = contrib_total_df) -source("~/Desktop/git/24_deb_gov/R/contrib_topic_outcomes.R") -library(stringr) library(plyr) -contrib_topics_df <- read_csv("../text_analysis/contrib_file_topic_distributions.csv") -contrib_df <- read_csv("../final_data/deb_contrib_did.csv") -contrib_pop_df <- read_csv("../final_data/deb_contrib_pop_change.csv") -#get the contribution count -#some preprocessing and expansion -col_order <- c("upstream_vcs_link", "age_in_days", "first_commit", "first_commit_dt", "event_gap", "event_date", "event_hash", "before_all_ct", "after_all_ct", "before_mrg_ct", "after_mrg_ct", "before_auth_new", "after_auth_new", "before_commit_new", "after_commit_new") -contrib_df <- contrib_df[,col_order] -contrib_df$ct_before_all <- str_split(gsub("[][]","", contrib_df$before_all_ct), ", ") -contrib_df$ct_after_all <- str_split(gsub("[][]","", contrib_df$after_all_ct), ", ") -contrib_df$ct_before_mrg <- str_split(gsub("[][]","", contrib_df$before_mrg_ct), ", ") -contrib_df$ct_after_mrg <- str_split(gsub("[][]","", contrib_df$after_mrg_ct), ", ") -drop <- c("before_all_ct", "before_mrg_ct", "after_all_ct", "after_mrg_ct") -contrib_df = contrib_df[,!(names(contrib_df) %in% drop)] -# 2 some expansion needs to happens for each project -expand_timeseries <- function(project_row) { -longer <- project_row |> -pivot_longer(cols = starts_with("ct"), -names_to = "window", -values_to = "count") |> -unnest(count) -longer$observation_type <- gsub("^.*_", "", longer$window) -longer <- ddply(longer, "observation_type", transform, week=seq(from=0, by=1, length.out=length(observation_type))) -longer$count <- as.numeric(longer$count) -#longer <- longer[which(longer$observation_type == "all"),] -return(longer) -} -expanded_data <- expand_timeseries(contrib_df[1,]) -for (i in 2:nrow(contrib_df)){ -expanded_data <- rbind(expanded_data, expand_timeseries(contrib_df[i,])) -} -#filter out the windows of time that we're looking at -window_num <- 8 -windowed_data <- expanded_data |> -filter(week >= (27 - window_num) & week <= (27 + window_num)) |> -mutate(D = ifelse(week > 27, 1, 0)) -summed_data <- windowed_data |> -filter(D==1) |> -group_by(upstream_vcs_link) |> -summarise_at(vars(count), list(summed_count=sum)) -#concat dataframes into central data -contrib_pop_df <- contrib_pop_df |> -mutate(project_name = map_chr(upstream_vcs_link, ~ { -parts <- str_split(.x, pattern = "/")[[1]] -if (length(parts) >= 1) { -parts[length(parts)] -} else { -NA_character_ -} -})) -contrib_topic_df <- contrib_topic_df |> -mutate(project_name = map_chr(filename, ~ { -parts <- str_split(.x, pattern = "_")[[1]] -if (length(parts) >= 1) { -paste(head(parts, -1), collapse="_") -} else { -NA_character_ -} -})) -contrib_topics_df <- contrib_topics_df |> -mutate(project_name = map_chr(filename, ~ { -parts <- str_split(.x, pattern = "_")[[1]] -if (length(parts) >= 1) { -paste(head(parts, -1), collapse="_") -} else { -NA_character_ -} -})) -contrib_total_df <- contrib_pop_df |> -join(contrib_topics_df, by="project_name") -contrib_total_df <- contrib_total_df|> -join(summed_data, by="upstream_vcs_link") -#outcome variable that is number of commits by number of new contributors -contrib_total_df$commit_by_contrib = contrib_total_df$summed_count * contrib_total_df$after_contrib_new -contrib_total_df$logged_outcome = log1p(contrib_total_df$commit_by_contrib) -#running regressions -library(MASS) -lm1 <- glm.nb(summed_count ~ t0 + t1 + t2 + t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -View(contrib_total_df) -lm1 <- glm.nb(summed_count ~ t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(summed_count ~ t3 + t2 + t1, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(summed_count ~ t3 + t2 + t1 + t0, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(summed_count ~ t0 + t1 + t2 + t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- lm(summed_count ~ t0 + t1 + t2 + t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(summed_count ~ t0 + t1 + t2 + t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(summed_count ~ t1 + t2 + t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(summed_count ~ t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t1 + t2 +t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t2, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t1, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -source("~/Desktop/git/24_deb_gov/R/readme_topic_outcomes.R") -#outcome variable that is number of commits by number of new readmeutors -readme_total_df$commit_by_contrib = readme_total_df$summed_count *readme_total_df$after_contrib_new -readme_total_df$logged_outcome = log1p(readme_total_df$commit_by_readme) -#running regressions -library(MASS) -lm1 <- glm.nb(commit_by_readme ~ t3, data = readme_total_df) -lm1 <- glm.nb(commit_by_contrib ~ t3, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t0, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t1, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t7, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t0+t1+t7, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t0+t1+t2+t7, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t0+t1+t2+t7+t3, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t0+t1+t2+t7+t3 + t4, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t0+t1+t2+t7+t3 +t4 + t5 + t6, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t0+t1+t2+t7+t3 +t4 + t5, data = readme_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -source("~/Desktop/git/24_deb_gov/R/contrib_topic_outcomes.R") -lm1 <- glm.nb(commit_by_contrib ~ t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t0+ t1+ t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t0+ t1+ t2+ t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t1+ t2+ t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t1+ t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) -lm1 <- glm.nb(commit_by_contrib ~ t2+ t3, data = contrib_total_df) -qqnorm(residuals(lm1)) -summary(lm1) +library(gridExtra) +library(ggpubr) +# script for the analysis of document readability metrics +# readability metrics will be studied controlled by their length +# gaughan@u.northwestern.edu +# loading in the data +try(setwd(dirname(rstudioapi::getActiveDocumentContext()$path))) +readme_df <- read_csv("../text_analysis/dwo_readability_readme.csv") +contributing_df <- read_csv("../text_analysis/dwo_readability_contributing.csv") +# establishing the color scheme +subdirColors <- +setNames( c('#f8f06b', '#ca7780', '#a13795') +, levels(contributing_df$subdir) ) +readmeSubdirColors <- +setNames( c('#ca7780', '#a13795') +, levels(readme_df$subdir) ) +#plotting linsear scoring +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_density(aes(color = as.factor(subdir), fill=as.factor(subdir)), alpha=0.35, position="identity") + +xlim(-30, 30) + +theme_bw() +#plotting readme reading ease +readme_reading_ease <- ggplot(readme_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), alpha=0.35, position="identity") + +scale_fill_manual(values = readmeSubdirColors) + +xlim(-5, 90) + +labs(x= "Flesch Reading Ease", y= "README Density")+ +guides(fill="none", color="none")+ +theme_bw() +readme_reading_ease +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), alpha=0.8, position="fill") + +scale_fill_manual(values = readmeSubdirColors) + +xlim(-5, 90) + +labs(x= "Reading Time (s)", y= NULL)+ +guides(fill="none", color="none")+ +theme_bw() +readme_reading_time_plot +readme_reading_time_no_group <- ggplot(readme_df, aes(x=reading_time)) + +geom_histogram(fill='forestgreen') + +xlim(-5, 190) + +ylab("Count of README Files") + +xlab("Reading Time (s)") + +ggtitle("Reading Time for README files from FLOSS Projects (n=2280)")+ +guides(fill="none", color="none")+ +theme_bw() +readme_reading_time_no_group +readme_linsear_plot <- ggplot(readme_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), alpha=0.35, position="identity") + +scale_fill_manual(values = readmeSubdirColors) + +xlim(-5, 90) + +labs(x= "Linsear Write Score", y= NULL)+ +guides(fill="none", color="none")+ +theme_bw() +readme_linsear_plot +readme_mcalpine_eflaw <- ggplot(readme_df, aes(x=mcalpine_eflaw, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), alpha=0.35, position="identity") + +scale_fill_manual(values = readmeSubdirColors) + +xlim(-5, 90) + +labs(x= "McAlpine EFLAW", y= NULL)+ +guides(fill="none", color="none")+ +theme_bw() +#theme(axis.title.y=element_blank()) +#plot of reading_ease +#readme_df <- readme_df |> +# mutate(coef_grouping <- as.factor(subdir)) +#test_lm <- lm(mcalpine_eflaw ~ word_count + as.factor(subdir),data=readme_df) +#summary(test_lm) +aggregate(contributing_df[, 3:10], list(contributing_df$subdir), median) +# plotting contributing linsear writing formula +contributing_linsear_plot <- ggplot(contributing_df, aes(x=linsear_write_formula, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), alpha=0.35, position="identity") + +scale_fill_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +labs(x= NULL, y= NULL, fill="RE Grouping")+ +xlim(-5, 90) + +theme_bw() + +guides(fill="none", color="none") +# plotting contributing reading time +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +scale_fill_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +geom_density(aes(fill=as.factor(subdir)), alpha=0.35, position="identity") + +xlim(-5, 90) + +labs(x= NULL, y= NULL, fill="RE Grouping")+ +theme_bw() + +theme(legend.position = "inside", +legend.position.inside = c(.93, .93), +legend.justification = c("right", "top"), +legend.direction = "horizontal", +legend.margin = margin(6, 6, 6, 6)) +# plotting contributing mcalpine eflaw +contributing_mcalpine_eflaw <- ggplot(contributing_df, aes(x=mcalpine_eflaw, group=as.factor(subdir))) + +scale_fill_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +geom_density(aes(fill=as.factor(subdir)), alpha=0.35, position="identity") + +xlim(-5, 90) + +labs(x= NULL, y= NULL, fill="RE Grouping")+ +theme_bw() + +theme(legend.position = "inside", +legend.position.inside = c(.93, .93), +legend.justification = c("right", "top"), +legend.direction = "vertical", +legend.margin = margin(6, 6, 6, 6)) +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), alpha=0.35, position="identity") + +scale_fill_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +labs(x= NULL, y="CONTRIBUTING Density", fill="RE Grouping")+ +xlim(-5, 90) + +theme_bw() + +guides(fill="none", color="none") +contributing_reading_ease +grid.arrange(contributing_reading_ease, contributing_linsear_plot,contributing_mcalpine_eflaw, readme_reading_ease, readme_linsear_plot, readme_mcalpine_eflaw, nrow = 2) +readme_df$type = "README" +contributing_df$type = "CONTRIBUTING" +all_df = rbind(readme_df, contributing_df) +length_plot_all <- ggplot(all_df, aes(x=word_count, group=as.factor(type))) + +geom_density(aes(fill = as.factor(type)), color = NA, alpha=0.4, position="identity")+ +xlim(-10, 500) + +labs( +x = "Word Count", +y = "Density Across Documents", +fill="Document Type" +) + +theme_bw() + +theme(legend.position = "top") +length_plot_all +grid.arrange(contributing_reading_ease, contributing_linsear_plot,contributing_mcalpine_eflaw, readme_reading_ease, readme_linsear_plot, readme_mcalpine_eflaw, nrow = 2) +length_plot_all <- ggplot(all_df, aes(x=word_count, group=as.factor(type))) + +geom_density(aes(fill = as.factor(type)), color = NA, alpha=0.4, position="identity")+ +xlim(-10, 500) + +labs( +x = "Word Count", +y = "Density Across Documents", +fill="Document Type" +) + +theme_bw() + +theme(legend.position = "top") +length_plot_all +# plotting contributing reading time +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +scale_fill_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +geom_density(aes(fill=as.factor(subdir)), position="fill") + +xlim(-5, 90) + +labs(x= NULL, y= NULL, fill="RE Grouping")+ +theme_bw() + +theme(legend.position = "inside", +legend.position.inside = c(.93, .93), +legend.justification = c("right", "top"), +legend.direction = "horizontal", +legend.margin = margin(6, 6, 6, 6)) +contributing_reading_time_plot +grid.arrange(contributing_reading_ease, contributing_reading_time_plot, readme_reading_ease, readme_reading_time_plot, nrow = 2) +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), position="fill") + +scale_fill_manual(values = readmeSubdirColors) + +xlim(-5, 90) + +labs(x= "Reading Time (s)", y= NULL)+ +guides(fill="none", color="none")+ +theme_bw() +#plotting readme reading ease +readme_reading_ease <- ggplot(readme_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), position="fill") + +scale_fill_manual(values = readmeSubdirColors) + +xlim(-5, 90) + +labs(x= "Flesch Reading Ease", y= "README Density")+ +guides(fill="none", color="none")+ +theme_bw() +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), position="fill") + +scale_fill_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +labs(x= NULL, y="CONTRIBUTING Density", fill="RE Grouping")+ +xlim(-5, 90) + +theme_bw() + +guides(fill="none", color="none") +grid.arrange(contributing_reading_ease, contributing_reading_time_plot, readme_reading_ease, readme_reading_time_plot, nrow = 2) +# establishing the color scheme +subdirColors <- +setNames( c('#68293c', '#ffcf67', '#91d8f0') +, levels(contributing_df$subdir) ) +readmeSubdirColors <- +setNames( c('#ffcf67', '#91d8f0') +, levels(readme_df$subdir) ) +#plotting readme reading ease +readme_reading_ease <- ggplot(readme_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), position="fill") + +scale_fill_manual(values = readmeSubdirColors) + +xlim(-5, 90) + +labs(x= "Flesch Reading Ease", y= "README Density")+ +guides(fill="none", color="none")+ +theme_bw() +#plotting readme reading time +readme_reading_time_plot <- ggplot(readme_df, aes(x=reading_time, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), position="fill") + +scale_fill_manual(values = readmeSubdirColors) + +xlim(-5, 90) + +labs(x= "Reading Time (s)", y= NULL)+ +guides(fill="none", color="none")+ +theme_bw() +# plotting contributing reading time +contributing_reading_time_plot <- ggplot(contributing_df, aes(x=reading_time, group=as.factor(subdir))) + +scale_fill_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +geom_density(aes(fill=as.factor(subdir)), position="fill") + +xlim(-5, 90) + +labs(x= NULL, y= NULL, fill="RE Grouping")+ +theme_bw() + +theme(legend.position = "inside", +legend.position.inside = c(.93, .93), +legend.justification = c("right", "top"), +legend.direction = "horizontal", +legend.margin = margin(6, 6, 6, 6)) +# plotting contributing reading ease +contributing_reading_ease <- ggplot(contributing_df, aes(x=flesch_reading_ease, group=as.factor(subdir))) + +geom_density(aes(fill=as.factor(subdir)), position="fill") + +scale_fill_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +labs(x= NULL, y="CONTRIBUTING Density", fill="RE Grouping")+ +xlim(-5, 90) + +theme_bw() + +guides(fill="none", color="none") +grid.arrange(contributing_reading_ease, contributing_reading_time_plot, readme_reading_ease, readme_reading_time_plot, nrow = 2) +source("~/Desktop/git/24_deb_gov/R/documentReadabilityAnalysis.R") +subdirColors <- +setNames( c('#31449c', '#4a7c85', '#c5db68') +, c(0,1,2) ) +contrib_g <- contrib_groupings |> +ggplot(aes(x=rank, y=estimate, col = as.factor(ranef_grouping))) + +geom_linerange(aes(ymin= conf.low, ymax= conf.high)) + +scale_color_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +theme_bw() + +theme(legend.position = "top") + +labs(x="RE Coefficient Rank", y="RE Coefficient Estimate", color="Estimate Grouping") +contrib_g +contrib_groupings <- read.csv('../final_data/deb_contrib_interaction_groupings.csv') +subdirColors <- +setNames( c('#31449c', '#4a7c85', '#c5db68') +, c(0,1,2) ) +contrib_g <- contrib_groupings |> +ggplot(aes(x=rank, y=estimate, col = as.factor(ranef_grouping))) + +geom_linerange(aes(ymin= conf.low, ymax= conf.high)) + +scale_color_manual(values = subdirColors, labels=c('CI < 0', '0 in CI', '0 < CI')) + +theme_bw() + +theme(legend.position = "top") + +labs(x="RE Coefficient Rank", y="RE Coefficient Estimate", color="Estimate Grouping") +contrib_g +source("~/Desktop/git/24_deb_gov/R/gam_plot_documents.R") +doctypeColors <- +setNames( c('#4a7c85', '#c5db68') +, factor(all_actions_data$document_type)) +View(all_actions_data) +doctypeColors <- +setNames( c('#4a7c85', '#c5db68') +, c("CONTRIBUTING", "README")) +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_fill_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +doctypeColors <- +setNames( c('#ffcf67', '#91d8f0') +, c("CONTRIBUTING", "README")) +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +doctypeColors <- +setNames( c('#7d1b16', '#263b90') +, c("CONTRIBUTING", "README")) +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +doctypeColors <- +setNames( c('#995223', '#2464ad') +, c("CONTRIBUTING", "README")) +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +doctypeColors <- +setNames( c('#ba6b44', '#5d7fbd') +, c("CONTRIBUTING", "README")) +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +doctypeColors <- +setNames( c('#5da2d8', '#c7756a') +, c("CONTRIBUTING", "README")) +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=count, color=factor(document_type))) + +scale_y_log1p() + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=count, color=factor(document_type))) + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +scale_y_continuous(breaks = c(0, 0.5, 1.0, 1.5), +labels = round(c(expm1(0), expm1(0.5), expm1(1.0), exp,1(1.5)), 1)) +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +scale_y_continuous(breaks = c(0, 0.5, 1.0, 1.5), +labels = round(c(expm1(0), expm1(0.5), expm1(1.0), exp,1(1.5)), 1)) + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +scale_y_continuous(breaks = c(0, 0.5, 1.0, 1.5), +labels = round(c(expm1(0), expm1(0.5), expm1(1.0), expm1(1.5)), 1)) + +labs(x="Weekly Offset", y="Log Transformed Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +scale_y_continuous(breaks = c(0, 0.5, 1.0, 1.5), +labels = round(c(expm1(0), expm1(0.5), expm1(1.0), expm1(1.5)), 1)) + +labs(x="Weekly Offset", y="Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +labs(x="Weekly Offset", y="Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +scale_y_continuous(breaks = c(0, 0.5, 1.0, 1.5), +labels = round(c(expm1(0), expm1(0.5), expm1(1.0), expm1(1.5)), 1)) + +labs(x="Weekly Offset", y="Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +time_plot <- all_actions_data |> +ggplot(aes(x=week_offset, y=log1p_count, color=factor(document_type))) + +labs(x="Weekly Offset", y="Commit Count", color="Document Type") + +scale_color_manual(values = doctypeColors) + +geom_smooth() + +geom_vline(xintercept = 0)+ +theme_bw() + +theme(legend.position = "top") +time_plot +source("~/Desktop/git/24_deb_gov/R/documentReadabilityAnalysis.R") +length_plot_all +length_plot_all <- ggplot(all_df, aes(x=word_count, group=as.factor(type))) + +geom_density(aes(fill = as.factor(type)), color = NA, alpha=0.5, position="identity")+ +scale_fill_manual(values = doctypeColors) + +xlim(-10, 500) + +labs( +x = "Word Count", +y = "Density Across Documents", +fill="Document Type" +) + +theme_bw() + +theme(legend.position = "top") +length_plot_all +length_plot_all <- ggplot(all_df, aes(x=word_count, group=as.factor(type))) + +geom_density(aes(fill = as.factor(type)), color = NA, alpha=0.6, position="identity")+ +scale_fill_manual(values = doctypeColors) + +xlim(-10, 500) + +labs( +x = "Word Count", +y = "Density Across Documents", +fill="Document Type" +) + +theme_bw() + +theme(legend.position = "top") +length_plot_all diff --git a/R/072524_contirbuting_ranef_plot.png b/R/072524_contirbuting_ranef_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9348e8e1f06a9b0479fc52f8314734f833c96b GIT binary patch literal 54217 zcmdqJbxa-Y7Y2wHx3)lWio->UyA(>X;&5?yFYaEvxVN~wySq!FxVsd0haEoowclp< zuT6H7O=if=aCzsQ&%)57jCwajy$%PY!8=^BI;<>;+DvvXmLyEHh->F z_HK1`aoM%I|3Gp7K?e$prHQ40#9QxZojW)p?pd0?ti5_N+AEO}fec*qnVykcsSLE(P3!f#TfKbw8;JZpp(&AR4&rNb-VxxZe9uDgtH$gZdh0thh^0Pra;p@^pcy;uG_*ggmOQmGcw_t z{=u1T82q00Fl7A{1Dwm(rIeo%FZiHESNpn$oY!A73E8gio&EjAt%Fi>BK%quCpHr9 zS8@h$^@(7gr&2X#7P?lAooD#kLZ9S(^Z;aPYbx%hOf*sSfjVCoWHWxeav^- zuRcT&qnWs=X=mml;_euy?_?XNUr(;=FLzMiJVMkem_GLH?Toz>%y}X`{!!3zWUNTq zgzVvLTxkCT!SFNb1fv*(Sd{NIK1uY(JDj(f#8H&}^7>!($GF5%S$pG1Z1vCT$0nR1 zN##=6Lz+T%9N+gm8tEsjRE>6vr?R8ZjLwXj4a81cYI3<-DupzD1gADm+3wnr8R44J z+4ap$B-@NWb!cr*muYRYt0F(bc|d#a&4X)M_gIF&i0%zmYF#2{yi)pn*>sBLI+d9j zDy-mJD560K_j;#Bc%v6;_ZwIJ{8488S5ZV1p6g2+e5)h2sWz$B%U*pNEA%#6Hd@w1 zwy7ef6V690W{0Jj<%nA*@v;l4f~qrgJXHFAyd9k#`V!JRnEqc7bQoM5*b85UVrw+M z=qR!p^tdw=AlhTIE;x825tGEoc3R8CuG6{R^oWKMskXMWf4?gNqyo4+-A6 zQtuwy6LTI|T{kT^7QWZ~9iM%1mP1-(_fIBlb}I%^*S?x0S5<%e72Mgsv960)%0z>O zyxEpUwb!uIh(DHtS{-k^2~p zm(hCj5kwJRj?<-_6J?j~G8D(8Z)dxbH1232(cXoclO_2Q#Ee_B=F{DSi~AY$#4xf4>i-qauvAUF(^#SA4SA!vZl@DPvzCJ->dCrIGL1x_H2q(S|A1!_DE`hTAz zpMSY>!dDLgApjxv;k|+r1N!W-AKjXt6|niW@DIGfV!f ztHUAgqn5J~NhSsK7cYq+|2Vu~V2E1Em|#)-c@gsE512erTapL}gx`k%DZEUiB@7Gr z?SH;XGoA!ZCII#O_yG^4kc9^sswnCO^T!d)vi;|35C|+j5SY6k1@tig*bU^%G?HP? zKUWig3MCd0Zov4V?Dywt&)Y-&y*FUx|ChICE!g(CzKe?Xr5n>V!hQ*D6pc|Vzqbe< zR5iVjI1P{P8-IpSI6x?LB3{9EgXMe~SmC zxwY9p^@qq|<`BGN9GIj~qhVBI+ghI3v6GZlRcY$$>$z?^ z(fDJMlJGg#zcTxTu&OOAY3bn=mz2cS+injOsZ{E34#YBjUJ>AYyk0lh=!*=ss8IP; zzi5fWZ20wlSK2e`@!^hL;=B2mzm$~bjt7T@}KQ7UQLm>)|g?DBAXA!$K#xaZ14s8Xiw&2zV3dHQ&FGIn5+ifXVIdww4 zmZqyES174rjDf+y&BD@_s9r+XPc2W6uGX_WKkv_fN;4UaByH{ZTSN$iyhq3Ln6Nl}fxH!wC3 zlFNspm?aCx9$shC6S`5qodTNH@@%#ebzHQMH(#h5!w&ED{chPH_ISU|kHiuBhEdSd z^E(M;Psq*5S_lK;);h3Y@wT>#N}?s!(6MWe02G3lz)gxi5JCbOz1w}^@EjMcMVg!Q z6p7b^K_%~Ec73gfS*PEKCr;W=zz%clmvw#}N#@?Ov-f735bl>L)a3HK+@I~q4Cgb= zizN_B40^Mj?3lvne5x-*9n7VX==nyP_aY|!HFYYo*>nl3W&I|W-ucd$f5Qyk)9rNY z*Kgl&lfx@C8XZ_sIXBQXmJ80O)U0rR`L}VL4KbtGL#NHxp8D|1vN1FNoGI56`5YIv z>~VL{(-rjU;v}5^(Ks)bM(_Umq`|_Cgvu6OC{gnbWr|aV_1Q2x-gh>O@!e|?Y8rnz zaW`vxD%eG*`;%UK+ytKc<4*quXGZ#l9g_8mLHe_c04Qzfp22vA=}j%CRoL}GhE|p( zr*)L|{mRiP`~Xz1289GW?8(V5$* zfuTL`=9j;chH(hi=QyZ{eT!zIW-2HsU=hKe#?F!aZm7MGklDW428}jxK&(M6`LWh= z5!qn;m3qX#2WQ9EeZvL@1 zjKJL%G3a{aVrQ&VhW%Z`r_mJNQ0KF)-Sw^O?EvA}o+F|e%NWIm@0py?>+6RTNHN}?SLX|X~g*_dGFcsJ>U(A&UNYK}J$w)WbMaeCMHXgOirwr@86nz7w z9x2r~PlT8p2vc?>@uGzlV`4$FVu17asfdEAmb2(;dH)6C5XrnK z7K&_ds`#gU8*KQ}!Fy_^3`=6WmkD`zP!`ZAhT`61pvpKLXmF3F=Y#!hgMA@=c<+d^ zpDSQWn_pf@p(l8F%~u!<+VKq;k8thLK8WIO!_sP}`0%ZBeoAB#CUiS~Z_R3= zhAoB`koZaLdKkA<>4>hq%A!+XLwO!E#ZWpDLzB$$L%C1G%_OKngvh-r_VskCL>%qd zHWTNp0@}O7RL@7wtRarx+C_)&9!ENl_cy0MgwQ6b1L`5=v0^IW>^loQEB8%!D7-(A zwZ)^nIw_Lf`a%Zbx-P@kTbB662kK|&z<{_rqt9tRSXQ`Le~)1BI4J(?^Quo20nJJ| zZ;TmFu-|wISlr%q3RY`z$xI%d>Sx*fhr80|%Wo?_L66qumGlWtJZPH|#iC{g*unIK zgM#4dsI10-mng9KIZ(a$wx0+hwQ+q!7B0P5s5&BG-xn_-+zL`rQAIGcTni3{b7(?* z5rZ<9#3*SzFz_08*1uJ;(+j}aLB+Y%ml8j^^S8RUQgRTzCj^>nvLczZ9*|!D3 zixc&=*hJ&)ufl5GAQ$6TyC?V)uU>fT>MQNjI$L+Xq;3nt+`bO?ywCL54~zdGFF^N02B4 zs8zWe8CAJm$Sb1>utVd`^NncfsmtzTD#&cIZxK;ZB%S^!KZVOl7IURjz2aX@t~)G; z2sxRYC|BQxVn4;0_~!N2yZE6L)}%wx`^$KgGZ}euzSI!foK$udg2a4Ev;R0h%7*8e;1F=Dox-ja&6 zV$r2FX~6d=C*;sr?CrS*#x@i(OBNsK7QNM`Gnn|$X{UEYNfK_OzR)SBD?QlKJhztz zg{{3)j=h>#tq%-nCaai*k+sXpdw{*|3ncggPC7&;tcd;dxe(? z(`MT6dk~d1guHC9f*f*f=viy%+JOW=3%NYDS3}+4C;;p%o+r?Tqzy&&RC7O?C z*{cwRV`XZ>UUEc5=x~h{zEJRZlAyLB*Z~_3X4pdYV@mLX3>tlV5yVf}nbcm_x~Ipx z>VwAYPwPo}*u2%nwk(AcGJ)36Fk$Z|y@wlkS9al2J~sj0$feROP@q(5z5XWrZQND`DC{wYL%c8vJ`1i#&2#3Wl*dFbMYW+=4n$X?MaEu*K*Tg8G8;`{;38HSDCP4w z7{g-FSC$RHMMLe8ldDIp{KQ0L2N!&QSw;gV58E^W2aCb5<9^ytIakzWicLZO?oJ@p zX%&8eGKQ&$s~u)DQiKrWBBzC3Z?fF8Ljkt%vvTNs+7L^csDN_-4iK(V46H0l1N4eu z*1N^1ZnS+Lt&#C82Muu%dETTG%*d@Xo&i~jUKz3yZnIvfbpnPQkAcIxy!zCF0ekmN z;fd4iOUt!1^_6Uqul!EJJaTx&u>m)}w*Gi53rX*1z1`XO-SA$PRfNYg3c*&vR^l}! z1lqzqb)Mksl3N9!5>&|{xVo6xV}YJza)c7QyGTjzN3<r{GwGV?@s3^pQ@MI6IS_<4E5h!Xd}OmxFrP5a%;2UnF|mFxB5itDh( z*qBjmN;Z~Ps#{RQ&dDH_SwfdAP6+qO1c#Q~0o5s<_{l}JFLYJrJ=@)QOey%_8xn%4 z{g@0PBXTyrNxX}xV!sTwhmf=Nas8!Six)~YO_7F9de~`{&R1O40k5VAv|e#%VQ^R4 zeJAcfYSkeg@`QLrI+zVweJp?2v?}DCtI&Yn7l+2|*UTDl^!3Eiyloa(rzg3e-XL$X zw#g6*+hM$u#Wp`EL38iGBvN0Y7FOQwoFv+i1(|T6Vtbn!EG;#q$Jhu_V{%DSr}?W2 zGf$Y-r-Rk18%v;3IojfhWXdBWmFrq7LwxGLSa;D-sqH7QEG`@#(Z1CqXPE2dscdNk zdzN3DTV6TFeZBT*+tjj!tEO38kgVW+X{-o!iBw+s9SPu9ZR zw}#O`Lrw&lp!o%9IQv7Uy971zG?1;I@#iyXZq@)>aX|0Ja14rfKdkR}ReXc#iN{5vrV_l!pVR z!?qBe5>Yj|wC_+{Wz5li(}W3*twFA62A}qZs65K!-sJ^=`KfN&fip z$3i<5J;wSxPL$n3WYom0UC7LWJDIMl7VUSMhsN{x_q=eF8P|-l^=UJ7Aa-tpi3nsd z>udJzAd_74BpA^)pa-u)gGKwZH5Mgy0Rlr{3Z_KVAH8*iS2zTw2@xXUf1!nQAW@5q z29y8UaR1+~s*sgw)E)I34*~lA6;c7=xd5MMJmB|%&I>g6W0ksM|G__wG15p5gxaD1 zb1^UlXzq7Z%E|tKV;~T&0X*h1eFgGA7e7b?c*A*-a@2p&5;x!h?qrVtzzYCbWKaqS zbGd+N#s1io02Cj9F1S-U{kc;Cs4*bF5b%QH0ImFi9uWZ#!1tQxk1H>Uy>}2~BE$Ya z6{~m5PDqbuKLAbi^@QT7eUb_9CH2<{>|8Z2=UcBP{oJNy!*n#v!Ej$0bJj8H^M7$> zRBsEX^0{vSt;+?{YrBb@*SpgE4+>KJ4|e^1eek%3<{6lnm~v`rAZKUi@?BzYRr`AN zZ^DL#hEQSzc(Nc6sC(DWMw6;30b4sVHWm|a24R9`OIT7e)b7^=wRcunXkHSwM+tCZ zJ)eq-igFqn!^=p1T?Y<(%Og{DVQEJv>%Fx^!npFs&&bFAzWI~+*Hu|Du^_(s#YV?) z9fqJW7E7w*?4uv)Lb~wyLevrx60ArgNMr0ub;KK6TRjm@x-6m2kXXDf=c35odQ{{d z3>*xf+LEvzgL<4-jby=Kin{)_BfolLXslvug7#s8*Sn(LqpPH2I)wkRs4s5;GeLes z0Yr%3ULimRn92VyzgnClij9Reprqwa4pJ)lN|rhTs5APg^{HjahW5W+K_{H1_)-a4@`Jb=X&aM$eG( z*gnxW9ShcPeKXqt0H$~V04fYTI@>F4jSIzNzg_!3`Ii&%kG0^c!ObW-wVFOa`4`u& z=R0pzR8%VL_rSZ$t)39k1l$gNcSo%Z&#+q4aR(Blb07fWeWZ~5wjselO^uP@UAJhd zrAmvIB$eyLLr6_W7iz$cFviBQvViL!iGJE6*9YJ%BS;L|W}3&`BtFYXZv1_M=U33J z*!u0xI!|<4M}DaxY{fHbk^=XP2uckewsT0SLljKxnhI$Gry6d)SU$K&`yBhlaLqZgA^O-O#?IooQ2 z=i!zi6Ml+96N!vU3^8xQ?&1)kF@FuV$LcoEX zy>s_sV`J}|Wkl0ReT2=_MSifKPl={?WA4&xG>8fd`+)_DV-1Tw>aore=13*ea62AO zfJW+Gd3U&6&Kkib*vt%`CH$YQBEdRRh6Qth$XaEwWGkYv#1iKscMZk`zkP$+m8-BBluvI{$zEn)tQ1 zkFL<6Q?}@oc`-`tVu6W5mKr8MH{~BWMpOX^Gp{a&WG(;5JKkV&fDuqUskHs`;s@X& zm+UD1=ATRkP>uaRT=WMGHy#BI?SSMTN%DscjEAy19Wz#U>XUH@gi;pW%lkhwV;~4> zK7^;jvXQbxzXC}}cuvZ<_jle0VhB1pkU3?2bQ%A60LYhRK$5k{ZP)wH#lR>a^;5ks zfAb%m%>YTZ=I09Ie=dFy15$rXn)28GSk^v}`sYoK|7&g;WNj!a88F?te{QRsvP{Rd zc;U_^5_t)v$n$ak&P*IlJ<<}9cZ&QEodkYsyH{jAy&1*C7{n8Ic4+ue^SU9sg3E(l zubmjElXzl>{uG8WJrvUPM4wS5XtTZ6LE@1>tnU zJ%iB}d=_;fRlT+!MK&o}{WC(ChVNoqe0PpfMI5xgkkaYzA6$j<0_{(8QuS{ejF!k& z6A5@7*N|Pe5Fy3czh)B>qtso?8IX)B$-U3w^yv>B3P8yMToVB~6&C3q&qfT%4QR#z zm*-C-BKD?wu4!Jr4*8RYVM+2Dv=9}m7g>qTEQW0{pP3q=>J|EZ2Wvs?!qcI0{bYH~ z@2V8jsj-Fkg0*x8--7LuKCuM9|NX_F585XUxVy8Q!Ubl?H*Qkd_a|TQscCE_{N&=U zj^Zh_Mhatu&5|qlTES?02UY`FB9tN|DCL?e`J&Syfv|su03QUNQ_XU9JM*yf!?g%2 zY=wSj5raX6Y?-H;eDG;Sv_WT>YV354;&2Ub!wU1rpK(B70>&Y>PB@W6;)>@<+(xqa zZ8j!hdk;;eXJOm`?$4vM<=%s+l6q|#OixTKae;B)fD}_wZP$D1l=inZ{YZn`r#BI#SY(@aF%Qi;Sxes91Y zzHLKy_C+r8PBKmXfY3+z4yg;l)zLw-jU)nk9R6l?M2SU7lM;@~%~^=wY0re5N=rXZ0I4`~r14zjo9!UE-<^tpGSs_^g!(Mi zuo-@hOYjyU*lRmf*c7hA`PW$wHsU5k^?I60%|~o&GH!C}ewyJ?f56xmWpru(khZnB zcI|0}x1<8T=~E0pzgk|+v4dzq=R`~`wlf)PHW+^*>HERHY@{VyjCtVikfItV0C=QD zqk4sGGgaX6?7sMoiAv~F&<{Vy7rUn_wn3Bp3R!x>aR-0wmKj~Ss^%jW75BD}Za83` zHTqfPH~Zg~pK8=A#-sH!E1YWtg{wtcG(;PXLPTi!^F@23=;wd?pf?4&S4bo00PErq zxuRVD(6^A7+OVn^G8MeF><$XM&Vo=ffl`7{m|oN0LjHjdlfzID6;B!OZ~kkNIvbMy zP#nZ_YtSCympHQqGdB@jHGdEn741;`*PU7sQ;>O z%g40-yzVtMtwX;m=F>xD_pgS6l2X&zpT`Z3Q>}&cmF`u0mv!BnQsWPA4`r=ugVi8! z`fKV$swry>6lxnh?j#B?CmesS+eZhmsRuSb_)oQ4YiNcl!CkC^{bvcS@P}b~P%7Q6 z_y*E>2kBBpP{y-wPrIuvb=X2Z2L}fykNhQ_Ji(vB)am2n*yYwO#3QAoq@K$hQ3nTy zEJk)UO@P#!n3xc?w6v_OPRv7j?+g=?l$7*=K(Mku)L9njN1W3GZ8WcQF}M9vVYgsg zNUxhMk08&Wf-y=-#dYMxC4jc&djfW;hb9GxZF+#&b64Fc_{n0y5{HvRV+1!g`^=Dj zo}6HEl z`2DD|Pleh&vRV&EA>2cO3@Jr(Y+5qsQ%ctIr8RRx?o=Z=hG;7LC;FT8WSj`j;_sDk z8%Vp~iuEtm$;}ef-0QQlbwyX1`xh96qPXXC=vRl5b8}0$D~&5?4#EtH^rf9vI_Si#rUYp?8l+ZFP;wjnBp)JYwU)6YzsaPmoUrHi&KqN z{1iMv@4LuFLjcWBbZMYBU!GxTcr)%s-B#dR`vtSy)XBDe$#G{`=*aMgeQcB!EU%Hp zreu554UI-EW`xzNMe$lb#mw7x9G3Qmo386(;$xQm%Rh{7O#w(Ql>3hyNK6A&J)i*f zR3e2y;+xiLQ!2S>^5C8ELE8MZ4qX>HU|NbQhMJ!q94#0Z5;P zYd=edJ|Zdk?*>T_-xn*ag#|_Z?h^%k5vXkKouzLKM*8=OA6##0XTv6bT#RB5`1Nk| z)rrcBM4aCQ!e zBjj=9rPJEyeuvFi(#*}KN|nX4N=$?JQ%LGfB+i9b z`AKgMRQwzanOp22Awz_$(0I04iO{%Q^aOZua=aF9GWWP^P6^c_YkvA>%lID!5U(Q8 zF7GIS+PrhHof3~?M}@2^2`t;Bsss8D7_h~x1F<0sV|ROc`C}vus^9L_)^GG?Po9pj zZ?1mRb>V(4kCRiJP{02ZwO__UXu{mz8(m~*$+V%mS-C6b)GV;Ynm3(0?q@)4 zCl>~r+n6?Pap5d|!OeY3o)GR9uV1L4jGRQELFFQ77w4t zh#Yg1p#O>Q-f?eN?wmRW5*lQPn zLLo-?@MlZI!1|r7A)P7{YSP5Zz7us6&{f+^%5xi3x}=xBU0ro_7`)!KKZs1f2fNHK zfp_A*YtfpERyLTwFBjoS5g>194=sa2a02SVErtK#UdC8ZYB51QK>capsPdDYEZ-hS zE)AS?pc7!j;5fU^on6tR@TEKt*`Q&dPeA#SKV659V`QnGf`usjPn}gP zp`CqNSFYc@%SRtWwoF$v&i(ZE2xHUJxo53FrW!kG8y&ga#5#mP0h?7Iq`jxiyNq_s$djER&h~eNqrSP z%2tQd8V3A57Fo)D%>TNsG(ULr+1-~jA6=7;cQjs%x_%DG$_?7Uu7}m+C|Xfqz*6PL zS2ejO^RD^mRqJbU@YUvjVkd=?iKBc_z{#ANr9~hk1p1R8#}TSOTR#DObfA@iqxAmI zz#j0`IZ?_b&djcV703!1-Wx$+8e(DY6O~A~csrZ4IVpE=enbl2Xxv1c&>G^An)zbX z=fFq6ZaL4v+sF5xLfX4VB(0z)0#9p(eAG>yaXqySx6JRsY;{d3F88dX%xn*7+Ug(5PQ)T5}Nns@||8IQ}f;Gl#^ zUIU<|%TGY}>dJSA|F?<-zLP@4+e#NsZf}r9l3mnhQvJZs1lMPG`qMnP(4(De}Mm8xJyk zH4?8!i_&%LqCDH5{|l=7qY$jk_2X_v5#JjiT&YF?0Ywd+t?}=t6g7tm_h9{4;{H@X zfucJ+!fMmLw>|L7XR;yLUU+XKqBo$wR1Irt{&3!QDJG;hxpdHi&TjC~<|)JnFV>yK z;ob8rnK9>c=I5N+5Bkg1h}#kNX&7SeqwXm}Gct12w=9xC48uv3bh+tR%u)|@9NXdUtYk_y(DrQCl z4IS0({Vmr;_WT1;79s8@x2R>hD1P6c*-j52Gliwvz8CvDDzANo00+^H;$&*^yl2~2 zC6eus#_}MOc6-R9w;k+dAINQeWYBeX-3k{!=?SjnO*`sV!|qRAZUu%3fWSNV${Q)H zKhE8yxAp`EbN7;kloR}yl)YUL+MxXn46S>gEKg?1gn}Fzpcls^HE!#h`1TaFzPDOx zQfbjW$;E9lgbqaaTvi;MUKB9cKZIkuQ58CroLBq#D#C&`qpY!a*fdhwid&!&nFOIM zBHB_G<;WAa|cz7<_BLqj6j-wSgLD^XiAN={4lw&>;$XJT( zIxG*cGKm)iXSXP>vvMm9zRY%F2DDR!@~nQm?a0i(Q>w8JR4>0{)&8PAkyfb)zw4Lt zgNbSE-uKn2$s-K26wO?hsG>%|q$x3vcUBhJ?j)zmxO|j;S4;jlBgkX;Tb^hDfB4Yf zQ_9AjFg35O@*QF8^E*=;PmB_4PR$ZM_QJPpza3=x_PIVvKV0f$Z>xOr^=?OpU?RU~%lY24^b1t{HTV?Qq3LME@mZSa*WUQj9h5jqBFIY+8$Q0?Ztfx7lc4Y_n@N#W}iK z_eU3CD%NH*R%xI>v2X(zY>h*BMe*f})7?Sspy%TmkxIQywz_pUCX*w*Rv$bUSi%dzn)c^l3@UK zTyp;KnTs#BC`1}?n0e_W3akQ#2jJdwV6M_&D1nj5eCAy}KrU>4Gb@RFo;w{MA9qua zr`LE!yJH-eoJDeVCU2j|iaSxchm`#PB|o(>oPdGn&9)^WgTo%q)9}&5=xQ{Jmm(EH zMoOH88(-r^1{Wz8DKi6-bQQ-^o!+BcZk2dkA!4#;DKx7Cr2z0eW9Y`#!gHH8{lE~f z{?3nd)fPft7f~=c&U~>!@%HNIDB8I%;_d0LLXYJna&mHjTRRx+Z3pHl_2;TgTB<54 znDX=T0tXy(OXXgnnwptSX7Yr`#K*Iz$JWSV;xI8&_F*`E}^fy)T$>W)hJlcHlnM>cN#dmC}AkP)LEQhlhz<2>&2GXBgQ?~=@OKQi#XvsW4O(+ zFdU^#9eUl5!!=D6#9Grzr^@XyDhrQ!VR-G4~gM6a48Ejuh=8_vhZL*VAOD)veFAYAeA7_2oXJM1` zSWyRh)7C?;o~oF){jPWt^{z(o$iCao#VC1-v<K)ju)SrBtNnqI-kt1v&0)oO7-ugPf3EXnCAsDost{J`BBs)^?y zlpG(!o^+m_y=bK%uP8|Jo^e7Ql8ix8==@*uptqU_FU1SN;AU~u+bP5Z`r_C0eL0Ox zrKNq$;X|I0R+=u&H&Yx<*)n`-Er#AbvP=8(@kg=UgjaR3O{z6ybdBJ)eQPRh%^Rp* zC<6@hbh&R2yKYpqHMcV7#dXevRm#7JZ1*1}T6qtN8ZGCz!O;75as10s1e=y>vsm*I-N?LFKMS_|B4W}3=3f!`|>CwZ4f-zG1ubTNljqf&y_H zTU)&#p0{&7O%O;ter89It=JdCNag{&og8 z6xVBgksC5=6LK2iP&(myq*s_CZOZcaj~u7b_6Alh1y(eATWisl64dWaQO1i(=h&i} zta&eASHBO%3HW4E;88pk5#v)5=P3VEu4@&F+e&?tJIN4VPh7%2@8p~HFbU?mh?c)@ z`f1F*n3&-**u$nGu~a3C9K^O%hbv)9Gw@xneFh!7D>jhJQqQ}tb40M;(1ztsLQ-~n zk(&*f4_4iRc3gokMzE}Wq;Z}G4a;=Ddg&D0k~uXLq9Io4A5oiSl7zg?XNxx$44OkB=U+=v=zla&>C!Ts|%B406UN@hFXUyBWg_`yhDb zP~cUKlJMcp!T3Ro+Qq*nbd#)ma3Xu!dH$}GV91Y`XRZ26`PP45vX(ejt z5JW}v^~PS@ICQhyk9U%DXh_ZR2KaW`0mCO07(iyg{r1ooNosJq(XV<8FzlkaQpx8; zU@A7tg}k4uglL4kgib4voLdQc-&jP!e^>W`T2PHK_1!%g7qUo!bTv<>>7EjYqL}=e z?=(wXu555FCemAUm7Qrzw;JjAh@TmGV;1key~$8ZHk)pMsbAW@L=AU6Y<=?3&;fYX zQ($JpjQkFG%OPrQO}BnCPR%XU{%}EsLMmw|3^dHSzSwyE!Sb1n+hB^H#-FZS~xX<>Pam9}dx!nQ*yFvQ3aoXI48U4ggI` zslPmH(=W2jTtBP2=kCfUmBwQ5i%YTS*VP1p9@3Swu4c(E)D$BvliyY<{jK;Z3NOs9(kZvM zy=Xj)8C37Kos16E=6pr+e4f-eG@0Zp1q~QOfo>@lK8q%tnmzeDh!iec!mz=lh0#2< z<|d2kBvfA2B&tm9@8x#j&6k>0;>jmYI=ays+#oGkb61OEmmb&!k{S!RgycFh(G zmpa(H6BBMQ*ursru5G;?-a{DT6O7xE9Db~0@eCT8=MXuoa~xkBFBUp)?A(gql91wZ zl(E2$4)Xmf0d?FFSyI*e$UE6W>^rXi)M7GDO{rqZ!L4LdsbI*B1iVo;i?IFq8GcO5 zhv8E_PB#ZF(bN)piX`WZ+>Gv?1_&`kb4%5Mh|%Uj41-z)OH=Gw;ucTM)%s=vExbP1 z$jjgFYIuX5d2VaLm7VlNo7Uas0zoIC3sB;U^m=49mm@QV@+)8A^re46- zRnBL;wg=u~^u8wf+&-qlbMe(t z#F-|ygg?K7*FM#}P5wl)S`VOHhb8odplcpKu0N?=mz&efy{RF3 zuH>umz0bl2qLPNl`o*QAxEc2I*cAFBn_cB2Yf>Sy(a5^JS@=$v{mKhdAfxh-I*isNYfJ7h@gaL@S?rlVl0|n2i7cxK-BS$_{%=@#-a^4(`I7?WdX>NcTb*5eNttYS7IH=@q(!u4>h>U`O zWa44`4=rd$@EjF-vfWPTUt{h%@e9QOcy8J-hSTjlWwroyjoJjg*EW$|IzH>lo850e zS@$_o?;de>6Xzx9xvrzi4EAvvV@y6~yI}kv}K;=@!wk^HCu0a09 zI5R!LdZh98&i?9q#5L3NFemV`Ntw{#SJjON;WEN3mC~8w2`y)+M z=M`yZ0EzoXR_NZE|AGB*!TNX9R1Ix2td7zsFpm?0rCNw|K*PV7&|#|Ej*wAI1Q4zt zQt);I)_qzG{brPzp$G2();Eqp?Rl8M+mP}zfUtbI=&>HFJFD6i7O%KD^SHMak?0)? z8>WZG1As|U9;j`?Na_cd?12=G{72U5SY zd22k3%kR(>Z01!`0=v?NdT`AajYsWgGA>m}WXcss#Yv!tyOfT`xI3+-PEe#>bDMpK zr7%kY$n!hp=cjGY=t@n_V&PtdP50dz@-;9a$1{Q^3IP*_mqM+S6a_LO2&0rH5sDF% zBv;Kej`YkEt%Wyqc)tA-f;rtRP3wX36d5x2AQI3QOGj3GV_HOI)55v_u>|Rn@_hml z1gNfy7jjcus9}R^BZ>4=H|HU&*LDV`Lc^KlD?)o{4S zgTUd<+DPC*kzym};hi@BjZ?c*v)U@-C?Q5U4^ug3@OUl`uutIa;b-K*m44)BOX`8p zh=RkIQP@BfVX{fJ+4jplJ(}@yilNJABq*+JYK`u6smU>m$JjPn83q3K-4J_9Dj&E- zgHzHWA4Q=^CJmgab-xM=8hCbY2f-B|y-I^Jrs=l3j$V|}h!Fz(w<0OUz{ISs9o%do zH|B1Hmu`&c93#}A;XgS^yTN)ow^qX5qFNI(wbH{u{=2?AuoMhQL~IIKb7NND=jzZa zSvW(}Q9J}Pk4E%Z(D=a`i){oDkm%k+FhGTQoWQ6k)qyGKzY&MK-IN_-F_1qt*r$7l z9p{9XgxBc=Ye)$p-#D#a=MB#90UV7eF(bnB7){YvGHWW7gJjpn!pR+$-SIJ5ksvAg zdFP{_+`<)#D*jWzaCgJSOr_EDZb;vm9el#MKZcl9sAA08h#e7Esn_$+G$`o^o?3=B#sTD>pkC-FpA;{{j%CAbaa)L;_fnI(ps4 zHGciC4VD`TUMX*`LTuD0dkbuw8A>|(4a-tNfK4kkN?8Ze9x$18Q<_X_HF{H87c*a9 zFh_I1j~lDwA}cHZmU;S~cn@j%X0Fj_EqOq4QBJF=#h1=>@W=}6MjroowRRiK1P~o* zq3EJu+!+JP&7D{yWCYNU^~3!frIf}E3W?T33;i?;w>JO<^{;Vpc`wEaGZ}T_t5n%r z3+TmG$5uQgJdm-IDwW{dhvJuCMRIwDxQLZY=kh@s;QWQiaYF{2>cL?<YQHn($kM=Tb(L z9nUjz+}`ICWDP}?&|+nJOSfb*2$^+&u0tsyj-kln>`wQr)JXeUK#Lq*9JNmK;fCh6gu61W$bDjsSwj@IqPmQ?U zC?r;#GlOWPC0zvpAbKxE#J0?CUKi);r`gzR1Dt1TmLdj`s$3olXL{AVLvg~I?@-xz z_VZul5aD>oc^EXbvf{^Rg}D-br{Ans;m`b9Iq?h!8FXTH19BD^q-vSdsEh2dX^!xb z|4N?05H**4X<7y5bGuQH0~U)we1cc}YJ%_)fU^-CI;iLosvMyjX&n0d8SoiozT&-H zN_c2+YrSnOQv@L6*zhgSoxxFt;rLiskh}F=`$DK~R#C%HO4na=h45n9+NlaSoMb|l zJh_=XcEU!R$-W+`LO$X@K9q=3?gVAdko_P;XyU%IaK3EJy_lLcVBM7bxMDZmw=F@z zUQfUVRrveeEY$Jd8jGt05Vx2i*ED12iFlPAz)d;yP%$7>=|Q;^?iZ{@z#N}y zn~HzK=UqvNxVh|d+-@pXiW!W-4#VTW4Pih!k=NuI!`}Yu6$X}=HbM<~m=ul{g#Rcp~?#C-5|$9 z_L$Dw392jG8}fPmR=B&p(K6V?zozpfiQgHQveZBBhuNIIRe=h}ho8wm4ul?8}@QH`%^b-rA?90nVog`$dqZa27{{$p7V`T5w0e$72 zOk_#llD$%MNn4hyr8a0eIocqsug3T^p=4{tq0Rv9S zO@l1!;tFcFSK0J{Q*p}2M8mv{fvA~Gsdmo6Z@I!4XJlsBry6lRFvl6&*1kE5^psU| zR2p2@;-?6>c#ulDe_(#QcW<@Y8x{Etg9$AND3y0LkUO!ofqDseQ3%?*eV~YxL){+H z{R14cNul);ef1>spmn4`68emKli1_wYIQ})XN@G$4}aHDIxsGF4t-_KKR0~zDmH7* zY_iRMAlh}R>h0EicxDTC&24DO(6?b|Olc-eZA0xw4)I@!g~XaQiL|&W1Ed+OJ0o!4 z2mxF4H{T0uqwaC&!cfxEjnn`J-AE3h(hM+C1I)nio#FSq@B4iJuoi30oVo84dtdw7`&?T9 zDpH^fgdn(hcy2egSQ!sJ$$a@VyP%+8+l$CYiDLCw=sJ8%M_c>5&ubV>eSN*SuBPVw zVgLQ47lz_b;VprRnW!kG!E8h8@}yK4efjT}l`;<^|Mn955*;bGnEQ*Eil7$v^j8w4 z`85q%rm#b%c{JSQC^4Vy++NmZQSg*Ty3y5R%@gsLn+cNMIRe2h-J*zxq!NYIh@9bNPhfUC%I6aBjsn@`$rREWX5S@Q{4FdqUnB2aGl~6)&Y*QYv4;9ELdKtE z)0Fc0r&}Bqtydcrne^uDm+zNFyr#eo`)LF^`&?x>ywbI*ds>F>_?DMnA3agN_r9OF zE8wS&$-r&)BpoIfRnI8Cu#l6?YeKroQDSzLW+o=(fsw{=(kp&xp#=r2D40NA8bz_$ z@zcL^f5pe>np64<;FTqS4_4zE`>J92_U&`sl=F&*W4~eP#9xo?zu?ljop_NJ2}_ac z)TRaR_n)bYo?ZjQoQzP+tI#LExMP~#`=-;>`>jGv_<20b;%1OR30U<2jf8|mkD2R- z42m5`v>w}T+PeT!ENL_Rb$?@h z=%e1vpWT)SUHAi(wqmk__|BlZ)@DSTRB9EvBmo1I$yeukF#FQp`qn-N6 zP|c5tn$7BTE{bJDS7G<26_omPrEUAZ`b0H>J}071r6A9dniiFzxMh-lTM!hRW_3^uX6%B7+70q^WtIeI38If=d)tDjzxQ?DE1|4o$*n zMZ04xw5y$Md-?mNxK5Iz^_P1 z2lg|VtM#RJ)Ce5Mna+K4PXSmXrUvH5l#dQAtW^eM^Yv{adAUm|H6~L-$!clioRXh%Z(`~GF&M5467sxFL3jJ>w5c2m zA{uU$sXMJL_-D6@7-)RE7ugt7Stb>uh0DR#*e7zU#&#PKJ`Zab5E`XXGVqhOW7#Q> zRIe@LyGrsl*We`+>_pecsbT1-@uQ-q-nkRnTu0ENc_w(T|qyy$OCK^QJ9^m9> z=x7x5HcMb!RM(8Dr0gV{y(Gfm@cuh#in7Y_fxn$I&5keM*6e+YFS@fqV8SH&D${lR zAiL2pGN7&=sjS@zRkGipSo&5O-^YgZ4 zK$Iy5ueRf^c}4XX8##^PsQ;-gmPO*rnww8&BuLmKFHf^qzT%+s4*wUjVS!JNbDVy9 zatYwG2Gtxdn$U~@?}iL#js8#229tz)v>?^Lisx}h2;ruZwuo-@#g2b{3iu?Dd!QFQ=;Q6O5HzGkw1NGK88u5WJ~yvMj2C%XRa0+FoC|Nr85# ztjD@#z0sfdsa|$=G-Znv*9eC)JO#}u0CHv)Ar#p$6wn!Z?!u*j33pO1^rsGr8efxkG*L2?b1~yB^+ZW-LGyy~MRJ2iGc4=$JvFcxi8b_bLytw2- z>d&DEYB~`fzf%@*bdoGkSprC(z0&WIyCAewCM5W$<2T)|sOAyVlHk>DQY^I}&d58J z&6XZJP?fQ%#3Zi=f26$+u4*_dh(Fih#q$f!1TD!dt!zOq-+5~O11``GuF$uAomeYn z)0Z{wLmtZKS+Bg(gA;XFDSr<{TnaT{8_6P(L{Hom^K4&&eK5D`Bu#^3S~%)E`~Jh` z!LyYrHIFu>_1pK~#nhN(zuL&XWAni+riVgDih29rnb5DdnwM3g;$&YDZVq)6msC@N zhi19y+?+9nV)E-DZg17AoYooQo+%cQIYA9CS$1u1)L0#@28%mGk8rJChmr4=)`FOw zzPMfl10!RE7o5xy5vid+TLTDeyqvC7A2uHNtFO7*_ZHlhKd7y9Q>D=N%T z67$e+R)`c*UD#*AP*RzS%=_JvejjGJr{kEWhLWa&d>`lBP1?h9EVAMwBmp`=x6;K8 zU%S9`G?yQArQXZt!|ud$6CbE1^C+(Mtji^-xnC=yqqS9W{Rf8%@QSA112?t5-2_)B zo;-TN2^CTPJ>TTi3(In;DKRg&zTQw7wRI$cH?bm5v?xF|PYxetFiQY#RLtX}>r{~E z)%;GP=Gwih0i6#$`ibsXejrRw1LZ_8+6ORJ=qlU47%l%I-m@|>*g?I=)CWZJ+1?Qb z6;?!{O*ZoJ6}QYtCp@#9)am@xjOzhURqn;5E9j?N>+=)$y-YsQ=r9FIv!*_Gf0eIa z+ywYYN5@=;SiHtDW~EveaM~{pf2Nc2Zg;0GHho|T_+<{+@t8^JD_hxw zbh5v*%_JXW);9N$chCI_Hmv3%o$~ZC7%iv%sYuZ99PH>~!WyB3q|Dl}^!EfW#Kemk zu2qWh>50D$HAA)>KS_5c{A^K|eC`3p>=CGg$4JXOg4S!-u8zr9XW?qo(-C ztbWF<@J)(J;LEO{`jlT+ju==g9^621nqUr>BiwkWYX?{Hg}**NHT5FTbBc47;YMO= z2uc~TZIY&g!N@#DuC0v9z@v!beqx%rR=>oIbBtJL@69C*`0&Xvt>J3e)wKV66MV!5 zzp0{Qs1Ua=PZO9O?yS_b3AcBCUjVgME#YK3H%Zacs4R-)iG1PMKR3%vQ6XsmVU!q zS|X`@@b+|_U!G;b+mhrZr*r+elZQwb`#*Ft zyfBn}YG-HvE|K;>!jRp0zp1H@#yuU=_Heo1C)pRdQ#%p!{#Z^~t7|lELuIU;cSSnlm3a^B2TN(>13uTy{l| zxUHzOR%$#yq)2OVc{#9b_5H#WkY5fR3m^Z*E&Obag5vDfYhsVn?%TUg^Hq9Yp~l{9 z+quYu*Uu$y|1LL^%x37D{7Yy~R1J4Fk!`QU9oIx*Hx7gAyu*M0RI(3!R>to{F*_t- zx}1Lx480xO;e7b*x7ko1BCtPY?T+!6lBb-X7yFd&1x?6LQZy@PP+ujtTG+d8oT zJvMemojYTtrrPGcF?y2S*Z!ZOmkoPsmkw(-UmDwENBD!g5dz}?G8krE646&te+ z10*%46%7OA$x)Akn0I@fO=Rsok{{$?3SHc|A1L#Zbd>%as2BP{rTCD12eIKvdMcw- z>iu1a$awj+l~{T(q$y}Y&}id(VhH6Dn=S|g+Gr+>i8oVU1o(9Hf~O~>$F+;gmEaXy=2SgCqS>ybXJ z1uMHg%cJvX>{NnolIsT{UU&zvYRAi(?ui{g6mB0x`uy?cos%?Mec)&5*TKOf@PesS zO?GRev->Cr*BAy*qj55M)g9Tr`d4iaeJc7M_68Kh0&Y1*_T!`ZuX{=N_>Q1w+AH}t zJ(5?H-*1BSDq~Yg?ZMW-#HMn_r_`^6bi%czB_)<)`6@Mb6WsXg^p=PQ$fGwu!Y;uE zekeTcMQ}qEp3ivr5twZn)mwx}o^2<(?%q#*u4|~97aE9n0D&eLRTZ7;%4kRdVtJ~Z z%*v&+@_w5)AX^L>(=ox7k{1#p%%&tAM3|^Wt9~Q1ROCEK=ndu68g4o1?74TxaB*?Psd|K>(#kwlXIgnmcC5-qg$fpI$wzBaTbeW?e* z#F*!e6!Qfy(jq#3GJquZB@#AL=oD(ba8T&?0)>&ko&@>EOz(X^ck)-PzFsQvz^f~p zQZRXQ_B9n`sIgKWzGw&fOIE*%HMKM}m;*2eqisNx66X6D^Zv#!GBp4%lnJH>oyPu# z-?X==O*kF%Hz5+~U+G(PwI_2+rSiXS>Vm>r zLg_>jZAo@^g-S`iSFe6?RXfZ)npK|q{Ov;_rMIk4(KM@*dK0<_nd?XdPd;z_XCdY_ z?Q;{EvD^2>RU`YR77~q;z2>(;u0U_~XZ5OGX4-|2%`7MMwvuJvO{}%DRkRZRRv{J4 z{^!d17l&+(Cw8}rLuFs_jM>`Sx&p1Ji&~cb)xmMKH_4c@qs7!zvp|EFVk=3$&96mB zf#%a5td-`AC+g%N84@EHn2w#jo}Gmd4Z5{ozM$t1k?y--MVa`yT)MgAvG4P*l!g zB&Zz3#BNP|sf=PA`^QPEuh#G^y3}w%tL1EaDj>&+e#<1erOx_#>Gca}6-;60~tJlG1Ma_`Pp8Gkc-1v5n#Z<(;P2ryhGN zPG&Zxk!OsX0t!?u@16?+JcdtElSAjqESvVfNt)cLK*l^_mNRWG;7MM$`CWaT@vco0PA zV>SJn?&IgV@13h(E9M{0%?!>9DoGn0#~WrY@Ho)-^a%9Q6qR!1ym&qHvgs_SktiRZ z69!MCAp>=<=RV6uG~3ayyF1RC$Oxt|L$49CaF1Ofx*i9#Wlikt?D88LbPHdku~3Bi z(s$BpX=@jlwFkO_2Qg4Nbyy;#h8R3(;f}DxY@(LC>xEcBfr&;LpE2t=N5D4EyVR>P z$176VQ_-My+zRmA{UyXx*uLo--1auDQPz)zQZs&MtRQkA{juu)6J%L!U1|)tFpB;WYC+E8JoQ1s@~pzcHGI}kLaU=9 zaIx}KBu6>gP-o#)ok|tb%z3&(HTy!yJNLzG4;SM)d6)MZ`6o=pv=S$3mH(IiH4vE6 zc06A$lwy`@VSiXgpw0IXFEd<5EC2d-xMIiB?t|ES`-Hd*)(|6^ zCY83k-jRF19VdeKp5Ile1GE+CXQF^t&NG*$!T7VO4GQ37jl39yYrqUPyoeP{e)g2 z{#f4Py7GMHt4m%KkOFS@+@@=|CzPHVj98jv6xF)-rzmXPgmtaWGbU=?ttww^%%33Y zWbeL8{m=O7&o*rX8m0XgQL8LLHLJ7ix$wrglmZaSC^wm1Sz+rR0qj4xIL2mh67?2O zrM(>sO$N$my2-NL+xlG=ZoOISCmJe-ck+tCnuLA-mUNK;w%~g7+;C zt+NAkv;6l|o}K_%6GIWm?46o>w_(|rOfeEznIfeLL5FM}hn6dj)Adie?fUXc`k&!X z7f1@S3citTK0w|KtX=|syH|>4tvCDS4!F+e5@rwy5_OcxEadFIK)iDgXzeP4o6!ql zD@(C5ll;4Q`Ia;6QDq~m9~9`{ZB9VSY%GwwE=yhE;~RA}@#OR(>n3;NgNCJ!de~FJ z<*2qJQ(0O?AV-0}3Btio8c;j_=vEcYfBW2=;5+)EUUocgWF@n1gD6J(S8~9J>6Zi; z!vs5{4nAo}rvmQLI%vEXXgf&A@L5fB1$wrmru>q}zu#Z2`1iZ%3Zqmm`M=}K!%ScU zP3ZUncd5U-(ClF!{0#0mFK)siHgkGE*p~QIA0ZbQ7}#O=#MAVH_08iRhw$L)j#_yu zD=Ss^soVf_hbm~-G`>s+S9j`V?3^mqj9@a$xLk^6n1l;cE0S~<3+AB9Au+&C$_ zr1$Rk>#IrX&l@ZsckkF6Q#}hb$HuW&wI;{vx;QlP$cu&aRI8>PD_H5MgwOW`RKbj6#Lp&UH5K~hDd*JUffF6 zNaS?5T^ifaVLH{N-@4EJVy+A|C?E9Oj;xu_$dEyVd${Divk0mzVL+?OouA6L%8XZ*rS>*qiDg5`dnWTKs zE_IH&`EW#ow;JSuy>rJLGughxl;Qrju@IKb_F}3Hxf@ciV7lfjcS(f@_~1BxjuGJd?zHz;?(+T63zF@hZ{8wFs>h0k_dl5 z`ih5+`brdwsERxMQ&ZHBin@xEuUC#;R_H75DxtcfbIGDEi6=>^8R7RmsiH zS)N%YilHStx!aN|4y8w!vo&L2)8z85wX?MtyTn08FH!XhqW^Tw$Yml%iXv^U4;z7y z_AGb4nq`e_wbf5MB{GDxyr0SmT=;D!%*|n}7-(|z$b?d~GH|j_4i|#%O8e@|eiPn0>w4XX$Ppf9yN%95cVgPK&91 z`9tf$%-{Yz74+KY>-$+-OguxM5nTjx^9?Z7o;POZf>vafuYpiOj?_VTa8o#{RDjWL zi+d5rAUIsx7%-^FCr()Xu(uekBfeZcRQmH<1kB=y=e@5(bL-4Ifry(ICb=FxEUN#<_tsKsbIO`+tIMGifl z3Vm}%{l$k)K^{R&FJ`#8xmW%LlrDQ+kvGE*{Q7Y&dQ9T+H@0|})g}_7U}0O=)oP=w zKzF4(mf+6%=BC}?WzvK5S}!JNt)!!+?)H|(so1=GZP{Z5%JGGooy^Q(Z9LEAU%exz zGWw+)B_nss=ml^4Y0zfBex7Fd8;8*xj)qe~oID{}an8FieT}~Po%0jvS|JHPD<`oX zM}&2P+gjRMT2bp-(>#j2R>(KAmeJ9$rRn@J%azUqxmkI3evrr@p<7HI_t*R4#4b{?PBwa?jsT z3Z8SvWi#zb7e7{<2vWF4l<5?NY^PgKy){3rGk$XQWR>gFP&>!6t$31CpVIhSiaVeB zL*9)t9O&Dh?GU$3t`rQeshU1uyRW@q@+=)4K%zD71DzHf^)Oq@h^kfUsbfH2)i+%5 zKWLgrYaYb?JyrV>P<5!&J?3kxZK_ijn3!F;?PDQo%b4tp!L7v4FdcInMnnT9!Hfh?K+Bsxa|3j{>;~FH8Jkq?wW%7|Y^;w$-4MNvpeRAf5 zvSY(GA|}i&ExBGWfJ{e>8l%9z?Pn9}HUlT9mQw;U_+7FoE3T0qyC~{Q+1QuSigZ)`(s<0@xlfw(w6-W zu53L9hL)k*nWBMY+GY!$-KO2ehsaMJ)%z^s*23kAhV6c3ThnUib_U0*;h9r7pU-Ep z{1}Nh-M7_{`f^W;P|YgiyVSewx5bOte`gb~9!dR;(m8VDopb-if|0l>xUa_dPLpiy z>|0a-OvqDo`<%fAv*bRBi@8g7L(J}7s;3(oW-kaO?FEWNr3>c;5lgAhLYBV3M! zN1pps*HP%#NrrQr`6?9U^(U8_HXwTRAF4eWYmkkvT$FW(2H7@w}BMPk!bp3D&#A`ugx$uoAO!`Bxq;?0liWcZow}#PM z9!j{w<`3#mO!A9I0@oYPh6t%*CGQs?28(nKurl!}Ul-xWXrkTQPci1xt zcF&{x-TVBm3U9nWDEC$PtGl&>BRxYp_8voUNwtjaKeKBdAB(^4X3&$py+gEb*N4$c zk213>IHNyBzO1jFtxKmnF&%_&!*v7@CJ%iAjfyJa;W>QA=vbao2zGCd`;6XxW_r(K zC!cSkWT;_Vz|>x@OvidqFSLEB0X=KAgxPdb>bDoqVyQ?mv?w)bGg5MInQc;=o|+EI zxaC;5Q)J|CQQlJQL|pW7I_Pn~XdoQu?J}cBbI%ODsVhoQA3^&4h{|L)#eKb>(n_VE@;BfL{K6&Zy z&}-g|+c&?Y)ASy5Qn_r(NNvmu9R!Xp`tL_e<&{|{&u0@edNXgFjfDeZ<`r0IB7-ma&Rd^vJqS2LK|B@nx@fT^ng^)qw%BSRq(}a}X4rlRg&(_yY zy=DR|0C{xisUoR-g&|vf(0Nh3UoAbsH883h+3D&(B&>yGQ|S^k^Nuoi+$1tp{mCD~ zQLMOqPU%$lPG9bnF4ABNDB&ZBTfTZk1Bqq{?Q%q+dNzL|r+Pyw^jP4JbN_y`JwbdC zj{lF?n#%9Dx8;Mfk2gNFOy2Ti4Zei`p-TiaoN=$1%fC<7cKK~phpt2Z9YluUkc!|+ z%mY1G5#!EQuDX(g&8Wc0al8DuhR+^7b(rKySr7BRu!`HwwojMDAFUb3OA!gTva(Zx zG$5EW@CRG~zOn)C_)H66H)!9q70$E+t-|SSOR2%D--Om8wuBT>*rZjd0zdq_qOTbT z{fOS%>a$)RA4Il3O}>*fjXiL}ZSmM@kLi-i`JP)-6H@lvf#ws~wvk6JJY50}V&Xwq z^tNx>wK+T9%1Om?h4_{amLZ;Db->Nw3wg#BSl&@9Zq+EBDFbnLRrt<(CGb#&$~h*s zAtXteEjmqVXq2EV#g>H5%jR?aCcD{*y}wvhs|k!3#IsvBGvA^##!=JsrYtl0)dbS~ zLyToxg#oIhGl7=i&*G`+@@=uj8VvNbX@pKefWS}KL`7qU9 z9(Vew2|Xie9C8&ulgujwS66ut+}3#O&ptJG3)|}aGOX}()a=755L3#UPhCx*$R8G4 zyN4zG4%&uH*m+np_GsB#iwHkwK1IS5BFNaEpz4m#8ez3V)+Pg~#7jEL_ra2L-JC9+ zx_i?5b;cCI>Kj$3{^pQ)4AVg!U|4eghxdC+EM>r5GBSc|`Hiw;&;!gNa*6Tr7E_9} zW?X^QRhDyqwS1j4`G&O6!qX}8TTdL)2|w;u67c!mu^|T!EvRlP6sy8C?GsmaW(VPm z`Fr|iW3tewd>cm|fH+FLQGuCuG{oR!95l{)Hi8amUNc-K9DBw5n)z(Av~pI-8EHjd z*}4}I@Xg$0Y5muiMCY}bW=lhJn2-L;<)a{B^{>&&zspxxU~oIAqV2^Q?Vx%f;_Vxh-kn!9=m7(Bkz zbu@Tnt9T!<6@6YaOX?vL2;16I(67(-}{rw)JH3m&T|8Y#fc;D&O$zwHM`a?udVbqE~XpB zV^Ww7XY^*18}=cuslZejFn=m`!^n4P^n}+Jslhl9gI0t<;?+gQx50OHAT7M)eq}fz zi!WB(P2C9`8`(?HUnEJ?Nxfuia5guzwA^gUFACqsvhd@M{^bv&LU@Z-FJ8h~O#1BV zLO6F2w9PjSQbVV{6^;FzU8^gTqaqeo1qM_PH5r(fHF3p#l;_Ll5weA$)rzC}i72)7G!x zC^SZ%#q`E-rZ?Q7+?CPO19zFm7h&-95_Ai!R`}t@xYFuywg5;I2o3K|-&dF1{Sf}= zjo12!&?LB%ngUuk2}^j4*}lRkZo~BuN`5Wj?wf1@Pr(^?RW%=yw(cVT8eo9^Dog^* zh9mR?)E!8_wgT_3Yu*(_o15ygu1#U^|BMx7j|ccn9h3F$-=8=(q#7IL30fjt^0@d@ zF>7su+vtf*m8ugnjkhA%|VE-TxcNQ-^t@hu2|;au?_Y z=P4#j|?v)9AMw_u&-*y1B;B3_|yaXGQ??Qmn`sG5%M$B${n zH|mA0&x>JpUNUF4)P9I(4VERn`g~7ySuYf)$bZh0`mpey;D|7REmz#X3I-gbndgkv zqX3Ni321S&#m-1$=D;WiNvR!{Ho{+~4APvud0~@#=q|T??|R4@Te{CrZy=;h1WZ!& zEoJdIIJg68*_*&VR;nk^gxzUTa0)#F>e{`)VXfe>NVwkHJl`KLFC4|Sd}v3aOn|O$ zz0kQ~4;bLuFIHgG+HA);{Kk&~rM@T)-3XyEjl=5-=;8xSIq&Pky@gjC^0NZe$EcqUHjExFOGH`w|+N zQrC3Fhc)hwL5lSX?U9ZNOan(_Wq6mTa&-)Ihoeo=7hFYM^>cbH21wID!RpLpi=nVs1{yo;B67kY}gWq&fvRcr( z=NqYH;6^LAQKMt>Xr7W$E9f%SU6Hyu&#wR94(XAFCcL}#<-|N0^YOFQ#s1S{{_}Xu z*GS_0EYGOkjvYBwc?54NOLbq@CXW?cz1t`aTo4%lf4)zGKZ|Cds}WwFnz$Me0Qh8@ ze75U4|IPh%yR+U2_T!DUTkw^a@gNR<{uC+?7rOE4q4hTF>K`s>?z6-NmdkEpFW43} zXs9Fn?Z+l`I5GvG@BG8d&RO&}?uz2g6dn}BjS`St*@$8^AoGwu{;3!~cd8U0v#rqV zank^sCO;suF{Z+jDG}jcrwgpG>z??hM@$v*J)(;d2b=uy4G{SSY*mQwbD@jTdap&T zi)lHEp*^_-xYY}vSOKRNdi9p+Z2Wir>%j7Ze^m+JL38eeL~Pjv{<1a`vzq&Ii}a&q zXTEB_hbGc6Z_9W=p>XG+8mZi>*-iYcK?w;6$4H!ep5bSv#{p`g$jH;kaDHw%!|tSt z9Ydp~N3lnl%s!oxX)P#8;4-;uiIq{nmlqHi&&F#7(&4cHrOk6F>22P%s}^fv!t-rv zUWgy`H0MRS+TGFOPdz`O%B%2m5q;A}FfQ=;Pv{ER-i;ohffr)$CyiOpRT|^p^@n4s z0xCd_zEzm#zlp0$>Nw~O?GZI4L(QAu`&B#y8Sx8LQfP&X1#p1|c%H{6QKd}S9i`K@C)}U^I5|5+bTJTNf;6j? z?HC)r#h~5c(vSoy3DCaqNl%ggw&=(`g7?i^_q$OZxq2Q7wjtNIMFt#^oildBAyi;( z120ZWz@ZKxYONgv4mx?JO#RC5P*M4`l>kw3(0uC^XlsOoSX`hi0I;d9Da!^*{+8_( zGNYW+tyhztK7Kl;GjP|pc>M+dLd+v$V8Lty-uyW|*|!32sm7w4!sl-|Ct&V}krqHY z{a|O_h`;SX%ZdJfHp5n#tf`8C9*D0t6$Iw8sGwUjmAoBw=Gv9?q1|!*_xd1C9L(K*K*5hTpESPbh9(d|8c`@;Z?MYN+$#7ZZV9JP=*< zX9dV8&g^VcZwxT??wc|fo|>}f%>~wY*w+1a_Zlr7!8OYo@OgJ1pQcwJ`AqNBdY_oV zU1K&z^d1F3SVnBO!t0co4qtNI@|=zMH0A7}Pf!SH`)7>3^>8Cch1fxyCEmHdH?n}; zaA8&H+uI_$+Vd0X!5h*VF<)0U_!yHK4`~<1V&UITRrkq z4VEzK?j9rx!5Bas<`j;~($OY8IQoq)Z8q-BP8nt{ zQPP)wQSWB7&a*A5M1O6$G67%LhxmB$#uVsD&!)6QN~q8IGuW5={6?163+8#ycuXSt zn<57*4Hi;81C{3B-K($Xa0}I=)$5YZ{SuxJ$=06u1cJbTzO2C4`7Fl{TRvJs?k(Ml;%*htk`O zkMPmd(V;pL)1LBw38G|LQt0Wt3XGAvQHMMw0LADc zcDhNk<0|_4Ps7FLg6O9O0i#Suwfz<8PM=%o9kSY6siSz9=4Hewjb82NMQVF3jW<*} z1~hEgU>(m2pCUfOL;{YA4s~@LXK7(OD5{j;@z-AOwMAyLcGk9#TjpA(Ce7~$MbD#< zx_5a{uZlKu>Z1xW(Qj<6`BFS*-Nx{{K-AOZF+{1QBoi=Yx;ByNa0RmU$Za#>MK%v% zN86Uw{5(XRbh}zzpi^jZi_!aqCgutp-3lbjlcjmuW#V~D)7zNz+=YzCu=j@9+p*eR z4K&;BlO^XFj>x*1!m>$*@Lie!=PX|%-*`fGYy#^eAFx5#BQ zS#E@gm}HutZzw6m&SxKdZek%LGF1nhRQoJAA;C$`b3PhgqMLD+$v1?9@685gME90HOi8!hPHeF;9Xyq{rI%Dd z9$_}?QNO4Vi}`0F&DlcNi+mu6Ri#9Z@r_tmc>~=iiH&1(HIrPCbf=fcw#~1}7F$Qq znYTk4E*EXvSiFtgHuB(wAVkkRXo7r-1XjPcWKKNxGtS&=p5JJ%ZFGzlOY=}eH0Q0< zJ2i~i*gMXuD(>gmGPG)&m9-sX=KZaS2P6CS*4Ak)_%wOU`VpqH#@1%FgC?gd9;HE9 z>y9}8MCY-cAwxG~lOfy=M|tIa*b}2A8$|4+li!YRp@#y(3+B}~DMihv-O`FWLeRsE zVA|4?fwIl@8~iO^>#WEHLwh8*fE^$E)q=ef(d=Fliae&YN6|Qn5W^iQDUoj}MhMWH^YMOc+lrxjWr{na-KFr5 z={2unV(Kqvc`RwN;^=Th2WlM94+>Yhn*)JlQ5F%JgZ=_D8eK&T#%@V_{@Pvmr+9FW ziw1YhB2dor*<2ZikaSisn|BYbiAl)rPSYp*76dRRE1oGKBO}{B6vrt41Ko~$f$G@u zcH?405MPru#UriYmluSXu%Wp-YE)|`u+b3f#f{>v?H-Ot7i`V0w`>e7D=I zh4F|W?hAp6*=+TjpQLHx9wq*udI0?m3A&u<^S7V6`ZaZ%;r3`YKm}DH-G~!_G?$=? zq{g6GLX8o2e#NZxoK{aRwn1vyTDvj|(I6CF^X*ZZq%&z_D}q+IkL3a(1Sn#DX{#rL zg!T;LH@-ux=K+90byHpofa&I2aG{gGKv6zWX$H)5%|Ojs(Yb0J&Zh0-bI$hzR;;{u zhuuudMx~5|gqiwnKQ{R4{CU0n-&}!q(Mwm*0JkTBU3E^a^&*V2tnMi9KGWppInbh5 z>yO-_5k6Xfq`!0CE9YYN(Sw$P!Sk!J&xnp=&7^(L+|@Aq0{iN!%a;is$ufUYl{nD# z!VD_3DY*^eJG%^-5Zk?tQ@p_DhL_t8-V6#%`YiDXaHm!$FD=j1o@*kb4u4n3$p^X5 zRH6uJM{I)|vnw(rcKxxp8{_e`OWfrPMio(c&-*tNEj?D*j%#K}$tr*Y_69_&j`1K4 zwCvE>U;&@S6Qy-L5NpQ(JuN4p_6(Qudm>w5zWcp+Ec8f)`HRq)cn-cyheBdYkX8yf z+O?GrB)7NJmSd&R`eL9twUF(=0iad>!`on)OsGLryaRNSTKD>R_CT}cKF~YJ-pQ{K z)M`ZFE~0`9qywJQ9uML{KO&vJzP_!c_VeA?plMDDt`UG)9W&vld#XNQ&&s#EKk@$e z+ql-E75}(H*Y13b_%FC|L1xejUBP2vI?$z88OewGNWoxN86v$LC$}Y)hb$2^VZ3Ro zw>W(P)knOc{e{N&1p@x%I-Ks1fzYP4OYcV(eoSgo04G!VjNVp;PP#ZvS9Maz+zR(b z9FTAt@feP7$c{E zqDa#&7tBUcq_n>R>MuZS6rg)i`zh$u{x`_9{gW!)t8I7{HZKwoh8`0RW ztuDom`A5~}7s`(bPQka%g`c5~{KyYM_2CZn+W%f2@U_h-cV^0}RM#>i8o!8S9#BQM z*aJ@Ue=l;0fR;nh_P3>&?~jMHllIM#c;su!{6*HVGCAvsORlm1?oUt+nC;ybxD+kA z4BW?B@5iibc+f7pO5*+i$(-jGo6H)@#OIaa-Uv#**!PK^#^PV`&NVg<+fX#6g3F8l zqXmG($0hhP4{AoaR#sMWQ~mHthcPlZZ=gmQNZR}|5sV9BHFm)=Y*wyJ^XbZ9XnKj^ zCZ05?F=XD5Z3X}u{pBNQXq5zT^0+Ch6zGslD{P~od*$I1Fi*@hSNjIv>n(g;ml>9?($W z%L%gIWYd*Ctc|@gF9W-thd__9P9w{7SM=m(qRepeeW91&L30f7OejX-TcW!3jL7Mz z5>vSJhk^I|oy6q3`255HP z5Bjbq(i@u z>?Lisv)xU4v5CjYew<^?-eK?-4K?ioI&ViVm|=jDX)@@W_8wVy`%`=fcmrX@-?MVm zy%_;RaRHu-jYIR@Ix(q^kmiZBB6@u0C2a&1{6CI>(uNM?qiov_=R2TRR+6+|#^cM> zCM(SZKoM{gU{0m?K=&?DHK$@cAJC%-y_`wZ$Jaf-8jbsXKePw9#>P~1rSX%EH?-q^ z8A00RhniAH38jT55Y&AWp2Yv+W;K>Lcjkc2FGYP{U6w3CQ|Pfgr5lK2kgDRsc>e=z zXr+p{96Nr3`AP4!PpP<`nsP=EwI7`?->04PSbr&WU^k_@fIXqxSCDg)3NyfXZgFzP zW?C)gc{M-s{4chDjyGgX z)a-xaI^^w5cR`i%v5u6hdCfEq2R1w;hyO>K8v=VOgl{Y7`Ws5zhqw877rkBZ|98=K z{=>F6!E`FSLEmY7ZuR>~tQD8)3gf z)WE+Z)(z<9MiLF@DaEEtl0s|HVYrC0UokpZ5iV8`Krdna`GrJo)R7>PORa3{538H8sRNKri52RV+R5r&_Z6~_AB-^-u{x4x;r7{N=i!T zc=gPn&)mYV;UQtLECz3v+Ycv=(BigjK?k4<;0mDr<3Qi=0aK>49@bc8P0g)rfpMo# z2iNdZli6{lNSasg?2z=ta-Z`Hl92B|6xt*^Hl+-5#oY@^7+_H2&rjE6YCsj?$>RB$ znO|CWwCKY0GDF@o{E-9W;QxTU5SX`i%i`E8=PLq1T%Z|c#=K z`$Qe!Q*<_-&`AYIeob!84C3>}_n`+j@hRpa8by|yep4~&CR2W@sJ{B3$4FMZy|c{i z2+Lw!$spN>Obv_PP^Nv8^-|yT)egDUg7jLC9H;bV0Z86}k$U_ulC(G0bQ zWcYrw+^De+yat!(ynEt{bYa^fcA)wAKwauEsm!?P(H}UziKFEC>HZ#2C1&GQ;=mhN zErN1Vqws~k3b>VgZ2Vq7?Nr}wx9q)$WtgAJe!P6k@sS<{t2=+{79(?)GQjcQg-0`S6T^sYVd^Ox= zH}MnCRbGM~&?sXn7(m@#GJcNtfH|2JxVvd!*A{yKTA;U$=e7R%NWTn{n<=lqf9wUG zk+0TzIK_6n@aMdux>IeD7ZE;J0y)E5P2d3+r77PQ(OVLOv2(5xDy9b?XZA1JR~7hK zOO2S*l3wti`RyPvTSrk)RW(A?N_QaQIg0!;RbgW9^ts4meP$apPx7OQ>+74Q@c`w! zmf3~t4S7dZll>~Ek*16_;CMSFn&PS<2$A0Y((`QNwr^@xK#Lht!QjO`)^Eb{Cya2w zzQe(F>~-yqs**4t{It1G;-rvUTcyl@y3Bs|jPpYk^|dKwSf9m7VJp{Cfk#l#Y*{y^ zM5nvx`)dZ6(31diSVKl#?I5k6@S^90foN%iaan8PB<3(kWbu@<%v6MGuo0rLKab8m zF`SH9%oaIwp|OV?c{SL~1nYQ?-K<27o*LS&P0tvQhkS*@qU{(o+ifnFFV;V7YxFdo zJ@`IF#b9gpg6q&PWDs_;a;N&D+UJu6TN(JrW`Y^)rutCZWdcz80& zqPx&g6m4U&$~pASp=#UbP$FO|AY<=wSD}Z#1g!jy=a#3!{s2+;Sg$AvCxhB-wfD|T zAM3JF^Z?GVz2(W_$(W%Tvq(d8mt9co-0IS5NKC=Ua)wClcKGl*Dj01*!vKRfPWZ=0 z=t9hd&9I+}quTvNDoah|OlKqm&!^{(v{pl=7r9nLge1J%!_HFj_s+gaQB*JdGPM_s zo4kCAnQBh~47Vvjk{c5_sUGWR`S|J)`fGl)PJ}gv-QD z3Ou2vp+T@T$7ZF$f#CPN$yTW;%Oj@+Nhd_yeYs`e<7ztV8mrUvo{i=x$;6eGma+}| z|Fgea$@J|{i5*G0o|>N0`2GE-C9IVdB1~fqt+$`(+5fgHdu&ES-;;heeljARxrerkj~CVS()M0M#(71Kg=~$A3SZDP zLgwFg+w2ccJDg`$z)q{q;_5Eva^+O&6b6c}lfXRB615?9Qk=?Kr8Y(tAzWq*f=l82 zvp3GNTc!hl{$(GnPA6G?3u_qE_rIJrzv$pbqgL9;FRlyo+*f1z)rFC`n&CfgZF2Ax zsoz?izDHNp6v^Nx9PHXh&y&~?<{6|0tA?F7oy?j|J&T3byX~u)>SToAMk!@dKznKC z7a`)*jr`?{F;cg9Dj_}=dYlHEA?>Ilt&*NbD19q&v)?9PVxUM;4 z%YxNHVp#eTHEN%0ovde#iiUj5o!VKxZFXi2UUm*qCY>cG=42$>a4y>N9pe$}OLiYuf>M3mFHFjhSvO2|_dJEiB7SjlTYs1%lV6Kl z0P1l%d0%ke`}%j}wF)bESGq*N1_=`6c#fQiTppA_hO8}^SXnFaY<~*nr*E1`BHU90 zwu}E+j_1Nxdc!!uee6TC5Q`UVfsW8Aj7P=NfUb;H5>jX;) z8l(Ebv?J%$A+R%n={7<$w>N&a@W5zj3YNfy6d25T%hX_q?|e0V=}hmm^3G1>+C|E`whCtAe`XgoQ%&_}#6qwj7hdAojB9F^ z7A&$QA0eQ`&;E#=)lyHsp?3B8+3pjoQ{s5j^E#&hc*CzOpMw6wL7`{5#+4cHS z5o6naw@8R&HI?G(*j8}NwTD=&aovJ`sqdXV5yk*+hljR$8ko)XUF&^iPMGR)VuhfC(9(`Lk=4$=mHD61$b1*6&TVeTV-m;9D-zSt%aTTq| z!%-#aXmGwWx)R~EVPkPPy7Ez869#jH!L-IRMkiw?V3v=`r>l;ZM@cOl-yY1NC^f9t z)g&%+_HP+Q6slO-FjLA-mQTRSoK0cbY;c9%or-g_29+iay%+6rR`CZ(IeUlld43jJ z!xh^KOV-Jaf^d=|oK1@|+*;WePac*E>)P>inU<;u@TtQ?HKxs{PsicUcIAJ3GUxs= z^2Cco9zm?q0vczs8mK33iIbO_7u*%1uu$zz5a5P49Cs%;MQrzveV;|Mn&=HIJf`3r z-r9^Ftg%F`$>=Ny3szg+nvb-T;jacNytuJX^Fm-?%uwxXc|kd^YccZq`6`voF@GxT zmZSCX*Ucv_8i#loo*`ZP68-aV;r!1(&OaOJu2xen`<~3EHc}lYx7OK;D<64%yLe$A z5^}+L;E$Li(;0^kCpk}OXQur|dJbD0Jj&rTa8Tsn^C(fy-EDzXq|3w{ln6T>P7zOGc|M-5$L0Y@I7TpsBu7JH82(J`*(CaJYZ$W2R6*?-+5$a#U^`zh z(moCRT$xNRy$f~d048*3f=z>_g1}GlI00At+~a4pkO^Oku`%jUR>tnK@N07p z#=JuHSp>im=1k1r%Ut>=Y#IQnrUN*+ps7d7(i?1+P_T=JYoj%bEVjmrQXs;b{g|ey z@z&}ZFPQCl!U6c?S--zaXQKPF@^MiObsoJkA+sNjYu1#AUg&$Ny}k9oBMVUXS;&v2 zY|aMJGoYs6dpU1&s!~!K7xE#OK%P02swc*O8Qa$-#Xbe{6xBTr6zb(yHP;K&em>JK zsC-0vxwM*$1NzjPR8BzEOTeJ;f{!KfZ4KU8TvjFOnTA00dq%r=^ev$eWkcpCl44M~ z3lJICeB^EoWD`1D>6|nx#_Q>?r1G(Jc_Jm$d+p$?#<#Xd3p9B30|B$MD&qpfAJ3% zYY_#^N74(TNNBUh>xpcC2_xyrt4w=S=h4~!@Dq2+4amCzf6_{AW*@>6KK)#Gaeh*v zQ*YQ#qUS+y=-Ud2%+kkuYr`XF=|bRI{cMyizN6%%2hR+y?ga5U1L}IXb?qdz+f0p< zF27EVW7s{}=-1{tYak=}A|4WnfoWtSt1>0VbiuS2j+R^7U)zNA;y zFG@}1d*z`3fsYB%FMwN}B|%Rpzx&`4$s>|V2}Pf`GE6g4UVq1AWMPS>4d!_wBO_Cn z3t~JrR2?^Q-!B1(!(PQD5aN#ptbkA$bMD)Mr2NkLma}!5PtrmYfpJs%(Skm{ZNe$=$p8C<68d@@xH(ag}wJfUhdiOicS52Qmn7|j=Ep8&LH6&W`5gmjZ z3g~|x-ZBedl$X!w1UiYqMnW2VADWLo_5DWPQ#W@KT%6q9H?F+{SZY_>Z(t9=&g5-m zg0A*G^m1P6&>v)LcWw)diGwx5bY$7?sZUigdRBUQi9Br+=~|XuCV)nL5~CJo)zc!1 z9uK3n|LGIc364xekKrXS_!@E?wFq?*rlh|RO=uc2t$Sd&Mb_B^G52Scmj@2M6jRej z3V+WIfMvdg2?g;ci~7A7UnQAb{n_lfH~SC{xe|avujAjIFir(v-?6ZW(=3CTgGhjl z(^$c^`T&Z($ga!H53+-W<=^a2U9gewtxFb(|a5SD|i$cTX3l~?0xwCG`_T2riLw&);j=di8k{(O)Q)LB9BG=Sp2cx958m=HTf?#oG znw@y@kU=lOv28hX-=&+N;t<3(P2o0Lhzb8Hj}T~-28|dVTzPbwMwwK zD$nw&id8)h3iwU!fGE3j5xb}P2whT}uNqv@7F-wGZ>+4l2zLo#1&o1B_(7<1wqNmM)3CTYYvCRt=kh!?X+qh~n=J zd@m>MP~~8!u>0$U=Q9@0<9&m_q{+CQFB%jU&IfrsKU12h!HO*5CJYzbv9n1TI?}$Y zGXke@CmWnE?iHJijl%2d*(G<*i`=KdtkC$Myr&~xKIA@@4e&jZ2lgg^2@EFa*>~imIymzTZRx_Qhv>%dO%TC}jfP=qO-u=^a{A{g(Jh-WccaA@Dnr@pl6g<>QsfCpZF z(;6$EKVm)Ies?^Zq^2&Ia4tOc7u&L}{?7 zL#vSi7+or1s3M563F(ZX)75F3y=IW8dl6`qw>28nl&Wv6awyi6ZPC>9T{$k-ke#q?%_V18EF}QK zrVC43+DrGGW#7|siRTDjXIjsftheuClLWaBkka$Rw0+8F(hTKvFTVo(Ck-9F@)Dvb zLt-M0HzpeL#fFkd8{xC|@M2hgrAG?x+2Y1of8JkX6#tVpm|1I*3Yt)7WZ?vR&}o`P zw%@savAR?*6guz}bvN@$aqsYGQpTTs8o%gU(lL5+alOv5H>!c+r0euLi`kFIpEwUM zvl_rKFNEBY;~V;?q<8T#P>c>{9Woy^b{uF>h3`y|K9fSEkLg~(W1K^2BIYVGlc3x# z%5~9`1tPOWnRa!GrBuNzS!q#oS_^&dt8Xk(Nj+H0-?+n&@q`+Is;l$EW}9-rO?VZL z#4FskXPm+=V`J1pu7xc=NA!p)xW1s-{?>1EavYox4x4`Lvx&sFr=32PJuC?A`XB>9 zLAjB{_R+lA3@DczHvEZuNXTnC-wjPs;w42`m!7-L3NK|JrragiZ9I;~T`mc*rF)_0 zT(H^d9vHgtG)d8d|0@3t?DG|H0=mow3gVj)Ae|{2Jh~mZZtGOPdA7AGJd&`|Kfv#q z$acUm1k&UeCck+jBKjm?TrNl|#LYpL*wI_P-nZm!#NYXKhLAe@eF~5Mz z42kpahO!~mM;e0kh|zE~>&Hi`_iM}N>c5`Y_jD|1)yZFBmPDu{P^->#=&1yclSPq{ z)&?uG>orPev1?pvyQ&%x1?!Z2n@Wr<_lrgMK+5MsH^XIa9=v6Z0T@bN?f+34rvcwF zoMh#qJK2hIz&sVQG}iAd?MqJ60g{zMlI!o&8zg6L&JP9e@lo#4x1%0Aeed?>6+*o& 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 literal 0 HcmV?d00001 diff --git a/R/072524_contributing_ranef_plot.png b/R/072524_contributing_ranef_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9348e8e1f06a9b0479fc52f8314734f833c96b GIT binary patch literal 54217 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%0Aeed?>6+*o& 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 literal 0 HcmV?d00001 diff --git a/R/072524_gam_document introduction.png b/R/072524_gam_document introduction.png new file mode 100644 index 0000000000000000000000000000000000000000..e254a24e49937e02e4f0e5d83212566d260e34b6 GIT binary patch literal 77110 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