From 156d55089565ea66d14fa6d17a75c1116015bde2 Mon Sep 17 00:00:00 2001 From: "Matthijs S. Berends" Date: Mon, 1 Jul 2019 14:03:15 +0200 Subject: [PATCH] (v0.7.1.9005) new rsi calculations, atc class removal --- DESCRIPTION | 4 +- NAMESPACE | 1 - NEWS.md | 35 +- R/count.R | 76 +-- R/mo.R | 110 ++-- R/mo_property.R | 46 +- R/portion.R | 130 +++-- R/rsi.R | 6 +- R/rsi_calc.R | 80 ++- docs/LICENSE-text.html | 2 +- docs/articles/AMR.html | 531 +++++++++--------- .../AMR_files/figure-html/plot 1-1.png | Bin 35967 -> 35905 bytes .../AMR_files/figure-html/plot 3-1.png | Bin 18239 -> 18280 bytes .../AMR_files/figure-html/plot 4-1.png | Bin 69957 -> 69952 bytes .../AMR_files/figure-html/plot 5-1.png | Bin 43402 -> 43399 bytes docs/articles/EUCAST.html | 4 +- docs/articles/MDR.html | 58 +- docs/articles/SPSS.html | 7 +- docs/articles/WHONET.html | 4 +- docs/articles/benchmarks.html | 72 +-- .../figure-html/unnamed-chunk-5-1.png | Bin 26497 -> 26580 bytes docs/articles/freq.html | 4 +- docs/articles/index.html | 2 +- docs/articles/resistance_predict.html | 4 +- docs/authors.html | 2 +- docs/index.html | 2 +- docs/news/index.html | 341 ++++++----- docs/reference/AMR-deprecated.html | 2 +- docs/reference/AMR.html | 2 +- docs/reference/WHOCC.html | 2 +- docs/reference/WHONET.html | 2 +- docs/reference/ab_property.html | 2 +- docs/reference/age.html | 2 +- docs/reference/age_groups.html | 2 +- docs/reference/antibiotics.html | 2 +- docs/reference/as.ab.html | 2 +- docs/reference/as.disk.html | 2 +- docs/reference/as.mic.html | 2 +- docs/reference/as.mo.html | 11 +- docs/reference/as.rsi.html | 7 +- docs/reference/atc_online.html | 2 +- docs/reference/availability.html | 2 +- docs/reference/catalogue_of_life.html | 2 +- docs/reference/catalogue_of_life_version.html | 2 +- docs/reference/count.html | 85 ++- docs/reference/eucast_rules.html | 2 +- docs/reference/extended-functions.html | 2 +- docs/reference/filter_ab_class.html | 2 +- docs/reference/first_isolate.html | 2 +- docs/reference/freq.html | 2 +- docs/reference/g.test.html | 2 +- docs/reference/ggplot_rsi.html | 2 +- docs/reference/guess_ab_col.html | 2 +- docs/reference/index.html | 2 +- docs/reference/join.html | 2 +- docs/reference/key_antibiotics.html | 2 +- docs/reference/kurtosis.html | 2 +- docs/reference/like.html | 2 +- docs/reference/mdro.html | 2 +- docs/reference/microorganisms.codes.html | 2 +- docs/reference/microorganisms.html | 2 +- docs/reference/microorganisms.old.html | 2 +- docs/reference/mo_property.html | 2 +- docs/reference/mo_source.html | 2 +- docs/reference/p.symbol.html | 2 +- docs/reference/portion.html | 115 ++-- docs/reference/read.4D.html | 2 +- docs/reference/resistance_predict.html | 2 +- docs/reference/rsi_translation.html | 2 +- docs/reference/septic_patients.html | 2 +- docs/reference/skewness.html | 2 +- docs/reference/translate.html | 2 +- man/as.mo.Rd | 9 +- man/as.rsi.Rd | 6 +- man/count.Rd | 84 ++- man/portion.Rd | 114 ++-- tests/testthat/test-count.R | 20 +- tests/testthat/test-portion.R | 26 +- 78 files changed, 1169 insertions(+), 911 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 8cc41304..9e8cfbb5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: AMR -Version: 0.7.1.9004 -Date: 2019-06-27 +Version: 0.7.1.9005 +Date: 2019-07-01 Title: Antimicrobial Resistance Analysis Authors@R: c( person( diff --git a/NAMESPACE b/NAMESPACE index 6963dd4b..e233f55e 100755 --- a/NAMESPACE +++ b/NAMESPACE @@ -224,7 +224,6 @@ importFrom(crayon,black) importFrom(crayon,blue) importFrom(crayon,bold) importFrom(crayon,green) -importFrom(crayon,has_color) importFrom(crayon,italic) importFrom(crayon,magenta) importFrom(crayon,red) diff --git a/NEWS.md b/NEWS.md index 48bdda46..ce8e8189 100755 --- a/NEWS.md +++ b/NEWS.md @@ -1,11 +1,42 @@ -# AMR 0.7.1.9004 +# AMR 0.7.1.9005 + +### New +* Additional way to calculate co-resistance, i.e. when using multiple antibiotics as input for `portion_*` functions or `count_*` functions. This can be used to determine the empiric susceptibily of a combination therapy. A new parameter `only_all_tested` replaces the old `also_single_tested` and can be used to select one of the two methods to count isolates and calculate portions. The difference can be seen in this example table (which is also on the `portion` and `count` help pages), where the %SI is being determined: + + ```r + # ------------------------------------------------------------------------- + # only_all_tested = FALSE only_all_tested = TRUE + # Antibiotic Antibiotic ----------------------- ----------------------- + # A B include as include as include as include as + # numerator denominator numerator denominator + # ---------- ---------- ---------- ----------- ---------- ----------- + # S S X X X X + # I S X X X X + # R S X X X X + # not tested S X X - - + # S I X X X X + # I I X X X X + # R I X X X X + # not tested I X X - - + # S R X X X X + # I R X X X X + # R R - X - X + # not tested R - - - - + # S not tested X X - - + # I not tested X X - - + # R not tested - - - - + # not tested not tested - - - - + # ------------------------------------------------------------------------- + ``` + + Since this is a major change, usage of the old `also_single_tested` will throw an informative error that it has been replaced by `only_all_tested`. ### Changed * Removed class `atc` - using `as.atc()` is now deprecated in favour of `ab_atc()` and this will return a character, not the `atc` class anymore * Removed deprecated functions `abname()`, `ab_official()`, `atc_name()`, `atc_official()`, `atc_property()`, `atc_tradenames()`, `atc_trivial_nl()` * Fix and speed improvement for `mo_shortname()` * Fix for `as.mo()` where misspelled input would not be understood -* Fix for `also_single_tested` parameter in `count_*` functions +* Fix for using `mo_*` functions where the coercion uncertainties and failures would not be available through `mo_uncertainties()` and `mo_failures()` anymore # AMR 0.7.1 diff --git a/R/count.R b/R/count.R index 641e31c2..0a03d22e 100755 --- a/R/count.R +++ b/R/count.R @@ -34,6 +34,7 @@ #' The function \code{count_df} takes any variable from \code{data} that has an \code{"rsi"} class (created with \code{\link{as.rsi}}) and counts the amounts of S, I and R. The resulting \emph{tidy data} (see Source) \code{data.frame} will have three rows (S/I/R) and a column for each variable with class \code{"rsi"}. #' #' The function \code{rsi_df} works exactly like \code{count_df}, but adds the percentage of S, I and R. +#' @inheritSection portion Combination therapy #' @source Wickham H. \strong{Tidy Data.} The Journal of Statistical Software, vol. 59, 2014. \url{http://vita.had.co.nz/papers/tidy-data.html} #' @seealso \code{\link{portion}_*} to calculate microbial resistance and susceptibility. #' @keywords resistance susceptibility rsi antibiotics isolate isolates @@ -61,8 +62,8 @@ #' # Since n_rsi counts available isolates, you can #' # calculate back to count e.g. non-susceptible isolates. #' # This results in the same: -#' count_IR(septic_patients$AMX) -#' portion_IR(septic_patients$AMX) * n_rsi(septic_patients$AMX) +#' count_SI(septic_patients$AMX) +#' portion_SI(septic_patients$AMX) * n_rsi(septic_patients$AMX) #' #' library(dplyr) #' septic_patients %>% @@ -76,17 +77,17 @@ #' #' # Count co-resistance between amoxicillin/clav acid and gentamicin, #' # so we can see that combination therapy does a lot more than mono therapy. -#' # Please mind that `portion_S` calculates percentages right away instead. -#' count_S(septic_patients$AMC) # S = 1342 (71.4%) -#' count_all(septic_patients$AMC) # n = 1879 +#' # Please mind that `portion_SI` calculates percentages right away instead. +#' count_SI(septic_patients$AMC) # 1433 +#' count_all(septic_patients$AMC) # 1879 #' -#' count_S(septic_patients$GEN) # S = 1372 (74.0%) -#' count_all(septic_patients$GEN) # n = 1855 +#' count_SI(septic_patients$GEN) # 1399 +#' count_all(septic_patients$GEN) # 1855 #' #' with(septic_patients, -#' count_S(AMC, GEN)) # S = 1660 (92.3%) -#' with(septic_patients, # n = 1798 -#' n_rsi(AMC, GEN)) +#' count_SI(AMC, GEN)) # 1764 +#' with(septic_patients, +#' n_rsi(AMC, GEN)) # 1936 #' #' # Get portions S/I/R immediately of all rsi columns #' septic_patients %>% @@ -99,71 +100,56 @@ #' group_by(hospital_id) %>% #' count_df(translate = FALSE) #' -count_R <- function(..., also_single_tested = FALSE) { +count_R <- function(..., only_all_tested = FALSE) { rsi_calc(..., - type = "R", - include_I = FALSE, - minimum = 0, - as_percent = FALSE, - also_single_tested = also_single_tested, + ab_result = "R", + only_all_tested = only_all_tested, only_count = TRUE) } #' @rdname count #' @export -count_IR <- function(..., also_single_tested = FALSE) { +count_IR <- function(..., only_all_tested = FALSE) { rsi_calc(..., - type = "R", - include_I = TRUE, - minimum = 0, - as_percent = FALSE, - also_single_tested = also_single_tested, + ab_result = c("I", "R"), + only_all_tested = only_all_tested, only_count = TRUE) } #' @rdname count #' @export -count_I <- function(..., also_single_tested = FALSE) { +count_I <- function(..., only_all_tested = FALSE) { rsi_calc(..., - type = "I", - include_I = FALSE, - minimum = 0, - as_percent = FALSE, - also_single_tested = also_single_tested, + ab_result = "I", + only_all_tested = only_all_tested, only_count = TRUE) } #' @rdname count #' @export -count_SI <- function(..., also_single_tested = FALSE) { +count_SI <- function(..., only_all_tested = FALSE) { rsi_calc(..., - type = "S", - include_I = TRUE, - minimum = 0, - as_percent = FALSE, - also_single_tested = also_single_tested, + ab_result = c("S", "I"), + only_all_tested = only_all_tested, only_count = TRUE) } #' @rdname count #' @export -count_S <- function(..., also_single_tested = FALSE) { +count_S <- function(..., only_all_tested = FALSE) { rsi_calc(..., - type = "S", - include_I = FALSE, - minimum = 0, - as_percent = FALSE, - also_single_tested = also_single_tested, + ab_result = "S", + only_all_tested = only_all_tested, only_count = TRUE) } #' @rdname count #' @export -count_all <- function(..., also_single_tested = FALSE) { - res_SI <- count_SI(..., also_single_tested = also_single_tested) - # only print warnings once, if needed - res_R <- suppressWarnings(count_R(..., also_single_tested = also_single_tested)) - res_SI + res_R +count_all <- function(..., only_all_tested = FALSE) { + rsi_calc(..., + ab_result = c("S", "I", "R"), + only_all_tested = only_all_tested, + only_count = TRUE) } #' @rdname count diff --git a/R/mo.R b/R/mo.R index b1f5fbf3..605a6cc0 100755 --- a/R/mo.R +++ b/R/mo.R @@ -87,12 +87,9 @@ #' \strong{Uncertain results} \cr #' The algorithm can additionally use three different levels of uncertainty to guess valid results. The default is \code{allow_uncertain = TRUE}, which is equal to uncertainty level 2. Using \code{allow_uncertain = FALSE} will skip all of these additional rules: #' \itemize{ -#' \item{(uncertainty level 1): It tries to look for only matching genera} -#' \item{(uncertainty level 1): It tries to look for previously accepted (but now invalid) taxonomic names} -#' \item{(uncertainty level 2): It strips off values between brackets and the brackets itself, and re-evaluates the input with all previous rules} -#' \item{(uncertainty level 2): It strips off words from the end one by one and re-evaluates the input with all previous rules} -#' \item{(uncertainty level 3): It strips off words from the start one by one and re-evaluates the input with all previous rules} -#' \item{(uncertainty level 3): It tries any part of the name} +#' \item{(uncertainty level 1): It tries to look for only matching genera, previously accepted (but now invalid) taxonomic names and misspelled input} +#' \item{(uncertainty level 2): It removed parts between brackets, strips off words from the end one by one and re-evaluates the input with all previous rules} +#' \item{(uncertainty level 3): It strips off words from the start one by one and tries any part of the name} #' } #' #' You can also use e.g. \code{as.mo(..., allow_uncertain = 1)} to only allow up to level 1 uncertainty. @@ -281,7 +278,7 @@ is.mo <- function(x) { #' @importFrom dplyr %>% pull left_join n_distinct progress_estimated filter distinct #' @importFrom data.table data.table as.data.table setkey -#' @importFrom crayon magenta red blue silver italic has_color +#' @importFrom crayon magenta red blue silver italic # param property a column name of AMR::microorganisms # param initial_search logical - is FALSE when coming from uncertain tries, which uses exec_as.mo internally too # param force_mo_history logical - whether found result must be saved with set_mo_history (default FALSE on non-interactive sessions) @@ -486,7 +483,7 @@ exec_as.mo <- function(x, # remove genus as first word x <- gsub("^Genus ", "", x) # allow characters that resemble others - if (uncertainty_level >= 2) { + if (initial_search == FALSE) { x <- tolower(x) x <- gsub("[iy]+", "[iy]+", x) x <- gsub("(c|k|q|qu|s|z|x|ks)+", "(c|k|q|qu|s|z|x|ks)+", x) @@ -768,31 +765,24 @@ exec_as.mo <- function(x, } next } - if (grepl("[sS]almonella [A-Z][a-z]+ ?.*", x_backup_without_spp[i], ignore.case = FALSE)) { + if (x_backup_without_spp[i] %like% "salmonella [a-z]+ ?.*") { if (x_backup_without_spp[i] %like% "Salmonella group") { # Salmonella Group A to Z, just return S. species for now x[i] <- microorganismsDT[mo == 'B_SLMNL', ..property][[1]][1L] if (initial_search == TRUE) { set_mo_history(x_backup[i], get_mo_code(x[i], property), 0, force = force_mo_history) } - options(mo_renamed = c(getOption("mo_renamed"), - magenta(paste0("NOTE: ", - italic("Salmonella"), " ", trimws(gsub("Salmonella", "", x_backup_without_spp[i])), - " was considered ", - italic("Salmonella species"), - " (B_SLMNL)")))) - } else { + } else if (grepl("[sS]almonella [A-Z][a-z]+ ?.*", x_backup_without_spp[i], ignore.case = FALSE)) { # Salmonella with capital letter species like "Salmonella Goettingen" - they're all S. enterica x[i] <- microorganismsDT[mo == 'B_SLMNL_ENT', ..property][[1]][1L] if (initial_search == TRUE) { set_mo_history(x_backup[i], get_mo_code(x[i], property), 0, force = force_mo_history) } - options(mo_renamed = c(getOption("mo_renamed"), - magenta(paste0("NOTE: ", - italic("Salmonella"), " ", trimws(gsub("Salmonella", "", x_backup_without_spp[i])), - " was considered a subspecies of ", - italic("Salmonella enterica"), - " (B_SLMNL_ENT)")))) + uncertainties <- rbind(uncertainties, + data.frame(uncertainty = 1, + input = x_backup_without_spp[i], + fullname = microorganismsDT[mo == "B_SLMNL_ENT", fullname][[1]], + mo = "B_SLMNL_ENT")) } next } @@ -1041,9 +1031,27 @@ exec_as.mo <- function(x, } return(x) } + + # (2) Try with misspelled input ---- + # just rerun with initial_search = FALSE will used the extensive regex part above + found <- suppressMessages(suppressWarnings(exec_as.mo(a.x_backup, initial_search = FALSE, allow_uncertain = FALSE))) + if (!empty_result(found)) { + found_result <- found + found <- microorganismsDT[mo == found, ..property][[1]] + uncertainties <<- rbind(uncertainties, + data.frame(uncertainty = 1, + input = a.x_backup, + fullname = microorganismsDT[mo == found_result[1L], fullname][[1]], + mo = found_result[1L])) + if (initial_search == TRUE) { + set_mo_history(a.x_backup, get_mo_code(found[1L], property), 1, force = force_mo_history) + } + return(found[1L]) + } } if (uncertainty_level >= 2) { + # (3) look for genus only, part of name ---- if (nchar(g.x_backup_without_spp) > 4 & !b.x_trimmed %like% " ") { if (!grepl("^[A-Z][a-z]+", b.x_trimmed, ignore.case = FALSE)) { @@ -1286,10 +1294,11 @@ exec_as.mo <- function(x, post_Becker <- c("argensis", "caeli", "cornubiensis", "edaphicus") if (any(x %in% MOs_staph[species %in% post_Becker, ..property][[1]])) { - warning("Becker ", italic("et al."), " (2014, 2019) does not contain species named after their publication: ", + warning("Becker ", italic("et al."), " (2014, 2019) does not contain these species named after their publication: ", italic(paste("S.", sort(mo_species(unique(x[x %in% MOs_staph[species %in% post_Becker, ..property][[1]]]))), collapse = ", ")), + ".", call. = FALSE, immediate. = TRUE) } @@ -1352,15 +1361,7 @@ exec_as.mo <- function(x, } if (length(mo_renamed()) > 0) { - if (has_color()) { - notes <- getOption("mo_renamed") - } else { - notes <- mo_renamed() - } - notes <- sort(notes) - for (i in 1:length(notes)) { - base::message(blue(paste("NOTE:", notes[i]))) - } + print(mo_renamed()) } x @@ -1387,9 +1388,14 @@ was_renamed <- function(name_old, name_new, ref_old = "", ref_new = "", mo = "") } else { mo <- "" } - msg <- paste0(italic(name_old), ref_old, " was renamed ", italic(name_new), ref_new, mo) - msg <- gsub("et al.", italic("et al."), msg) - options(mo_renamed = c(getOption("mo_renamed"), sort(msg))) + old_values <- paste0(italic(name_old), ref_old) + old_values <- gsub("et al.", italic("et al."), old_values) + new_values <- paste0(italic(name_new), ref_new, mo) + new_values <- gsub("et al.", italic("et al."), new_values) + + names(new_values) <- old_values + total <- c(getOption("mo_renamed"), new_values) + options(mo_renamed = total[order(names(total))]) } #' @exportMethod print.mo @@ -1451,6 +1457,9 @@ mo_failures <- function() { #' @importFrom crayon italic #' @export mo_uncertainties <- function() { + if (is.null(getOption("mo_uncertainties"))) { + return(NULL) + } structure(.Data = as.data.frame(getOption("mo_uncertainties"), stringsAsFactors = FALSE), class = c("mo_uncertainties", "data.frame")) } @@ -1463,8 +1472,8 @@ print.mo_uncertainties <- function(x, ...) { if (NROW(x) == 0) { return(NULL) } - cat(paste0(bold(nrow(x), "unique result(s) guessed with uncertainty:"), - "\n(1 = ", green("renamed"), + cat(paste0(bold(nr2char(nrow(x)), paste0("unique result", ifelse(nrow(x) > 1, "s", ""), " guessed with uncertainty:")), + "\n(1 = ", green("renamed/misspelled"), ", 2 = ", yellow("uncertain"), ", 3 = ", red("very uncertain"), ")\n")) @@ -1489,10 +1498,18 @@ print.mo_uncertainties <- function(x, ...) { } #' @rdname as.mo +#' @importFrom crayon strip_style #' @export mo_renamed <- function() { - structure(.Data = strip_style(gsub("was renamed", "->", getOption("mo_renamed"), fixed = TRUE)), - class = c("mo_renamed", "character")) + items <- getOption("mo_renamed") + if (is.null(items)) { + return(NULL) + } + + items <- strip_style(items) + names(items) <- strip_style(names(items)) + structure(.Data = items, + class = c("mo_renamed", "character")) } #' @exportMethod print.mo_renamed @@ -1500,7 +1517,8 @@ mo_renamed <- function() { #' @export #' @noRd print.mo_renamed <- function(x, ...) { - cat(blue(paste(getOption("mo_renamed"), collapse = "\n"))) + items <- getOption("mo_renamed") + base::message(blue(paste("NOTE:", names(items), "was renamed", items, collapse = "\n"), collapse = "\n")) } nr2char <- function(x) { @@ -1540,3 +1558,15 @@ translate_allow_uncertain <- function(allow_uncertain) { } allow_uncertain } + +get_mo_failures_uncertainties_renamed <- function() { + list(failures = getOption("mo_failures"), + uncertainties = getOption("mo_uncertainties"), + renamed = getOption("mo_renamed")) +} + +load_mo_failures_uncertainties_renamed <- function(metadata) { + options("mo_failures" = metadata$failures) + options("mo_uncertainties" = metadata$uncertainties) + options("mo_renamed" = metadata$renamed) +} diff --git a/R/mo_property.R b/R/mo_property.R index 4dfac1fd..8e72cabe 100755 --- a/R/mo_property.R +++ b/R/mo_property.R @@ -148,7 +148,9 @@ mo_fullname <- mo_name #' @importFrom dplyr %>% mutate pull #' @export mo_shortname <- function(x, language = get_locale(), ...) { - x.mo <- as.mo(x, ...) + x.mo <- AMR::as.mo(x, ...) + metadata <- get_mo_failures_uncertainties_renamed() + # get first char of genus and complete species in English shortnames <- paste0(substr(mo_genus(x.mo, language = NULL), 1, 1), ". ", mo_species(x.mo, language = NULL)) @@ -158,6 +160,7 @@ mo_shortname <- function(x, language = get_locale(), ...) { # exceptions for Streptococci shortnames[shortnames %like% "S. group [ABCDFGHK]"] <- paste0("G", gsub("S. group ([ABCDFGHK])", "\\1", shortnames[shortnames %like% "S. group [ABCDFGHK]"]), "S") + load_mo_failures_uncertainties_renamed(metadata) translate_AMR(shortnames, language = language, only_unknown = FALSE) } @@ -218,8 +221,10 @@ mo_type <- function(x, language = get_locale(), ...) { #' @rdname mo_property #' @export mo_gramstain <- function(x, language = get_locale(), ...) { - x.mo <- as.mo(x, ...) - x.phylum <- mo_phylum(x.mo, language = NULL) + x.mo <- AMR::as.mo(x, ...) + metadata <- get_mo_failures_uncertainties_renamed() + + x.phylum <- mo_phylum(x.mo) # DETERMINE GRAM STAIN FOR BACTERIA # Source: https://itis.gov/servlet/SingleRpt/SingleRpt?search_topic=TSN&search_value=956097 # It says this: @@ -232,13 +237,15 @@ mo_gramstain <- function(x, language = get_locale(), ...) { # Phylum Tenericutes (Murray, 1984) x <- NA_character_ # make all bacteria Gram negative - x[mo_kingdom(x.mo, language = NULL) == "Bacteria"] <- "Gram-negative" + x[mo_kingdom(x.mo) == "Bacteria"] <- "Gram-negative" # overwrite these phyla with Gram positive x[x.phylum %in% c("Actinobacteria", "Chloroflexi", "Firmicutes", "Tenericutes") | x.mo == "B_GRAMP"] <- "Gram-positive" + + load_mo_failures_uncertainties_renamed(metadata) translate_AMR(x, language = language, only_unknown = FALSE) } @@ -276,7 +283,9 @@ mo_rank <- function(x, ...) { #' @export mo_taxonomy <- function(x, language = get_locale(), ...) { x <- AMR::as.mo(x, ...) - base::list(kingdom = AMR::mo_kingdom(x, language = language), + metadata <- get_mo_failures_uncertainties_renamed() + + result <- base::list(kingdom = AMR::mo_kingdom(x, language = language), phylum = AMR::mo_phylum(x, language = language), class = AMR::mo_class(x, language = language), order = AMR::mo_order(x, language = language), @@ -284,12 +293,17 @@ mo_taxonomy <- function(x, language = get_locale(), ...) { genus = AMR::mo_genus(x, language = language), species = AMR::mo_species(x, language = language), subspecies = AMR::mo_subspecies(x, language = language)) + + load_mo_failures_uncertainties_renamed(metadata) + result } #' @rdname mo_property #' @export mo_synonyms <- function(x, ...) { - x <- as.mo(x, ...) + x <- AMR::as.mo(x, ...) + metadata <- get_mo_failures_uncertainties_renamed() + IDs <- AMR::mo_property(x = x, property = "col_id", language = NULL) syns <- lapply(IDs, function(col_id) { res <- sort(AMR::microorganisms.old[which(AMR::microorganisms.old$col_id_new == col_id), "fullname"]) @@ -301,16 +315,21 @@ mo_synonyms <- function(x, ...) { }) if (length(syns) > 1) { names(syns) <- mo_fullname(x) - syns + result <- syns } else { - unlist(syns) + result <- unlist(syns) } + + load_mo_failures_uncertainties_renamed(metadata) + result } #' @rdname mo_property #' @export mo_info <- function(x, language = get_locale(), ...) { x <- AMR::as.mo(x, ...) + metadata <- get_mo_failures_uncertainties_renamed() + info <- lapply(x, function(y) c(mo_taxonomy(y, language = language), list(synonyms = mo_synonyms(y), @@ -318,10 +337,13 @@ mo_info <- function(x, language = get_locale(), ...) { ref = mo_ref(y)))) if (length(info) > 1) { names(info) <- mo_fullname(x) - info + result <- info } else { - info[[1L]] + result <- info[[1L]] } + + load_mo_failures_uncertainties_renamed(metadata) + result } #' @rdname mo_property @@ -330,6 +352,8 @@ mo_info <- function(x, language = get_locale(), ...) { #' @export mo_url <- function(x, open = FALSE, ...) { mo <- AMR::as.mo(x = x, ... = ...) + metadata <- get_mo_failures_uncertainties_renamed() + df <- data.frame(mo, stringsAsFactors = FALSE) %>% left_join(select(AMR::microorganisms, mo, source, species_id), by = "mo") %>% mutate(url = case_when(source == "CoL" ~ @@ -347,6 +371,8 @@ mo_url <- function(x, open = FALSE, ...) { } browseURL(u[1L]) } + + load_mo_failures_uncertainties_renamed(metadata) u } diff --git a/R/portion.R b/R/portion.R index 18e2d00c..6599fec0 100755 --- a/R/portion.R +++ b/R/portion.R @@ -27,36 +27,61 @@ #' @param ... one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with \code{\link{as.rsi}} if needed. Use multiple columns to calculate (the lack of) co-resistance: the probability where one of two drugs have a resistant or susceptible result. See Examples. #' @param minimum the minimum allowed number of available (tested) isolates. Any isolate count lower than \code{minimum} will return \code{NA} with a warning. The default number of \code{30} isolates is advised by the Clinical and Laboratory Standards Institute (CLSI) as best practice, see Source. #' @param as_percent a logical to indicate whether the output must be returned as a hundred fold with \% sign (a character). A value of \code{0.123456} will then be returned as \code{"12.3\%"}. -#' @param also_single_tested a logical to indicate whether for combination therapies also observations should be included where not all antibiotics were tested, but at least one of the tested antibiotics contains a target interpretation (e.g. S in case of \code{portion_S} and R in case of \code{portion_R}). \strong{This could lead to selection bias.} +#' @param only_all_tested (for combination therapies, i.e. using more than one variable for \code{...}) a logical to indicate that isolates must be tested for all antibiotics, see section \emph{Combination therapy} below #' @param data a \code{data.frame} containing columns with class \code{rsi} (see \code{\link{as.rsi}}) #' @param translate_ab a column name of the \code{\link{antibiotics}} data set to translate the antibiotic abbreviations to, using \code{\link{ab_property}} #' @inheritParams ab_property #' @param combine_SI a logical to indicate whether all values of S and I must be merged into one, so the output only consists of S+I vs. R (susceptible vs. resistant). This used to be the parameter \code{combine_IR}, but this now follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below. Default is \code{TRUE}. #' @param combine_IR a logical to indicate whether all values of I and R must be merged into one, so the output only consists of S vs. I+R (susceptible vs. non-susceptible). This is outdated, see parameter \code{combine_SI}. #' @inheritSection as.rsi Interpretation of S, I and R -#' @details \strong{Remember that you should filter your table to let it contain only first isolates!} Use \code{\link{first_isolate}} to determine them in your data set. +#' @details \strong{Remember that you should filter your table to let it contain only first isolates!} This is needed to exclude duplicates and to reduce selection bias. Use \code{\link{first_isolate}} to determine them in your data set. #' #' These functions are not meant to count isolates, but to calculate the portion of resistance/susceptibility. Use the \code{\link[AMR]{count}} functions to count isolates. \emph{Low counts can infuence the outcome - these \code{portion} functions may camouflage this, since they only return the portion albeit being dependent on the \code{minimum} parameter.} #' #' The function \code{portion_df} takes any variable from \code{data} that has an \code{"rsi"} class (created with \code{\link{as.rsi}}) and calculates the portions R, I and S. The resulting \emph{tidy data} (see Source) \code{data.frame} will have three rows (S/I/R) and a column for each group and each variable with class \code{"rsi"}. #' #' The function \code{rsi_df} works exactly like \code{portion_df}, but adds the number of isolates. -#' \if{html}{ -# (created with https://www.latex4technics.com/) -#' \cr\cr -#' To calculate the probability (\emph{p}) of susceptibility of one antibiotic, we use this formula: -#' \out{
}\figure{combi_therapy_2.png}\out{
} -#' To calculate the probability (\emph{p}) of susceptibility of more antibiotics (i.e. combination therapy), we need to check whether one of them has a susceptible result (as numerator) and count all cases where all antibiotics were tested (as denominator). \cr -#' \cr -#' For two antibiotics: -#' \out{
}\figure{combi_therapy_2.png}\out{
} -#' \cr -#' For three antibiotics: -#' \out{
}\figure{combi_therapy_2.png}\out{
} -#' \cr -#' And so on. +#' @section Combination therapy: +#' When using more than one variable for \code{...} (= combination therapy)), use \code{only_all_tested} to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how \code{portion_SI} works to calculate the \%SI: +#' +#' \preformatted{ +#' ------------------------------------------------------------------------- +#' only_all_tested = FALSE only_all_tested = TRUE +#' Antibiotic Antibiotic ----------------------- ----------------------- +#' A B include as include as include as include as +#' numerator denominator numerator denominator +#' ---------- ---------- ---------- ----------- ---------- ----------- +#' S S X X X X +#' I S X X X X +#' R S X X X X +#' not tested S X X - - +#' S I X X X X +#' I I X X X X +#' R I X X X X +#' not tested I X X - - +#' S R X X X X +#' I R X X X X +#' R R - X - X +#' not tested R - - - - +#' S not tested X X - - +#' I not tested X X - - +#' R not tested - - - - +#' not tested not tested - - - - +#' ------------------------------------------------------------------------- #' } #' +#' Please note that for \code{only_all_tested = TRUE} applies that: +#' \preformatted{ +#' count_S() + count_I() + count_R() == count_all() +#' portion_S() + portion_I() + portion_R() == 1 +#' } +#' and that for \code{only_all_tested = FALSE} applies that: +#' \preformatted{ +#' count_S() + count_I() + count_R() >= count_all() +#' portion_S() + portion_I() + portion_R() >= 1 +#' } +#' +#' Using \code{only_all_tested} has no impact when only using one antibiotic as input. #' @source \strong{M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition}, 2014, \emph{Clinical and Laboratory Standards Institute (CLSI)}. \url{https://clsi.org/standards/products/microbiology/documents/m39/}. #' #' Wickham H. \strong{Tidy Data.} The Journal of Statistical Software, vol. 59, 2014. \url{http://vita.had.co.nz/papers/tidy-data.html} @@ -89,7 +114,7 @@ #' #' septic_patients %>% #' group_by(hospital_id) %>% -#' summarise(p = portion_S(CIP), +#' summarise(p = portion_SI(CIP), #' n = n_rsi(CIP)) # n_rsi works like n_distinct in dplyr #' #' septic_patients %>% @@ -103,32 +128,38 @@ #' #' # Calculate co-resistance between amoxicillin/clav acid and gentamicin, #' # so we can see that combination therapy does a lot more than mono therapy: -#' septic_patients %>% portion_S(AMC) # S = 71.4% -#' septic_patients %>% count_all(AMC) # n = 1879 +#' septic_patients %>% portion_SI(AMC) # %SI = 76.3% +#' septic_patients %>% count_all(AMC) # n = 1879 #' -#' septic_patients %>% portion_S(GEN) # S = 74.0% -#' septic_patients %>% count_all(GEN) # n = 1855 +#' septic_patients %>% portion_SI(GEN) # %SI = 75.4% +#' septic_patients %>% count_all(GEN) # n = 1855 #' -#' septic_patients %>% portion_S(AMC, GEN) # S = 92.3% -#' septic_patients %>% count_all(AMC, GEN) # n = 1798 +#' septic_patients %>% portion_SI(AMC, GEN) # %SI = 94.1% +#' septic_patients %>% count_all(AMC, GEN) # n = 1939 #' -#' # Using `also_single_tested` can be useful ... +#' +#' # See Details on how `only_all_tested` works. Example: #' septic_patients %>% -#' portion_S(AMC, GEN, -#' also_single_tested = TRUE) # S = 92.6% -#' # ... but can also lead to selection bias - the data only has 2,000 rows: +#' summarise(numerator = count_SI(AMC, GEN), +#' denominator = count_all(AMC, GEN), +#' portion = portion_SI(AMC, GEN)) +#' # numerator denominator portion +#' # 1764 1936 0.9408 #' septic_patients %>% -#' count_all(AMC, GEN, -#' also_single_tested = TRUE) # n = 2555 +#' summarise(numerator = count_SI(AMC, GEN, only_all_tested = TRUE), +#' denominator = count_all(AMC, GEN, only_all_tested = TRUE), +#' portion = portion_SI(AMC, GEN, only_all_tested = TRUE)) +#' # numerator denominator portion +#' # 1687 1798 0.9383 #' #' #' septic_patients %>% #' group_by(hospital_id) %>% -#' summarise(cipro_p = portion_S(CIP, as_percent = TRUE), +#' summarise(cipro_p = portion_SI(CIP, as_percent = TRUE), #' cipro_n = count_all(CIP), -#' genta_p = portion_S(GEN, as_percent = TRUE), +#' genta_p = portion_SI(GEN, as_percent = TRUE), #' genta_n = count_all(GEN), -#' combination_p = portion_S(CIP, GEN, as_percent = TRUE), +#' combination_p = portion_SI(CIP, GEN, as_percent = TRUE), #' combination_n = count_all(CIP, GEN)) #' #' # Get portions S/I/R immediately of all rsi columns @@ -155,13 +186,12 @@ portion_R <- function(..., minimum = 30, as_percent = FALSE, - also_single_tested = FALSE) { + only_all_tested = FALSE) { rsi_calc(..., - type = "R", - include_I = FALSE, + ab_result = "R", minimum = minimum, as_percent = as_percent, - also_single_tested = also_single_tested, + only_all_tested = only_all_tested, only_count = FALSE) } @@ -170,13 +200,12 @@ portion_R <- function(..., portion_IR <- function(..., minimum = 30, as_percent = FALSE, - also_single_tested = FALSE) { + only_all_tested = FALSE) { rsi_calc(..., - type = "R", - include_I = TRUE, + ab_result = c("I", "R"), minimum = minimum, as_percent = as_percent, - also_single_tested = also_single_tested, + only_all_tested = only_all_tested, only_count = FALSE) } @@ -185,13 +214,12 @@ portion_IR <- function(..., portion_I <- function(..., minimum = 30, as_percent = FALSE, - also_single_tested = FALSE) { + only_all_tested = FALSE) { rsi_calc(..., - type = "I", - include_I = FALSE, + ab_result = "I", minimum = minimum, as_percent = as_percent, - also_single_tested = also_single_tested, + only_all_tested = only_all_tested, only_count = FALSE) } @@ -200,13 +228,12 @@ portion_I <- function(..., portion_SI <- function(..., minimum = 30, as_percent = FALSE, - also_single_tested = FALSE) { + only_all_tested = FALSE) { rsi_calc(..., - type = "S", - include_I = TRUE, + ab_result = c("S", "I"), minimum = minimum, as_percent = as_percent, - also_single_tested = also_single_tested, + only_all_tested = only_all_tested, only_count = FALSE) } @@ -215,13 +242,12 @@ portion_SI <- function(..., portion_S <- function(..., minimum = 30, as_percent = FALSE, - also_single_tested = FALSE) { + only_all_tested = FALSE) { rsi_calc(..., - type = "S", - include_I = FALSE, + ab_result = "S", minimum = minimum, as_percent = as_percent, - also_single_tested = also_single_tested, + only_all_tested = only_all_tested, only_count = FALSE) } diff --git a/R/rsi.R b/R/rsi.R index 694db988..3abec415 100755 --- a/R/rsi.R +++ b/R/rsi.R @@ -36,7 +36,7 @@ #' #' The function \code{is.rsi.eligible} returns \code{TRUE} when a columns contains at most 5\% invalid antimicrobial interpretations (not S and/or I and/or R), and \code{FALSE} otherwise. The threshold of 5\% can be set with the \code{threshold} parameter. #' @section Interpretation of S, I and R: -#' In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below. Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". +#' In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below (\url{http://www.eucast.org/newsiandr/}). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". #' #' \itemize{ #' \item{\strong{S} - }{Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.} @@ -46,9 +46,7 @@ #' #' Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection. #' -#' Source: \url{http://www.eucast.org/newsiandr/}. -#' -#' \strong{This AMR package honours this new insight.} +#' This AMR package honours this new insight. Use \code{\link{portion_SI}} to determine antimicrobial susceptibility and \code{\link{count_SI}} to count susceptible isolates. #' @return Ordered factor with new class \code{rsi} #' @keywords rsi #' @export diff --git a/R/rsi_calc.R b/R/rsi_calc.R index 19960479..74e2151f 100755 --- a/R/rsi_calc.R +++ b/R/rsi_calc.R @@ -38,30 +38,29 @@ dots2vars <- function(...) { #' @importFrom dplyr %>% pull all_vars any_vars filter_all funs mutate_all rsi_calc <- function(..., - type, - include_I, - minimum, - as_percent, - also_single_tested, - only_count) { + ab_result, + minimum = 0, + as_percent = FALSE, + only_all_tested = FALSE, + only_count = FALSE) { data_vars <- dots2vars(...) - if (!is.logical(include_I)) { - stop('`include_I` must be logical', call. = FALSE) - } if (!is.numeric(minimum)) { stop('`minimum` must be numeric', call. = FALSE) } if (!is.logical(as_percent)) { stop('`as_percent` must be logical', call. = FALSE) } - if (!is.logical(also_single_tested)) { - stop('`also_single_tested` must be logical', call. = FALSE) + if (!is.logical(only_all_tested)) { + stop('`only_all_tested` must be logical', call. = FALSE) } dots_df <- ...elt(1) # it needs this evaluation dots <- base::eval(base::substitute(base::alist(...))) + if ("also_single_tested" %in% names(dots)) { + stop("`also_single_tested` was replaced by `only_all_tested`. Please read Details in the help page (`?portion`) as this may have a considerable impact on your analysis.", call. = FALSE) + } ndots <- length(dots) if ("data.frame" %in% class(dots_df)) { @@ -99,8 +98,7 @@ rsi_calc <- function(..., print_warning <- FALSE - type_trans <- as.integer(as.rsi(type)) - type_others <- base::setdiff(1:3, type_trans) + ab_result <- as.rsi(ab_result) if (is.data.frame(x)) { rsi_integrity_check <- character(0) @@ -108,43 +106,38 @@ rsi_calc <- function(..., # check integrity of columns: force rsi class if (!is.rsi(x %>% pull(i))) { rsi_integrity_check <- c(rsi_integrity_check, x %>% pull(i) %>% as.character()) - x[, i] <- suppressWarnings(as.rsi(x[, i])) # warning will be given later + x[, i] <- suppressWarnings(x %>% pull(i) %>% as.rsi()) # warning will be given later print_warning <- TRUE } - x[, i] <- x %>% pull(i) %>% as.integer() + #x[, i] <- x %>% pull(i) } if (length(rsi_integrity_check) > 0) { # this will give a warning for invalid results, of all input columns (so only 1 warning) rsi_integrity_check <- as.rsi(rsi_integrity_check) } - if (include_I == TRUE) { - x <- x %>% mutate_all(funs(ifelse(. == 2, type_trans, .))) - } - - if (also_single_tested == TRUE) { - # THE CHANCE THAT AT LEAST ONE RESULT IS type - found <- x %>% filter_all(any_vars(. == type_trans)) %>% nrow() - # THE CHANCE THAT AT LEAST ONE RESULT IS type OR ALL ARE TESTED - total <- found + x %>% filter_all(all_vars(. %in% type_others)) %>% nrow() + # THE CHANCE THAT AT LEAST ONE RESULT IS ab_result + #numerator <- x %>% filter_all(any_vars(. %in% ab_result)) %>% nrow() + if (only_all_tested == TRUE) { + # THE NUMBER OF ISOLATES WHERE *ALL* ABx ARE S/I/R + x_filtered <- x %>% filter_all(all_vars(!is.na(.))) + numerator <- x_filtered %>% filter_all(any_vars(. %in% ab_result)) %>% nrow() + denominator <- x_filtered %>% nrow() } else { - x <- apply(X = x, - MARGIN = 1, - FUN = min) - found <- sum(as.integer(x) == type_trans, na.rm = TRUE) - total <- length(x) - sum(is.na(x)) + # THE NUMBER OF ISOLATES WHERE *ANY* ABx IS S/I/R + other_values <- base::setdiff(c(NA, levels(ab_result)), ab_result) + other_values_filter <- base::apply(x, 1, function(y) { base::all(y %in% other_values) & base::any(is.na(y)) }) + numerator <- x %>% filter_all(any_vars(. %in% ab_result)) %>% nrow() + denominator <- x %>% filter(!other_values_filter) %>% nrow() } } else { + # x is not a data.frame if (!is.rsi(x)) { x <- as.rsi(x) print_warning <- TRUE } - x <- as.integer(x) - if (include_I == TRUE) { - x[x == 2] <- type_trans - } - found <- sum(x == type_trans, na.rm = TRUE) - total <- length(x) - sum(is.na(x)) + numerator <- sum(x %in% ab_result, na.rm = TRUE) + denominator <- sum(x %in% levels(ab_result), na.rm = TRUE) } if (print_warning == TRUE) { @@ -153,20 +146,23 @@ rsi_calc <- function(..., } if (only_count == TRUE) { - return(found) + return(numerator) } - if (total < minimum) { - warning("Introducing NA: only ", total, " results available for ", data_vars, " (minimum set to ", minimum, ").", call. = FALSE) - result <- NA + if (denominator < minimum) { + if (data_vars != "") { + data_vars <- paste(" for", data_vars) + } + warning("Introducing NA: only ", denominator, " results available", data_vars, " (minimum set to ", minimum, ").", call. = FALSE) + fraction <- NA } else { - result <- found / total + fraction <- numerator / denominator } if (as_percent == TRUE) { - percent(result, force_zero = TRUE) + percent(fraction, force_zero = TRUE) } else { - result + fraction } } diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index 370609a0..8a234d0d 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -78,7 +78,7 @@ AMR (for R) - 0.7.1.9004 + 0.7.1.9005 diff --git a/docs/articles/AMR.html b/docs/articles/AMR.html index 6496de6a..a4c0afd1 100644 --- a/docs/articles/AMR.html +++ b/docs/articles/AMR.html @@ -40,7 +40,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 @@ -192,7 +192,7 @@

How to conduct AMR analysis

Matthijs S. Berends

-

23 June 2019

+

01 July 2019

@@ -201,7 +201,7 @@ -

Note: values on this page will change with every website update since they are based on randomly created values and the page was written in R Markdown. However, the methodology remains unchanged. This page was generated on 23 June 2019.

+

Note: values on this page will change with every website update since they are based on randomly created values and the page was written in R Markdown. However, the methodology remains unchanged. This page was generated on 01 July 2019.

Introduction

@@ -217,21 +217,21 @@ -2019-06-23 +2019-07-01 abcd Escherichia coli S S -2019-06-23 +2019-07-01 abcd Escherichia coli S R -2019-06-23 +2019-07-01 efgh Escherichia coli R @@ -327,69 +327,69 @@ -2017-10-01 -O3 +2011-09-06 +Z5 Hospital B Escherichia coli R -R +S S S F -2011-03-09 -U5 -Hospital B -Staphylococcus aureus +2015-03-21 +E7 +Hospital C +Escherichia coli +R +I S S +M + + +2010-08-11 +X6 +Hospital C +Escherichia coli S S +R +S F - -2011-03-26 -N5 -Hospital A -Escherichia coli + +2012-06-16 +E10 +Hospital D +Staphylococcus aureus +R S S S +M + + +2016-12-29 +J3 +Hospital C +Escherichia coli +R +S +S S M -2013-03-11 -O1 -Hospital A -Escherichia coli +2010-04-09 +Q3 +Hospital B +Streptococcus pneumoniae R S -R -R -F - - -2016-05-24 -V5 -Hospital D -Staphylococcus aureus S S -S -S -F - - -2016-09-21 -Z8 -Hospital A -Klebsiella pneumoniae -S -S -R -S F @@ -411,8 +411,8 @@ # # Item Count Percent Cum. Count Cum. Percent # --- ----- ------- -------- ----------- ------------- -# 1 M 10,366 51.8% 10,366 51.8% -# 2 F 9,634 48.2% 20,000 100.0% +# 1 M 10,408 52.0% 10,408 52.0% +# 2 F 9,592 48.0% 20,000 100.0%

So, we can draw at least two conclusions immediately. From a data scientists perspective, the data looks clean: only values M and F. From a researchers perspective: there are slightly more men. Nothing we didn’t already know.

The data is already quite clean, but we still need to transform some variables. The bacteria column now consists of text, and we want to add more variables based on microbial IDs later on. So, we will transform this column to valid IDs. The mutate() function of the dplyr package makes this really easy:

data <- data %>%
@@ -442,14 +442,14 @@
 # Pasteurella multocida (no new changes)
 # Staphylococcus (no new changes)
 # Streptococcus groups A, B, C, G (no new changes)
-# Streptococcus pneumoniae (1,453 new changes)
+# Streptococcus pneumoniae (1,443 new changes)
 # Viridans group streptococci (no new changes)
 # 
 # EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes (v3.1, 2016)
-# Table 01: Intrinsic resistance in Enterobacteriaceae (1,298 new changes)
+# Table 01: Intrinsic resistance in Enterobacteriaceae (1,332 new changes)
 # Table 02: Intrinsic resistance in non-fermentative Gram-negative bacteria (no new changes)
 # Table 03: Intrinsic resistance in other Gram-negative bacteria (no new changes)
-# Table 04: Intrinsic resistance in Gram-positive bacteria (2,747 new changes)
+# Table 04: Intrinsic resistance in Gram-positive bacteria (2,723 new changes)
 # Table 08: Interpretive rules for B-lactam agents and Gram-positive cocci (no new changes)
 # Table 09: Interpretive rules for B-lactam agents and Gram-negative rods (no new changes)
 # Table 11: Interpretive rules for macrolides, lincosamides, and streptogramins (no new changes)
@@ -457,24 +457,24 @@
 # Table 13: Interpretive rules for quinolones (no new changes)
 # 
 # Other rules
-# Non-EUCAST: amoxicillin/clav acid = S where ampicillin = S (2,176 new changes)
-# Non-EUCAST: ampicillin = R where amoxicillin/clav acid = R (121 new changes)
+# Non-EUCAST: amoxicillin/clav acid = S where ampicillin = S (2,213 new changes)
+# Non-EUCAST: ampicillin = R where amoxicillin/clav acid = R (127 new changes)
 # Non-EUCAST: piperacillin = R where piperacillin/tazobactam = R (no new changes)
 # Non-EUCAST: piperacillin/tazobactam = S where piperacillin = S (no new changes)
 # Non-EUCAST: trimethoprim = R where trimethoprim/sulfa = R (no new changes)
 # Non-EUCAST: trimethoprim/sulfa = S where trimethoprim = S (no new changes)
 # 
 # --------------------------------------------------------------------------
-# EUCAST rules affected 6,468 out of 20,000 rows, making a total of 7,795 edits
+# EUCAST rules affected 6,513 out of 20,000 rows, making a total of 7,838 edits
 # => added 0 test results
 # 
-# => changed 7,795 test results
-#    - 107 test results changed from S to I
-#    - 4,725 test results changed from S to R
-#    - 1,040 test results changed from I to S
-#    - 329 test results changed from I to R
-#    - 1,579 test results changed from R to S
-#    - 15 test results changed from R to I
+# => changed 7,838 test results
+#    - 115 test results changed from S to I
+#    - 4,719 test results changed from S to R
+#    - 1,077 test results changed from I to S
+#    - 335 test results changed from I to R
+#    - 1,573 test results changed from R to S
+#    - 19 test results changed from R to I
 # --------------------------------------------------------------------------
 # 
 # Use verbose = TRUE to get a data.frame with all specified edits instead.
@@ -502,8 +502,8 @@ # NOTE: Using column `bacteria` as input for `col_mo`. # NOTE: Using column `date` as input for `col_date`. # NOTE: Using column `patient_id` as input for `col_patient_id`. -# => Found 5,644 first isolates (28.2% of total)
-

So only 28.2% is suitable for resistance analysis! We can now filter on it with the filter() function, also from the dplyr package:

+# => Found 5,719 first isolates (28.6% of total) +

So only 28.6% is suitable for resistance analysis! We can now filter on it with the filter() function, also from the dplyr package:

data_1st <- data %>% 
   filter(first == TRUE)

For future use, the above two syntaxes can be shortened with the filter_first_isolate() function:

@@ -513,7 +513,7 @@

First weighted isolates

-

We made a slight twist to the CLSI algorithm, to take into account the antimicrobial susceptibility profile. Have a look at all isolates of patient M3, sorted on date:

+

We made a slight twist to the CLSI algorithm, to take into account the antimicrobial susceptibility profile. Have a look at all isolates of patient S7, sorted on date:

@@ -529,74 +529,74 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -606,10 +606,10 @@ - - + + - + @@ -617,19 +617,19 @@ - - + + - + - - + + @@ -639,7 +639,7 @@
isolate
12010-01-24M3B_ESCHR_COLSSRSTRUE
22010-03-17M3B_ESCHR_COLSSSSFALSE
32010-04-12M3B_ESCHR_COLSSRSFALSE
42010-05-20M3B_ESCHR_COLSSRSFALSE
52010-06-08M3B_ESCHR_COLSSRSFALSE
62010-06-20M32010-01-28S7 B_ESCHR_COL R I S STRUE
22010-02-07S7B_ESCHR_COLSSSR FALSE
32010-03-16S7B_ESCHR_COLRSSSFALSE
42010-10-09S7B_ESCHR_COLSSSSFALSE
52011-01-25S7B_ESCHR_COLRSSSFALSE
62011-02-16S7B_ESCHR_COLSSSSTRUE
72010-09-18M32011-02-24S7 B_ESCHR_COL S S
82010-10-08M32011-03-30S7 B_ESCHR_COLSR S R S
92010-11-05M32011-04-25S7 B_ESCHR_COL S S SSR FALSE
102010-12-23M32011-05-06S7 B_ESCHR_COL S S
-

Only 1 isolates are marked as ‘first’ according to CLSI guideline. But when reviewing the antibiogram, it is obvious that some isolates are absolutely different strains and should be included too. This is why we weigh isolates, based on their antibiogram. The key_antibiotics() function adds a vector with 18 key antibiotics: 6 broad spectrum ones, 6 small spectrum for Gram negatives and 6 small spectrum for Gram positives. These can be defined by the user.

+

Only 2 isolates are marked as ‘first’ according to CLSI guideline. But when reviewing the antibiogram, it is obvious that some isolates are absolutely different strains and should be included too. This is why we weigh isolates, based on their antibiogram. The key_antibiotics() function adds a vector with 18 key antibiotics: 6 broad spectrum ones, 6 small spectrum for Gram negatives and 6 small spectrum for Gram positives. These can be defined by the user.

If a column exists with a name like ‘key(…)ab’ the first_isolate() function will automatically use it and determine the first weighted isolates. Mind the NOTEs in below output:

+# => Found 15,097 first weighted isolates (75.5% of total)
@@ -667,94 +667,94 @@ - - + + - - + + - - + + - + - - + + - - + + - - + + - + - + - - + + - - + + - + - - + + - - - + + + - - + + - + - - + + - + @@ -763,8 +763,20 @@ - - + + + + + + + + + + + + + + @@ -773,25 +785,13 @@ - - - - - - - - - - - -
isolate
12010-01-24M32010-01-28S7 B_ESCHR_COLSS RIS S TRUE TRUE
22010-03-17M32010-02-07S7 B_ESCHR_COL S S SSR FALSE TRUE
32010-04-12M32010-03-16S7 B_ESCHR_COLSS R SSS FALSE TRUE
42010-05-20M32010-10-09S7 B_ESCHR_COL S SRS S FALSEFALSETRUE
52010-06-08M32011-01-25S7 B_ESCHR_COLSS R SSS FALSEFALSETRUE
62010-06-20M32011-02-16S7 B_ESCHR_COLRI S SFALSESSTRUE TRUE
72010-09-18M32011-02-24S7 B_ESCHR_COL S S S S FALSETRUEFALSE
82010-10-08M32011-03-30S7 B_ESCHR_COLSR S R S
92010-11-05M32011-04-25S7B_ESCHR_COLSSSRFALSETRUE
102011-05-06S7 B_ESCHR_COL S SFALSE TRUE
102010-12-23M3B_ESCHR_COLSSSSFALSEFALSE
-

Instead of 1, now 7 isolates are flagged. In total, 75.4% of all isolates are marked ‘first weighted’ - 47.2% more than when using the CLSI guideline. In real life, this novel algorithm will yield 5-10% more isolates than the classic CLSI guideline.

+

Instead of 2, now 9 isolates are flagged. In total, 75.5% of all isolates are marked ‘first weighted’ - 46.9% more than when using the CLSI guideline. In real life, this novel algorithm will yield 5-10% more isolates than the classic CLSI guideline.

As with filter_first_isolate(), there’s a shortcut for this new algorithm too:

data_1st <- data %>% 
   filter_first_weighted_isolate()
-

So we end up with 15,080 isolates for analysis.

+

So we end up with 15,097 isolates for analysis.

We can remove unneeded columns:

data_1st <- data_1st %>% 
   select(-c(first, keyab))
@@ -799,7 +799,6 @@
head(data_1st)
- @@ -816,13 +815,12 @@ - - - + + - + @@ -832,62 +830,58 @@ - - - - + + + + - - - + + - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + - + @@ -896,19 +890,18 @@ - - - - - + + + + + + - - - - - - - + + + + + @@ -928,9 +921,9 @@
freq(paste(data_1st$genus, data_1st$species))

Or can be used like the dplyr way, which is easier readable:

data_1st %>% freq(genus, species)
-

Frequency table of genus and species from data_1st (15,080 x 13)

+

Frequency table of genus and species from data_1st (15,097 x 13)

Columns: 2
-Length: 15,080 (of which NA: 0 = 0.00%)
+Length: 15,097 (of which NA: 0 = 0.00%)
Unique: 4

Shortest: 16
Longest: 24

@@ -947,33 +940,33 @@ Longest: 24

- - - - + + + + - - - - + + + + - - - - + + + + - - - + + + @@ -984,7 +977,7 @@ Longest: 24

Resistance percentages

The functions portion_S(), portion_SI(), portion_I(), portion_IR() and portion_R() can be used to determine the portion of a specific antimicrobial outcome. As per the EUCAST guideline of 2019, we calculate resistance as the portion of R (portion_R()) and susceptibility as the portion of S and I (portion_SI()). These functions can be used on their own:

data_1st %>% portion_R(AMX)
-# [1] 0.4661804
+# [1] 0.4738027

Or can be used in conjuction with group_by() and summarise(), both from the dplyr package:

data_1st %>% 
   group_by(hospital) %>% 
@@ -997,19 +990,19 @@ Longest: 24

- + - + - + - +
date patient_id hospital
12017-10-01O32011-09-06Z5 Hospital B B_ESCHR_COL RRS S S FTRUE
42013-03-11O1Hospital A2015-03-21E7Hospital C B_ESCHR_COL RI SRRFSM Gram-negative Escherichia coli TRUE
52016-05-24V5Hospital DB_STPHY_AURS2010-08-11X6Hospital CB_ESCHR_COL S SR S FGram-negativeEscherichiacoliTRUE
2012-06-16E10Hospital DB_STPHY_AURRSSSM Gram-positive Staphylococcus aureus TRUE
62016-09-21Z8Hospital AB_KLBSL_PNERSRSFGram-negativeKlebsiellapneumoniaeTRUE
72010-09-19H32016-12-29J3 Hospital C B_ESCHR_COL R SRS S M Gram-negativeTRUE
82015-04-27C9Hospital CB_ESCHR_COL2010-04-09Q3Hospital BB_STRPT_PNERR SSSSMGram-negativeEscherichiacoliRFGram-positiveStreptococcuspneumoniae TRUE
1 Escherichia coli7,41449.2%7,41449.2%7,48349.6%7,48349.6%
2 Staphylococcus aureus3,78725.1%11,20174.3%3,67324.3%11,15673.9%
3 Streptococcus pneumoniae2,31915.4%13,52089.7%2,30615.3%13,46289.2%
4 Klebsiella pneumoniae1,56010.3%15,0801,63510.8%15,097 100.0%
Hospital A0.46580160.4810406
Hospital B0.46146530.4714259
Hospital C0.47445260.4625113
Hospital D0.46863340.4753247
@@ -1027,23 +1020,23 @@ Longest: 24

Hospital A -0.4658016 -4547 +0.4810406 +4536 Hospital B -0.4614653 -5255 +0.4714259 +5267 Hospital C -0.4744526 -2329 +0.4625113 +2214 Hospital D -0.4686334 -2949 +0.4753247 +3080 @@ -1063,27 +1056,27 @@ Longest: 24

Escherichia -0.9219045 -0.8950634 -0.9950094 +0.9256982 +0.8929574 +0.9951891 Klebsiella -0.8153846 -0.8935897 -0.9865385 +0.8214067 +0.9033639 +0.9865443 Staphylococcus -0.9176129 -0.9144442 -0.9949828 +0.9229513 +0.9224068 +0.9937381 Streptococcus -0.6196636 +0.6153513 0.0000000 -0.6196636 +0.6153513 diff --git a/docs/articles/AMR_files/figure-html/plot 1-1.png b/docs/articles/AMR_files/figure-html/plot 1-1.png index 33eec1ad492d6d606e3e3ed9d06276981d508aa4..97295b95938319ec3e7bc63cd708f9477594963b 100644 GIT binary patch literal 35905 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 literal 35967 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 T>L*J1qnz<9GsBD0WxM_xEM)Pe diff --git a/docs/articles/AMR_files/figure-html/plot 3-1.png b/docs/articles/AMR_files/figure-html/plot 3-1.png index 205cf20bd09788d77025614426c7a1f82266fc95..bf1b2b1930bf17645d0cf354f9021b859d8ac25f 100644 GIT binary patch delta 9660 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 AH2?qr literal 18239 zcmeHvcT`hbw=YrzrP(0TMMP8t4kEoIiijLUL{y}OqZ~!0M0!t76hw-kqM%X|DhK(CH3JMAe2?+@c3yX+|h>D7C+O%o&=FMBSY}vYX>$Yv%#KgqJ z#l=A&(Dv=yB_t#yB_*Y#q@<;#Wn^SzWo6~$FBTS-Z2 z&z?Pd_wH3zR^GpVzlw^As;a8Gy83|w2Q)M^G&MD~w6t_|baZuf_4M@g_4N%53=9no zjf{-IU@!y%Idtfdv9a-yb*GOUIbvdBa`foYW5+_`hMwzhV5cJ}u64h{~Ej*d_$)XB-| zk3ar6fByW13m2T7o&Wsv&x;o?Ub=M2#l_|F<;z#DT)BGns;jH3o12@vySs;n2Mh+g zcI}#{r>B>fm$$dKkB^V9udkn*CP;hW?NJvO%Xeb;GM<5V?{q+|T ziM)RO`i&bm!otGB!^3ahycrP@aqHHt$jHd3sHo`Z=$M$8+qZAW#>U3Q#of7c=kDFR z_wL<`kB`59|Nesq4-yg*5)%_2K79D-(WA$YA15UxB_}7Rq@<*#rlL?NG#dTn$&;r~ zpFVr`?D_NOFJ8QO`SN92TH32uuhP@gU%!5xk&%&^nVFT9m7SfPlaur2&6~Gx-@beI zE;lzfFE1}YKfj=$ps=v8sHmv8xVWUGq_niOtgH-!!IYPmW3kxx@85s;@S&ojqO!8` zu9WJI&s7l8w-b6X9v+>zvn(|2B^HO%b1IAw~^zd1!!^Z@W$ItPK@tR0$ z9a@L%lQiADOa7?B`n&6_iUnf!NZ20XQ`~gq+(EaH4sxB|hFt$w)J`1N zNh@ASu63C+a{Fc50Y;14R-S#h?At{ zXig~Eaa+z$PlvgCJGR1Jqt1zegjlURabky;j#buJ4@AyaH?jg#PsUh^(tdu>P0VA{ zBZn`P`F~0iM`my0?)4Rz-TtK*;v^>uOMWZ~lbgQc(V!kaXP+@l+dno37g7z%9S@|` z^xZIqs@Qi~G#9l4#9N28Phgbr1_LcUj`4z7Iip;-IXXrTqIi17MQC8l)I~jXB^v^lH3r z=JxEs{cewhf|5?ug5B5a1y3=HTZSABrq<(BP$D~U-&Te^yN{vvIsjp=xH4oTa=zl* z;9ple0Il(h8^3t)e_jrvOwk>2VGD()z4p84)ZZ2s+56fk4zdt8@H?Jxs&-is9K9c& zU5P?t-Yn^y#jSZ2P2aC20K4|>_L7DB-@iK53E`lqu`bG$wjP@FK}QusTZ)mNk};PI$(6w;Ga|HB6RxR zFlQb#G^t*}s3RL6s4g@f^AZ|Pas&v2k>&1Jlk+bhP4+C*r9A2swkAHJ4J(uKh%<^= zg}ZUZUk33KX0iPtxq^WGSH{Iz#+hrmNU22`O5KDOP4+ETGD&p-hiV%(_+IqbSJEzl0B7a|nh`{_nA@5` zy#6FnH72nQyoKEVZF$mO2}>_j!nrz!JcSdVY)5%urd-sGPJ!PZkoBD|3wJ@}_1D?^+o><3Y zjT^lVF+;_HmCjM8s?*b{^9l7@jkmPL(>(0poDw`i6(t)7V@uGpYr{9oY@oo>2Yycs zUeM4L(X9_>-*reI%iBtJB{Hki7d|H0tCkuy26^Bl{4KADCqYC{mGqRNYCS*Ms&2ac zq6Kjsjws6;OwJ|h-nMqNRLSf%;9gRUDYbY}UMNkgr^X{^>)a zTZ&AM2WCEy8k68HuzWVFT(ZZS6%{R7RFs=gr$2ytwxngllHJ&!ILI5Md=+h__hSTNBl3(Wctqmp`6tVx;9 zm#QWF+rjpmT|h2ib;WEC=-`v>q?pvb>awiMV_APYz9b4itB>ZL)=*kRh2waTQ1M|y zLRoe7nPJuOM?qh&ba+U5Idi8dJ5KgC4d@K)2V|%M`-=Di5WMf316+o+tOrcX-Zj*K z&AR`c<$!nr)@JoY`GD~4vf2+mFBzc3RY3t5!P{j%;zfb)u90^shAi2nU$0$}?_W$_ z`HFvu)UOX{*{=Lwqb}kguui?7O^u-aa@Oi+Z3h3?|3jVinM(gsqd!c{|KmpE%?-dQ z3TsLmu{QM??ccn{#vLB!#tg-1Ou|1rxJpv)Hs3IN?uRGgql(iGyG9etJ}u?c3H=>i zQ?hCd&-3%JzJ`PF)?QX(+=ibkyXDu~MqDv=SLR`~{=c#c?rb4?hJ0q-WU}}B=d3i& zEBJ@F!z}~E$Cik36~>7k3I+SsKEw|DAuHFZ)I6X-Cp0vqN|j%l7VSo^QYmz&)s3m5 zW?mZl!$<6!?A0bam_k8wR{Rs?HDjP&XUcn{zVmB0S|KPf>!Q?Nsnh?C8Pg6yOjO;r zQdIATaUasIe~e(%G4XpdL-2dBVLoj*Ph2kRR{?FASHS_5!?ZWex% zpW%F6j`SJx=_`*y-dFBiv6qCiOOTrR#JSRS0>$$^lH!710d*j4%&BQB@=ames6TPw4 zS?Us<^@wY0>MVf;IJ3fp2i4D4Ahb@DYmDco7k!9^<8?Cpf)0~hDg}+t-4!kmAiK{w z@yLRpUkE|ih6s@H;#tqei}~Qki3WY=*ZNh58OYQQ9oI`=)73ba57U_VewhY)2eFE* zDq(hd;Ms{;g60YK&M@QLL!jvHQHYx0d5e0MmK^@2SwFg37sH6?Wz6!(uK(LHs2yz7 zQxBsH?mNDRBHX`dDs|O`WAAyx@*wuu#O$Mn7KYf~Uca|R6MYbH0KI$Om1)s0YByO( zn}SPMs5j&W9bQa_zpvc!Gk;mPt8LS6P6e==!=}5>-?aP{rbS$P_V>v^(|Y9V0<-Tv+%wj~@4Qy&r zmc_LRVyMxzxlu-YCe4SmdneA^_}mwRF;Z1ZB)@^sS|{_^7IGKr4^Uyx8$}$^5|{Bi z%ylcXhePnFFmIlZYMo7PZEXAJfEUh>xOnis}7-S{#sQNPrQ-r^8%==Q1=gaP}X_8K^2Zw zwa*SO+SOMX!(7X~RLDx((yltHdR(A%l!?$wh{^TFI?w+uhd}zB5dIrBFh4&yEV2Qm z&m6d)Ak~V!r4xR*iqZ)DI%M{nHOIqwTK7pf+f!_kr@v z&tB^0#vB~)`UfM`vN)xE4G@$VwD%u8MM#O%7x2+@D(?S-dD-W_4ziIDCl7Z2RO61n zFUb<4Q#RkY6KAjXXgjn#J$Jzjy(ZX4o}Gnl$$q%WFQ|qp@8C77Y#h+MpcjJrQD&(P z_T1ka+J_42BuS-|TXLs3>n`V1UyS#Tx69`G-yP<2)rYScKw}&NBPfN5S$4fieMTF; z)r8(UBk}L9e57wV=+-)QlLcL__vnk0Z!2JDR3i1X_5sP*<#N(;TJ}F&{fXw7W-M=g zrI56fN5;-~{`>4e2DcOMugM|}n8}yTIZ{TKj$XQ6qS5OHM7f($NzIib45FR<7Jm$Q zFu|E6KEBp>bM34LuFI)$jCD$vnY5I>7Us^1*?|LvfhlWeR1la2Rmi4belX)AFB0zb zHDm2KH!yBtLV{hgdhd3#&@A1XGq0#mSpY@s58TBWcRUX@tw^{oG+W67pJQ1s2=rSU zXH#)}K!U=F`4v5Lw)&>|&EiwBEA_Ew+sUO);uX=*x16v|Cq9E^ypbL>!wP>lcT9yl zkP9)1IIb2qe;Y2~wR75QiuPVk z^fwF6rd6L=WkTSj?_ZZ7oOM`8smhMKV zM4VnAz9JXfq2KesYeo3BV<4Q4?Ec$Mj@XGAsyO*aEwsC{!N#*}Vc{0!edKp6K&8X# zN~}V}YR;5~{nn2*Hfjk7?+g%JO~ARk5b~I8UkujK$WWG$k&`#yT2a!VaAz{<#m*&} zwAbJE1T?Ql)~vzqL#+E4EzVZwxC!ymXS({79apQU%6LOX{Hq+Fj)96>cxkm>ZF7_5 zQU=}B>%}^?MePl8#q_X_u&G!kwB{r_f@!~R)amqI+E$+yTdH)ZBDeduDu^yl)1Ivu zHujDRBHJf{q4}x?ZDh4<+l5-FV$V&I#curcNd6XOI&p{rL2+V z7E&QE&O_0689@eqi^|l*u;rTP&6*@d)|CJ!t(V+}JBJh-O{1clqFsa#iYuRO3=}Qr z&Yteg@!N>1uXaM`R#mBOm{*BPgz4wf6rS^o#C9Y=(^usUL{^(*e30vC?0HADti;n? zuh%%D_;Gp&-LT)NVhqZ*ifC*i z!f28^rT2hlqu!-U$(}B(Trp3-vm9IRSuCiY!0lHkJY2VH_8{7SVY_NNJjaD z^Bf^vDhWA>=;QCmzAEW8a$~qDMTzeTxGN)m6H)u;&ew>TNG8stCQ7Qb8lW`Xbj z69ln83^t5CQ}oi0uFtS2%Bx&bp)1F5g9TvO~u zQ~$NfN`jnH`K}A0bd!^b@Vgk`=t7BKErH)f;uS*j=Lv~7GsaMkVt!+5HO~PYOn^oZ zELTiE%^AP{#^vXMM!TfXFeq2fqnL>W9ph_t&+rL62(e=#wPV|al?QQJ^y zBnTU^0r`ACNrAklJdQJ?*6_!pKUBAv1UZ**5)s&&)EKN&yGGM1BFqAY&2s9t8uqK8 zg5S-oIj8%aXK%ITFqU|73ci z)Q%=@<|=0bb2VqG`u>wKUI}s|M`7QMO)FZzl_%vQYJ+^Q=tjL82&*c=B`aDfkHZS| zKaSm{A_G)Pm-JEpCUU9qBHZ*|g2)Pt;F`c}=XoN+ch{8>ARPN<5k!0lmBSVrm3)9@ ztlosn_%uXYBFe3;%z+60{E{~jGe3rQlB`gMjh=3~2jt9`S^JEwK_)Z^mY!vu@#F0h zURsCqEa%=E4(DdA^EBwpmKC|XS(%|TiLg3{zx(`!@k+^9nmeUI7)BmD^5x6->12`6 zT<>#Tkw1tG03uQTGmJPKZ`ZeND&k!IMQqBZo+=*sUXTWz*|xIfZ)M`8&Hp>DmK>%$ z&yPV{eceufXPu0oPazOOt_a@ujV)Ihe%)K;3sqp2es>kH^!9_iN!##dGEh#d{f=3x zzV#00YrxHl5LW18sXSPA6iK2>I0g9nZ{q!-X&Dpn?>g*%hd}*$$G_*p{l(}14xb-r z@vwfxJE@C965eU^Wt@yAaa4AUaAF?*;i_YFMGaSIaXVMM;g-gv*07=03vrS}K1X|@ zpT2}903secn8m7J2B1A_(rOfwa&LpGQiZ!4nRBg{c&b|g^<^co*?y+UrdsfKj}vRj z%}Hjgd{Im^Q4F9a#aGn?Uno=H979KZ#~bP+C&wbS+blDq1V2`J6SZeVd4mF0+(4jC z{{zB_2{=(E&v~;3MIiPA8R^FzYMsd@CQZgaWA=tzqdr+Ev@3&?4^r>xl5L+Jg zjB;IP_-?x^!cex`OJo)GInC|FA3A`Z0n5{qQ$S6Zbt8Tp>X`Nh5D07bwQvvAqj5sN zX}*}Iz*&kz3VM=%P*E^CFRK*o-wi(oyq(_bTXWluTwK9kV7;< z7Sn&{EqTAvov{Y?xo~ZGRQckMNA^f~NRY!j-R=OZ@y?U*?DEwF_c8!9u{xgaDi;K* zQm$)iTg@B;`H%_Tk{l)cY4F>9s(TD=oL1A6KchHR_5c2;u<8nHZfjFj0IU;OqVH-g8j_8(ppFtNi3fYfZa@jdpltEKT6 zaUK5z!b9G@yc7UpSyood4k#XU@O)&iCCL-_0#ileR;Cx7W%1N|cY&$wa0 zjhRdzwZ)#VY*`Y97AdXM)PR`l9!3L8U4m12fR$@fz@3@xuZ>3xvbH-I91NW12cE=P z@3w^F80tmmGy}H3^?ea#FNl^v`_5 zP)-CrZ7x4tDax|R-9f!NxL0;posSEeqgY+sqXI6NieWCZp!s*^AU( zXHvY8=z;JF5sJP%^dW-T_JPMn%G54)6oQ@+#b`I)qWA+ZYTb z-rnnT)<6edq+^E8c%{q}YR3F%!o#Vb%v`K0w$^U7l$Fa-)tkd?&+%~R!G@$%Djff_ zv@$o}nlxcsaIv{Bjk<^nI?d0gSDzhARnLh?sPlJrXft57+DvmqHq7#A5G_ZQHu#A7 zI-^lZ5;labQtq!qqoIC*RL8R2sd**%^m1AQ*e+JBTLwDQrsHBf|03X{97guf1IDpe z&Cv*%nqJOTa*AA&tFG%Yv@3yEX?}QRKI~Re${6?^%`_U|$TR99v-MtpadUd`1!g#j zWPYi%(v^;v15;=AQcvX6JZ!x4tZNH7qQ(jB8c%`gx?V=340o}2fS0x{#S?m}Y=3=1 zwR3dSRl?KGT2G4v_Y^~C=jQYbV&-rJYol|kU&OHNBXQA4lwWYnh>-4U6(m%b4gV-# zem7!$i58R0Y%}03i7NRGhmE9m*v^-3kG8=L5}pzwQBCi2jHE?a z6J178LxiVNF485M`WpBaa;p-tHdXYu2NR+>_FG62C*pofmpAp@fzyc7xiDE2@~Bsd zXjT=ub=0g}DOW95U%4I-rY_E-)Y3?Zjr9Uw3G76f7AL@YyfYb*iHL@7g9X$36c{yg zD75Ks2L6=$ds~Pc@8J6*_cbGmVniP+p#7H$)IdzgLc3P^4^@i8`HIu|Y)|YP zDB>vQGN)|`+bilbFZXs>g4@xo7evl2WM#Xu#OQOdW;UPokY!+5Cvc`^O*E_BzX9{0 zBBKio5T}?AhZQWGKUv9ekmYH#1>w#qpc;pm;6Y|T%@&+3xj`DQ92@#rcKkN1c~Cty zK~uj?dv@@dGvU}xm(E_#I+pEx(g^iZQ_bU#cb@67d3yE1sRRQ<2ehjqin{CDBy|Dg zcH(Ky^`e8W@Mt4X`Uoxh52=(A^=eni4hn~^Lvvy%NS1rTnO>fQontAoE_zv}zD#~S z#)(WUL_ymPo!dfsu_P0!xMe~Q5rW#8nEzDi)l=IMomz9BPZryZ} zjO)CI2x0S(rVz$?vTdpYK1Q@M=7cF75lVZ5glY`_!R=_$D^5n$=uBDaf~`2=x)Nme zV9SMMt%W<=N!Zvp|6Hl&DNYQ(Hoj~8?g%x(3LZ9+FWu%L;KLGTzHHRJaC8FeRELdk zDDCXM`v`V@MgiEThu|zRprXLiXbaeC3weLAS114Q@z5qJ%9VAd^X=7Ll^h*4DBi&N zVlw9ZK{*0>yU*!Td7N#5N7WSo5MVH!d8VrWAke@d_lUN8apLsy8ZUEg*ZA-Do^LlS z44MFU7q9nYZ8LK+b%3GRAvITN1k=!B8%`! zUg<11^6L+$B~@oYwACa#L0ly~$fI@zITkx{`t#q$h$Gi`9Yr^n`zAI8wxsG~XS0Si zIpLi_fs|DoX7v&dGjq@d*HL3L?)CmI_Hxe`rcdB1xKiUY=o5v(^e=NG$|B19N`_6H z_x4?fJacb4ezn@0ASXUNFvuGJNVnZO%1JmCh$h%18;(Q~6Keh6egJ+mgRu0w06Zh1 z?9i=I=6>{RG|;QiNKDeOQ~WxT81iU$djya8erWl4Pht3*Cg(ZttAmCYD)2RM4=On9 zO+8P(h88%)L;z&uFjMMw@+TnWIqV=Lh#*ywT?3^(cy{#>IBQn$Pp8*snC_tLbM$6x zFH$an%UKwBhZX|sN$iU3FQP}<1y&{@P$>Fk0j2h)eSwc016tx~>07lKz(=9)u*8G`-xEWS4iY!2(yE_(}qx(l~e zQZ3Pbd&S0JE1`b-D#gTbob^0ktU!Ou-UY5U2)cP){o!-*h|CB6P*Ucj^J(QwXEQV> z+p}HmuuiK(-j!22uRP5t?DGpoEWV%xft+y*9sXAW+_yn}A6f_nP9)ey#2o}wnF5jo zrEEXU%9l|@8s!G!;U;&bKrEdw=f{b&VN=#DKKPc3>!;)Y+9;2^Ofcb5BMJ0(F=Olk zvCT!}t(#<lvB%AEPsE%TjdXF1>EKCu?l#ccv^W`C346T z_kMo!<-D=Gn~Yj@0_h_B^q8SQMgai){W_#*DBqKTeV@VT z=eICRP1t!LhiT*4ZY3Ym0NrL>lwCA1y-8#*gL@`W=3ogo@@Q$nq{MtCmQHg~liH2L z3Z940h|g-YXCwGQL1!K|TaEueLq`Us! zFhfhn@>#ND#rZ*GBYxBF)RNJgQXWm~`PPC3>G|Wqp5uPZFUp`3`|#1m2;{i=6E;-3 zzA>bm7az?-0xd}(1{1JhwlOhNdN+>na0j7b@_BV>rzV^GT6bw@3NA#ubcg_nQoD1p ze%`H|i(&svUF;fgAmv$!<$(*1q6X7So!5|!9*=0Fj;)MCSjJ#H)Hf^$Oy=XCEa*NY z$j^Rpj>>m6)nFKb@fkMcTE@KkH_g>Rt+EIeL%z<<@Zj(kDer#ZwC<{ZBf^x|T%4B^Zz5F#fzQ z7{!eJ=Vt<+_tx$I{^g)Bv(UdE-}fB-u<75=B&0j{{rmBxqm=c(A3Z-@xVz=w&wJ=8 z4*&b{`t;MDe?Jnu9{hJddbsG+jW5%V!u0-m&I_hG<(moBx;i>^QyVccF~etG#l@~} zZO^(XpKDheE+VI}@i0a#0AI#O$1D^X`)fR_*3oZz*>(H&2m9#Gyql{zTXcIODIwvz zeazn@`fe;`EiTJS;VUB}qo|}rN-r#Q<;$0v5Z-v%;1gG_Trn~-qNk_dLb6A_)ZOjY zt;|_DABm`FN&gaD(uwxGyquhYxn;aPRV#0@yL98(G1;0|r^_Cbd^DNvbWdv0P*C`g zH7NbDS5FqyZ4@(@cC3!RD*+q;o;$4BzrXrYz(hm z3!i2A_U@(vV}OKQ=1%`Gi09UUECzb5LIy3-0;9@w$9a!ikcfNIORcP|a)U2DI(Vz+{U%?D zC>e{-4$yTnjEPuGg<#6*^3nxGvA8 zq;Q&6ot4O`fAz&(PkE33St>{2@G4%jM~5CHvCj_~7dp)imNR%9CL?<<`qQ$rkV~gf zdD%&RBP{U?Tbcs5yht4kd#*7QIolq)keK6x7&Q3XWU4G$;8w0`p4Ul1LgmUg8?+|+c`bJLd5vytNy6H62AYPthhy~E9^ zVY3%z`~1aTXqe3p*O}KPsU-8IWW9U$?t|@JtO~m|?1Z1rImZo*jB+hI&m1e79|+bp zI_5CdrK7DaY|}60z3}VzZ!yyYEltGk} zgX2cSzJ2@L-Q9C@bI-py$;9N%* zU}0f#=@Q9qZYHL_g%;gX`>_`V1qG{xJ9q9x>A@w}^EgC9lVjE0)zqYN{D7$Q{Bc3S z;3gD3uB<2)tYcx1b=TqVZ_LwIe*ez1XwQB3ZuQG!TF#hz_wF6NaG#l(Sx88zB0V|v zNODrr{XH}`I3q?L0fF1MZsD-mPMmm=(Cl$9M8M)liQDg1KL7Hu`q+o@@i%YXn!(-U zU}x`gThfu0l^x(WPCgy#s>fG%-~oFyt7HR;RP6SHqa6iV!NF>JdcBWn1(TAJ;x30U zc0c}hHI#U}E`}cNsU+5b(v3ClrFgtbOFaw?2Re%!u-Sc%v#`Wjb(h?_bxTxKv_AE_ zvuu-SHR|Iqxz0^>!Zk7#XY1#|!R@WB8TzP0&on}VgNJ_p{P@Dz(Qy?e`23rvS}Q#t zyn4$XWW~CQZq&!h@+5O>yuHU|Z*47P)9-V6iR{hQgS522dmk{k&wgd);b1SAh`asT zYdfhChh=NVo08%WDLO^DxEWyr7L^qhPc`i32IbPeUb=J%JAIc~kL4X_XJ-n9@+Wjm zOiU>8bXfw6rvHu?;M$fq?;Y zlPgzhP(xMBYbHC33XC7@rDbt*d6%F6E81UFUsoXQ(dvX7mw;q3_oG1(p+?b^LouY1 z4Z0p{pDBkM;{E4ORDSywc2e)W7enSbKBWbvSAN95dLPunuz!Eq!i(9ZC4XPvUaFwy z&okn$wAT0ZT=#yxE2l{@M?MRi$9db%ea39c($<{n8J@or*}IcHI`VIs2Sh|feC(>Q zx3}-$u6X*CEF@OD+h~AP!soMo$Y~k(pd_96(Nf>tyLSh*2%FS1t2Uu9QNHL+Bl8(X zIdNZKEpVlo42@TczcMSU>oUQg+t|?|eBwk}$#qjRvu&I2%pcw>#-k#YSJT-ka`voN z$z^r*gKC3VVLY<@q>5)q7#JA5PbHi`LMC+fY?d=tG2`o(JyHxzF~g&3MSqHj)7=Xb zWl87Gh=ocpk}oZep+KPju=~FG;HJ*-T2QHe>&|_OO9VB=Qgu$tmNYu8ABFZ~9Ua=s zl`ZMIwJIey%AdrUCH}1-#do)E&pseSaTwu#hfwaHNjh6Hnz5pA3gG^sIOP--Fs>dCvbbWqpg-f(~g*Q}LC= zEwOXcIkbx-BO_IkRg=aq=08YAlxY)n{M0s?SzUAO>lUx3@P5%y#p1!{QG&ClLhR2FkQIr7}qq>S+ z&};HaD$y*^KR?9v{rnk2eM{a~x9GN^uKW>A^fVXAk&3Jn^E)zZ*kd%X)JGex?rgKkiO-S?m zpyJd(+MiFPFJCs;Z&k7!2hcUT$!tA{z|i#@!yrW_FgYGIokKPPmqUr*#pvzk@yH@W63Rc zO;vG`U7OMl(+UUqbOC7|`;5D%XJGJYmIZ}xeSJNNB$elHMOY!(36Kc*%5v;jH4v-0m5<$sMnglxJnF)OeKLM*1&$4twvE3(8mCEfKSyogT&JB?}SG-00^km;K`r0%7=H}*-l9H6EOZyjkuKwoR4H#_ow8xXG zysi$*=&776^Rt_^;jyu?Yrp#ZfsLL?F|%HI<+!%c(%07)tDC_}^$^XlZ9elxdA?;= z<=0hf24TnP!Rj#T6WYfqe0`3KiFr&Bx5eZ!MsDtOkQLWoy$@t24cHrT38duZ8F&mT zu$)!cs;-%;Gf-OXk%{RtVW;rTKU>^UbXxgMkbjB-piK}bKM&8_tSpz6c{b@zi)QDi z^%q$ARORIMF3q&HwXv~jbgO1}9p*1Nsaa?DAjr}`4k!yHN+5N0EXmcx%dWkOCF;wj zG;JLn9qib!+cq|e*IL`!LSh9%qtgBUL8W`Agd#8Y%{W?GS{^-mbo;);tp&EMVNSgt zy$!#;kfu&fOH*CTG<~wlJ~vcb>h^mPrKljdjt2*zm1jB8oZ6mk(s0Oy<1O20{|@hu zf?bYYItl9P>aM`8=z{Xn(oVR`^Be-sOOvVB*7hbPCib4t$qyh`ev|5d*}k6Uly|-? z|D@lQv2&)g%-*BHKIV>6PTcMhg0JI*Qs#S&f5ruQ=nsl<3F`SbVZZ`LODp=OAo0964k8lRP3P8%#V zsra5e$mg?AbM^e#gPM5ECAAf>gwBZ=}7PE+g) z|Mjf=?Z=ukBmDIooP@7@MxHF7vxCM|6)KlU;ao8ca`{VgHB%mtjI{lkUR@L86D{YHDhTTZ*5TS7}0S z_yTX(UFYrjHXVU%K)uS>o^iZ)yZa;dU-LMEn?ma1^1D{__anItVA>9{C5ib;j`R%Q z)>ici%f_mz@zlI7KY#zcyu6#XS0Y3^8|`gsd5(LWyz^V7Gg&QtrLv>cqqIb8Mf1bN zGR`I`FREFL$2(2CAgWT4-k){NxrTVy9r1@57}8^2K8s!Xewg0Bym*^0t%YP48WOEm z*8K-bIPMMy`OoRehvwge#LTi?u^*-Dsl3JHj8ewN_Tts6D*KeD3|o~sxK#eHNJzwH{TGz-B@+c;T`Ph;pDczY*EQNL>jGbRsw{1^6yp&d%kdUx)$p>7u zbbZCljel6$Rx{7CngzU2MK`3|V?(F7vPo2Vq1SlV&YgPufjw{dGat7DHO&!xLs}if z;`qVu&&4k%r=v?{rpdGF78StJ)2}L9>t)Z;UOYV5-E<-t%C~SBR&ZnWFKuM}{ z(aNKp4&8=y1;;49N;0^`tb}`PVhG{$m3ZsAY~%e9^r`i%kdN_?Y?Cv46brE1veYg% zqS8`V0h8ma6?OMI*B_odv4lNENd-oIpQUAblrCw-nollVIHYr$o0GF6+a&NKkH^N^ zlJ{=v#;$v!e1XcMpA)a3co%&Ceia*;kz$wkg35aT*FY|<+>8;2ZnqYItGNFHTd?wu zn0>grt>gGDZPtCecR$QAYk52J>(?*AZr7~HNb%lL2q`E`Qw{N?OP4M&I%Cs6J$fN3 zDr(f_ro`pTds^m7!T6FsB}%{Upu8?2aqn3#MSf1MRkwTJm%SmeVAKaiU4{ z3elsq;n8gSR6;(U5e^j=5xH>TLfbrUDQE+C$Yv}8cU(IDwtv@+-|rCiC(1hHicMkb z===RjSHLToEz&=gvv+ zS^UW6P)l1yLzEz*O9qArptB-eC`dCbEG%f2=(uX>*F>CVV^;eHD14a(h_B}AYK#7g z08ls6_S{rRU0}LKMuPwf_E^k|nh($>ZHv8w8e(eDCaYeb%}YueU7j1FgG^Hw{QwFY zZD`%ck9Ug-M9i8~KreTBe?;wcUt57p0*0k``}S=oCnuEp6%@p6o6qH0c7D>&Jj8S; zVG@dmsLLYf*j9HGbPtaWaIK}WmfHVN=wVO`kM(6D$t9wh03PWq|CG!xk7#UHf6bt7 zah^HjjMWS_otly&Y&%%>f=dg~Mm+>%wz5>O_aaGKBn_|8r_Z0)Ktv_%MjP40#7f`4 z7k6-2g5C%8z1#adBuYplIJJz~+4Q`|2ZQfszRJz~gMgXVIF`izP1~A)1<+>NZy`*zGb^ymLQ`qmvUQ zCFR9Sm)3D#`1$!kU_@?@zjR(0ljc-0ro``arL2g89bF6zmqCMJHK4$~AQ&Caz z_4RGfvl^n71Q1TLo0^ic4g7l+>!xS$;pd+j z87Gg`zK{is9a63O_D#t!DEON52(B*A2kZ29?Htpfc~`m7=TgkS7bp7WC}V_h{bC+Y zbQCB_ySTZ!^6>Hk8C9=$6uacD-p{9fv@6&qzk3pA9-ynKr9~v_0CU#4UNIn9^6y7pq*DLyx{1KJb?no*V4p>`TzvR8SFAOSWY5KL|$~Y(CF3?*v zjB4DGmmwi++E64NCOZm18walqh)XOkE@Ck-oV+gXW`^zOwmcAwjj}L1t9VLk@7OC; zWt1qR+Hksq2V0X=I4qC5(=^1(-*lKW7}Qc%uX=f^56}|o2s=s2PSJ=`+~ncmVIpU5 zxq_yx>pJ7@deYRxz*HT(Y<=x_0r`p36F+hu`uVN&2g;9X&0wJ(5slcub_f^qaL1Ac z_ytgbMs?@T9lZTBx)&Cd$YkPv(TMbE_Z(5acu9YHh)*3wM}^S!yWM|J1TaaC{{ATV z`AubAV00oX6>7xcv$r{yM0HL)0zcDv=cpiUDMjgAf0O!yL*7+R`qD zbx=Kdef^(MfuA=iz)Yd%@4BU@G85nrO#AIY*LIlk0i>Th4d+U5kMSQ~VgUEa( zsJX9QmX>DY zLm*rwr&oX^tU@R3_|#?LQuMWh_%~qUMxwjo>2Vo_1}gz9l4lOf0rgA3Y1UwIs3L%= zV21k7pU!W(wjcawqoSs!tH@yrw+A?+^Ua0rz;2bau`tMeRN{(?-V$~&pJFw{e_~*Z+cNAF@k)@)^2DDSFb)r z!43!@_b;Erb}tghaTwgqYgBcR-v6eBMe3ONp$v<50eb%yAgrV$cA}GoSEQ_~&UV7| zdBdAG({)S3eO_?uS{lsD-{lq&5fK)C<%1U0fF=0)bA0-}^SzPhyiQzumoO&2N2S5- zgHhGX8K7-3+~>0UdpT57zUx>2IpzCAQBOlPO)WR$gA7boXv1Mo4SS zLj4n+MZt!G*W4DGLU?Z$78T7o3ftP+>XaLv44vE!T9fNI^K;v7Dp$}eY$$s>yGH$i zKc7tkUCsDhxUkdPo3-?enm`qHOON9Q$Ht2E%19V@?b|2tX~lOKyivkHU!Q`UT+hm? zTS9BoLe;C&yqugV`T350Uml~{*4h6x77On{dpm-Khl>Z85^+-RdsERV-gW# zWAiQV+sh#OYVEYe55Dl{&=s52dZDkyUk<5{lcVM3GZNSga8Qal}R9ryQxpOuKvoLRXNnub;<2RV^<*l zVrhQfpxR{q&*mi<(=!ve%Cg)6H5|w`8lUs``^xu#iyH+hLJ`TjXJ#!@=R<;W=|g zlQ95}QxR?iN~+SanD5`eKYxCJakMVFyxpp_v(Vm5R`wfM1b_=xPi$PA>38jk#*Htu zR>GR_5|$&f~`q@|!k- z#cFKaB}rA!)bANkjsH&;V4yNc0-75UhmVkQ2n!4I@hLL~ybKL3S!mXRhJ(%ys3-!9 zslax~vb#jYak>YqM?*_1Io|^nf}EWEoCNxMmQnR6@HeoafkFSBE!$Zxzw8+rinmVv zlB>4B{qnvG&++5KsB<7pH)~$eKxgnf`}d+Qf49HCt>>cS;yBIkkMggC6!h){vdX{R zj24oXPLbBIiG16(Z39C?vfMf)uBWxKuYcGaLP@!p;rMI%XxM4X4xs=k=F$QXiiFm} zxHMhHfUP7X6bfka1JpaW-h~V8ZT4E|*4+hLRH7$UjLY-MUrSZAIC+j=^J9&)mG~Mdeb@)%4;d z*AI=!A!TlR(G68~X^4B?(`e5PYw?HHOOrYRDK3ylS;+ zvdV{NXJ!VRfKYwEvQmcL-vJBv3EkPsloInc9;&j%iFTMD?0QyR??U9p+w+M0#JR3D z^TtqBh*GzoriqnOW0lAgJMhXcmWPPP8%ZO6cZ=pd7|sH3g7RKnd3o~O`l(I(_Xh&} z?I)HJDQ43Qie`p8q2o5$iDPOC*48J<;q_EJqGXplLiUJ3OqAG0y1*gC)_+|Xycn;a z`EudcK_WnP3K?mL->;yd(H6v^cIc7J5wZ+nWulh3Fp3rr8Emg=)Km5ei>OdE@Ky;g zub4kAi%<5T7Y^y?Pkn*jo*rC5x0QJXp$J2fPx`l4}eoe0hOm$6~QNE2F`csa(b?p^Q^fO)o83br$jmQwPT1 zcA<^AUF|B`{pCv>>O)M7#N&xS2Y>Jkf*}_Z5)<|IC;5vf-m5wpdpNE84!gYc%djx3 zwztRl__EW|EE^D{5U{Yhb!+FoeZ)Y+%TqT{Q26(}O&kl(z18=HyX4pTbwzDW4ULeG z%P1U%58+@Jg7|tH=AYP!GH>XgdHhY~fSaY|iLeAKW`*2@lC2L|CRDDJg@P4-`}Qq4 zIk~Bo@6VEaQ^v&pozZ$K30i;4I|0kBGJB!gxB!!*tQy`h=pP!|0O3U)pI=&H;5U6f zi2827R)r-Xwl=Ty<|+t61{fctq%{ZxU%!5ZZhvyN>)ZW7;)hWZco6z4X&zRso(kv3N4XB zl>&Ez-YmPWLp|6G`|aAJ*@?Vv+$rUfJ;C16SFSXly#D2n2u8C@xtFoJU5laGY%sjK zw`79&wFItR00@j|&LMI!adGUN??vpRzO;+va2z?(16Nq^)TyIH;cU!l4OY*M{kzh? z`XX2EcsSviH9KmkZ4ZsKm|u1lu+(ID^ak%0T{#0nY04tgr56U zvrp(<&q~25P7t2{;BZkl&7k01ih!^%EgS|67@y;uoaWV`{PnW9@-fnZKF3*Ehv1NZ zKWW6sBPhrqV1AICSi0HRq)Xo8{!peRVE?S%H7Q{&*o+3MdX0j3B#|2DQHpjgYF~oU z3gdfKaWa)r(6Ynv)QkjF35e{w$~}ebhRIx>vw(D2josY5d9!+&0XFaW&fPU2o{+Fq z(ksi#m`F$p3!TQW~UxPh}rfB$D2-%=)fJ$$E;z6S~tKG8QSg!SG{q&qoX?Aut zhI$Q)2vsclV@{)`m6z_x>Lq4bYdEBPK>t2`BpxH7nv@6y^-*?#h<1~|K5c7+91xFe zXJ_YGyWywLo>9=#PyYNlOH`*FN^(t`*oB1h*?xYltXzStB8C`I%Qcr&PI0~8uV_b0*$NG+FG`a;pfQnXI?ulpak+i{dZZMyjFi+b0CGefi1ijI zD_K1ZSqa<)M7kL8m)ON&p`kY9D=RCL;7Ii`(rC9>#qEf0p~S4Ntu4E{D=5_ATHUyD zLrF<#ZEdY3RV%(S_x?V*N_|;*`KkKYZ%|}GOY=rYN3n8HEzh1l4M9n#&`w%w!eV-N zTyHq^7~nGrKF8_nsqc3GX?*Xer3jiNs1^PF5)ufSD5&=Uk_ywy4-%XpQWR{48FZc3 zpYCj221(j)aYV1?U2hLaOW=Al3EHAt%j~N{+XVyC2F9~rqwu}AuwdL>QoI_413^S! zS#ElH6;+e&w2egX6{WWT%DgCq)h{gD-d=Q8u(QhsJbrfD``*2TuH$#aPXeVc%fO7T z2^Tr*Ja5d1`cyCDa*Q24J57Tzz}m|f4N`tV_u3N1!%ns6g@Wa6phh&JsU$UHJC585!sx5u$F+ii*#iMI>BZU9mme)WfjDgKHZ1(4Cow$BByD08U-} z?j6_&%pokS?RySR1M0s58ibFOWK~gB#mUI14~l{%0Lvo}cJ+=OziK_!ZJ{cA`;zSa zv(E!XmQk+A1EQn*00vde{+y|}ZCT*(%4>20cNIVu76d{l4&$ve5Xwf+941VV?br$t z7RaBd<+SK}q>lYfU)pUE5sKV4v$z;8U~!0?m{rlwRB!1e7?;*Pi3@f%Uh2ae6o&PG6H^b8e&iwyb2$Gj2lD{QoeB*Y6JX-M4jRNUO$0tbd66W94} z3B3bt&FJP$7bhpKYwy(mL!~Ib^!&L~_&=`)^#5zJpMO8_zt7+Q9msz-v8vm$iNKfo z=n({_n6cvo!X9;TanDijhWh%@6BIy>wG|Z!P>2hkY<_?B&G!FuBC>?xhbSh9*-dv8 z*#6K|D+?iff0f1Bi)!~bmVk2C{HKQ3HJ$y(jWZi=}L+BZH!bu^-NX2dU)6xxw;n<~t2FsE;jZ}vO~EQ>fR zs=`2jKk7E3TGZ6kx`lR$pfH8|WK@tBYWi9jn!fM*`JO$|flaZQk_RChC8zGv+Oa0~ zbCz%-sGcgC5{ zDIh}g^r^T6;u3|4iNvD*`60Eej11C~hB75k_0hrG-#KLk1~vczr|T4{Dk$`hjGPAd zRfxVst{^8@4KoXI7xY(C3yZbU@=_oSYx_oj?DUCKl&jf6B86P zBoCmcBk}6IFv_q0X~(2m$uoPEH`ex++yzBNQ!uT8_i7`=9PI4&?A+-DLkNG~*h=Qv z`;q3-(9M^hK1nFfyUKXYa6q06eEHH5Y!aUq6~zd9&B|)(>C>kGvms$&Sv)v>m!a1V zKEqfHvpJmwwl_flP&$crWHJ`RQ=fedqT}P^oI0}*S&5zwpcg`fF|N9a6hVj1UJaDj zEfZ4dkZ~giJeX|H<34)yO-9D|=H^8x372$930F5GG;S;k{bK9pJ6>KFAgCiXo18pG zWapr;w|+`^4>UA11fS4hC))w03-t#60T70|qT(!QyBi{XCMG7hu?Sm2rvSBu+yd<- z(7mf9CB?ih>LPwE(LXYR%+dn7+kVz75|WbX+6CaYK0czqdc3goI!iq~z~JFJ8*#`m zKZ6`kMM+5%m_e+aqS4Em({!*bB_*K8AlC`K6A>YN56&u(MXtUwP3dP{v?MY(=}Ae* zeC_v@z@;Alrn|c|JDZpu z!)GE13D7PgOO{_)NJ2saG|USl3a$+gKMs7qf|QicM_K2E1d1R&xhr*Y#Y=qMGO)1j zZrcs#4rw#As9&z`=H}zDP`~&yq`xyEeAg$&^sBdziHM^6FD6?eDhjC<9W!NW_6GX+ zxQH#z44$2^uq$voeuo2rh6T(uyRdL93Rc?*jknB@pKvI@rh7X^VQ9$9%G%z#rGZQ~ zKEXF3DoP)UBM1uge#ii@QDFaFLo%A!e6el-8g3v)C}D^91KYt-;?yb3{=g6^wmN-5 zTl-aP>;P+oE01-LxN1pS8o0hKcO2>GT#NR*US8Ck>hCR;hz0>CC+F$Y8b($GJ{O@f zzHLplC(-xdd5I4BGmFu4xbx;E!uWm^k1WexVS20C{;x=`1I8gog++0*g`Vgc-F`A)Z9k+74jv;Py%k=9D=X`=w_>>foLc>Foir;8N$EBIzsNYzC5&dA9Vzh z97Od7SCB|>md-w_9fH&0+4<4J6np^OxbIBw(n!OD3B8fxP2b0R_cTZ-i_8Q7E6S836!Vs8;Nh-+88|d>R*W&j~IYV-N+5=Js3I!~0 z6}AouOnMj&BHI1EbcsZK?mqA328EeDN-8S$Yb*9=&z>DI=6@u1?3f`cJk;`C!7qY> zZZ)JAFKXJ^*}1x|qV1~-yorhF2Z)p4GjBb)kelYDj0F8Kb=DGJn~bU|6?u+H!zFik zKmLa(H;c=9!i?hEPE5J6v7HhSfTEBwzlzknd1qnH+qXPNkDgnN@?PMQ9s0530s=DUkl9Vc>Hfa8@-)KpX`$-kCr z^eu3SHB195v>kPa2gK|FsK8Xn~M3`0<#?TFf;9$_w(yA^O zO_hLNv96tzLRAOGot>NG*3KuRpg1p)nVHELkO22|c6pl|A3OV{38ndmZ7!ka-l@sc z$DexGlLMyyIYAUgX2#}IMJ1bm6xV)9<3LPm046wAo_~2@Nwmw%&(CNh2We=0KmWw) z-oAbNx9-nD25dPC%ayR4-0p!z?l8Cc2 zP$j*z^ynI)=Ourx*c7Q?eZTJXALsO#t?e9|y-aNjv-{$&3)tZXX|*708cQ@ZoWTLl zpDU}XzJQMy9&V|x&tv@kNQge?7_-N6wLttr0^f}OVmOPIUbN%!4tsxk5yj~91mm4V z3)0I0;4nann4kmu?jBgh5=N^APwez+dI1ZY5rO-Bs6z9rNG{^mkk@gfzxz1o^O@*p zJP!(jiYyn(Hxei>Ix{_u09$*Bn~Rs$NPAv7rk#w8SZK}m60Q-i_9WH;+ADev(6m{IEziinK&qDe#EB>V{#ND|gzx8xekO^(j@lj?9*N!?L$Loko#3n1|I8pq zq+QsQ18L9x1 zX=zql_b=-A04IO`^vT+z^7_=S)99iyGP}Y8gM;%hniLv(NJTU0lCr7GDHr*`)NFVG zD1Q>!M%AIOUL6+5%Fh?#IgtbT_gs+L|2BHuoJ--iE#n%^H@Y^mc)4eG*s=I1_s&KwU$@2F=yvG{b4&k zbz?Bh>h@&E*ZX@?YB3Cj4eE-pG(H&WcUwaPM7mkf7IaQn6Yz=aRc#64^ff1cm_GTz zOz{+Zi2eBgs8T}qTYWx|8dX-0P z>@}}&0S-`86D^Cnx?7D23Qz?MN?S3cf!n}E;fv{-PRQd@>1R#qV{lSKwGl+rzx?_* z;vV{+{cwHI(#sng`9wsDA&GQ%i}CRh=i@ZZ_Yo?}0PCSg>uPHsK6o%;TJErEd2Qbe z(lPrF9U2`O35kfo4CE9SnM9~pTaYBEw<*UK=lTG1!XOrcXw z_5MeNd>PJ=Uo{(Tj)#XaYIfGfVtXtbY)%v| z>@S_|v)oXWkW}-zcm9q07cj*)UBPcg)HO8^(bDb@aR0(W^$^39e$M0*v_1H@_(n|o zwPdb7L`BB<7CAA@CBdlkV2&H)40B8P_riVsy7}oLQq1+Wty?#rL)akg#xnJ!SzN>e zLPTvk7@_@amlNzqQXbVX|%o6mQg>1+HLov z_8T!CnKWp!w6qT;7~P6ypRb3GXx%NVsK7^zwM%~On`xy_{(DaGY!trp6N-VqLyKQt z5HGIv-mOSlYCpa;>cJfx^2o#$CU99Mw}*ab0g))y9?6l4$w1jG?lc)E`<|EJBUKi0 z0a}FdX8(l$9e2KO>(@1M zbG}vf2mKTWR}O_0r)^1S$<--*5~@_5^ir{Pv=RIYDXvTHa{25%viGiiN&os z=jhuyz2hA+y5^+8QU!~F(x(^y^NWamHNN| zP&G*MM9=@okw|ndwD_NM8zzoeyxKB;%3Cqe zR+yC_S4eNxH#9^?MWG%u>#Rd63~qKskO138jP$`kDD?0=B(;>=8)#wW#jF8Y5T;`P0Q;xJ%Tq3iP7 z%*>fkezO?ct=O8t33%}gfC2hcl$T4cyrHD4&vX3uu07{%i~JCZ5GLjzGC$Ch5rqy6 zn}*fE4npj+%?^z!*IeD&aqT}@fVT4z;E`9PrI#_-e#UNi8rn4muTl}xJaXhZ_-smy z1Y?2C0MUMuk*S1k4LJxi%|eJ>fn3X28GrVp#MitO^C*EkgqdncEU++xf>ba~jt}cb zB$2XDPYVgy%ODNlzHlmWJ&~I}jWIt-Ny%jr7DP5AB{A@ub>b*kD12Qy0rQvh-|02e zGd}1e6b-)x20lQLc6$g!zKyjh4_F_+AehB4J@WULmy$v(`hNm6DQz z7&N+Ujt+oVNtF;wuKw)xD9$ z#Mp{uQ&JGhW3V6_H#dyoHBfM$iVq*&KoY>$fSaTH>by0OhE`LMD(w2}sgET*_@_^= z<0el`R1eMJbpy0eNeS1-*vP2)y0C<@x_Ums$4GwA`w#W@>Y16r!Ek|>jho<(I|L!V zg9>I3=BROjG#H6De{qp&mp5buz!QjnL$lu5N0|L8K%y@(3$yc}>l}|2$!#hc9m{o<>lPGeYMt#je0w?gXJI zd4_ia-eV-W!Pgjvg#=0Pwa~CI4ze9S#`whtod26Qe=vAVR1~pU^&;w`sHlj6XW}q` zuC6X4CUgL)bn(Tx=53g0E5#inQ-H>V#p8SY=utf&7#I<`85u{SaN21&2!wwjVNupc!~A zh{?mln1s%Y<)C474mQ39X2(JJJi@*0i;hGgGj~Ee|EU~OacF^zKOh<60TGZw%RYY0 zKT1pw0Z!W^$c7jwrY5oVrCNBM=Z6syw_X56MD%g zmN+snqzTb8ocHDxe5|{>sI1~)Y-jKRU;$bI^QV)?^dK=4Cm40S*{N=LJ*r?8!kFtA z4^yXCAJj4lKC@=d6Ie^GqGCcqFZ*NS<8dZh?vMggT&>6no>V?-yUk361~wDOAe09< z4_&}x4i>HxG@lIKE4Q{#YAbl`gu!4fqM34TF&#v9OH-7bzGHT{qzj>yV)Xbrrd2p?JUjR+qJs&`0 zWi2f;jF%4%eyL7LOgtI|`HL-)>~Gcd4AmvwN8D&3e1Ol=fndpqd=T#h)R{Zt*2CYA zLQ8^OYjdpabFN+RrjUyepO7+nuJQckOLaB1n>TLQ&JQarQ?}VsY5(*Z;DoWt9=NNw zQfi4KksEiUhKxu{8Qo@TaZQjyOWCb`{`}pm$HyUFEJ^vC$A12-57L4q6O*ugd%G1H zQ+@F)D5(RaK%&_%Dp~@k5iwyD{{{PYTN|50f|jpVT_KHx3z%|(Y1@%+^&CW?;8HQI z7w1eW_Vd13_y2)EFo6@&V6)M={#Y7c6u=Z1_h`vTMk@cfyP|w{KgX z49C_ZSHPm|=fH`XtCKB~ZGV{hp-wR8+8e*mpg))(D=scx-Em0!?geLXHD09G0Nyar zWAn!&+6O-1e~8}{{C+lZJNyF(gB4cU2?;(q37ODzK-ikp$qC|O2yQ0{l1N75AvF$_ zm}`WINC@4Zsh-lc{It9e0(E5W;H#bS|$MlBZ&3AC$K;PfJDRGyVM4R)wGV<@^+<*E2^SM2DnHp7r+|_)7f5no%T4i76^7 zntdOd@R8(UCJFmty?JCBm|JdRwivV<9Q+L858yqxzZhog$T6cP$HdO1<=nqZEb^j> z?F%%WAI z*WSH*_t2vU3&&MkM+A9zp81?VfBq0<*q;UNBI@mu%8AgZx8dCbi*ZL8<>hOUv$y<_ z?Yr&v??sCN+CTXuJYyzqnOO*Y7=!YZCn{@dO00V~lP^H!4GV$T6(9vH)GryNR$u4o z(^_<~^#V=ht@NvUwYt_Q?}(cD7^A{<9AuFBIWs^1JpG;z{kH3K#>b(DSQp!b)eG=KxCMi>784KGyyom6oraPO+`h-2)nv>f@Q-} za=|^wJqq-K`h=_js-~|54d45mjLNE0*JJvX)6-!4qM;2D=`p@v5U zIeR@~Kb(~)YOWmj1vJ{m+WI{kwdRpm_F?fBMF>txOZy&5o^=!+F{2_FALzrO%e0&_ zE=TeGIWT~58ni^fKj6PnG`t=&_Cv3>A+qYwD z0w>KmzC$=?c6k?x9tzJWW-Neo@mz)=;VLQvV`J^8I;cG5U%ph% zy~hghSZup_-Ur*J1fUej9Y6!f#y}+Wz@DhOsnkBH@$}2FFc=UNx>jHli+zDA4)I?= zVDT$!#5kVvBWJPHVJj~#E)F1lEgi~bvoRk!Jrq0!B+(6J0*t0I?o=bRNL=h#dtM)| zYG}~F?gtkzX@~=Y;=-W4fB@{9G@Eapo`h7@WW~fsmu?{0buFEA4=i8n9+Zx>BGrd` zo!rS-F@Kh*oHTXiOrBt*@=RNILE+ZyN85iAfxC8(S*gCWNWXOYA=zilKxvi*`P*)_ z6rUC$vl0k(#*zoAN8FdACcNG0FEMYcMc+{?De&UnaNCKH#)72qJ_U^`Bz-zS`e2I+pCOVq{%L zW}UqwtIc(N)#(Eh`=9r8knL05d9FeF**wPR@(YQNVS}FmIv$gjo7>!! zqs?^Wh!7$b{VKgcem~iJ-$O)S{Ab#o6o$iG2kgEd|`&? zKou1f>^%BvT{jXmZ?DyOhlowM#fB@LI_(0R&-k(n&tgDCcO3=q)Vygy;`Ig!CyuSGo%qt)QMb!% z4kpUh(y`#5T zbE?onTSr`E6~EBY9P(G(@x~-IXL)Du(CDGjdQ&soS;>)4>7OrM{m4a~&xY0fXNCPA zxSsy!S9o+{xckZo&;-4xYyPo95hVHMZey^FKzJ`F-8Z`VP(K0^D($8t+QB#o ztgLkej}UUixf3Vu3@ZT&;XAf z!?ykr5eSry@t`>b^=A`az!yRe$`%=r=Bz+Imj^8tswyh{VBpZ};QQAP8chDk8QWMZ z-Ee5paVSP6x0w<%mJUz=aFI#8J~T8y={bTJ3dRkgZe?-*$st>tnKo^Da3y~Kc?4?s zVrCdNew71$>lWA?gWn@0q~6t|-5svn^tAQkOG;O-W?-oh=U|b-&tg7cl(me8b$&;5oe<{M5JX1U z6_cJHKYm0L1u6s<6}O~8qw4L&ECr+<1cYzs1W{k-!WtWa*No*8o+@2SZZEM_jzD9z`bXIf!<_TnMmgV#$j-@3X0I)y*d5l z)m?fQLa{rD87LHGfsy-UKYguf+orf}p*jPUo ziI?8jXLytb8^i((Mn8F%3DY{gW%tp=scr^pYC&j(=>A7PA#+N6U>ia_dhjh_!`k%W zL}?yhI{Jwk!PWO$NFUJ()<6>7kx3k$`1S%LR8$8JR0R4bHH|_|fu0d@+V%@e4^cIQ zL_%cOSRxt@W5{-`xi2`c$#NGz4-0F@+C#>zK&$xL1_ENQ5v=ec6?H_8t^Wl};0QJX z9-n6nc~M_qAA;C1X^QhOnk~BC6=2tKHR^34uKHb)UP^~cvhirh`T2S154f7;6q-$q zjcA?5IhtXedr8WW8Z_;mu*mBi>|m0$StD3CSlikHB^Gazyrs__isaE znVX|UoC(S;WM?kgfnM74K6sV|GF7c_-QWPi+{d#60O0N&>&f7wM}qJIsfd9I)XZr( zpOnY@-Zpxu|CIu^p7OH)2F!m2?@u?irQhvzJipAOS;y_ zu#vG!iD%V`VR7TX3o|j5QN%GHJBB$)zT?M@5vpsBW(JOAz5MdK4V^%ShK_vq%gZdw z+x0~5_F-V`ybtbxY~j&+-;Me3fKamA5E5=yhZ>f;fy*pLUnKNU88}(Ly?E=}Hp0<+ zGO@Tu#sXns#Rq$u>rgmRB%mO=LWn{D9bEn^5dXJt?Kx%u^W~Ve!kpUmHBwQV6J%6W zMq*#R$FUqy3yC2?JX&jGXL3fy)g5|kwZCV}r*I3`CagTN+K7*+#7E64@isqZVr0a2 zFhBHd?c0_!2Bp6{r|yvnY%2GorSOJ#@d(DlU9P&DEhgB~^<^rZi8d@X54>Mm!KlPS9 z0Q4Fg*-vaWo~m@#JC1_d;u!G4TE^Z(v3G`268L*XvwB+n3k7_mF!q`&*y7l^Ank3uh) z{~y%7d039^`|f=kiLG*-C6y#8GSfps zG}A-_l@LWzy`L-m)^A(eyRG&9*4p0b{^R+6H`RS#_jR4;aUREh?E8LrrYUq_$tv*N z#*Tgd!%BRXVU$3j7tf-Mu34nc4&G-FIi<5R@s*%L>3(TSuQv-5H|O8BqYp?GayLs{ zs;TJ^$ACq|6Bvr?K?xhGbJ#128ukl8^dYg-$X)HPpfH7FrTGI}49v2@WJ!O-#s1sBC_L z{Y`Vn(aUd+@)cwV^WLK0eR=MzLK1=X&X4sI@#g>zp>~I`o61qfSA>=$t%p!Pr*eUI zvz9B8%H3kU^kf4c3VbHtpVG6?(@DQcO>s|Kh#*Ho- z)eD@eoKr>|CK0%uDP-m;&8Jl7bXM?r*{8RQnSD|r46AJb=QC%{v`Z|g|0_ApXC;ro zGp*ez*U0Efaoo%I<*Ri@?Kd2#>NMwPjiAaE&BsEoke09ix@SfXpMKUAyaHmT;BpsyhRVM1%E9Y_0RfkkbOz4WLODGgnrM@Jv@Z+m{xb zHZ__q_Zs30V=%#}i^Hd>zGyPk++Pd446KlS5n!sBj zjF2HFuYc?Ebr!4qLrgC{w&q9DPjoAItsF@Hcfs>xJcpYX`hB2oFW=y)xgd;{2^GA% zvWDC|q{7t&R>5bmoKe=N>TeNiuYg}Wn6JJ4nRAZp?+YjTP3StS4Fva|i_34drc|An zAQwm*D0lDv$2~7B0nzE--{RZgIl(_yw1%(0nXqrnBpNVueMWgdxf&$P#vkgtFeZnS zVEC|M2ejCR*n$q?N#k4t=o|Xby^8|eI0%MP%Z2#(`7^8t9hXuc3?o3}YfG-(bN-l8 zrKEhH$Ku^o(ci-m2Ld6{z9Tj;%H#s1-xu{emRn11hDJ=jarGD$Ko_9#LS;W+q0Mvi zu-*?~|LE<+@{O&uqdKFA&?8hK8goJ*A|`tN}N-*CwO`Zcmh(XKx=h zrJ~%oTkn2jtd9i;k0<#-@QtkxFSazem%?P%`<`iwCR_e9e)VHAn1g5+l$5M3EW+{o z&xOm}BQYag4l3c)@( zmo}vFy<=|5_UXeu4hs)ory&RY&bOOtb6aGX0fktIjw|@1Ri3cx zEaL8U)okYc#y#pG4Lo$2rKP2`zS%CQGFp(%72~nhaDD!Q1tmD)0eQ2QNkg94ZM3$w zCRH_$-432xvplA~Dsqunbc-B3F7D2b)|TeoetsTXw}xj{(z%oC(KX3jQ9iT1K*kD)8W9Ob7FBixy@JyRFcC65@!Mi1;&Rkvdm<0(+ zSw+R!MbS5P-oGx^jp-fHay-V+$8f5&cSH4(s?a@2O~);!H$8g(FxXVGG*qJ0e{I3? zy*=;iq#0dQofDW^)A5qp72>dTicTJ+}i_yj4_q6>R(#4TM3v`1)hP7yi( z6WWq=ZQI%3xXXw+i%0^((^N|PWzDTBz4p1hYB6igyiS^)y7qBrzUUcwVF!vd#&is7 zQ(mxLX25^~y%vG7%eIdNRmR4+P;Ynp@05n-%pE!)?X&r?Qb8ywm{z1&dzanqGAH=N zw)#09rxv&W+Vg$llYFJ`I%-BhWxsNJ@Ce}-q2%ET@^SmO>%i3P{G!ZP)7yVry0gOg zIl(t+I)}ak*5{}D*Y7#e4juS(+4%n?RQJCNtt=QHo*5U{!TvAs{ijyt=CKs763SGK zN3Tbnd*P5o*2apB8(l6(qX9%iM$amd~%&~zZzT&+S19RTUo^~bWXy}y+ecj@r*lbeLuN@{eAvF zf%w$)Yi@kJx`AK(wAsCb``Y8v=PLW2OUkVr>KhTWF3Rvr-qrCQo-cLy!R(o@U3Y}{ z8vOqXApF0(%Kk56-F-?)h433K2k1NY$_s50u#}J}#=g;XKI0-NyqH@lgA_&%1hjqf(v|eAGNyT2DN7DQpqT^P4w+-*oi5QhQ_>RO-@U za_IpvdvWC_c3)5&r66QizE48O0da0=jCx@B$WnXT%uK&uh~M*G;*%_OTc>!xa!T%| z%ppy#fh!Mg+uw$s*ka4EqZ#P*LRuoRfDA-11p*{Wv;O$@?Mv_iLRv;qVQn#-XpS>U zc}?^$b?x& z?@3HjuH0>^=KAz918@_3tk}|I;5BaAky%kW4m6A)MoG)bc@~BA5boPGS}d>aNj*H% zti|yl6&!N0{uSupc*gkkx4ty+u8n5+GqT5811;Ge{+mI$I4bo5Zr{F5G9c)efV&Xn zjk)nj4;J4j^@_1Ga$w+e1TK~dwhwqy!S%!TL3cW7%KF4YiahBzC8Rl|WJ=5p>DjZV@_l|yDCvL6 ztfi0>)PYkZQ5aK!3n1ERgBM4S9))EFQfalHE@p%5-~M@TKYf_=dYG@cgoFjfCfte} z@zQr~#*RXohsp=_9r;DVWK(>NC!=?5nS7%r?z&^w3mOYIW}0^t#rnd5C~$OsANlVs zd%3+9qkY2nsm^&?)U$&|mk#NHYSV*^EiA6Ddelq#J{Zfn`Ntgw7_7Kg*5?$!39IBC zD+xyYsDVW=KzjA=%?W~;8+jJ({uPr$rB!$$Jd+pqB3i$mXP*N*@G|Qd1Vq(cnLmil zv&d?PgY4rx73!?>G@?3*NnM#N52Q&m6b9qLSqJkcfwK!*k6(zZ@P zG*Lvp(jyK(PH8TaoPBynxU6v1yQMhyfIe80p&SP%z8r`nyoCQ-p`)1zm zOs0xe2_0iIvtjEGChp=P3X@~bRl#iItf6n65&EBTn)vh|%YqGZUViE}X%%WGgeTWg zGEm~cquw@2*|(v3LVNHKXW1-hoiZKX5w)JUp@6XFJ|rnr`R70@eOWq|NPOsx`> zr?=U5lPfQ3`&l*JVoZh#hH#gEnrh<7Lh2aHQe&%Pj9-mP0$+s8sP4^U@9y!GyX-sH z+PWCLZ`gwB6=PIY?{8n};_?aii`wLHqjTiQ+O_Am^W}RS>FP3JoLu13mU|}~#_X+e ztqUDFCm1im-Z~w1Yv>mS8boev))cT7xen=)XJ2xz9+!RtB6|zO1wfK4e!>U$g3+zHiJzkCs4DQn44etb%tnlSH|=|ljr|q z|LSgwFIHt=Ih%&L3DT~C%px;Lo?deP%?TwZDzL)gf)E-kVMQv;pyVAMoU?9<~sU(_{tMcjbk#k;9%V;?j zu6k*vR49!X-qavnr5_`og&9xJ=n+X`q&cRABA31nAuYGV?wLRXv-Zh;#^xmB%l>m` z&o0~i&TXnxNzlE(dfQ>}H8iKz7A6@gS$=T2+nyfXj@{?;*8g(Ez0>GC!3_K8Z9_V$ z8FQ@g*}LJb-%j=N_&IY%&=6m=1ec1PHRSL&>8-3!2{^Up{M_I^va$piadE(h6~6PX zJv9U%Bg6)j!rYyKfUzm?{JSSzqKdRJ{H|sR241{4sb3(X3clh z9AkcEn2yf%)`#r>etInWwgR?f!}ERQu2lE&%Mu@6p80gJhFm6%juR0PW7dNUy_k-> z3(B_Zb*VLc<1j4rh-veGH#-*#BvfnaQ(o%0`@EO8scV)7D z`Hb5KU?ipetk0-78PubseUs*|lnRnRkEzs&guAVSe*ntBeW<{@3(%&4&KKha`nwxF z5|r{0u%bDxF}rxr@jXC6p|-LTN(qLez|+FeCqqMzZ|O=~YlSxfE1<-L>x=y&Kc*j2 z`7C1n5p6^|UOY6))vsT^NObEqE+ZYfT|BRB7-jU&*cG&$ zXr2IgNlHpWN9Q#_+l`a;0Xfz`zY+zT{XTCW9voVFK=o1OmmAV|i;7x)d5bvHER|n> z<1T~*Z1zj2SsUVp$0`DDR|hqCQ@Z9tyKSX-F2n(yuYAY}JtMF)up3 ztj@h*G9$E-%#R;Biuz-bzsVK(A?3^DcZ4s23AC|)%F>u6F*&xm zU+uVkFdY@Kj+$>xrLl>u=xwM07SkGl@1qQ>_` zs^3$6R(l_n#2R{^X`ZVjB3z->=W87w9~ZaDeRAHXhK3w_4e}9)8+iv*qj_X{0VFoL z%fj#2L|we-#K3T`{{N%DOS{1tOJD7Cpp*BdVv|g|(LWJFt z&KN3&PIAVR0Ky0|5i&T#uOAoUri}iB;~DlyUcQ(75|_nN?S-Pxpi=u$lS|<^*Pu{! zF5f`(yC0}{lSZUN5?y6?=MsayuMY|KHDG4{?21e%_Zh6M{iEx^ydfQCEglwUBmBVU z^thdo8_J)3knAyuLQd$;ek_SNe0cR(Sv>cF_D)Ae?(Q+*1x_|Kp@8s()L>9HS*zx; zxNUlIPH}gXWMq`J4(vM2qz870&~Tv_1Q^K9!a)qKdNA{}T23uqw1@;NdS+@t;;;!9`{zc);U#z~(0-@uHnQDt=mXZ6Yb-<@dKdBsOgs z^gk@z3J-i~*GFA*mv+(6qtRm>-(NCZ;^qH{Az;&O(uk2G!_+MplQGJdh$7LmCsf^3 z9ItsKlvKz1|C3qCeSPHh6cq>O1Nmus`uR(jTmT3;^d$O?x-{*|9UGzhPLEUBSG-3L zrjrOAXh8HJrKvyeN{oRRG|SnJS}|h!7~kjb-B3Z?^lZ35et7-*R)HfEqq+WSfka%5 zE~&8~ZEA;{P_Y<9ekK*AG@VSh8?YH*A^&7VyR%touI}wDad;Pc;uL=a&M(~0N;!A_ z{I_>mD`|^RIo3b?Q(%qsUN`Z6oq zWuJ5GjLuC75+RSimhS3Vc&oaut`)R3#-wdR>?7K`e$tr3g}TiU2V?2lL)NBAbNKN0 zROd(*_V!a}U|h1}w}yt}V^{2~uxLt=RlW~kujKhoIir!*cDzM$92#=yL&5!-rKdS~ za3uX<9zGaEn3m_3E!@+`kMxkg!L+}4oyPHj)jiA1PApr<@7Xc8R%mPVj}oTPF|(d$L!7gNsuC+5JGPQmu2Y6d)S*V|6?6U##3dsyw%V!x z=b~{)(ShikYJB$Liru}dSL4hwf-qtwmbBgR%#iNvw!L_7qEp1dgv7|Q*m$&cWLau^ z)5LOD&%Xl)dH0FnMDEmcic67@0yEFy6^(KD4?6bGPXd4$%$jAaVnJzv#+dFk#Q9g>22ZzL*=<^R@&tSs5L~1d zUunpEBARQ8nbqs* zJv1HO?cSJdIVV`5b$myWAF5;&mKQccnCr0l_Pjklk*5f3Fsmf3^;WZ>L2dG>@&MOp z=Lr=bC`&rnbb5Nmz-BN3KWWX3=t-(oT>yN}XKtD-2aL6=qQmr*1-tHC0>eu6Ogz)6 ze#%KofX(?v+jBf^W*YXX{iKW21FVU>ng)KbA76yO|7OvJt$Fhgwh7QyD%LJ^>Wmr0 zk?{|N`Y>VREvqe#y>8EYXs_`&vP>?<*xNy8bHdKYuvM1-HB2;AbZqP^o>5+WDH24gOZFa*2gGiib zL*`XwT3>3}f!9N9UX3tvDtyfvH|-)?((p<47X2b5i~sZwj`#>@v#vH+0fw2vINSTk z3#OAWE9=8ozhU*%ts+{xT6w=e9_b;g$H_=E@79saKfk(!%5nGGKI{={(ubRhqlgUx zWTqE@t9E$N<`0EKdd4}I4r+G=z8$-ZXQeQ|Z@JCV|F+I!Lc1g|xr7yZoY z?k7p%T70Hfmf9a+=8s3$zlrHgaVpS4m-YiXWW|C~5H#TwV2Dmc#B!Xn3LKv@?qTG} z#W6Yir~Qap-7WZk)b|7B!|$9fLxL<(KV%o^%O(5nzd|0LKMdp1kmiymI=qP+l7SCf?1uoi(UF zvG3`+M`dUTM;V?*Ho;&!9u_pF1xo2zL ztv-7BpQL_na5fRqE?)fF%&}tsU*p&R_gS$|ED?NeuCpR;Bb_PKT z1<k$@8(w}0>zP|5YZ45jIlkugGE;*`rTvG zp53ee8$lm&7tuZl|{>%CX zab>#RnRXiu2gcdw>qxF=1ULQ9l`T5gC;rb0;JCQce=Sw}UGdVuq&+|)0M`(!u$Xlz z{upC%oCgBEi~jF1YUxyR;`)kb($56`d? z21%l01(5jwHxcvdI=5uOMhs5TMeo5pFM0?}Vfb{9%o3}aLm&F!VKqoJNB=LAUj6zl z&AUksW_HPDN5k@^joz!LVku`BIx1ls43$LJipRv>ZP+I+K4%nt{*tHm`nj3z<79h~ zHfY}R;UJV!YBvlQ&`o-30{uzul~W56#0ZbdBR!{mzx~4r8XZ)uml3=T&9ZOII>=7k zDq+=2QvX+ov%ezLJ@8pD(QT_)-sYLExEc0`6F4y`nq8s?E;a0|I;L{Iz6^hye>9vw z|Ae;t1!-GIra*Z~U*Dp#FZuv`hjf`-8AKRxO=s1=2WTWwXhH%L=0EdD=zkFV|6vh% z&EW)F0{=fb`5Qc$d=h(3B<28Qoy(+r6-auJKfv)Wl8}%U;kVd=fZhrwI^PGL4>_&Q zwp$Hu#ZgD)w`&@yVX3x+LJvr6>(_TOefp3wh95tk1}ljcMxTED@N}bJhG#?8o-dYR z=TCS#z>e1wXZ9yF--eGRC61Z{kxp?VFmn+kfJ5eZvgZ`*UVSn=?e|-(BAGHG=GC~B4>{X}{0Qs8kYueJRjJr^ zWV|=PJc7bm{o`sB&~(VIu@Dd-lz7&}!VPSoGq?Sl|MFhyzLS4Nxj-BjTG;vK(`dVS zz8~U|0Ze}U-9}ac4=7kQcKNMh?coOmYVv{UAB438wWjfUOinc^abAeCxU%XTb85rP zd-@1I_fM%0kX8Yyrn}*OZKc(5t%OR-kS+P=bT3yb^tfMwzE z#Ts!$GqAISGOJuY)A7pvAz8zIM{oo1++!7G;u4(vTkBG0iGSw3CvLL7z@1_}byG$( zUhPt8tn52w{|r{++_`_Z#L$sqzHxNhFrnj`6BE|bDA0{s-vGjHycT)yX}ERbORB9w zLfOkwbPAQC!^!IQm8Pr^=52WGf?FjfCMKbLv#oXO?&+`XZmG)cWel0{3S64^HMD-# zYy4(^sV+WAVYE2>SqFvQy*GY-Gjq2ST#bq`wCI>p;rQjk&%aW))9Z=9$Dp6h_**01 zpG2SVURNod^`4n|?yMM02pCY^1`rHrmk{w)8x`x-SI+AklN*Klee-rmHj^D8lJIS5 zPnuX;Z|C{aQ!Ui6Z!|oe@LLWSs1|Ru>e&5oX#4Z^J93D2es7Jvux zs%nlhc-UTEUKL$Rg_)U@M#}mdr+zbDx>U`3L(yVY-?6ei8sjyahh&-k*7)TmZrfrF zCt$U~K08V#<2*yxD=UUaDw|)aG`04aDNZ@;q05XgMCgPFvQin{I@>Z)bN-+LkTaNX5#y+8B@h_8xER zHz*3-qoiKdx!QHg>7C)0 zR$pFQ=26(gzZf#dq4>eEqkB2sc*VqAd&q7UoIQO1;V6d_Usvs_aOuhNB2Px5RG`Au z3n(uyw;Q-B-%T#?;rPKOBM$}#*K>?_Q-))REcIDRs)87txERAr4Y=w-TU9hAznn2Zg#Q}&*! zpr7||*fKI)B(qSB6ac8!InB5^o#s8`8;!(2vy6KZta2(QJue(RL0KOU7&f+!d$qva zH_dxdZPr?t@T9?JMr0O1z&2~!cKOfK(mn#l$zqw{= zcPDxMxY80MXriqm7RSBXXa#aj<9j+nk|vHso{vZA4lzeL!JW>vwiiN-`uCa&w!cv9 zlMhJv9xcc2AvdRzUdF3M-d zB#STZ&kTU%E1rL$QJ(B!r%JzxP3WHU@&JbqG5OK*DfRyj7G}{j7;;u_#kb9mzPSU` zz`zep4}T-+Cm;Cv`){hrRUbTfCFEFu9xCs!^uK>JH)ANP>)g9<-z0~e3$*$0Kjs)? z2%{UuFVIKi0?&c=@TuH-KE=Y#?JKeHgXIAFw$yev-v;S$9D&O%v$k$Uo6it4Yw=Ty zqNm{i+%zuGe`8!_%?U~3C~^2kbKUi>yUOCO*KxvAN2jqcVVVlgJj<3%Mwd*Dr@i?^ z4Fj_ez@r~ym8vmj%tztZNj*?$ZAIKmMoHXy6mxqD3_}i3r|jXWD}F~Jt-I^u(=^f4 z)3m7B|AU!M-;iCamjvKy|(05iOpEEWM~aS@sF_To=>Fm)V!4lqJmYqVHA9}1xU9- z)e~==SrmQ3tFeGQqb2qDwYi2iD=I?adgZoTbPEEF`phjUl z1v)a*MA)Txs0cE|`vEejC~5nHcY%aLK4>9m3b{4A@Z6yU%1_XlAlY#$8XDO}MN`r1 z(ZJ(HpV2*a!BB^rbp_b-Vsw$mh_C11s_ng-cmOZHK5FrI(dSQGIR8)A6Ki&xjL6}4 zT!7I?@^K0-Y!~KUhY`aS3S4n2^@6Bk=SymVrL*VHS3(A+ItNN_VuMj4nmzPCm!@R9 zafgL`liUX}@4ONHgfHnbqX$FD%El}7oci_ojGj|Xo&~K>V{XIxv?X~l9GL@n>hAmN zDk>&IYyni!Jd<4$y6WQ?@1~69t@UA*A8r^=%!u2nNhhHF=T8-y!?<4-&$Nd(e6!5! znRgnEhoraE**#(U6C7TM2ho2zVsws@_|?V83B>-%MHB!bVd`XMC&sV-J9Emf*=M56 z({lz-0>K#Ld&y(=d%ysYuD*KrA3nr$>Lyhd;fRVTyQV?t6qD8E9~#_I>j?+VVlcJp z5r@D#4W6zB1h%r;YdeMEtQ=)}0S~1VZ>)y-oDsInO5*OlVp4Z}>Ft$$fx2VXMThV| zKSP}SGA1XR!=E{nHwk~4y)o;IyFwXi8o$nOZ|hZaGK#PWk3bRNiHY%^lcX; zKOaW6oCDR}SDHe@X=VSNev35T%NzzxP}XOU#A-dhr(JjB%lsPe1p$G9ef3tYTBT9( zn?ox#ad;`zQ9beS6+eY%F8v1iPExU~g2E`@=QR!UCjU}r`^=cveG<`MNXlMat^iJ{ zH#$w`f7O{4G8~!MQH_dUAi(@B?-=R_fah4*bST^`q+<}-MR#Rr_k`{WbyN&}^rB2g zgm+n6F0HSW{;T!-{Kip@Gs1uuQr~H;NOtqkc}Jn4UuB$y@_oA5j%t;Rp*bM^X7jCP ztHn}c8hhDEWU^32pp#>c2>~ZiQRgZphh`=nNXD87qv#^DWc&4N1mG#AzG+NL`})FA z5c9I7Axt>WZc;yc@?@!?kRwu&g_Gfe#|tt}Vjf5n)nK89HOCIfuVUku^y#gi*;ki~ zU3*77GB_?)5WB4j#ozp+8qp`Z!rjGEDX`*|#fR}PYZ}&jL;B)M3Awt3-%MYHV=jB{0 z3tJp1r`3F<{Bpd+W~-qt8BW}T)mjx+{dGesOQrQNr2klST?@GtB{Q1ww`hXY<{z^! zsf6tGqph}Rv+m2h*6FRLUAK-o@^{osg=-_0y5#hWb)7_{|1!1IyF5)Hw zo>R9<@p+5G#)`*%{q$C>StDQ$8W;USH>4NyyQBg0j%z1@D?4ONnYgy(c=eK$tdFXx zUQT1HH79;e)3(W8ZC)NFAxc%7B#T~Kd4@kt1!i5Wo2CusMdeSN#4W}kMM1aIzZLal zGrh7tmEBu%{q(|NtGd8f?YPUfW+HKEYWl zcNBU0_2b7CWgz}cyjWrSVSaAcqIjv-au2)Sa^IR$XO@;4qSUOE>ZQn~4gZ>!x*|Jv z%*p}o9emtg@9K0rfFMhLD{V}sm!o7`CCE}}U`^K6?j`f8;|T1ZTTU(J+?Zx>x{S{uFNN4U#duVw#)69U0(8PeY#s&T4pPuV63XX z)V5w|nvy|ro`!in+C=#X9s@S6IZNmq(k7ro2E)~{xPR7bpp%&@!Wi6d-}1I;z>U?? z3TydE)0T___2!smm-QQ@ZgtEV?Kl}`Tdo^@7~6h^A-Sg9xOj2jVZ>ffNva_yGU3T~ z2-FomXy|E(U*J7yV4tMCwTNWKr&vB!>zk}fpVo1ADXQxW#~mu)y%P*FxxY9lF;5LP zJ5$z`rf;93uI_|_h|pSkvwCg8=0(lI^+p1hfe%P$VHl+`aHdwwygyIZi^nSOZ&|b= z+e!A<(`ER?wQX0N>35}C%ACA&X3=n&=*)z2rgsAJKrG%MTq&rQFmXy>1;egYRj$Ji zKPH_!`p-XLxw`_;47YxXXrp@Qb@2N2W+7Ztrf8+_UF+$ZvW;SaBO}&4$#%@r98#&X zKNetPK#&qFv^W@Oks!$;W2{hey7TAy@z04iad38?2L7BmD=X7saeUpG^qae#myeNk zU*3I2Tpep+U;A3nb{=nT<{j8qOV=x5UO1jF>$V+gS$`(=QSYsDVdPsg1*R_hGro}1 zm_dvmANGYT1#rhlnVG^&3ly_hBBU_A2639&cE!xUPA%k|DkJNM2SlgbM(5`(6B?qz zJE^2@{T5d^BR>21#n01DHs=In9>Va_JMficws_IL>Vo56^S?d+khI%4`Oet#TnU3B z|8b$l{YA6WJEsQ}a=h2l<6h%krk_olb!oBexK0|Kx8A}^?i@+261IA-DaT?Kha--o zY@pS;0%D848)l`zh2)zcF`LM==}U%XRInb`T{eAgl;2#741n$nimI4-A#oP`U=P#t z&eu7px6XGc7IT|EkHZ@hNTj*l+`JA&7p;rt?Dy(fWNj$x?(VB>%KykeF*C3d4N?q? zIyQCd)w=G)2r^9Olz2Eh*Rh=nzKfsi4|iPOg!#Qd;#jce?4~L&=;?kdmZaSjM+jWM zzHgf*GgX)y0dAF{1dlQK@?~4UhlZoW1b2|U_~mOp3Yn`_{P{$k$foJ3NBemXo%pd+ zYJ^(j%+u%3uMq^K4f<}0p6)}ZHcoZh>SU9hqv&s`&SD+QVwFFRCD*V%nJ%XaS)I98 z^TkeT&U>{IPilHZ`IHiXfBR&|z2V8__ZRzmmc*FBsYEI2K!+G3O8nXSJblMmHF5w> zAHf0m{k1f(Mn*?PjfGu&e3d=^sbOJx8f98yDVD9k3dI-}rag;u@@~++6z{K*ENR*> z;`N+NHraUtwGj5;qLy2;Rk`F%?U&pfb~ozPu(9P1og(8#?^~ViSSrx6d@Gpo4ob6*r%@| zbTtSWhyVu1F{^0lh{Km7pYCCU(A;9YqGpbSy{)6Sj#KfPyhg?Oix$1WdLtk}JvY|a zFg2thmB8viUwlZr-*;j7bg9&3iq$#4R%(sEak6!L0BgV8E+U5$oyBAbz`b!#ofTf? zDw^26TQ`~Rey}lsu581nV8@3aAbh=y7cX4FnUbb{rsqd4BOxidIz4y-bRvB>B!i95 zc+&jxCeEEb%k@KSJ|=?gp3O`S0E}ce-b9PCVZ*qQf;bmmG=tvzboWDVSv|VO!TiPX ziyysozb$@XH&?84XDk?n^WY+h(XX(ZbSKJUxvZP}F1upPOW2Ix`Y zib?&NF>BXy%y$7|AhVjJqeE)PERQ2ckB&CGbnNP#i{Ol1E3xWqaGcW%92n+c+Y<}_iTOHz1@yShgirH z;vU_Mq_E&o|XWZf+eQWJh4!)y0vzeaw;alJC56IJ> z%%z(K{b*5~>z@csYLMIC-_pt^JJxuw0&Kxcs6_0p8R2q5?;Innbw8IYoGjR~bt|{# zP*@n;c4mQKf`>GHGYY7r4?ZyqhfyyKIXD~X$AwMjjv}1_P-mRc*wBF8##f5Zbrwqt z>+4o^s_T?Ga3e?$;LEI8>BOh{EjQ$9ZtN_=LB5{8a_yKPo#h9b<*y_rE^c16=uZS6 zyf3xEPuaA;toyp`MYDf;qS}ew7u;4lXuK*3T{CFfZQnRx-it z_4x$@um1hpP`k%cG%Uqh10bj8tQ6Vob2C4^=v#2_Xp^Hyjx?3DwQeT$AcE;*zp83A z`d1kz5-l8jyq5y-VxcL0Bp1kHqr-mrUx`Ff#v6~Fwq3XGIus{B;3NOM+bHwfWl?m+ zL_4$8?25gy;(p$~;MFSxAvEG=J04ufFZL2|ri! z`^^;>u;_tFB&Vj12-02C;%Rjp%SuNQcv^gu=h(-lRboD6;C@M1_JwgX!!Q;kppmWC#GK`L4TF5}1O-~S>l#J7R>EPRWmaXj@ z!TZE2mC03${q&4CuSOx<-1k?JD>4xVvZ|{GKC6nr>xX38G9@rDlk^m}VO)CtNso6& zOTUvtQ&kVWI5QJ`n(wh}MDNuKv+QwJkA`R?ijETqKF25J;b8+s(1b{?NIXtDF3W*qGYdIyQxR2LPcH`5&69fJ9%GTd% zSxWQEti$h{snL%sz?%RITj?yCRSk+#8p>=9gwhT z%jQQ=m!k*f&x$xU#p6Xr#yUp8QEfIfG_-(6u%J=K3zHodfMo6)ZQ4019uL9Kdagdk*vg6HU#l!96!wGu7!F<`$NiNL&t;yx@KK&c7V~%m0!0_ZR&!QWuT&47~a%N?(OhU-M_r9yWS( z=-jiMmd+PLe?JgWb*^}~Ac{H&5eRK!u#FyRGS7v!dMStl7%HR7vs+w$U$w}=&FXY8 z%Nk`6b-wY$>!&K|Km&_1NG#Rk%ekQc2!hXvVuFJmDJO8E{#Tk6j1~BV!THe~m|OWv zZ&TX8toV<2p7>(zp2tGB`%~Er72zoq96iLt%rpBEi)@SHiweOlni^4T|CnlK%V|~ ze`q-7^%zIL?*d2Vq)GWqRv#doOa2Saciw&cxD`}g%`fAT#s~acP_Qg4qr>eOqi7R< zKR-}WpCLw!X-P_QX9KzluX;)+-gar6B{6coKG*~`nIoeGwyzA@yBGg$@^X4_iC3>y zKBjL#6`?$}Ywp;tuBIJyZylOjK|Hw1g+`mq)t{oom-t%bKw*gb)_M2ndxQO#{yOU3CgoX=#AhAJ|1>YpqKO!1%+$xTE}OOSX+$#}vCR3l zm_7XdF0jK(kPRg)KWT7t#y@i3( zF_y7~lUjIze)2a~rpjrKq8gUWmeqjJC(mJ@LUNyNt!D-NxDaQgIBJ(wQ<(GN?{u#lJ8x<^KO78sEK7&LWa>!I7(lZ)lMG@;y zr^oC%_=bYG>+}?Qt^_NFx^ZaSqCZaih}l>qkLy%yGas+I%s&f8d}<*KMm>M#OljaW zjl}jK88KtRyZNKTym2}qsDJ|qLcYr3!u({;BUr=4xZ@eM}ZR`6=hEY2D-G0$`K=~?Pz#WNVcO*s^7eMK_sJp zdEiyZJJR=NPU(rAST$cL?+r~ji@zWojh^=7g&paR2dx(JNp|TgCc|z$JzG_Zme0e22*K(0p=-q(y;`>jM*^kCg2=w2MFpIDsw91c8tPW81YnH zeIe7zee-5vdKQHE?F%c-o$nKZ>UUT((7Y>9|xA0ZFlj1-Ms zN>b?J>MAHLfMq$h@=q+HAGx9@jP7wHnKWNVj@(O@c83Rdu!x)oB>69EYbCIiBKv>R z_YXvPx;)whXXB^2xtf4Dlt~Z(1Sc!#T+vGzbiei&*93!3W}%L9w=g%?_HNzQIQ%Jk z^T&@z;JL%~fp9QMZ^+ifV)h0Y@6f4Jr=oghP6x~O;$NADE?3qz5-6cC3r$&WhH0$% zgA;TtK;Czw)Tc6>cVfzsb)N)(0EpH=1tB4exkE$}AYvF*axyXrYhSA6d`rh=LufGT z>vtCLtz>lANGura4oC@91W{{DS`5`4*a`);(8sT_nr{wzy({5LD{ZrzkAj=gn(jIg*TVf7@_VrtKxbWrc;9M4|nw6 zj0U}#BY6lE4nQWsY6dJ5;6%6u*uxA}RsG)7q;7fb)7c$sUtVMk%jH#%1ZWLhPZ(Rs z&Ki6gA{mAYn0DK-RxYgffHbLr{GFxX>IW;AeC`@48UW6cq5B;PK5#H!yr>6tW!T!- z7#vYr(7HM_O)cYNJ9X+r2{BSkOiYEupb~x`ljVifpFGRqWk-?hG)*}RGqdc3u_*@Z z)|&`W*sHh=?%KK2tc)86zT-_aWok^^0gv|w-h32Z(`gfttdNU|b?th=%DB11fdV!S zm5kt*6Ph6NZ1aF=r)g9}l6Fn@1#+m++M|VX9D*q>l^=U?cb|UAK|7$JFJF1x23<- zbK6T<`BZV%ksHw7Bitdb@O-Wf=%=qiTw$ALhHD8VDTi)SMZ5c`i|Gb|!(xtL#=IC> zNH1X9krlADFr6G-=jF(WM)cjlt_(BSd8)6uD8U&2z{s#PLLYDu5xvGT0xl zgu(1~6|POdGOR@AS^|RR_mXEe0Yw3i6W&jI0aM|c0`0X>Y@eqG?d5EPX4ZQI_l`!5 zq;qdk4@vpJb(R}`a>VhZV?u?h(NTBhE+f!JlSFwV+zSXz%nw<#Y+1DSzgmwEoX!;e zJ7A*2A&1Ai(%%YQS9-+w5OcI&m};WacoJGp@NDnb=(WqTPzh_-ur zEV}7Ftw5N_f<@lLk${(%2MSqX6p^-}yP4!GYxBdAk%MJ~*@j2Eh<4pIcq`Wyhm{1a zjOLV+Cv_W?L%-uWEi@o2dy_U=j>Z}JD^qg1yAND+ML{%~)~dr0$0f6!D*k*28_zBx zS#8d36`ZZt>b}wKy>-3$$`v3i<|&oq*EV)h+qyT}Uwysth{L`1oVjW7Ixl${<6*qL zy+ca{8J&?)_A}$&dmjj`dYY8T$OzSWSDh@7X>a-_7?Lhf;aUbAo?GHkrI@o@=%Ens69TK&ooU=-m99Lq zxx=NPk<4Pau(tkW=s_Ej`sWg=lSH?lyMHWhA!Q)1fNhxd`PEnz1Oaiemx2b*pET;h zLKBlSO$&tyEuXjC=z2_cNr@der2CJrYo|rTFC4ZV+AF4FN$~?n)=<`0*VJ5RMrP8* z1BIqxwM)X7MyX{d+LGf|lN%@?faEQYmpa(*st{+Ed5KTOR>{Z~QNG*QD;-7ey0ld+ z5sAKD;N*2|enM=nF6JGN+9_KcJAGC4x`E@}vEf@U`e&X;AL4LZBgAu}#lnTR?L6Bc zk#1@JkSt7Tjk8>4Wfl8lRO8>+UFGbYGjHDN#F>*Et%Oq5Yh_m-(|JUh0@WbTz=zOn zBP$hGT^T3}mm)V8r9B^hXGQEp3kwUJPQAU`$X4s}6Lwjg?I!xPsN)VBj(>eO4jc}b zJhR=$t4-hb5TA%Em&3+WY{lb;4-b(Rr?9a8;kHS31$74Wt0ftLOcd3B>9hE~)(%e9 z5THf4P)w1;R=ZcPdQMp~I}TdPqQwn+9J9LX)a&MuTIbCD@$KUnX>m%3_Kp5;hteG7 zKHUrKw{hJhwGK@e!8E#e-pPswYuu7U^2xN-3-9C@Vu^?SzK{IRESJ4($Vk&%(H?C8f!-TpEi)z>%Z<^_4P# z)0%&2M*zCThnme%7Nj`^9z*EJ85$Xt7vhDz#M)XIg)4B7eELUuCE}PufZaj4Ae{6{ z`_t#A^%d_-dSU7%4`8%eC6#Ow5M|jMclQRU(e)*5t)@=*r2dT0WtJIMV|Ud*-~>g* z?eMjys>miArNSeFw*WW5FtvysUw<8Ub`jV#fX%H7Qy<*BCm1v9Ut!WJ9m^=GY+z%` zaN)qbw{t~vuppFls3`2|Gf%8N486M|CMJIkcsFHpj&LU!{te;_^@eKE(^GroN6?eR z#Er(rSs-(0J9!aoaM!!+Ql_W4TqL@o0xiF^y4sU+0UHjQZ>JX02^o2KZi>lFU0okg zJ;PT=h_@uOLhAbVEd=xj{d@$T>BC*K9rg+{W=L+}U$L|=U%6srXc#j0EKY7P%~pO% zmT&C1ys(xJhgNXA>Pvsl=MSOPRaM`J$w1N@q5JXWBwii*8mLu_H$Xs8kTozmM7LeL zW_Wt?z?%SHgd>;=J;(4F2L%NsxhzL^A=)ZhN0d#@&T&R+bRlx=Y$ZfDw1ux!Rwm4O zrTU~pwnNv3uOux_WC=G?mKKMY^$M%6y5aEEh#jPL0vgIuK;ME{dnj7DqtT~&mju{j z?GArq8l*336oyteZENL8O`}fsl>GG&biceDerE$aj877z2>0)olVu&5xGuD?dn3pm z1**_B!4-+v0|V{Aqg90bA3ShAhX6T+k>M!Ji>y0}ZuHtRr5I{1`Q~=AApn+YovILvp#4xici``9D%19)$;Tt=IgLNCj$_0qJW&T z8VDku-|AW@6+O3X(fHow=9Og$W;YyiMxITaLh9o z!^iI3e!sac%lk0H?UIwVUX^H}u3!z40zVvJpnhV0H>s;bOW2yr%_nGThQ>U*G~)rC ziU0PuIV69)B`-YFhx8J(*? zLMCka1bJh|Vk4s`?50OgCkt)llzO0s-Uq7(y#M|60-Xt4wY!O1IOctj09o(~L4o|&7QKB7j7n0`i(1%TE`i8~z6VvkgXvt+BIH!jy-elfEz{6Rnq*SeJRT^E!)7V5M=N@wbK@T3KFB zgOIEgyoplQDtyMO-``B`0aRYH`}5|uYt|&&+}R15{BESGy;5LEsm&;Lb&5gxgui~> zU?0zfb_$UiL#FGQ38n%FN(*glMEpx-d7JN_Bz`qBd_q@JPq0yWVJkuM3-{;I_M6q7RXx>&l#16^9zU}OWq9E z37RxF7#{dhH=A!Rb5QS;y_qB3*5?7N83xw@gnEK7b0bKnj7wzxTKw0}PUe$REQ>Ea z3*0s>Lj467AE7`Z@wcsKb#00%Z|&FP zQ&2*Fk4xbjyu-W7%FBFi+IDZ>-)`4d&UVp|0XG$R+*~64@?&FHbZqwTX09~K_}6;z z>E{fET<_FaW#uwdn?fU~`=9a4&+h^;mtjDqe42AcuJrXl`##LdZhz@!q^oVf3y^#G zUZSEMxLN5~i3|u(uV&SKOUR?)Czx!NmbLK$luP^O$YaDIu z&Eld4{~>=GL^fal{8S{0-2JDSERvo2XFrMlt9R``UDE%JZ|%!1jixrRrcVqgI(_&3L19aHREi8PCfX&PHeuL+w7d779z}_d3<5(3IJh$+T!Hy}se;u5L6u(D*HNnWf)x&scA6i8tAzP_E?F_;_x zG}>aYy8mj>BkS6`XOBP*W7G`)17J(h>9BfrU;NcTw{&!L)ZeZ!y}>;IqXRmAV4IMZ z<^@6nQbsDLvD}6!+GLVoECq+835+1Zl8V|U?(6m&tp9X2=ggw_aPj+ee?Yl*E$^x2 z&2406nIN&|H@BrY_>za+)X2DOxd8*_=rh-Y)SVtIlpv~VMr|=JJFxhq zW)6#|Z+E}M#6Wx%_ZmI^W;-zll7p@$DwR8_56y&C4o;6H)w zSZHV|hd%vH0h5Q+DfsB1sIkc8|C94?6!ISpEdC+IHf=QEGf6vlCO*joTb`J9s5>feGJq{bQMdR#M^(z-RgJd}^vTnw>j$ z{`&A9G7RtY((x*b=)(0l`~44kik{oT?PJNGyV*S~DZYP?6w&j$pSIla58N#}xtIGU zOQuCWL;@-=X>I&LJmL=8UEUZ5BqR}!tCm8p)g}|tc@<@XPOpCD zcqDvP*rG7+ZK;g9GkX3e&K7`qtSX{df~w$@2nLx)@eec*^ECL<)vG5aZLobgF>3Y1 ztB(TgcFq_bmNT%0OqrR1BN@4?a+;zqJ8O{W*uIGvx%~14_;um-tbkze=kqzw^Ei(4IExiJ*!JSBKEZUQ{v^c!=LdNlDY#jKpM7Yjpsy>Y_`}`X#2r{M z@?66_TmKrM0&x*dWyQT(=tb`9C%$fUlcR$4kjlkz?wkPG%fBne+*xxGdi31d&RsH` zSmH}V&rHKH4!sA#r3Gq;W4Tw?uEIWaC_D-b07)6K9I%=Uw$AsQ8mHe;Wl0G|&VaR# z2J8r4I<&6f!myz1=Lw%QC3JGb4aSyj|I#_C6q)!rqS}th*#94YYbqTC%|sSo5zeA<>PyE6&$$OA?Q_~E^qr#S{0secy_CY2s&)j+G))9 z9TfpfZKEa%obxDosJ(O-|N1i-PHG-IOpNC1=^f5}No5{9)yBD-RPl9AM9+;IY1wEi zBdC;SLVqAOqS^kERqeGKH=fhxUzBM>Imf1`+E$!HaW%BJO0^%F1)S4oIE*@Vq_)v0 zW93Yx6ZdD6jhXb>HRHjB4{d|93sxxNXvR!%nw+Q6)rPzQwWpfx^L`Q+E>uQA# zMl=mye#hkOYe7bKtLP<6&OZCjt}P?D zI_}Jw`fK_j_zMZqnu! zlfl^nHY(dIMBnWBh!nsCkt{*(@+!Meos-VrE{Sx`zPpa4yKGd{?J^ZHGo>hda!`C< zxH_2D;xD_})_JvI;krKZ>^2Nn94_sl>w6tq|X=quRC@rF{C#WIBp>`P~$11>~eTEP{pRVG-%9pk59gb=bU*+>y|x( z#_!h%6SFJ3{6wQA{Q%-hz)!0>MjOcX>vtx7^_)}c!XX-;&6)pbv*dbzB(8U*LO*=| z{OWTi>IPh9oxnW5n5CIvc<6#wbMSsp7y_SuC zWweqd_y-vnjXh>wXO>LiY=rVc=Yg?I_gymx{K@lQG9-^zMUT+Z=f{Sk(MC%Gzp9k+ zCn!0kJ?9-#vL(^-@LK?Q%kuz)m1#>Rnp11T36V+|jgf&9LNgD7@&YvIeCtgJnO&WCZMf;`Z=9lRjOx}J2+!kJ+Hb@d_rJ(!4s&%N&p2iiY zO4=@096j2a%wb71`!qE@oxTmgCei>hf*QKvX*sU`>n@SEX3+~3uiY!ACBIh~JJ$Bms8g!%$_(U^ z$1U}ufJE}q)c(q12^;C;_kp=Dp|d16j@_TVwE13piAK>fGQ_OaHu9Wejjgz_!B_!` zT9t6rYY)>=1xXDPnTn(~b0Cn-DY1$%|M~etfO1n(HZbse*?0(Io*d-xfbMpWb{@W8 zLo@hQxKM&Hy*#YNv4>4eO}~Ht&fxX+0JVg3F^Xbrwg-qzaHVfcR3q*DEK(++5>|}(qn}RXv5I9 z6H7vINFRByT2YKi$_MQJIQ1c>umd?=GFm3RA)HF@|T7BjiVQaXJ?`r$= z|7r>QPpadvCDBD2dP?YV(p^{?T1hrLw0CcPgj)hu#rBCdKu;3)Ugzg+JR3?%jtJDD zq@o(cDI1&}%u;&4?C0&rk1fW?9FQ86^oAY>(irH*H&g$-LikEZOdKxa7_do5n7$3S zWkE>GFHrgj*}UwJ(bWV-ua`an$AE($JP7n%qkL@62wR;Vdb5Z2Mq@~?@w_ujet}*> zu0NuWA3u_HTRYn~ z=jP(s=B8d<7I&G-|H$3=Vb~|IVDak2VHY24=$SO>(IeTfF_nF%#JW8HD!2N#b?r<> z+^ha|$^TCwDgR^{{@36?1;y%5HaE~GUzO$>sSwOb?D$-*N84j65Or%DwABb54wDAu zX;H-(|KJ^JW}IRHDCk`%p*7>=Uo955K>u0+;_aE2FNX}9m}V9h82Gyw+(++0tN&iY z^0trMdgN|FUwP$Y_5?*-eO9(`j-$Dm!0A7J{APj}N9lg~DG?^#ppirrgz0&GEf}q} zU=->JEIw}A26Ut$L$0|wM82d1s6RkR8O^<#PQ<`#2k@^=9eD+1GbZx*irZ`K{Vw4uJYTN$;yZp!F_LUA*0xWF6GgED6ZB- z41O8_1$qzvUpCYH5q-LJ*$u$4Yv<0?jEoqyB>S?9K-}on&<=&R$<_e8Kty;Ff{g<0 zG_m)VjOEGl*Qi+1y}qv}Vj?64)xl?gI_kzb>S24z-p$%Abm9;cZLeWfTu)Tu9hG1F z!ykk>xcFZ6n8SAwmzZDnP-Q6d`2JXF5HP1=n|$Za+=ejBlP%NT6tuO&@@!$@nA%%G zv0%7i^x99IElu>s9$t8KBJGl>F?H&#K>7ZUks*~GZMo-GNmQ-|{ z)JZ5>APk^|#iC94Nuddb#@h1Z1D=12;s&XCKI3PQ({Z9nFGAlvUPgH zT9--2El(OKPvIh{2IkDE{;&}TG}1V5O_~x?*$)`U7+B6=rX=DmEH{K~>nwl0B>EGI zB)VO(NHNoncpz7F)&#y2_9d+XC*TOM;{&IrKJz5f2gMYJRv8<&#j;N3({ z=;`VC_jcd9x}cjNF%ZTDE(#;sTcfn%GLnjge+CwXP?;shTBRQ6Qj<>Dq_H>Gzj=6z z*m2nR)-ym!+vcEauf)0zD{?w*?N2OJwV&2e!u&V4?E;lWkDQF3SiqP_ zQ;{sQO$2a`0^`Vr#Z0L;LA>+)gRR+p!FWBX4}l#*oaY*O=8VfO`=-v)0l!eByTCda zm-Z&{my^pKsgZgYcb=aV4>^Xgc&~BGK}#*jHwq1T)inQd+8VBAd>EEOm;C(hz%s`5 z-vL!pn{k;W7Zo0A7CWj3c%y!xq(VPLqE+5JR^tH$%D}V@?=4V9l*C)cYtFxpc98~R zz0&X_#kQti!-I0mCd_c}oDFk1R}AolK+kvQjFl@^3|$M4Zl3CV(&`(lB{gXV$dmFv zL7oP>ZNG8r)*l>*=!ejK-bXV+A51IubP=Q#&n}v%a=eryTV8eoda}(u%%;@d{BxtT-;lK%NA|v=y!AOYHtCe_J)DAU4)}|z}~%UVyq0tvDz8-8)ax!pV)1XAl37o zqj)U=r32pW~mwTAcoKZK)3*T^m!%#D|! zcw>%GK+xi5ao)ud)LReCimuKxu-*;mkY%PE;AUp`)RL>aGvd^D43@eh`XtEc z0BN(z;oJ=^I~BX_yh~y0D`*_fom_{-#E3rKOg*r^8hLnLb8~ar$YH9s0^l&};2lu8 zsIvp*?Y-u)PYj%1p}fOhfF6{eXqfQ|nm%-BI3X)ZZ#A+I!QMhOw_kT%j>JLw#kVmE zR{Y)pDbm=nV`V?z3b)Prc}7<41@gN2^K&~-la{zTQ9))8C6kXre3S$edT=|q(ZMd{U(xBMjpdfYR>49^=*`5d`&)2Vy%E}TJy(iY8t}-xx zcwLtG5n?5Q-^Ng(`!DG(aLwYFJ4+Nfx;PiiPEv~_<>5IIJCPkN7*&CdfHV#ohDjy? z6JGG%RV{pdNA#JyeEC4>1YLRZWbvnmRqApAdWVkk?n|L`%^ReW+Htq-Qv@QYQ8At6 z3_~*mT`~-I1Gh)^rOD*H2f(umOV8R^P()r>*^&{}YyqE0i}}jFJ?mmDoRZ{t9^W=| z=7x_%{0Qm_yH7eRX{FLlY9BBv{uP|I5H*M9jr{U^N^-|+6ae7ToOl4GhPfzv$`S@u zuJZ#EsjM_>`hHw09|&>oNCgBZi%m?%_U>9FHTO(;%>jhoF5UKVUSHn$;X2J^i0TYt zZv?|HoXZ2t?i~otU}b<$6}SOd>Y1L)^pbWssjBMlm=Jq=%WTzm6R{la@Gx~PDn9@) zl!y8B_4xUL1h2!TpFrkoL(%JQ`75cjP?$BP!{oHMSVP-aGcM6c1ZS?Ja zv;GBSwmQ7qK9K2S3yhx6gonAZsbQ2fo7-ga~mA7Zs5lKOUvT3XG#05KKz z?Ywr+7wWF$zy&+x@D_g(0$yJmyWCZa>qnow=r!x$fdd@q!vp8w9(itghh1UD#CU=M&ghy+${*nzrX8o@Kw=L^s-~A1@skg#y{iLNIxCysh zU*}R^uBv9aqpE>ufAP7!K}{^Ph~YTYwX{M#<7h+n^<`3?{QhhdU?rLEZHfM0V<#7A zX@L0wnz26kgPe-&90gv==?Elj91TL7T5Sexhn}9yh!B*0WY$Q%s;WXmqbGq$f~8E- z)byZx>0OJZ=Z3+L4U*n_|Hue&8@x1J@zUZ8W4pE=n{#qWZ{30}$K z#q!RYLu>neh}f?&T(oDf!8Cb|JyBab8H5iFGD&D})Llk%)af^WO3mHk{noRg$6S+O zw>cZWZ)v`^bbZO=?;&}slA71lCuM9@u4tqh3j(*8rtpX3M z3Xd-Ks}h-i)`YJB$hwdiad_fkuzYzL)IvOi%K)KMv+AIFp#z0+Avh*NmrCsxM#_Wb zM;5|5W_++tYJF*%!>XPz8&apV`WD-WVK9t|D{9=W*x!F)B*%Crfy61JJ{cdEVux6F zU43>ANXHiJ?qK8k1JRy6d+th9Ishh&XuiB`f<6%l%l}q*@T${i1gcSSd>ZwG%;&L&im#4e4!{uuQPN(ABrP9~N7BqF*1u zwFP1BZ?p|i+h{#82DV49L*84H7gF=B>q8%@m@#+hYv%*u9JvXk{l|_T6}$nv4Bn_? zUV4Mk@vrZWizm;HIe%UyBoCCs<8l_1Cv7!yupkWyLlw7N9i>Lsfh=DGW1`p}9z~Du z02$td?j5f#6!$BTZw;{6c(Pm>igU$8%$t_Smaq{M%czy7ue#|=MHJewT+#8z7M-A` zqmR6sYo9!pFe!cU!@E;@$Jn$j>p)(-_xm-z`8KLH^kmi&nUQoK4jZ5ovbO5|@X|%= zHRLS@WKJDDI7Cuq_p>MWH3!}2c&E+w#Gyl{l~NwaGU!E^z@mIi@N%U5NqM-u`Yev< zR~9->{Eg8M=iL=8q__6JFxJ&5e11W&y3xRZSuKP6;^$^6sedBoCGRMl5yxNgi=q1<5ZCXh@+>j=9T7l5p+U zZN2-KhPIcImfn2>S=^+xyG#v$af4X7tW57nK%8i&DCl6<-oc1mGm!lQr__Dwu35ocAJ5(gv#G@hi(3L z+%K5c{=eaa6r^?!FHn_;rM&t3&4v03c7bmCc}#i2X%LRFgL%$!T>jYJ;?uOXT`s0; zO?J>A2Nl`+^`7B&Q|6nQ9k+-NvT`db={sP6F>+#ked*UT^7{bQ$jOZpVHJP5`0URC z6OS!W3sEdcIzE!fsiCn<{Nv|@0wUg7_0LZCdUo%=XaD{Ifz(g9;AKmj>}LeqZ#`-C zVPMO)xR>KG`zGfXtx^lAtF3Ksp1+(;_Q|6e{--_HC!-6K=kHroTAFgde0=Mc5v~m8 zQY_x-d+A2GX!vlFqkvhf!+W?y?mMOylD9_rTS7+SsrG+$_$9FVkG>$U@E#K7Nz3cR zH+RuVcKf|4jZ%fm}>` z^J{5&CZk2y>fMV1y1BIr@Rf9HC%N`S%OO#OQ+$%Hzqm`fkI$uw^862r1|D_lYx3K= zZBl-}Fzx?eFR1_Y5|{mpSq%>8LkM?`PG8uk8~GO~{?${Xv+LgFO{39CLL&U&@anEx z3Fzb&dci7hkPbR~MxQ%pOHs<-q+>Zqh3hGuP-ag}KOnFnf9n1Hu4VO~FwnS=@3#~<|ef=UQ; zs4iVnk;Zi)J|+h3(;Hk6hSX@fJQE{KrWu6|;xA)KBS&B$ZNG0VwJe@2ocv^X>nC@V zZx`NKp0Ha|*V5A1LLa5&rkDLzG{$HiJL~h>yL8!3QXeiAg!V zbqI{kCU1HXIGaZQA^bl&hbwh1o>MKy`Hk`+EZtt$L`srjBBeB#?v=S`XTBA zVjLVSWN(0}T(Z;C>$~93+>;G%$l#QW|D_+e?4CTUaY{;pFDc3yhK|e2e7e#jkFjc0 zm&{i8okIlYt%4(wxInUS(8)S$$Vd9Myhb@_Otiq#wL-V|jW*<}o!DPx?$IqSQpl#Vrig{3FSP z892xZo>rp&X0F|RDpa~1R*+EC){n+|2$-%Coi}#Q$;_?*ZI)ITKOU7!pFlxK%N;X* zd^J)VU*O!AT;2Wr{KuTKyo{n7H0Y{9*wULq3hWv;$HdaIZJwW5UAJDnHiXW6@W~@H zYf!wLt}sZOO-0Md;xGM>*x{QR4*5uUBjnz)hG}4nCesI=>77rv3LzGE*mOccDu^% zl8c|eQ@AjUuqi#T4OsVhbst$-O_YzqR0$lzc>?kp1)G$lu{r_JD-4~T`nlW=z&J#p zbq~Mnseu|{qzLHT-Rtoli+EsJr)ZDNcaIB{qsSMWGi1p<)hnH68W|nY^uHO<)Km6; zyJ`mD<3XM9l0q)Erhpg#Y7@Go{Z} zl%`F~41C*7LM8Itxw}_-b@mEwdivzgm@)H+uS1xu{e4YJ1!{!miWG-YmF))gX*W9r zk@~2EbH%ildlnlSGeEwDSJ%>L*&-;|?)RLL+5A!H+m=pPHlFQb_j-K(la}HtWO8rI zUh$Kn1AqQmU8zjki@Zjd>qE!Q*B9u$>1`3r1CDD5eNXvEZ@8*1o?bh}`YJX>!bVCg z6UO!ciGF@lI9g53$lUKaeMew`&af0(_xV(3v?ZR76UL2ec%RWDMX&wq73Ym&H0AP* zwVR{rpZtlxFJoK6hr4LV{|wl@CxWpgTUZK9YkPLp)u)Y#cBIcmOBbP@t)|g$6T7%L z@^~t~2#OOXFt-iXCr(cH#jXJs>{^}YHS2s7;_PfSqOaXN6J$|a8BzF#J`SMW7f9Gx z-+vX2yzN*I$c#|($!Y;I;DO>wa z{;T4UNA4_+G0mw%RaM<#{r5x&#^SW!JKLRK=m4(j9$I;F)U{fVfdQ^@6WQ(WKR-kq z!o*ERlh<&TG2~(qr5-(uwM~LkX`={BmH`tM&=*$k7L5E-O81m9o6P z$4)*}Bio;zf)i6*&-x1D=GqCL9RsQyUoUnVt6yWO^3qInAS9$Ny~;Kzix@0Y_G)rV z`QvwUg*_b16GTutY?HmtJqB!!&93K0-8AHDPdSj-nVG(-sS)~8dk3P8I9uQPjg`az zh4@81g-$>UuR&7T40Abz9puL6Jdr&)luis1f1#;*icEkAF~sXrpsRoI?AMJ=4DGoR z6*Z?yI2WzMHjRRExtOaYH+@TH`lQK|UBR>CB9qIoC~)`=QrS;8?NzXyS)I%LF~Js# z`VKi6F=pPnbr*ewi3s_A!@hqJ+R`G6&*&V@YQ3<(Zpz9#M1m`uCtPnZ{zQ#e&BCP( zmzv00n7EF1cgqlI!FrlG{HuHfaPZCL4%kv{lZxT2%r94DlRA(F7Um_ zRjU$VOM|{MB1S7%U30t%%4BM_~jgP(^|Lm(P0}`wGxs}_Zb*~wJ904nOP-Oui#T} z|7c>;a*A3eR7H#d@vJS3yf36E%#N$5|14w);B?fkalLe46zuuMHWs3IlRWH8E{7Ax zP^g`^$@n9$ik`cF@!2;83Mh0TZUE^BwPgDBGk3n$X+xE}F}!U0t1-V)_b?gv;#uLR z5IZ!)AH_PA^j z{6ODy5h)+zWJs05drX<{?CflBf8KXlY{_S%kS5EkYn03ElXXhh9f3I%GL{eDujqh` zhCF_BWzuA%ncCVGV!i;o`ysP!v@}D3G-x0zEh*`oek2jZ&u8~;e`XlQ#l-Y*n_^Aa zepuH?VCcs6>9^tqq9yc&YTG3)8&8HLTp8BB{1H8rvSTzPDT?x4VWUEfjCBsEd;8`?|fXv>gBQP`gDzSNz1n&cDB( zl$)gF+LR=^j?E5FiK(yC@bB+q7Cv)TXFR)vWca@Y6ZpTl=>84dF>~_I&nZ`^;ntET zJ9s~&G-|r+)VGIYK3ZSlUc01A1d!MspKQHwxa7maLP6Wse|mhL6+=o=eK}?$Z}obd zGq<6kLH9*wLw>{RCuav#9`DGsss#_&(imHa$0rusk25h)EZSNFuMOO zX3`-A2|98_&9*3tKG3w}X|P0yVO-&g4&FIk_=b8@jbexSc`2Z{)U^J3c0rcy}xW~D`$GOml^_A6r5+Z zw%p{XQH(qF0%8Wy0r&wrCBfk+pB68swWp@126&;-`DKB}jwy&pRuPF{nS*8X8aj`N zO~si!BB6?_o%BAfCJg@X^y$-ZtR$oKT%ep$GP#t~Sk&MD4`3cLM43QnJ`!p{YCtRl zsiu`iUehhA{N7V%1_vz=Gd_no0yqr~LeP()F6?=!an)mc{{fW+enPHGNmT2mx#L;^ zZVEBQ9+VXj05p|Y6Exvf^_tXM@6t`GqrA2-9nAN&n`X_lU9*I_&i^Q(1cFh$q_mVi zn}Iz$H^!@l)HBGS62(6qM&xY5>e1B~pJx0GAT&?iI3$!2w6;lma)ePb@jzf?@3B%st@C*!I-0M-o zu}{Ysd@(jeNROiAz~!i7Vn+2q6-`3yre)88?;5a3SHI}{?Bo76QPQ*O`n_!wid@%re%Vi3>nri5n0d%$sV$r zPISg_;8a;$tf&`7I_lw5O77OfTgvY&P*)qY( zH73`0BfO7oX6tFEV?Fcg0|R6LYn1069CGr1SDw|zH^Z3pmQKlz-gxF!ry#R+eiiFg zWd*L7DN*UVT4!&q5+n>WXS<&5P^%eEP4T6CfmgBnD&5wLpr*zEb7Dvy{{fF+dzb(w zC=?&o7|a+*{w^jrJRN~gDUC~7DHZl=?uOEq=(AE6-f1Th3&ry3{f=w&1qcvxj-kx1 z=phoCeKM*n3=LmC$%al z3RnmU(pXW==4U+ZwRCKk9@e}3SXU&PkonhjWDvpYmg(v%rB-kEu_&%<6g=amZuB4U zc2ficpBP6k$VaNCLYeH7pCS@D_R27HM;cXEK8Ad`c28v1v*fuFgBIxN1$bnfh~M0# zUvXtv>HD-wi305@@=`6gXX@(1BwYE>&V6b0mkpec8_l<#lIE!DJ8A)f_iq3^VmeAp zt1QgT6n&V__JW&t8eZ)iHMlU%iDI#CP4^UI29&#NhQ@dK63rn|p5k=E z7dp4Z;R^-G!sfRLeg|z@-*#x1cC(jmG9Mf9Mn>09fahs-b)Qc%E`EU?Z_5eeJTo)P zB}4Qg9?yTMq3UBp(dw0?+Wqsiz#C5&M>gQwm-a5?#EF*u-alrF*)(4dwOVOc`)oZG z9X!~1jg=MF!I}VoX}7Ed0=Az19|M_}!FF-_>gV?V-pumj%W5+f(plA1c5&luRNNk; zkwZt45`>+Nf(To>O2%V&d0n=9PD!yDD@(`SjUL{6RQ_6Xuw=}m2JxN&v}a>rY?pZ zD9dg<9Ru1H6-BxX%d}p5`*;kOLh7UVFo?A_%r7Bzu#!L|Ut z-elZ#(w2sN!okTKJqsz1&__yjv=We!lo=QRpUN9goy{X66eep_w%^C~*ZEo9JDLEN zhoXP#yVO(Q<3b^)0`8Vhxl2uHF`&BjM%>nQl;=&D4r@t~+7)@|kW9^ReV&;d21c}6 z@xu0_%Ro4iCdeNrK~ym;b8K{Ym%yiu`*j2 zi2+R&-W6z3gq;B`JPyI9x$B`{Y{sHJ-i!8jxD@d}38<>^6B^tlIzB#kZ}~Q*-|ZeR z`$I*x*>lgl)_P%C=wGk@Cv~VO`s>MXeju?7q-jXT*gfbLg8IjIeLZ5?uZI8sWUn;b)0y zl&UawKzm09#u{===|XjN^VY35jUH=f&34eDngdJ3USgZli}Ba4T}wzv5K;W|JGI{J zIPnw9+MDMt=lmt_(7pM-r9GX;4j!vpZr^JobETtWVkU>=ZIM6ONV2r!+G6kxQ&YLu zCi#7cErSOuiL4US;^LGFULGGgcI>?PQsAReT%WGKpeOO2L;d*ueBP=A@|=!B-PiiZ zch1!FimX}Y_t~g)PVc>;_UPJQ?|bUhu@ckiGHG4?|8;LVOuL|yL@Z9jIgTmc6ISC$ z*R(5QjG~Et53v7-Kf5!M%_?!Z`0aX6<V(I$gqy+m@=wwst3s?>VLv=502_(C-M) zOnJCk%R*BBBJZ+fg@?xV4VERgNyrlR_~u#JIVDAxuQaSr4pG?iP&;Ee96uvYE|of# zNVO=ODXSVk#&=P8yO!qnE4p9JL$(0i6+dPkNmRJq10Nyt!p~O>;ge5Czk0z-n;XKk zaLl3h%t7!-E+3xzU@IpEh?1#Ta4W|xzH_>~Ln^`tT+4@xK&SrT)Ctf15SN;|5!I;( z?B)X0!EoWjz}GO+)sz+zj+T!>S30K4OJa0N2lpZ0PxLi|C2v!jE%z9-kq=xXwm{#3 z+=w4@z!&XkmE(J2vVc;(Hrcvx_txJ3nK$%&Qo_~^WKBjfhGJ->{;y3gU9(XE3pNm^ z!w_-$>I9vV#HPv)gxVMENgP?&iR(n*ct0<%Um#Exr9l@iDJL%vXm&v0e5EvY!ia*G z8;zk>rnfXq7YW|)46_nGiRMT_kc_DI3h*3%({6o+7nOyG#XE%@T=*G5loQQ^1#FpLN6m=qJ{)5stZJSQ~FKOjPLteMvntTLZ6$$zASf9i6ubnJr|@5b z=7(qkT7%;z4^M67^_>*LDYsGIenTgoIk<*l+QMKs^Axx0ac>IU7rVcDhn{6iU2KZl z!=a-_3G>s|{Y*-9pA20_Duj@XN6*aB`?g7)J9Wa%?qr~O@T1Vpww1ER7bkD{K5Jra z)1G0a#(UEP>aLzrDmW(X9PV01l|@LmPb`D8TgSG-dLes^?(NO zvVC&s-HWBqOHvPnW>%>0)Gu}FnWmQ=Rgt<+v$lO`XouG-3&}a32dE>c`+&jxMUz+* zOw1YK66vjfMqPk-?74j!<0J`lamy2DHOD-#5oRp&)3zxUp$<$N6tp|!lEugqKFF-N`~eL*^sgEhNrs*Fs^R2ii&}lppG3K`WG|uWKD%h^aF@d z-kSP7MWSac zG>Z!>w)w&_4c2hJdS&>Ah5(E2^!ibC5z`ttfSSK?s! z>GJJKwN3NJp;lfgDdjd8W;b47V-dzZsz1YsQNKAZE(s58_L4tKyLXEcsus&f^`F^M z!09({ilw7tW4$I0eM)7A`nJndNkTL&cvJl`xDBoQZrXQN;BWhFdY=E9_&rlL-}XD zOG(T=0PNA#7bc~AvjyJ)PiK9IVa`Y>tSenJteCLrN>ju5vBB?)p&RZBqtk*Kt z!b3KFjGo%*!utpH%~zv57xqlcyBSs2C6=LjJGXWS-F<77bRY**>6`5WX&JiEIf|3K1mm|J= z@!G48w&IY+95R)0r3e^LojQd!8dWx$js~zeMT^XhFkkumJv2Wbwr_F||GtUDy%Apk zUxE43vOE)_dNcB!%+;*fDPQ`Xa(w>Vx{&?)rPEEAPS};jx1WLY(k>yZ-^f4_GR41VPV>gXl8CL;5UwbjcI05yI12GPd){05#)zI^89+J)`jdb)X@m{=RuccxQze-`N z*M7$*ZmiJNIgQ;;#d%+1o>uSn?4R2E{-mH%yKmHw1bIv>JMJL6O8J=f*XkYgL3vYc zi9X)<{+W38>?^#gv!43MQOz{5Qy$qT(@lQ9`0?*@`ri4tRnNA!f6KJm8a2Ii7mAjC zfyAKOA?{ztz1hS=3&R5CK6`LphskH;ephe!wK_w5^;3@Vo_&b~|9H>TQqs}!@e>pj zTs+@E)YlFOXj%3xf9iV!W8)_zU`Rtm9~u4amxFe-*jUhr4jdTmSfs@11g(hO#kuL$ zq+NxPRmJ0;e;ZV#xBJS0Fm`aw+~%Q^FtU&ESNgbicKWeJzn+WC-t@feKP$vMp2EL3 z@Tc11`Q|$`M~}{~KZ6~qw9wR$9+6~B@%f!FfF6os?W`keC?==5gs%CmZ{MYeaX+3( z=@*iRX#66lBA20lDa&Jc(SDz4L6RGa2gaSQVcDmVxaZ!xC-Y?b9GUcEzg~{_!oBH= z+lQqn{N^4qQ&>C0skf^-!Y>b^kvyRKR0Iz@ZgMO|^GQtBB3BOA|X#*FKVDV5JE zg>N@CjnS?(6I4p5^hh>M>Lf2IyL$;0@6+R4$)|z&@V9J$;iB5SbPM;>LL$P|e8WtC zydeB_H7(5db1dol_qpb>H(h&Wjsse$SAU;t(YOzp$CnEHJ^-2ifK9>@r4VNqacnuJ zK4rGM;JnSo7eGesBW9}3)jHB;SzZ}UrA)1kMgmTD5&L75$*v~X&-CjR9au#o;by39?4j0l(3>W?pTg>Xc(pg>1*wx2ya3J)J(`n9jqo{_k*zwhPb zID3jp!3K$1g35_Agz{E!N|lc0u5strlG`h%{tiQS<0~k5 zNuFy}av3ym*#aOucFQah#ZPFMGh!v*671!yg0B)}^ED;YOT_Y}k#h_D1qkJ?Xd z(-6hCBp4`AF8i{pO`OBS_y_|D>?0;1)ptDl+tW@puT-Zd<9ZHq=tL#NP|E~Fk+TPA<_wev5pDr)RE z)6sQetw*u`Z1eDgOY_r4w5fV^re@2w84CPMPW9i=TmRvjbOLc}u)hVTw zEveW>tzNZiJ1woy zOxVSsB!5bGqxRtsEc$cV)7QT}TG|;{ak0!95+un%)Lq(NDqTs*V1p6-K?tK)H^p!a z*lp2aMyut|rI3-3&`Iprr3;isqfm{KixTB(a+Naf*(D;|5sP^pGzMt8``=nMciy~n zv9azB*l6M}gZyi~Fs*>GX#{j#yV7`JnbaUKR|^R>1y~of+k!hOBY*^<2GaWSvwhHm z>I)i2o5vhEANc|Q9ALJ$s;$G{=xfw{fdMcwM}75j`(&nZU^C2Ua{(RaHr8ioAqJsh zW{`z7dM+S(x}C7pGtKykJM8P^3P)EBd2UwdQ3qS)+EE?i=vK(J{$XvsA0Y#M;^aWF z<`~`Dc3Z&{P+rmXW{W?q^^FY>}IxR?Et~1%&}*$UM<8egpXEad2EW~Xyah82uT2j=I=MZp^3aM zORcP4ft2g6;YPv^PL(C?Q4)esuw{0YcU|67q=2p(mAb2!$3FX{|g zCYSaJwejn&kcw_Jh9I@v%tE0Hx~r7b`m7g?KV>2XtN#vo0mLP8XM4#gy@8sRcGFj!=5!4Yjw^ z)6-F~`saYv^VKhsbG=)>c=Juq!%q6dAYL^ZyG)FWaPb6+YM1<5+6zW4{kPXU)G_U4 z|3)d9(hLK_fxU|Ct%^?plswv>3TC2GC)X5av~iGuI|z+`tOfGGOr(moz+xpHsu|h? zJ|CCuwTg{0I$Q9t(DdcJ8yA=Q42{gARF~B-0c+Nr{$cru_5@6kD$A+kyaxzS2HYW& zn^G^Id-r&IX6KRliJ34vy{7%8lN-i(GqfiI%t@_G)fWpf%b|RPNZ3z+ z#O9`gj11mIq-<9*o>d^`em85nBNT1Yo!KxRhNo5b7h?&HniE;bb4(r9`k6^*gj6&PgL%fhOUU zux1Uly_syGbsJ{eF9)B3y|Yfqx+2sPG}cLbeSH^S(b)X;LXAsS^Ji1b6L-q5czf4m zg~i7$OSoQlPwKM8bd+S$bkS_2VDi!&&e1bY*m#;U?iXj7n^yswL|aJ$9AHLoUKMN( z!wuLe`pD*q`EpL<<%<`U>nj|x!ss6}*Q%Cdln% z>yz?;T@aJ$Th3?EhIaSg+g_sJYxVCWh~>)fZ-p~p%#Eg=TE1^?`Ttcu-2mKW+2A%|U zVo_`q4o9~!=wNVfSe~&y)?@yhHEV?9;c~Ls#Wiz{j7kt~lWEzl4==65u>kSsv!z#u ziSAEpxChgZn>Irvp_bOwe8wsR##4)xE?K`3a@XN;<~NSWapT7ev_0p%^?kMcmvdM) zna}$76%?xsPX1#9*EANGAf`bEG|@r5i1*9h({Z3_v%IXFg*H{k(txS;Uch_ZCc_C%mlP qZQyt-@TimcUk?)hxAf`!9CEv6S9nKXo!7#B%+*~ej+?P!`~LtXfow1U literal 69957 zcmdSBcR1Gn8$NuuG?bajh_aHAl9iqA3MI+RjIw8;Y%L;56f&Z$WXs+pDG{vdh{b)M(-_PKcB?5-UQI|u~AE_pfP zB?4i~O9Ek2*|v@N$@xL~b^K?$t=wfh0%89H(*HL24@?^o2nPuA#FMIy5#wFAWM~)G zrGIK17(eI|v-9+rY>H{d!;Y3j2epZdqoyei?&e9WP0GG8>Q>F}SvlVdxLexI<4&LS zy1QxNj11LjueV0@8|B?SiadHO!tPTA%FsAUt%*%`FO;+{2a4ZFbLm-jr180r%lPxP zGc+J|(|`U^zng~X-}hI3KI#3>kMBL$y!GGr`y|*!|9xB5d$4@NzwgN?w^RK4_Nb$r z?Z0ntm!G=(pZDI${NKLy%c&2K=qviB9VNO)o0A;&lM@6zva_>`)}ICjMvvJtgv`)d z)3 zoOqoV+=%TYsQq-KXm86p{$Hz!FSvR(DrOd!0RzOs|zw#R)>&-QQM-i|zfzORey-^L_j zi+Wkq)zyog=M5V}Lqio5K79D_CG_~~b0J4AT)1FtY|PBeyoqe5W~sZ|_3Ifkir&QN zn6v&RvtPs~I&yQfvj=7u@p7!(WKZdOAji2c5hp7A$lkqK=yFeNy{xQUp7_wu&&X~M zpBDS97QKaqMd(seQqua`@|2SFs(sn*4S4@Od-elNPM(kyrs3ZwX?JH)2BE3rS6O(*1NZDt{yX>p`npl?0?EE>719J9~u_+t*y;| zxZdE$dmr(e<6PX_m)=HyW4U}!>k!p8Y`@U8k5o1`HaQ_@9__o{TeiW67_DG6y5%tK zJvnxoX@S%1U=@o86BSjN)DP>f0zTaW)kPc-9=Q`uRfsI|HC<(>zc7~j&+w9N8#K+h`uq$t*LHZ z9UX}q{c@i3zn7P#U4LJcmppvjyN z_{1GXuU)eZ#Ov~l$b9JuAV5jNe|Z{EC_i=t$a;^pDF+KA-h z?(UwGlOy};C>z_oF0Yi-)U}n_y3f_sqs2U$y1J6CzklKwQ3v?>`Q_%`QdCqtbB2tZ zpN*|=zE!`}VJtX5KYyiQ`}XZuKRm*c8+b6#(`VcCbT>DvaqX6Jp5qb`329#cQAr+3 zC$#vHp?`69=+pxWBbVl$o>HrhoPmJ>5$nz?2RYc;chU>6A3RuIUVhSD*J{gUH8lkL zljVge+JKCV3}4@K4h{}Dyu|D^wwf%n#$OX1Rq;*|dLc)2B_t(%eSOpPOZAkMrzZ=i zw6wIi(@tvFHuRIn_v(-V zFLdEL_t$=c2IAdeeRawsUs_U9a&>i;hlgjXyI5OSSCM$^*fF=|Uw*#6v(wW7)}Afe ziNDN{R%QH$#VR(|6IDmbmG$(juU@TqI6vBa&e#kIz}J^td-VJF=?ewSbobo%*J-gxB(|HpOcZEo`ZwqaPpnPEu$kN^2Gh(Hy=HE zl>Fw6!MWMl*&dH|x5-CyC<4{3KZhIGTwGk#%W7&Yk#H9m7r$;{mUb^Ps32oui4wmx zDOcC}lTBqytJt1brKKLSvKw==l9MePqEG9LaVkaf>fakYdE;1KLBZSAm9eza;E<5a zIK*?VO^)gNaR|E|`kMrkuwrW@R^hk4ZdTFa( zy7Vqm%;4O;d-v#WayO};YnG}-X&R-UWKv; zqC@oE7ZIT|MtK&I7hZ^c;&+?KZf(0{XE&RdmsfBXM~8ab=C5{wD<4%4c8T4(wJ<(z zxhP;@V4xF9zW2yS-ew88k$tYNuDd_H+;K;ycYM5NlwRPPx4q$AHn&GlqLcI|gwOi% zKN{RlkxiN8JhEa+<3sH1NOSo$e);m{H|$={3kJIO-RI@m*hS^KHtEQ(8fN6_7T&Zp z8*53iv$GrELFtgxSbV%+oFVOBnw{H0!&HBXOWwArrA4pAHMFbXnyZ@|4>x!0XMlnm zx4zQQ(vE$r&NQjx<>l2p7TPh`so1cUl39@J21ltvbE?XG&-?l6+FBt20an&?=gxVG z?91ob%kC3z+ar41m;KZX4Gk}~Zlh3BQ`6Ja>m0n6>Ym;4Cln5eHc2H5 zwzi#Z{Pgrtelw14s_p#UyLZ)7wBEd>Y;I|*eI|I}?kPV~_6!IJ&>8SpTYUYly3+8v zt?f~s#<+8P7dL8|z4@C$-R|Wk$oQ&Uy7Ysiva9PwvBUsQQ}S(pf2C{JVo^2bw7!4; z4!G#;yfE2?SS{ebb^SX1F~iN_k9~cg>b;lba7SUa%8olWYRPr$)~%bgZxa(oyNg{E z6et)3hvP!@F6AX4SUEX4Ewu(~_jan~K7HC4al%fO^8BoS@=2t2+^vPUEgHWYG-Dw$ zu2$sR65&KYEwDPf+e^)8)Mxnyy$TytjnQujHa4oh7Lgw~kAQ zix;Nm?xYF`Iu{?GqJl!0_^s5HXxxb{ZS~o;Qs;T@a4s&cCy}LB%J1TH&#?yVrlTvK zZ_z$-%Bh}GkDd~@{Hk=u#ABn+G?bMykZrLenIZ?crdJm2IL>u-bp`Pb6x67y zsma%wOl>~MI#Ti@v3`Zk;tAj~&*jmnDI06+BUIbGhs*D6?VR`j69T5V>$h*;wh;kd zp6yn-F&*DEn6Tj4pcBKaULYCvwXw1N{!CiZOk85U)p5pq&Rg?tbXGMW#yKhhK-}Ei zF8BDI87+VHx7zd^AVKk%n5)1G;lXn3XdiHBm#3>(DEEu82gqHB5S>QBud1p#S9(Q> zcTY%g@Y|8ARgbTC6$L$A{4VAAvlmr^UnlP(I}Nq6yZagf9UFd*h$D&;zWB3(GN|*D zY66xZATm-4CAi9;CF#=h;->T?+}-=0$rU%MveR6@<(z-ZEQfcQwe0o~GdGVpc>KL`O$wskPXu zw)oX~Bq!95h|``A@Ks%{AUx6EA6t~3nR)!2mEakDx@@IPKqcpGS8Zi{KlDulM9a#` zQZR|8+YMb1o<;xhIhgP1kzW8A%`8cSAJYUp)>b-lZIoV!1-a1kJ$><_*kP;%m0dAh zIOSC?D`U)s#}~O=`}{=OJRf>`R-R>XvtRi=4S+RN7j>@GFa~&Xv{^rmbopOB8R<{b zeOvmddgukUig%%EU+Qocb1bLQr381Mk6sU+wazUUO$&Z7h@(79E0VG@miXz^4lx^J zHf5mX3-kV`{Hhs=6OFtC!fj?*N{ZX-Hs7+$_VVkkEDlBakg}=E`sxCZ-upc$0HM#H zr*Hj;^zp^-beb2E{A73W@=%mV$&CR8S=o0uzO=No?N(|&#J47OkL?iEbTZe>s>{lE=suevQ$pzL=3zx`&d-O*Aax#S7Ar zvM@G|{}x{Vz*v}Up2Bt@?~n?!lxso}yT zCw+#4H1rH;0Xx5SC4`2yYugmlv9O@;svC@uax2If>yI?LxOQdZLQ;W7nw~>YzQ?+| zZth(6-Huu8i<-^p6pw2=bn|bV4vLdtR$7{mP-Kd|(fOK*g(WTad0^a9JrlEkRq+-d zMys>kXh0dYGQA!o0vC1OQmRZ#Vwigs8as3Ng2U+k-suhl3*`Y8;ZEuxwW4 z;Zs`{Bu7JR19szg2%5F)8vH;YovxF7w_hto4SJQdvZ9PldU^xk`RTrXXv1=af6D<@ zW`7NhP~Pq!26`3jV1I^Y%Dv+f+JGMd(Hy;5!S9xMLzdbAG>H6 zsj8~#vJrP|zN_!Cnw`op7kdJ2vN3J0bys3i4GLST-heqv;*zbP=l%QXK1ehfXK8ke z+4kQ4v+|eNimsd{rmh1vCM2>|rPDI9+VD3iXN{%Q=~tm>3E#P*PF~zgppbCKT%ZB}zIi zozzq!4u$+Ky}8xn7UIy4?8xFa7clBlvRz8RjK=5M;>^H~y>W4I8Mkby8qh=7?~A?B zSLJV#_Amj+j^}yYxezI*nb<#f*{M5;QpU||+xKCYV(Ry1an6T?$?rtH^Q~r^6feG{hT2rIO>FH^kl11Z_C-1y#wlFt;%p%?WT8U-S?-6lsygl>a zDKFyb)6Mf=yg`7Z4x!;&Rr67KDwfYv=IyacRXuD<7Mvn3>nQZuNYssrmew@woBMLhZ@H zK~B5X#<`Q+2G-UkXtjm+@82(J-o!Pc-GXMrZsjCPdU9o3SW9*k>S3lIe5YGijM5};q zYrG-mK~fSAV_3txcXtc(B`sQ#{TM}dc)qKyu6AEtLb`=Apq?UQb#GFx8&`qZ#Crj83)&%ouKYaL5GZZJay42v+;d{xgkLZu1 zDRW<*5Mc#l@GL4y|H_q@g@rEi@}EF^c*-91ujQth?)%$mLE+$vSlQS-R;H^)M@NBnnZ<9OFJ79D4dssf!JztzbaKX8(}p64wDN4f zM|rHBKyQwA)A!*+OG``5 zMG}KDi)KMn^Le1j=eVGd5Idg1fq^$~tIzQl&-H(z4ZV`rYL%*$t>9e3>7c+Kh`xS$ zamS?ykbqw+Z%%f;i7l3rk^++mY-H?#Dy;2(s&m&F&vPd_Z5D9nANf<>ydgoQF{^QG z$u)J=Wj2)n`!O&;fWOgo#_d85{3o0}`6b%l9(e${QL}jzX z-5`G=(y7xb!WNhu=~lsh#TIU;PBY0T%oC`Eycoa#nh}?Ts6wSTr2AZ>0(Vp7g8% z!(Zdhf%8I>;sA8?>lgFUD>7I0%~}Vrmf)v8fBx*UwvvxL6%wL>*S-7FA<(q^@!42= z<`7P(w<#6@O*RLs5AnuiXMR&t)7`rp&z`L+E0dWt&gN!dlbaB8o*Tv%dnah;TF>0$ z{aEj0H;HqMe(-OP4P3B`K~QcjgTa$wD*bCz%wbTV2>3&Xsz5Gwbhz}E-Pz^#PImjM zS^P~i$J;yyX?%|86+I6OyrijVimW&}*`1~@t)!%sqS}4&AKOb#l27J89TE*IR*pH7 zQGR%+CbV&LS_Mf!AY7zoRt6=kwqL^WiOc+%dwTo+NEr2PB!%X-$N3jx2=;6oIDuIl zV&pGjr+Ozw0xlpZh(rGhSXeLusi~=ojC)BJCnNdyDww2PMOj&Y zpv->y^l8hVFYGqjklC4;(T?0H@Yl<~CX&YfUi$oG+j|c2@;<8Sa~N+^=G`M=S_v34<0!%Ge+$)uEX8rM^F+=M$QDg6>E>hI&m5p~ z1*d?@2@d$onKKg1b)P?eYC7JMLjGzhAeT7AtPbHmE&vp^HxTtY%>&O@C=PEYB04j(4*NzV?e zh~1jBgeGQa_+xy$6M=v%6&xI#*tWwAye0%p#87Li2ncIuWk8rPA&aG76JtMq7y_@4 zj*3~frGs>hgDm8?i@ITLb$RP9hW_DUQzIkN?t7B&m2zLvT;$$mZga2Xiuu$h{Dq6N z^V>l|$3KUcAV^7bJNWxON~tS7i|^jajx1L9?3|hT%x}j*(r%0aGf0g3Q7~19Yx<^9 z+z*$Iynjzr?}f(oEHWx6s2NIRfv}aOWwK!-L)se3J6HP&B_$dL3eGo0#l@qf zJ@iV9M_wGxG(`m9FnL35d;at(Tk$Y-l@zV)OL?zQ&(S>)Db_(GJFBC({TL?A76 z7?2am7OM=@s6b>Cwsagz$<2#HgwLq0B9K7bST!d$gGK1bw=;QlaUVTB{r>%Y0dimj zy08%_u5V~AnVOm^DD0q~A8zP_3IG};8#~S7TdGds6>(&Q=is;IJcjnvS zSU|%5iRc0CrPe8Z+_=Wu+xq~kiOJCAOk)SgFo}uW0Q#T}X*th>3{}ZfKh=@6wD)|4 zB>nE)_CI^e!@|Ojn|yi1bmCIwi@%HN`bV7E4F&E)$UF*<=h%2i)gEgUSnQ|ptA87JMir+dCe&R~m?YD0QMrNS2WxajN8ZB(~ zt+Vi!QhbhDl6nT+UOuf@L*M9_n0D?B8#aJl4$_-LK<;B?%#53n6m7Cd2_YySL|b|XYDL@2~pg=75w+h_BZAH;DVfmX zz$^d$qQz0+F??#3>G<(X5RyDPg62&LNSQPZ5brqylpPjHcY5 zKl}1bA(PeklG<)2rt?I!mjYKk6==6@M!H0ge<&J|Z^~bK?TJ&v8%T-ZU&5Q!(4g<-<-U&#bsfrRFYdZ6e&rG&n%K^7}S%ZF( zo`s$vM`L@fg>gRMfv=Y}1L>Mx(#ud%m{R8r?aeb$n|q&>R>H7? z!LC$r&heF(gD*#7vBnl*{}mJ!_X}LxMhyedI8@^1*`-WK1!G$AN>N8V6fZy=G#~rX z-@luY@w48e8RT!szp5oWLp;fk)_yOUAbl)> zk0cDT+D~?dDnbb4<}H(Si2l$anay+HK<`42hsd#G2ctn3k2$RZCS0Z6k@m?4ev`y* z1sxq7q<<2DP6YiSH1_d83hv$V=QAusxJ&G5TI4`isVMIseSLI$K7Rb@IMeU5;+ox| zJ+=4ztYm0l;5*Jd8*$Pl$oSqRMeLU^U(j6;Ra?c0`D^Ro{T279>4NM-x{*t{&J>pC zZoShtD@$-O4%I+?ATEX2KRCE&?_TVTI4j_dcBZl4+$E_fX|u2Ftks`BEq;H%BKRoO zyQa4G!7j!#M5OKu3JQVz=}xo8o;-H zMe&zDb4mJ$Mm>x(5_bT);qv!=R48$V{$Dqfk&Rldo|lm!d=47#E)JJ8D9?9Uur`IB zq2}c1_`b4oae0}x0fwcPG=2VJdssG-X{(}7`y#wz(!Idqxveb@aa&JHuP;)DKNm1k zfD>RYniSy3@Tz&i-zHKP$m16yuWhHGrF{x7N0atG(lx$ZEI$xaf9Vmk=%b){P9C*HNIGP$Zp~%PN4kaH}cwlmgRfoGdXr2 zA0MKi8{SsXIVV(3C*9`zWHtd+u3T3AHBV{ z*mE!tw4|s~|Hh;Iojm?#E#95+{55EaiBo@C(A$HX{S#!)8DQzJe%Q$hG;|FHE!R8K zeN|DY6DhgfGrxWbA3ts}?kKhLvjPExN??sj0xA<-#n9{`Ol+X2bhFLXw6qus%UU{? zPN1EDAq7F@cJU&qv-R}!#Cp$-Gy>W;jUB|o zBLf3QU|WH|Cnu$VQ^3sp001Lt7jCD3E}_q0&9LvK#l^**o~LDG$~@L)qmZq2kZW>UYhdD8C2sfN&y`yebbX4Rs%EdbwX3K?lyD7Zhs+3 zpr27JU~6mq`V|J51oT8%GF-dgihLm%&Mcq(i5j$4q*fAf-gfaNh^#Y*C``%F0EE7H zF)=WZ?Ko|yTlL4_`10Jod;f>Y)A@gm_mgy~`1-H=_rEVA5dKTYs;ll+LVccqfB=y- zAT@?SIC=%RGI8&PbLT9IwjgY74{}OKxPqyIv7j^K z>Vwp)8*UGhne6LQke3If>P5t|=x)XSE_tVoVNtWj(brqDa&w!5mViIB!0)UB*#4Qh zIs5C^&3-rt>F<9zP(~j=q7ia)ZN-Uov^6biP%WEl$s@3JecOhz10*7;wi-wC#*G{2 z&!30z2-g|EZb1|D8QraMiEmV1k6zQQ)!1r!(AKNr)9BYWww*Y&&FY?f_t&EO=cQ!{ zN4Gf=x4;wo@uM7xZ7`Phz&Uv{=8e=}Mt_F%#_)kQ({TNBxL90xX(9h0HvB)S@EeTDJs^Y{L$~-8v=4{_l_4YUI2+}8z;R$O z!KWk7V3iqQw^`uP|5T88F;6Tvq_eAQVZ7ZAdK`#eaWOHk`}d0gvhe5TmfOl~zweBh zJ$~NMkoB;$R9yFOI+T3*^XEwvE#3{ZE6M|`h;nitAw2;DTn@$U7sJd;w1-r)_zjTu zxW}3+FfmDvR3oEck|RE#WPtz^e8dS|Lt5!t0TOJuu+^oKG*ur3zx@fHUZ)vEa9hWv zZUZWYAvNU5lZ&7_Ei9J7B*dg`C2)c1AqcWy2{+y;D=&WqxC~mOxp|({ohwB}ie8U? zH-i!fTOZxF&FFN2(osW@GSNafp=~Fbd;xK=v2aYid-o2lE$9~X4f4`9`s(UArVY{f zH7mjq-6Htg1|Ql(C_5UdI_PbQL?~nB2tD{vOVPnMCuwBTanO7Mvkbbl;N}Da14Ckw zGE5aH9tcY|SOF}grAr||!3x;aq{_pS1Rl-IsP*tP3g^J*5DhgoFzc`nW9jyvxY3U$ zWqrA4eW&Rhg8ci=#(fO-UI89br=R|YK0pug8^vOHcz9|`UrUP=OSpF6Xh7pgj%_-+ zx|=p_vgs}Y`5+0^CX@je?!$#z`JJQK84Dc7`Fi+6w@a8!92hh}=Jxh>P>q0uu2Ry% z!oQH((dub*3ldB-{v7Ok^UNgia#>9TR_LEUe?C2=)Z(z1fd=$f(UJeWn-h)el_-Rct^}dda%g@V8*2#a1<49D6vB#hS5qBRl zG+1%8hm4Gj{Q4y;6_nCwF;;-3j#+n#vWlUZgRBWG16fCFin1QQ%!5aceEIry=Bbht zQp^D!eQj+QL|gpGsSNC7Z*MPH$MlY-y+?Gmk&~aha3Q#zkx*7j!P=$1V%=>k9_4|)p~nv`)6yafP42U9@6nVdSttO6X78|D+EE> z@j>&#n-h7T$&{4pAi4EG>;pFhg)nf1JLZgE;M#SVjlSjDM1eB}^X1{;F%oDw567o9 z#qz}P(9i;M!?_T_W5?*h7J>l-@&XG~Vf<^V$D=7h87K<23|5#IX#Dnzt1p>2>%xk8 znl%8;I7Ls>&%tn;nZ@-b6Y72Yeq-enrgq&nrZjneCVGk9%g8l0N~uA@9itZ5V0gVD z-olRLLzE>#!$!9W&H?FwlNDX>lP6DbG7}OKU>LeF_I58BO!?=>_I4x^E0vdbcL};E zJxyWf;GkB%a^(u{H+Be+dl!@F6G@iMgaaUv38oZ8)&_`AKEv6qdQT&v(WhZ8M2;M> z2D+W8le4>ZUv!*PQ+IaD#tkAvpoxg=c0upb$D$%4Fbnctw;M9!5C}EoJ0gl#2e=x| zpqn^;PrN}5Co6nE^J8Ly?|4;t`JFY=UW;I_{U4eNW!32Dkw0nRN1OU&Y40Z)+pb314To?%bCS`2sod{{791QLjMX2-rawp@uc- zV~vT(@O#5!BCo-GtxesE-HAwJ4U}Wwc;~iDSzAp_G7|gvOdl5L__1Tkak|(7BKx|v zXFPjpNdE$v%&gb(^L@(GJM9qfU?F>ZuZ&zc7WQ6WPY=Cd6iO@d5IpDCafL7&B+r1* z7vbkuS~7TobdKxd^eQ#9R)2zynEC*)E!%Q!#Vp3o@zTG9v(laILC)X1X z2Wo&rQZ?FoNGXz?wdGi0>c(%ybstiB(5wyYMSD$6?O*k@B*q2j7L+GgVV}w$$aGt` zZvEU-8C2z-udb?U%4bb56^$^kzp%D?IQH@id?#SLff*siJfVN6RuXbQAfO@LpaMN- zOiaw>yKLOt5Br_xZ2O;*LlvucR%I{`D}Mb+y{%w}|J}eq8X@k@w}T06bKpDR)`Gwx zK#fTqv5y&U#^4#kp&d<#JaQ{WOXOBDNC*mABdf@oH#6)w@ zd8lLa)}9U*LAj*vVcU9}tepPL5MmVB808-DOXVt_+BDM6|?wCH~0_@6JqL%o_vHiap~=sHY*pI9K#h3q+#jUfH+z_#E%X}Zqm5~Zrn=hV~h+zoMFaO zW^aQ~vuQ~c4`W=hL*V7%`4q_#CYT;1$(i@6QhB^~(ntTyu!GrbvIr`>+4Z(T=({4LfSEF+3mA6!={+QBha4Xh1mC)#fM+fXk>=DGOVp9z3YR z3i+5KE5RP8vx4OSaR8Lkpl(Nac|^2gIO5%qid^RJ_CnpdDCwx@&p)PQ1KBseR%#Wx zyWQp3PrzjO!t`{AUzyl3UiV%tO(+x8T%1 zLj2a&uEGm}$t@@*;9_9Oz=&MDLKK5g^xs%6xe6v$Fa63%ggp4Ev^4%Gl2n?Tp8j0I zX$J9;ox=t?6#OIMsO9(|7#R;485vz8yc6pD86tqXR%cd9$^^((l&(f7VJI}f%3|Os z8HCJXM;PC$4Z;_k(rMNPlF$@$mU6`5kYd>G-Mi<|2|&y^TuNIxG^+vW$9aAf75#Zw zSp4hP8tUpx%gYbEyeRe^mGQ0JKyX5AbOMc_X#!fLEAcrs@!LtF8*-rRsZ$V)F{=_K z;Y344m40KOy1u@?Ks_TTXE2Z#@^vu1``wJUZ@+EzGNW9KrC&7;ka^%_zbC7Og z9Id}*@`er*vJ7#sK_rpH1KqUr4W`Dx&fjvZlE%0QJL&$i0=FX*EeNDBQKx^5!CVu% ziNrA~a8y@b0#*F|`hRf5^xr3v`IDMlhLEREpAuP>ubxJH0h6(EgOtB{F%0y1B1u(F zZE-lT{%(lm*726(+C6Gwi3~96M$h1nW-TM*81;yWrD2BV0jgoKCmzRyg>$m9*rUV3 z7~FjQ+-kXbcq$DuQm-!VB_}7Bic(UX7XmkSZb?(JU}isDg(S4K1;W1hQG7* zyfozosVIF6#f-^ZYj10#3ee?f}e;Ok7}tWsS|v_o4V5pt#jXij>j{xRK&6vvI2W z+yrmAil|c<6*k@IpYU%V{_o8T|7SD*FGi93#>5DOV&PRP>JuYkJ3M*4dF}U~(w!3) z-m1Ix<^7n{O}|5QOOgS#mUFI^y2)ngAge$_Yi4Rn>ZXg) zL8+S(eBIrj5#P5awY41%@wW7~v}aW4!kbAh9f+fUcX;p1%P_3}yQ2TsT`m8vbq*=RX&o*z_GQz64 zWsZ;e-{q{f?xbacTvzD2_}0&_7MlEno%Dtl7UzhD8KTFJ&muiTOFJqg1lKbi9friA zE-(N7J7=m9Kjmrie(A4?@$1(i=nv3cy`OlWW&Vwogmatc7-tSHgP;!GFB~mItFN zefPeOjdlIiZi0dK->@a7=@zPMYVJeMcVBf@zr-4#1D7&{OZ1Yk)`AX#yEa1fx*@zr zaUxmhZ}BlTQPMrNwS26stU^NB$;ma<)!eABcr%;k#Gr@M>3or}ic3kYfnCRNDb^G0 zRD_^eAV93^CZtFF7yo}bgbKa_ST-ooEIFG}rf6u|9D8+9^!g8ChGvmXk5uXeIKCRv zI0KNPD+sf%)E}ycU*ET50ScpV+u zT)T};Or+gc+AvA?`K)QNtlC2(V`I?qa0rHulTk}L{=DrC2XNkrjd!j9s$*1!gH=RC zL_?z$_9Q?d^n_qk{_})|+l`$xOkl%sM+IO!u-J+B#L{z=3G|f(-ZXxQl|Y_{qQUUMg+t;vV9WN#ZRg=4&@vIvp7m!CO6+!wgfxPA_=t!I z*h9XA34N}t^sHS$TaI3K0Rd&VNOu^Qwe7hlU zQ@C(-Zr=0$GahvGlf05rl%z|}%1T?C=3+N1glnqhy)A9F)msP$Nac6_%LAZ>v2sEd zQ|*M84{#k;5SEZ)413TvAby}};&Z9sV}WWJDz3r1+&eH(DaroMp!GW#@=W8}z{{!^ zFH%ucm-kH%etE&OD!YeOKv>u~WD+LNuk)fOPAG;7oQ`MyHNM>?{)`hzPz5h7A|L>8 z8eAiJ1d~6Yvsj&fjnh-3V_ic>K+J*(nB%o-ibjIrv8B@etjEu9rZVEOP3D*%bG%^%uGbg^dC3-in(J>y1jdQ5M9^_JgH&honFYKAa{WM`xV~$ zT8$jpB;X6DoQ0X$;Y_Y$$AE@gK71HN_cg=wc8E9c{npQyckUNc<)nKT6fmiANkig~ z@dSP8>7^f0SQA#NZJK-Yz;(R3*arG)GJwi6OYhagO4KQYjGQthMNSV+a;(b$+QBI> zUnKb#v&#@J@7=wNvC6U0oT2`HL2#jqi-sA`C9Rq+qR$v+-A1UDN2}&6LU#Fw_UX|V zH=HCQS89>yD>wq=+KR=51c#H!317nu?%wO`?L7+J1{w_t7_UxVdO`v`1`1;3p$ zZjuJy@( zw(Yy_$UF%TKlhMk$G9>zKR>@`dm}o=`t@Cuub7e^c=t~|=QwnTl<)tP(S&YCO@Bkr z7w$NABmzJ7WQG}Oc{7Go@>;8JfL_t$lryklAjuR=Pz}(IYF>eFPrc+{h?|;)Dcy~E z`SN9a{F(33D5ini(u`{EMT~zQM#zuk_M<0TZV-K%jc7*Rmo%wkSk7|adkrBtI;$?*c zR3xVrvWXNUL(UO!7T_7Z@zKw0w*5VKT494vdqvSIk_J5?tCJX9s%$_vtf)KaIVd_9 zwOMkDv$U^6OA;N;8k(qCNA6kono7CUebsvy#&3|h$mN|Y_&w?hXm)D~#*YOtMZQVf5EUM6dOqHc4H5T z(U4$D;mN7$+eI%xT(kQd1Gj@8wOV#(t@Ny~g^ZoN0?F*^RTX&KBt08YXE85?COLqI zKR|A6Ty(lX7zgco6AvjrsZF0Be9Lco^(~G2;yf2ccuf zz;^Lqj9QKzM%ZvM2X3AdP=0Vh0Jv@_=~#cj2;My=Mn>}Nfp~HeuXavNON)AtBb=1T zr)_&sCZMUHq-@@J2mVFOqiEi^^Cl%_bu=lhjg|?h57vC}tH{mxa6F19t@sy1F5iSY zDlMcoF!dT-yBQc63kwR=H8g;1w~&!7EiK_e7OrqPBo`CsAmm_5?$0AjFy=~Rh3IE? z`m|?8#x%yD@+deHNzc`pI%kc%ZfPm8`h+2AvOCML8CS^UQ_-4T+zWG zMnDMEAJl_Q7xL=`zCY{OY1P3&;{yVsNi(RbPhLM0PemyMgS4SU3ya@ zKGNBJ`>kK~(wAnAmv1DGl4f(hY$^H06W@9=axU=|yZj7z>0n=N+T70Y`b{x4#+i+u zjYWo2$;-ag9={uteFE$=A{O)K{UgG?+>d$*5oOYcy6^8R-;kx=dBa8)KhfzQ480eV z9dKv{mi-$Je^X=U$~Mt3-=g~pcql~@`Ja>8J9xINL1)|FQ3BIro0)3gSqei1IQi3? z^z1bNp?Brn2Tdj914|YM88tNiyr?YYF7;pchRpQ8m)`zC{m-&e$=3Vlg@lJ^%l;;V z-Tt@#I$OAyH~eioFG_6u+tt5x-2DH*8$HDmCRq@|5KaMhd-K(k)RLNIy#bNpk0fSf zX;~ovF!-KCp8pswHzc|HRIo2tSY^X$_j_>>5UCYPb3yPJ$?q)4(BMs;y@+pBH8c=( z1qDyW@YF2W@yHK8I&;+`NpVeI=5=G}c}|Vi8~f3|qA@vmzj2*B3tI7---|+%MAbyh zNgX7rsRik!-HLuN7^9w)t!0I9N317VvXxjQw6(G8YU3OHTSQ zxj>RR;~)`_A{tAsy>b-8(WGm01n_WiAwQ^PUq zmz!|t=)Wh){g+$Om{&k}sTLlFmX$(!%vxo!L!trx@9wY6U+ktdw`%(pF<+v$v? zw)y>^mMxbU$}_WD;vF0|WNT$qH`8^tJt7{wuWeC0mUG=5AHh30V2UajiL|*)V^5;h!0)UgPF(n;zp`=y=pIS$1}r&%dh8GuFfu@2F^TV%^m{<+Ifr~5QQ=t{S0Z?wk(*IqidWvK(>3M*UnNIu| z8WI7rS)MFRLmiRzhW3cglQcq!Zs7W@Te*TqxVgWM*qdjIfs{3>{*19tMM>9+uY46E zf9^TqwfcTrOuqew^U*we$xoy^{R^)uw;Col?d`J^mytxbA4D6L!lGrS{x4x)h+c-W1~8&!1FIDx{IQ<&I86Ax4dgKDT&N{+onRPXcJ zL6iKVD1DMUmydg-P zOnw^Dg4#R98|H$7{9_tuxcL${cQ0jN)X;c)+s7~^P;pTJMcN=Fe zf(Mk{7SkY#@I@WQ*bQdlQIj!KJv2CY1W$sorl+F=`ap`lj;%o}H1^i-Odm8KPbz)Hu zTr;XYdq~DA+z~2)lW+MI%>sKf1%+y~+z3=28z_n`WAn1!fa+*GNmLPrAGb}<)=8Jb zPKHLQ6MLbf6Vdq_Zc~KrHj-~u;%C_=T*1QhG_~wF@B{Qw1Te^ynf@5_>;iBFc z!AFW^(})U`Fbwlgr4~-Uoos1rY+PC$ohPwYCooD6%nbGPMlKEsOs}L?6;@f&B3JV% za*`eb^%Q~#o>lndNqylh8~MQdRM2S<&LhZA#~n25j1i!8kI7z(x|-p+b@*5`w^eZR z^1V_+iBeE_i0anfb>-*^R_j++_stHgFOqNBTPX=5yF^5Ckt_CyKBRSdqnfNu*&EL) zA85C5YHjlth8VT2OhEU`V1DMDS26T}$1E_>(A=one`^lQjH|vec_jrIEIs{VAp3*5 z%$-c4^~SzYQ9XEm0GdR^)RlHF${s3N(rg%{{Txe{qgTpc8$-K`$Ji#+u`Jst>M{M_-(8843WunR&n-L+$fR*_@IJlA%3*5RiU)_*W>sov2j!ueEw z?WCrEuPCgIRIGUDV4(H3gMtjTcqZlj7jVR*&FXMpMv5Ol>q{u(`#95kE%Qe(IYD+? zkitOcYQ3efh|{sM6w*536zOLeR)Uhk1Bsr%J&BGZJiHJlcpOP^yh;(G4NEMp{W=GD zd28GQ$=gAKBMRU*(@|IFT&GpXlRl{4Ek!L1`1jyMEO+#*8E3kn*kGv!UK=Mfo<%0D zs_GC7UJlu6|IvM+uxI;0%Z-l#iqZY}Gm0ExXMZ2BJ+|$DxcD+@zTk~2LP~i31IFzp zM@Gy983vBVVGbQ7MAjR0bMy6cRyc(1H8Ydeg%iTz6ELg6UJBUzRtjPuovb%99{A$c zhC_eq12R38ERa|w+yzxt5W-oc-6g%ee0~B8 zPjTPZeO;f==RD8jIL_lND@!ry&K8cy9@+D+;xu1hj&I5m&S=H~~a&+xB7QaW6TNo=}fF z6<>W%X^Qd+FG1e;{p)}JF$$8g9jq((&QfkSbW!0LCj+^zx&xtZ__Q>fNhXOj6Byt&N2e8LxX$JF?;bX&g7OAIMf;(^LA$sZ=!0oQ_EInNrAtYO^J9*F~N(+)@e`!Fq(zZr`l7)RH zt>L1QB^6XvvqGGugVOQF=srE(fOZy11zck6n)uDieJSD3irrM@o4q=VJM!@)26ebV z6enG}F|9e~Wz?b(P4D(O9+|#qi*Y57kF_CmJ1EW+%HuUdy<|}a>U!$OzIZi+#N%pL zd4xI&zN35g2tOBlerl)}2YcO@Q4Ra%bC$`eOxk>BhFCUj6xf=ePU+%i12^a~xE0)T zjb0PkZaOWj6f}3ino~$^^}5P8la?;kuu68j@1)W6<456aDHn|+m1_6SCZSxpbhFV| zOsZF}6^FXzTvpok^P2xOTiZ$sa|M5Cl8&ULq#N;9`%KNb+3SMNvnqg8I%jOvWKe}T zm!-d|+5?kNv}Bln0qGgJGj3edcT3B=>^pIC62>wew9oW5 zuva?_&XpT~U2!I@V+MhwT`4_V+p@0ZUU}~Kn%v}HqNH^B!}JivA9sI(Ppuqa?Fw-rK;F#<*A5&bOq4Ee#%0Z6ZH6LeWfOrkO*@yG-_3K4uX5NU#$%xQ37N@P-QTmckH3;Of z{6gMY7tW(4BW(au;$)pS`Nx^c4rw=JK5!F=H!CN(faKuMQbu_GA_U~R8-v(Vp${A% zzWs@b*uDb^@q>~=jvl>%HU{J6jGMzl1&KZ@J52E%xom=-hj7gLnJ*iCY}-)!bUCUC z1JtYaU%!6+@@0Z_kMQYApuK=~A8TqH*9=DfA|*w?QGLP6J=2VgC{9TaH$Hwud>gau zGD1&VP6#}xs6lygn5c{$tLIh`SnnO_c1_izI)`o_LY};i&JBdWh=`puylV2^2lTg! z+v0TQ>N`aMw$&O(pa5brLT84oZ+f3J7^@z!&-rQ1xv$(VNUZKP0J?>wi}Irm-)C?- z4y($F3h5vtY+mSS>LIOq>$%&#Kq(Fg)+#B@EA&r1M?_c<<+F#sKwtNAGY5B}kp5D* zz^V*aR3z(LVq!vP0iaRMGa5KZJua5j^UZ{U3d=2cbkf&^!lOryn46hhFpb9FD?26M zp%v>W*_y-Bz7Xx`dXi(8v*hK=mt?=(%+A}UTr@@fh(62)ye>~po>}-PP5mlQzX)V88w%t~R@!n{hO-Toq%6-8t z`CE0ausCt#p%5bckRG0ZI;wX{@4U^1#~Gri+gKGLlj$L!jXe5jcz7O31|8YOX_xTf zL1u)I9cJu;$<@279coNN&On#|X#%h%f~B)==v782k1O#0xAk%JqfEY)xX(k$1#)6_ zi9PY$UJa0vz&%)N{dwE1jl)029nZuCmW+QR5oX)%`OqAL22F-{Lg!0iqYIsjyoY7x zmf`0ox@a1`FbV{P#yP7?J$sPOxt5bgx?D5;Tl{T5~XEybZv!4qKt9mLSSIGj80kY&HnjTzH2cl-nkc( z;-eL3vX$4??ea4>WQRpmK6-WzY*@Wa9xb+qRw>lb%(g<<-mIfs%hcmP6{wRBH3~h; zYt=2|wWu{`%JLV} z^q2e%=Bd#j%@1a0mYC)Cr=M?{R!j`ZXXo#9TFW9&BUl13v#BZhnq%Y zPloBZyN7%}$b<`iB$EHIJ1<_;pv|AHjr5Rm2k7n?OESo4sLZ-k8YhSq^mjaezHmu@ zw}GU9pnCHD+4fFr6Cbs7uUfAa`lzDXEcW%sj~`J=_`5dx{)OvBZd$zix7lIFeWj&G z`jg#0uc@E=HEVN@L!xOklMbR{V%B@8Hh_g?}+5ZFE@+R z`N7*|{BhQ!d1Qd(;XJb=CnUGT#-7rcv#j_+#eg}vi)(&PQKFhD*$-&l`r!W`2Z{gh zSgxl;m>hit)dK4Kr{n|K@L(8A!T89ydfl~6Lz_AZ-@W7?F-?mh6DN9M8;0|Xj@O5y znX|}D>1@G@rviy7YTyz6s)uINv}6!SY}8&CL*WdsshN6RH}ui|u&~PYJ0!~H4lNtn zdNX-~uA@WT#e<9>4Q*0&Da+W}H!%DmF|bBfjkk@wA%F-q3wSph;O)J5)G14sEu$~D zubfN;w570g?vxiA7X?lTxqWO?vV0TN^9dZb$cr?RMzsPZhJ# zI3k=+;<6fI@-zoeq8ACcb4`g!yXiw6ot4@!KfgEnw_dfcd;6o<`T88O1!iU`s~&}b zTP0t=uJ`#~Z_qE)5odg+Bl?J z*RE+o(@>=$cvufm`EJ7h1$Y)(tkYDRfEJCATT3x_H1@%p_nIZ=^J{$R_a#%}WH~mM zWRWXJn?lnFj*~7MLR!~%QlIw0;poix=>SQhITh~)nhwYUNph?B^18eA6Xys;8k(d zdtJEil@!7pm(jV~w{Pc{>4m99h6F~9PT^fae8i%2gM~%l>aI|3zed1)49@3PLvstA z*+fq|3e4h`|7H7J+!3-?Lner>FjRJNPJ&jQRvJ2k$s+BZ9v!8(Wg#tah^!H~j{!^q zR|H-$2t?5aUnzf&EaxLSBfanC+W=Ax0{Jnaq$iQ1ML`ZX`;zxSG(cRS8+*uF%8_L!jh8d`+T$2`XpJ1CJvYxa`gJ(_Vzt^ zn8Wpg1;Z?oHu-x%UMT791{m4gebwg_a>$H_4{=UvLNui^xD+2U?mmSvU_E^jsF-Xf zg-a@cK2M(f^7-8p&0o*4?SZm*Eo~o+*u0xOzYvpeo^7wj$Qb(z-f|zTiq+23Wqf6l zERzMW9{{A-H+^4$rmrw5L(e76hb70qG!(ZhH+@}GQ`~;~tABw-ah*c!%ZD4?%6?vv zb-T1Qm43AsFWiwKBu2{Kp`nlTnTN1X@!if5$KwVZJZTz@LJ=`MiE@RCnO zewD*3qRoJ>kmo1wuSt93h7B7^>zC@ydVbQoTCd%XTIzZp6VHDP<$F}rzMdoe? zk%K4HUsfJZZkyq2%guQS^9qR%5RZj>4izAW*^vc(8*Kc0*XOM68pax;*1U4^TpnRgGvJ~Rkw(JdM zhe6=UlS4AXsbf9CH^>EnbuEx}K(2!i(b_Q)TicAco0|&tkDY(Jz1?&?(Gh5T_4WbD zr;Q`x^l1p7%0rq|V7_z@)4Sai@dqj?ru~)*(INVx#D@^+xjd1PAKgy%&9pSGL(ze^jQQn`$-{XGXt7Gfa7D@iwCTIujX**O2yv z3GTTU78?YzJI(W707Z%M!+Iq&a3b!Sje;yW8Sle%(;9lbq;&lNe_ zc9c_jyhY+~l#%letIZVqOx|4_uiWCbi!479TB-Sh!alP|GTj4Z8Q4SoEpHhq`J4h?s?Jn@1xVfF(}`3 z=-Yd_0bp97u8<0Pm3rjEwTyL{J$J59vDKdfy9b~Luu_`&+~-^AYRf%y3>LI_S10@L zQk)5M)5k#YTnzt99^A{PGHgjjl)m)M)=(AqKu%5tjkMwM_&d!*8|gEqehZ^myxCCX z2;O)+EiLW5t?^U*h>-5Qo*pds1H?xN-*k!r>9a9uCQB&%S-!2Onc3s(dJP3Dv4wfG za*uAmL4&L;Ed_ujp^&pAfsrX0Ij7(Z3OK{5Z;=9`YItJjPB6fp#O$JQ=tHSEm)Z=i ziF(#ci8yU>dDTql6a1y<*`bk#7YcPVE2}LP52c2ew?5K>q2>0I>N?7WC>Cx$-rwNb z_3LS0pU48XG&k zWNz{@N>jy|bP^->Z3LL{1(qNU<4EwqTN#X1DYr%ZB}+_POia_G+5{o7PH+V9CeygQ z%m3=4?CvYmV|#keYu9f@jY1GJyNDU~4LYGI`}t5iG_lKXi8el6@H=s@omm$XbSo33 z@5AK3Euyj6a~QYDC=@rLF>xyv<4NM4aZjk9n}aIjcZs7dY2Ts4YDKO1(W1&_VVe_L zd=giLJz5pgU(IP`Yavlw(YIZa*qgR{^#3A##{aU^`~Meu{C`2{k$Gsa?JwWHS~I&Q zS(Kl>C-%Qn3iQ8hsr`4p(ftk71{{%i6}$@9tD?R;`ZDQwr-^U$TMsIG3roK{@KsPA z3BjGo^)|c;=zsX!8B{~Wp59(t-a#DE}J+5SJ=5^ON z{7&2Ma1oQgV)h<|+0o*pDgXMkH?2R+2nFX?uTvDu?R(ts+X@iPS2J=|+x;^+^?17- zg-)2D6+w|Yo^#BU55ziI~QPK^2Se^WQK>OoRC9BC*)`muo|qeNfA6gNP|r34h`uZ zg2068CqNRW0?{wIH0knu+)w@HiUc1`i{eQEbTba7Wu5}%lcW5`g0~R`_0&}7Ax=(c+B6q$e#KuZcZ=|7h=^$YH z_xHJII@;H9{Gpc+g=kQ)eLyHdo-r##(H}GM(#y89NUkdF+R8tJK*81PuP%e68Tf#z zO>zaS2xQj0S+fYlNlz+?sXwrbvt6|cPecrk7j2nw=Je?mq#N*<7FV4L$(`vnaY`8o zb&tz0H$2nMoy?$eG37wbt6rH4;_i0nDvy+pxtM)=_a3@rw7;r!5A+XnSScVUAjoUy zZb0`ZcfCLwV4B`>abK&3iloly4}kny>$}f1&#V~hoGfx4AEG$PORr;=bVoVyA$p!R z;|~pDdS%lR98-kOgs^Jgv+9%n&xE~l8M+y|r#g4)q+)fWpscLya%q0P7Yc%Km&&&* z{3Sste5y|EP%Z`@ze(QDGQV*{XO@+4pMl=NCzytmRa$EKvWnh)MA##`12oXf5%#ThVZ{DP<^cVR{Duq2xZnEjFn0;%`Zoi0j6@GX5TCW2AfJDrni^~H^2T1-y zvCp!V*fd&Mx#Y^4P{|eW%6T?Z);VW487=*l362m)ehTQk;h(OvQsf~w zfi)mus3r4C9TJOJ7)25ezY1owUTr@rp4s!}r2#=f7~F`kxM6hHqc!ipCNa2=tbX%I zK#i|m25l(cE+oK0PdscKOcEyX=OGJt@4Rh&a5bSFw~+qtjL?CJ`yObPK$K~$lrx?+ z%R}oJd9Bv^y-5%UCsR_2o;`EH)Vtx=!#xE{xAy$;UI4R-i?3gu=%{pg8KJO z$xW3B^*YN_U)PwD&ucZmWyx`0{xC!4le@Tsu zC{4w;oxEOdJeTP?Ne1Qdw#s&T$@8||jzdaRD=e; z{gkt6>iLH~OvT)_tM1#k1FQd`Z@d|HrE<;uwX|x^f$-e2Nf5oJS#EIZb!$$#z1ri5 zS27o-_&R8NWh{;|0a$Y$4h)psgzUJZoZkyE&FWdruCWWFD%NPb%(!Sumzq%AK}4Z1 zA`^f56I^@9ceJ6%R9g&-w)8Hw0vq-K}@!*F}8pw0I%R|1!e9L_NxRIU# ze@WQP9>uLP=Yk>S=PxyOk)xwVFt&L7__EWuL$eXY0j@y>0qmW)vB0Xc2j2~DEdEKO z>9S?X$mePXs5xjm!~9b>WX=NU=x2cHs0BSDV@DG`Uh}BwRn0qVzT?@sKr>T~HNjio z_f(v@koO6YEZh7g$o9%Z3T|uk{~JH_+V0Z&HEYLpnVt$7`f$R0qf3td}~Sg+qpv^RRFctJ4ey zB*)gbif|Km+-p%pHmzQ++#4PPusOS#*5_m_&v_7QmlfVyuG*(xKjV;9Y0iOn|LTS6 z6w4Db4_=R-JV7oPg1Z}@lW=oHW9N+aBg387h6JSaEUM^~pC=5_Ma?>H9PT!M^Tg<1 zJjAL-x>Yf0`hYe@BW}d9ie(_>a$Qf9}CJh1Po8-2N)u^kh zizV40)CdB-uhX;s-Hj>g6RVu6)(eJuE$>}?ufGn~Mm_QR&6_-e1q6K>;~|Ca?na$5 zSD}M`zd#04^<&UajtK_Y1hV2u<4fbw(~TCrGX1BU_@%_`>QB}h8++$JPI>y%nS_=} z#Xake&BwfR%i#Dqf9gNh=G}q}Dl4-Vvr&^VH(y)V(w@G8RpXQCK49WCdptR1m-n*1 zV>uYVdZ!BQ6lNFm91>ACkOjxaR%(HFgLD{(rCQO$Q(5g63s4=MZC~3`=c)1^U^;jD z)clCfnj}b6Zay_Xg{WPpK4($*b@X8`0g-O9$x$XgJvi>}J7==C8c;^F7NdvHp0ywY z<<9TG&3(&Zf3yH8>P*(S>H{ew%+;w$i>YmS>`mcD>hADELtA?jXeM|37tr6? zxyQ_=+jy*hdGN5~N>yp90H-bOkdCw&hHn$Rdr*uBntZh@#VPO#I$xel;8Rc47weGW z5S;aJVSEc$1|t`<@|#_XV)f3p{+O)gWgvCT7<%>bV+%@``e5x3=VM|@&~=hzJhA(N zT!GxEghtwATLe7xV`G1&v$jZ0{vPMhgCN<}?;wNkrU+BC<{lc4@CvUVOl29HBy5PXa>$ut&FHDHH=U zxo@JP6YMK5Uv{G>3zZL=53lcAYN}Yt`7KTdXP>3qL2GqCJ-vZp&vXx<@fkhZk=2j0 z4dYJ(8KgaL-beVP-fxpN=IPeww5s%38t82qftpt6G?|87Zo~pwz4FWv9e+)ibdXed%Q|FeypPJ5 zF*$<&y8SM0!cXUj(7BVftalrbFXxAJcUC5xpTWs=zOhXORmhmZb{c-A1An zE79M!anmLNeGK1o`7)Qh?B!*ea7Q#+03nlIE6!w0N8H?Qt9-H3ten@>(wLt{dHd^w zL!vh+vBw!%1F@MQbgr-dqPk%7=AT3N=qUI`uhIiW$r#sUO zXb>p8)tv8VzMwT7;rkg;cF~Ok+=eY^0fmMSnOPHLGuO>j6KmJn;C1pgJ+v+xHH9Yh z_bhcOgP**&_^|^Qu-h^8@?BT7RCA8fGG0CT@m~3?ucHj9--(I^1E6*OV@;|0C5`hz$DMay3#Te@Z3M9KT!@J%3KxU3jR+?xF|x?pdU)e`IrnuB;z_ zQ;i9ts2fVYdt-|c*VecSnHwZ6iUcOC=4AvdRFrakp1wD!yF=BysMqa$hNXiBVj;eUq=FvL&|Dy&b4_PbSc@Hui4yv z?2Y-~jIB6j#oy=2XUJY!sWd-h7JI#+-Sq$DQxeTeuME_%k96H};zwmbP>tzyS$b~e z4M~lDc{y#)^jHd8FyWcbP=Rx1c25zx52pzx7nPmLz0d)#ekvz#xJdUK%)65By1R=M zg;KlWlE#l=+4Fy=7x@XBH&~^tkFqt|J$wlppm>(s6`N5JlMg4pq1AY?m=rToSkVx& zMG~bZ%FMO@)TgUF-|BEf)ts#}jamta*wu$l)RER@dhORbTe067=;WfWOXd=HPtOK` zlK@E?EaK+TwEzv+t#A5B2l9DVS7G@Hb z+QXyk)j|9|2W)rwt57*(-{-}&iZ!e#0PCzn*-GZ|E2b^#pW9JL8LE3Z0Y7MB4k`9I zd-~vC7{_>dOp?&_8mD#wTK&iP8t^ixQwuJK)ZyaVhu`#CemrZF5I)uZ*h5z1Np7WP zR?(OV@`m7bRJW8^FfH^lKCfQdTonJLemR?tUI1SVbXe|a9~Vr}jTD$$REGdT#ZJ~d z{-5_@#B0iqwBFpM!|!NvGX9Fz`}t|=+7pYM3*6UoF2j23tu4GPXp>Q*`oNDk$p}47 zZneGo_kUaWPD5@5rU$%E7Lr0gvW8mB&3i+Z9@527d1>5oNPCH5ImW|`Yk7)%1Uon; zO1h-3={Hr={EPTABhu^2tS_+SNgM4d=%Z&YP1MEXjYr=W;p1c7{LjAW zgMQHZ5@RjQtV6r3;*Yu!vdGc?naZ}dHbg(W{xUK}xSeu55M04|>VYB#jb_@m9+XY; z921iq;t`q;dgg@YVC(>>#dtZY9R};m7Xxts4Myu$hg={(f)v*oHK9{HBgaUXJ{4?J20*xJG)MeR0x z&fzOeNqzg&eJxt<@d!c4b8x(T$&a&Rz9T|MfsGr}HRg+M?0Zlc>I||Xt~E_%`|kv# zmk=9`no`Nff^QU)yINvP$%VF##7#!Ql2+Y~?h{X2hLxYq-)3S9^YJYtea zI9h6~TN+=SXs$3k(R%H|C~)Y++Oo8=<*G}Q&@_-FO<~aCUB8IQy7@M^m4+xXIfhB^ zs9f-c9-DOI%)+SSJ`IHv834Nd*fnE!-P3OT*tz507ibv3xAYrL^b9RO@=jk^A);xB z#%tN4^i=gnQcW9~c>;~u=vswt9BNn;G90iVq@*h(_CBEOSbZL37aklRuDt9rc>v0G zX4j-#zrG_N05vea{uGRB=6-u;m^o2Lmft3rH#2UN8&Sh^Mka;5GeQjBjtpjzN1sK{ zzSQnDj%?&-gfR#FhsRG(E-$Zl&us~#0@X_Fm&q~j?wBJMOkWvBvLrVwP4j1J%)(}1 zlPF{A95N+ydM#0xPXK%|>f4Hw*-Jqqx?St>U}{g@uQV;?#tWKta$T4FhH4@v&)n^9 z#HNiKVG(f&T2?=*e*3V(rVQ)mI*OP`;GFrHmt~I&O;-d@%KrT3NI>%3__@ZVy7>)v z6RW6Few~=QreavOzl{3Um3-0Rp;4Tm8a09i#`L)pfy*jvyOZ9N1UpRF(|TDV{ZM

How to apply EUCAST rules

Matthijs S. Berends

-

23 June 2019

+

01 July 2019

diff --git a/docs/articles/MDR.html b/docs/articles/MDR.html index 2db12903..f59d29b5 100644 --- a/docs/articles/MDR.html +++ b/docs/articles/MDR.html @@ -40,7 +40,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 @@ -192,7 +192,7 @@

How to determine multi-drug resistance (MDR)

Matthijs S. Berends

-

23 June 2019

+

01 July 2019

@@ -235,18 +235,18 @@

The data set looks like this now:

We can now add the interpretation of MDR-TB to our data set:

my_TB_data$mdr <- mdr_tb(my_TB_data)
@@ -277,40 +277,40 @@ Unique: 5

1 Mono-resistance -3,206 -64.1% -3,206 -64.1% +3,222 +64.4% +3,222 +64.4% 2 Negative -689 -13.8% -3,895 -77.9% +659 +13.2% +3,881 +77.6% 3 Multidrug resistance -578 -11.6% -4,473 -89.5% +589 +11.8% +4,470 +89.4% 4 Poly-resistance -299 -6.0% -4,772 -95.4% +313 +6.3% +4,783 +95.7% 5 Extensive drug resistance -228 -4.6% +217 +4.3% 5,000 100.0% diff --git a/docs/articles/SPSS.html b/docs/articles/SPSS.html index bbbf6767..35c47c15 100644 --- a/docs/articles/SPSS.html +++ b/docs/articles/SPSS.html @@ -40,7 +40,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005
@@ -192,7 +192,7 @@

How to import data from SPSS / SAS / Stata

Matthijs S. Berends

-

23 June 2019

+

01 July 2019

@@ -274,8 +274,7 @@ # [7] "Flucloxacillin" "Flucloxacilline" "Flucloxacillinum" # [10] "Fluorochloroxacillin" ab_atc("floxapen") -# Class 'atc' -# [1] J01CF05
+# [1] "J01CF05"

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⩔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�=}NfaZp4jOIb6umZEb^WWG_1Ybn9uL$w=DcZ# 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 z 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 ps!ok~K+M*zp_ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 @@ -192,7 +192,7 @@

diff --git a/docs/articles/WHONET.html b/docs/articles/WHONET.html index 94c2e162..e4e054b8 100644 --- a/docs/articles/WHONET.html +++ b/docs/articles/WHONET.html @@ -40,7 +40,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005

@@ -192,7 +192,7 @@

How to work with WHONET data

Matthijs S. Berends

-

23 June 2019

+

01 July 2019

diff --git a/docs/articles/benchmarks.html b/docs/articles/benchmarks.html index 37b86f5a..d950825d 100644 --- a/docs/articles/benchmarks.html +++ b/docs/articles/benchmarks.html @@ -40,7 +40,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 @@ -192,7 +192,7 @@

Benchmarks

Matthijs S. Berends

-

23 June 2019

+

01 July 2019

@@ -217,14 +217,14 @@ times = 10) print(S.aureus, unit = "ms", signif = 2) # Unit: milliseconds -# expr min lq mean median uq max neval -# as.mo("sau") 17.0 18.0 22.0 18.0 18.0 61.0 10 -# as.mo("stau") 66.0 66.0 75.0 66.0 68.0 110.0 10 -# as.mo("staaur") 17.0 18.0 18.0 18.0 18.0 18.0 10 -# as.mo("STAAUR") 18.0 18.0 32.0 18.0 54.0 80.0 10 -# as.mo("S. aureus") 52.0 53.0 57.0 53.0 53.0 96.0 10 -# as.mo("S. aureus") 52.0 53.0 78.0 53.0 110.0 150.0 10 -# as.mo("Staphylococcus aureus") 8.1 8.1 8.2 8.2 8.2 8.3 10 +# expr min lq mean median uq max neval +# as.mo("sau") 18.0 18.0 22 18.0 18.0 61 10 +# as.mo("stau") 65.0 65.0 70 66.0 66.0 110 10 +# as.mo("staaur") 18.0 18.0 33 18.0 62.0 81 10 +# as.mo("STAAUR") 18.0 18.0 18 18.0 18.0 19 10 +# as.mo("S. aureus") 52.0 52.0 61 52.0 53.0 97 10 +# as.mo("S. aureus") 52.0 52.0 71 53.0 97.0 150 10 +# as.mo("Staphylococcus aureus") 8.1 8.1 14 8.1 8.2 63 10

In the table above, all measurements are shown in milliseconds (thousands of seconds). A value of 5 milliseconds means it can determine 200 input values per second. It case of 100 milliseconds, this is only 10 input values per second. The second input is the only one that has to be looked up thoroughly. All the others are known codes (the first one is a WHONET code) or common laboratory codes, or common full organism names like the last one. Full organism names are always preferred.

To achieve this speed, the as.mo function also takes into account the prevalence of human pathogenic microorganisms. The downside is of course that less prevalent microorganisms will be determined less fast. See this example for the ID of Thermus islandicus (B_THERMS_ISL), a bug probably never found before in humans:

+# as.mo("THEISL") 390 390 410 400 440 440 10 +# as.mo("T. islandicus") 210 210 230 220 250 270 10 +# as.mo("T. islandicus") 210 210 240 260 260 280 10 +# as.mo("Thermus islandicus") 72 72 92 73 120 130 10

That takes 6.8 times as much time on average. A value of 100 milliseconds means it can only determine ~10 different input values per second. We can conclude that looking up arbitrary codes of less prevalent microorganisms is the worst way to go, in terms of calculation performance. Full names (like Thermus islandicus) are almost fast - these are the most probable input from most data sets.

In the figure below, we compare Escherichia coli (which is very common) with Prevotella brevis (which is moderately common) and with Thermus islandicus (which is very uncommon):

par(mar = c(5, 16, 4, 2)) # set more space for left margin text (16)
@@ -287,8 +287,8 @@
 print(run_it, unit = "ms", signif = 3)
 # Unit: milliseconds
 #            expr  min   lq mean median   uq  max neval
-#  mo_fullname(x) 1120 1140 1190   1180 1210 1260    10
-

So transforming 500,000 values (!!) of 50 unique values only takes 1.18 seconds (1182 ms). You only lose time on your unique input values.

+# mo_fullname(x) 1050 1050 1100 1090 1120 1230 10 +

So transforming 500,000 values (!!) of 50 unique values only takes 1.09 seconds (1092 ms). You only lose time on your unique input values.

-

So going from mo_fullname("Staphylococcus aureus") to "Staphylococcus aureus" takes 0.0017 seconds - it doesn’t even start calculating if the result would be the same as the expected resulting value. That goes for all helper functions:

+# expr min lq mean median uq max neval +# A 13.00 13.20 13.60 13.60 14.00 14.40 10 +# B 49.40 50.00 57.50 51.90 52.40 103.00 10 +# C 1.52 1.72 1.81 1.78 1.98 1.99 10 +

So going from mo_fullname("Staphylococcus aureus") to "Staphylococcus aureus" takes 0.0018 seconds - it doesn’t even start calculating if the result would be the same as the expected resulting value. That goes for all helper functions:

+# A 0.612 0.623 0.685 0.653 0.789 0.814 10 +# B 0.556 0.575 0.680 0.671 0.689 0.958 10 +# C 1.520 1.710 1.800 1.820 1.950 1.970 10 +# D 0.547 0.665 0.723 0.688 0.811 0.997 10 +# E 0.490 0.541 0.633 0.629 0.748 0.756 10 +# F 0.482 0.569 0.612 0.590 0.663 0.756 10 +# G 0.551 0.558 0.601 0.586 0.632 0.735 10 +# H 0.494 0.564 0.595 0.575 0.608 0.757 10

Of course, when running mo_phylum("Firmicutes") the function has zero knowledge about the actual microorganism, namely S. aureus. But since the result would be "Firmicutes" too, there is no point in calculating the result. And because this package ‘knows’ all phyla of all known bacteria (according to the Catalogue of Life), it can just return the initial value immediately.

+# en 43.00 43.12 45.51 44.82 44.89 56.61 10 +# de 46.47 46.99 52.11 47.57 48.11 93.77 10 +# nl 60.86 62.72 67.57 63.69 63.99 108.20 10 +# es 45.74 46.05 52.37 46.42 47.98 103.00 10 +# it 45.84 45.89 51.90 47.66 47.73 94.83 10 +# fr 45.97 46.92 47.44 47.76 47.86 48.49 10 +# pt 45.93 46.77 47.36 47.77 47.93 48.12 10

Currently supported are German, Dutch, Spanish, Italian, French and Portuguese.

diff --git a/docs/articles/benchmarks_files/figure-html/unnamed-chunk-5-1.png b/docs/articles/benchmarks_files/figure-html/unnamed-chunk-5-1.png index b92bce596892f1480a5cbbe4d68964a3682be908..e79a5f73bbeed6cb6314f396fcf77327828a0249 100644 GIT binary patch literal 26580 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 G4fr402>y}) diff --git a/docs/articles/freq.html b/docs/articles/freq.html index 76f11103..3da235d3 100644 --- a/docs/articles/freq.html +++ b/docs/articles/freq.html @@ -40,7 +40,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 @@ -192,7 +192,7 @@

How to create frequency tables

Matthijs S. Berends

-

23 June 2019

+

01 July 2019

diff --git a/docs/articles/index.html b/docs/articles/index.html index ff3cfa46..5e1c1d91 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -78,7 +78,7 @@ AMR (for R) - 0.7.1.9004 + 0.7.1.9005 diff --git a/docs/articles/resistance_predict.html b/docs/articles/resistance_predict.html index 9046de87..43c05208 100644 --- a/docs/articles/resistance_predict.html +++ b/docs/articles/resistance_predict.html @@ -40,7 +40,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 @@ -192,7 +192,7 @@

How to predict antimicrobial resistance

Matthijs S. Berends

-

23 June 2019

+

01 July 2019

diff --git a/docs/authors.html b/docs/authors.html index c79f7acc..bbdaf4b9 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -78,7 +78,7 @@ AMR (for R) - 0.7.1.9004 + 0.7.1.9005 diff --git a/docs/index.html b/docs/index.html index d1b07f56..88449734 100644 --- a/docs/index.html +++ b/docs/index.html @@ -42,7 +42,7 @@ AMR (for R) - 0.7.1.9004 + 0.7.1.9005 diff --git a/docs/news/index.html b/docs/news/index.html index 139669cb..132adec3 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -78,7 +78,7 @@ AMR (for R) - 0.7.1.9004 + 0.7.1.9005 @@ -232,10 +232,43 @@ -
+

-AMR 0.7.1.9004 Unreleased +AMR 0.7.1.9005 Unreleased

+
+

+New

+ +

Changed

@@ -246,7 +279,7 @@
  • Fix and speed improvement for mo_shortname()
  • Fix for as.mo() where misspelled input would not be understood
  • -
  • Fix for also_single_tested parameter in count_* functions
  • +
  • Fix for using mo_* functions where the coercion uncertainties and failures would not be available through mo_uncertainties() and mo_failures() anymore
  • @@ -254,20 +287,20 @@

    AMR 0.7.1 2019-06-23

    -
    +

    -New

    +New

    All these lead to the microbial ID of E. coli:

    - +
  • Function mo_info() as an analogy to ab_info(). The mo_info() prints a list with the full taxonomy, authors, and the URL to the online database of a microorganism
  • Function mo_synonyms() to get all previously accepted taxonomic names of a microorganism

  • @@ -335,9 +368,9 @@

    AMR 0.7.0 2019-06-03

    -
    +

    -New

    +New
    + @@ -452,9 +485,9 @@ Please +

    -New

    +New
    diff --git a/docs/reference/as.ab.html b/docs/reference/as.ab.html index 0f35c0e8..b2fb70b5 100644 --- a/docs/reference/as.ab.html +++ b/docs/reference/as.ab.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005
    diff --git a/docs/reference/as.disk.html b/docs/reference/as.disk.html index d9698d72..b2aa1c90 100644 --- a/docs/reference/as.disk.html +++ b/docs/reference/as.disk.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005
    diff --git a/docs/reference/as.mic.html b/docs/reference/as.mic.html index 0d1524b3..0e02ee0b 100644 --- a/docs/reference/as.mic.html +++ b/docs/reference/as.mic.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005
    diff --git a/docs/reference/as.mo.html b/docs/reference/as.mo.html index 9a42e6ac..e3bfe49a 100644 --- a/docs/reference/as.mo.html +++ b/docs/reference/as.mo.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005
    @@ -322,12 +322,9 @@ This function uses intelligent rules to help getting fast and logical results. I

    This means that looking up human pathogenic microorganisms takes less time than looking up human non-pathogenic microorganisms.

    Uncertain results
    The algorithm can additionally use three different levels of uncertainty to guess valid results. The default is allow_uncertain = TRUE, which is equal to uncertainty level 2. Using allow_uncertain = FALSE will skip all of these additional rules:

      -
    • (uncertainty level 1): It tries to look for only matching genera

    • -
    • (uncertainty level 1): It tries to look for previously accepted (but now invalid) taxonomic names

    • -
    • (uncertainty level 2): It strips off values between brackets and the brackets itself, and re-evaluates the input with all previous rules

    • -
    • (uncertainty level 2): It strips off words from the end one by one and re-evaluates the input with all previous rules

    • -
    • (uncertainty level 3): It strips off words from the start one by one and re-evaluates the input with all previous rules

    • -
    • (uncertainty level 3): It tries any part of the name

    • +
    • (uncertainty level 1): It tries to look for only matching genera, previously accepted (but now invalid) taxonomic names and misspelled input

    • +
    • (uncertainty level 2): It removed parts between brackets, strips off words from the end one by one and re-evaluates the input with all previous rules

    • +
    • (uncertainty level 3): It strips off words from the start one by one and tries any part of the name

    You can also use e.g. as.mo(..., allow_uncertain = 1) to only allow up to level 1 uncertainty.

    Examples:

      diff --git a/docs/reference/as.rsi.html b/docs/reference/as.rsi.html index 2fc17921..5a4dec68 100644 --- a/docs/reference/as.rsi.html +++ b/docs/reference/as.rsi.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 @@ -303,15 +303,14 @@

      Interpretation of S, I and R

      -

      In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below. Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

      +

      In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

      • S - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.

      • I - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.

      • R - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.

      Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection.

      -

      Source: http://www.eucast.org/newsiandr/.

      -

      This AMR package honours this new insight.

      +

      This AMR package honours this new insight. Use portion_SI to determine antimicrobial susceptibility and count_SI to count susceptible isolates.

      Read more on our website!

      diff --git a/docs/reference/atc_online.html b/docs/reference/atc_online.html index 52dea325..761c1564 100644 --- a/docs/reference/atc_online.html +++ b/docs/reference/atc_online.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/availability.html b/docs/reference/availability.html index a6a22783..2d22deff 100644 --- a/docs/reference/availability.html +++ b/docs/reference/availability.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/catalogue_of_life.html b/docs/reference/catalogue_of_life.html index a507f2b6..ebbd8feb 100644 --- a/docs/reference/catalogue_of_life.html +++ b/docs/reference/catalogue_of_life.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/catalogue_of_life_version.html b/docs/reference/catalogue_of_life_version.html index b74e7d98..c02e7631 100644 --- a/docs/reference/catalogue_of_life_version.html +++ b/docs/reference/catalogue_of_life_version.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/count.html b/docs/reference/count.html index 2b1f50a1..732c6e31 100644 --- a/docs/reference/count.html +++ b/docs/reference/count.html @@ -81,7 +81,7 @@ count_R and count_IR can be used to count resistant isolates, count_S and count_ AMR (for R) - 0.7.1.9004 + 0.7.1.9005 @@ -243,19 +243,19 @@ count_R and count_IR can be used to count resistant isolates, count_S and count_ -
      count_R(..., also_single_tested = FALSE)
      +    
      count_R(..., only_all_tested = FALSE)
       
      -count_IR(..., also_single_tested = FALSE)
      +count_IR(..., only_all_tested = FALSE)
       
      -count_I(..., also_single_tested = FALSE)
      +count_I(..., only_all_tested = FALSE)
       
      -count_SI(..., also_single_tested = FALSE)
      +count_SI(..., only_all_tested = FALSE)
       
      -count_S(..., also_single_tested = FALSE)
      +count_S(..., only_all_tested = FALSE)
       
      -count_all(..., also_single_tested = FALSE)
      +count_all(..., only_all_tested = FALSE)
       
      -n_rsi(..., also_single_tested = FALSE)
      +n_rsi(..., only_all_tested = FALSE)
       
       count_df(data, translate_ab = "name", language = get_locale(),
         combine_SI = TRUE, combine_IR = FALSE)
      @@ -268,8 +268,8 @@ count_R and count_IR can be used to count resistant isolates, count_S and count_

      one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with as.rsi if needed.

      - also_single_tested -

      a logical to indicate whether for combination therapies also observations should be included where not all antibiotics were tested, but at least one of the tested antibiotics contains a target interpretation (e.g. S in case of portion_S and R in case of portion_R). This could lead to selection bias.

      + only_all_tested +

      (for combination therapies, i.e. using more than one variable for ...) a logical to indicate that isolates must be tested for all antibiotics, see section Combination therapy below

      data @@ -311,15 +311,52 @@ count_R and count_IR can be used to count resistant isolates, count_S and count_

      Interpretation of S, I and R

      -

      In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below. Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

      +

      In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

      • S - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.

      • I - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.

      • R - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.

      Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection.

      -

      Source: http://www.eucast.org/newsiandr/.

      -

      This AMR package honours this new insight.

      +

      This AMR package honours this new insight. Use portion_SI to determine antimicrobial susceptibility and count_SI to count susceptible isolates.

      + +

      Combination therapy

      + + +

      When using more than one variable for ... (= combination therapy)), use only_all_tested to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how portion_SI works to calculate the %SI:

      +
      +-------------------------------------------------------------------------
      +                        only_all_tested = FALSE   only_all_tested = TRUE
      +Antibiotic  Antibiotic  -----------------------   -----------------------
      +    A           B       include as  include as    include as  include as
      +                        numerator   denominator   numerator   denominator
      +----------  ----------  ----------  -----------   ----------  -----------
      +    S           S           X            X             X            X
      +    I           S           X            X             X            X
      +    R           S           X            X             X            X
      +not tested      S           X            X             -            -
      +    S           I           X            X             X            X
      +    I           I           X            X             X            X
      +    R           I           X            X             X            X
      +not tested      I           X            X             -            -
      +    S           R           X            X             X            X
      +    I           R           X            X             X            X
      +    R           R           -            X             -            X
      +not tested      R           -            -             -            -
      +    S       not tested      X            X             -            -
      +    I       not tested      X            X             -            -
      +    R       not tested      -            -             -            -
      +not tested  not tested      -            -             -            -
      +-------------------------------------------------------------------------
      +
      +

      Please note that for only_all_tested = TRUE applies that:

      +   count_S()  +  count_I()  +  count_R()  == count_all()
      +  portion_S() + portion_I() + portion_R() == 1
      +

      and that for only_all_tested = FALSE applies that:

      +   count_S()  +  count_I()  +  count_R()  >= count_all()
      +  portion_S() + portion_I() + portion_R() >= 1
      +
      +

      Using only_all_tested has no impact when only using one antibiotic as input.

      Read more on our website!

      @@ -351,8 +388,8 @@ count_R and count_IR can be used to count resistant isolates, count_S and count_ # Since n_rsi counts available isolates, you can # calculate back to count e.g. non-susceptible isolates. # This results in the same: -count_IR(septic_patients$AMX) -portion_IR(septic_patients$AMX) * n_rsi(septic_patients$AMX) +count_SI(septic_patients$AMX) +portion_SI(septic_patients$AMX) * n_rsi(septic_patients$AMX) library(dplyr) septic_patients %>% @@ -366,17 +403,17 @@ count_R and count_IR can be used to count resistant isolates, count_S and count_ # Count co-resistance between amoxicillin/clav acid and gentamicin, # so we can see that combination therapy does a lot more than mono therapy. -# Please mind that `portion_S` calculates percentages right away instead. -count_S(septic_patients$AMC) # S = 1342 (71.4%) -count_all(septic_patients$AMC) # n = 1879 +# Please mind that `portion_SI` calculates percentages right away instead. +count_SI(septic_patients$AMC) # 1433 +count_all(septic_patients$AMC) # 1879 -count_S(septic_patients$GEN) # S = 1372 (74.0%) -count_all(septic_patients$GEN) # n = 1855 +count_SI(septic_patients$GEN) # 1399 +count_all(septic_patients$GEN) # 1855 with(septic_patients, - count_S(AMC, GEN)) # S = 1660 (92.3%) -with(septic_patients, # n = 1798 - n_rsi(AMC, GEN)) + count_SI(AMC, GEN)) # 1764 +with(septic_patients, + n_rsi(AMC, GEN)) # 1936 # Get portions S/I/R immediately of all rsi columns septic_patients %>% @@ -404,6 +441,8 @@ count_R and count_IR can be used to count resistant isolates, count_S and count_
    • Interpretation of S, I and R
    • +
    • Combination therapy
    • +
    • Read more on our website!
    • See also
    • diff --git a/docs/reference/eucast_rules.html b/docs/reference/eucast_rules.html index 594f83c2..705f6c9c 100644 --- a/docs/reference/eucast_rules.html +++ b/docs/reference/eucast_rules.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/extended-functions.html b/docs/reference/extended-functions.html index 3d8dc804..ce2e53b5 100644 --- a/docs/reference/extended-functions.html +++ b/docs/reference/extended-functions.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/filter_ab_class.html b/docs/reference/filter_ab_class.html index 9064b021..72788170 100644 --- a/docs/reference/filter_ab_class.html +++ b/docs/reference/filter_ab_class.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/first_isolate.html b/docs/reference/first_isolate.html index b056313e..5a72e039 100644 --- a/docs/reference/first_isolate.html +++ b/docs/reference/first_isolate.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/freq.html b/docs/reference/freq.html index f1c60e1d..e4c707f8 100644 --- a/docs/reference/freq.html +++ b/docs/reference/freq.html @@ -81,7 +81,7 @@ top_freq can be used to get the top/bottom n items of a frequency table, with co AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/g.test.html b/docs/reference/g.test.html index 0e0525d6..d4d57e49 100644 --- a/docs/reference/g.test.html +++ b/docs/reference/g.test.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/ggplot_rsi.html b/docs/reference/ggplot_rsi.html index eeb3c741..4c17660c 100644 --- a/docs/reference/ggplot_rsi.html +++ b/docs/reference/ggplot_rsi.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9004 + 0.7.1.9005 diff --git a/docs/reference/guess_ab_col.html b/docs/reference/guess_ab_col.html index 6922e3f4..ce86c053 100644 --- a/docs/reference/guess_ab_col.html +++ b/docs/reference/guess_ab_col.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/index.html b/docs/reference/index.html index 2ed5fc35..c46837c3 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -78,7 +78,7 @@ AMR (for R) - 0.7.1.9004 + 0.7.1.9005 diff --git a/docs/reference/join.html b/docs/reference/join.html index caaa5c1b..81e39caf 100644 --- a/docs/reference/join.html +++ b/docs/reference/join.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/key_antibiotics.html b/docs/reference/key_antibiotics.html index 5002897c..114bde04 100644 --- a/docs/reference/key_antibiotics.html +++ b/docs/reference/key_antibiotics.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/kurtosis.html b/docs/reference/kurtosis.html index 5e1791ce..0d731157 100644 --- a/docs/reference/kurtosis.html +++ b/docs/reference/kurtosis.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/like.html b/docs/reference/like.html index 17a7ac50..d7b74259 100644 --- a/docs/reference/like.html +++ b/docs/reference/like.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/mdro.html b/docs/reference/mdro.html index 3e92d9f9..8dfa5a25 100644 --- a/docs/reference/mdro.html +++ b/docs/reference/mdro.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/microorganisms.codes.html b/docs/reference/microorganisms.codes.html index 0139b878..0bc2192b 100644 --- a/docs/reference/microorganisms.codes.html +++ b/docs/reference/microorganisms.codes.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/microorganisms.html b/docs/reference/microorganisms.html index 1b22753b..e86e90b7 100644 --- a/docs/reference/microorganisms.html +++ b/docs/reference/microorganisms.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/microorganisms.old.html b/docs/reference/microorganisms.old.html index a2ce3acd..5024ae93 100644 --- a/docs/reference/microorganisms.old.html +++ b/docs/reference/microorganisms.old.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/mo_property.html b/docs/reference/mo_property.html index 3b82969a..57de2e60 100644 --- a/docs/reference/mo_property.html +++ b/docs/reference/mo_property.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9004 + 0.7.1.9005 diff --git a/docs/reference/mo_source.html b/docs/reference/mo_source.html index eb3961b4..0606ee24 100644 --- a/docs/reference/mo_source.html +++ b/docs/reference/mo_source.html @@ -81,7 +81,7 @@ This is the fastest way to have your organisation (or analysis) specific codes p AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/p.symbol.html b/docs/reference/p.symbol.html index 079db613..6bcaa8c4 100644 --- a/docs/reference/p.symbol.html +++ b/docs/reference/p.symbol.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/portion.html b/docs/reference/portion.html index 58144382..3b723cbb 100644 --- a/docs/reference/portion.html +++ b/docs/reference/portion.html @@ -81,7 +81,7 @@ portion_R and portion_IR can be used to calculate resistance, portion_S and port AMR (for R) - 0.7.1.9004 + 0.7.1.9005 @@ -244,19 +244,19 @@ portion_R and portion_IR can be used to calculate resistance, portion_S and port
      portion_R(..., minimum = 30, as_percent = FALSE,
      -  also_single_tested = FALSE)
      +  only_all_tested = FALSE)
       
       portion_IR(..., minimum = 30, as_percent = FALSE,
      -  also_single_tested = FALSE)
      +  only_all_tested = FALSE)
       
       portion_I(..., minimum = 30, as_percent = FALSE,
      -  also_single_tested = FALSE)
      +  only_all_tested = FALSE)
       
       portion_SI(..., minimum = 30, as_percent = FALSE,
      -  also_single_tested = FALSE)
      +  only_all_tested = FALSE)
       
       portion_S(..., minimum = 30, as_percent = FALSE,
      -  also_single_tested = FALSE)
      +  only_all_tested = FALSE)
       
       portion_df(data, translate_ab = "name", language = get_locale(),
         minimum = 30, as_percent = FALSE, combine_SI = TRUE,
      @@ -282,8 +282,8 @@ portion_R and portion_IR can be used to calculate resistance, portion_S and port
             

      a logical to indicate whether the output must be returned as a hundred fold with % sign (a character). A value of 0.123456 will then be returned as "12.3%".

      - also_single_tested -

      a logical to indicate whether for combination therapies also observations should be included where not all antibiotics were tested, but at least one of the tested antibiotics contains a target interpretation (e.g. S in case of portion_S and R in case of portion_R). This could lead to selection bias.

      + only_all_tested +

      (for combination therapies, i.e. using more than one variable for ...) a logical to indicate that isolates must be tested for all antibiotics, see section Combination therapy below

      data @@ -318,35 +318,60 @@ portion_R and portion_IR can be used to calculate resistance, portion_S and port

      Details

      -

      Remember that you should filter your table to let it contain only first isolates! Use first_isolate to determine them in your data set.

      +

      Remember that you should filter your table to let it contain only first isolates! This is needed to exclude duplicates and to reduce selection bias. Use first_isolate to determine them in your data set.

      These functions are not meant to count isolates, but to calculate the portion of resistance/susceptibility. Use the count functions to count isolates. Low counts can infuence the outcome - these portion functions may camouflage this, since they only return the portion albeit being dependent on the minimum parameter.

      The function portion_df takes any variable from data that has an "rsi" class (created with as.rsi) and calculates the portions R, I and S. The resulting tidy data (see Source) data.frame will have three rows (S/I/R) and a column for each group and each variable with class "rsi".

      -

      The function rsi_df works exactly like portion_df, but adds the number of isolates. -

      - To calculate the probability (p) of susceptibility of one antibiotic, we use this formula: -

      - To calculate the probability (p) of susceptibility of more antibiotics (i.e. combination therapy), we need to check whether one of them has a susceptible result (as numerator) and count all cases where all antibiotics were tested (as denominator).
      -
      - For two antibiotics: -
      -
      - For three antibiotics: -
      -
      - And so on.

      +

      The function rsi_df works exactly like portion_df, but adds the number of isolates.

      + +

      Combination therapy

      + + +

      When using more than one variable for ... (= combination therapy)), use only_all_tested to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how portion_SI works to calculate the %SI:

      +
      +-------------------------------------------------------------------------
      +                        only_all_tested = FALSE   only_all_tested = TRUE
      +Antibiotic  Antibiotic  -----------------------   -----------------------
      +    A           B       include as  include as    include as  include as
      +                        numerator   denominator   numerator   denominator
      +----------  ----------  ----------  -----------   ----------  -----------
      +    S           S           X            X             X            X
      +    I           S           X            X             X            X
      +    R           S           X            X             X            X
      +not tested      S           X            X             -            -
      +    S           I           X            X             X            X
      +    I           I           X            X             X            X
      +    R           I           X            X             X            X
      +not tested      I           X            X             -            -
      +    S           R           X            X             X            X
      +    I           R           X            X             X            X
      +    R           R           -            X             -            X
      +not tested      R           -            -             -            -
      +    S       not tested      X            X             -            -
      +    I       not tested      X            X             -            -
      +    R       not tested      -            -             -            -
      +not tested  not tested      -            -             -            -
      +-------------------------------------------------------------------------
      +
      +

      Please note that for only_all_tested = TRUE applies that:

      +   count_S()  +  count_I()  +  count_R()  == count_all()
      +  portion_S() + portion_I() + portion_R() == 1
      +

      and that for only_all_tested = FALSE applies that:

      +   count_S()  +  count_I()  +  count_R()  >= count_all()
      +  portion_S() + portion_I() + portion_R() >= 1
      +
      +

      Using only_all_tested has no impact when only using one antibiotic as input.

      Interpretation of S, I and R

      -

      In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below. Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

      +

      In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

      • S - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.

      • I - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.

      • R - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.

      Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection.

      -

      Source: http://www.eucast.org/newsiandr/.

      -

      This AMR package honours this new insight.

      +

      This AMR package honours this new insight. Use portion_SI to determine antimicrobial susceptibility and count_SI to count susceptible isolates.

      Read more on our website!

      @@ -380,7 +405,7 @@ portion_R and portion_IR can be used to calculate resistance, portion_S and port septic_patients %>% group_by(hospital_id) %>% - summarise(p = portion_S(CIP), + summarise(p = portion_SI(CIP), n = n_rsi(CIP)) # n_rsi works like n_distinct in dplyr septic_patients %>% @@ -394,32 +419,38 @@ portion_R and portion_IR can be used to calculate resistance, portion_S and port # Calculate co-resistance between amoxicillin/clav acid and gentamicin, # so we can see that combination therapy does a lot more than mono therapy: -septic_patients %>% portion_S(AMC) # S = 71.4% -septic_patients %>% count_all(AMC) # n = 1879 +septic_patients %>% portion_SI(AMC) # %SI = 76.3% +septic_patients %>% count_all(AMC) # n = 1879 -septic_patients %>% portion_S(GEN) # S = 74.0% -septic_patients %>% count_all(GEN) # n = 1855 +septic_patients %>% portion_SI(GEN) # %SI = 75.4% +septic_patients %>% count_all(GEN) # n = 1855 -septic_patients %>% portion_S(AMC, GEN) # S = 92.3% -septic_patients %>% count_all(AMC, GEN) # n = 1798 +septic_patients %>% portion_SI(AMC, GEN) # %SI = 94.1% +septic_patients %>% count_all(AMC, GEN) # n = 1939 -# Using `also_single_tested` can be useful ... + +# See Details on how `only_all_tested` works. Example: septic_patients %>% - portion_S(AMC, GEN, - also_single_tested = TRUE) # S = 92.6% -# ... but can also lead to selection bias - the data only has 2,000 rows: + summarise(numerator = count_SI(AMC, GEN), + denominator = count_all(AMC, GEN), + portion = portion_SI(AMC, GEN)) +# numerator denominator portion +# 1764 1936 0.9408 septic_patients %>% - count_all(AMC, GEN, - also_single_tested = TRUE) # n = 2555 + summarise(numerator = count_SI(AMC, GEN, only_all_tested = TRUE), + denominator = count_all(AMC, GEN, only_all_tested = TRUE), + portion = portion_SI(AMC, GEN, only_all_tested = TRUE)) +# numerator denominator portion +# 1687 1798 0.9383 septic_patients %>% group_by(hospital_id) %>% - summarise(cipro_p = portion_S(CIP, as_percent = TRUE), + summarise(cipro_p = portion_SI(CIP, as_percent = TRUE), cipro_n = count_all(CIP), - genta_p = portion_S(GEN, as_percent = TRUE), + genta_p = portion_SI(GEN, as_percent = TRUE), genta_n = count_all(GEN), - combination_p = portion_S(CIP, GEN, as_percent = TRUE), + combination_p = portion_SI(CIP, GEN, as_percent = TRUE), combination_n = count_all(CIP, GEN)) # Get portions S/I/R immediately of all rsi columns @@ -454,6 +485,8 @@ portion_R and portion_IR can be used to calculate resistance, portion_S and port
    • Details
    • +
    • Combination therapy
    • +
    • Interpretation of S, I and R
    • Read more on our website!
    • diff --git a/docs/reference/read.4D.html b/docs/reference/read.4D.html index f93a3edf..c255e9d8 100644 --- a/docs/reference/read.4D.html +++ b/docs/reference/read.4D.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/resistance_predict.html b/docs/reference/resistance_predict.html index 6b9f0e5e..6fea0ba0 100644 --- a/docs/reference/resistance_predict.html +++ b/docs/reference/resistance_predict.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/rsi_translation.html b/docs/reference/rsi_translation.html index 862b3ad0..e96af83b 100644 --- a/docs/reference/rsi_translation.html +++ b/docs/reference/rsi_translation.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/septic_patients.html b/docs/reference/septic_patients.html index 410350bb..aa05fe8a 100644 --- a/docs/reference/septic_patients.html +++ b/docs/reference/septic_patients.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9004 + 0.7.1.9005 diff --git a/docs/reference/skewness.html b/docs/reference/skewness.html index 54aaf7bd..2e7d66c1 100644 --- a/docs/reference/skewness.html +++ b/docs/reference/skewness.html @@ -81,7 +81,7 @@ When negative: the left tail is longer; the mass of the distribution is concentr AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/docs/reference/translate.html b/docs/reference/translate.html index 676219de..7c38140c 100644 --- a/docs/reference/translate.html +++ b/docs/reference/translate.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9003 + 0.7.1.9005 diff --git a/man/as.mo.Rd b/man/as.mo.Rd index 2bbf53f9..e515628b 100644 --- a/man/as.mo.Rd +++ b/man/as.mo.Rd @@ -88,12 +88,9 @@ This means that looking up human pathogenic microorganisms takes less time than \strong{Uncertain results} \cr The algorithm can additionally use three different levels of uncertainty to guess valid results. The default is \code{allow_uncertain = TRUE}, which is equal to uncertainty level 2. Using \code{allow_uncertain = FALSE} will skip all of these additional rules: \itemize{ - \item{(uncertainty level 1): It tries to look for only matching genera} - \item{(uncertainty level 1): It tries to look for previously accepted (but now invalid) taxonomic names} - \item{(uncertainty level 2): It strips off values between brackets and the brackets itself, and re-evaluates the input with all previous rules} - \item{(uncertainty level 2): It strips off words from the end one by one and re-evaluates the input with all previous rules} - \item{(uncertainty level 3): It strips off words from the start one by one and re-evaluates the input with all previous rules} - \item{(uncertainty level 3): It tries any part of the name} + \item{(uncertainty level 1): It tries to look for only matching genera, previously accepted (but now invalid) taxonomic names and misspelled input} + \item{(uncertainty level 2): It removed parts between brackets, strips off words from the end one by one and re-evaluates the input with all previous rules} + \item{(uncertainty level 3): It strips off words from the start one by one and tries any part of the name} } You can also use e.g. \code{as.mo(..., allow_uncertain = 1)} to only allow up to level 1 uncertainty. diff --git a/man/as.rsi.Rd b/man/as.rsi.Rd index a74f0207..2f19890e 100755 --- a/man/as.rsi.Rd +++ b/man/as.rsi.Rd @@ -52,7 +52,7 @@ The function \code{is.rsi.eligible} returns \code{TRUE} when a columns contains } \section{Interpretation of S, I and R}{ -In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below. Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". +In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below (\url{http://www.eucast.org/newsiandr/}). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". \itemize{ \item{\strong{S} - }{Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.} @@ -62,9 +62,7 @@ In 2019, EUCAST has decided to change the definitions of susceptibility testing Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection. -Source: \url{http://www.eucast.org/newsiandr/}. - -\strong{This AMR package honours this new insight.} +This AMR package honours this new insight. Use \code{\link{portion_SI}} to determine antimicrobial susceptibility and \code{\link{count_SI}} to count susceptible isolates. } \section{Read more on our website!}{ diff --git a/man/count.Rd b/man/count.Rd index 906e365d..f70562e1 100644 --- a/man/count.Rd +++ b/man/count.Rd @@ -15,19 +15,19 @@ Wickham H. \strong{Tidy Data.} The Journal of Statistical Software, vol. 59, 2014. \url{http://vita.had.co.nz/papers/tidy-data.html} } \usage{ -count_R(..., also_single_tested = FALSE) +count_R(..., only_all_tested = FALSE) -count_IR(..., also_single_tested = FALSE) +count_IR(..., only_all_tested = FALSE) -count_I(..., also_single_tested = FALSE) +count_I(..., only_all_tested = FALSE) -count_SI(..., also_single_tested = FALSE) +count_SI(..., only_all_tested = FALSE) -count_S(..., also_single_tested = FALSE) +count_S(..., only_all_tested = FALSE) -count_all(..., also_single_tested = FALSE) +count_all(..., only_all_tested = FALSE) -n_rsi(..., also_single_tested = FALSE) +n_rsi(..., only_all_tested = FALSE) count_df(data, translate_ab = "name", language = get_locale(), combine_SI = TRUE, combine_IR = FALSE) @@ -35,7 +35,7 @@ count_df(data, translate_ab = "name", language = get_locale(), \arguments{ \item{...}{one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with \code{\link{as.rsi}} if needed.} -\item{also_single_tested}{a logical to indicate whether for combination therapies also observations should be included where not all antibiotics were tested, but at least one of the tested antibiotics contains a target interpretation (e.g. S in case of \code{portion_S} and R in case of \code{portion_R}). \strong{This could lead to selection bias.}} +\item{only_all_tested}{(for combination therapies, i.e. using more than one variable for \code{...}) a logical to indicate that isolates must be tested for all antibiotics, see section \emph{Combination therapy} below} \item{data}{a \code{data.frame} containing columns with class \code{rsi} (see \code{\link{as.rsi}})} @@ -66,7 +66,7 @@ The function \code{rsi_df} works exactly like \code{count_df}, but adds the perc } \section{Interpretation of S, I and R}{ -In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below. Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". +In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below (\url{http://www.eucast.org/newsiandr/}). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". \itemize{ \item{\strong{S} - }{Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.} @@ -76,9 +76,51 @@ In 2019, EUCAST has decided to change the definitions of susceptibility testing Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection. -Source: \url{http://www.eucast.org/newsiandr/}. +This AMR package honours this new insight. Use \code{\link{portion_SI}} to determine antimicrobial susceptibility and \code{\link{count_SI}} to count susceptible isolates. +} -\strong{This AMR package honours this new insight.} +\section{Combination therapy}{ + +When using more than one variable for \code{...} (= combination therapy)), use \code{only_all_tested} to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how \code{portion_SI} works to calculate the \%SI: + +\preformatted{ +------------------------------------------------------------------------- + only_all_tested = FALSE only_all_tested = TRUE +Antibiotic Antibiotic ----------------------- ----------------------- + A B include as include as include as include as + numerator denominator numerator denominator +---------- ---------- ---------- ----------- ---------- ----------- + S S X X X X + I S X X X X + R S X X X X +not tested S X X - - + S I X X X X + I I X X X X + R I X X X X +not tested I X X - - + S R X X X X + I R X X X X + R R - X - X +not tested R - - - - + S not tested X X - - + I not tested X X - - + R not tested - - - - +not tested not tested - - - - +------------------------------------------------------------------------- +} + +Please note that for \code{only_all_tested = TRUE} applies that: +\preformatted{ + count_S() + count_I() + count_R() == count_all() + portion_S() + portion_I() + portion_R() == 1 +} +and that for \code{only_all_tested = FALSE} applies that: +\preformatted{ + count_S() + count_I() + count_R() >= count_all() + portion_S() + portion_I() + portion_R() >= 1 +} + +Using \code{only_all_tested} has no impact when only using one antibiotic as input. } \section{Read more on our website!}{ @@ -105,8 +147,8 @@ n_rsi(septic_patients$AMX) # Since n_rsi counts available isolates, you can # calculate back to count e.g. non-susceptible isolates. # This results in the same: -count_IR(septic_patients$AMX) -portion_IR(septic_patients$AMX) * n_rsi(septic_patients$AMX) +count_SI(septic_patients$AMX) +portion_SI(septic_patients$AMX) * n_rsi(septic_patients$AMX) library(dplyr) septic_patients \%>\% @@ -120,17 +162,17 @@ septic_patients \%>\% # Count co-resistance between amoxicillin/clav acid and gentamicin, # so we can see that combination therapy does a lot more than mono therapy. -# Please mind that `portion_S` calculates percentages right away instead. -count_S(septic_patients$AMC) # S = 1342 (71.4\%) -count_all(septic_patients$AMC) # n = 1879 +# Please mind that `portion_SI` calculates percentages right away instead. +count_SI(septic_patients$AMC) # 1433 +count_all(septic_patients$AMC) # 1879 -count_S(septic_patients$GEN) # S = 1372 (74.0\%) -count_all(septic_patients$GEN) # n = 1855 +count_SI(septic_patients$GEN) # 1399 +count_all(septic_patients$GEN) # 1855 with(septic_patients, - count_S(AMC, GEN)) # S = 1660 (92.3\%) -with(septic_patients, # n = 1798 - n_rsi(AMC, GEN)) + count_SI(AMC, GEN)) # 1764 +with(septic_patients, + n_rsi(AMC, GEN)) # 1936 # Get portions S/I/R immediately of all rsi columns septic_patients \%>\% diff --git a/man/portion.Rd b/man/portion.Rd index 8c4cf253..2a6f8304 100644 --- a/man/portion.Rd +++ b/man/portion.Rd @@ -17,19 +17,19 @@ Wickham H. \strong{Tidy Data.} The Journal of Statistical Software, vol. 59, 201 } \usage{ portion_R(..., minimum = 30, as_percent = FALSE, - also_single_tested = FALSE) + only_all_tested = FALSE) portion_IR(..., minimum = 30, as_percent = FALSE, - also_single_tested = FALSE) + only_all_tested = FALSE) portion_I(..., minimum = 30, as_percent = FALSE, - also_single_tested = FALSE) + only_all_tested = FALSE) portion_SI(..., minimum = 30, as_percent = FALSE, - also_single_tested = FALSE) + only_all_tested = FALSE) portion_S(..., minimum = 30, as_percent = FALSE, - also_single_tested = FALSE) + only_all_tested = FALSE) portion_df(data, translate_ab = "name", language = get_locale(), minimum = 30, as_percent = FALSE, combine_SI = TRUE, @@ -46,7 +46,7 @@ rsi_df(data, translate_ab = "name", language = get_locale(), \item{as_percent}{a logical to indicate whether the output must be returned as a hundred fold with \% sign (a character). A value of \code{0.123456} will then be returned as \code{"12.3\%"}.} -\item{also_single_tested}{a logical to indicate whether for combination therapies also observations should be included where not all antibiotics were tested, but at least one of the tested antibiotics contains a target interpretation (e.g. S in case of \code{portion_S} and R in case of \code{portion_R}). \strong{This could lead to selection bias.}} +\item{only_all_tested}{(for combination therapies, i.e. using more than one variable for \code{...}) a logical to indicate that isolates must be tested for all antibiotics, see section \emph{Combination therapy} below} \item{data}{a \code{data.frame} containing columns with class \code{rsi} (see \code{\link{as.rsi}})} @@ -67,31 +67,61 @@ These functions can be used to calculate the (co-)resistance of microbial isolat \code{portion_R} and \code{portion_IR} can be used to calculate resistance, \code{portion_S} and \code{portion_SI} can be used to calculate susceptibility.\cr } \details{ -\strong{Remember that you should filter your table to let it contain only first isolates!} Use \code{\link{first_isolate}} to determine them in your data set. +\strong{Remember that you should filter your table to let it contain only first isolates!} This is needed to exclude duplicates and to reduce selection bias. Use \code{\link{first_isolate}} to determine them in your data set. These functions are not meant to count isolates, but to calculate the portion of resistance/susceptibility. Use the \code{\link[AMR]{count}} functions to count isolates. \emph{Low counts can infuence the outcome - these \code{portion} functions may camouflage this, since they only return the portion albeit being dependent on the \code{minimum} parameter.} The function \code{portion_df} takes any variable from \code{data} that has an \code{"rsi"} class (created with \code{\link{as.rsi}}) and calculates the portions R, I and S. The resulting \emph{tidy data} (see Source) \code{data.frame} will have three rows (S/I/R) and a column for each group and each variable with class \code{"rsi"}. The function \code{rsi_df} works exactly like \code{portion_df}, but adds the number of isolates. -\if{html}{ - \cr\cr - To calculate the probability (\emph{p}) of susceptibility of one antibiotic, we use this formula: - \out{
      }\figure{combi_therapy_2.png}\out{
      } - To calculate the probability (\emph{p}) of susceptibility of more antibiotics (i.e. combination therapy), we need to check whether one of them has a susceptible result (as numerator) and count all cases where all antibiotics were tested (as denominator). \cr - \cr - For two antibiotics: - \out{
      }\figure{combi_therapy_2.png}\out{
      } - \cr - For three antibiotics: - \out{
      }\figure{combi_therapy_2.png}\out{
      } - \cr - And so on. } +\section{Combination therapy}{ + +When using more than one variable for \code{...} (= combination therapy)), use \code{only_all_tested} to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how \code{portion_SI} works to calculate the \%SI: + +\preformatted{ +------------------------------------------------------------------------- + only_all_tested = FALSE only_all_tested = TRUE +Antibiotic Antibiotic ----------------------- ----------------------- + A B include as include as include as include as + numerator denominator numerator denominator +---------- ---------- ---------- ----------- ---------- ----------- + S S X X X X + I S X X X X + R S X X X X +not tested S X X - - + S I X X X X + I I X X X X + R I X X X X +not tested I X X - - + S R X X X X + I R X X X X + R R - X - X +not tested R - - - - + S not tested X X - - + I not tested X X - - + R not tested - - - - +not tested not tested - - - - +------------------------------------------------------------------------- } + +Please note that for \code{only_all_tested = TRUE} applies that: +\preformatted{ + count_S() + count_I() + count_R() == count_all() + portion_S() + portion_I() + portion_R() == 1 +} +and that for \code{only_all_tested = FALSE} applies that: +\preformatted{ + count_S() + count_I() + count_R() >= count_all() + portion_S() + portion_I() + portion_R() >= 1 +} + +Using \code{only_all_tested} has no impact when only using one antibiotic as input. +} + \section{Interpretation of S, I and R}{ -In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below. Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". +In 2019, EUCAST has decided to change the definitions of susceptibility testing categories S, I and R as shown below (\url{http://www.eucast.org/newsiandr/}). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". \itemize{ \item{\strong{S} - }{Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.} @@ -101,9 +131,7 @@ In 2019, EUCAST has decided to change the definitions of susceptibility testing Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection. -Source: \url{http://www.eucast.org/newsiandr/}. - -\strong{This AMR package honours this new insight.} +This AMR package honours this new insight. Use \code{\link{portion_SI}} to determine antimicrobial susceptibility and \code{\link{count_SI}} to count susceptible isolates. } \section{Read more on our website!}{ @@ -132,7 +160,7 @@ septic_patients \%>\% portion_SI(AMX) septic_patients \%>\% group_by(hospital_id) \%>\% - summarise(p = portion_S(CIP), + summarise(p = portion_SI(CIP), n = n_rsi(CIP)) # n_rsi works like n_distinct in dplyr septic_patients \%>\% @@ -146,32 +174,38 @@ septic_patients \%>\% # Calculate co-resistance between amoxicillin/clav acid and gentamicin, # so we can see that combination therapy does a lot more than mono therapy: -septic_patients \%>\% portion_S(AMC) # S = 71.4\% -septic_patients \%>\% count_all(AMC) # n = 1879 +septic_patients \%>\% portion_SI(AMC) # \%SI = 76.3\% +septic_patients \%>\% count_all(AMC) # n = 1879 -septic_patients \%>\% portion_S(GEN) # S = 74.0\% -septic_patients \%>\% count_all(GEN) # n = 1855 +septic_patients \%>\% portion_SI(GEN) # \%SI = 75.4\% +septic_patients \%>\% count_all(GEN) # n = 1855 -septic_patients \%>\% portion_S(AMC, GEN) # S = 92.3\% -septic_patients \%>\% count_all(AMC, GEN) # n = 1798 +septic_patients \%>\% portion_SI(AMC, GEN) # \%SI = 94.1\% +septic_patients \%>\% count_all(AMC, GEN) # n = 1939 -# Using `also_single_tested` can be useful ... + +# See Details on how `only_all_tested` works. Example: septic_patients \%>\% - portion_S(AMC, GEN, - also_single_tested = TRUE) # S = 92.6\% -# ... but can also lead to selection bias - the data only has 2,000 rows: + summarise(numerator = count_SI(AMC, GEN), + denominator = count_all(AMC, GEN), + portion = portion_SI(AMC, GEN)) +# numerator denominator portion +# 1764 1936 0.9408 septic_patients \%>\% - count_all(AMC, GEN, - also_single_tested = TRUE) # n = 2555 + summarise(numerator = count_SI(AMC, GEN, only_all_tested = TRUE), + denominator = count_all(AMC, GEN, only_all_tested = TRUE), + portion = portion_SI(AMC, GEN, only_all_tested = TRUE)) +# numerator denominator portion +# 1687 1798 0.9383 septic_patients \%>\% group_by(hospital_id) \%>\% - summarise(cipro_p = portion_S(CIP, as_percent = TRUE), + summarise(cipro_p = portion_SI(CIP, as_percent = TRUE), cipro_n = count_all(CIP), - genta_p = portion_S(GEN, as_percent = TRUE), + genta_p = portion_SI(GEN, as_percent = TRUE), genta_n = count_all(GEN), - combination_p = portion_S(CIP, GEN, as_percent = TRUE), + combination_p = portion_SI(CIP, GEN, as_percent = TRUE), combination_n = count_all(CIP, GEN)) # Get portions S/I/R immediately of all rsi columns diff --git a/tests/testthat/test-count.R b/tests/testthat/test-count.R index 4f4f4c3e..5688b13c 100644 --- a/tests/testthat/test-count.R +++ b/tests/testthat/test-count.R @@ -33,20 +33,22 @@ test_that("counts work", { library(dplyr) expect_equal(septic_patients %>% count_S(AMC), 1342) - expect_equal(septic_patients %>% count_S(AMC, GEN), 1660) - expect_equal(septic_patients %>% count_all(AMC, GEN), 1798) - expect_identical(septic_patients %>% count_all(AMC, GEN), - septic_patients %>% count_S(AMC, GEN) + - septic_patients %>% count_IR(AMC, GEN)) + expect_equal(septic_patients %>% count_S(AMC, GEN, only_all_tested = TRUE), 1660) + expect_equal(septic_patients %>% count_S(AMC, GEN, only_all_tested = FALSE), 1728) + expect_equal(septic_patients %>% count_all(AMC, GEN, only_all_tested = TRUE), 1798) + expect_equal(septic_patients %>% count_all(AMC, GEN, only_all_tested = FALSE), 1936) + expect_identical(septic_patients %>% count_all(AMC, GEN, only_all_tested = TRUE), + septic_patients %>% count_S(AMC, GEN, only_all_tested = TRUE) + + septic_patients %>% count_IR(AMC, GEN, only_all_tested = TRUE)) # count of cases expect_equal(septic_patients %>% group_by(hospital_id) %>% - summarise(cipro = count_S(CIP), - genta = count_S(GEN), - combination = count_S(CIP, GEN)) %>% + summarise(cipro = count_SI(CIP), + genta = count_SI(GEN), + combination = count_SI(CIP, GEN)) %>% pull(combination), - c(192, 446, 184, 474)) + c(253, 465, 192, 558)) # count_df expect_equal( diff --git a/tests/testthat/test-portion.R b/tests/testthat/test-portion.R index 84599859..47c473e9 100755 --- a/tests/testthat/test-portion.R +++ b/tests/testthat/test-portion.R @@ -32,14 +32,14 @@ test_that("portions works", { expect_equal(portion_S(septic_patients$AMX) + portion_I(septic_patients$AMX), portion_SI(septic_patients$AMX)) - expect_equal(septic_patients %>% portion_S(AMC), - 0.7142097, + expect_equal(septic_patients %>% portion_SI(AMC), + 0.7626397, tolerance = 0.0001) - expect_equal(septic_patients %>% portion_S(AMC, GEN), - 0.9232481, + expect_equal(septic_patients %>% portion_SI(AMC, GEN), + 0.9408, tolerance = 0.0001) - expect_equal(septic_patients %>% portion_S(AMC, GEN, also_single_tested = TRUE), - 0.926045, + expect_equal(septic_patients %>% portion_SI(AMC, GEN, only_all_tested = TRUE), + 0.9382647, tolerance = 0.0001) # percentages @@ -57,14 +57,14 @@ test_that("portions works", { # count of cases expect_equal(septic_patients %>% group_by(hospital_id) %>% - summarise(CIPo_p = portion_S(CIP, as_percent = TRUE), - CIPo_n = n_rsi(CIP), - GENa_p = portion_S(GEN, as_percent = TRUE), - GENa_n = n_rsi(GEN), - combination_p = portion_S(CIP, GEN, as_percent = TRUE), + summarise(cipro_p = portion_SI(CIP, as_percent = TRUE), + cipro_n = n_rsi(CIP), + genta_p = portion_SI(GEN, as_percent = TRUE), + genta_n = n_rsi(GEN), + combination_p = portion_SI(CIP, GEN, as_percent = TRUE), combination_n = n_rsi(CIP, GEN)) %>% pull(combination_n), - c(202, 488, 201, 499)) + c(305, 617, 241, 711)) expect_warning(portion_R(as.character(septic_patients$AMC))) expect_warning(portion_S(as.character(septic_patients$AMC))) @@ -83,7 +83,7 @@ test_that("portions works", { expect_error(portion_I("test", as_percent = "test")) expect_error(portion_S("test", minimum = "test")) expect_error(portion_S("test", as_percent = "test")) - expect_error(portion_S("test", also_single_tested = "test")) + expect_error(portion_S("test", also_single_tested = TRUE)) # check too low amount of isolates expect_identical(suppressWarnings(portion_R(septic_patients$AMX, minimum = nrow(septic_patients) + 1)),