From 4f20679dd350207c12479e5097289cdc611515b7 Mon Sep 17 00:00:00 2001 From: Joe Thorley Date: Mon, 21 Oct 2024 07:45:05 -0700 Subject: [PATCH 01/66] dev/ version --- README.Rmd | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.Rmd b/README.Rmd index 349018f0..20730b82 100644 --- a/README.Rmd +++ b/README.Rmd @@ -58,7 +58,7 @@ pak::pak("bcgov/ssdtools") #### Website -The website for the development version is at . +The website for the development version is at . ## Introduction diff --git a/README.md b/README.md index edead287..7f94a7b5 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ pak::pak("bcgov/ssdtools") #### Website The website for the development version is at -. +. ## Introduction From 89fca04d4b1f6aeaf5b74c0998ca1e298821db88 Mon Sep 17 00:00:00 2001 From: Duncan Kennedy Date: Mon, 2 Dec 2024 09:47:27 -0700 Subject: [PATCH 02/66] upadated docs --- Meta/vignette.rds | Bin 0 -> 431 bytes doc/additional-technical-details.R | 12 + doc/additional-technical-details.Rmd | 221 +++++++ doc/customising-plots.R | 70 +++ doc/customising-plots.Rmd | 137 +++++ doc/distributions.R | 315 ++++++++++ doc/distributions.Rmd | 837 +++++++++++++++++++++++++++ doc/model-averaging.R | 173 ++++++ doc/model-averaging.Rmd | 538 +++++++++++++++++ doc/small-sample-bias.R | 1 + doc/small-sample-bias.pdf | Bin 0 -> 329051 bytes doc/small-sample-bias.pdf.asis | 6 + doc/ssdtools.R | 94 +++ doc/ssdtools.Rmd | 267 +++++++++ 14 files changed, 2671 insertions(+) create mode 100644 Meta/vignette.rds create mode 100644 doc/additional-technical-details.R create mode 100644 doc/additional-technical-details.Rmd create mode 100644 doc/customising-plots.R create mode 100644 doc/customising-plots.Rmd create mode 100644 doc/distributions.R create mode 100644 doc/distributions.Rmd create mode 100644 doc/model-averaging.R create mode 100644 doc/model-averaging.Rmd create mode 100644 doc/small-sample-bias.R create mode 100644 doc/small-sample-bias.pdf create mode 100644 doc/small-sample-bias.pdf.asis create mode 100644 doc/ssdtools.R create mode 100644 doc/ssdtools.Rmd diff --git a/Meta/vignette.rds b/Meta/vignette.rds new file mode 100644 index 0000000000000000000000000000000000000000..d048d773130666ceddad857736f78debf6d6b996 GIT binary patch literal 431 zcmV;g0Z{%QiwFP!000001D#UaP69CyU0_up8ZV%UMoImE-G3l%)I>=L@ZjsXtbP#jsn(QPYpG*jeJ9J?bsFj>Kq*I_ z#2`Fm;UwmvvM58~Li&S<>b&!CDlv(; zx`fBXaM20vUQU~I4Q(nJjG4-+Dz~D;doe^M zUAXsLn7X|Y$F*bis+eDK5U`ZR)F`n2#6IRpru^+jjVzh_rrDADs-NmuEEZoyMxg*{ Z7@1&`0)qdRse0vo{{XcH0taFQ008op)5HJ( literal 0 HcmV?d00001 diff --git a/doc/additional-technical-details.R b/doc/additional-technical-details.R new file mode 100644 index 00000000..78b30508 --- /dev/null +++ b/doc/additional-technical-details.R @@ -0,0 +1,12 @@ +## ----include = FALSE---------------------------------------------------------- +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.width = 6, + fig.height = 4, + echo = TRUE +) + +## ----results = "asis", echo = FALSE------------------------------------------- +cat(ssdtools::ssd_licensing_md()) + diff --git a/doc/additional-technical-details.Rmd b/doc/additional-technical-details.Rmd new file mode 100644 index 00000000..6031b314 --- /dev/null +++ b/doc/additional-technical-details.Rmd @@ -0,0 +1,221 @@ +--- +title: "Additional Technical Details" +author: "ssdtools Team" +date: '`r format(Sys.time(), "%Y-%m-%d", tz = "UTC")`' +bibliography: references.bib +mathfont: Courier +latex_engine: MathJax +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Additional Technical Details} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + + + + + + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.width = 6, + fig.height = 4, + echo = TRUE +) +``` + +## Small sample bias + +The ssdtools package uses the method of Maximum Likelihood (ML) to estimate parameters for each distribution that is fit to the data. +Statistical theory says that maximum likelihood estimators are asymptotically unbiased, but does not guarantee performance in small samples. +A detailed account of the issue of small sample bias in estimates can be found in the following [pdf](https://github.com/bcgov/ssdtools/blob/master/vignettes/small-sample-bias.pdf). + +## Investigations into setting minimum sample sizes for uni-modal and bi-modal distributions in ssdtools + +Most jurisdictions require a minimum sample size for fitting a valid SSD. +The current Australian and New Zealand minimum is 5, in order to fit the two-parameter log-normal distribution [@warne2018]. +In ssdtools the default minimum sample size is 6 [@thorleysschwartz2018joss], which is consistent with the current methodology for British Columbia [@ccme]. + +Here we report on a series of simulation studies designed to inform a final decision on the default minimum sample size to adopt for both the uni-modal 2 parameter distributions, as well as the bi-modal 5 parameter distributions. + +### Bias and CI coverage and interval width + +#### Simulations based on ssddata + +We used the example datasets in the [`ssddata`](https://github.com/open-AIMS/ssddata) package in R [@ssddata] to undertake a simulation study to examine bias, coverage and confidence interval (CI) widths using the recommended default set of six distributions (lognormal, log-Gumbel, log-logistic, gamma, Weibull, and the lognormal-log-normal mixture), with model averaged estimates obtained using the multi-method, and confidence intervals estimated using the recommended weighted sample bootstrap method (see @fox_methodologies_2024). +A total of 20 unique datasets were extracted from ssddata and used to define the parameters for the simulation study as follows: + + 1. Each dataset was extracted from `ssddata` and fit using the default distribution set as recommended in [@fox_methodologies_2022] and [@fox_methodologies_2024]. + 2. Of the six default distributions, the parameters for the distribution having the highest weight for each dataset was used to generate new random datasets of varying values of N, including (but not limited to): 5 (current ANZG minimum), 6 (current BC minimum), and 8 (current ANZG preferred). + 3. For each randomly generated dataset, `ssdtools` was used to re-fit the data, and model averaged estimates were obtained using the multi-method, with upper and lower confidence limits (CLs) produced using the recommended weighted sample method (see [Confidence Intervals for Hazard Concentrations](https://bcgov.github.io/ssdtools/articles/confidence-intervals.html) vignette). + +The individual ssdtools fits are shown below for each of the 20 simulation datasets from ssddata, for the six recommended default distributions, as well as the model averaged CDF (black line): + +![](images/fitted_dists.png) + +This simulation process was repeated a minimum of 1,000 times for each dataset, and the results collated across all iterations. +For each simulated dataset the true HCx values were obtained directly from the parameter estimates of from data generating distribution. +From these, relative bias was calculated as the scaled-difference between the estimated HCx values and the true HCx value, i.e $$\frac{\widehat {HC}x-HCx}{HCx}$$ where $\widehat {HC}x$ is the estimate of the true value, $HCx$; coverage was calculated as the proportion of simulations where the true $HCx$ value fell within the lower and upper 95% confidence limits; and the scaled confidence interval width was calculated as $$\frac{UL-LL}{HCx}$$ where $UL$ and $LL$ are the upper and lower limits respectively. + +Bias, confidence interval width and coverage as a function of sample size across ~1000 simulations of 20 datasets using the multi model averaging method and the weighted sample method for estimating confidence intervals via ssdtools are shown below: + +![](images/ssdata_sims_collated.png) + +The simulation results showed significant gains in terms of reduced bias from N=5 to N=6, as well as in coverage, which improved substantially between N=5 and N=6. +There is also a small additional gain in coverage at N=7, where the median of the simulations reaches the expected 95% but this is only the case for HC1. + +#### Simulations based on EnviroTox + +In addition to the analysis based on the 20 ssddata example datasets, we also ran an expanded simulation study based on the EnviroTox dataset analysed by Yanagihara et al. (2024). +Combined with the ssddata examples, this includes a total of 353 example datasets to use as case studies. +Using this larger dataset as a basis for simulations, we followed the same procedure as described above to examine relative bias, as well as changes in the AICc weights (see below) for various sample sizes. +Estimates of coverage and confidence interval widths were not obtained for this larger dataset due to the computationally intensive bootstrap method of obtaining confidence intervals. + +Bias of sample size across ~1000 simulations of 353 datasets using the multi model averaging method via ssdtools, for HC5, 10 and 20 (0.05, 0.1, and 0.2) are shown below: + +![](images/all_sims_bias.png) + +Note that simulation results are shown separately for those derived from each of the six distributions as the underlying source data generating distribution. + +The bias results for this larger combined dataset did not show the same level of improvement from N=5 to N=6 as that based on the smaller ssddata simulation. +However, there as a gradual improvement in bias with increasing N. +There is no strong evidence for preferring N=6 over N=7 in the context of bias from either of the simulation studies. +We note that the bias was highest at these small sample sizes for data generated using a gamma distribution, likely reflecting the extreme left-tailed nature of this distribution. + +### AICc based model weights + +Aside from considerations of bias, coverage and confidence interval width, it is also prudent to examine how the weights of the different distributions changed with sample size, for data generated using the six different default distributions, to more fully investigate sample size issues associated with the use of the mixture distributions. +This was examined using the simulation study across the larger combined ssddata and EnviroTox datasets (353 datasets) to ensure a wide range of potential representations of each of the six default distributions was considered. + +Below is a plot of the mean AICc weights as a function of sample size (N) obtained for data simulated using the best fit distribution to 353 datasets. +Results are shown separately for the six different source distributions, with the upper plot (A) showing the AICc weight of the source (data generating) distributions, when fit using the default set of six distributions using ssdtools; and the lower plot (B) showing the AICc weight of the lognormal-lognormal mixture distribution for each of the source (data generating) distributions. + +![](images/weights_collated.png) + +We found that the AICc weights for the five unimodal distributions were relatively similar (~0.2) for very low N. +This is because for small N it is difficult to discern differences between the distributions in the candidate list. +The weights increase to above 0.5 as N increases (i.e. their converge to the true underlying generating distribution at high N, upper plot). +For very low sample sizes (N=5, 6 or 7) the source (data-generating) distribution is not preferentially weighted by the AICc (upper plot, A). + +For the lnorm_lnorm mixture, AICc weights can be >0.5 at relatively N (>8, lower plot, B). +We also looked specifically at the AICc weight of the lognormal-lognormal mixture as one of six distributions in the default candidate set, across simulation based on all six source generating distributions. +This was done to examine the potential for erroneously highly weighting the lognormal-lognormal mixture distribution by chance, when data are generated instead using one of the five unimodal distributions. +For all the unimodal source distributions the lognormal-lognormal mixture never has high AICc weight, even at very high sample sizes (N=256, lower plot, B). +The AICc weights are particularly low for the lnorm_lnorm mixture at low sample sizes for all the uni-modal source distributions (a desirable property) (lower plot, B). + +### Conclusions + +Overall, the results suggest that (relative) bias as a function of N behaves as expected. +The N=6 recommendation appears to be well-supported as coverage is particularly low for N=5, but acceptable for N=6. +The lognormal-lognormal mixture AICc weights suggest that this distribution will only be preferred (i.e. have a high AICc weight) when (i) there is clear evidence of bimodality in the source data; and (ii) large N. + +Based on these results, our recommendation is that only a single minimum sample size of N=6 be adopted (for both unimodal and bimodal), since our results suggest any gains in increasing this to 7 are minimal. + +## The inverse Pareto and inverse Weibull as limiting distributions of the Burr Type-III distribution + +### Burr III distribution + +The probability density function, ${f_X}(x;b,c,k)$ and cumulative distribution function, ${F_X}(x;b,c,k)$ for the Burr III distribution (also known as the *Dagum* distribution) as used in `ssdtools` are + +
+Burr III distribution + +\[\begin{array}{*{20}{c}} +{{f_X}(x;b,c,k) = \frac{{b\,k\,c}}{{{x^2}}}\frac{{{{\left( {\frac{b}{x}} \right)}^{c - 1}}}}{{{{\left[ {1 + {{\left( {\frac{b}{x}} \right)}^c}} \right]}^{k + 1}}}}{\rm{ }}}&{b,c,k,x > 0} +\end{array}\]
\[\begin{array}{*{20}{c}} +{{F_X}(x;b,c,k) = \frac{1}{{{{\left[ {1 + {{\left( {\frac{b}{x}} \right)}^c}} \right]}^k}}}{\rm{ }}}&{b,c,k,x > 0} +\end{array}\] + +
+ +### Inverse Pareto distribution + +Let $X \sim Burr(b,c,k)$ have the *pdf* given in the box above. +It is well known that the distribution of $Y = \frac{1}{X}$ is the *inverse Burr* distribution (also known as the *SinghMaddala* distribution) for which + +\[\begin{array}{*{20}{c}} +{{f_Y}(y;b,c,k) = \frac{{c{\kern 1pt} {\kern 1pt} k{{\left( {\frac{y}{b}} \right)}^c}}}{{y{\kern 1pt} {{\left[ {1 + {{\left( {\frac{y}{b}} \right)}^c}} \right]}^{k + 1}}}}}&{b,c,k,y > 0} +\end{array}\] + +\[\begin{array}{*{20}{c}} +{{F_Y}(y;b,c,k) = 1 - \frac{1}{{{{\left[ {1 + {{\left( {\frac{y}{b}} \right)}^c}} \right]}^k}}}}&{b,c,k,y > 0} +\end{array}\] + +We now consider the limiting distribution when $c \to \infty$ and $k \to 0$ in such a way that the product $ck$ remains constant, i.e. $ck = \lambda$. + +Now, +\[\begin{array}{l} +\mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{F_Y}(y;b,c,k)} \right\} = 1 - \mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \frac{1}{{{{\left[ {1 + {{\left( {\frac{y}{b}} \right)}^c}} \right]}^k}}}\\ +\\ +and\\ +\\ +\mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } {\left[ {1 + {{\left( {\frac{y}{b}} \right)}^c}} \right]^k} = \mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{{\left( {\frac{y}{b}} \right)}^{ck}}{{\left[ {1 + {{\left( {\frac{b}{y}} \right)}^c}} \right]}^k}} \right\}\\ +\\ +and\\ +\\ +\mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{{\left( {\frac{y}{b}} \right)}^{ck}}{{\left[ {1 + {{\left( {\frac{b}{y}} \right)}^c}} \right]}^k}} \right\} = \mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{{\left( {\frac{y}{b}} \right)}^{ck}}} \right\}\mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{{\left[ {1 + {{\left( {\frac{b}{y}} \right)}^c}} \right]}^k}} \right\}\\ + = \mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{{\left( {\frac{y}{b}} \right)}^{ck}}} \right\}\; \cdot \,1\\ + = {\left( {\frac{y}{b}} \right)^\lambda } +\end{array}\] + +Therefore, \[\begin{array}{*{20}{c}} +{\mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{F_Y}(y;b,c,k)} \right\} = 1 - {{\left( {\frac{b}{y}} \right)}^\lambda }}&{y \ge b} +\end{array}\] + +which we recognise as the (American) Pareto distribution. So, if the limiting distribution of $Y = \frac{1}{X}$ is a Pareto distribution, then the limiting distribution of $X = \frac{1}{Y}$ is the (American) *inverse Pareto* distribution + +\[\begin{array}{l} +{f_X}\left( {x;\alpha ,\beta } \right) = \lambda {b^\lambda }{x^{\lambda - 1}};{\rm{ }}0 \le x \le {\textstyle{1 \over b}};{\rm{ }}\lambda {\rm{,}}b > 0\\ +{F_X}\left( {x;\alpha ,\beta } \right) = {\left( {xb} \right)^\lambda };{\rm{ }}0 \le x \le {\textstyle{1 \over b}};{\rm{ }}\lambda {\rm{,}}b > 0 +\end{array}\] + +For completeness, the MLEs of this distribution have closed-form expressions and are given by + +\[\begin{array}{l} +\hat \lambda = {\left[ {\ln \left( {\frac{{{g_X}}}{{\hat b}}} \right)} \right]^{ - 1}}\\ +\hat b = \frac{1}{{\max \left\{ {{X_i}} \right\}}}{\rm{ }} +\end{array}\] + +and $\rm{ }{g_X}$ is the *geometric mean* of the data. + +### Inverse Weibull distribution + +Let $X \sim Burr(b,c,k)$ have the *pdf* given in the box above. We make the transformation $Y = \frac{{b{\kern 1pt} {k^{\tfrac{1}{c}}}{\kern 1pt} \theta }}{X}$ + +where $\theta$ is a parameter (constant). The distribution of $Y$ is also a Burr distribution and has *cdf* ${G_Y}\left( y \right) = 1 - \frac{1}{{{{\left[ {1 + {{\left( {\frac{y}{{{k^{\tfrac{1}{c}}}{\kern 1pt} \theta }}} \right)}^c}} \right]}^k}}}$. + +We are interested in the limiting behaviour of this Burr distribution as $k \to \infty$. + +Now, $\mathop {\lim }\limits_{k \to \infty } {G_Y}\left( y \right) = 1 - \mathop {\lim }\limits_{k \to \infty } {\left[ {1 + {{\left( {\frac{y}{{{k^{\tfrac{1}{c}}}{\kern 1pt} \theta }}} \right)}^c}} \right]^{ - k}}$ + +${ = 1 - \mathop {\lim }\limits_{k \to \infty } {{\left[ {1 + \frac{{{{\left( {\frac{y}{\theta }} \right)}^c}}}{{k{\kern 1pt} }}} \right]}^{ - k}}}$ + +$\begin{matrix} + =1-\exp \left[ -{{\left( \frac{y}{\theta } \right)}^{c}} \right] \\ + \left\{ \text{using the fact that }\underset{n\to \infty }{\mathop{\lim }}\,{{\left( 1+{}^{z}\!\!\diagup\!\!{}_{n}\; \right)}^{-n}}={{e}^{-z}} \right\} \\ +\end{matrix}$ + +We recognise the last expression as the *cdf* of a Weibull distribution with parameters $c$ and $\theta$. + +## References + +
+ +```{r, results = "asis", echo = FALSE} +cat(ssdtools::ssd_licensing_md()) +``` diff --git a/doc/customising-plots.R b/doc/customising-plots.R new file mode 100644 index 00000000..5d69f82b --- /dev/null +++ b/doc/customising-plots.R @@ -0,0 +1,70 @@ +## ----include = FALSE---------------------------------------------------------- +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.width = 6, + fig.height = 4 +) + +## ----warning=FALSE, message=FALSE, fig.alt="A plot of the CCME boron data with the six default distributions."---- +library(ssdtools) +library(ggplot2) + +fits <- ssd_fit_dists(ssddata::ccme_boron) +ssd_plot_cdf(fits) + +## ----fig.alt="A plot of the CCME boron data with the model average distribution and the six default distributions."---- +ssd_plot_cdf(fits, average = NA, big.mark = " ") + + scale_color_manual(name = "Distribution", breaks = c("average", names(fits)), values = 1:7) + + theme_bw() + +## ----fig.alt = "A plot of the CCME boron data."------------------------------- +ggplot(ssddata::ccme_boron) + + geom_ssdpoint(aes(x = Conc)) + + ylab("Probability density") + + xlab("Concentration") + +## ----fig.alt = "A plot of CCME boron data with the ranges of the censored data indicated by horizontal lines."---- +ggplot(ssddata::ccme_boron) + + geom_ssdsegment(aes(x = Conc, xend = Conc * 4)) + + ylab("Probability density") + + xlab("Concenration") + +## ----fig.alt="A plot of the confidence intervals for the CCME boron data."---- +ggplot(boron_pred) + + geom_xribbon(aes(xmin = lcl, xmax = ucl, y = proportion)) + + ylab("Probability density") + + xlab("Concenration") + +## ----fig.alt="A plot of hazard concentrations as dotted lines."--------------- +ggplot() + + geom_hcintersect(xintercept = c(1, 2, 3), yintercept = c(0.05, 0.1, 0.2)) + + ylab("Probability density") + + xlab("Concenration") + +## ----fig.alt="A plot of censored CCME boron data with confidence intervals"---- +gp <- ggplot(boron_pred, aes(x = est)) + + geom_xribbon(aes(xmin = lcl, xmax = ucl, y = proportion), alpha = 0.2) + + geom_line(aes(y = proportion)) + + geom_ssdsegment(data = ssddata::ccme_boron, aes(x = Conc / 2, xend = Conc * 2)) + + geom_ssdpoint(data = ssddata::ccme_boron, aes(x = Conc / 2)) + + geom_ssdpoint(data = ssddata::ccme_boron, aes(x = Conc * 2)) + + scale_y_continuous("Species Affected (%)", labels = scales::percent) + + xlab("Concentration (mg/L)") + + expand_limits(y = c(0, 1)) + +gp + +## ----fig.alt="A plot of censored CCME boron data on log scale with confidence intervals, mathematical and the 5% hazard concentration."---- +gp + + scale_x_log10( + latex2exp::TeX("Boron $(\\mu g$/L)$") + ) + + geom_hcintersect(xintercept = ssd_hc(fits)$est, yintercept = 0.05) + +## ----eval = FALSE------------------------------------------------------------- +# ggsave("file_name.png", dpi = 300) + +## ----results = "asis", echo = FALSE------------------------------------------- +cat(ssdtools::ssd_licensing_md()) + diff --git a/doc/customising-plots.Rmd b/doc/customising-plots.Rmd new file mode 100644 index 00000000..b5b3d415 --- /dev/null +++ b/doc/customising-plots.Rmd @@ -0,0 +1,137 @@ +--- +title: "Customising Plots" +author: "ssdtools Team" +date: '`r format(Sys.time(), "%Y-%m-%d", tz = "UTC")`' +bibliography: references.bib +mathfont: Courier +latex_engine: MathJax +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Customising Plots} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.width = 6, + fig.height = 4 +) +``` + +## Plotting the cumulative distributions + +The `ssdtools` package plots the cumulative distribution functions using `ssd_plot_cdf()`. + +For example, consider the CCME boron data from the [`ssddata`](https://github.com/open-AIMS/ssddata) package. +We can fit, and then plot the cdfs as follows. + +```{r warning=FALSE, message=FALSE, fig.alt="A plot of the CCME boron data with the six default distributions."} +library(ssdtools) +library(ggplot2) + +fits <- ssd_fit_dists(ssddata::ccme_boron) +ssd_plot_cdf(fits) +``` + +This graphic is a [ggplot](https://ggplot2.tidyverse.org) object and so can be customized in the usual way. + +For example, we can add the model-averaged cdf by setting `average = NA`, change the string used to separate thousands using `big.mark`, customize the color scale with `scale_color_manual()` and change the theme. + +```{r, fig.alt="A plot of the CCME boron data with the model average distribution and the six default distributions."} +ssd_plot_cdf(fits, average = NA, big.mark = " ") + + scale_color_manual(name = "Distribution", breaks = c("average", names(fits)), values = 1:7) + + theme_bw() +``` + +## ggplot Geoms + +The `ssdtools` package provides four ggplot geoms to allow you construct your own plots. + +### `geom_ssdpoint()` + +The first is `geom_ssdpoint()` which plots species sensitivity data + +```{r, fig.alt = "A plot of the CCME boron data."} +ggplot(ssddata::ccme_boron) + + geom_ssdpoint(aes(x = Conc)) + + ylab("Probability density") + + xlab("Concentration") +``` + +### `geom_ssdsegments()` + +The second is `geom_ssdsegments()` which plots the ranges of censored species sensitivity data + +```{r, fig.alt = "A plot of CCME boron data with the ranges of the censored data indicated by horizontal lines."} +ggplot(ssddata::ccme_boron) + + geom_ssdsegment(aes(x = Conc, xend = Conc * 4)) + + ylab("Probability density") + + xlab("Concenration") +``` + +### `geom_xribbon()` + +The third is `geom_xribbon()` which plots species sensitivity confidence intervals + +```{r, fig.alt="A plot of the confidence intervals for the CCME boron data."} +ggplot(boron_pred) + + geom_xribbon(aes(xmin = lcl, xmax = ucl, y = proportion)) + + ylab("Probability density") + + xlab("Concenration") +``` + +### `geom_hcintersect()` + +And the fourth is `geom_hcintersect()` which plots hazard concentrations + +```{r, fig.alt="A plot of hazard concentrations as dotted lines."} +ggplot() + + geom_hcintersect(xintercept = c(1, 2, 3), yintercept = c(0.05, 0.1, 0.2)) + + ylab("Probability density") + + xlab("Concenration") +``` + +### Putting it together + +Geoms can be combined as follows + +```{r, fig.alt="A plot of censored CCME boron data with confidence intervals"} +gp <- ggplot(boron_pred, aes(x = est)) + + geom_xribbon(aes(xmin = lcl, xmax = ucl, y = proportion), alpha = 0.2) + + geom_line(aes(y = proportion)) + + geom_ssdsegment(data = ssddata::ccme_boron, aes(x = Conc / 2, xend = Conc * 2)) + + geom_ssdpoint(data = ssddata::ccme_boron, aes(x = Conc / 2)) + + geom_ssdpoint(data = ssddata::ccme_boron, aes(x = Conc * 2)) + + scale_y_continuous("Species Affected (%)", labels = scales::percent) + + xlab("Concentration (mg/L)") + + expand_limits(y = c(0, 1)) + +gp +``` + +To log the x-axis and include mathematical notation and add the HC5 value use the following code. + +```{r, fig.alt="A plot of censored CCME boron data on log scale with confidence intervals, mathematical and the 5% hazard concentration."} +gp + + scale_x_log10( + latex2exp::TeX("Boron $(\\mu g$/L)$") + ) + + geom_hcintersect(xintercept = ssd_hc(fits)$est, yintercept = 0.05) +``` + +## Saving plots + +The most recent plot can be saved as a file using `ggsave()`, which also allows the user to set the resolution. + +```{r, eval = FALSE} +ggsave("file_name.png", dpi = 300) +``` + +
+ +```{r, results = "asis", echo = FALSE} +cat(ssdtools::ssd_licensing_md()) +``` diff --git a/doc/distributions.R b/doc/distributions.R new file mode 100644 index 00000000..e079c254 --- /dev/null +++ b/doc/distributions.R @@ -0,0 +1,315 @@ +## ----include = FALSE---------------------------------------------------------- +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.width = 6, + fig.height = 4 +) + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5, fig.cap="Sample Burr probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +f <- function(x, b, c, k) { + z1 <- (b / x)^(c - 1) + z2 <- (b / x)^c + y <- (b * c * k / x^2) * z1 / (1 + z2)^(k + 1) + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, f(conc, 1, 3, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733") +lines(conc, f(conc, 1, 1, 2), col = "#F2A61C") +lines(conc, f(conc, 1, 2, 2), col = "#1CADF2") +lines(conc, f(conc, 1, 2, 5), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, b, c, k) { + z2 <- (b / x)^c + y <- 1 / (1 + z2)^k + return(y) +} +conc <- seq(0, 10, by = 0.005) +plot(conc, F(conc, 1, 3, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733") +lines(conc, F(conc, 1, 1, 2), col = "#F2A61C") +lines(conc, F(conc, 1, 2, 2), col = "#1CADF2") +lines(conc, F(conc, 1, 2, 5), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5, fig.cap="Sample lognormal lognormal mixture probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +f <- function(x, m1, s1, m2, s2, p) { + y <- p * dlnorm(x, m1, s1) + (1 - p) * dlnorm(x, m2, s2) + return(y) +} + +conc <- seq(0, 5, by = 0.0025) +m1 <- 1 +s1 <- .2 +m2 <- 1.8 +s2 <- 1.5 +p <- 0.25 +plot(conc, f(conc, m1, s1, m2, s2, p), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, f(conc, 0.09, 0.5, 1, 0.08, 0.9), col = "#F2A61C") +lines(conc, f(conc, 0.5, 0.5, 1, 0.08, 0.9), col = "#1CADF2") +lines(conc, f(conc, 0.7, 1.5, 0.5, 0.1, .7), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, m1, s1, m2, s2, p) { + y <- p * plnorm(x, m1, s1) + (1 - p) * plnorm(x, m2, s2) + return(y) +} + +conc <- seq(0, 10, by = 0.0025) +m1 <- 1 +s1 <- .2 +m2 <- 1.8 +s2 <- 1.5 +p <- 0.25 +plot(conc, F(conc, m1, s1, m2, s2, p), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, F(conc, 0.09, 0.5, 1, 0.08, 0.9), col = "#F2A61C") +lines(conc, F(conc, 0.5, 0.5, 1, 0.08, 0.9), col = "#1CADF2") +lines(conc, F(conc, 0.7, 1.5, 0.5, 0.1, .7), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +## ----message=FALSE, echo=FALSE, fig.width=7,fig.height=5, fig.cap="Currently recommended default distributions."---- +library(ssdtools) +library(ggplot2) + +# theme_set(theme_bw()) + +set.seed(7) + +ssd_plot_cdf(ssd_match_moments(meanlog = 2, sdlog = 2)) + + scale_color_ssd() + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample lognormal probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.005) +m1 <- 1 +s1 <- .2 +m2 <- 1.8 +s2 <- 1.5 +p <- 0.25 +plot(conc, dlnorm(conc, m1, s1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, dlnorm(conc, 0.4, 2), col = "#F2A61C") +lines(conc, dlnorm(conc, m1 * 2, s1), col = "#1CADF2") +lines(conc, dlnorm(conc, 0.9, 1.5), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +m1 <- 1 +s1 <- .2 +m2 <- 1.8 +s2 <- 1.5 +p <- 0.25 +plot(conc, plnorm(conc, m1, s1), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, plnorm(conc, 0.4, 2), col = "#F2A61C") +lines(conc, plnorm(conc, m1 * 2, s1), col = "#1CADF2") +lines(conc, plnorm(conc, 0.9, 1.5), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Log logistic probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +f <- function(x, a, b) { + z1 <- (x / a)^(b - 1) + z2 <- (x / a)^b + y <- (b / a) * z1 / (1 + z2)^2 + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, f(conc, 3.2, 3.5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, f(conc, 1.5, 1.5), col = "#F2A61C") +lines(conc, f(conc, 1, 1), col = "#1CADF2") +lines(conc, f(conc, 1, 4), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, a, b) { + z2 <- (x / a)^(-b) + y <- 1 / (1 + z2) + return(y) +} +conc <- seq(0, 10, by = 0.005) +plot(conc, F(conc, 3.2, 3.5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, F(conc, 1.5, 1.5), col = "#F2A61C") +lines(conc, F(conc, 1, 1), col = "#1CADF2") +lines(conc, F(conc, 1, 4), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample gamma probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.005) +plot(conc, dgamma(conc, 5, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, dgamma(conc, 4, 1), col = "#F2A61C") +lines(conc, dgamma(conc, 0.9, 1), col = "#1CADF2") +lines(conc, dgamma(conc, 2, 1.), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +plot(conc, pgamma(conc, 5, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, pgamma(conc, 4, 1), col = "#F2A61C") +lines(conc, pgamma(conc, 0.9, 1), col = "#1CADF2") +lines(conc, pgamma(conc, 2, 1.), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Log-Gumbel probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +f <- function(x, a, b) { + y <- b * exp(-(a * x)^(-b)) / (a^b * x^(b + 1)) + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, f(conc, 0.2, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, f(conc, 0.5, 1.5), col = "#F2A61C") +lines(conc, f(conc, 1, 2), col = "#1CADF2") +lines(conc, f(conc, 10, .5), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, a, b) { + y <- exp(-(a * x)^(-b)) + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, F(conc, 0.2, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, F(conc, 0.5, 1.5), col = "#F2A61C") +lines(conc, F(conc, 1, 2), col = "#1CADF2") +lines(conc, F(conc, 10, .5), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Gompertz probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +f <- function(x, n, b) { + y <- n * b * exp(n + b * x - n * exp(b * x)) + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, f(conc, 0.089, 1.25), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 2)) +lines(conc, f(conc, 0.001, 3.5), col = "#F2A61C") +lines(conc, f(conc, 0.0005, 1.1), col = "#1CADF2") +lines(conc, f(conc, 0.01, 5), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, n, b) { + y <- 1 - exp(-n * exp(b * x - 1)) + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, F(conc, 0.089, 1.25), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, F(conc, 0.001, 3.5), col = "#F2A61C") +lines(conc, F(conc, 0.0005, 1.1), col = "#1CADF2") +lines(conc, F(conc, 0.01, 5), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Weibull probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.005) +plot(conc, dweibull(conc, 4.321, 4.949), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, dweibull(conc, 0.838, 0.911), col = "#F2A61C") +lines(conc, dweibull(conc, 1, 1.546), col = "#1CADF2") +lines(conc, dweibull(conc, 17.267, 7.219), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +plot(conc, pweibull(conc, 4.321, 4.949), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, pweibull(conc, 0.838, 0.911), col = "#F2A61C") +lines(conc, pweibull(conc, 1, 1.546), col = "#1CADF2") +lines(conc, pweibull(conc, 17.267, 7.219), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample North American Pareto probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.005) +plot(conc, extraDistr::dpareto(conc, 3, 2), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.5)) +lines(conc, extraDistr::dpareto(conc, 0.838, 0.911), col = "#F2A61C") +lines(conc, extraDistr::dpareto(conc, 4, 4), col = "#1CADF2") +lines(conc, extraDistr::dpareto(conc, 10, 7), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +plot(conc, extraDistr::ppareto(conc, 3, 2), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, extraDistr::ppareto(conc, 0.838, 0.911), col = "#F2A61C") +lines(conc, extraDistr::ppareto(conc, 4, 4), col = "#1CADF2") +lines(conc, extraDistr::ppareto(conc, 10, 7), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +plot(conc, extraDistr::ppareto(conc, 3, 2), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, extraDistr::ppareto(conc, 0.838, 0.911), col = "#F2A61C") +lines(conc, extraDistr::ppareto(conc, 4, 4), col = "#1CADF2") +lines(conc, extraDistr::ppareto(conc, 10, 7), col = "#1F1CF2") + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Sample North American inverse Pareto probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +f <- function(x, a, b) { + y <- a * (b^a) * x^(a - 1) + return(y) +} + +conc <- seq(0, 10, by = 0.001) +plot(conc, f(conc, 5, 0.1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 0.5)) +lines(conc, f(conc, 3, 0.1), col = "#F2A61C") +lines(conc, f(conc, 0.5, 0.1), col = "#1CADF2") +lines(conc, f(conc, 0.1, 0.1), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, a, b) { + y <- (b * x)^a + return(y) +} + +conc <- seq(0, 10, by = 0.001) +plot(conc, F(conc, 5, 0.1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, F(conc, 3, 0.1), col = "#F2A61C") +lines(conc, F(conc, 0.5, 0.1), col = "#1CADF2") +lines(conc, F(conc, 0.1, 0.1), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample European Pareto probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.005) +plot(conc, actuar::dpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, actuar::dpareto(conc, 2, 3), col = "#F2A61C") +lines(conc, actuar::dpareto(conc, 0.5, 1), col = "#1CADF2") +lines(conc, actuar::dpareto(conc, 10.5, 6.5), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +plot(conc, actuar::ppareto(conc, 1, 1), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, actuar::ppareto(conc, 2, 3), col = "#F2A61C") +lines(conc, actuar::ppareto(conc, 0.5, 1), col = "#1CADF2") +lines(conc, actuar::ppareto(conc, 10.5, 6.5), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample European inverse Pareto probability density (A) and cumulative probability (B) functions."---- +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.001) +plot(conc, actuar::dinvpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 0.8)) +lines(conc, actuar::dinvpareto(conc, 1, 3), col = "#F2A61C") +lines(conc, actuar::dinvpareto(conc, 10, 0.1), col = "#1CADF2") +lines(conc, actuar::dinvpareto(conc, 2.045, 0.98), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.001) +plot(conc, actuar::pinvpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, actuar::pinvpareto(conc, 1, 3), col = "#F2A61C") +lines(conc, actuar::pinvpareto(conc, 10, 0.1), col = "#1CADF2") +lines(conc, actuar::pinvpareto(conc, 2.045, 0.98), col = "#1F1CF2") + +## ----results = "asis", echo = FALSE------------------------------------------- +cat(ssdtools::ssd_licensing_md()) + diff --git a/doc/distributions.Rmd b/doc/distributions.Rmd new file mode 100644 index 00000000..8ab423d4 --- /dev/null +++ b/doc/distributions.Rmd @@ -0,0 +1,837 @@ +--- +title: "Distributions in ssdtools" +author: "ssdtools Team" +date: '`r format(Sys.time(), "%Y-%m-%d", tz = "UTC")`' +bibliography: references.bib +mathfont: Courier +latex_engine: MathJax +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Distributions in ssdtools} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.width = 6, + fig.height = 4 +) +``` + + + + + +## Distributions for SSD modelling + +Many authors have noted that there is no guiding theory in ecotoxicology to justify a particular distributional form for the SSD other than that its domain be restricted to the positive real line [@newman_2000; @Zajdlik_2005; @fox_2016]. +Distributions selected to use in model averaging of SSDs must be bounded by zero given that effect concentrations cannot be negative. +They must also be continuous, and generally unbounded on the right. +Furthermore, the selected distributions within the candidate model set should provide a variety of shapes to capture the diversity of shapes in empirical species sensitivity distributions. + +To date `r length(ssdtools::ssd_dists())` distributions have been implemented in `ssdtools`, although only `r length(ssdtools::ssd_dists_bcanz())` appear in the default set. +Here we provide a detailed account of all `r length(ssdtools::ssd_dists())` of the distributions available in `ssdtools`, and guidance on their use. + +### Original `ssdtools` distributions + +The log-normal, log-logistic and Gamma distributions have been widely used in SSD modelling, and were part of the original distribution set for early releases of `ssdtools` as developed by @thorley_ssdtools_2018. +They were adopted as the default set of three distributions in early updates of `ssdtools` and the associated ShinyApp [@dalgarno_shinyssdtools_2021]. +All three distributions show good convergence properties and are retained as part of the default model set in version 2.0 of `ssdtools`. + +In addition to the log-normal, log-logistic and Gamma distributions, the original version of `ssdtools` as developed by [Thorley and Schwarz (2018)](https://joss.theoj.org/papers/10.21105/joss.01082.pdf) also included three additional distributions in the candidate model set, including the log-gumbel, Gompertz and Weibull distributions. +Of these, the log-Gumbel (otherwise known as the inverse Weibull, see below) shows relatively good convergence [see Figure 32, @fox_methodologies_2022], and is also one of the limiting distributions of the Burr Type 3 distribution implemented in `ssdtools`, and has been retained in the default model set. +The Gompertz and Weibull distributions, however can exhibit unstable behaviour, sometimes showing poor convergence, and therefore been excluded from the default set [see Figure 32, @fox_methodologies_2022] + +### Burr III distribution + +A history of Burrlioz and the primary distributions it used were recently summmarized by @fox_recent_2021. + +> In 2000, Australia and New Zealand (Australian and New Zealand Environment and Conservation Council/Agriculture and Resource Management Council of Australia and New Zealand 2000) adopted an SSD‐based method for deriving WQBs, following a critical review of multiple WQB derivation methods (Warne 1998). +A distinct feature of the method was the use of a 3‐parameter Burr distribution to model the empirical SSD, which was implemented in the Burrlioz software tool (Campbell et al. 2000). +This represented a generalization of the methods previously employed by Aldenberg and Slob (1993) because the log–logistic distribution +was shown to be a specific case of the Burr family (Tadikamalla 1980). +Recent revision of the derivation method recognized that using the 3‐parameter Burr distributions for small sample sizes (<8 species) created additional uncertainty by estimating more parameters than could be justified, essentially overfitting the data (Batley et al. 2018). +Consequently, the method, and the updated software (Burrlioz Ver 2.0), now uses a 2‐parameter log–logistic distribution for these small +data sets, whereas the Burr type III distribution is used for data sets of 8 species or more (Batley et al. 2018; Australian and +New Zealand Guidelines 2018). + +[@fox_recent_2021] + +The probability density function, ${f_X}(x;b,c,k)$ and cumulative distribution function, ${F_X}(x;b,c,k)$ for the Burr III distribution are: + + + + + + + + + +
+ Burr III Distribution + + $$f_X(x;b,c,k) = \frac{{b\,k\,c}}{{x^2}} \frac{{\left( \frac{b}{x} \right)}^{c - 1}}{{\left[ 1 + \left( \frac{b}{x} \right)^c \right]}^{k + 1}}, \quad b, c, k, x > 0$$ + +
+ + $$F_X(x;b,c,k) = \frac{1}{{\left[ 1 + \left( \frac{b}{x} \right)^c \right]}^k}, \quad b, c, k, x > 0$$ + +
+ +
+Burr III distribution + +$${{f_X}(x;b,c,k) = \frac{{b\,k\,c}}{{{x^2}}}\frac{{{{\left( {\frac{b}{x}} \right)}^{c - 1}}}}{{{{\left[ {1 + {{\left( {\frac{b}{x}} \right)}^c}} \right]}^{k + 1}}}}{\rm{ }}} {b,c,k,x > 0}$$ +
+ + +$${{F_X}(x;b,c,k) = \frac{1}{{{{\left[ {1 + {{\left( {\frac{b}{x}} \right)}^c}} \right]}^k}}}{\rm{ }}} {b,c,k,x > 0}$$ +
+ +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5, fig.cap="Sample Burr probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +f <- function(x, b, c, k) { + z1 <- (b / x)^(c - 1) + z2 <- (b / x)^c + y <- (b * c * k / x^2) * z1 / (1 + z2)^(k + 1) + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, f(conc, 1, 3, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733") +lines(conc, f(conc, 1, 1, 2), col = "#F2A61C") +lines(conc, f(conc, 1, 2, 2), col = "#1CADF2") +lines(conc, f(conc, 1, 2, 5), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, b, c, k) { + z2 <- (b / x)^c + y <- 1 / (1 + z2)^k + return(y) +} +conc <- seq(0, 10, by = 0.005) +plot(conc, F(conc, 1, 3, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733") +lines(conc, F(conc, 1, 1, 2), col = "#F2A61C") +lines(conc, F(conc, 1, 2, 2), col = "#1CADF2") +lines(conc, F(conc, 1, 2, 5), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") +``` + +While the Burr type III distribution was adopted as the default distribution in Burrlioz, it is well known (e.g., Tadikamalla (1980)) that the Burr III distribution is related to several other theoretical distributions, some of which only exist as limiting cases of the Burr III, i.e., as one or more of the Burr III parameters approaches either zero or infinity. +The Burrlioz software incorporates logic that aims to identify situations where parameter estimates are tending towards either very large or very small values. +In such cases, fitting a Burr III distribution is abandoned and one of the limiting +distributions is fitted instead. + +Specifically: + + - As c tends to infinity the Burr III distribution tends to the inverse (North American) Pareto distribution (see [technical details](https://bcgov.github.io/ssdtools/articles/E_additional-technical-details.html)) + + - As k tends to infinity the Burr III distribution tends to the inverse Weibull (log-Gumbel) distribution (see [technical details](https://bcgov.github.io/ssdtools/articles/E_additional-technical-details.html)) + +In practical terms, if the Burr III distribution is fitted and k is estimated to be greater than 100, the estimation procedure is carried out again using an inverse Weibull distribution. +Similarly, if c is greater than 80 an (American) Pareto distribution is fitted. This is necessary to +ensure numerical stability. + +Since the Burr type III, inverse Pareto and inverse Weibull (log Gumbel) distributions are used by the Burrlioz software, these have been implemented in `ssdtools`. +However, we have found there are stability issues with both the Burr type III, as well as the inverse Pareto distributions, which currently precludes their inclusion in the default model set (see @fox_methodologies_2022, and below for more details). + +### Bimodal distributions + +The use of statistical mixture-models was promoted by Fox as a convenient and more realistic way of modelling bimodal toxicity data [@fisher2019]. +Although parameter heavy, statistical mixture models provide a better conceptual match to the inherent underlying data generating process since they directly model bimodality as a mixture of 2 underlying univariate distributions that represent, for example, different modes of action [@fox_recent_2021]. +It has been postulated that a mixture-model would only be selected in a model-averaging context when the fit afforded by the mixture is demonstrably better than the fit afforded by any single distribution. +This is a consequence of the high penalty in AICc associated with the increased number of parameters (p in Equation 7 of [@fox_recent_2021]) and will be most pronounced for relatively small sample sizes. + +The TMB version of `ssdtools` now includes the option of fitting two mixture distributions, individually or as part of a model average set. +These can be fitted using `ssdtools` by supplying the strings "llogis_llogis" and/or "lnorm_lnorm" to the *dists* argument in the *ssd_fit_dists* call. + +The underlying code for these mixtures has three components: the likelihood function required for TMB; exported R functions to allow the usual methods for a distribution to be called (p, q and r); and a set of supporting R functions (see @fox_methodologies_2022 Appendix D for more details). +Both mixtures have five parameters - two parameters for each of the component distributions and a mixing parameter (pmix) that defines the weighting of the two distributions in the ‘mixture.’ + +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5, fig.cap="Sample lognormal lognormal mixture probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +f <- function(x, m1, s1, m2, s2, p) { + y <- p * dlnorm(x, m1, s1) + (1 - p) * dlnorm(x, m2, s2) + return(y) +} + +conc <- seq(0, 5, by = 0.0025) +m1 <- 1 +s1 <- .2 +m2 <- 1.8 +s2 <- 1.5 +p <- 0.25 +plot(conc, f(conc, m1, s1, m2, s2, p), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, f(conc, 0.09, 0.5, 1, 0.08, 0.9), col = "#F2A61C") +lines(conc, f(conc, 0.5, 0.5, 1, 0.08, 0.9), col = "#1CADF2") +lines(conc, f(conc, 0.7, 1.5, 0.5, 0.1, .7), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, m1, s1, m2, s2, p) { + y <- p * plnorm(x, m1, s1) + (1 - p) * plnorm(x, m2, s2) + return(y) +} + +conc <- seq(0, 10, by = 0.0025) +m1 <- 1 +s1 <- .2 +m2 <- 1.8 +s2 <- 1.5 +p <- 0.25 +plot(conc, F(conc, m1, s1, m2, s2, p), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, F(conc, 0.09, 0.5, 1, 0.08, 0.9), col = "#F2A61C") +lines(conc, F(conc, 0.5, 0.5, 1, 0.08, 0.9), col = "#1CADF2") +lines(conc, F(conc, 0.7, 1.5, 0.5, 0.1, .7), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") +``` + +
As can be see from the plot above, the mixture distributions provide a highly flexible means of modelling *bimodality* in an emprical SSD. +This happens, for example, when the toxicity data for some toxicant include both animal and plant species, or there are different modes of action operating. +Unfortunately, this increased flexibility comes with a high penalty in the model-averaging process. +The combination of small sample sizes and a high parameter count (typically 5 or more) means that mixture distributions will be down-weighted - even when they do a good job at describing the data. +For this reason, when attempting to model bimodal data, we suggest looking at the fit using the default set of distributions and then examining the fit with just one of either the log-normal mixture or the log-logistic mixture. +Keep in mind that this should only be done if the sample size is not pathologically small. +As a guide, Prof. David Fox recommends as an *absolute minimum* $n \ge 3k + 1$ but preferably $n \ge 5k + 1$ where $k$ is the number of model parameters. + +## Default Distributions + +While there is a variety of distributions available in `ssdtools`, the inclusion of all of them for estimating a model-averaged SSD is not recommended. + +By default, `ssdtools` uses the (corrected) Akaike Information Criterion for small sample size (AICc) as a measure of relative quality of fit for different distributions and as the basis for calculating the model-averaged weights. +However, the choice of distributions used to fit a model-averaged SSD can have a profound effect on the estimated *HCx* values. + +Deciding on a final default set of distributions to adopt using the model averaging approach is non-trivial, and we acknowledge that there is probably no definitive ‘solution’ to this issue. +However, the default set should be underpinned by a guiding principle of parsimony, i.e., the set should be as large as is necessary to cover a wide variety of distributional shapes and contingencies but no bigger. +Further, the default set should result in model-averaged estimates of *HCx* values that: 1) minimise bias; 2) have actual coverages of confidence intervals that are close to the nominal level of confidence; 3) estimated *HCx* and confidence intervals of *HCx* are robust to small changes in the data; and 4) represent a positively continuous distribution that has both right and left tails. + +The `ssdtools` development team has undertaken extensive simulation studies, as well as some detailed technical examinations of the various candidate distributions to examine issues of bias, coverage and numerical stability. +A detailed account of our findings can be found in our report [@fox_methodologies_2022] and are not repeated in detail here, although some of the issues associated with individual distributions are outlined below. + +### Currently recommended default distributions + +The default list of candidate distributions in `ssdtools` is comprised of the following: log-normal; log-logistic; gamma; inverse Weibull (log-Gumbel); Weibull; mixture of two log-normal distributions + +The default distributions are plotted below with a mean of 2 and standard deviation of 2 on the (natural) log concentration scale or around 7.4 on the concentration scale. + +```{r, message=FALSE, echo=FALSE, fig.width=7,fig.height=5, fig.cap="Currently recommended default distributions."} +library(ssdtools) +library(ggplot2) + +# theme_set(theme_bw()) + +set.seed(7) + +ssd_plot_cdf(ssd_match_moments(meanlog = 2, sdlog = 2)) + + scale_color_ssd() +``` + + +## Distributions currently implemented in `ssdtools` + +#### Burr Type III distribution + +The Burr Type 3 is a flexible three parameter distribution can be fitted using `ssdtools` by supplying the string `burrIII3` to the `dists` argument in the `ssd_fit_dists` call. + +
+Burr III distribution + +

See above for details + +
+ +
+The Burr family of distributions has been central to the derivation of guideline values in Australia and New Zealand for over 20 yr [@fox_recent_2021]. While offering a high degree of flexibility, experience with these distributions during that time has repeatedly highlighted numerical stability and convergence issues when parameters are estimated using maximum likelihood [@fox_recent_2021]. +This is thought to be due to the high degree of collinearity between parameter estimates and/or relatively flat likelihood profiles [@fox_recent_2021], and is one of the motivations behind the logic coded into Burrlioz to revert to either of the two limiting distributions. +Burr Type 3 distribution is not currently one of the recommended distributionsin the default model set. +This is because of 1) the convergence issues associated with the Burr Type 3 distribution, 2) the fact that reverting to a limiting two parameter distribution does not fit easily within a model averaging framework, and 3) that one of the two limiting distributions (the inverse Pareto, see below) also has estimation and convergence issues. + +#### Log-normal + +The [log-normal](https://en.wikipedia.org/wiki/Log-normal_distribution) distribution is a commonly used distribution in the natural sciences - particularly as a probability model to describe right (positive)-skewed phenomena such as *concentration* data. + +A random variable, $X$ is lognormally distributed if the *logarithm* of $X$ is normally distributed. The *pdf* of $X$ is given by + +
+Lognormal distribution + +$${f_X}\left( {x;\mu ,\sigma } \right) = \frac{1}{{\sqrt {2\pi } {\kern 1pt} \sigma x}}\exp \left[ { - \frac{{{{\left( {\ln x - \mu } \right)}^2}}}{{2{\sigma ^2}}}} \right]{\rm{ ; }}x,\sigma > 0,\; - \infty < \mu < \infty $$ + +
+ +The lognormal distribution was selected as the starting distribution given the data are for effect concentrations. +The log-normal distribution can be fitted using `ssdtools` supplying the string `lnorm` to the `dists` argument in the `ssd_fit_dists` call. + +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample lognormal probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.005) +m1 <- 1 +s1 <- .2 +m2 <- 1.8 +s2 <- 1.5 +p <- 0.25 +plot(conc, dlnorm(conc, m1, s1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, dlnorm(conc, 0.4, 2), col = "#F2A61C") +lines(conc, dlnorm(conc, m1 * 2, s1), col = "#1CADF2") +lines(conc, dlnorm(conc, 0.9, 1.5), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +m1 <- 1 +s1 <- .2 +m2 <- 1.8 +s2 <- 1.5 +p <- 0.25 +plot(conc, plnorm(conc, m1, s1), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, plnorm(conc, 0.4, 2), col = "#F2A61C") +lines(conc, plnorm(conc, m1 * 2, s1), col = "#1CADF2") +lines(conc, plnorm(conc, 0.9, 1.5), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") +``` + +#### Log-logistic distribution + +Like the *lognormal* distribution, the [log-logistic](https://en.wikipedia.org/wiki/Log-logistic_distribution) is similarly defined, that is: if $X$ has a log-logistic distribution, then $Y = \ln (X)$ has a *logistic* distribution. + +
+ + + + + + + + + + + + + + + + + + + + + +Log-logistic distribution + +$${{f_Y}\left( {y;\alpha ,\beta } \right) = \frac{{\left( {{\raise0.5ex\hbox{$\scriptstyle \beta $} +\kern-0.1em/\kern-0.15em +\lower0.25ex\hbox{$\scriptstyle \alpha $}}} \right){{\left( {{\raise0.5ex\hbox{$\scriptstyle y$} +\kern-0.1em/\kern-0.15em +\lower0.25ex\hbox{$\scriptstyle \alpha $}}} \right)}^{\beta - 1}}}}{{{{\left[ {1 + {{\left( {{\raise0.5ex\hbox{$\scriptstyle y$} +\kern-0.1em/\kern-0.15em +\lower0.25ex\hbox{$\scriptstyle \alpha $}}} \right)}^\beta }} \right]}^2}}};} {y,}$$ + +$${{F_Y}\left( {y;\alpha ,\beta } \right) = \frac{{{{\left( {{\raise0.5ex\hbox{$\scriptstyle y$} +\kern-0.1em/\kern-0.15em +\lower0.25ex\hbox{$\scriptstyle \alpha $}}} \right)}^\beta }}}{{1 + {{\left( {{\raise0.5ex\hbox{$\scriptstyle y$} +\kern-0.1em/\kern-0.15em +\lower0.25ex\hbox{$\scriptstyle \alpha $}}} \right)}^\beta }}};} {y,}$$ + +$$\alpha ,\beta > 0$$ + +
+ +
letting $\mu = \ln \left( \alpha \right)$ and $s = \frac{1}{\beta }$ we have: + +
+Logistic distribution + +$${{f_X}\left( {x;\mu ,s} \right) = \frac{{{e^{ - x}}}}{{{{\left( {1 + {e^{ - x}}} \right)}^2}}};} {x,s > 0,\; - \infty < \mu < \infty }$$ + +$${{F_X}\left( {x;\mu ,s} \right) = \frac{1}{{1 + {e^{ - \frac{{\left( {x - \mu } \right)}}{s}}}}};} {x,s > 0,\; - \infty < \mu < \infty }$$ +
+ + +
+The log-logistic distribution is often used as a candidate SSD primarily because of its analytic tractability [@aldenberg_confidence_1993]. +We included it because it has wider tails than the log-normal and because it is a specific case of the more general Burr family of distributions [@shao_estimation_2000, @burr_cumulative_1942]. +The log-logistic distribution can be fitted using `ssdtools` by supplying the string `lnorm` to the `dists` argument in the `ssd_fit_dists` call. + +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Log logistic probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +f <- function(x, a, b) { + z1 <- (x / a)^(b - 1) + z2 <- (x / a)^b + y <- (b / a) * z1 / (1 + z2)^2 + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, f(conc, 3.2, 3.5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, f(conc, 1.5, 1.5), col = "#F2A61C") +lines(conc, f(conc, 1, 1), col = "#1CADF2") +lines(conc, f(conc, 1, 4), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, a, b) { + z2 <- (x / a)^(-b) + y <- 1 / (1 + z2) + return(y) +} +conc <- seq(0, 10, by = 0.005) +plot(conc, F(conc, 3.2, 3.5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, F(conc, 1.5, 1.5), col = "#F2A61C") +lines(conc, F(conc, 1, 1), col = "#1CADF2") +lines(conc, F(conc, 1, 4), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") +``` + +#### Gamma distribution +The two-parameter [gamma](https://en.wikipedia.org/wiki/Gamma_distribution) distribution has the following *pdf* and *cdf*. + +
+Gamma distribution + +$${{f_X}\left( {x;b,c} \right) = \frac{{{x^{c - 1}}{e^{ - \left( {\frac{x}{b}} \right)}}}}{{{b^c}\,\Gamma \left( c \right)}}} {0 \le x}$$ + +$${{F_X}\left( {x;b,c} \right) = \frac{1}{{\,\Gamma \left( c \right)}}\,\gamma \left( {c,\frac{x}{b}} \right)} {0 \le x}$$ +$$ < \infty ;b,c > 0$$ + +
+ +
where $\Gamma \left( \cdot \right)$ is the *gamma* function (in `R` this is simply `gamma(x)`) and $\gamma \left( \cdot \right)$ is the (lower) *incomplete gamma* function \[\gamma \left( {x,a} \right) = \int\limits_0^x {{t^{a - 1}}} \,{e^{ - t}}\,dt\] (this can be computed using the `gammainc` function from the `pracma` package in `R`). + +For use in modeling species sensitivity data, the gamma distribution has two key features that provide additional flexibility relative to the log-normal distribution: 1) it is asymmetrical on the logarithmic scale; and 2) it has wider tails. + +The gamma distribution can be fitted using `ssdtools` by supplying the string "gamma" to the *dists* argument in the *ssd_fit_dists* call. + +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample gamma probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.005) +plot(conc, dgamma(conc, 5, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, dgamma(conc, 4, 1), col = "#F2A61C") +lines(conc, dgamma(conc, 0.9, 1), col = "#1CADF2") +lines(conc, dgamma(conc, 2, 1.), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +plot(conc, pgamma(conc, 5, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, pgamma(conc, 4, 1), col = "#F2A61C") +lines(conc, pgamma(conc, 0.9, 1), col = "#1CADF2") +lines(conc, pgamma(conc, 2, 1.), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") +``` + +#### Log-gumbel (inverse Weibull) distribution + +The log-gumbel distribution is a two-parameter distribution commonly used to model extreme values. +The log-gumbel distribution can be fitted using `ssdtools` by supplying the string `lgumbel` to the `dists` argument in the `ssd_fit_dists` call. +The two-parameter log-gumbel distribution has the following *pdf* and *cdf*: + +
+Log-Gumbel distribution + +$${{f_X}\left( {x;\alpha ,\beta } \right) = \frac{{\beta \,{e^{ - {{(\alpha x)}^{ - \beta }}}}}}{{{\alpha ^\beta }\,{x^{\beta + 1}}}}} ;\quad x,\alpha ,\beta > 0\\$$ + +$${{F_X}\left( {x;\alpha ,\beta } \right) = {e^{ - {{(\alpha x)}^{ - \beta }}}}} ;\quad x,\alpha ,\beta > 0$$ + +
+ + + + + + + + + + + +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Log-Gumbel probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +f <- function(x, a, b) { + y <- b * exp(-(a * x)^(-b)) / (a^b * x^(b + 1)) + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, f(conc, 0.2, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, f(conc, 0.5, 1.5), col = "#F2A61C") +lines(conc, f(conc, 1, 2), col = "#1CADF2") +lines(conc, f(conc, 10, .5), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, a, b) { + y <- exp(-(a * x)^(-b)) + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, F(conc, 0.2, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) +lines(conc, F(conc, 0.5, 1.5), col = "#F2A61C") +lines(conc, F(conc, 1, 2), col = "#1CADF2") +lines(conc, F(conc, 10, .5), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") +``` + + +#### Gompertz distribution + +The Gompertz distribution is a flexible distribution that exhibits both positive and negative skewness. +The Gompertz distribution can be fitted using `ssdtools` by supplying the string `gompertz` to the `dists` argument in the `ssd_fit_dists` call. +We consider two parameterisations of the Gompertz distribution. +The first, as given in [Wikipedia](https://en.wikipedia.org/wiki/Gompertz_distribution) and also used in `ssdtools` [Gompertz] has the following *pdf* and *cdf*: + +
+Gompertz distribution: Parameterisation I + + + + + + + + + + +$${{f_X}\left( {x;\eta ,b} \right) = b{\kern 1pt} \eta \exp \left( {\eta + bx - \eta {e^{bx}}} \right)} ; \quad 0 \le x < \infty ,\eta ,b > 0\\$$ + + +$${{F_X}\left( {x;\eta ,b} \right) = 1 - \exp \left[ { - \eta \left( {{e^{bx}} - 1} \right)} \right]} ; \quad 0 \le x < \infty ,\eta ,b > 0$$ + + +
+ +The second parameterisation in which the *product* $b\eta$ in the formulae above is replaced by the parameter $a$ giving: + +
+Gompertz distribution: Parameterisation II + + + + + + + + + + +$${{f_X}(x;a,b) = \frac{a}{b}\;{e^{\frac{x}{b}}}\;\exp \left[ { - a\left( {{e^{\frac{x}{b}}}\; - 1} \right)} \right]} {;\quad 0 \le x < \infty,a,b > 0}$$ + +$${{F_X}(x;a,b) = 1 - \;\exp \left[ { - a\left( {{e^{\frac{x}{b}}}\; - 1} \right)} \right]} {;\quad 0 \le x < \infty,a,b > 0}$$ + +
+ +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Gompertz probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +f <- function(x, n, b) { + y <- n * b * exp(n + b * x - n * exp(b * x)) + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, f(conc, 0.089, 1.25), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 2)) +lines(conc, f(conc, 0.001, 3.5), col = "#F2A61C") +lines(conc, f(conc, 0.0005, 1.1), col = "#1CADF2") +lines(conc, f(conc, 0.01, 5), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, n, b) { + y <- 1 - exp(-n * exp(b * x - 1)) + return(y) +} + +conc <- seq(0, 10, by = 0.005) +plot(conc, F(conc, 0.089, 1.25), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, F(conc, 0.001, 3.5), col = "#F2A61C") +lines(conc, F(conc, 0.0005, 1.1), col = "#1CADF2") +lines(conc, F(conc, 0.01, 5), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") +``` + +The Gompertz distribution is available in `ssdtools`, however parameter estimation can be somewhat unstable [@fox_methodologies_2022], and for this reason it is not currently included in the default set. + +#### Weibull distribution + +The inclusion of the Weibull distribution and inverse Pareto distribution (see next) in `ssdtools` was primarily necessitated by the need to maintain consistency with the calculations undertaken in `Burrlioz`. +As mentioned earlier, both the Weibull and inverse Pareto distributions arise as *limiting distributions* when the Burr parameters $c$ and $k$ tend to either zero and/or infinity in specific ways. + +The two-parameter [Weibull](https://en.wikipedia.org/wiki/Weibull_distribution) distribution has the following *pdf* and *cdf*: + +
+Weibull distribution + + + + + + + + + + +$${{f_X}(x;a,b) = \frac{c}{\theta }\,{{\left( {\frac{x}{\theta }} \right)}^{c - 1}}{e^{ - {{\left( {\frac{x}{\theta }} \right)}^c}}}} {;\quad 0 \le x < \infty ,c,\theta > 0}$$ + + +$${{F_X}(x;a,b) = 1 - \;{e^{ - {{\left( {\frac{x}{\theta }} \right)}^c}}}} {;\quad 0 \le x < \infty ,c,\theta > 0}$$ + +
+ +The Weibull distribution can be fitted in `ssdtools` by supplying the string `weibull` to the `dists` argument in the `ssd_fit_dists` call. + +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Weibull probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.005) +plot(conc, dweibull(conc, 4.321, 4.949), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, dweibull(conc, 0.838, 0.911), col = "#F2A61C") +lines(conc, dweibull(conc, 1, 1.546), col = "#1CADF2") +lines(conc, dweibull(conc, 17.267, 7.219), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +plot(conc, pweibull(conc, 4.321, 4.949), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, pweibull(conc, 0.838, 0.911), col = "#F2A61C") +lines(conc, pweibull(conc, 1, 1.546), col = "#1CADF2") +lines(conc, pweibull(conc, 17.267, 7.219), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") +``` + + +#### Inverse Pareto distribution + +The inverse Pareto distribution can be fitted using `ssdtools` by supplying the string `invpareto` to the `dists` argument in the `ssd_fit_dists` call. + +While the inverse Pareto distribution is implemented in the `Burrlioz 2.0` software, it is important to understand that it is done so only as one of the limiting Burr distributions (see [technical details](https://bcgov.github.io/ssdtools/articles/E_additional-technical-details.html)). +The inverse Pareto is not offered as a stand-alone option in the `Burrlioz 2.0` software. We have spent considerable time and effort exploring the properties of the inverse Pareto distribution, including deriving bias correction equations and alternative methods for deriving confidence intervals [@fox_methodologies_2022]. +This work has substantial value for improving the current `Burrlioz 2.0` method, and our bias corrections should be adopted when deriving *HCx* estimates from the inverse Pareto where parameters have been estimated using maximum likelihood. + +As is the case with the `Burrlioz 2.0` software, we have decided not to include the inverse Pareto distribution in the default candidate set in `ssdtools` although it is offered ass a user-selectable distribution to use in the model-fitting process. + +As with many statistical distributions, different 'variants' exist. These 'variants' are not so much different distributions as they are simple re-parameterisations. +For example, many distributions have a *scale* parameter, $\beta$ and some authors and texts will use $\beta$ while others use $\frac{1}{\beta }$. +An example of this re-parameterisation was given above for the Gompertz distribution. +While the choice of mathematical representation may be purely preferential, it is sometimes done for mathematical convenience. +For example, Parameterisation I of the Gompertz distribution above was obtained by letting $a = b\eta$ in Parameterisation II. +This re-expression involving parameters $b$ and $\eta$ would be particularly useful when trying to fit a distribution for which one of $\left\{ {b,\,\eta } \right\}$ was very small and the other was very large. + +It has already been noted that the particular parameterisation of the (Inverse)Pareto distribution used in both `Burrlioz 2.0` and `ssdtools` was **not** a matter of preference, but rather was dictated by mathematical considerations which demonstrated convergence of the Burr distribution to one specific version of the (Inverse)Pareto distribution. +While the mathematics provides an elegant solution to an otherwise problematic situation, this version of the (Inverse)Pareto distribution is not particularly use as a stand-alone distribution for fitting an SSD (other than as a special, limiting case of the Burr distribution). + +The two versions of the (Inverse)Pareto distribution are known as the *European* and *North American* versions. Their *pdfs* and *cdfs* are given below. + +
+ +
+                    (Inverse)Pareto distribution - North American version

Pareto distribution
+ + + + + + + + + + + + + + + + + + + + +$${{f_X}\left( {x;\alpha ,\beta } \right) = \alpha {\kern 1pt} {\beta ^\alpha }{\kern 1pt} {x^{ - \left( {\alpha + 1} \right)}}} ; \quad x > \beta ;\;\alpha ,\beta > 0\\$$ + + +$${{F_X}\left( {x;\alpha ,\beta } \right) = 1 - {{\left( {\frac{\beta }{x}} \right)}^\alpha }}; \quad x > \beta ;\;\alpha ,\beta > 0$$ + + +Now, if X has the Pareto distribution above, then \[Y = \frac{1}{X}\] has an inverse Pareto distribution.

inverse Pareto distribution + + +$${{g_Y}\left( {y;\alpha ,\beta } \right) = \alpha {\kern 1pt} {\beta ^\alpha }{\kern 1pt} {y^{\alpha - 1}}} ;\quad y \le \frac{1}{\beta };\;\;\alpha ,\beta > 0\\$$ + +$${{G_Y}\left( {y;\alpha ,\beta } \right) = {{\left( {\beta \,y} \right)}^\alpha }}; \quad 0 < y \le \frac{1}{\beta };\;\;\alpha ,\beta > 0$$ + +
+ +

Importantly, we see that the *North American* versions of these distributions are bounded with the Pareto distribution bounded **below** by $\beta$ and the inverse Pareto distribution bounded *above* by $\frac{1}{\beta }$.
As an aside, the *mle* of $\beta$ in the Pareto distribution is \[\hat \beta = \min \left\{ {{X_1}, \ldots ,{X_n}} \right\}\] and the *mle* of $\frac{1}{\beta }$ in the inverse Pareto is \[\begin{array}{*{20}{l}} +{\tilde \beta = \max \left\{ {{Y_1}, \ldots ,{Y_n}} \right\}}\\ +{\quad = \max \left\{ {\frac{1}{{{X_1}}}, \ldots ,\frac{1}{{{X_n}}}} \right\} = \frac{1}{{\min \left\{ {{X_1}, \ldots ,{X_n}} \right\}}}}\\ +{\quad = \frac{1}{{\hat \beta }}} +\end{array}\]. + +and the *mle* of $\alpha$ is: \[\hat \alpha = {\left[ {\ln \left( {\frac{g}{{\hat \beta }}} \right)} \right]^{ - 1}}\] where $g$ is the *geometric mean*: \[g = {\left[ {\prod\limits_{i = 1}^n {{X_i}} } \right]^{\frac{1}{n}}}\] + +Thus, it doesn't matter whether you're fitting a Pareto or inverse Pareto distribution to your data - the parameter estimates are the same. + +Because it is *bounded*, the North American version of the (Inverse)Pareto distribution is not useful as a stand-alone SSD - more so for the *inverse Pareto* distribution since it is bounded from *above*. + +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample North American Pareto probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.005) +plot(conc, extraDistr::dpareto(conc, 3, 2), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.5)) +lines(conc, extraDistr::dpareto(conc, 0.838, 0.911), col = "#F2A61C") +lines(conc, extraDistr::dpareto(conc, 4, 4), col = "#1CADF2") +lines(conc, extraDistr::dpareto(conc, 10, 7), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +plot(conc, extraDistr::ppareto(conc, 3, 2), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, extraDistr::ppareto(conc, 0.838, 0.911), col = "#F2A61C") +lines(conc, extraDistr::ppareto(conc, 4, 4), col = "#1CADF2") +lines(conc, extraDistr::ppareto(conc, 10, 7), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +plot(conc, extraDistr::ppareto(conc, 3, 2), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, extraDistr::ppareto(conc, 0.838, 0.911), col = "#F2A61C") +lines(conc, extraDistr::ppareto(conc, 4, 4), col = "#1CADF2") +lines(conc, extraDistr::ppareto(conc, 10, 7), col = "#1F1CF2") +``` + +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Sample North American inverse Pareto probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +f <- function(x, a, b) { + y <- a * (b^a) * x^(a - 1) + return(y) +} + +conc <- seq(0, 10, by = 0.001) +plot(conc, f(conc, 5, 0.1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 0.5)) +lines(conc, f(conc, 3, 0.1), col = "#F2A61C") +lines(conc, f(conc, 0.5, 0.1), col = "#1CADF2") +lines(conc, f(conc, 0.1, 0.1), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +F <- function(x, a, b) { + y <- (b * x)^a + return(y) +} + +conc <- seq(0, 10, by = 0.001) +plot(conc, F(conc, 5, 0.1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, F(conc, 3, 0.1), col = "#F2A61C") +lines(conc, F(conc, 0.5, 0.1), col = "#1CADF2") +lines(conc, F(conc, 0.1, 0.1), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") +``` + +We see from the *pdf* plots that the alternative, *European* version of the inverse Pareto distribution is a more realistic candidate. + +
+ +
+                    (Inverse)Pareto distribution - European version

Pareto distribution
+ + +$${{f_X}\left( {x;\alpha ,\beta } \right) = \frac{{\alpha \,\beta \,{x^{\alpha - 1}}}}{{{{\left( {x + \beta } \right)}^{\alpha + 1}}}}} ; \quad x,\;\alpha ,\beta > 0\\$$ + + +$${{F_X}\left( {x;\alpha ,\beta } \right) = 1 - {{\left( {\frac{\beta }{{x + \beta }}} \right)}^\alpha }}; +\quad x,\;\alpha ,\beta > 0$$ + + +Now, if X has the Pareto distribution above, then \[Y = \frac{1}{X}\] has an inverse Pareto distribution.

inverse Pareto distribution + +$${{g_Y}\left( {y;\alpha ,\beta } \right) = \frac{{\alpha {\kern 1pt} {\beta ^\alpha }{\kern 1pt} {y^{\alpha - 1}}}}{{{{\left( {1 + \beta y} \right)}^{\alpha + 1}}}}}; +\quad y,\;\alpha ,\beta > 0\\$$ + + +$${{G_Y}\left( {y;\alpha ,\beta } \right) = {{\left( {\frac{{\beta y}}{{1 + \beta y}}} \right)}^\alpha }}; +\quad y,\;\alpha ,\beta > 0$$ + +
+ +We note in passing that *both* versions of these Pareto and inverse Pareto distrbutions are available in `R`. +For example, the `R`package `extraDistr` has North American versions, while the `actuar` package has European versions. + +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample European Pareto probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.005) +plot(conc, actuar::dpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, actuar::dpareto(conc, 2, 3), col = "#F2A61C") +lines(conc, actuar::dpareto(conc, 0.5, 1), col = "#1CADF2") +lines(conc, actuar::dpareto(conc, 10.5, 6.5), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.005) +plot(conc, actuar::ppareto(conc, 1, 1), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, actuar::ppareto(conc, 2, 3), col = "#F2A61C") +lines(conc, actuar::ppareto(conc, 0.5, 1), col = "#1CADF2") +lines(conc, actuar::ppareto(conc, 10.5, 6.5), col = "#1F1CF2") +legend("topleft", "(B)", bty = "n") +``` + +```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample European inverse Pareto probability density (A) and cumulative probability (B) functions."} +par(mfrow = c(1, 2)) + +conc <- seq(0, 10, by = 0.001) +plot(conc, actuar::dinvpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 0.8)) +lines(conc, actuar::dinvpareto(conc, 1, 3), col = "#F2A61C") +lines(conc, actuar::dinvpareto(conc, 10, 0.1), col = "#1CADF2") +lines(conc, actuar::dinvpareto(conc, 2.045, 0.98), col = "#1F1CF2") +legend("topleft", "(A)", bty = "n") + +conc <- seq(0, 10, by = 0.001) +plot(conc, actuar::pinvpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) +lines(conc, actuar::pinvpareto(conc, 1, 3), col = "#F2A61C") +lines(conc, actuar::pinvpareto(conc, 10, 0.1), col = "#1CADF2") +lines(conc, actuar::pinvpareto(conc, 2.045, 0.98), col = "#1F1CF2") +``` + +#### Inverse Weibull distribution (see log-Gumbel, above) + +The inverse Weibull is mathematically equivalent to the log-Gumbel distribution described above. +While which is also a limiting distribution of the Burr Type 3, this distribution does not show the same instability issues, and is unbounded to the right. +It therefore represents a valid SSD distribution and is included in the default model set as a distribution in its own right. + +The inverse Weibull (log-Gumbel) distribution can be fitted in `ssdtools` by supplying the string `lgumbel` to the `dists` argument in the `ssd_fit_dists` call. + +## Relationships among distributions in `ssdtools` + +##### NOTES +1. In the diagram below, $X$ denotes the random variable in the box at the *beginning* of the arrow and the expression beside the arrow indicates the mathematical transformation of $X$ such that the resultant *transformed* data has the distribution identified in the box at the *end* of the arrow. + +2. *Reciprocal* transformations ($\frac{1}{X}$) are **bi-directional** ($\leftrightarrow$). + +3. Although the *negative exponential* distribution is **not** explicitly included in `ssdtools`, it is a special case of the *gamma* distribution with $c=1$. It is included in this figure as it is related to other distributions that *are* included in `ssdtools`. + +4. The *European* versions of the Pareto and inverse Pareto distributions are **unbounded**; the *North American* versions are **bounded**. + + +
+ +![](images/relationships.png){width=100%} + +## References + +
+ +```{r, results = "asis", echo = FALSE} +cat(ssdtools::ssd_licensing_md()) +``` diff --git a/doc/model-averaging.R b/doc/model-averaging.R new file mode 100644 index 00000000..27ed1e72 --- /dev/null +++ b/doc/model-averaging.R @@ -0,0 +1,173 @@ +## ----include = FALSE---------------------------------------------------------- +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.width = 6, + fig.height = 4 +) +library(tinytex) + +## ----include=FALSE------------------------------------------------------------ +# this just loads the package and suppresses the load package message +library(ssdtools) +require(ggplot2) + +## ----echo=FALSE,warning=FALSE, message=FALSE,class.output="scroll-100"-------- +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +print(samp) +# knitr::kable(samp,caption="Some toxicity data (concentrations)") + +## ----echo=FALSE,fig.cap="Emprirical cdf (black); Model 1(green); and Model 2 (blue)", fig.width=7,fig.height=4.5---- +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +samp <- sort(samp) +plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") +xx <- seq(0.01, 3, by = 0.01) +lines(xx, plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10]))), col = "#77d408") +lines(xx, plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))), col = "#08afd4") +# lines(xx,(0.4419*plnorm(xx,meanlog=mean(log(samp[5:15])),sd=sd(log(samp[5:15])))+ +# 0.5581*plnorm(xx,meanlog=mean(log(samp[1:10])),sd=sd(log(samp[1:10])))) ,col="#d40830") + +## ----echo=FALSE,fig.cap="Empirical cdf (black); Model 1(green); Model 2 (blue); and averaged Model (red)",fig.width=7,fig.height=4.5---- +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +samp <- sort(samp) +plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") +xx <- seq(0.01, 3, by = 0.01) +lines(xx, plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10]))), col = "#77d408") +lines(xx, plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))), col = "#08afd4") +lines(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + + 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), col = "#d40830") + +## ----echo=TRUE---------------------------------------------------------------- +# Model 1 HC20 +cat("Model 1 HC20 =", qlnorm(0.2, -1.067, 0.414)) + +# Model 2 HC20 +cat("Model 2 HC20 =", qlnorm(0.2, -0.387, 0.617)) + +## ----echo=FALSE,fig.width=7,fig.height=5-------------------------------------- +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +samp <- sort(samp) +xx <- seq(0.01, 3, by = 0.01) + + +plot(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + + 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), +col = "#d40830", type = "l", xlab = "Concentration", ylab = "Probability" +) +segments(0.33, -1, 0.33, 0.292, col = "blue", lty = 21) +segments(-1, 0.292, 0.33, 0.292, col = "blue", lty = 21) +mtext("0.3", side = 2, at = 0.3, cex = 0.8, col = "blue") +mtext("0.33", side = 1, at = 0.33, cex = 0.8, col = "blue") + +## ----echo=FALSE, fig.width=8,fig.height=6------------------------------------- +t <- seq(0.01, 0.99, by = 0.001) + + +F <- 0.4419 * qlnorm(t, -1.067, 0.414) + 0.5581 * qlnorm(t, -0.387, 0.617) + +plot(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + + 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), +col = "#d40830", type = "l", xlab = "Concentration", ylab = "Probability" +) + +lines(F, t, col = "#51c157", lwd = 1.75) + +segments(-1, 0.2, 0.34, 0.2, col = "black", lty = 21, lwd = 2) +segments(0.28, 0.2, 0.28, -1, col = "red", lty = 21, lwd = 2) +segments(0.34, 0.2, 0.34, -1, col = "#51c157", lty = 21, lwd = 2) +segments(1.12, -1, 1.12, 0.9, col = "grey", lty = 21, lwd = 1.7) + +text(0.25, 0.6, "Correct MA-SSD", col = "red", cex = 0.75) +text(0.75, 0.4, "Erroneous MA-SSD", col = "#51c157", cex = 0.75) +mtext("1.12", side = 1, at = 1.12, cex = 0.8, col = "grey") + +## ----echo=FALSE,warning=FALSE, results="markup",message=FALSE,class.output="scroll-100"---- +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +print(samp) +# knitr::kable(samp,caption="Some toxicity data (concentrations)") + +## ----echo=TRUE,results='hide',warning=FALSE,message=FALSE--------------------- +dat <- data.frame(Conc = c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59)) +library(goftest) +library(EnvStats) # this is required for the Pareto cdf (ppareto) + +# Examine the fit for the gamma distribution (NB: parameters estimated from the data) +cvm.test(dat$Conc, null = "pgamma", shape = 2.0591977, scale = 0.3231032, estimated = TRUE) + +# Examine the fit for the lognormal distribution (NB: parameters estimated from the data) +cvm.test(dat$Conc, null = "plnorm", meanlog = -0.6695120, sd = 0.7199573, estimated = TRUE) + +# Examine the fit for the Pareto distribution (NB: parameters estimated from the data) +cvm.test(dat$Conc, null = "ppareto", location = 0.1800000, shape = 0.9566756, estimated = TRUE) + +## ----echo=FALSE,fig.cap="Emprirical cdf (black); lognormal (green); gamma (blue); and Pareeto (red)", fig.width=7,fig.height=4.5---- +library(EnvStats) +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +samp <- sort(samp) +plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") +xx <- seq(0.01, 3, by = 0.01) +lines(xx, plnorm(xx, meanlog = -0.6695120, sd = 0.7199573), col = "#77d408") +lines(xx, pgamma(xx, shape = 2.0591977, scale = 0.3231032), col = "#08afd4") +lines(xx, ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "red") +# lines(xx,(0.4419*plnorm(xx,meanlog=mean(log(samp[5:15])),sd=sd(log(samp[5:15])))+ +# 0.5581*plnorm(xx,meanlog=mean(log(samp[1:10])),sd=sd(log(samp[1:10])))) ,col="#d40830") + +## ----echo=TRUE---------------------------------------------------------------- +sum(log(dgamma(dat$Conc, shape = 2.0591977, scale = 0.3231032))) +sum(log(dlnorm(dat$Conc, meanlog = -0.6695120, sdlog = 0.7199573))) +sum(log(EnvStats::dpareto(dat$Conc, location = 0.1800000, shape = 0.9566756))) + +## ----echo=FALSE,results='markup'---------------------------------------------- +dat <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +k <- 2 # number of parameters for each of the distributions +# Gamma distribution +aic1 <- 2 * k - 2 * sum(log(dgamma(dat, shape = 2.0591977, scale = 0.3231032))) +cat("AIC for gamma distribution =", aic1, "\n") + +# lognormal distribution +aic2 <- 2 * k - 2 * sum(log(dlnorm(dat, meanlog = -0.6695120, sdlog = 0.7199573))) +cat("AIC for lognormal distribution =", aic2, "\n") + +# Pareto distribution +aic3 <- 2 * k - 2 * sum(log(EnvStats::dpareto(dat, location = 0.1800000, shape = 0.9566756))) +cat("AIC for Pareto distribution =", aic3, "\n") + +## ----echo=TRUE,results='hide'------------------------------------------------- +dat <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +aic <- NULL +k <- 2 # number of parameters for each of the distributions + + +aic[1] <- 2 * k - 2 * sum(log(dgamma(dat, shape = 2.0591977, scale = 0.3231032))) # Gamma distribution + +aic[2] <- 2 * k - 2 * sum(log(dlnorm(dat, meanlog = -0.6695120, sdlog = 0.7199573))) # lognormal distribution + +aic[3] <- 2 * k - 2 * sum(log(EnvStats::dpareto(dat, location = 0.1800000, shape = 0.9566756))) # Pareto distribution + +delta <- aic - min(aic) # compute the delta values + +aic.w <- exp(-0.5 * delta) +aic.w <- round(aic.w / sum(aic.w), 4) + +cat( + " AIC weight for gamma distribution =", aic.w[1], "\n", + "AIC weight for lognormal distribution =", aic.w[2], "\n", + "AIC weight for pareto distribution =", aic.w[3], "\n" +) + +## ----echo=FALSE,fig.cap="Empirical cdf (black) and model-averaged fit (magenta)",fig.width=8,fig.height=5---- +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +samp <- sort(samp) +plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") +xx <- seq(0.01, 3, by = 0.005) + +lines(xx, plnorm(xx, meanlog = -0.6695120, sd = 0.7199573), col = "#959495", lty = 2) +lines(xx, pgamma(xx, shape = 2.0591977, scale = 0.3231032), col = "#959495", lty = 3) +lines(xx, ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "#959495", lty = 4) +lines(xx, 0.1191 * pgamma(xx, shape = 2.0591977, scale = 0.3231032) + + 0.3985 * plnorm(xx, meanlog = -0.6695120, sd = 0.7199573) + + 0.4824 * ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "#FF33D5", lwd = 1.5) + +## ----results = "asis", echo = FALSE------------------------------------------- +cat(ssdtools::ssd_licensing_md()) + diff --git a/doc/model-averaging.Rmd b/doc/model-averaging.Rmd new file mode 100644 index 00000000..a00e73b7 --- /dev/null +++ b/doc/model-averaging.Rmd @@ -0,0 +1,538 @@ +--- +title: "Model Averaging SSDs" +author: "ssdtools Team" +date: '`r format(Sys.time(), "%Y-%m-%d", tz = "UTC")`' +bibliography: references.bib +mathfont: Courier +latex_engine: MathJax +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Model Averaging SSDs} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.width = 6, + fig.height = 4 +) +library(tinytex) +``` + + +```{css, echo=FALSE} +pre { + max-height: 300px; + overflow-y: auto; +} + +pre[class] { + max-height: 200px; +} +``` + +```{css, echo=FALSE} +.scroll-200 { + max-height: 200px; + overflow-y: auto; + background-color: inherit; +} +``` + + + + + +```{r include=FALSE} +# this just loads the package and suppresses the load package message +library(ssdtools) +require(ggplot2) +``` + +## Background + +> Many authors have noted that there is no guiding theory in ecotoxicology to justify any particular distributional form for the SSD other than that its domain be restricted to the positive real line [@newman_2000], [@Zajdlik_2005], [@chapman_2007], [@fox_2016]. +Indeed, [@chapman_2007] described the identification of a suitable probability model as one of the most important and difficult choices in the use of SSDs. +Compounding this lack of clarity about the functional form of the SSD is the omnipresent, and equally vexatious issue of small sample size, meaning that any plausible candidate model is unlikely to be rejected [@fox_recent_2021]. +The ssdtools R package uses a model averaging procedure to avoid the need to a-priori select a candidate distribution and instead uses a measure of ‘fit’ for each model to compute weights to be applied to an initial set of candidate distributions. +The method, as applied in the SSD context is described in detail in [@fox_recent_2021], and potentially provides a level of flexibility and parsimony that is difficult to achieve with a single SSD distribution. + +[@fox_methodologies_2022] + +## Preliminaries + +Before we jump into model averaging and in particular, SSD Model Averaging, let's backup a little and consider why we average and the advantages and disadvantages of averaging. + +#### The pros and cons of averaging + +We're all familiar with the process of averaging. +Indeed, *averages* are pervasive in everyday life - we talk of average income; mean sea level; average global temperature; average height, weight, age etc. etc. So what's the obsession with *averaging*? +It's simple really - it's what statisticians call data reduction which is just a fancy name to describe the process of summarising a lot of *raw data* using a small number of (hopefully) representative summary statistics such as the mean and the standard deviation. +Clearly, it's a lot easier to work with just a single mean than all the individual data values. +That's the upside. +The downside is that the process of data reduction decimates your original data - you lose information in the process. +Nevertheless, the benefits tend to outweigh this information loss. +Indeed, much of 'conventional' statistical theory and practice is focused on the mean. +Examples include T-tests, ANOVA, regression, and clustering. +When we talk of an 'average' we are usually referring to the simple, *arithmetic mean*:\[\bar{X}=\frac{1}{n}\sum\limits_{i=1}^{n}{{{X}_{i}}}\] although we recognize there are other types of mean including the geometric mean, the harmonic mean and the weighted mean. +The last of these is particularly pertinent to model averaging. + +### Weighted Averages + +For the simple arithmetic mean, all of the individual values receive the same weighting - they each contribute $\frac{1}{n}$ to the summation. +While this is appropriate in many cases, it's not useful when the components contribute to varying degrees. +An example familiar to ecotoxicologists is that of a *time-varying* concentration as shown in the figure below.
+ +![](images/Figure1.jpg){width=90% align="center"} + +From the figure we see there are 5 concentrations going from left to to right: $\left\{ 0.25,0.95,0.25,0.12,0.5 \right\}$. +If we were to take the simple arithmetic mean of these concentrations we get $\bar{X}=0.414$. +But this ignores the different *durations* of these 5 concentrations. +Of the 170 hours, 63 were at concentration 0.25, 25 at concentration 0.95, 23 at concentration 0.25, 23 at concentration 0.12, and 36 at concentration 0.50. +So if we were to *weight* these concentrations by time have:
\[{{{\bar{X}}}_{TW}}=\frac{\left( 63\cdot 0.25+25\cdot 0.95+23\cdot 0.25+23\cdot 0.12+36\cdot 0.50 \right)}{\left( 63+25+23+23+36 \right)}=\frac{56.01}{170}=0.33\]
So, our formula for a *weighted average* is:\[\bar{X}=\sum\limits_{i=1}^{n}{{{w}_{i}}{{X}_{i}}}\] with $0\le {{w}_{i}}\le 1$ and $\sum\limits_{i=1}^{n}{{{w}_{i}}=1}$. +
Note, the simple arithmetic mean is just a special case of the weighted mean with $\sum\limits_{i=1}^{n}{{{w}_{i}}=\frac{1}{n}}$ ; $\forall i=1,\ldots ,n$ + +## Model Averaging +The *weighted average* acknowledges that the elements in the computation are not of equal 'importance'. +In the example above, this importance was based on the *proportion of time* that the concentration was at a particular level. +Bayesians are well-versed in this concept - the elicitation of *prior distributions* for model parameters provides a mechanism for weighting the degree to which the analysis is informed by existing knowledge versus using a purely data-driven approach. +Model averaging is usually used in the context of estimating model parameters or quantities derived from a fitted model - for example an EC50 derived from a C-R model. +Let's motivate the discussion using the following small dataset of toxicity estimates for some chemical. + + +```{r echo=FALSE,warning=FALSE, message=FALSE,class.output="scroll-100"} +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +print(samp) +# knitr::kable(samp,caption="Some toxicity data (concentrations)") +``` + +Now, suppose we have only two possibilities for fitting an SSD - both lognormal distributions. +Model 1 is the LN(-1.067,0.414) distribution while Model 2 is the LN(-0.387,0.617) distribution. +A plot of the empirical *cdf* and Models 1 and 2 is shown below. + +```{r echo=FALSE,fig.cap="Emprirical cdf (black); Model 1(green); and Model 2 (blue)", fig.width=7,fig.height=4.5} +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +samp <- sort(samp) +plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") +xx <- seq(0.01, 3, by = 0.01) +lines(xx, plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10]))), col = "#77d408") +lines(xx, plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))), col = "#08afd4") +# lines(xx,(0.4419*plnorm(xx,meanlog=mean(log(samp[5:15])),sd=sd(log(samp[5:15])))+ +# 0.5581*plnorm(xx,meanlog=mean(log(samp[1:10])),sd=sd(log(samp[1:10])))) ,col="#d40830") +``` + +
We see that Model 1 fits well in the lower, left region and poorly in the upper region, while the reverse is true for Model 2. +So using *either* Model 1 **or** Model 2 is going to result in a poor fit overall. +However, the obvious thing to do is to **combine** both models. +We could just try using 50% of Model 1 and 50% of Model 2, but that may be sub-optimal. +It turns out that the best fit is obtained by using 44% of Model 1 and 56% of Model 2. Redrawing the plot and adding the *weighted average* of Models 1 and 2 is shown below. + +```{r echo=FALSE,fig.cap="Empirical cdf (black); Model 1(green); Model 2 (blue); and averaged Model (red)",fig.width=7,fig.height=4.5} +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +samp <- sort(samp) +plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") +xx <- seq(0.01, 3, by = 0.01) +lines(xx, plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10]))), col = "#77d408") +lines(xx, plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))), col = "#08afd4") +lines(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + + 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), col = "#d40830") +``` + +
Clearly the strategy has worked - we now have an excellent fitting SSD. +What about estimation of an *HC20*? +It's a simple matter to work out the *individual* *HC20* values for Models 1&2 using the appropriate `qlnorm()` function in `R`. +Thus we have: + +```{r, echo=TRUE} +# Model 1 HC20 +cat("Model 1 HC20 =", qlnorm(0.2, -1.067, 0.414)) + +# Model 2 HC20 +cat("Model 2 HC20 =", qlnorm(0.2, -0.387, 0.617)) +``` +What about the averaged distribution? +An intuitively appealing approach would be to apply the same weights to the individual *HC20* values as was applied to the respective models. That is `0.44*0.2428209 + 0.56*0.4040243 = 0.33`. + +So our model-averaged *HC20* estimate is 0.33. +As a check, we can determine the *fraction affected* at concentration = 0.33 - it should of course be 20%. Let's take a look at the plot. + +```{r echo=FALSE,fig.width=7,fig.height=5} +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +samp <- sort(samp) +xx <- seq(0.01, 3, by = 0.01) + + +plot(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + + 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), +col = "#d40830", type = "l", xlab = "Concentration", ylab = "Probability" +) +segments(0.33, -1, 0.33, 0.292, col = "blue", lty = 21) +segments(-1, 0.292, 0.33, 0.292, col = "blue", lty = 21) +mtext("0.3", side = 2, at = 0.3, cex = 0.8, col = "blue") +mtext("0.33", side = 1, at = 0.33, cex = 0.8, col = "blue") +``` + +Something's wrong - the fraction affected at concentration 0.33 is 30% - **not the required 20%**. +This issue is taken up in the next section + +## Model Averaged SSDs +As we've just seen, applying the model weights to component *HCx* values and summing does **not** produce the correct result. +The reason for this can be explained mathematically as follows (*if your not interested in the mathematical explanation - skip ahead to the next section*). + +

The fallacy of weighting individual *HCx* values

+ +The correct expression for a model-averaged SSD is: $$G\left( x \right) = \sum\limits_{i = 1}^k {{w_i}} {F_i}\left( x \right)$$ where ${F_i}\left( \cdot \right)$ is the *i^th^* component SSD (i.e. *cdf*) and *w~i~* is the weight assigned to ${F_i}\left( \cdot \right)$. +
Notice that the function $G\left( x \right)$ is a proper *cumulative distribution function* (*cdf*) which means for a given quantile, *x*, $G\left( x \right)$ returns the *cumulative probability*: $$P\left[ {X \leqslant x} \right]$$ + +
Now, the *incorrect* approach takes a weighted sum of the component *inverse cdf's*, that is: + +$$H\left( p \right) = \sum\limits_{i = 1}^k {{w_i}} {F_i}^{ - 1}\left( p \right)$$ +where ${F_i}^{ - 1}\left( \cdot \right)$ is the *i^th^* *inverse cdf*. +Notice that ${G_i}\left( \cdot \right)$ is a function of a *quantile* and returns a **probability** while ${H_i}\left( \cdot \right)$ is a function of a *probability* and returns an **quantile**. +

Now, the correct method of determining the *HCx* is to work with the proper model-averaged *cdf* $G\left( x \right)$. +This means finding the **inverse** function ${G^{ - 1}}\left( p \right)$. +We'll address how we do this in a moment.

+The reason why $H\left( p \right)$ does **not** return the correct result is because of the implicit assumption that the inverse of $G\left( x \right)$ is equivalent to $H\left( p \right)$. +This is akin to stating the inverse of a *sum* is equal to the sum of the inverses i.e. +$$\sum\limits_{i = 1}^n {\frac{1}{{{X_i}}}} = \frac{1}{{\sum\limits_{i = 1}^n {{X_i}} }}{\text{ ???}}$$ +
+For the mathematical nerds: +There are some very special cases where the above identity does in fact hold, but for that you need to use **complex numbers**. +

For example, consider two complex numbers $${\text{a = }}\frac{{\left( {5 - i} \right)}}{2}{\text{ and }}b = - 1.683 - 1.915i$$ +It can be shown that $$\frac{1}{{a + b}} = \frac{1}{a} + \frac{1}{b} = 0.126 + 0.372i$$ +


+ +

Back to the issue at hand, and since we're not dealing with complex numbers, it's safe to say:$${G^{ - 1}}\left( p \right) \ne H\left( p \right)$$ +

+If you need a visual demonstration, we can plot $G\left( x \right)$ and the *inverse* of $H\left( p \right)$ both as functions of *x* (a quantile) for our two-component lognormal distribution above. + + +```{r echo=FALSE, fig.width=8,fig.height=6} +t <- seq(0.01, 0.99, by = 0.001) + + +F <- 0.4419 * qlnorm(t, -1.067, 0.414) + 0.5581 * qlnorm(t, -0.387, 0.617) + +plot(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + + 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), +col = "#d40830", type = "l", xlab = "Concentration", ylab = "Probability" +) + +lines(F, t, col = "#51c157", lwd = 1.75) + +segments(-1, 0.2, 0.34, 0.2, col = "black", lty = 21, lwd = 2) +segments(0.28, 0.2, 0.28, -1, col = "red", lty = 21, lwd = 2) +segments(0.34, 0.2, 0.34, -1, col = "#51c157", lty = 21, lwd = 2) +segments(1.12, -1, 1.12, 0.9, col = "grey", lty = 21, lwd = 1.7) + +text(0.25, 0.6, "Correct MA-SSD", col = "red", cex = 0.75) +text(0.75, 0.4, "Erroneous MA-SSD", col = "#51c157", cex = 0.75) +mtext("1.12", side = 1, at = 1.12, cex = 0.8, col = "grey") +``` + +Clearly, the two functions are **not** the same and thus *HCx* values derived from each will nearly always be different (as indicated by the positions of the vertical red and green dashed lines in the Figure above corresponding to the 2 values of the *HC20*). +(Note: The two curves do cross over at a concentration of about 1.12 corresponding to the 90^th^ percentile, but in the region of ecotoxicological interest, there is no such cross-over and so the two approaches will **always** yield different *HCx* values with this difference → 0 as x → 0). +

We next discuss the use of a model-averaged SSD to obtain the *correct* model-averaged *HCx*. + +## Computing a model-averaged *HCx* +A proper *HCx* needs to satisfy what David Fox refers to as **the inversion principle**. +

More formally, the inversion principle states that an *HCx* (denoted as ${\varphi _x}$) must satisfy the following:

$$df\left( {{\varphi _x}} \right) = x\quad \quad and\quad \quad qf\left( x \right) = {\varphi _x}$$

+where $df\left( \cdot \right)$ is a model-averaged *distribution function* (i.e. SSD) and $qf\left( \cdot \right)$ is a model-averaged *quantile function*. +For this equality to hold, it is necessary that $qf\left( p \right) = d{f^{ - 1}}\left( p \right)$.

+
So, in our example above, the green curve was taken to be $qf\left( x \right)$ and this was used to derive ${\varphi _x}$ but the *fraction affected* $\left\{ { = df\left( {{\varphi _x}} \right)} \right\}$ at ${\varphi _x}$ is computed using the red curve. +

In `ssdtools` the following is a check that the inversion principle holds:

+
+ +``` +# Obtain a model-averaged HCx using the ssd_hc() function +hcp<-ssd_hc(x, p = p) +# Check that the inversion principle holds +ssd_hp(x, hcp, multi_est = TRUE) == p # this should result in logical `TRUE` +``` +*Note: if the `multi_est` argument is set to `FALSE` the test will fail*. +
+ +

The *inversion principle* ensures that we only use a **single** distribution function to compute both the *HCx* *and* the fraction affected. +Referring to the figure below, the *HCx* is obtained from the MA-SSD (red curve) by following the → arrows while the fraction affected is obtained by following the ← arrows. + +![](images/Figure2.jpg){width=100% align="center"} + +

Finally, we'll briefly discuss how the *HCx* is computed in `R` using the same method as has been implemented in `ssdtools`.

+ +### Computing the *HCx* in `R`/`ssdtools` +Recall, our MA-SSD was given as +$$G\left( x \right) = \sum\limits_{i = 1}^k {{w_i}} {F_i}\left( x \right)$$ +and an *HCx* is obtained from the MA-SSD by essentially working 'in reverse' by starting at a value of $x$ on the **vertical** scale in the Figure above and following the → arrows and reading off the corresponding value on the horizontal scale. +

Obviously, we need to be able to 'codify' this process in `R` (or any other computer language).
Mathematically this is equivalent to seeking a solution to the following equation:$${x:G\left( x \right) = p}$$ +or, equivalently:$$x:G\left( x \right) - p = 0$$ +for some fraction affected, $p$. +

+

Finding the solution to this last equation is referred to as *finding the root(s)* of the function $G\left( x \right)$ or, as is made clear in the figure below, *finding the zero-crossing* of the function $G\left( x \right)$ for the case $p=0.2$. + +![](images/uniroot.jpg){width=100% align="center"} + +
+

In `R` finding the roots of $x:G\left( x \right) - p = 0$ is achieved using the `uniroot()` function.

+ Help on the `uniroot` function can be found [here](https://stat.ethz.ch/R-manual/R-devel/library/stats/html/uniroot.html) + +## Where do the model-averaged weights come from? +This is a little more complex, although we'll try to provide a non-mathematical explanation. +For those interested in going deeper, a more comprehensive treatment can be found in [@model_averaging] and [@fletcher]. + +

This time, we'll look at fitting a gamma, lognormal, and pareto distribution to our sample data: + +```{r echo=FALSE,warning=FALSE, results="markup",message=FALSE,class.output="scroll-100"} +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +print(samp) +# knitr::kable(samp,caption="Some toxicity data (concentrations)") +``` +
The adequacy (or otherwise) of a fitted model can be assessed using a variety of numerical measures known as **goodness-of-fit** or GoF statistics. +These are invariably based on a measure of discrepancy between the emprical data and the hypothesized model. +Common GoF statistics used to test whether the hypothesis of some specified theoretical probability distribution is plausible for a given data set include: *Kolmogorov-Smirnov test; Anderson-Darling test; Shapiro-Wilk test;and Cramer-von Mises test*. + [The Cramer-von Mises](https://en.wikipedia.org/wiki/Cram%C3%A9r%E2%80%93von_Mises_criterion) test is a good choice and is readily performed using the `cvm.test()` function in the `goftest` package in `R` as follows: + +```{r, echo=TRUE,results='hide',warning=FALSE,message=FALSE} +dat <- data.frame(Conc = c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59)) +library(goftest) +library(EnvStats) # this is required for the Pareto cdf (ppareto) + +# Examine the fit for the gamma distribution (NB: parameters estimated from the data) +cvm.test(dat$Conc, null = "pgamma", shape = 2.0591977, scale = 0.3231032, estimated = TRUE) + +# Examine the fit for the lognormal distribution (NB: parameters estimated from the data) +cvm.test(dat$Conc, null = "plnorm", meanlog = -0.6695120, sd = 0.7199573, estimated = TRUE) + +# Examine the fit for the Pareto distribution (NB: parameters estimated from the data) +cvm.test(dat$Conc, null = "ppareto", location = 0.1800000, shape = 0.9566756, estimated = TRUE) +``` + +``` + Cramer-von Mises test of goodness-of-fit + Braun's adjustment using 4 groups + Null hypothesis: Gamma distribution + with parameters shape = 2.0591977, scale = 0.3231032 + Parameters assumed to have been estimated from data + +data: dat$Conc +omega2max = 0.34389, p-value = 0.3404 + + + Cramer-von Mises test of goodness-of-fit + Braun's adjustment using 4 groups + Null hypothesis: log-normal distribution + with parameter meanlog = -0.669512 + Parameters assumed to have been estimated from data + +data: dat$Conc +omega2max = 0.32845, p-value = 0.3719 + + + Cramer-von Mises test of goodness-of-fit + Braun's adjustment using 4 groups + Null hypothesis: distribution ‘ppareto’ + with parameters location = 0.18, shape = 0.9566756 + Parameters assumed to have been estimated from data + +data: dat$Conc +omega2max = 0.31391, p-value = 0.4015 +``` + +From this output and using a level of significance of $p = 0.05$, we see that none of the distributions is implausible. +However, if *forced* to choose just one distribution, we would choose the *Pareto* distribution (smaller values of the `omega2max` statistic are better). +However, this does not mean that the gamma and lognormal distributions are of no value in describing the data. +We can see from the plot below, that in fact both the gamma and lognormal distributions do a reasonable job over the range of toxicity values. +The use of the Pareto may be a questionable choice given it is truncated at 0.18 (which is the minimum value of our toxicity data). +
+ +```{r echo=FALSE,fig.cap="Emprirical cdf (black); lognormal (green); gamma (blue); and Pareeto (red)", fig.width=7,fig.height=4.5} +library(EnvStats) +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +samp <- sort(samp) +plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") +xx <- seq(0.01, 3, by = 0.01) +lines(xx, plnorm(xx, meanlog = -0.6695120, sd = 0.7199573), col = "#77d408") +lines(xx, pgamma(xx, shape = 2.0591977, scale = 0.3231032), col = "#08afd4") +lines(xx, ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "red") +# lines(xx,(0.4419*plnorm(xx,meanlog=mean(log(samp[5:15])),sd=sd(log(samp[5:15])))+ +# 0.5581*plnorm(xx,meanlog=mean(log(samp[1:10])),sd=sd(log(samp[1:10])))) ,col="#d40830") +``` +

+ +


As in the earlier example, we might expect to find a better fitting distribution by combining *all three distributions* using a *weighted SSD*. +The issue we face now is *how do we choose the weights* to reflect the relative fits of the three distributions? +Like all tests of statistical significance, a *p-value* is computed from the value of the relevant *test statistic* - in this case, the value of the `omega2max` test statistic. +For this particular test, it's a case of the smaller the better. +From the output above we see that the `omega2max` values are $0.344$ for the gamma distribution, $0.328$ for the lognormal distribution, and $0.314$ for the Pareto distribution.

+ +

We might somewhat naively compute the relative weights as:
${w_1} = \frac{{{{0.344}^{ - 1}}}}{{\left( {{{0.344}^{ - 1}} + {{0.328}^{ - 1}} + {{0.314}^{ - 1}}} \right)}} = 0.318$         ${w_2} = \frac{{{{0.328}^{ - 1}}}}{{\left( {{{0.344}^{ - 1}} + {{0.328}^{ - 1}} + {{0.314}^{ - 1}}} \right)}} = 0.333$     and ${w_3} = \frac{{{{0.314}^{ - 1}}}}{{\left( {{{0.344}^{ - 1}} + {{0.328}^{ - 1}} + {{0.314}^{ - 1}}} \right)}} = 0.349$
   (we use *reciprocals* since smaller values of `omega2max` represent better fits). +As will be seen shortly - these are incorrect. +

However, being based on a simplistic measure of discrepancy between the *observed* and *hypothesized* distributions, the `omega2max` statistic is a fairly 'blunt instrument' and has no grounding in information theory which *is* the basis for determining the weights that we seek. +

+ +
A discussion of *information theoretic* methods for assessing goodness-of-fit is beyond the scope of this vignette. Interested readers should consult [@model_averaging]. +A commonly used metric to determine the model-average weights is the **Akaike Information Criterion** or [AIC](https://en.wikipedia.org/wiki/Akaike_information_criterion). +The formula for the $AIC$ is: +$$AIC = 2k - 2\ln \left( \ell \right)$$ +where $k$ is the number of model parameters and $\ell$ is the *likelihood* for that model. +Again, a full discussion of statistical likelihood is beyond the present scope. +A relatively gentle introduction can be found [here](https://ep-news.web.cern.ch/what-likelihood-function-and-how-it-used-particle-physics). +

The likelihood for our three distributions can be computed in `R` as follows: + + +```{r, echo=TRUE} +sum(log(dgamma(dat$Conc, shape = 2.0591977, scale = 0.3231032))) +sum(log(dlnorm(dat$Conc, meanlog = -0.6695120, sdlog = 0.7199573))) +sum(log(EnvStats::dpareto(dat$Conc, location = 0.1800000, shape = 0.9566756))) +``` + +From which the *AIC* values readily follow: + +```{r echo=FALSE,results='markup'} +dat <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +k <- 2 # number of parameters for each of the distributions +# Gamma distribution +aic1 <- 2 * k - 2 * sum(log(dgamma(dat, shape = 2.0591977, scale = 0.3231032))) +cat("AIC for gamma distribution =", aic1, "\n") + +# lognormal distribution +aic2 <- 2 * k - 2 * sum(log(dlnorm(dat, meanlog = -0.6695120, sdlog = 0.7199573))) +cat("AIC for lognormal distribution =", aic2, "\n") + +# Pareto distribution +aic3 <- 2 * k - 2 * sum(log(EnvStats::dpareto(dat, location = 0.1800000, shape = 0.9566756))) +cat("AIC for Pareto distribution =", aic3, "\n") +``` +

+ +

As with the `omega2max` statistic, **smaller** values of *AIC* are better. Thus, a comparison of the AIC values above gives the ranking of distributional fits (best to worst) as: *Pareto > lognormal > gamma* + +

+ +### Computing model weights from the `AIC` +We will simply provide a formula for computing the model weights from the `AIC` values. +More detailed information can be found [here](https://training.visionanalytix.com/ssd-model-averaging/). + +The *AIC* for the *i^th^* distribution fitted to the data is +$$AI{C_i} = 2{k_i} - 2\ln \left( {{L_i}} \right)$$ +where ${L_i}$ is the *i^th^ likelihood* and ${k_i}$ is the *number of parameters* for the *i^th^ distribution*. +Next, we form the differences: +$${\Delta _i} = AI{C_i} - AI{C_0}$$ +where $AI{C_0}$ is the *AIC* for the **best-fitting** model (i.e.$AI{C_0} = \mathop {\min }\limits_i \left\{ {AI{C_i}} \right\}$ ). +The *model-averaged weights* ${w_i}$ are then computed as + +
+AIC Model averaging weights + +$${w}_{i}=\frac{\exp \left\{ -\frac{1}{2}{{\Delta }_{i}} \right\}}{\sum{\exp \left\{ -\frac{1}{2}{{\Delta }_{i}} \right\}}}$$ + +
+
+ +

The model-averaged weights for the gamma, lognormal, and Pareto distributions used in the previous example can be computed 'manually' in `R` as follows: + + +```{r echo=TRUE,results='hide'} +dat <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +aic <- NULL +k <- 2 # number of parameters for each of the distributions + + +aic[1] <- 2 * k - 2 * sum(log(dgamma(dat, shape = 2.0591977, scale = 0.3231032))) # Gamma distribution + +aic[2] <- 2 * k - 2 * sum(log(dlnorm(dat, meanlog = -0.6695120, sdlog = 0.7199573))) # lognormal distribution + +aic[3] <- 2 * k - 2 * sum(log(EnvStats::dpareto(dat, location = 0.1800000, shape = 0.9566756))) # Pareto distribution + +delta <- aic - min(aic) # compute the delta values + +aic.w <- exp(-0.5 * delta) +aic.w <- round(aic.w / sum(aic.w), 4) + +cat( + " AIC weight for gamma distribution =", aic.w[1], "\n", + "AIC weight for lognormal distribution =", aic.w[2], "\n", + "AIC weight for pareto distribution =", aic.w[3], "\n" +) +``` +``` + AIC weight for gamma distribution = 0.1191 + AIC weight for lognormal distribution = 0.3985 + AIC weight for pareto distribution = 0.4824 +``` +

+ +Finally, let's look at the fitted *model-averaged SSD*: + +```{r echo=FALSE,fig.cap="Empirical cdf (black) and model-averaged fit (magenta)",fig.width=8,fig.height=5} +samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) +samp <- sort(samp) +plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") +xx <- seq(0.01, 3, by = 0.005) + +lines(xx, plnorm(xx, meanlog = -0.6695120, sd = 0.7199573), col = "#959495", lty = 2) +lines(xx, pgamma(xx, shape = 2.0591977, scale = 0.3231032), col = "#959495", lty = 3) +lines(xx, ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "#959495", lty = 4) +lines(xx, 0.1191 * pgamma(xx, shape = 2.0591977, scale = 0.3231032) + + 0.3985 * plnorm(xx, meanlog = -0.6695120, sd = 0.7199573) + + 0.4824 * ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "#FF33D5", lwd = 1.5) +``` + +As can be seen from the figure above, the model-averaged fit provides a very good fit to the empirical data. + +### Correcting for distributions having differing numbers of parameters + +In deriving the AIC, Akaike had to make certain, strong assumptions. +In addition, the bias factor (the $2k$ term) was derived from theoretical considerations (such as mathematical *expectation*) that relate to *infinite* sample sizes. +For small sample sizes, the AIC is likely to select models having too many parameters (i.e models which *over-fit*). +In 1978, Sugiura proposed a modification to the AIC to address this problem, although it too relied on a number of assumptions. +This 'correction' to the AIC for small samples (referred to as $AI{{C}_{c}}$) is + +
+Corrected Akaike Information Criterion (AICc) + +$$AI{{C}_{c}}=AIC+\frac{2{{k}^{2}}+2k}{n-k-1}$$ + +where n is the sample size and k is the number of parameters. + +
+ +
It is clear from the formula for $AI{{C}_{c}}$ that for   $n\gg k$,    $AI{{C}_{c}}\simeq AIC$. The issue of sample size is ubiquitous in statistics, but even more so in ecotoxicology where logistical and practical limitations invariably mean we are dealing with (pathologically) small sample sizes. There are no hard and fast rules as to what constitutes an *appropriate* sample size for SSD modelling. However, Professor David Fox's personal rule of thumb which works quite well is: + + +
Sample size rule-of-thumb for SSD modelling $$n\ge 5k+1$$ + +where n is the sample size and k is the number of parameters. +
+ +
Since most of the common SSD models are 2-parameter, we should be aiming to have a sample size of at least 11. +For 3-parameter models (like the Burr III), the minimum sample size is 16 and if we wanted to fit a mixture of two, 2-parameter models (eg. *logNormal-logNormal* or *logLogistic-logLogistic*) the sample size should be *at least* 26. +Sadly, this is rarely the case in practice! Jurisdictional guidance material may specify minimum sample size requirements, and should be adhered to where available and relevant. + +### Model-Averaging in `ssdtools` + +Please see the [Getting started with ssdtools](https://bcgov.github.io/ssdtools/articles/ssdtools.html) vignette for examples of obtaining model-averaged *HCx* values and predictions using `ssdtools`. + +## References + +
+ +```{r, results = "asis", echo = FALSE} +cat(ssdtools::ssd_licensing_md()) +``` diff --git a/doc/small-sample-bias.R b/doc/small-sample-bias.R new file mode 100644 index 00000000..49425038 --- /dev/null +++ b/doc/small-sample-bias.R @@ -0,0 +1 @@ +### This is an R script tangled from 'small-sample-bias.pdf.asis' diff --git a/doc/small-sample-bias.pdf b/doc/small-sample-bias.pdf new file mode 100644 index 0000000000000000000000000000000000000000..be1d75477187b03371b3a1efe973552b1cea40c2 GIT binary patch literal 329051 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%0DR`G{shwxi%w>$u?r^g70VKVu7mT2PU3$ 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�iKgO8NSxZV{6e7X4DR8g8H=215>_e*io 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°AO{4fVM^38DXfHQktzm` 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 literal 0 HcmV?d00001 diff --git a/doc/small-sample-bias.pdf.asis b/doc/small-sample-bias.pdf.asis new file mode 100644 index 00000000..16a48f21 --- /dev/null +++ b/doc/small-sample-bias.pdf.asis @@ -0,0 +1,6 @@ +%\VignetteIndexEntry{Small sample bias in estimates} +%\VignetteEngine{R.rsp::asis} +%\VignetteKeyword{PDF} +%\VignetteKeyword{HTML} +%\VignetteKeyword{vignette} +%\VignetteKeyword{package} diff --git a/doc/ssdtools.R b/doc/ssdtools.R new file mode 100644 index 00000000..06f80ff1 --- /dev/null +++ b/doc/ssdtools.R @@ -0,0 +1,94 @@ +## ----include = FALSE---------------------------------------------------------- +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.width = 6, + fig.height = 4 +) + +## ----eval = FALSE------------------------------------------------------------- +# install.packages(c("ssdtools", "tidyverse")) + +## ----message = FALSE---------------------------------------------------------- +library(ssdtools) +library(ggplot2) + +## ----eval = FALSE------------------------------------------------------------- +# data <- read_csv(file = "path/to/file.csv") + +## ----------------------------------------------------------------------------- +ssddata::ccme_boron + +## ----------------------------------------------------------------------------- +ssd_dists_all() + +## ----------------------------------------------------------------------------- +fits <- ssd_fit_dists(ssddata::ccme_boron, dists = c("llogis", "lnorm", "gamma")) + +## ----------------------------------------------------------------------------- +tidy(fits) + +## ----fig.alt="A plot of the CCME boron dataset with the gamma, log-logistic and log-normal distributions with a simple black and white background color scheme."---- +theme_set(theme_bw()) # set plot theme + +autoplot(fits) + + ggtitle("Species Sensitivity Distributions for Boron") + + scale_colour_ssd() + +## ----------------------------------------------------------------------------- +ssd_gof(fits) + +## ----eval = FALSE------------------------------------------------------------- +# set.seed(99) +# boron_pred <- predict(fits, ci = TRUE) + +## ----------------------------------------------------------------------------- +boron_pred + +## ----fig.alt="A plot of the CCME boron dataset species colored by group and the model average species sensitivity distribution with a simple black and white background color scheme."---- +ssd_plot(ssddata::ccme_boron, boron_pred, + color = "Group", label = "Species", + xlab = "Concentration (mg/L)", ribbon = TRUE +) + + expand_limits(x = 5000) + # to ensure the species labels fit + ggtitle("Species Sensitivity for Boron") + + scale_colour_ssd() + +## ----------------------------------------------------------------------------- +set.seed(99) +boron_hc5 <- ssd_hc(fits, proportion = 0.05, ci = TRUE) +print(boron_hc5) +boron_pc <- ssd_hp(fits, conc = boron_hc5$est, ci = TRUE) +print(boron_pc) + +## ----------------------------------------------------------------------------- +boron_censored <- ssddata::ccme_boron |> + dplyr::mutate(left = Conc, right = Conc) + +boron_censored$left[c(3, 6, 8)] <- NA + +## ----------------------------------------------------------------------------- +dists <- ssd_fit_dists(boron_censored, + dists = ssd_dists_bcanz(n = 2), + left = "left", right = "right" +) + +## ----------------------------------------------------------------------------- +ssd_gof(dists) + +## ----------------------------------------------------------------------------- +ssd_hc(dists, average = FALSE) +ssd_hc(dists) + +## ----fig.alt="A plot of the left censored CCME boron dataset with the model average species sensitivity distribution and arrows indicating the censoring."---- +set.seed(99) +pred <- predict(dists, ci = TRUE, parametric = FALSE) + +ssd_plot(boron_censored, pred, + left = "left", right = "right", + xlab = "Concentration (mg/L)" +) + +## ----results = "asis", echo = FALSE------------------------------------------- +cat(ssdtools::ssd_licensing_md()) + diff --git a/doc/ssdtools.Rmd b/doc/ssdtools.Rmd new file mode 100644 index 00000000..a553fa05 --- /dev/null +++ b/doc/ssdtools.Rmd @@ -0,0 +1,267 @@ +--- +title: "Getting Started with ssdtools" +author: "ssdtools Team" +date: '`r format(Sys.time(), "%Y-%m-%d", tz = "UTC")`' +bibliography: references.bib +mathfont: Courier +latex_engine: MathJax +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Getting Started with ssdtools} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.width = 6, + fig.height = 4 +) +``` + +## Introduction + +`ssdtools` is an R package to fit Species Sensitivity Distributions (SSDs) using Maximum Likelihood and model averaging. + +SSDs are cumulative probability distributions that are used to estimate the percent of species that are affected and/or protected by a given concentration of a chemical. +The concentration that affects 5% of the species is referred to as the 5% Hazard Concentration (*HC~5~*). This is equivalent to a 95% protection value (*PC~95~*). +For more information on SSDs the reader is referred to @posthuma_species_2001. + +In order to use `ssdtools` you need to install R (see below) or use the Shiny [app](https://bcgov-env.shinyapps.io/ssdtools/). +The shiny app includes a user guide. +This vignette is a user manual for the R package. + +## Philosophy + +`ssdtools` provides the key functionality required to fit SSDs using Maximum Likelihood and [model averaging](https://bcgov.github.io/ssdtools/articles/A_model_averaging.html) in R. +It is intended to be used in conjunction with [tidyverse](https://www.tidyverse.org) packages such as `readr` to input data, `tidyr` and `dplyr` to group and manipulate data and `ggplot2` [@ggplot2] to plot data. +As such it endeavors to fulfill the tidyverse [manifesto](https://tidyverse.tidyverse.org/articles/manifesto.html). + +## Installing + +In order to install R [@r] the appropriate binary for the users operating system should be downloaded from [CRAN](https://cran.r-project.org) and then installed. + +Once R is installed, the `ssdtools` package can be installed (together with the tidyverse) by executing the following code at the R console + +```{r, eval = FALSE} +install.packages(c("ssdtools", "tidyverse")) +``` + +The `ssdtools` package (and ggplot2 package) can then be loaded into the current session using + +```{r, message = FALSE} +library(ssdtools) +library(ggplot2) +``` + +## Getting Help + +To get additional information on a particular function just type `?` followed by the name of the function at the R console. +For example `?ssd_gof` brings up the R documentation for the `ssdtools` goodness of fit function. + +For more information on using R the reader is referred to [R for Data Science](https://r4ds.had.co.nz) [@wickham_r_2016]. + +If you discover a bug in `ssdtools` please file an issue with a [reprex](https://reprex.tidyverse.org/articles/reprex-dos-and-donts.html) (repeatable example) at . + +## Inputting Data + +Once the `ssdtools` package has been loaded the next task is to input some data. +An easy way to do this is to save the concentration data for a *single* chemical as a column called `Conc` in a comma separated file (`.csv`). +Each row should be the sensitivity concentration for a separate species. +If species and/or group information is available then this can be saved as `Species` and `Group` columns. +The `.csv` file can then be read into R using the following + +```{r, eval = FALSE} +data <- read_csv(file = "path/to/file.csv") +``` + +For the purposes of this manual we use the CCME dataset for boron from the [`ssddata`](https://github.com/open-AIMS/ssddata) package. + +```{r} +ssddata::ccme_boron +``` + +## Fitting Distributions + +The function `ssd_fit_dists()` inputs a data frame and fits one or more distributions. +The user can specify a subset of the following `r length(ssd_dists_all())` distributions. Please see the [distributions](https://bcgov.github.io/ssdtools/articles/B_distributions.html) and [model averaging](https://bcgov.github.io/ssdtools/articles/A_model_averaging.html) vignettes for more information regarding appropriate use of distributions and the use of model-averaged SSDs. + +```{r} +ssd_dists_all() +``` + +using the `dists` argument. + +```{r} +fits <- ssd_fit_dists(ssddata::ccme_boron, dists = c("llogis", "lnorm", "gamma")) +``` + +## Coefficients + +The estimates for the various terms can be extracted using the tidyverse generic `tidy` function (or the base R generic `coef` function). + +```{r} +tidy(fits) +``` + +## Plots + +It is generally more informative to plot the fits using the `autoplot` generic function (a wrapper on `ssd_plot_cdf()`). +As `autoplot` returns a `ggplot` object it can be modified prior to plotting. +For more information see the [customising plots](https://bcgov.github.io/ssdtools/articles/A_model_averaging.html) vignette. + +```{r, fig.alt="A plot of the CCME boron dataset with the gamma, log-logistic and log-normal distributions with a simple black and white background color scheme."} +theme_set(theme_bw()) # set plot theme + +autoplot(fits) + + ggtitle("Species Sensitivity Distributions for Boron") + + scale_colour_ssd() +``` + +## Selecting One Distribution + +Given multiple distributions the user is faced with choosing the "best" distribution (or as discussed below averaging the results weighted by the fit). + +```{r} +ssd_gof(fits) +``` + +The `ssd_gof()` function returns three test statistics that can be used to evaluate the fit of the various distributions to the data. + +- [Anderson-Darling](https://en.wikipedia.org/wiki/Anderson–Darling_test) (`ad`) statistic, +- [Kolmogorov-Smirnov](https://en.wikipedia.org/wiki/Kolmogorov–Smirnov_test) (`ks`) statistic and +- [Cramer-von Mises](https://en.wikipedia.org/wiki/Cramér–von_Mises_criterion) (`cvm`) statistic + +and three information criteria + +- Akaike's Information Criterion (`AIC`), +- Akaike's Information Criterion corrected for sample size (`AICc`) and +- Bayesian Information Criterion (`BIC`) + +Note if `ssd_gof()` is called with `pvalue = TRUE` then the p-values rather than the statistics are returned for the ad, ks and cvm tests. + +Following @burnham_model_2002 we recommend the `AICc` for model selection. +The best predictive model is that with the lowest `AICc` (indicated by the model with a `delta` value of 0 in the goodness of fit table). +In the current example the best predictive model is the gamma distribution but both the lnorm and llogis distributions have some support. + +For further information on the advantages of an information theoretic approach in the context of selecting SSDs the reader is referred to @fox_recent_2021. + +## Averaging Multiple Distributions + +Often other distributions will fit the data almost as well as the best distribution as evidenced by `delta` values < 2 [@burnham_model_2002]. +In general, the recommended approach is to estimate the average fit based on the relative weights of the distributions [@burnham_model_2002]. +The `AICc` based weights are indicated by the `weight` column in the goodness of fit table. +A detailed introduction to model averaging can be found in the [Model averaging](https://bcgov.github.io/ssdtools/articles/A_model_averaging.html) vignette. +A discussion on the recommended set of default distributions can be found in the [Distributions](https://bcgov.github.io/ssdtools/articles/B_distributions.html) vignette. + +## Estimating the Fit + +The `predict` function can be used to generate model-averaged estimates (or if `average = FALSE` estimates for each distribution individual) by bootstrapping. +Model averaging is based on `AICc` unless the data censored is which case `AICc` is undefined. +In this situation model averaging is only possible if the distributions have the same number of parameters (so that `AIC` can be used to compare the models). + +```{r, eval = FALSE} +set.seed(99) +boron_pred <- predict(fits, ci = TRUE) +``` + +The resultant object is a data frame of the estimated concentration (`est`) with standard error (`se`) and lower (`lcl`) and upper (`ucl`) 95% confidence limits (CLs) by percent of species affected (`percent`). +The object includes the number of bootstraps (`nboot`) data sets generated as well as the proportion of the data sets that successfully fitted (`pboot`). + +```{r} +boron_pred +``` + +The data frame of the estimates can then be plotted together with the original data using the `ssd_plot()` function to summarize an analysis. +Once again the returned object is a `ggplot` object which can be customized prior to plotting. + +```{r, fig.alt="A plot of the CCME boron dataset species colored by group and the model average species sensitivity distribution with a simple black and white background color scheme."} +ssd_plot(ssddata::ccme_boron, boron_pred, + color = "Group", label = "Species", + xlab = "Concentration (mg/L)", ribbon = TRUE +) + + expand_limits(x = 5000) + # to ensure the species labels fit + ggtitle("Species Sensitivity for Boron") + + scale_colour_ssd() +``` + +In the above plot the model-averaged 95% confidence interval is indicated by the shaded band and the model-averaged 5%/95% Hazard/Protection Concentration (*HC5*/ *PC~95~*) by the dotted line. +Hazard/Protection concentrations are discussed below. + +## Hazard/Protection Concentrations + +The 5% hazard concentration (*HC5*) is the concentration that affects 5% of the species tested. This is equivalent to the 95% protection concentration which protects 95% of species (*PC~95~*). The hazard and protection concentrations are directly interchangeable, and terminology depends simply on user preference. + +The hazard/protection concentrations can be obtained using the `ssd_hc()` function, which can be used to obtain any desired percentage value. The fitted SSD can also be used to determine the percentage of species protected at a given concentration using `ssd_hp()`. + +```{r} +set.seed(99) +boron_hc5 <- ssd_hc(fits, proportion = 0.05, ci = TRUE) +print(boron_hc5) +boron_pc <- ssd_hp(fits, conc = boron_hc5$est, ci = TRUE) +print(boron_pc) +``` + +### Censored Data + +Censored data is that for which only a lower and/or upper limit is known for a particular species. +If the `right` argument in `ssd_fit_dists()` is different to the `left` argument then the data are considered to be censored. + +It is important to note that `ssdtools` doesn't currently support right censored data. + +Let's produce some left censored data. + +```{r} +boron_censored <- ssddata::ccme_boron |> + dplyr::mutate(left = Conc, right = Conc) + +boron_censored$left[c(3, 6, 8)] <- NA +``` + +As the sample size `n` is undefined for censored data, `AICc` cannot be calculated. +However, if all the models have the same number of parameters, the `AIC` `delta` values are identical to those for `AICc`. +For this reason, `ssdtools` only permits model averaging of censored data for distributions with the same number of parameters. +We can call only the default two parameter models using `ssd_dists_bcanz(n = 2)`. + +```{r} +dists <- ssd_fit_dists(boron_censored, + dists = ssd_dists_bcanz(n = 2), + left = "left", right = "right" +) +``` + +There are less goodness-of-fit statistics available for fits to censored data (currently just `AIC` and `BIC`). + +```{r} +ssd_gof(dists) +``` + + +The model-averaged predictions are calculated using `AIC` +```{r} +ssd_hc(dists, average = FALSE) +ssd_hc(dists) +``` + +The confidence intervals can currently only be generated for censored data using non-parametric bootstrapping. +The horizontal lines in the plot indicate the censoring (range of possible values). + +```{r, fig.alt="A plot of the left censored CCME boron dataset with the model average species sensitivity distribution and arrows indicating the censoring."} +set.seed(99) +pred <- predict(dists, ci = TRUE, parametric = FALSE) + +ssd_plot(boron_censored, pred, + left = "left", right = "right", + xlab = "Concentration (mg/L)" +) +``` + +## References + +
+ +```{r, results = "asis", echo = FALSE} +cat(ssdtools::ssd_licensing_md()) +``` From d9b3aa03a638875bf271c09eb19e79967ed3778a Mon Sep 17 00:00:00 2001 From: Joe Thorley Date: Tue, 3 Dec 2024 07:43:06 -0800 Subject: [PATCH 03/66] add small-sample-bias back in --- .github/workflows/R-CMD-check.yaml | 2 +- .github/workflows/paper.yaml | 4 +- .github/workflows/test-coverage.yaml | 2 +- Meta/vignette.rds | Bin 431 -> 0 bytes doc/additional-technical-details.R | 12 - doc/additional-technical-details.Rmd | 221 ----- doc/customising-plots.R | 70 -- doc/customising-plots.Rmd | 137 --- doc/distributions.R | 315 ------- doc/distributions.Rmd | 837 ------------------ doc/model-averaging.R | 173 ---- doc/model-averaging.Rmd | 538 ----------- doc/small-sample-bias.R | 1 - doc/ssdtools.R | 94 -- doc/ssdtools.Rmd | 267 ------ {doc => vignettes}/small-sample-bias.pdf | Bin {doc => vignettes}/small-sample-bias.pdf.asis | 0 17 files changed, 4 insertions(+), 2669 deletions(-) delete mode 100644 Meta/vignette.rds delete mode 100644 doc/additional-technical-details.R delete mode 100644 doc/additional-technical-details.Rmd delete mode 100644 doc/customising-plots.R delete mode 100644 doc/customising-plots.Rmd delete mode 100644 doc/distributions.R delete mode 100644 doc/distributions.Rmd delete mode 100644 doc/model-averaging.R delete mode 100644 doc/model-averaging.Rmd delete mode 100644 doc/small-sample-bias.R delete mode 100644 doc/ssdtools.R delete mode 100644 doc/ssdtools.Rmd rename {doc => vignettes}/small-sample-bias.pdf (100%) rename {doc => vignettes}/small-sample-bias.pdf.asis (100%) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 58aedd38..571e5a4e 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -5,7 +5,7 @@ on: push: branches: [main, master] pull_request: - branches: [main, master, dev] + branches: [main, master] name: R-CMD-check diff --git a/.github/workflows/paper.yaml b/.github/workflows/paper.yaml index 17e2b7dd..b65787ec 100644 --- a/.github/workflows/paper.yaml +++ b/.github/workflows/paper.yaml @@ -2,9 +2,9 @@ on: push: - branches: [main] + branches: [main, joss-paper] pull_request: - branches: [main, dev] + branches: [main, joss-paper] name: paper diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 9211f4b5..eb30c23a 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -4,7 +4,7 @@ on: push: branches: [main, master] pull_request: - branches: [main, master, dev] + branches: [main, master] name: test-coverage.yaml diff --git a/Meta/vignette.rds b/Meta/vignette.rds deleted file mode 100644 index d048d773130666ceddad857736f78debf6d6b996..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 431 zcmV;g0Z{%QiwFP!000001D#UaP69CyU0_up8ZV%UMoImE-G3l%)I>=L@ZjsXtbP#jsn(QPYpG*jeJ9J?bsFj>Kq*I_ z#2`Fm;UwmvvM58~Li&S<>b&!CDlv(; zx`fBXaM20vUQU~I4Q(nJjG4-+Dz~D;doe^M zUAXsLn7X|Y$F*bis+eDK5U`ZR)F`n2#6IRpru^+jjVzh_rrDADs-NmuEEZoyMxg*{ Z7@1&`0)qdRse0vo{{XcH0taFQ008op)5HJ( diff --git a/doc/additional-technical-details.R b/doc/additional-technical-details.R deleted file mode 100644 index 78b30508..00000000 --- a/doc/additional-technical-details.R +++ /dev/null @@ -1,12 +0,0 @@ -## ----include = FALSE---------------------------------------------------------- -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - fig.width = 6, - fig.height = 4, - echo = TRUE -) - -## ----results = "asis", echo = FALSE------------------------------------------- -cat(ssdtools::ssd_licensing_md()) - diff --git a/doc/additional-technical-details.Rmd b/doc/additional-technical-details.Rmd deleted file mode 100644 index 6031b314..00000000 --- a/doc/additional-technical-details.Rmd +++ /dev/null @@ -1,221 +0,0 @@ ---- -title: "Additional Technical Details" -author: "ssdtools Team" -date: '`r format(Sys.time(), "%Y-%m-%d", tz = "UTC")`' -bibliography: references.bib -mathfont: Courier -latex_engine: MathJax -output: rmarkdown::html_vignette -vignette: > - %\VignetteIndexEntry{Additional Technical Details} - %\VignetteEngine{knitr::rmarkdown} - %\VignetteEncoding{UTF-8} ---- - - - - - - -```{r, include = FALSE} -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - fig.width = 6, - fig.height = 4, - echo = TRUE -) -``` - -## Small sample bias - -The ssdtools package uses the method of Maximum Likelihood (ML) to estimate parameters for each distribution that is fit to the data. -Statistical theory says that maximum likelihood estimators are asymptotically unbiased, but does not guarantee performance in small samples. -A detailed account of the issue of small sample bias in estimates can be found in the following [pdf](https://github.com/bcgov/ssdtools/blob/master/vignettes/small-sample-bias.pdf). - -## Investigations into setting minimum sample sizes for uni-modal and bi-modal distributions in ssdtools - -Most jurisdictions require a minimum sample size for fitting a valid SSD. -The current Australian and New Zealand minimum is 5, in order to fit the two-parameter log-normal distribution [@warne2018]. -In ssdtools the default minimum sample size is 6 [@thorleysschwartz2018joss], which is consistent with the current methodology for British Columbia [@ccme]. - -Here we report on a series of simulation studies designed to inform a final decision on the default minimum sample size to adopt for both the uni-modal 2 parameter distributions, as well as the bi-modal 5 parameter distributions. - -### Bias and CI coverage and interval width - -#### Simulations based on ssddata - -We used the example datasets in the [`ssddata`](https://github.com/open-AIMS/ssddata) package in R [@ssddata] to undertake a simulation study to examine bias, coverage and confidence interval (CI) widths using the recommended default set of six distributions (lognormal, log-Gumbel, log-logistic, gamma, Weibull, and the lognormal-log-normal mixture), with model averaged estimates obtained using the multi-method, and confidence intervals estimated using the recommended weighted sample bootstrap method (see @fox_methodologies_2024). -A total of 20 unique datasets were extracted from ssddata and used to define the parameters for the simulation study as follows: - - 1. Each dataset was extracted from `ssddata` and fit using the default distribution set as recommended in [@fox_methodologies_2022] and [@fox_methodologies_2024]. - 2. Of the six default distributions, the parameters for the distribution having the highest weight for each dataset was used to generate new random datasets of varying values of N, including (but not limited to): 5 (current ANZG minimum), 6 (current BC minimum), and 8 (current ANZG preferred). - 3. For each randomly generated dataset, `ssdtools` was used to re-fit the data, and model averaged estimates were obtained using the multi-method, with upper and lower confidence limits (CLs) produced using the recommended weighted sample method (see [Confidence Intervals for Hazard Concentrations](https://bcgov.github.io/ssdtools/articles/confidence-intervals.html) vignette). - -The individual ssdtools fits are shown below for each of the 20 simulation datasets from ssddata, for the six recommended default distributions, as well as the model averaged CDF (black line): - -![](images/fitted_dists.png) - -This simulation process was repeated a minimum of 1,000 times for each dataset, and the results collated across all iterations. -For each simulated dataset the true HCx values were obtained directly from the parameter estimates of from data generating distribution. -From these, relative bias was calculated as the scaled-difference between the estimated HCx values and the true HCx value, i.e $$\frac{\widehat {HC}x-HCx}{HCx}$$ where $\widehat {HC}x$ is the estimate of the true value, $HCx$; coverage was calculated as the proportion of simulations where the true $HCx$ value fell within the lower and upper 95% confidence limits; and the scaled confidence interval width was calculated as $$\frac{UL-LL}{HCx}$$ where $UL$ and $LL$ are the upper and lower limits respectively. - -Bias, confidence interval width and coverage as a function of sample size across ~1000 simulations of 20 datasets using the multi model averaging method and the weighted sample method for estimating confidence intervals via ssdtools are shown below: - -![](images/ssdata_sims_collated.png) - -The simulation results showed significant gains in terms of reduced bias from N=5 to N=6, as well as in coverage, which improved substantially between N=5 and N=6. -There is also a small additional gain in coverage at N=7, where the median of the simulations reaches the expected 95% but this is only the case for HC1. - -#### Simulations based on EnviroTox - -In addition to the analysis based on the 20 ssddata example datasets, we also ran an expanded simulation study based on the EnviroTox dataset analysed by Yanagihara et al. (2024). -Combined with the ssddata examples, this includes a total of 353 example datasets to use as case studies. -Using this larger dataset as a basis for simulations, we followed the same procedure as described above to examine relative bias, as well as changes in the AICc weights (see below) for various sample sizes. -Estimates of coverage and confidence interval widths were not obtained for this larger dataset due to the computationally intensive bootstrap method of obtaining confidence intervals. - -Bias of sample size across ~1000 simulations of 353 datasets using the multi model averaging method via ssdtools, for HC5, 10 and 20 (0.05, 0.1, and 0.2) are shown below: - -![](images/all_sims_bias.png) - -Note that simulation results are shown separately for those derived from each of the six distributions as the underlying source data generating distribution. - -The bias results for this larger combined dataset did not show the same level of improvement from N=5 to N=6 as that based on the smaller ssddata simulation. -However, there as a gradual improvement in bias with increasing N. -There is no strong evidence for preferring N=6 over N=7 in the context of bias from either of the simulation studies. -We note that the bias was highest at these small sample sizes for data generated using a gamma distribution, likely reflecting the extreme left-tailed nature of this distribution. - -### AICc based model weights - -Aside from considerations of bias, coverage and confidence interval width, it is also prudent to examine how the weights of the different distributions changed with sample size, for data generated using the six different default distributions, to more fully investigate sample size issues associated with the use of the mixture distributions. -This was examined using the simulation study across the larger combined ssddata and EnviroTox datasets (353 datasets) to ensure a wide range of potential representations of each of the six default distributions was considered. - -Below is a plot of the mean AICc weights as a function of sample size (N) obtained for data simulated using the best fit distribution to 353 datasets. -Results are shown separately for the six different source distributions, with the upper plot (A) showing the AICc weight of the source (data generating) distributions, when fit using the default set of six distributions using ssdtools; and the lower plot (B) showing the AICc weight of the lognormal-lognormal mixture distribution for each of the source (data generating) distributions. - -![](images/weights_collated.png) - -We found that the AICc weights for the five unimodal distributions were relatively similar (~0.2) for very low N. -This is because for small N it is difficult to discern differences between the distributions in the candidate list. -The weights increase to above 0.5 as N increases (i.e. their converge to the true underlying generating distribution at high N, upper plot). -For very low sample sizes (N=5, 6 or 7) the source (data-generating) distribution is not preferentially weighted by the AICc (upper plot, A). - -For the lnorm_lnorm mixture, AICc weights can be >0.5 at relatively N (>8, lower plot, B). -We also looked specifically at the AICc weight of the lognormal-lognormal mixture as one of six distributions in the default candidate set, across simulation based on all six source generating distributions. -This was done to examine the potential for erroneously highly weighting the lognormal-lognormal mixture distribution by chance, when data are generated instead using one of the five unimodal distributions. -For all the unimodal source distributions the lognormal-lognormal mixture never has high AICc weight, even at very high sample sizes (N=256, lower plot, B). -The AICc weights are particularly low for the lnorm_lnorm mixture at low sample sizes for all the uni-modal source distributions (a desirable property) (lower plot, B). - -### Conclusions - -Overall, the results suggest that (relative) bias as a function of N behaves as expected. -The N=6 recommendation appears to be well-supported as coverage is particularly low for N=5, but acceptable for N=6. -The lognormal-lognormal mixture AICc weights suggest that this distribution will only be preferred (i.e. have a high AICc weight) when (i) there is clear evidence of bimodality in the source data; and (ii) large N. - -Based on these results, our recommendation is that only a single minimum sample size of N=6 be adopted (for both unimodal and bimodal), since our results suggest any gains in increasing this to 7 are minimal. - -## The inverse Pareto and inverse Weibull as limiting distributions of the Burr Type-III distribution - -### Burr III distribution - -The probability density function, ${f_X}(x;b,c,k)$ and cumulative distribution function, ${F_X}(x;b,c,k)$ for the Burr III distribution (also known as the *Dagum* distribution) as used in `ssdtools` are - -
-Burr III distribution - -\[\begin{array}{*{20}{c}} -{{f_X}(x;b,c,k) = \frac{{b\,k\,c}}{{{x^2}}}\frac{{{{\left( {\frac{b}{x}} \right)}^{c - 1}}}}{{{{\left[ {1 + {{\left( {\frac{b}{x}} \right)}^c}} \right]}^{k + 1}}}}{\rm{ }}}&{b,c,k,x > 0} -\end{array}\]
\[\begin{array}{*{20}{c}} -{{F_X}(x;b,c,k) = \frac{1}{{{{\left[ {1 + {{\left( {\frac{b}{x}} \right)}^c}} \right]}^k}}}{\rm{ }}}&{b,c,k,x > 0} -\end{array}\] - -
- -### Inverse Pareto distribution - -Let $X \sim Burr(b,c,k)$ have the *pdf* given in the box above. -It is well known that the distribution of $Y = \frac{1}{X}$ is the *inverse Burr* distribution (also known as the *SinghMaddala* distribution) for which - -\[\begin{array}{*{20}{c}} -{{f_Y}(y;b,c,k) = \frac{{c{\kern 1pt} {\kern 1pt} k{{\left( {\frac{y}{b}} \right)}^c}}}{{y{\kern 1pt} {{\left[ {1 + {{\left( {\frac{y}{b}} \right)}^c}} \right]}^{k + 1}}}}}&{b,c,k,y > 0} -\end{array}\] - -\[\begin{array}{*{20}{c}} -{{F_Y}(y;b,c,k) = 1 - \frac{1}{{{{\left[ {1 + {{\left( {\frac{y}{b}} \right)}^c}} \right]}^k}}}}&{b,c,k,y > 0} -\end{array}\] - -We now consider the limiting distribution when $c \to \infty$ and $k \to 0$ in such a way that the product $ck$ remains constant, i.e. $ck = \lambda$. - -Now, -\[\begin{array}{l} -\mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{F_Y}(y;b,c,k)} \right\} = 1 - \mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \frac{1}{{{{\left[ {1 + {{\left( {\frac{y}{b}} \right)}^c}} \right]}^k}}}\\ -\\ -and\\ -\\ -\mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } {\left[ {1 + {{\left( {\frac{y}{b}} \right)}^c}} \right]^k} = \mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{{\left( {\frac{y}{b}} \right)}^{ck}}{{\left[ {1 + {{\left( {\frac{b}{y}} \right)}^c}} \right]}^k}} \right\}\\ -\\ -and\\ -\\ -\mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{{\left( {\frac{y}{b}} \right)}^{ck}}{{\left[ {1 + {{\left( {\frac{b}{y}} \right)}^c}} \right]}^k}} \right\} = \mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{{\left( {\frac{y}{b}} \right)}^{ck}}} \right\}\mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{{\left[ {1 + {{\left( {\frac{b}{y}} \right)}^c}} \right]}^k}} \right\}\\ - = \mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{{\left( {\frac{y}{b}} \right)}^{ck}}} \right\}\; \cdot \,1\\ - = {\left( {\frac{y}{b}} \right)^\lambda } -\end{array}\] - -Therefore, \[\begin{array}{*{20}{c}} -{\mathop {\mathop {\lim }\limits_{(c,k) \to (\infty ,0)} }\limits_{ck = \lambda } \left\{ {{F_Y}(y;b,c,k)} \right\} = 1 - {{\left( {\frac{b}{y}} \right)}^\lambda }}&{y \ge b} -\end{array}\] - -which we recognise as the (American) Pareto distribution. So, if the limiting distribution of $Y = \frac{1}{X}$ is a Pareto distribution, then the limiting distribution of $X = \frac{1}{Y}$ is the (American) *inverse Pareto* distribution - -\[\begin{array}{l} -{f_X}\left( {x;\alpha ,\beta } \right) = \lambda {b^\lambda }{x^{\lambda - 1}};{\rm{ }}0 \le x \le {\textstyle{1 \over b}};{\rm{ }}\lambda {\rm{,}}b > 0\\ -{F_X}\left( {x;\alpha ,\beta } \right) = {\left( {xb} \right)^\lambda };{\rm{ }}0 \le x \le {\textstyle{1 \over b}};{\rm{ }}\lambda {\rm{,}}b > 0 -\end{array}\] - -For completeness, the MLEs of this distribution have closed-form expressions and are given by - -\[\begin{array}{l} -\hat \lambda = {\left[ {\ln \left( {\frac{{{g_X}}}{{\hat b}}} \right)} \right]^{ - 1}}\\ -\hat b = \frac{1}{{\max \left\{ {{X_i}} \right\}}}{\rm{ }} -\end{array}\] - -and $\rm{ }{g_X}$ is the *geometric mean* of the data. - -### Inverse Weibull distribution - -Let $X \sim Burr(b,c,k)$ have the *pdf* given in the box above. We make the transformation $Y = \frac{{b{\kern 1pt} {k^{\tfrac{1}{c}}}{\kern 1pt} \theta }}{X}$ - -where $\theta$ is a parameter (constant). The distribution of $Y$ is also a Burr distribution and has *cdf* ${G_Y}\left( y \right) = 1 - \frac{1}{{{{\left[ {1 + {{\left( {\frac{y}{{{k^{\tfrac{1}{c}}}{\kern 1pt} \theta }}} \right)}^c}} \right]}^k}}}$. - -We are interested in the limiting behaviour of this Burr distribution as $k \to \infty$. - -Now, $\mathop {\lim }\limits_{k \to \infty } {G_Y}\left( y \right) = 1 - \mathop {\lim }\limits_{k \to \infty } {\left[ {1 + {{\left( {\frac{y}{{{k^{\tfrac{1}{c}}}{\kern 1pt} \theta }}} \right)}^c}} \right]^{ - k}}$ - -${ = 1 - \mathop {\lim }\limits_{k \to \infty } {{\left[ {1 + \frac{{{{\left( {\frac{y}{\theta }} \right)}^c}}}{{k{\kern 1pt} }}} \right]}^{ - k}}}$ - -$\begin{matrix} - =1-\exp \left[ -{{\left( \frac{y}{\theta } \right)}^{c}} \right] \\ - \left\{ \text{using the fact that }\underset{n\to \infty }{\mathop{\lim }}\,{{\left( 1+{}^{z}\!\!\diagup\!\!{}_{n}\; \right)}^{-n}}={{e}^{-z}} \right\} \\ -\end{matrix}$ - -We recognise the last expression as the *cdf* of a Weibull distribution with parameters $c$ and $\theta$. - -## References - -
- -```{r, results = "asis", echo = FALSE} -cat(ssdtools::ssd_licensing_md()) -``` diff --git a/doc/customising-plots.R b/doc/customising-plots.R deleted file mode 100644 index 5d69f82b..00000000 --- a/doc/customising-plots.R +++ /dev/null @@ -1,70 +0,0 @@ -## ----include = FALSE---------------------------------------------------------- -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - fig.width = 6, - fig.height = 4 -) - -## ----warning=FALSE, message=FALSE, fig.alt="A plot of the CCME boron data with the six default distributions."---- -library(ssdtools) -library(ggplot2) - -fits <- ssd_fit_dists(ssddata::ccme_boron) -ssd_plot_cdf(fits) - -## ----fig.alt="A plot of the CCME boron data with the model average distribution and the six default distributions."---- -ssd_plot_cdf(fits, average = NA, big.mark = " ") + - scale_color_manual(name = "Distribution", breaks = c("average", names(fits)), values = 1:7) + - theme_bw() - -## ----fig.alt = "A plot of the CCME boron data."------------------------------- -ggplot(ssddata::ccme_boron) + - geom_ssdpoint(aes(x = Conc)) + - ylab("Probability density") + - xlab("Concentration") - -## ----fig.alt = "A plot of CCME boron data with the ranges of the censored data indicated by horizontal lines."---- -ggplot(ssddata::ccme_boron) + - geom_ssdsegment(aes(x = Conc, xend = Conc * 4)) + - ylab("Probability density") + - xlab("Concenration") - -## ----fig.alt="A plot of the confidence intervals for the CCME boron data."---- -ggplot(boron_pred) + - geom_xribbon(aes(xmin = lcl, xmax = ucl, y = proportion)) + - ylab("Probability density") + - xlab("Concenration") - -## ----fig.alt="A plot of hazard concentrations as dotted lines."--------------- -ggplot() + - geom_hcintersect(xintercept = c(1, 2, 3), yintercept = c(0.05, 0.1, 0.2)) + - ylab("Probability density") + - xlab("Concenration") - -## ----fig.alt="A plot of censored CCME boron data with confidence intervals"---- -gp <- ggplot(boron_pred, aes(x = est)) + - geom_xribbon(aes(xmin = lcl, xmax = ucl, y = proportion), alpha = 0.2) + - geom_line(aes(y = proportion)) + - geom_ssdsegment(data = ssddata::ccme_boron, aes(x = Conc / 2, xend = Conc * 2)) + - geom_ssdpoint(data = ssddata::ccme_boron, aes(x = Conc / 2)) + - geom_ssdpoint(data = ssddata::ccme_boron, aes(x = Conc * 2)) + - scale_y_continuous("Species Affected (%)", labels = scales::percent) + - xlab("Concentration (mg/L)") + - expand_limits(y = c(0, 1)) - -gp - -## ----fig.alt="A plot of censored CCME boron data on log scale with confidence intervals, mathematical and the 5% hazard concentration."---- -gp + - scale_x_log10( - latex2exp::TeX("Boron $(\\mu g$/L)$") - ) + - geom_hcintersect(xintercept = ssd_hc(fits)$est, yintercept = 0.05) - -## ----eval = FALSE------------------------------------------------------------- -# ggsave("file_name.png", dpi = 300) - -## ----results = "asis", echo = FALSE------------------------------------------- -cat(ssdtools::ssd_licensing_md()) - diff --git a/doc/customising-plots.Rmd b/doc/customising-plots.Rmd deleted file mode 100644 index b5b3d415..00000000 --- a/doc/customising-plots.Rmd +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: "Customising Plots" -author: "ssdtools Team" -date: '`r format(Sys.time(), "%Y-%m-%d", tz = "UTC")`' -bibliography: references.bib -mathfont: Courier -latex_engine: MathJax -output: rmarkdown::html_vignette -vignette: > - %\VignetteIndexEntry{Customising Plots} - %\VignetteEngine{knitr::rmarkdown} - %\VignetteEncoding{UTF-8} ---- - -```{r, include = FALSE} -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - fig.width = 6, - fig.height = 4 -) -``` - -## Plotting the cumulative distributions - -The `ssdtools` package plots the cumulative distribution functions using `ssd_plot_cdf()`. - -For example, consider the CCME boron data from the [`ssddata`](https://github.com/open-AIMS/ssddata) package. -We can fit, and then plot the cdfs as follows. - -```{r warning=FALSE, message=FALSE, fig.alt="A plot of the CCME boron data with the six default distributions."} -library(ssdtools) -library(ggplot2) - -fits <- ssd_fit_dists(ssddata::ccme_boron) -ssd_plot_cdf(fits) -``` - -This graphic is a [ggplot](https://ggplot2.tidyverse.org) object and so can be customized in the usual way. - -For example, we can add the model-averaged cdf by setting `average = NA`, change the string used to separate thousands using `big.mark`, customize the color scale with `scale_color_manual()` and change the theme. - -```{r, fig.alt="A plot of the CCME boron data with the model average distribution and the six default distributions."} -ssd_plot_cdf(fits, average = NA, big.mark = " ") + - scale_color_manual(name = "Distribution", breaks = c("average", names(fits)), values = 1:7) + - theme_bw() -``` - -## ggplot Geoms - -The `ssdtools` package provides four ggplot geoms to allow you construct your own plots. - -### `geom_ssdpoint()` - -The first is `geom_ssdpoint()` which plots species sensitivity data - -```{r, fig.alt = "A plot of the CCME boron data."} -ggplot(ssddata::ccme_boron) + - geom_ssdpoint(aes(x = Conc)) + - ylab("Probability density") + - xlab("Concentration") -``` - -### `geom_ssdsegments()` - -The second is `geom_ssdsegments()` which plots the ranges of censored species sensitivity data - -```{r, fig.alt = "A plot of CCME boron data with the ranges of the censored data indicated by horizontal lines."} -ggplot(ssddata::ccme_boron) + - geom_ssdsegment(aes(x = Conc, xend = Conc * 4)) + - ylab("Probability density") + - xlab("Concenration") -``` - -### `geom_xribbon()` - -The third is `geom_xribbon()` which plots species sensitivity confidence intervals - -```{r, fig.alt="A plot of the confidence intervals for the CCME boron data."} -ggplot(boron_pred) + - geom_xribbon(aes(xmin = lcl, xmax = ucl, y = proportion)) + - ylab("Probability density") + - xlab("Concenration") -``` - -### `geom_hcintersect()` - -And the fourth is `geom_hcintersect()` which plots hazard concentrations - -```{r, fig.alt="A plot of hazard concentrations as dotted lines."} -ggplot() + - geom_hcintersect(xintercept = c(1, 2, 3), yintercept = c(0.05, 0.1, 0.2)) + - ylab("Probability density") + - xlab("Concenration") -``` - -### Putting it together - -Geoms can be combined as follows - -```{r, fig.alt="A plot of censored CCME boron data with confidence intervals"} -gp <- ggplot(boron_pred, aes(x = est)) + - geom_xribbon(aes(xmin = lcl, xmax = ucl, y = proportion), alpha = 0.2) + - geom_line(aes(y = proportion)) + - geom_ssdsegment(data = ssddata::ccme_boron, aes(x = Conc / 2, xend = Conc * 2)) + - geom_ssdpoint(data = ssddata::ccme_boron, aes(x = Conc / 2)) + - geom_ssdpoint(data = ssddata::ccme_boron, aes(x = Conc * 2)) + - scale_y_continuous("Species Affected (%)", labels = scales::percent) + - xlab("Concentration (mg/L)") + - expand_limits(y = c(0, 1)) - -gp -``` - -To log the x-axis and include mathematical notation and add the HC5 value use the following code. - -```{r, fig.alt="A plot of censored CCME boron data on log scale with confidence intervals, mathematical and the 5% hazard concentration."} -gp + - scale_x_log10( - latex2exp::TeX("Boron $(\\mu g$/L)$") - ) + - geom_hcintersect(xintercept = ssd_hc(fits)$est, yintercept = 0.05) -``` - -## Saving plots - -The most recent plot can be saved as a file using `ggsave()`, which also allows the user to set the resolution. - -```{r, eval = FALSE} -ggsave("file_name.png", dpi = 300) -``` - -
- -```{r, results = "asis", echo = FALSE} -cat(ssdtools::ssd_licensing_md()) -``` diff --git a/doc/distributions.R b/doc/distributions.R deleted file mode 100644 index e079c254..00000000 --- a/doc/distributions.R +++ /dev/null @@ -1,315 +0,0 @@ -## ----include = FALSE---------------------------------------------------------- -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - fig.width = 6, - fig.height = 4 -) - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5, fig.cap="Sample Burr probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -f <- function(x, b, c, k) { - z1 <- (b / x)^(c - 1) - z2 <- (b / x)^c - y <- (b * c * k / x^2) * z1 / (1 + z2)^(k + 1) - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, f(conc, 1, 3, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733") -lines(conc, f(conc, 1, 1, 2), col = "#F2A61C") -lines(conc, f(conc, 1, 2, 2), col = "#1CADF2") -lines(conc, f(conc, 1, 2, 5), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, b, c, k) { - z2 <- (b / x)^c - y <- 1 / (1 + z2)^k - return(y) -} -conc <- seq(0, 10, by = 0.005) -plot(conc, F(conc, 1, 3, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733") -lines(conc, F(conc, 1, 1, 2), col = "#F2A61C") -lines(conc, F(conc, 1, 2, 2), col = "#1CADF2") -lines(conc, F(conc, 1, 2, 5), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5, fig.cap="Sample lognormal lognormal mixture probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -f <- function(x, m1, s1, m2, s2, p) { - y <- p * dlnorm(x, m1, s1) + (1 - p) * dlnorm(x, m2, s2) - return(y) -} - -conc <- seq(0, 5, by = 0.0025) -m1 <- 1 -s1 <- .2 -m2 <- 1.8 -s2 <- 1.5 -p <- 0.25 -plot(conc, f(conc, m1, s1, m2, s2, p), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, f(conc, 0.09, 0.5, 1, 0.08, 0.9), col = "#F2A61C") -lines(conc, f(conc, 0.5, 0.5, 1, 0.08, 0.9), col = "#1CADF2") -lines(conc, f(conc, 0.7, 1.5, 0.5, 0.1, .7), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, m1, s1, m2, s2, p) { - y <- p * plnorm(x, m1, s1) + (1 - p) * plnorm(x, m2, s2) - return(y) -} - -conc <- seq(0, 10, by = 0.0025) -m1 <- 1 -s1 <- .2 -m2 <- 1.8 -s2 <- 1.5 -p <- 0.25 -plot(conc, F(conc, m1, s1, m2, s2, p), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, F(conc, 0.09, 0.5, 1, 0.08, 0.9), col = "#F2A61C") -lines(conc, F(conc, 0.5, 0.5, 1, 0.08, 0.9), col = "#1CADF2") -lines(conc, F(conc, 0.7, 1.5, 0.5, 0.1, .7), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -## ----message=FALSE, echo=FALSE, fig.width=7,fig.height=5, fig.cap="Currently recommended default distributions."---- -library(ssdtools) -library(ggplot2) - -# theme_set(theme_bw()) - -set.seed(7) - -ssd_plot_cdf(ssd_match_moments(meanlog = 2, sdlog = 2)) + - scale_color_ssd() - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample lognormal probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.005) -m1 <- 1 -s1 <- .2 -m2 <- 1.8 -s2 <- 1.5 -p <- 0.25 -plot(conc, dlnorm(conc, m1, s1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, dlnorm(conc, 0.4, 2), col = "#F2A61C") -lines(conc, dlnorm(conc, m1 * 2, s1), col = "#1CADF2") -lines(conc, dlnorm(conc, 0.9, 1.5), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -m1 <- 1 -s1 <- .2 -m2 <- 1.8 -s2 <- 1.5 -p <- 0.25 -plot(conc, plnorm(conc, m1, s1), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, plnorm(conc, 0.4, 2), col = "#F2A61C") -lines(conc, plnorm(conc, m1 * 2, s1), col = "#1CADF2") -lines(conc, plnorm(conc, 0.9, 1.5), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Log logistic probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -f <- function(x, a, b) { - z1 <- (x / a)^(b - 1) - z2 <- (x / a)^b - y <- (b / a) * z1 / (1 + z2)^2 - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, f(conc, 3.2, 3.5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, f(conc, 1.5, 1.5), col = "#F2A61C") -lines(conc, f(conc, 1, 1), col = "#1CADF2") -lines(conc, f(conc, 1, 4), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, a, b) { - z2 <- (x / a)^(-b) - y <- 1 / (1 + z2) - return(y) -} -conc <- seq(0, 10, by = 0.005) -plot(conc, F(conc, 3.2, 3.5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, F(conc, 1.5, 1.5), col = "#F2A61C") -lines(conc, F(conc, 1, 1), col = "#1CADF2") -lines(conc, F(conc, 1, 4), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample gamma probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.005) -plot(conc, dgamma(conc, 5, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, dgamma(conc, 4, 1), col = "#F2A61C") -lines(conc, dgamma(conc, 0.9, 1), col = "#1CADF2") -lines(conc, dgamma(conc, 2, 1.), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -plot(conc, pgamma(conc, 5, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, pgamma(conc, 4, 1), col = "#F2A61C") -lines(conc, pgamma(conc, 0.9, 1), col = "#1CADF2") -lines(conc, pgamma(conc, 2, 1.), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Log-Gumbel probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -f <- function(x, a, b) { - y <- b * exp(-(a * x)^(-b)) / (a^b * x^(b + 1)) - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, f(conc, 0.2, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, f(conc, 0.5, 1.5), col = "#F2A61C") -lines(conc, f(conc, 1, 2), col = "#1CADF2") -lines(conc, f(conc, 10, .5), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, a, b) { - y <- exp(-(a * x)^(-b)) - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, F(conc, 0.2, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, F(conc, 0.5, 1.5), col = "#F2A61C") -lines(conc, F(conc, 1, 2), col = "#1CADF2") -lines(conc, F(conc, 10, .5), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Gompertz probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -f <- function(x, n, b) { - y <- n * b * exp(n + b * x - n * exp(b * x)) - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, f(conc, 0.089, 1.25), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 2)) -lines(conc, f(conc, 0.001, 3.5), col = "#F2A61C") -lines(conc, f(conc, 0.0005, 1.1), col = "#1CADF2") -lines(conc, f(conc, 0.01, 5), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, n, b) { - y <- 1 - exp(-n * exp(b * x - 1)) - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, F(conc, 0.089, 1.25), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, F(conc, 0.001, 3.5), col = "#F2A61C") -lines(conc, F(conc, 0.0005, 1.1), col = "#1CADF2") -lines(conc, F(conc, 0.01, 5), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Weibull probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.005) -plot(conc, dweibull(conc, 4.321, 4.949), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, dweibull(conc, 0.838, 0.911), col = "#F2A61C") -lines(conc, dweibull(conc, 1, 1.546), col = "#1CADF2") -lines(conc, dweibull(conc, 17.267, 7.219), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -plot(conc, pweibull(conc, 4.321, 4.949), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, pweibull(conc, 0.838, 0.911), col = "#F2A61C") -lines(conc, pweibull(conc, 1, 1.546), col = "#1CADF2") -lines(conc, pweibull(conc, 17.267, 7.219), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample North American Pareto probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.005) -plot(conc, extraDistr::dpareto(conc, 3, 2), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.5)) -lines(conc, extraDistr::dpareto(conc, 0.838, 0.911), col = "#F2A61C") -lines(conc, extraDistr::dpareto(conc, 4, 4), col = "#1CADF2") -lines(conc, extraDistr::dpareto(conc, 10, 7), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -plot(conc, extraDistr::ppareto(conc, 3, 2), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, extraDistr::ppareto(conc, 0.838, 0.911), col = "#F2A61C") -lines(conc, extraDistr::ppareto(conc, 4, 4), col = "#1CADF2") -lines(conc, extraDistr::ppareto(conc, 10, 7), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -plot(conc, extraDistr::ppareto(conc, 3, 2), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, extraDistr::ppareto(conc, 0.838, 0.911), col = "#F2A61C") -lines(conc, extraDistr::ppareto(conc, 4, 4), col = "#1CADF2") -lines(conc, extraDistr::ppareto(conc, 10, 7), col = "#1F1CF2") - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Sample North American inverse Pareto probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -f <- function(x, a, b) { - y <- a * (b^a) * x^(a - 1) - return(y) -} - -conc <- seq(0, 10, by = 0.001) -plot(conc, f(conc, 5, 0.1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 0.5)) -lines(conc, f(conc, 3, 0.1), col = "#F2A61C") -lines(conc, f(conc, 0.5, 0.1), col = "#1CADF2") -lines(conc, f(conc, 0.1, 0.1), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, a, b) { - y <- (b * x)^a - return(y) -} - -conc <- seq(0, 10, by = 0.001) -plot(conc, F(conc, 5, 0.1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, F(conc, 3, 0.1), col = "#F2A61C") -lines(conc, F(conc, 0.5, 0.1), col = "#1CADF2") -lines(conc, F(conc, 0.1, 0.1), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample European Pareto probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.005) -plot(conc, actuar::dpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, actuar::dpareto(conc, 2, 3), col = "#F2A61C") -lines(conc, actuar::dpareto(conc, 0.5, 1), col = "#1CADF2") -lines(conc, actuar::dpareto(conc, 10.5, 6.5), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -plot(conc, actuar::ppareto(conc, 1, 1), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, actuar::ppareto(conc, 2, 3), col = "#F2A61C") -lines(conc, actuar::ppareto(conc, 0.5, 1), col = "#1CADF2") -lines(conc, actuar::ppareto(conc, 10.5, 6.5), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -## ----echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample European inverse Pareto probability density (A) and cumulative probability (B) functions."---- -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.001) -plot(conc, actuar::dinvpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 0.8)) -lines(conc, actuar::dinvpareto(conc, 1, 3), col = "#F2A61C") -lines(conc, actuar::dinvpareto(conc, 10, 0.1), col = "#1CADF2") -lines(conc, actuar::dinvpareto(conc, 2.045, 0.98), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.001) -plot(conc, actuar::pinvpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, actuar::pinvpareto(conc, 1, 3), col = "#F2A61C") -lines(conc, actuar::pinvpareto(conc, 10, 0.1), col = "#1CADF2") -lines(conc, actuar::pinvpareto(conc, 2.045, 0.98), col = "#1F1CF2") - -## ----results = "asis", echo = FALSE------------------------------------------- -cat(ssdtools::ssd_licensing_md()) - diff --git a/doc/distributions.Rmd b/doc/distributions.Rmd deleted file mode 100644 index 8ab423d4..00000000 --- a/doc/distributions.Rmd +++ /dev/null @@ -1,837 +0,0 @@ ---- -title: "Distributions in ssdtools" -author: "ssdtools Team" -date: '`r format(Sys.time(), "%Y-%m-%d", tz = "UTC")`' -bibliography: references.bib -mathfont: Courier -latex_engine: MathJax -output: rmarkdown::html_vignette -vignette: > - %\VignetteIndexEntry{Distributions in ssdtools} - %\VignetteEngine{knitr::rmarkdown} - %\VignetteEncoding{UTF-8} ---- - -```{r, include = FALSE} -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - fig.width = 6, - fig.height = 4 -) -``` - - - - - -## Distributions for SSD modelling - -Many authors have noted that there is no guiding theory in ecotoxicology to justify a particular distributional form for the SSD other than that its domain be restricted to the positive real line [@newman_2000; @Zajdlik_2005; @fox_2016]. -Distributions selected to use in model averaging of SSDs must be bounded by zero given that effect concentrations cannot be negative. -They must also be continuous, and generally unbounded on the right. -Furthermore, the selected distributions within the candidate model set should provide a variety of shapes to capture the diversity of shapes in empirical species sensitivity distributions. - -To date `r length(ssdtools::ssd_dists())` distributions have been implemented in `ssdtools`, although only `r length(ssdtools::ssd_dists_bcanz())` appear in the default set. -Here we provide a detailed account of all `r length(ssdtools::ssd_dists())` of the distributions available in `ssdtools`, and guidance on their use. - -### Original `ssdtools` distributions - -The log-normal, log-logistic and Gamma distributions have been widely used in SSD modelling, and were part of the original distribution set for early releases of `ssdtools` as developed by @thorley_ssdtools_2018. -They were adopted as the default set of three distributions in early updates of `ssdtools` and the associated ShinyApp [@dalgarno_shinyssdtools_2021]. -All three distributions show good convergence properties and are retained as part of the default model set in version 2.0 of `ssdtools`. - -In addition to the log-normal, log-logistic and Gamma distributions, the original version of `ssdtools` as developed by [Thorley and Schwarz (2018)](https://joss.theoj.org/papers/10.21105/joss.01082.pdf) also included three additional distributions in the candidate model set, including the log-gumbel, Gompertz and Weibull distributions. -Of these, the log-Gumbel (otherwise known as the inverse Weibull, see below) shows relatively good convergence [see Figure 32, @fox_methodologies_2022], and is also one of the limiting distributions of the Burr Type 3 distribution implemented in `ssdtools`, and has been retained in the default model set. -The Gompertz and Weibull distributions, however can exhibit unstable behaviour, sometimes showing poor convergence, and therefore been excluded from the default set [see Figure 32, @fox_methodologies_2022] - -### Burr III distribution - -A history of Burrlioz and the primary distributions it used were recently summmarized by @fox_recent_2021. - -> In 2000, Australia and New Zealand (Australian and New Zealand Environment and Conservation Council/Agriculture and Resource Management Council of Australia and New Zealand 2000) adopted an SSD‐based method for deriving WQBs, following a critical review of multiple WQB derivation methods (Warne 1998). -A distinct feature of the method was the use of a 3‐parameter Burr distribution to model the empirical SSD, which was implemented in the Burrlioz software tool (Campbell et al. 2000). -This represented a generalization of the methods previously employed by Aldenberg and Slob (1993) because the log–logistic distribution -was shown to be a specific case of the Burr family (Tadikamalla 1980). -Recent revision of the derivation method recognized that using the 3‐parameter Burr distributions for small sample sizes (<8 species) created additional uncertainty by estimating more parameters than could be justified, essentially overfitting the data (Batley et al. 2018). -Consequently, the method, and the updated software (Burrlioz Ver 2.0), now uses a 2‐parameter log–logistic distribution for these small -data sets, whereas the Burr type III distribution is used for data sets of 8 species or more (Batley et al. 2018; Australian and -New Zealand Guidelines 2018). - -[@fox_recent_2021] - -The probability density function, ${f_X}(x;b,c,k)$ and cumulative distribution function, ${F_X}(x;b,c,k)$ for the Burr III distribution are: - - - - - - - - - -
- Burr III Distribution - - $$f_X(x;b,c,k) = \frac{{b\,k\,c}}{{x^2}} \frac{{\left( \frac{b}{x} \right)}^{c - 1}}{{\left[ 1 + \left( \frac{b}{x} \right)^c \right]}^{k + 1}}, \quad b, c, k, x > 0$$ - -
- - $$F_X(x;b,c,k) = \frac{1}{{\left[ 1 + \left( \frac{b}{x} \right)^c \right]}^k}, \quad b, c, k, x > 0$$ - -
- -
-Burr III distribution - -$${{f_X}(x;b,c,k) = \frac{{b\,k\,c}}{{{x^2}}}\frac{{{{\left( {\frac{b}{x}} \right)}^{c - 1}}}}{{{{\left[ {1 + {{\left( {\frac{b}{x}} \right)}^c}} \right]}^{k + 1}}}}{\rm{ }}} {b,c,k,x > 0}$$ -
- - -$${{F_X}(x;b,c,k) = \frac{1}{{{{\left[ {1 + {{\left( {\frac{b}{x}} \right)}^c}} \right]}^k}}}{\rm{ }}} {b,c,k,x > 0}$$ -
- -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5, fig.cap="Sample Burr probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -f <- function(x, b, c, k) { - z1 <- (b / x)^(c - 1) - z2 <- (b / x)^c - y <- (b * c * k / x^2) * z1 / (1 + z2)^(k + 1) - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, f(conc, 1, 3, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733") -lines(conc, f(conc, 1, 1, 2), col = "#F2A61C") -lines(conc, f(conc, 1, 2, 2), col = "#1CADF2") -lines(conc, f(conc, 1, 2, 5), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, b, c, k) { - z2 <- (b / x)^c - y <- 1 / (1 + z2)^k - return(y) -} -conc <- seq(0, 10, by = 0.005) -plot(conc, F(conc, 1, 3, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733") -lines(conc, F(conc, 1, 1, 2), col = "#F2A61C") -lines(conc, F(conc, 1, 2, 2), col = "#1CADF2") -lines(conc, F(conc, 1, 2, 5), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") -``` - -While the Burr type III distribution was adopted as the default distribution in Burrlioz, it is well known (e.g., Tadikamalla (1980)) that the Burr III distribution is related to several other theoretical distributions, some of which only exist as limiting cases of the Burr III, i.e., as one or more of the Burr III parameters approaches either zero or infinity. -The Burrlioz software incorporates logic that aims to identify situations where parameter estimates are tending towards either very large or very small values. -In such cases, fitting a Burr III distribution is abandoned and one of the limiting -distributions is fitted instead. - -Specifically: - - - As c tends to infinity the Burr III distribution tends to the inverse (North American) Pareto distribution (see [technical details](https://bcgov.github.io/ssdtools/articles/E_additional-technical-details.html)) - - - As k tends to infinity the Burr III distribution tends to the inverse Weibull (log-Gumbel) distribution (see [technical details](https://bcgov.github.io/ssdtools/articles/E_additional-technical-details.html)) - -In practical terms, if the Burr III distribution is fitted and k is estimated to be greater than 100, the estimation procedure is carried out again using an inverse Weibull distribution. -Similarly, if c is greater than 80 an (American) Pareto distribution is fitted. This is necessary to -ensure numerical stability. - -Since the Burr type III, inverse Pareto and inverse Weibull (log Gumbel) distributions are used by the Burrlioz software, these have been implemented in `ssdtools`. -However, we have found there are stability issues with both the Burr type III, as well as the inverse Pareto distributions, which currently precludes their inclusion in the default model set (see @fox_methodologies_2022, and below for more details). - -### Bimodal distributions - -The use of statistical mixture-models was promoted by Fox as a convenient and more realistic way of modelling bimodal toxicity data [@fisher2019]. -Although parameter heavy, statistical mixture models provide a better conceptual match to the inherent underlying data generating process since they directly model bimodality as a mixture of 2 underlying univariate distributions that represent, for example, different modes of action [@fox_recent_2021]. -It has been postulated that a mixture-model would only be selected in a model-averaging context when the fit afforded by the mixture is demonstrably better than the fit afforded by any single distribution. -This is a consequence of the high penalty in AICc associated with the increased number of parameters (p in Equation 7 of [@fox_recent_2021]) and will be most pronounced for relatively small sample sizes. - -The TMB version of `ssdtools` now includes the option of fitting two mixture distributions, individually or as part of a model average set. -These can be fitted using `ssdtools` by supplying the strings "llogis_llogis" and/or "lnorm_lnorm" to the *dists* argument in the *ssd_fit_dists* call. - -The underlying code for these mixtures has three components: the likelihood function required for TMB; exported R functions to allow the usual methods for a distribution to be called (p, q and r); and a set of supporting R functions (see @fox_methodologies_2022 Appendix D for more details). -Both mixtures have five parameters - two parameters for each of the component distributions and a mixing parameter (pmix) that defines the weighting of the two distributions in the ‘mixture.’ - -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5, fig.cap="Sample lognormal lognormal mixture probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -f <- function(x, m1, s1, m2, s2, p) { - y <- p * dlnorm(x, m1, s1) + (1 - p) * dlnorm(x, m2, s2) - return(y) -} - -conc <- seq(0, 5, by = 0.0025) -m1 <- 1 -s1 <- .2 -m2 <- 1.8 -s2 <- 1.5 -p <- 0.25 -plot(conc, f(conc, m1, s1, m2, s2, p), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, f(conc, 0.09, 0.5, 1, 0.08, 0.9), col = "#F2A61C") -lines(conc, f(conc, 0.5, 0.5, 1, 0.08, 0.9), col = "#1CADF2") -lines(conc, f(conc, 0.7, 1.5, 0.5, 0.1, .7), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, m1, s1, m2, s2, p) { - y <- p * plnorm(x, m1, s1) + (1 - p) * plnorm(x, m2, s2) - return(y) -} - -conc <- seq(0, 10, by = 0.0025) -m1 <- 1 -s1 <- .2 -m2 <- 1.8 -s2 <- 1.5 -p <- 0.25 -plot(conc, F(conc, m1, s1, m2, s2, p), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, F(conc, 0.09, 0.5, 1, 0.08, 0.9), col = "#F2A61C") -lines(conc, F(conc, 0.5, 0.5, 1, 0.08, 0.9), col = "#1CADF2") -lines(conc, F(conc, 0.7, 1.5, 0.5, 0.1, .7), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") -``` - -
As can be see from the plot above, the mixture distributions provide a highly flexible means of modelling *bimodality* in an emprical SSD. -This happens, for example, when the toxicity data for some toxicant include both animal and plant species, or there are different modes of action operating. -Unfortunately, this increased flexibility comes with a high penalty in the model-averaging process. -The combination of small sample sizes and a high parameter count (typically 5 or more) means that mixture distributions will be down-weighted - even when they do a good job at describing the data. -For this reason, when attempting to model bimodal data, we suggest looking at the fit using the default set of distributions and then examining the fit with just one of either the log-normal mixture or the log-logistic mixture. -Keep in mind that this should only be done if the sample size is not pathologically small. -As a guide, Prof. David Fox recommends as an *absolute minimum* $n \ge 3k + 1$ but preferably $n \ge 5k + 1$ where $k$ is the number of model parameters. - -## Default Distributions - -While there is a variety of distributions available in `ssdtools`, the inclusion of all of them for estimating a model-averaged SSD is not recommended. - -By default, `ssdtools` uses the (corrected) Akaike Information Criterion for small sample size (AICc) as a measure of relative quality of fit for different distributions and as the basis for calculating the model-averaged weights. -However, the choice of distributions used to fit a model-averaged SSD can have a profound effect on the estimated *HCx* values. - -Deciding on a final default set of distributions to adopt using the model averaging approach is non-trivial, and we acknowledge that there is probably no definitive ‘solution’ to this issue. -However, the default set should be underpinned by a guiding principle of parsimony, i.e., the set should be as large as is necessary to cover a wide variety of distributional shapes and contingencies but no bigger. -Further, the default set should result in model-averaged estimates of *HCx* values that: 1) minimise bias; 2) have actual coverages of confidence intervals that are close to the nominal level of confidence; 3) estimated *HCx* and confidence intervals of *HCx* are robust to small changes in the data; and 4) represent a positively continuous distribution that has both right and left tails. - -The `ssdtools` development team has undertaken extensive simulation studies, as well as some detailed technical examinations of the various candidate distributions to examine issues of bias, coverage and numerical stability. -A detailed account of our findings can be found in our report [@fox_methodologies_2022] and are not repeated in detail here, although some of the issues associated with individual distributions are outlined below. - -### Currently recommended default distributions - -The default list of candidate distributions in `ssdtools` is comprised of the following: log-normal; log-logistic; gamma; inverse Weibull (log-Gumbel); Weibull; mixture of two log-normal distributions - -The default distributions are plotted below with a mean of 2 and standard deviation of 2 on the (natural) log concentration scale or around 7.4 on the concentration scale. - -```{r, message=FALSE, echo=FALSE, fig.width=7,fig.height=5, fig.cap="Currently recommended default distributions."} -library(ssdtools) -library(ggplot2) - -# theme_set(theme_bw()) - -set.seed(7) - -ssd_plot_cdf(ssd_match_moments(meanlog = 2, sdlog = 2)) + - scale_color_ssd() -``` - - -## Distributions currently implemented in `ssdtools` - -#### Burr Type III distribution - -The Burr Type 3 is a flexible three parameter distribution can be fitted using `ssdtools` by supplying the string `burrIII3` to the `dists` argument in the `ssd_fit_dists` call. - -
-Burr III distribution - -

See above for details - -
- -
-The Burr family of distributions has been central to the derivation of guideline values in Australia and New Zealand for over 20 yr [@fox_recent_2021]. While offering a high degree of flexibility, experience with these distributions during that time has repeatedly highlighted numerical stability and convergence issues when parameters are estimated using maximum likelihood [@fox_recent_2021]. -This is thought to be due to the high degree of collinearity between parameter estimates and/or relatively flat likelihood profiles [@fox_recent_2021], and is one of the motivations behind the logic coded into Burrlioz to revert to either of the two limiting distributions. -Burr Type 3 distribution is not currently one of the recommended distributionsin the default model set. -This is because of 1) the convergence issues associated with the Burr Type 3 distribution, 2) the fact that reverting to a limiting two parameter distribution does not fit easily within a model averaging framework, and 3) that one of the two limiting distributions (the inverse Pareto, see below) also has estimation and convergence issues. - -#### Log-normal - -The [log-normal](https://en.wikipedia.org/wiki/Log-normal_distribution) distribution is a commonly used distribution in the natural sciences - particularly as a probability model to describe right (positive)-skewed phenomena such as *concentration* data. - -A random variable, $X$ is lognormally distributed if the *logarithm* of $X$ is normally distributed. The *pdf* of $X$ is given by - -
-Lognormal distribution - -$${f_X}\left( {x;\mu ,\sigma } \right) = \frac{1}{{\sqrt {2\pi } {\kern 1pt} \sigma x}}\exp \left[ { - \frac{{{{\left( {\ln x - \mu } \right)}^2}}}{{2{\sigma ^2}}}} \right]{\rm{ ; }}x,\sigma > 0,\; - \infty < \mu < \infty $$ - -
- -The lognormal distribution was selected as the starting distribution given the data are for effect concentrations. -The log-normal distribution can be fitted using `ssdtools` supplying the string `lnorm` to the `dists` argument in the `ssd_fit_dists` call. - -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample lognormal probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.005) -m1 <- 1 -s1 <- .2 -m2 <- 1.8 -s2 <- 1.5 -p <- 0.25 -plot(conc, dlnorm(conc, m1, s1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, dlnorm(conc, 0.4, 2), col = "#F2A61C") -lines(conc, dlnorm(conc, m1 * 2, s1), col = "#1CADF2") -lines(conc, dlnorm(conc, 0.9, 1.5), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -m1 <- 1 -s1 <- .2 -m2 <- 1.8 -s2 <- 1.5 -p <- 0.25 -plot(conc, plnorm(conc, m1, s1), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, plnorm(conc, 0.4, 2), col = "#F2A61C") -lines(conc, plnorm(conc, m1 * 2, s1), col = "#1CADF2") -lines(conc, plnorm(conc, 0.9, 1.5), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") -``` - -#### Log-logistic distribution - -Like the *lognormal* distribution, the [log-logistic](https://en.wikipedia.org/wiki/Log-logistic_distribution) is similarly defined, that is: if $X$ has a log-logistic distribution, then $Y = \ln (X)$ has a *logistic* distribution. - -
- - - - - - - - - - - - - - - - - - - - - -Log-logistic distribution - -$${{f_Y}\left( {y;\alpha ,\beta } \right) = \frac{{\left( {{\raise0.5ex\hbox{$\scriptstyle \beta $} -\kern-0.1em/\kern-0.15em -\lower0.25ex\hbox{$\scriptstyle \alpha $}}} \right){{\left( {{\raise0.5ex\hbox{$\scriptstyle y$} -\kern-0.1em/\kern-0.15em -\lower0.25ex\hbox{$\scriptstyle \alpha $}}} \right)}^{\beta - 1}}}}{{{{\left[ {1 + {{\left( {{\raise0.5ex\hbox{$\scriptstyle y$} -\kern-0.1em/\kern-0.15em -\lower0.25ex\hbox{$\scriptstyle \alpha $}}} \right)}^\beta }} \right]}^2}}};} {y,}$$ - -$${{F_Y}\left( {y;\alpha ,\beta } \right) = \frac{{{{\left( {{\raise0.5ex\hbox{$\scriptstyle y$} -\kern-0.1em/\kern-0.15em -\lower0.25ex\hbox{$\scriptstyle \alpha $}}} \right)}^\beta }}}{{1 + {{\left( {{\raise0.5ex\hbox{$\scriptstyle y$} -\kern-0.1em/\kern-0.15em -\lower0.25ex\hbox{$\scriptstyle \alpha $}}} \right)}^\beta }}};} {y,}$$ - -$$\alpha ,\beta > 0$$ - -
- -
letting $\mu = \ln \left( \alpha \right)$ and $s = \frac{1}{\beta }$ we have: - -
-Logistic distribution - -$${{f_X}\left( {x;\mu ,s} \right) = \frac{{{e^{ - x}}}}{{{{\left( {1 + {e^{ - x}}} \right)}^2}}};} {x,s > 0,\; - \infty < \mu < \infty }$$ - -$${{F_X}\left( {x;\mu ,s} \right) = \frac{1}{{1 + {e^{ - \frac{{\left( {x - \mu } \right)}}{s}}}}};} {x,s > 0,\; - \infty < \mu < \infty }$$ -
- - -
-The log-logistic distribution is often used as a candidate SSD primarily because of its analytic tractability [@aldenberg_confidence_1993]. -We included it because it has wider tails than the log-normal and because it is a specific case of the more general Burr family of distributions [@shao_estimation_2000, @burr_cumulative_1942]. -The log-logistic distribution can be fitted using `ssdtools` by supplying the string `lnorm` to the `dists` argument in the `ssd_fit_dists` call. - -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Log logistic probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -f <- function(x, a, b) { - z1 <- (x / a)^(b - 1) - z2 <- (x / a)^b - y <- (b / a) * z1 / (1 + z2)^2 - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, f(conc, 3.2, 3.5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, f(conc, 1.5, 1.5), col = "#F2A61C") -lines(conc, f(conc, 1, 1), col = "#1CADF2") -lines(conc, f(conc, 1, 4), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, a, b) { - z2 <- (x / a)^(-b) - y <- 1 / (1 + z2) - return(y) -} -conc <- seq(0, 10, by = 0.005) -plot(conc, F(conc, 3.2, 3.5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, F(conc, 1.5, 1.5), col = "#F2A61C") -lines(conc, F(conc, 1, 1), col = "#1CADF2") -lines(conc, F(conc, 1, 4), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") -``` - -#### Gamma distribution -The two-parameter [gamma](https://en.wikipedia.org/wiki/Gamma_distribution) distribution has the following *pdf* and *cdf*. - -
-Gamma distribution - -$${{f_X}\left( {x;b,c} \right) = \frac{{{x^{c - 1}}{e^{ - \left( {\frac{x}{b}} \right)}}}}{{{b^c}\,\Gamma \left( c \right)}}} {0 \le x}$$ - -$${{F_X}\left( {x;b,c} \right) = \frac{1}{{\,\Gamma \left( c \right)}}\,\gamma \left( {c,\frac{x}{b}} \right)} {0 \le x}$$ -$$ < \infty ;b,c > 0$$ - -
- -
where $\Gamma \left( \cdot \right)$ is the *gamma* function (in `R` this is simply `gamma(x)`) and $\gamma \left( \cdot \right)$ is the (lower) *incomplete gamma* function \[\gamma \left( {x,a} \right) = \int\limits_0^x {{t^{a - 1}}} \,{e^{ - t}}\,dt\] (this can be computed using the `gammainc` function from the `pracma` package in `R`). - -For use in modeling species sensitivity data, the gamma distribution has two key features that provide additional flexibility relative to the log-normal distribution: 1) it is asymmetrical on the logarithmic scale; and 2) it has wider tails. - -The gamma distribution can be fitted using `ssdtools` by supplying the string "gamma" to the *dists* argument in the *ssd_fit_dists* call. - -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample gamma probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.005) -plot(conc, dgamma(conc, 5, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, dgamma(conc, 4, 1), col = "#F2A61C") -lines(conc, dgamma(conc, 0.9, 1), col = "#1CADF2") -lines(conc, dgamma(conc, 2, 1.), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -plot(conc, pgamma(conc, 5, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, pgamma(conc, 4, 1), col = "#F2A61C") -lines(conc, pgamma(conc, 0.9, 1), col = "#1CADF2") -lines(conc, pgamma(conc, 2, 1.), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") -``` - -#### Log-gumbel (inverse Weibull) distribution - -The log-gumbel distribution is a two-parameter distribution commonly used to model extreme values. -The log-gumbel distribution can be fitted using `ssdtools` by supplying the string `lgumbel` to the `dists` argument in the `ssd_fit_dists` call. -The two-parameter log-gumbel distribution has the following *pdf* and *cdf*: - -
-Log-Gumbel distribution - -$${{f_X}\left( {x;\alpha ,\beta } \right) = \frac{{\beta \,{e^{ - {{(\alpha x)}^{ - \beta }}}}}}{{{\alpha ^\beta }\,{x^{\beta + 1}}}}} ;\quad x,\alpha ,\beta > 0\\$$ - -$${{F_X}\left( {x;\alpha ,\beta } \right) = {e^{ - {{(\alpha x)}^{ - \beta }}}}} ;\quad x,\alpha ,\beta > 0$$ - -
- - - - - - - - - - - -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Log-Gumbel probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -f <- function(x, a, b) { - y <- b * exp(-(a * x)^(-b)) / (a^b * x^(b + 1)) - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, f(conc, 0.2, 5), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, f(conc, 0.5, 1.5), col = "#F2A61C") -lines(conc, f(conc, 1, 2), col = "#1CADF2") -lines(conc, f(conc, 10, .5), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, a, b) { - y <- exp(-(a * x)^(-b)) - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, F(conc, 0.2, 5), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.1)) -lines(conc, F(conc, 0.5, 1.5), col = "#F2A61C") -lines(conc, F(conc, 1, 2), col = "#1CADF2") -lines(conc, F(conc, 10, .5), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") -``` - - -#### Gompertz distribution - -The Gompertz distribution is a flexible distribution that exhibits both positive and negative skewness. -The Gompertz distribution can be fitted using `ssdtools` by supplying the string `gompertz` to the `dists` argument in the `ssd_fit_dists` call. -We consider two parameterisations of the Gompertz distribution. -The first, as given in [Wikipedia](https://en.wikipedia.org/wiki/Gompertz_distribution) and also used in `ssdtools` [Gompertz] has the following *pdf* and *cdf*: - -
-Gompertz distribution: Parameterisation I - - - - - - - - - - -$${{f_X}\left( {x;\eta ,b} \right) = b{\kern 1pt} \eta \exp \left( {\eta + bx - \eta {e^{bx}}} \right)} ; \quad 0 \le x < \infty ,\eta ,b > 0\\$$ - - -$${{F_X}\left( {x;\eta ,b} \right) = 1 - \exp \left[ { - \eta \left( {{e^{bx}} - 1} \right)} \right]} ; \quad 0 \le x < \infty ,\eta ,b > 0$$ - - -
- -The second parameterisation in which the *product* $b\eta$ in the formulae above is replaced by the parameter $a$ giving: - -
-Gompertz distribution: Parameterisation II - - - - - - - - - - -$${{f_X}(x;a,b) = \frac{a}{b}\;{e^{\frac{x}{b}}}\;\exp \left[ { - a\left( {{e^{\frac{x}{b}}}\; - 1} \right)} \right]} {;\quad 0 \le x < \infty,a,b > 0}$$ - -$${{F_X}(x;a,b) = 1 - \;\exp \left[ { - a\left( {{e^{\frac{x}{b}}}\; - 1} \right)} \right]} {;\quad 0 \le x < \infty,a,b > 0}$$ - -
- -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Gompertz probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -f <- function(x, n, b) { - y <- n * b * exp(n + b * x - n * exp(b * x)) - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, f(conc, 0.089, 1.25), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 2)) -lines(conc, f(conc, 0.001, 3.5), col = "#F2A61C") -lines(conc, f(conc, 0.0005, 1.1), col = "#1CADF2") -lines(conc, f(conc, 0.01, 5), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, n, b) { - y <- 1 - exp(-n * exp(b * x - 1)) - return(y) -} - -conc <- seq(0, 10, by = 0.005) -plot(conc, F(conc, 0.089, 1.25), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, F(conc, 0.001, 3.5), col = "#F2A61C") -lines(conc, F(conc, 0.0005, 1.1), col = "#1CADF2") -lines(conc, F(conc, 0.01, 5), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") -``` - -The Gompertz distribution is available in `ssdtools`, however parameter estimation can be somewhat unstable [@fox_methodologies_2022], and for this reason it is not currently included in the default set. - -#### Weibull distribution - -The inclusion of the Weibull distribution and inverse Pareto distribution (see next) in `ssdtools` was primarily necessitated by the need to maintain consistency with the calculations undertaken in `Burrlioz`. -As mentioned earlier, both the Weibull and inverse Pareto distributions arise as *limiting distributions* when the Burr parameters $c$ and $k$ tend to either zero and/or infinity in specific ways. - -The two-parameter [Weibull](https://en.wikipedia.org/wiki/Weibull_distribution) distribution has the following *pdf* and *cdf*: - -
-Weibull distribution - - - - - - - - - - -$${{f_X}(x;a,b) = \frac{c}{\theta }\,{{\left( {\frac{x}{\theta }} \right)}^{c - 1}}{e^{ - {{\left( {\frac{x}{\theta }} \right)}^c}}}} {;\quad 0 \le x < \infty ,c,\theta > 0}$$ - - -$${{F_X}(x;a,b) = 1 - \;{e^{ - {{\left( {\frac{x}{\theta }} \right)}^c}}}} {;\quad 0 \le x < \infty ,c,\theta > 0}$$ - -
- -The Weibull distribution can be fitted in `ssdtools` by supplying the string `weibull` to the `dists` argument in the `ssd_fit_dists` call. - -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Weibull probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.005) -plot(conc, dweibull(conc, 4.321, 4.949), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, dweibull(conc, 0.838, 0.911), col = "#F2A61C") -lines(conc, dweibull(conc, 1, 1.546), col = "#1CADF2") -lines(conc, dweibull(conc, 17.267, 7.219), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -plot(conc, pweibull(conc, 4.321, 4.949), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, pweibull(conc, 0.838, 0.911), col = "#F2A61C") -lines(conc, pweibull(conc, 1, 1.546), col = "#1CADF2") -lines(conc, pweibull(conc, 17.267, 7.219), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") -``` - - -#### Inverse Pareto distribution - -The inverse Pareto distribution can be fitted using `ssdtools` by supplying the string `invpareto` to the `dists` argument in the `ssd_fit_dists` call. - -While the inverse Pareto distribution is implemented in the `Burrlioz 2.0` software, it is important to understand that it is done so only as one of the limiting Burr distributions (see [technical details](https://bcgov.github.io/ssdtools/articles/E_additional-technical-details.html)). -The inverse Pareto is not offered as a stand-alone option in the `Burrlioz 2.0` software. We have spent considerable time and effort exploring the properties of the inverse Pareto distribution, including deriving bias correction equations and alternative methods for deriving confidence intervals [@fox_methodologies_2022]. -This work has substantial value for improving the current `Burrlioz 2.0` method, and our bias corrections should be adopted when deriving *HCx* estimates from the inverse Pareto where parameters have been estimated using maximum likelihood. - -As is the case with the `Burrlioz 2.0` software, we have decided not to include the inverse Pareto distribution in the default candidate set in `ssdtools` although it is offered ass a user-selectable distribution to use in the model-fitting process. - -As with many statistical distributions, different 'variants' exist. These 'variants' are not so much different distributions as they are simple re-parameterisations. -For example, many distributions have a *scale* parameter, $\beta$ and some authors and texts will use $\beta$ while others use $\frac{1}{\beta }$. -An example of this re-parameterisation was given above for the Gompertz distribution. -While the choice of mathematical representation may be purely preferential, it is sometimes done for mathematical convenience. -For example, Parameterisation I of the Gompertz distribution above was obtained by letting $a = b\eta$ in Parameterisation II. -This re-expression involving parameters $b$ and $\eta$ would be particularly useful when trying to fit a distribution for which one of $\left\{ {b,\,\eta } \right\}$ was very small and the other was very large. - -It has already been noted that the particular parameterisation of the (Inverse)Pareto distribution used in both `Burrlioz 2.0` and `ssdtools` was **not** a matter of preference, but rather was dictated by mathematical considerations which demonstrated convergence of the Burr distribution to one specific version of the (Inverse)Pareto distribution. -While the mathematics provides an elegant solution to an otherwise problematic situation, this version of the (Inverse)Pareto distribution is not particularly use as a stand-alone distribution for fitting an SSD (other than as a special, limiting case of the Burr distribution). - -The two versions of the (Inverse)Pareto distribution are known as the *European* and *North American* versions. Their *pdfs* and *cdfs* are given below. - -
- -
-                    (Inverse)Pareto distribution - North American version

Pareto distribution
- - - - - - - - - - - - - - - - - - - - -$${{f_X}\left( {x;\alpha ,\beta } \right) = \alpha {\kern 1pt} {\beta ^\alpha }{\kern 1pt} {x^{ - \left( {\alpha + 1} \right)}}} ; \quad x > \beta ;\;\alpha ,\beta > 0\\$$ - - -$${{F_X}\left( {x;\alpha ,\beta } \right) = 1 - {{\left( {\frac{\beta }{x}} \right)}^\alpha }}; \quad x > \beta ;\;\alpha ,\beta > 0$$ - - -Now, if X has the Pareto distribution above, then \[Y = \frac{1}{X}\] has an inverse Pareto distribution.

inverse Pareto distribution - - -$${{g_Y}\left( {y;\alpha ,\beta } \right) = \alpha {\kern 1pt} {\beta ^\alpha }{\kern 1pt} {y^{\alpha - 1}}} ;\quad y \le \frac{1}{\beta };\;\;\alpha ,\beta > 0\\$$ - -$${{G_Y}\left( {y;\alpha ,\beta } \right) = {{\left( {\beta \,y} \right)}^\alpha }}; \quad 0 < y \le \frac{1}{\beta };\;\;\alpha ,\beta > 0$$ - -
- -

Importantly, we see that the *North American* versions of these distributions are bounded with the Pareto distribution bounded **below** by $\beta$ and the inverse Pareto distribution bounded *above* by $\frac{1}{\beta }$.
As an aside, the *mle* of $\beta$ in the Pareto distribution is \[\hat \beta = \min \left\{ {{X_1}, \ldots ,{X_n}} \right\}\] and the *mle* of $\frac{1}{\beta }$ in the inverse Pareto is \[\begin{array}{*{20}{l}} -{\tilde \beta = \max \left\{ {{Y_1}, \ldots ,{Y_n}} \right\}}\\ -{\quad = \max \left\{ {\frac{1}{{{X_1}}}, \ldots ,\frac{1}{{{X_n}}}} \right\} = \frac{1}{{\min \left\{ {{X_1}, \ldots ,{X_n}} \right\}}}}\\ -{\quad = \frac{1}{{\hat \beta }}} -\end{array}\]. - -and the *mle* of $\alpha$ is: \[\hat \alpha = {\left[ {\ln \left( {\frac{g}{{\hat \beta }}} \right)} \right]^{ - 1}}\] where $g$ is the *geometric mean*: \[g = {\left[ {\prod\limits_{i = 1}^n {{X_i}} } \right]^{\frac{1}{n}}}\] - -Thus, it doesn't matter whether you're fitting a Pareto or inverse Pareto distribution to your data - the parameter estimates are the same. - -Because it is *bounded*, the North American version of the (Inverse)Pareto distribution is not useful as a stand-alone SSD - more so for the *inverse Pareto* distribution since it is bounded from *above*. - -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample North American Pareto probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.005) -plot(conc, extraDistr::dpareto(conc, 3, 2), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1.5)) -lines(conc, extraDistr::dpareto(conc, 0.838, 0.911), col = "#F2A61C") -lines(conc, extraDistr::dpareto(conc, 4, 4), col = "#1CADF2") -lines(conc, extraDistr::dpareto(conc, 10, 7), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -plot(conc, extraDistr::ppareto(conc, 3, 2), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, extraDistr::ppareto(conc, 0.838, 0.911), col = "#F2A61C") -lines(conc, extraDistr::ppareto(conc, 4, 4), col = "#1CADF2") -lines(conc, extraDistr::ppareto(conc, 10, 7), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -plot(conc, extraDistr::ppareto(conc, 3, 2), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, extraDistr::ppareto(conc, 0.838, 0.911), col = "#F2A61C") -lines(conc, extraDistr::ppareto(conc, 4, 4), col = "#1CADF2") -lines(conc, extraDistr::ppareto(conc, 10, 7), col = "#1F1CF2") -``` - -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample Sample North American inverse Pareto probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -f <- function(x, a, b) { - y <- a * (b^a) * x^(a - 1) - return(y) -} - -conc <- seq(0, 10, by = 0.001) -plot(conc, f(conc, 5, 0.1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 0.5)) -lines(conc, f(conc, 3, 0.1), col = "#F2A61C") -lines(conc, f(conc, 0.5, 0.1), col = "#1CADF2") -lines(conc, f(conc, 0.1, 0.1), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -F <- function(x, a, b) { - y <- (b * x)^a - return(y) -} - -conc <- seq(0, 10, by = 0.001) -plot(conc, F(conc, 5, 0.1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, F(conc, 3, 0.1), col = "#F2A61C") -lines(conc, F(conc, 0.5, 0.1), col = "#1CADF2") -lines(conc, F(conc, 0.1, 0.1), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") -``` - -We see from the *pdf* plots that the alternative, *European* version of the inverse Pareto distribution is a more realistic candidate. - -
- -
-                    (Inverse)Pareto distribution - European version

Pareto distribution
- - -$${{f_X}\left( {x;\alpha ,\beta } \right) = \frac{{\alpha \,\beta \,{x^{\alpha - 1}}}}{{{{\left( {x + \beta } \right)}^{\alpha + 1}}}}} ; \quad x,\;\alpha ,\beta > 0\\$$ - - -$${{F_X}\left( {x;\alpha ,\beta } \right) = 1 - {{\left( {\frac{\beta }{{x + \beta }}} \right)}^\alpha }}; -\quad x,\;\alpha ,\beta > 0$$ - - -Now, if X has the Pareto distribution above, then \[Y = \frac{1}{X}\] has an inverse Pareto distribution.

inverse Pareto distribution - -$${{g_Y}\left( {y;\alpha ,\beta } \right) = \frac{{\alpha {\kern 1pt} {\beta ^\alpha }{\kern 1pt} {y^{\alpha - 1}}}}{{{{\left( {1 + \beta y} \right)}^{\alpha + 1}}}}}; -\quad y,\;\alpha ,\beta > 0\\$$ - - -$${{G_Y}\left( {y;\alpha ,\beta } \right) = {{\left( {\frac{{\beta y}}{{1 + \beta y}}} \right)}^\alpha }}; -\quad y,\;\alpha ,\beta > 0$$ - -
- -We note in passing that *both* versions of these Pareto and inverse Pareto distrbutions are available in `R`. -For example, the `R`package `extraDistr` has North American versions, while the `actuar` package has European versions. - -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample European Pareto probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.005) -plot(conc, actuar::dpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, actuar::dpareto(conc, 2, 3), col = "#F2A61C") -lines(conc, actuar::dpareto(conc, 0.5, 1), col = "#1CADF2") -lines(conc, actuar::dpareto(conc, 10.5, 6.5), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.005) -plot(conc, actuar::ppareto(conc, 1, 1), type = "l", ylab = "Cumulative probability", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, actuar::ppareto(conc, 2, 3), col = "#F2A61C") -lines(conc, actuar::ppareto(conc, 0.5, 1), col = "#1CADF2") -lines(conc, actuar::ppareto(conc, 10.5, 6.5), col = "#1F1CF2") -legend("topleft", "(B)", bty = "n") -``` - -```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample European inverse Pareto probability density (A) and cumulative probability (B) functions."} -par(mfrow = c(1, 2)) - -conc <- seq(0, 10, by = 0.001) -plot(conc, actuar::dinvpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 0.8)) -lines(conc, actuar::dinvpareto(conc, 1, 3), col = "#F2A61C") -lines(conc, actuar::dinvpareto(conc, 10, 0.1), col = "#1CADF2") -lines(conc, actuar::dinvpareto(conc, 2.045, 0.98), col = "#1F1CF2") -legend("topleft", "(A)", bty = "n") - -conc <- seq(0, 10, by = 0.001) -plot(conc, actuar::pinvpareto(conc, 1, 1), type = "l", ylab = "Probability density", xlab = "Concentration", col = "#FF5733", ylim = c(0, 1)) -lines(conc, actuar::pinvpareto(conc, 1, 3), col = "#F2A61C") -lines(conc, actuar::pinvpareto(conc, 10, 0.1), col = "#1CADF2") -lines(conc, actuar::pinvpareto(conc, 2.045, 0.98), col = "#1F1CF2") -``` - -#### Inverse Weibull distribution (see log-Gumbel, above) - -The inverse Weibull is mathematically equivalent to the log-Gumbel distribution described above. -While which is also a limiting distribution of the Burr Type 3, this distribution does not show the same instability issues, and is unbounded to the right. -It therefore represents a valid SSD distribution and is included in the default model set as a distribution in its own right. - -The inverse Weibull (log-Gumbel) distribution can be fitted in `ssdtools` by supplying the string `lgumbel` to the `dists` argument in the `ssd_fit_dists` call. - -## Relationships among distributions in `ssdtools` - -##### NOTES -1. In the diagram below, $X$ denotes the random variable in the box at the *beginning* of the arrow and the expression beside the arrow indicates the mathematical transformation of $X$ such that the resultant *transformed* data has the distribution identified in the box at the *end* of the arrow. - -2. *Reciprocal* transformations ($\frac{1}{X}$) are **bi-directional** ($\leftrightarrow$). - -3. Although the *negative exponential* distribution is **not** explicitly included in `ssdtools`, it is a special case of the *gamma* distribution with $c=1$. It is included in this figure as it is related to other distributions that *are* included in `ssdtools`. - -4. The *European* versions of the Pareto and inverse Pareto distributions are **unbounded**; the *North American* versions are **bounded**. - - -
- -![](images/relationships.png){width=100%} - -## References - -
- -```{r, results = "asis", echo = FALSE} -cat(ssdtools::ssd_licensing_md()) -``` diff --git a/doc/model-averaging.R b/doc/model-averaging.R deleted file mode 100644 index 27ed1e72..00000000 --- a/doc/model-averaging.R +++ /dev/null @@ -1,173 +0,0 @@ -## ----include = FALSE---------------------------------------------------------- -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - fig.width = 6, - fig.height = 4 -) -library(tinytex) - -## ----include=FALSE------------------------------------------------------------ -# this just loads the package and suppresses the load package message -library(ssdtools) -require(ggplot2) - -## ----echo=FALSE,warning=FALSE, message=FALSE,class.output="scroll-100"-------- -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -print(samp) -# knitr::kable(samp,caption="Some toxicity data (concentrations)") - -## ----echo=FALSE,fig.cap="Emprirical cdf (black); Model 1(green); and Model 2 (blue)", fig.width=7,fig.height=4.5---- -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -samp <- sort(samp) -plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") -xx <- seq(0.01, 3, by = 0.01) -lines(xx, plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10]))), col = "#77d408") -lines(xx, plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))), col = "#08afd4") -# lines(xx,(0.4419*plnorm(xx,meanlog=mean(log(samp[5:15])),sd=sd(log(samp[5:15])))+ -# 0.5581*plnorm(xx,meanlog=mean(log(samp[1:10])),sd=sd(log(samp[1:10])))) ,col="#d40830") - -## ----echo=FALSE,fig.cap="Empirical cdf (black); Model 1(green); Model 2 (blue); and averaged Model (red)",fig.width=7,fig.height=4.5---- -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -samp <- sort(samp) -plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") -xx <- seq(0.01, 3, by = 0.01) -lines(xx, plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10]))), col = "#77d408") -lines(xx, plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))), col = "#08afd4") -lines(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + - 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), col = "#d40830") - -## ----echo=TRUE---------------------------------------------------------------- -# Model 1 HC20 -cat("Model 1 HC20 =", qlnorm(0.2, -1.067, 0.414)) - -# Model 2 HC20 -cat("Model 2 HC20 =", qlnorm(0.2, -0.387, 0.617)) - -## ----echo=FALSE,fig.width=7,fig.height=5-------------------------------------- -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -samp <- sort(samp) -xx <- seq(0.01, 3, by = 0.01) - - -plot(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + - 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), -col = "#d40830", type = "l", xlab = "Concentration", ylab = "Probability" -) -segments(0.33, -1, 0.33, 0.292, col = "blue", lty = 21) -segments(-1, 0.292, 0.33, 0.292, col = "blue", lty = 21) -mtext("0.3", side = 2, at = 0.3, cex = 0.8, col = "blue") -mtext("0.33", side = 1, at = 0.33, cex = 0.8, col = "blue") - -## ----echo=FALSE, fig.width=8,fig.height=6------------------------------------- -t <- seq(0.01, 0.99, by = 0.001) - - -F <- 0.4419 * qlnorm(t, -1.067, 0.414) + 0.5581 * qlnorm(t, -0.387, 0.617) - -plot(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + - 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), -col = "#d40830", type = "l", xlab = "Concentration", ylab = "Probability" -) - -lines(F, t, col = "#51c157", lwd = 1.75) - -segments(-1, 0.2, 0.34, 0.2, col = "black", lty = 21, lwd = 2) -segments(0.28, 0.2, 0.28, -1, col = "red", lty = 21, lwd = 2) -segments(0.34, 0.2, 0.34, -1, col = "#51c157", lty = 21, lwd = 2) -segments(1.12, -1, 1.12, 0.9, col = "grey", lty = 21, lwd = 1.7) - -text(0.25, 0.6, "Correct MA-SSD", col = "red", cex = 0.75) -text(0.75, 0.4, "Erroneous MA-SSD", col = "#51c157", cex = 0.75) -mtext("1.12", side = 1, at = 1.12, cex = 0.8, col = "grey") - -## ----echo=FALSE,warning=FALSE, results="markup",message=FALSE,class.output="scroll-100"---- -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -print(samp) -# knitr::kable(samp,caption="Some toxicity data (concentrations)") - -## ----echo=TRUE,results='hide',warning=FALSE,message=FALSE--------------------- -dat <- data.frame(Conc = c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59)) -library(goftest) -library(EnvStats) # this is required for the Pareto cdf (ppareto) - -# Examine the fit for the gamma distribution (NB: parameters estimated from the data) -cvm.test(dat$Conc, null = "pgamma", shape = 2.0591977, scale = 0.3231032, estimated = TRUE) - -# Examine the fit for the lognormal distribution (NB: parameters estimated from the data) -cvm.test(dat$Conc, null = "plnorm", meanlog = -0.6695120, sd = 0.7199573, estimated = TRUE) - -# Examine the fit for the Pareto distribution (NB: parameters estimated from the data) -cvm.test(dat$Conc, null = "ppareto", location = 0.1800000, shape = 0.9566756, estimated = TRUE) - -## ----echo=FALSE,fig.cap="Emprirical cdf (black); lognormal (green); gamma (blue); and Pareeto (red)", fig.width=7,fig.height=4.5---- -library(EnvStats) -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -samp <- sort(samp) -plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") -xx <- seq(0.01, 3, by = 0.01) -lines(xx, plnorm(xx, meanlog = -0.6695120, sd = 0.7199573), col = "#77d408") -lines(xx, pgamma(xx, shape = 2.0591977, scale = 0.3231032), col = "#08afd4") -lines(xx, ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "red") -# lines(xx,(0.4419*plnorm(xx,meanlog=mean(log(samp[5:15])),sd=sd(log(samp[5:15])))+ -# 0.5581*plnorm(xx,meanlog=mean(log(samp[1:10])),sd=sd(log(samp[1:10])))) ,col="#d40830") - -## ----echo=TRUE---------------------------------------------------------------- -sum(log(dgamma(dat$Conc, shape = 2.0591977, scale = 0.3231032))) -sum(log(dlnorm(dat$Conc, meanlog = -0.6695120, sdlog = 0.7199573))) -sum(log(EnvStats::dpareto(dat$Conc, location = 0.1800000, shape = 0.9566756))) - -## ----echo=FALSE,results='markup'---------------------------------------------- -dat <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -k <- 2 # number of parameters for each of the distributions -# Gamma distribution -aic1 <- 2 * k - 2 * sum(log(dgamma(dat, shape = 2.0591977, scale = 0.3231032))) -cat("AIC for gamma distribution =", aic1, "\n") - -# lognormal distribution -aic2 <- 2 * k - 2 * sum(log(dlnorm(dat, meanlog = -0.6695120, sdlog = 0.7199573))) -cat("AIC for lognormal distribution =", aic2, "\n") - -# Pareto distribution -aic3 <- 2 * k - 2 * sum(log(EnvStats::dpareto(dat, location = 0.1800000, shape = 0.9566756))) -cat("AIC for Pareto distribution =", aic3, "\n") - -## ----echo=TRUE,results='hide'------------------------------------------------- -dat <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -aic <- NULL -k <- 2 # number of parameters for each of the distributions - - -aic[1] <- 2 * k - 2 * sum(log(dgamma(dat, shape = 2.0591977, scale = 0.3231032))) # Gamma distribution - -aic[2] <- 2 * k - 2 * sum(log(dlnorm(dat, meanlog = -0.6695120, sdlog = 0.7199573))) # lognormal distribution - -aic[3] <- 2 * k - 2 * sum(log(EnvStats::dpareto(dat, location = 0.1800000, shape = 0.9566756))) # Pareto distribution - -delta <- aic - min(aic) # compute the delta values - -aic.w <- exp(-0.5 * delta) -aic.w <- round(aic.w / sum(aic.w), 4) - -cat( - " AIC weight for gamma distribution =", aic.w[1], "\n", - "AIC weight for lognormal distribution =", aic.w[2], "\n", - "AIC weight for pareto distribution =", aic.w[3], "\n" -) - -## ----echo=FALSE,fig.cap="Empirical cdf (black) and model-averaged fit (magenta)",fig.width=8,fig.height=5---- -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -samp <- sort(samp) -plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") -xx <- seq(0.01, 3, by = 0.005) - -lines(xx, plnorm(xx, meanlog = -0.6695120, sd = 0.7199573), col = "#959495", lty = 2) -lines(xx, pgamma(xx, shape = 2.0591977, scale = 0.3231032), col = "#959495", lty = 3) -lines(xx, ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "#959495", lty = 4) -lines(xx, 0.1191 * pgamma(xx, shape = 2.0591977, scale = 0.3231032) + - 0.3985 * plnorm(xx, meanlog = -0.6695120, sd = 0.7199573) + - 0.4824 * ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "#FF33D5", lwd = 1.5) - -## ----results = "asis", echo = FALSE------------------------------------------- -cat(ssdtools::ssd_licensing_md()) - diff --git a/doc/model-averaging.Rmd b/doc/model-averaging.Rmd deleted file mode 100644 index a00e73b7..00000000 --- a/doc/model-averaging.Rmd +++ /dev/null @@ -1,538 +0,0 @@ ---- -title: "Model Averaging SSDs" -author: "ssdtools Team" -date: '`r format(Sys.time(), "%Y-%m-%d", tz = "UTC")`' -bibliography: references.bib -mathfont: Courier -latex_engine: MathJax -output: rmarkdown::html_vignette -vignette: > - %\VignetteIndexEntry{Model Averaging SSDs} - %\VignetteEngine{knitr::rmarkdown} - %\VignetteEncoding{UTF-8} ---- - -```{r, include = FALSE} -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - fig.width = 6, - fig.height = 4 -) -library(tinytex) -``` - - -```{css, echo=FALSE} -pre { - max-height: 300px; - overflow-y: auto; -} - -pre[class] { - max-height: 200px; -} -``` - -```{css, echo=FALSE} -.scroll-200 { - max-height: 200px; - overflow-y: auto; - background-color: inherit; -} -``` - - - - - -```{r include=FALSE} -# this just loads the package and suppresses the load package message -library(ssdtools) -require(ggplot2) -``` - -## Background - -> Many authors have noted that there is no guiding theory in ecotoxicology to justify any particular distributional form for the SSD other than that its domain be restricted to the positive real line [@newman_2000], [@Zajdlik_2005], [@chapman_2007], [@fox_2016]. -Indeed, [@chapman_2007] described the identification of a suitable probability model as one of the most important and difficult choices in the use of SSDs. -Compounding this lack of clarity about the functional form of the SSD is the omnipresent, and equally vexatious issue of small sample size, meaning that any plausible candidate model is unlikely to be rejected [@fox_recent_2021]. -The ssdtools R package uses a model averaging procedure to avoid the need to a-priori select a candidate distribution and instead uses a measure of ‘fit’ for each model to compute weights to be applied to an initial set of candidate distributions. -The method, as applied in the SSD context is described in detail in [@fox_recent_2021], and potentially provides a level of flexibility and parsimony that is difficult to achieve with a single SSD distribution. - -[@fox_methodologies_2022] - -## Preliminaries - -Before we jump into model averaging and in particular, SSD Model Averaging, let's backup a little and consider why we average and the advantages and disadvantages of averaging. - -#### The pros and cons of averaging - -We're all familiar with the process of averaging. -Indeed, *averages* are pervasive in everyday life - we talk of average income; mean sea level; average global temperature; average height, weight, age etc. etc. So what's the obsession with *averaging*? -It's simple really - it's what statisticians call data reduction which is just a fancy name to describe the process of summarising a lot of *raw data* using a small number of (hopefully) representative summary statistics such as the mean and the standard deviation. -Clearly, it's a lot easier to work with just a single mean than all the individual data values. -That's the upside. -The downside is that the process of data reduction decimates your original data - you lose information in the process. -Nevertheless, the benefits tend to outweigh this information loss. -Indeed, much of 'conventional' statistical theory and practice is focused on the mean. -Examples include T-tests, ANOVA, regression, and clustering. -When we talk of an 'average' we are usually referring to the simple, *arithmetic mean*:\[\bar{X}=\frac{1}{n}\sum\limits_{i=1}^{n}{{{X}_{i}}}\] although we recognize there are other types of mean including the geometric mean, the harmonic mean and the weighted mean. -The last of these is particularly pertinent to model averaging. - -### Weighted Averages - -For the simple arithmetic mean, all of the individual values receive the same weighting - they each contribute $\frac{1}{n}$ to the summation. -While this is appropriate in many cases, it's not useful when the components contribute to varying degrees. -An example familiar to ecotoxicologists is that of a *time-varying* concentration as shown in the figure below.
- -![](images/Figure1.jpg){width=90% align="center"} - -From the figure we see there are 5 concentrations going from left to to right: $\left\{ 0.25,0.95,0.25,0.12,0.5 \right\}$. -If we were to take the simple arithmetic mean of these concentrations we get $\bar{X}=0.414$. -But this ignores the different *durations* of these 5 concentrations. -Of the 170 hours, 63 were at concentration 0.25, 25 at concentration 0.95, 23 at concentration 0.25, 23 at concentration 0.12, and 36 at concentration 0.50. -So if we were to *weight* these concentrations by time have:
\[{{{\bar{X}}}_{TW}}=\frac{\left( 63\cdot 0.25+25\cdot 0.95+23\cdot 0.25+23\cdot 0.12+36\cdot 0.50 \right)}{\left( 63+25+23+23+36 \right)}=\frac{56.01}{170}=0.33\]
So, our formula for a *weighted average* is:\[\bar{X}=\sum\limits_{i=1}^{n}{{{w}_{i}}{{X}_{i}}}\] with $0\le {{w}_{i}}\le 1$ and $\sum\limits_{i=1}^{n}{{{w}_{i}}=1}$. -
Note, the simple arithmetic mean is just a special case of the weighted mean with $\sum\limits_{i=1}^{n}{{{w}_{i}}=\frac{1}{n}}$ ; $\forall i=1,\ldots ,n$ - -## Model Averaging -The *weighted average* acknowledges that the elements in the computation are not of equal 'importance'. -In the example above, this importance was based on the *proportion of time* that the concentration was at a particular level. -Bayesians are well-versed in this concept - the elicitation of *prior distributions* for model parameters provides a mechanism for weighting the degree to which the analysis is informed by existing knowledge versus using a purely data-driven approach. -Model averaging is usually used in the context of estimating model parameters or quantities derived from a fitted model - for example an EC50 derived from a C-R model. -Let's motivate the discussion using the following small dataset of toxicity estimates for some chemical. - - -```{r echo=FALSE,warning=FALSE, message=FALSE,class.output="scroll-100"} -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -print(samp) -# knitr::kable(samp,caption="Some toxicity data (concentrations)") -``` - -Now, suppose we have only two possibilities for fitting an SSD - both lognormal distributions. -Model 1 is the LN(-1.067,0.414) distribution while Model 2 is the LN(-0.387,0.617) distribution. -A plot of the empirical *cdf* and Models 1 and 2 is shown below. - -```{r echo=FALSE,fig.cap="Emprirical cdf (black); Model 1(green); and Model 2 (blue)", fig.width=7,fig.height=4.5} -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -samp <- sort(samp) -plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") -xx <- seq(0.01, 3, by = 0.01) -lines(xx, plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10]))), col = "#77d408") -lines(xx, plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))), col = "#08afd4") -# lines(xx,(0.4419*plnorm(xx,meanlog=mean(log(samp[5:15])),sd=sd(log(samp[5:15])))+ -# 0.5581*plnorm(xx,meanlog=mean(log(samp[1:10])),sd=sd(log(samp[1:10])))) ,col="#d40830") -``` - -
We see that Model 1 fits well in the lower, left region and poorly in the upper region, while the reverse is true for Model 2. -So using *either* Model 1 **or** Model 2 is going to result in a poor fit overall. -However, the obvious thing to do is to **combine** both models. -We could just try using 50% of Model 1 and 50% of Model 2, but that may be sub-optimal. -It turns out that the best fit is obtained by using 44% of Model 1 and 56% of Model 2. Redrawing the plot and adding the *weighted average* of Models 1 and 2 is shown below. - -```{r echo=FALSE,fig.cap="Empirical cdf (black); Model 1(green); Model 2 (blue); and averaged Model (red)",fig.width=7,fig.height=4.5} -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -samp <- sort(samp) -plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") -xx <- seq(0.01, 3, by = 0.01) -lines(xx, plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10]))), col = "#77d408") -lines(xx, plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))), col = "#08afd4") -lines(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + - 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), col = "#d40830") -``` - -
Clearly the strategy has worked - we now have an excellent fitting SSD. -What about estimation of an *HC20*? -It's a simple matter to work out the *individual* *HC20* values for Models 1&2 using the appropriate `qlnorm()` function in `R`. -Thus we have: - -```{r, echo=TRUE} -# Model 1 HC20 -cat("Model 1 HC20 =", qlnorm(0.2, -1.067, 0.414)) - -# Model 2 HC20 -cat("Model 2 HC20 =", qlnorm(0.2, -0.387, 0.617)) -``` -What about the averaged distribution? -An intuitively appealing approach would be to apply the same weights to the individual *HC20* values as was applied to the respective models. That is `0.44*0.2428209 + 0.56*0.4040243 = 0.33`. - -So our model-averaged *HC20* estimate is 0.33. -As a check, we can determine the *fraction affected* at concentration = 0.33 - it should of course be 20%. Let's take a look at the plot. - -```{r echo=FALSE,fig.width=7,fig.height=5} -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -samp <- sort(samp) -xx <- seq(0.01, 3, by = 0.01) - - -plot(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + - 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), -col = "#d40830", type = "l", xlab = "Concentration", ylab = "Probability" -) -segments(0.33, -1, 0.33, 0.292, col = "blue", lty = 21) -segments(-1, 0.292, 0.33, 0.292, col = "blue", lty = 21) -mtext("0.3", side = 2, at = 0.3, cex = 0.8, col = "blue") -mtext("0.33", side = 1, at = 0.33, cex = 0.8, col = "blue") -``` - -Something's wrong - the fraction affected at concentration 0.33 is 30% - **not the required 20%**. -This issue is taken up in the next section - -## Model Averaged SSDs -As we've just seen, applying the model weights to component *HCx* values and summing does **not** produce the correct result. -The reason for this can be explained mathematically as follows (*if your not interested in the mathematical explanation - skip ahead to the next section*). - -

The fallacy of weighting individual *HCx* values

- -The correct expression for a model-averaged SSD is: $$G\left( x \right) = \sum\limits_{i = 1}^k {{w_i}} {F_i}\left( x \right)$$ where ${F_i}\left( \cdot \right)$ is the *i^th^* component SSD (i.e. *cdf*) and *w~i~* is the weight assigned to ${F_i}\left( \cdot \right)$. -
Notice that the function $G\left( x \right)$ is a proper *cumulative distribution function* (*cdf*) which means for a given quantile, *x*, $G\left( x \right)$ returns the *cumulative probability*: $$P\left[ {X \leqslant x} \right]$$ - -
Now, the *incorrect* approach takes a weighted sum of the component *inverse cdf's*, that is: - -$$H\left( p \right) = \sum\limits_{i = 1}^k {{w_i}} {F_i}^{ - 1}\left( p \right)$$ -where ${F_i}^{ - 1}\left( \cdot \right)$ is the *i^th^* *inverse cdf*. -Notice that ${G_i}\left( \cdot \right)$ is a function of a *quantile* and returns a **probability** while ${H_i}\left( \cdot \right)$ is a function of a *probability* and returns an **quantile**. -

Now, the correct method of determining the *HCx* is to work with the proper model-averaged *cdf* $G\left( x \right)$. -This means finding the **inverse** function ${G^{ - 1}}\left( p \right)$. -We'll address how we do this in a moment.

-The reason why $H\left( p \right)$ does **not** return the correct result is because of the implicit assumption that the inverse of $G\left( x \right)$ is equivalent to $H\left( p \right)$. -This is akin to stating the inverse of a *sum* is equal to the sum of the inverses i.e. -$$\sum\limits_{i = 1}^n {\frac{1}{{{X_i}}}} = \frac{1}{{\sum\limits_{i = 1}^n {{X_i}} }}{\text{ ???}}$$ -
-For the mathematical nerds: -There are some very special cases where the above identity does in fact hold, but for that you need to use **complex numbers**. -

For example, consider two complex numbers $${\text{a = }}\frac{{\left( {5 - i} \right)}}{2}{\text{ and }}b = - 1.683 - 1.915i$$ -It can be shown that $$\frac{1}{{a + b}} = \frac{1}{a} + \frac{1}{b} = 0.126 + 0.372i$$ -


- -

Back to the issue at hand, and since we're not dealing with complex numbers, it's safe to say:$${G^{ - 1}}\left( p \right) \ne H\left( p \right)$$ -

-If you need a visual demonstration, we can plot $G\left( x \right)$ and the *inverse* of $H\left( p \right)$ both as functions of *x* (a quantile) for our two-component lognormal distribution above. - - -```{r echo=FALSE, fig.width=8,fig.height=6} -t <- seq(0.01, 0.99, by = 0.001) - - -F <- 0.4419 * qlnorm(t, -1.067, 0.414) + 0.5581 * qlnorm(t, -0.387, 0.617) - -plot(xx, (0.4419 * plnorm(xx, meanlog = mean(log(samp[5:15])), sd = sd(log(samp[5:15]))) + - 0.5581 * plnorm(xx, meanlog = mean(log(samp[1:10])), sd = sd(log(samp[1:10])))), -col = "#d40830", type = "l", xlab = "Concentration", ylab = "Probability" -) - -lines(F, t, col = "#51c157", lwd = 1.75) - -segments(-1, 0.2, 0.34, 0.2, col = "black", lty = 21, lwd = 2) -segments(0.28, 0.2, 0.28, -1, col = "red", lty = 21, lwd = 2) -segments(0.34, 0.2, 0.34, -1, col = "#51c157", lty = 21, lwd = 2) -segments(1.12, -1, 1.12, 0.9, col = "grey", lty = 21, lwd = 1.7) - -text(0.25, 0.6, "Correct MA-SSD", col = "red", cex = 0.75) -text(0.75, 0.4, "Erroneous MA-SSD", col = "#51c157", cex = 0.75) -mtext("1.12", side = 1, at = 1.12, cex = 0.8, col = "grey") -``` - -Clearly, the two functions are **not** the same and thus *HCx* values derived from each will nearly always be different (as indicated by the positions of the vertical red and green dashed lines in the Figure above corresponding to the 2 values of the *HC20*). -(Note: The two curves do cross over at a concentration of about 1.12 corresponding to the 90^th^ percentile, but in the region of ecotoxicological interest, there is no such cross-over and so the two approaches will **always** yield different *HCx* values with this difference → 0 as x → 0). -

We next discuss the use of a model-averaged SSD to obtain the *correct* model-averaged *HCx*. - -## Computing a model-averaged *HCx* -A proper *HCx* needs to satisfy what David Fox refers to as **the inversion principle**. -

More formally, the inversion principle states that an *HCx* (denoted as ${\varphi _x}$) must satisfy the following:

$$df\left( {{\varphi _x}} \right) = x\quad \quad and\quad \quad qf\left( x \right) = {\varphi _x}$$

-where $df\left( \cdot \right)$ is a model-averaged *distribution function* (i.e. SSD) and $qf\left( \cdot \right)$ is a model-averaged *quantile function*. -For this equality to hold, it is necessary that $qf\left( p \right) = d{f^{ - 1}}\left( p \right)$.

-
So, in our example above, the green curve was taken to be $qf\left( x \right)$ and this was used to derive ${\varphi _x}$ but the *fraction affected* $\left\{ { = df\left( {{\varphi _x}} \right)} \right\}$ at ${\varphi _x}$ is computed using the red curve. -

In `ssdtools` the following is a check that the inversion principle holds:

-
- -``` -# Obtain a model-averaged HCx using the ssd_hc() function -hcp<-ssd_hc(x, p = p) -# Check that the inversion principle holds -ssd_hp(x, hcp, multi_est = TRUE) == p # this should result in logical `TRUE` -``` -*Note: if the `multi_est` argument is set to `FALSE` the test will fail*. -
- -

The *inversion principle* ensures that we only use a **single** distribution function to compute both the *HCx* *and* the fraction affected. -Referring to the figure below, the *HCx* is obtained from the MA-SSD (red curve) by following the → arrows while the fraction affected is obtained by following the ← arrows. - -![](images/Figure2.jpg){width=100% align="center"} - -

Finally, we'll briefly discuss how the *HCx* is computed in `R` using the same method as has been implemented in `ssdtools`.

- -### Computing the *HCx* in `R`/`ssdtools` -Recall, our MA-SSD was given as -$$G\left( x \right) = \sum\limits_{i = 1}^k {{w_i}} {F_i}\left( x \right)$$ -and an *HCx* is obtained from the MA-SSD by essentially working 'in reverse' by starting at a value of $x$ on the **vertical** scale in the Figure above and following the → arrows and reading off the corresponding value on the horizontal scale. -

Obviously, we need to be able to 'codify' this process in `R` (or any other computer language).
Mathematically this is equivalent to seeking a solution to the following equation:$${x:G\left( x \right) = p}$$ -or, equivalently:$$x:G\left( x \right) - p = 0$$ -for some fraction affected, $p$. -

-

Finding the solution to this last equation is referred to as *finding the root(s)* of the function $G\left( x \right)$ or, as is made clear in the figure below, *finding the zero-crossing* of the function $G\left( x \right)$ for the case $p=0.2$. - -![](images/uniroot.jpg){width=100% align="center"} - -
-

In `R` finding the roots of $x:G\left( x \right) - p = 0$ is achieved using the `uniroot()` function.

- Help on the `uniroot` function can be found [here](https://stat.ethz.ch/R-manual/R-devel/library/stats/html/uniroot.html) - -## Where do the model-averaged weights come from? -This is a little more complex, although we'll try to provide a non-mathematical explanation. -For those interested in going deeper, a more comprehensive treatment can be found in [@model_averaging] and [@fletcher]. - -

This time, we'll look at fitting a gamma, lognormal, and pareto distribution to our sample data: - -```{r echo=FALSE,warning=FALSE, results="markup",message=FALSE,class.output="scroll-100"} -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -print(samp) -# knitr::kable(samp,caption="Some toxicity data (concentrations)") -``` -
The adequacy (or otherwise) of a fitted model can be assessed using a variety of numerical measures known as **goodness-of-fit** or GoF statistics. -These are invariably based on a measure of discrepancy between the emprical data and the hypothesized model. -Common GoF statistics used to test whether the hypothesis of some specified theoretical probability distribution is plausible for a given data set include: *Kolmogorov-Smirnov test; Anderson-Darling test; Shapiro-Wilk test;and Cramer-von Mises test*. - [The Cramer-von Mises](https://en.wikipedia.org/wiki/Cram%C3%A9r%E2%80%93von_Mises_criterion) test is a good choice and is readily performed using the `cvm.test()` function in the `goftest` package in `R` as follows: - -```{r, echo=TRUE,results='hide',warning=FALSE,message=FALSE} -dat <- data.frame(Conc = c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59)) -library(goftest) -library(EnvStats) # this is required for the Pareto cdf (ppareto) - -# Examine the fit for the gamma distribution (NB: parameters estimated from the data) -cvm.test(dat$Conc, null = "pgamma", shape = 2.0591977, scale = 0.3231032, estimated = TRUE) - -# Examine the fit for the lognormal distribution (NB: parameters estimated from the data) -cvm.test(dat$Conc, null = "plnorm", meanlog = -0.6695120, sd = 0.7199573, estimated = TRUE) - -# Examine the fit for the Pareto distribution (NB: parameters estimated from the data) -cvm.test(dat$Conc, null = "ppareto", location = 0.1800000, shape = 0.9566756, estimated = TRUE) -``` - -``` - Cramer-von Mises test of goodness-of-fit - Braun's adjustment using 4 groups - Null hypothesis: Gamma distribution - with parameters shape = 2.0591977, scale = 0.3231032 - Parameters assumed to have been estimated from data - -data: dat$Conc -omega2max = 0.34389, p-value = 0.3404 - - - Cramer-von Mises test of goodness-of-fit - Braun's adjustment using 4 groups - Null hypothesis: log-normal distribution - with parameter meanlog = -0.669512 - Parameters assumed to have been estimated from data - -data: dat$Conc -omega2max = 0.32845, p-value = 0.3719 - - - Cramer-von Mises test of goodness-of-fit - Braun's adjustment using 4 groups - Null hypothesis: distribution ‘ppareto’ - with parameters location = 0.18, shape = 0.9566756 - Parameters assumed to have been estimated from data - -data: dat$Conc -omega2max = 0.31391, p-value = 0.4015 -``` - -From this output and using a level of significance of $p = 0.05$, we see that none of the distributions is implausible. -However, if *forced* to choose just one distribution, we would choose the *Pareto* distribution (smaller values of the `omega2max` statistic are better). -However, this does not mean that the gamma and lognormal distributions are of no value in describing the data. -We can see from the plot below, that in fact both the gamma and lognormal distributions do a reasonable job over the range of toxicity values. -The use of the Pareto may be a questionable choice given it is truncated at 0.18 (which is the minimum value of our toxicity data). -
- -```{r echo=FALSE,fig.cap="Emprirical cdf (black); lognormal (green); gamma (blue); and Pareeto (red)", fig.width=7,fig.height=4.5} -library(EnvStats) -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -samp <- sort(samp) -plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") -xx <- seq(0.01, 3, by = 0.01) -lines(xx, plnorm(xx, meanlog = -0.6695120, sd = 0.7199573), col = "#77d408") -lines(xx, pgamma(xx, shape = 2.0591977, scale = 0.3231032), col = "#08afd4") -lines(xx, ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "red") -# lines(xx,(0.4419*plnorm(xx,meanlog=mean(log(samp[5:15])),sd=sd(log(samp[5:15])))+ -# 0.5581*plnorm(xx,meanlog=mean(log(samp[1:10])),sd=sd(log(samp[1:10])))) ,col="#d40830") -``` -

- -


As in the earlier example, we might expect to find a better fitting distribution by combining *all three distributions* using a *weighted SSD*. -The issue we face now is *how do we choose the weights* to reflect the relative fits of the three distributions? -Like all tests of statistical significance, a *p-value* is computed from the value of the relevant *test statistic* - in this case, the value of the `omega2max` test statistic. -For this particular test, it's a case of the smaller the better. -From the output above we see that the `omega2max` values are $0.344$ for the gamma distribution, $0.328$ for the lognormal distribution, and $0.314$ for the Pareto distribution.

- -

We might somewhat naively compute the relative weights as:
${w_1} = \frac{{{{0.344}^{ - 1}}}}{{\left( {{{0.344}^{ - 1}} + {{0.328}^{ - 1}} + {{0.314}^{ - 1}}} \right)}} = 0.318$         ${w_2} = \frac{{{{0.328}^{ - 1}}}}{{\left( {{{0.344}^{ - 1}} + {{0.328}^{ - 1}} + {{0.314}^{ - 1}}} \right)}} = 0.333$     and ${w_3} = \frac{{{{0.314}^{ - 1}}}}{{\left( {{{0.344}^{ - 1}} + {{0.328}^{ - 1}} + {{0.314}^{ - 1}}} \right)}} = 0.349$
   (we use *reciprocals* since smaller values of `omega2max` represent better fits). -As will be seen shortly - these are incorrect. -

However, being based on a simplistic measure of discrepancy between the *observed* and *hypothesized* distributions, the `omega2max` statistic is a fairly 'blunt instrument' and has no grounding in information theory which *is* the basis for determining the weights that we seek. -

- -
A discussion of *information theoretic* methods for assessing goodness-of-fit is beyond the scope of this vignette. Interested readers should consult [@model_averaging]. -A commonly used metric to determine the model-average weights is the **Akaike Information Criterion** or [AIC](https://en.wikipedia.org/wiki/Akaike_information_criterion). -The formula for the $AIC$ is: -$$AIC = 2k - 2\ln \left( \ell \right)$$ -where $k$ is the number of model parameters and $\ell$ is the *likelihood* for that model. -Again, a full discussion of statistical likelihood is beyond the present scope. -A relatively gentle introduction can be found [here](https://ep-news.web.cern.ch/what-likelihood-function-and-how-it-used-particle-physics). -

The likelihood for our three distributions can be computed in `R` as follows: - - -```{r, echo=TRUE} -sum(log(dgamma(dat$Conc, shape = 2.0591977, scale = 0.3231032))) -sum(log(dlnorm(dat$Conc, meanlog = -0.6695120, sdlog = 0.7199573))) -sum(log(EnvStats::dpareto(dat$Conc, location = 0.1800000, shape = 0.9566756))) -``` - -From which the *AIC* values readily follow: - -```{r echo=FALSE,results='markup'} -dat <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -k <- 2 # number of parameters for each of the distributions -# Gamma distribution -aic1 <- 2 * k - 2 * sum(log(dgamma(dat, shape = 2.0591977, scale = 0.3231032))) -cat("AIC for gamma distribution =", aic1, "\n") - -# lognormal distribution -aic2 <- 2 * k - 2 * sum(log(dlnorm(dat, meanlog = -0.6695120, sdlog = 0.7199573))) -cat("AIC for lognormal distribution =", aic2, "\n") - -# Pareto distribution -aic3 <- 2 * k - 2 * sum(log(EnvStats::dpareto(dat, location = 0.1800000, shape = 0.9566756))) -cat("AIC for Pareto distribution =", aic3, "\n") -``` -

- -

As with the `omega2max` statistic, **smaller** values of *AIC* are better. Thus, a comparison of the AIC values above gives the ranking of distributional fits (best to worst) as: *Pareto > lognormal > gamma* - -

- -### Computing model weights from the `AIC` -We will simply provide a formula for computing the model weights from the `AIC` values. -More detailed information can be found [here](https://training.visionanalytix.com/ssd-model-averaging/). - -The *AIC* for the *i^th^* distribution fitted to the data is -$$AI{C_i} = 2{k_i} - 2\ln \left( {{L_i}} \right)$$ -where ${L_i}$ is the *i^th^ likelihood* and ${k_i}$ is the *number of parameters* for the *i^th^ distribution*. -Next, we form the differences: -$${\Delta _i} = AI{C_i} - AI{C_0}$$ -where $AI{C_0}$ is the *AIC* for the **best-fitting** model (i.e.$AI{C_0} = \mathop {\min }\limits_i \left\{ {AI{C_i}} \right\}$ ). -The *model-averaged weights* ${w_i}$ are then computed as - -
-AIC Model averaging weights - -$${w}_{i}=\frac{\exp \left\{ -\frac{1}{2}{{\Delta }_{i}} \right\}}{\sum{\exp \left\{ -\frac{1}{2}{{\Delta }_{i}} \right\}}}$$ - -
-
- -

The model-averaged weights for the gamma, lognormal, and Pareto distributions used in the previous example can be computed 'manually' in `R` as follows: - - -```{r echo=TRUE,results='hide'} -dat <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -aic <- NULL -k <- 2 # number of parameters for each of the distributions - - -aic[1] <- 2 * k - 2 * sum(log(dgamma(dat, shape = 2.0591977, scale = 0.3231032))) # Gamma distribution - -aic[2] <- 2 * k - 2 * sum(log(dlnorm(dat, meanlog = -0.6695120, sdlog = 0.7199573))) # lognormal distribution - -aic[3] <- 2 * k - 2 * sum(log(EnvStats::dpareto(dat, location = 0.1800000, shape = 0.9566756))) # Pareto distribution - -delta <- aic - min(aic) # compute the delta values - -aic.w <- exp(-0.5 * delta) -aic.w <- round(aic.w / sum(aic.w), 4) - -cat( - " AIC weight for gamma distribution =", aic.w[1], "\n", - "AIC weight for lognormal distribution =", aic.w[2], "\n", - "AIC weight for pareto distribution =", aic.w[3], "\n" -) -``` -``` - AIC weight for gamma distribution = 0.1191 - AIC weight for lognormal distribution = 0.3985 - AIC weight for pareto distribution = 0.4824 -``` -

- -Finally, let's look at the fitted *model-averaged SSD*: - -```{r echo=FALSE,fig.cap="Empirical cdf (black) and model-averaged fit (magenta)",fig.width=8,fig.height=5} -samp <- c(1.73, 0.57, 0.33, 0.28, 0.3, 0.29, 2.15, 0.8, 0.76, 0.54, 0.42, 0.83, 0.21, 0.18, 0.59) -samp <- sort(samp) -plot(ecdf(samp), main = "Empirical and fitted SSDs", xlab = "Concentration", ylab = "Probability") -xx <- seq(0.01, 3, by = 0.005) - -lines(xx, plnorm(xx, meanlog = -0.6695120, sd = 0.7199573), col = "#959495", lty = 2) -lines(xx, pgamma(xx, shape = 2.0591977, scale = 0.3231032), col = "#959495", lty = 3) -lines(xx, ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "#959495", lty = 4) -lines(xx, 0.1191 * pgamma(xx, shape = 2.0591977, scale = 0.3231032) + - 0.3985 * plnorm(xx, meanlog = -0.6695120, sd = 0.7199573) + - 0.4824 * ppareto(xx, location = 0.1800000, shape = 0.9566756), col = "#FF33D5", lwd = 1.5) -``` - -As can be seen from the figure above, the model-averaged fit provides a very good fit to the empirical data. - -### Correcting for distributions having differing numbers of parameters - -In deriving the AIC, Akaike had to make certain, strong assumptions. -In addition, the bias factor (the $2k$ term) was derived from theoretical considerations (such as mathematical *expectation*) that relate to *infinite* sample sizes. -For small sample sizes, the AIC is likely to select models having too many parameters (i.e models which *over-fit*). -In 1978, Sugiura proposed a modification to the AIC to address this problem, although it too relied on a number of assumptions. -This 'correction' to the AIC for small samples (referred to as $AI{{C}_{c}}$) is - -
-Corrected Akaike Information Criterion (AICc) - -$$AI{{C}_{c}}=AIC+\frac{2{{k}^{2}}+2k}{n-k-1}$$ - -where n is the sample size and k is the number of parameters. - -
- -
It is clear from the formula for $AI{{C}_{c}}$ that for   $n\gg k$,    $AI{{C}_{c}}\simeq AIC$. The issue of sample size is ubiquitous in statistics, but even more so in ecotoxicology where logistical and practical limitations invariably mean we are dealing with (pathologically) small sample sizes. There are no hard and fast rules as to what constitutes an *appropriate* sample size for SSD modelling. However, Professor David Fox's personal rule of thumb which works quite well is: - - -
Sample size rule-of-thumb for SSD modelling $$n\ge 5k+1$$ - -where n is the sample size and k is the number of parameters. -
- -
Since most of the common SSD models are 2-parameter, we should be aiming to have a sample size of at least 11. -For 3-parameter models (like the Burr III), the minimum sample size is 16 and if we wanted to fit a mixture of two, 2-parameter models (eg. *logNormal-logNormal* or *logLogistic-logLogistic*) the sample size should be *at least* 26. -Sadly, this is rarely the case in practice! Jurisdictional guidance material may specify minimum sample size requirements, and should be adhered to where available and relevant. - -### Model-Averaging in `ssdtools` - -Please see the [Getting started with ssdtools](https://bcgov.github.io/ssdtools/articles/ssdtools.html) vignette for examples of obtaining model-averaged *HCx* values and predictions using `ssdtools`. - -## References - -
- -```{r, results = "asis", echo = FALSE} -cat(ssdtools::ssd_licensing_md()) -``` diff --git a/doc/small-sample-bias.R b/doc/small-sample-bias.R deleted file mode 100644 index 49425038..00000000 --- a/doc/small-sample-bias.R +++ /dev/null @@ -1 +0,0 @@ -### This is an R script tangled from 'small-sample-bias.pdf.asis' diff --git a/doc/ssdtools.R b/doc/ssdtools.R deleted file mode 100644 index 06f80ff1..00000000 --- a/doc/ssdtools.R +++ /dev/null @@ -1,94 +0,0 @@ -## ----include = FALSE---------------------------------------------------------- -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - fig.width = 6, - fig.height = 4 -) - -## ----eval = FALSE------------------------------------------------------------- -# install.packages(c("ssdtools", "tidyverse")) - -## ----message = FALSE---------------------------------------------------------- -library(ssdtools) -library(ggplot2) - -## ----eval = FALSE------------------------------------------------------------- -# data <- read_csv(file = "path/to/file.csv") - -## ----------------------------------------------------------------------------- -ssddata::ccme_boron - -## ----------------------------------------------------------------------------- -ssd_dists_all() - -## ----------------------------------------------------------------------------- -fits <- ssd_fit_dists(ssddata::ccme_boron, dists = c("llogis", "lnorm", "gamma")) - -## ----------------------------------------------------------------------------- -tidy(fits) - -## ----fig.alt="A plot of the CCME boron dataset with the gamma, log-logistic and log-normal distributions with a simple black and white background color scheme."---- -theme_set(theme_bw()) # set plot theme - -autoplot(fits) + - ggtitle("Species Sensitivity Distributions for Boron") + - scale_colour_ssd() - -## ----------------------------------------------------------------------------- -ssd_gof(fits) - -## ----eval = FALSE------------------------------------------------------------- -# set.seed(99) -# boron_pred <- predict(fits, ci = TRUE) - -## ----------------------------------------------------------------------------- -boron_pred - -## ----fig.alt="A plot of the CCME boron dataset species colored by group and the model average species sensitivity distribution with a simple black and white background color scheme."---- -ssd_plot(ssddata::ccme_boron, boron_pred, - color = "Group", label = "Species", - xlab = "Concentration (mg/L)", ribbon = TRUE -) + - expand_limits(x = 5000) + # to ensure the species labels fit - ggtitle("Species Sensitivity for Boron") + - scale_colour_ssd() - -## ----------------------------------------------------------------------------- -set.seed(99) -boron_hc5 <- ssd_hc(fits, proportion = 0.05, ci = TRUE) -print(boron_hc5) -boron_pc <- ssd_hp(fits, conc = boron_hc5$est, ci = TRUE) -print(boron_pc) - -## ----------------------------------------------------------------------------- -boron_censored <- ssddata::ccme_boron |> - dplyr::mutate(left = Conc, right = Conc) - -boron_censored$left[c(3, 6, 8)] <- NA - -## ----------------------------------------------------------------------------- -dists <- ssd_fit_dists(boron_censored, - dists = ssd_dists_bcanz(n = 2), - left = "left", right = "right" -) - -## ----------------------------------------------------------------------------- -ssd_gof(dists) - -## ----------------------------------------------------------------------------- -ssd_hc(dists, average = FALSE) -ssd_hc(dists) - -## ----fig.alt="A plot of the left censored CCME boron dataset with the model average species sensitivity distribution and arrows indicating the censoring."---- -set.seed(99) -pred <- predict(dists, ci = TRUE, parametric = FALSE) - -ssd_plot(boron_censored, pred, - left = "left", right = "right", - xlab = "Concentration (mg/L)" -) - -## ----results = "asis", echo = FALSE------------------------------------------- -cat(ssdtools::ssd_licensing_md()) - diff --git a/doc/ssdtools.Rmd b/doc/ssdtools.Rmd deleted file mode 100644 index a553fa05..00000000 --- a/doc/ssdtools.Rmd +++ /dev/null @@ -1,267 +0,0 @@ ---- -title: "Getting Started with ssdtools" -author: "ssdtools Team" -date: '`r format(Sys.time(), "%Y-%m-%d", tz = "UTC")`' -bibliography: references.bib -mathfont: Courier -latex_engine: MathJax -output: rmarkdown::html_vignette -vignette: > - %\VignetteIndexEntry{Getting Started with ssdtools} - %\VignetteEngine{knitr::rmarkdown} - %\VignetteEncoding{UTF-8} ---- - -```{r, include = FALSE} -knitr::opts_chunk$set( - collapse = TRUE, - comment = "#>", - fig.width = 6, - fig.height = 4 -) -``` - -## Introduction - -`ssdtools` is an R package to fit Species Sensitivity Distributions (SSDs) using Maximum Likelihood and model averaging. - -SSDs are cumulative probability distributions that are used to estimate the percent of species that are affected and/or protected by a given concentration of a chemical. -The concentration that affects 5% of the species is referred to as the 5% Hazard Concentration (*HC~5~*). This is equivalent to a 95% protection value (*PC~95~*). -For more information on SSDs the reader is referred to @posthuma_species_2001. - -In order to use `ssdtools` you need to install R (see below) or use the Shiny [app](https://bcgov-env.shinyapps.io/ssdtools/). -The shiny app includes a user guide. -This vignette is a user manual for the R package. - -## Philosophy - -`ssdtools` provides the key functionality required to fit SSDs using Maximum Likelihood and [model averaging](https://bcgov.github.io/ssdtools/articles/A_model_averaging.html) in R. -It is intended to be used in conjunction with [tidyverse](https://www.tidyverse.org) packages such as `readr` to input data, `tidyr` and `dplyr` to group and manipulate data and `ggplot2` [@ggplot2] to plot data. -As such it endeavors to fulfill the tidyverse [manifesto](https://tidyverse.tidyverse.org/articles/manifesto.html). - -## Installing - -In order to install R [@r] the appropriate binary for the users operating system should be downloaded from [CRAN](https://cran.r-project.org) and then installed. - -Once R is installed, the `ssdtools` package can be installed (together with the tidyverse) by executing the following code at the R console - -```{r, eval = FALSE} -install.packages(c("ssdtools", "tidyverse")) -``` - -The `ssdtools` package (and ggplot2 package) can then be loaded into the current session using - -```{r, message = FALSE} -library(ssdtools) -library(ggplot2) -``` - -## Getting Help - -To get additional information on a particular function just type `?` followed by the name of the function at the R console. -For example `?ssd_gof` brings up the R documentation for the `ssdtools` goodness of fit function. - -For more information on using R the reader is referred to [R for Data Science](https://r4ds.had.co.nz) [@wickham_r_2016]. - -If you discover a bug in `ssdtools` please file an issue with a [reprex](https://reprex.tidyverse.org/articles/reprex-dos-and-donts.html) (repeatable example) at . - -## Inputting Data - -Once the `ssdtools` package has been loaded the next task is to input some data. -An easy way to do this is to save the concentration data for a *single* chemical as a column called `Conc` in a comma separated file (`.csv`). -Each row should be the sensitivity concentration for a separate species. -If species and/or group information is available then this can be saved as `Species` and `Group` columns. -The `.csv` file can then be read into R using the following - -```{r, eval = FALSE} -data <- read_csv(file = "path/to/file.csv") -``` - -For the purposes of this manual we use the CCME dataset for boron from the [`ssddata`](https://github.com/open-AIMS/ssddata) package. - -```{r} -ssddata::ccme_boron -``` - -## Fitting Distributions - -The function `ssd_fit_dists()` inputs a data frame and fits one or more distributions. -The user can specify a subset of the following `r length(ssd_dists_all())` distributions. Please see the [distributions](https://bcgov.github.io/ssdtools/articles/B_distributions.html) and [model averaging](https://bcgov.github.io/ssdtools/articles/A_model_averaging.html) vignettes for more information regarding appropriate use of distributions and the use of model-averaged SSDs. - -```{r} -ssd_dists_all() -``` - -using the `dists` argument. - -```{r} -fits <- ssd_fit_dists(ssddata::ccme_boron, dists = c("llogis", "lnorm", "gamma")) -``` - -## Coefficients - -The estimates for the various terms can be extracted using the tidyverse generic `tidy` function (or the base R generic `coef` function). - -```{r} -tidy(fits) -``` - -## Plots - -It is generally more informative to plot the fits using the `autoplot` generic function (a wrapper on `ssd_plot_cdf()`). -As `autoplot` returns a `ggplot` object it can be modified prior to plotting. -For more information see the [customising plots](https://bcgov.github.io/ssdtools/articles/A_model_averaging.html) vignette. - -```{r, fig.alt="A plot of the CCME boron dataset with the gamma, log-logistic and log-normal distributions with a simple black and white background color scheme."} -theme_set(theme_bw()) # set plot theme - -autoplot(fits) + - ggtitle("Species Sensitivity Distributions for Boron") + - scale_colour_ssd() -``` - -## Selecting One Distribution - -Given multiple distributions the user is faced with choosing the "best" distribution (or as discussed below averaging the results weighted by the fit). - -```{r} -ssd_gof(fits) -``` - -The `ssd_gof()` function returns three test statistics that can be used to evaluate the fit of the various distributions to the data. - -- [Anderson-Darling](https://en.wikipedia.org/wiki/Anderson–Darling_test) (`ad`) statistic, -- [Kolmogorov-Smirnov](https://en.wikipedia.org/wiki/Kolmogorov–Smirnov_test) (`ks`) statistic and -- [Cramer-von Mises](https://en.wikipedia.org/wiki/Cramér–von_Mises_criterion) (`cvm`) statistic - -and three information criteria - -- Akaike's Information Criterion (`AIC`), -- Akaike's Information Criterion corrected for sample size (`AICc`) and -- Bayesian Information Criterion (`BIC`) - -Note if `ssd_gof()` is called with `pvalue = TRUE` then the p-values rather than the statistics are returned for the ad, ks and cvm tests. - -Following @burnham_model_2002 we recommend the `AICc` for model selection. -The best predictive model is that with the lowest `AICc` (indicated by the model with a `delta` value of 0 in the goodness of fit table). -In the current example the best predictive model is the gamma distribution but both the lnorm and llogis distributions have some support. - -For further information on the advantages of an information theoretic approach in the context of selecting SSDs the reader is referred to @fox_recent_2021. - -## Averaging Multiple Distributions - -Often other distributions will fit the data almost as well as the best distribution as evidenced by `delta` values < 2 [@burnham_model_2002]. -In general, the recommended approach is to estimate the average fit based on the relative weights of the distributions [@burnham_model_2002]. -The `AICc` based weights are indicated by the `weight` column in the goodness of fit table. -A detailed introduction to model averaging can be found in the [Model averaging](https://bcgov.github.io/ssdtools/articles/A_model_averaging.html) vignette. -A discussion on the recommended set of default distributions can be found in the [Distributions](https://bcgov.github.io/ssdtools/articles/B_distributions.html) vignette. - -## Estimating the Fit - -The `predict` function can be used to generate model-averaged estimates (or if `average = FALSE` estimates for each distribution individual) by bootstrapping. -Model averaging is based on `AICc` unless the data censored is which case `AICc` is undefined. -In this situation model averaging is only possible if the distributions have the same number of parameters (so that `AIC` can be used to compare the models). - -```{r, eval = FALSE} -set.seed(99) -boron_pred <- predict(fits, ci = TRUE) -``` - -The resultant object is a data frame of the estimated concentration (`est`) with standard error (`se`) and lower (`lcl`) and upper (`ucl`) 95% confidence limits (CLs) by percent of species affected (`percent`). -The object includes the number of bootstraps (`nboot`) data sets generated as well as the proportion of the data sets that successfully fitted (`pboot`). - -```{r} -boron_pred -``` - -The data frame of the estimates can then be plotted together with the original data using the `ssd_plot()` function to summarize an analysis. -Once again the returned object is a `ggplot` object which can be customized prior to plotting. - -```{r, fig.alt="A plot of the CCME boron dataset species colored by group and the model average species sensitivity distribution with a simple black and white background color scheme."} -ssd_plot(ssddata::ccme_boron, boron_pred, - color = "Group", label = "Species", - xlab = "Concentration (mg/L)", ribbon = TRUE -) + - expand_limits(x = 5000) + # to ensure the species labels fit - ggtitle("Species Sensitivity for Boron") + - scale_colour_ssd() -``` - -In the above plot the model-averaged 95% confidence interval is indicated by the shaded band and the model-averaged 5%/95% Hazard/Protection Concentration (*HC5*/ *PC~95~*) by the dotted line. -Hazard/Protection concentrations are discussed below. - -## Hazard/Protection Concentrations - -The 5% hazard concentration (*HC5*) is the concentration that affects 5% of the species tested. This is equivalent to the 95% protection concentration which protects 95% of species (*PC~95~*). The hazard and protection concentrations are directly interchangeable, and terminology depends simply on user preference. - -The hazard/protection concentrations can be obtained using the `ssd_hc()` function, which can be used to obtain any desired percentage value. The fitted SSD can also be used to determine the percentage of species protected at a given concentration using `ssd_hp()`. - -```{r} -set.seed(99) -boron_hc5 <- ssd_hc(fits, proportion = 0.05, ci = TRUE) -print(boron_hc5) -boron_pc <- ssd_hp(fits, conc = boron_hc5$est, ci = TRUE) -print(boron_pc) -``` - -### Censored Data - -Censored data is that for which only a lower and/or upper limit is known for a particular species. -If the `right` argument in `ssd_fit_dists()` is different to the `left` argument then the data are considered to be censored. - -It is important to note that `ssdtools` doesn't currently support right censored data. - -Let's produce some left censored data. - -```{r} -boron_censored <- ssddata::ccme_boron |> - dplyr::mutate(left = Conc, right = Conc) - -boron_censored$left[c(3, 6, 8)] <- NA -``` - -As the sample size `n` is undefined for censored data, `AICc` cannot be calculated. -However, if all the models have the same number of parameters, the `AIC` `delta` values are identical to those for `AICc`. -For this reason, `ssdtools` only permits model averaging of censored data for distributions with the same number of parameters. -We can call only the default two parameter models using `ssd_dists_bcanz(n = 2)`. - -```{r} -dists <- ssd_fit_dists(boron_censored, - dists = ssd_dists_bcanz(n = 2), - left = "left", right = "right" -) -``` - -There are less goodness-of-fit statistics available for fits to censored data (currently just `AIC` and `BIC`). - -```{r} -ssd_gof(dists) -``` - - -The model-averaged predictions are calculated using `AIC` -```{r} -ssd_hc(dists, average = FALSE) -ssd_hc(dists) -``` - -The confidence intervals can currently only be generated for censored data using non-parametric bootstrapping. -The horizontal lines in the plot indicate the censoring (range of possible values). - -```{r, fig.alt="A plot of the left censored CCME boron dataset with the model average species sensitivity distribution and arrows indicating the censoring."} -set.seed(99) -pred <- predict(dists, ci = TRUE, parametric = FALSE) - -ssd_plot(boron_censored, pred, - left = "left", right = "right", - xlab = "Concentration (mg/L)" -) -``` - -## References - -
- -```{r, results = "asis", echo = FALSE} -cat(ssdtools::ssd_licensing_md()) -``` diff --git a/doc/small-sample-bias.pdf b/vignettes/small-sample-bias.pdf similarity index 100% rename from doc/small-sample-bias.pdf rename to vignettes/small-sample-bias.pdf diff --git a/doc/small-sample-bias.pdf.asis b/vignettes/small-sample-bias.pdf.asis similarity index 100% rename from doc/small-sample-bias.pdf.asis rename to vignettes/small-sample-bias.pdf.asis From f2212fda5dde2c3272afffb2883bd3f645f94586 Mon Sep 17 00:00:00 2001 From: Joe Thorley Date: Tue, 3 Dec 2024 07:50:40 -0800 Subject: [PATCH 04/66] update .gitignore --- .gitignore | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 8c6473e6..3f4dbc55 100644 --- a/.gitignore +++ b/.gitignore @@ -10,12 +10,8 @@ *.html -/docs/ -/inst/docs/ +docs +inst/docs +scripts + /paper/paper.pdf -/scripts/boron_samples1 -/scripts/checks.md -inst/doc -/ignore -/doc/ -/Meta/ From fdd30c67835134efaa600d4a651c2790f9b04571 Mon Sep 17 00:00:00 2001 From: Joe Thorley Date: Tue, 3 Dec 2024 07:59:54 -0800 Subject: [PATCH 05/66] try fixing log-normal math --- vignettes/distributions.Rmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vignettes/distributions.Rmd b/vignettes/distributions.Rmd index 6cc62b1c..2f31aa73 100644 --- a/vignettes/distributions.Rmd +++ b/vignettes/distributions.Rmd @@ -258,13 +258,13 @@ A random variable, $X$ is lognormally distributed if the *logarithm* of $X$ is n
Lognormal Distribution - $${f_X}\left( {x;\mu ,\sigma } \right) = \frac{1}{{\sqrt {2\pi } {\kern 1pt} \sigma x}}\exp \left[ { - \frac{{{{\left( {\ln x - \mu } \right)}^2}}}{{2{\sigma ^2}}}} \right]; \quad x,\sigma > 0,\; - \infty < \mu < \infty $$ + $${f_X}\left( {x;\mu ,\sigma } \right) = \frac{1}{{\sqrt {2\pi } {\kern 1pt} \sigma x}}\exp \left[ { - \frac{{{{\left( {\ln x - \mu } \right)}^2}}}{{2{\sigma ^2}}}} \right]; \quad x,\sigma > 0; - \infty < \mu < \infty $$

-The lognormal distribution was selected as the starting distribution given the data are for effect concentrations. +The log-normal distribution was selected as the starting distribution given the data are for effect concentrations. The log-normal distribution can be fitted using `ssdtools` supplying the string `lnorm` to the `dists` argument in the `ssd_fit_dists` call. ```{r echo=FALSE,fig.align='center',fig.width=9,fig.height=5,fig.cap="Sample lognormal probability density (A) and cumulative probability (B) functions."} From 38be175ea18536e22dab5b2a231c79fc0529f2cb Mon Sep 17 00:00:00 2001 From: Joe Thorley Date: Tue, 3 Dec 2024 08:19:15 -0800 Subject: [PATCH 06/66] playing with log-normal dist --- vignettes/distributions.Rmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vignettes/distributions.Rmd b/vignettes/distributions.Rmd index 2f31aa73..63566203 100644 --- a/vignettes/distributions.Rmd +++ b/vignettes/distributions.Rmd @@ -258,7 +258,9 @@ A random variable, $X$ is lognormally distributed if the *logarithm* of $X$ is n
Lognormal Distribution - $${f_X}\left( {x;\mu ,\sigma } \right) = \frac{1}{{\sqrt {2\pi } {\kern 1pt} \sigma x}}\exp \left[ { - \frac{{{{\left( {\ln x - \mu } \right)}^2}}}{{2{\sigma ^2}}}} \right]; \quad x,\sigma > 0; - \infty < \mu < \infty $$ + $${f_X}\left( {x;\mu ,\sigma } \right) = \frac{1}{{\sqrt {2\pi } {\kern 1pt} \sigma x}}\exp \left[ { - \frac{{{{\left( {\ln x - \mu } \right)}^2}}}{{2{\sigma^2}}}} \right] $$ + +$$; \quad x,\sigma > 0; - \infty < \mu < \infty$$
From 373bfede9d9d69a11b6f0da09564f860767d30a9 Mon Sep 17 00:00:00 2001 From: Joe Thorley Date: Tue, 3 Dec 2024 09:06:23 -0800 Subject: [PATCH 07/66] distributions --- vignettes/distributions.Rmd | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/vignettes/distributions.Rmd b/vignettes/distributions.Rmd index 63566203..22f1c9ca 100644 --- a/vignettes/distributions.Rmd +++ b/vignettes/distributions.Rmd @@ -258,10 +258,7 @@ A random variable, $X$ is lognormally distributed if the *logarithm* of $X$ is n
Lognormal Distribution - $${f_X}\left( {x;\mu ,\sigma } \right) = \frac{1}{{\sqrt {2\pi } {\kern 1pt} \sigma x}}\exp \left[ { - \frac{{{{\left( {\ln x - \mu } \right)}^2}}}{{2{\sigma^2}}}} \right] $$ - -$$; \quad x,\sigma > 0; - \infty < \mu < \infty$$ - + $${f_X}\left( x; \mu, \sigma \right) = \frac{1}{\sqrt{2\pi}\ \sigma x}\exp \left[ - \frac{\left( {\ln x - \mu } \right)^2}{2\sigma^2} \right] ;\ x,\sigma > 0;\ - \infty < \mu < \infty$$

From edf1f216d121c422b181afb0a76c79c36fb0f41e Mon Sep 17 00:00:00 2001 From: Joe Thorley Date: Tue, 3 Dec 2024 10:45:59 -0800 Subject: [PATCH 08/66] log-normal --- vignettes/distributions.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/distributions.Rmd b/vignettes/distributions.Rmd index 22f1c9ca..64067ff7 100644 --- a/vignettes/distributions.Rmd +++ b/vignettes/distributions.Rmd @@ -256,7 +256,7 @@ The [log-normal](https://en.wikipedia.org/wiki/Log-normal_distribution) distribu A random variable, $X$ is lognormally distributed if the *logarithm* of $X$ is normally distributed. The *pdf* of $X$ is given by
- Lognormal Distribution + Log-normal Distribution $${f_X}\left( x; \mu, \sigma \right) = \frac{1}{\sqrt{2\pi}\ \sigma x}\exp \left[ - \frac{\left( {\ln x - \mu } \right)^2}{2\sigma^2} \right] ;\ x,\sigma > 0;\ - \infty < \mu < \infty$$
From ba30c6801dc8934f1f68b9c432b63c1cdd818eab Mon Sep 17 00:00:00 2001 From: Seb Dalgarno Date: Thu, 5 Dec 2024 22:55:26 -0800 Subject: [PATCH 09/66] add xlimits argument to ssd_plot to set x-axis limits (passed to scale_x_continuous(limits)) --- R/params.R | 4 ++++ R/ssd-plot.R | 10 ++++++---- man/params.Rd | 7 +++++++ man/ssd_plot.Rd | 10 +++++++++- tests/testthat/test-ssd-plot.R | 5 +++++ 5 files changed, 31 insertions(+), 5 deletions(-) diff --git a/R/params.R b/R/params.R index e70ad989..d05c7bdb 100644 --- a/R/params.R +++ b/R/params.R @@ -119,6 +119,10 @@ #' - `NULL` for no breaks #' - `waiver()` for the default breaks #' - A numeric vector of positions +#' @param xlimits The x-axis limits as one of: +#' - `NULL` to use the default scale range +#' - A numeric vector of length two providing the limits. +#' Use NA to refer to the existing minimum or maximum limits. #' @param xintercept The x-value for the intersect #' @param xlab A string of the x-axis label. #' @param yintercept The y-value for the intersect. diff --git a/R/ssd-plot.R b/R/ssd-plot.R index 8ddd8574..e3c2fdb3 100644 --- a/R/ssd-plot.R +++ b/R/ssd-plot.R @@ -18,7 +18,7 @@ #' @export ggplot2::waiver -plot_coord_scale <- function(data, xlab, ylab, trans, big.mark, suffix, xbreaks = waiver()) { +plot_coord_scale <- function(data, xlab, ylab, trans, big.mark, suffix, xbreaks = waiver(), xlimits = NULL) { chk_string(xlab) chk_string(ylab) @@ -30,7 +30,8 @@ plot_coord_scale <- function(data, xlab, ylab, trans, big.mark, suffix, xbreaks coord_trans(x = trans), scale_x_continuous(xlab, breaks = xbreaks, - labels = ssd_label_comma(big.mark = big.mark) + labels = ssd_label_comma(big.mark = big.mark), + limits = xlimits ), scale_y_continuous(ylab, labels = label_percent(suffix = suffix), limits = c(0, 1), @@ -57,7 +58,8 @@ ssd_plot <- function(data, pred, left = "Conc", right = left, ..., shift_x = 3, add_x = 0, bounds = c(left = 1, right = 1), big.mark = ",", suffix = "%", - trans = "log10", xbreaks = waiver()) { + trans = "log10", xbreaks = waiver(), + xlimits = NULL) { .chk_data(data, left, right, weight = NULL, missing = TRUE) chk_unused(...) chk_null_or(label, vld = vld_string) @@ -162,7 +164,7 @@ ssd_plot <- function(data, pred, left = "Conc", right = left, ..., gp <- gp + plot_coord_scale(data, xlab = xlab, ylab = ylab, big.mark = big.mark, suffix = suffix, - trans = trans, xbreaks = xbreaks + trans = trans, xbreaks = xbreaks, xlimits = xlimits ) if (!is.null(label)) { diff --git a/man/params.Rd b/man/params.Rd index bcc8f32f..fb302e0f 100644 --- a/man/params.Rd +++ b/man/params.Rd @@ -202,6 +202,13 @@ remove them with a warning.} \item A numeric vector of positions }} +\item{xlimits}{The x-axis limits as one of: +\itemize{ +\item \code{NULL} to use the default scale range +\item A numeric vector of length two providing the limits. +Use NA to refer to the existing minimum or maximum limits. +}} + \item{xintercept}{The x-value for the intersect} \item{xlab}{A string of the x-axis label.} diff --git a/man/ssd_plot.Rd b/man/ssd_plot.Rd index 572d08de..4178809a 100644 --- a/man/ssd_plot.Rd +++ b/man/ssd_plot.Rd @@ -27,7 +27,8 @@ ssd_plot( big.mark = ",", suffix = "\%", trans = "log10", - xbreaks = waiver() + xbreaks = waiver(), + xlimits = NULL ) } \arguments{ @@ -83,6 +84,13 @@ relative to the extremes for non-missing values.} \item \code{waiver()} for the default breaks \item A numeric vector of positions }} + +\item{xlimits}{The x-axis limits as one of: +\itemize{ +\item \code{NULL} to use the default scale range +\item A numeric vector of length two providing the limits. +Use NA to refer to the existing minimum or maximum limits. +}} } \description{ Plots species sensitivity data and distributions. diff --git a/tests/testthat/test-ssd-plot.R b/tests/testthat/test-ssd-plot.R index 7aba8b27..8442aec0 100644 --- a/tests/testthat/test-ssd-plot.R +++ b/tests/testthat/test-ssd-plot.R @@ -68,3 +68,8 @@ test_that("ssd_plot fills in missing order", { "missing_order" ) }) + +test_that("ssd_plot xlims", { + expect_snapshot_plot(ssd_plot(ssddata::ccme_boron, boron_pred, xlimits = c(NA, 10000)), "boron_limits") +}) + \ No newline at end of file From 92b12c710b18d59b80a2c66cc22653b5fc8b7d6d Mon Sep 17 00:00:00 2001 From: Seb Dalgarno Date: Fri, 6 Dec 2024 18:04:41 -0800 Subject: [PATCH 10/66] add ssd_label_comma_hc label function to offset hc value (appending \n) --- R/scales.R | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/R/scales.R b/R/scales.R index aff7388a..9f05df50 100644 --- a/R/scales.R +++ b/R/scales.R @@ -41,3 +41,29 @@ ssd_label_comma <- function(digits = 3, ..., big.mark = ",") { y } } + +#' Label numbers with significant digits and comma and offset hazard concentration value if present in breaks. +#' +#' @inheritParams params +#' +#' @return A "labelling" function that takes a vector x and +#' returns a character vector of `length(x)` giving a label for each input value. +#' @seealso [scales::label_comma()] +#' @export +#' +#' @examples +#' ggplot2::ggplot(data = ssddata::anon_e, ggplot2::aes(x = Conc / 10)) + +#' geom_ssdpoint() + +#' ggplot2::scale_x_log10(labels = ssd_label_comma_hc()) +ssd_label_comma_hc <- function(hc_value, digits = 3, big.mark = ",") { + chk_number(hc_value) + + function(x) { + marked <- ssd_label_comma(digits = digits, big.mark = big.mark)(x) + purrr::map_chr(marked, ~ { + if (!is.na(.x) && .x == signif(hc_value, digits = digits)) + .x <- paste0("\n", .x) + .x + }) + } +} From 95de5d23459342be22d795892ab186bf196af9e7 Mon Sep 17 00:00:00 2001 From: Seb Dalgarno Date: Fri, 6 Dec 2024 18:07:48 -0800 Subject: [PATCH 11/66] add ability in plot_coord_scale to append hc value to xbreaks and offset to new line, restrict transformations to log, log10 and identity --- R/ssd-plot.R | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/R/ssd-plot.R b/R/ssd-plot.R index e3c2fdb3..48c47633 100644 --- a/R/ssd-plot.R +++ b/R/ssd-plot.R @@ -18,19 +18,29 @@ #' @export ggplot2::waiver -plot_coord_scale <- function(data, xlab, ylab, trans, big.mark, suffix, xbreaks = waiver(), xlimits = NULL) { +plot_coord_scale <- function(data, xlab, ylab, trans, big.mark, suffix, xbreaks = waiver(), xlimits = NULL, hc_value = NULL) { chk_string(xlab) chk_string(ylab) - - if (is.waive(xbreaks) && trans == "log10") { - xbreaks <- trans_breaks("log10", function(x) 10^x) - } - + + if (is.waive(xbreaks)) { + xbreaks <- switch(trans, + "log10" = function(x) unique(c(scales::log10_trans()$breaks(x), hc_value)), + "log" = function(x) unique(c(scales::log_trans()$breaks(x), hc_value)), + "identity" = function(x) unique(c(scales::identity_trans()$breaks(x), hc_value))) + } else { + xbreaks <- unique(c(xbreaks, hc_value)) + } + + ssd_label_fun <- ssd_label_comma(big.mark = big.mark) + if(!is.null(hc_value)) { + ssd_label_fun <- ssd_label_comma_hc(hc_value, big.mark = big.mark) + } + list( coord_trans(x = trans), scale_x_continuous(xlab, breaks = xbreaks, - labels = ssd_label_comma(big.mark = big.mark), + labels = ssd_label_fun, limits = xlimits ), scale_y_continuous(ylab, @@ -90,7 +100,7 @@ ssd_plot <- function(data, pred, left = "Conc", right = left, ..., chk_string(big.mark) chk_string(suffix) .chk_bounds(bounds) - chk_string(trans) + chk_subset(trans, c("log10", "log", "identity")) data <- process_data(data, left, right, weight = NULL) data <- bound_data(data, bounds) @@ -162,9 +172,13 @@ ssd_plot <- function(data, pred, left = "Conc", right = left, ..., ), stat = "identity") } + hc_value <- NULL + if(!is.null(hc)){ + hc_value <- pred$est[pred$proportion %in% hc] + } gp <- gp + plot_coord_scale(data, xlab = xlab, ylab = ylab, big.mark = big.mark, suffix = suffix, - trans = trans, xbreaks = xbreaks, xlimits = xlimits + trans = trans, xbreaks = xbreaks, xlimits = xlimits, hc_value = hc_value ) if (!is.null(label)) { From 3186e9b0d8e57364fd565b0291e71e15c05a2f4f Mon Sep 17 00:00:00 2001 From: Seb Dalgarno Date: Fri, 6 Dec 2024 18:08:20 -0800 Subject: [PATCH 12/66] add hc_value param for plot_coord_scale, update documentation on accepted trans values, minor typo in xintercept --- R/params.R | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/R/params.R b/R/params.R index d05c7bdb..4e1dbecf 100644 --- a/R/params.R +++ b/R/params.R @@ -42,6 +42,7 @@ #' @param dists A character vector of the distribution names. #' @param fitdists An object of class fitdists. #' @param hc A value between 0 and 1 indicating the proportion hazard concentration (or NULL). +#' @param hc_value A number of the hazard concentration value to offset. #' @param label A string of the column in data with the labels. #' @param left A string of the column in data with the concentrations. #' @param level A number between 0 and 1 of the confidence level of the interval. @@ -112,7 +113,7 @@ #' @param size A number for the size of the labels. #' @param suffix Additional text to display after the number on the y-axis. #' @param tails A flag or NULL specifying whether to only include distributions with both tails. -#' @param trans A string which transformation to use by default `"log10"`. +#' @param trans A string of which transformation to use. Accepted values include `"log10"`, `"log"`, and `"identity"` (`"log10"` by default). #' @param weight A string of the numeric column in data with positive weights less than or equal to 1,000 or NULL. #' @param x The object. #' @param xbreaks The x-axis breaks as one of: @@ -123,7 +124,7 @@ #' - `NULL` to use the default scale range #' - A numeric vector of length two providing the limits. #' Use NA to refer to the existing minimum or maximum limits. -#' @param xintercept The x-value for the intersect +#' @param xintercept The x-value for the intersect. #' @param xlab A string of the x-axis label. #' @param yintercept The y-value for the intersect. #' @param ylab A string of the x-axis label. From 2c86c6d475285d35499ab22cc7e3da1605a64f2a Mon Sep 17 00:00:00 2001 From: Seb Dalgarno Date: Fri, 6 Dec 2024 18:08:34 -0800 Subject: [PATCH 13/66] document --- NAMESPACE | 1 + man/geom_hcintersect.Rd | 2 +- man/params.Rd | 6 ++++-- man/ssd_label_comma_hc.Rd | 30 ++++++++++++++++++++++++++++++ man/ssd_plot.Rd | 2 +- man/ssd_plot_data.Rd | 2 +- 6 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 man/ssd_label_comma_hc.Rd diff --git a/NAMESPACE b/NAMESPACE index 013bfea1..39d0661f 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -100,6 +100,7 @@ export(ssd_hp) export(ssd_hp_bcanz) export(ssd_is_censored) export(ssd_label_comma) +export(ssd_label_comma_hc) export(ssd_licensing_md) export(ssd_match_moments) export(ssd_min_pmix) diff --git a/man/geom_hcintersect.Rd b/man/geom_hcintersect.Rd index e58e904a..0e3c4180 100644 --- a/man/geom_hcintersect.Rd +++ b/man/geom_hcintersect.Rd @@ -63,7 +63,7 @@ lists which parameters it can accept. \link[ggplot2:draw_key]{key glyphs}, to change the display of the layer in the legend. }} -\item{xintercept}{The x-value for the intersect} +\item{xintercept}{The x-value for the intersect.} \item{yintercept}{The y-value for the intersect.} diff --git a/man/params.Rd b/man/params.Rd index fb302e0f..525b42c5 100644 --- a/man/params.Rd +++ b/man/params.Rd @@ -57,6 +57,8 @@ Distributions with an absolute AIC difference greater than delta are excluded fr \item{hc}{A value between 0 and 1 indicating the proportion hazard concentration (or NULL).} +\item{hc_value}{A number of the hazard concentration value to offset.} + \item{label}{A string of the column in data with the labels.} \item{left}{A string of the column in data with the concentrations.} @@ -189,7 +191,7 @@ remove them with a warning.} \item{tails}{A flag or NULL specifying whether to only include distributions with both tails.} -\item{trans}{A string which transformation to use by default \code{"log10"}.} +\item{trans}{A string of which transformation to use. Accepted values include \code{"log10"}, \code{"log"}, and \code{"identity"} (\code{"log10"} by default).} \item{weight}{A string of the numeric column in data with positive weights less than or equal to 1,000 or NULL.} @@ -209,7 +211,7 @@ remove them with a warning.} Use NA to refer to the existing minimum or maximum limits. }} -\item{xintercept}{The x-value for the intersect} +\item{xintercept}{The x-value for the intersect.} \item{xlab}{A string of the x-axis label.} diff --git a/man/ssd_label_comma_hc.Rd b/man/ssd_label_comma_hc.Rd new file mode 100644 index 00000000..0e4d1f85 --- /dev/null +++ b/man/ssd_label_comma_hc.Rd @@ -0,0 +1,30 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/scales.R +\name{ssd_label_comma_hc} +\alias{ssd_label_comma_hc} +\title{Label numbers with significant digits and comma and offset hazard concentration value if present in breaks.} +\usage{ +ssd_label_comma_hc(hc_value, digits = 3, big.mark = ",") +} +\arguments{ +\item{hc_value}{A number of the hazard concentration value to offset.} + +\item{digits}{A whole number specifying the number of significant figures.} + +\item{big.mark}{A string specifying used between every 3 digits to separate thousands on the x-axis.} +} +\value{ +A "labelling" function that takes a vector x and +returns a character vector of \code{length(x)} giving a label for each input value. +} +\description{ +Label numbers with significant digits and comma and offset hazard concentration value if present in breaks. +} +\examples{ +ggplot2::ggplot(data = ssddata::anon_e, ggplot2::aes(x = Conc / 10)) + + geom_ssdpoint() + + ggplot2::scale_x_log10(labels = ssd_label_comma_hc()) +} +\seealso{ +\code{\link[scales:label_number]{scales::label_comma()}} +} diff --git a/man/ssd_plot.Rd b/man/ssd_plot.Rd index 4178809a..d525b6ae 100644 --- a/man/ssd_plot.Rd +++ b/man/ssd_plot.Rd @@ -76,7 +76,7 @@ relative to the extremes for non-missing values.} \item{suffix}{Additional text to display after the number on the y-axis.} -\item{trans}{A string which transformation to use by default \code{"log10"}.} +\item{trans}{A string of which transformation to use. Accepted values include \code{"log10"}, \code{"log"}, and \code{"identity"} (\code{"log10"} by default).} \item{xbreaks}{The x-axis breaks as one of: \itemize{ diff --git a/man/ssd_plot_data.Rd b/man/ssd_plot_data.Rd index 78a2d405..8ced328a 100644 --- a/man/ssd_plot_data.Rd +++ b/man/ssd_plot_data.Rd @@ -57,7 +57,7 @@ ssd_plot_data( uncensored missing (0 and Inf) data in terms of the orders of magnitude relative to the extremes for non-missing values.} -\item{trans}{A string which transformation to use by default \code{"log10"}.} +\item{trans}{A string of which transformation to use. Accepted values include \code{"log10"}, \code{"log"}, and \code{"identity"} (\code{"log10"} by default).} \item{xbreaks}{The x-axis breaks as one of: \itemize{ From 65ad89e7cbf01494457d7b6ef085cc6df24b7c69 Mon Sep 17 00:00:00 2001 From: Seb Dalgarno Date: Fri, 6 Dec 2024 18:09:14 -0800 Subject: [PATCH 14/66] add two new tests for ssd_plot with hc value --- tests/testthat/test-ssd-plot.R | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/testthat/test-ssd-plot.R b/tests/testthat/test-ssd-plot.R index 8442aec0..4a0c3e8d 100644 --- a/tests/testthat/test-ssd-plot.R +++ b/tests/testthat/test-ssd-plot.R @@ -72,4 +72,11 @@ test_that("ssd_plot fills in missing order", { test_that("ssd_plot xlims", { expect_snapshot_plot(ssd_plot(ssddata::ccme_boron, boron_pred, xlimits = c(NA, 10000)), "boron_limits") }) - \ No newline at end of file + +test_that("ssd_plot no hcvalue", { + expect_snapshot_plot(ssd_plot(ssddata::ccme_boron, boron_pred, hc = NULL), "boron_nohc") +}) + +test_that("ssd_plot if hc value also in xbreaks", { + expect_snapshot_plot(ssd_plot(ssddata::ccme_boron, boron_pred, xbreaks = c(1, 1.26, 10, 100)), "boron_hcdup") +}) \ No newline at end of file From 99750172bb7504bd4f582bd32426d0c4eb1e4bb4 Mon Sep 17 00:00:00 2001 From: Seb Dalgarno Date: Fri, 6 Dec 2024 18:10:00 -0800 Subject: [PATCH 15/66] update ssd_plot and plot_data snapshots, hc value now included + with offset by default, breaks slightly different (but look good/better) --- .../_snaps/autoplot/autoplot_bigmark.png | Bin 23030 -> 21785 bytes tests/testthat/_snaps/autoplot/suffix.png | Bin 23106 -> 21888 bytes tests/testthat/_snaps/match-moments/cdf.png | Bin 42867 -> 41123 bytes .../testthat/_snaps/plot-cdf/fits_average.png | Bin 22643 -> 21092 bytes .../_snaps/plot-data/big_mark_comma.png | Bin 17723 -> 17603 bytes .../_snaps/plot-data/big_mark_space.png | Bin 17683 -> 17554 bytes .../testthat/_snaps/plot-data/ccme_boron.png | Bin 17461 -> 17296 bytes tests/testthat/_snaps/plot-data/suffix.png | Bin 17609 -> 17495 bytes .../_snaps/ssd-plot/boron_bigmark.png | Bin 25277 -> 25862 bytes .../testthat/_snaps/ssd-plot/boron_breaks.png | Bin 24415 -> 24596 bytes .../testthat/_snaps/ssd-plot/boron_color.png | Bin 27667 -> 28243 bytes .../testthat/_snaps/ssd-plot/boron_hcdup.png | Bin 0 -> 25515 bytes .../testthat/_snaps/ssd-plot/boron_limits.png | Bin 0 -> 24129 bytes tests/testthat/_snaps/ssd-plot/boron_nohc.png | Bin 0 -> 24653 bytes tests/testthat/_snaps/ssd-plot/boron_pred.png | Bin 25121 -> 25656 bytes .../_snaps/ssd-plot/boron_pred_label.png | Bin 42838 -> 43621 bytes .../_snaps/ssd-plot/boron_pred_shift_x.png | Bin 42919 -> 43700 bytes .../testthat/_snaps/ssd-plot/boron_shape.png | Bin 26019 -> 26347 bytes .../_snaps/ssd-plot/missing_order.png | Bin 25500 -> 24690 bytes tests/testthat/_snaps/ssd-plot/no_ribbon.png | Bin 32348 -> 32501 bytes tests/testthat/_snaps/ssd-plot/ribbon.png | Bin 25121 -> 25656 bytes tests/testthat/_snaps/ssd-plot/suffix.png | Bin 26250 -> 26625 bytes 22 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/testthat/_snaps/ssd-plot/boron_hcdup.png create mode 100644 tests/testthat/_snaps/ssd-plot/boron_limits.png create mode 100644 tests/testthat/_snaps/ssd-plot/boron_nohc.png diff --git a/tests/testthat/_snaps/autoplot/autoplot_bigmark.png b/tests/testthat/_snaps/autoplot/autoplot_bigmark.png index 563d8d30c5af09c724b674ddc36a58211c4c9794..eebea144db1677ec0f24db3421e307bd11916cc7 100644 GIT binary patch literal 21785 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 literal 23030 zcmZ6z2RPN?|3B<-!cnpk+2hz`l$E{ro+;T984=l8*?W_n6%wNCj+KmzB9*;`tOya$ z`+UE@-~azS&voUxx;i<|=f2zM92^{CHC07@92`U<_KOf7{w3(W z$RG|5^6~=(1zjfv6$RIauI>hIRyKAjb}n}A4{Y>RT@Qo71@u*l#SJ7C+#Uz9L83Q9hS4cYddX zgW0k2R}5cKy>1aQl=EohuS(%(D%3{PjW;bRjZSR?Q^zYg+kvYy9$PaP6B~K&q|dP7 z^3qiEEq_^f)4S5$ed}>YzzA``2p>;;8h08yf_Aa<{f}SUOdn<@{=7RpzrRtftAdD} ze)g?Ote<7U4(E)rr_MYGDR=S_HDP^(>Xvwz!?Zx&)qrC{oky}$H=LCu6ltNv%UKb7 z);$?Xu*&+!3`yXzGZ`-_T>grSWk9JDC^E z>t&LgMYxbGPIZwcmW|)IVORd+QXOmLEl0q?&iR6L*9m^MGL^Nv-g=-}ag-7Fao3ou<$7eY23?0utZmf+8 z$d{h8?u=A)ZaWyUwq6SKaj5hhLD{>pjtQ#qt0jjX(Xpf~30z}-!IaF=XJ8v^J9Y`SQRz9bVd+}_jF^@_?_^^%|T3M}y?Ie|TiEz7F5>`BK$CY1;eGr&r%Q)@GRaPThsliWPZwvFr00h` z^4;?v%?5ompS$jE;coGW(Ia2Qam;7?rqkBz7qvty4>I(o^5xCG@kw&pK9lO~>a^9+ zS)&XOLs{|rdWlw2#8H{I;P=+J+ExZs1yQ~9*mS9S^L1XvP&pl+!@qQK`v#u2%VHR- zn#?tpXU;9YVZRPay#h6)e!LF;;IaEq@`AO$h5t?ID>9vKq1R?(+VwVf$J~F`4P0J` zeUMw@J3D?21J7HFSc#tR7sb5|Izp6=(e846&nxj>M+rv8Lnj9IJo2O z!Zw5R&A;v5`N==ufZupyvp9_f=XmFA-WPjpz79Zx5VJE?v)9tX;fB8x;vga(;2_~| z2>7CbFB}})0^I-o7erzK-v9kO_C>K{tv@(8vN&pra)#cBU%3R06iO4lByES>pGyb{ zLrihVYi`fpZ}ITWdEL#@iMS)7h!Tt$TWAe;A&dNoq24VkPL3|

d%MR2^0mpY7{wJ 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

i@zS97gD+=? zPByFmE&+=bz2j`e;4Ocy+sxWd;FaCQrY45^jdl=ydOy1Hsls@PNxRXk&&QB$|Hi$w zK8JC^%Eu&caXR(!a7Tc#rS&rSXo7jJRFdmTL-f=T?3uu%PE3x;ti|HJhfp-0=WJjHyHB{Bl$hx_! z-3FpEwmSBsmmk3={6m}E@7H3^08X4F7 z03dDHNctbS{TwL_#S~!DZn$u^(GuESQ~O?LM}e%aWmz81x40(R(ww8bO_-8=rt{eT z(Z^hgckAXw{u1oJP;`eG-%*#(Fk?>}dp2(sagoUEIQX55e{ksk{ayrye!s?bWg^@! za5Bfcm{#~)KzzV_374^%xYaM8$hAi1QnxOVQ05mKNGI(tb~nj7eU^J#@Jdu2UP?*A z(9wMR?gv_<9GgpeR%du^G3G5^T;g8aGki)hR}cE?1ONFh7kUh&^Xb2_*Wxm7uHXDt z+w~;R6+5Lga1=~noW}Qi%eDZ@t7KkRjg1KSi7vHGziegnQeWvn@VQ=xp0K%d?Nz1sDKuN1dh!XrYBG13S6+@nty zNR9CiWXqGf@n(Toz6!5|&Zzy%ZR*}Dnh*1&#(T`X8h%Va=&v|Px=HR(uZZ7V4E~*| zdmlzwjSPZ!wD*II1U1RY7j<5gjkPTK#cK`Fv_}XnA6*K6VNzvUNWV}SLuh&{YKtY_ zFb#QE1*fvLM%^8lIh~-J`Np}46%A>Ih~zkXumcLCW{qWvP^zO>dp79RgA`0JJBvkY z;qIbw-m&Hf{(b5G#U-82)aMuwf910q7XG`>w$Aw9tXqq(kQN{WBUm+<5fh}C54Vrr zY`;~x!|BNrXbg>*WM%iGn4^nq zn~eCJ6y!{Jy8lI|U*bCZ$S3V4_ho(QJyKdiZFP-w-UnWkyu-M-H<_-=+9jbA9gqUW z`<)m0Kfm^6B|Yr{qrR!cDKQ-vz#C2}U<(412BWx&ZFZKGiK zJF-Diq!$b7RLND*xS3*%5?)o9#cE1KGkH|n)%25ckiWtqME=URaBLfA(4c$Dx34oF*OUx%PtUj>fN-Qey12j4LK)y>Pa|yFMk7) zrMTpyl_MtT5SXVb32PNKQ92fhEMlqgJ9Igo3nj7LUFcyR_zqAb`8V_zt-UNp@_d|# z8uIsXFPTwcN;m^v5|7uI*wj-Aeax}+C8sy>YDx=?=*G&nmwc!&^bUaB0e}U|-|y!W zXOVEo{9R*BBN!sNaes(+AcNl||9DsmDHgVz_qMbYO`06kyQtS*UGq@X@6RUl?*+8v zp3C<-rME8A74nmyQV91rWir>o+oO&B^l8Z>GchozmZq9K9FO`Pm_h&3t*nV%x!>N+ zB8!)7`b*7Om5Bv+bvWN-z$=1;k>T-o7sU&|i^AA3;)!7{_qbJXKM=Np9>I;T(&l>* zYmT{#o@2u>5W3=#yNL$_Q0fmuQ7pj|JP}7#FkT0c)XDbY6rE^^R8C;vBc{2T2;hJ% z)84Sx5qC4#R4a2iB`6NHIn`v)b38|WmsT`6PRWL(`$L?gZ(-CfH}>L&FM1TxG&4^A_X4zdt#A{{AcrwU>FkmN@0N-KJlnPU*Ap>RrgnBI*gb z>hiSY(xamF`$IW`Xs^HfKbJq3XoT;DKj(sacbslDCo9#+(4M>3Npvh^KggNEZ;=kv zJUoVv{rF3<+KcsCdFd$wRTx1PJDlf*zec4C^eKxDT#9N*W^=(G75-{1v_VC_n1$QGU)<77o;%3AiPa_P7G`!qq3X~6+b#L4B_V_-s^J^d-%QXa$-8mtte0tQp{rNl4S{Tu|C06z~QuGkv~9b?o}*` zgPG|#;S;Ih6OCkH!7x`v*6c#>r9x0ggJ^gXwm#MLhUTr=+lN_LB}czV5j88`&Wv~i z2QX79c{x#*4rLjL7g%{J#s7i|7q8C$cu!3ILj^?^wna2~zI^UPn96%wC~L6`1arbu zb3xNoCzsGn9(6o&kENw8i@`=csG9d7>KQ0PRRgOsg1g@nb0Scg>Xy*Z_MrWiyET+v z9qd$P3W7F^kUdI5=4e|EW(t0OX~2PnYhR2CPenK|43VE`BNvin#r`9;-EQ@+t+IG8 zoimV`fn5v+RmE@KWTpg5E z_wPLlM^-Vx+fo|dW=C}=Vs_@cQpUqeS~by@!f*mAQE&W#{9&Nq*n%I>N5_@UW$>ZX z?DkF6DQHWC+emUZfnYfLFU?m;BzJ;@SitSj<*B{(cx}$|6=$;nq1)wdE-Jw84b9NQkkNJemu|UF=ZA-DN76#FKky zhkSubcO0+i`J~=4wVJ#Ld~Ug%uu&`Jt00U({1&@T9xwD&$>tdDWMG_5UKpT>xN0&eWPzeZMN%D{mzp~w`l3c-$pSkJBX77Rmw z#7!mu!|5;(QQ;~58T_w5+!6c}&G?iR|sxJgwPt zqk=&jILs30C;HG0)t-yI@|Mg)Z%hI`emz8W{jMp<=MIWUHE8y>gPEhcGj2BuVVHSD z_}w1dvk{ILQFQPs8G)m`xsK@Atoy{Nb0;dy@8c$NI!VZ`-_~oCD?MU+pe#SI!uOyM zS6S{HD1Mpgy~b<0*U#j~>0PqySKsYPO`5dBZULrk;XM2Ci6C5qqJv?R+rM4txWj7)+A61%I9v+zJD*o zE*5bJN~J!2$C?05yCM+JuH{mWk8v|8r3pVN6>l?L;_$xB%oyAI>>`!nv0n6pzU7~v zOAMB+RmV1wFJk>BD^9pmTd}hlIK#_rqnd4;z`4;sfEq}Q3>8;*rgieA+j67>ZWV3V zJW2xcC^=@W$VPo=x|Xg_Z~T*CQ&grH5nKba#!%|Q{$)$uof5&nhId-MA05L+rwui} ze57C_9|-1c1+QkcNu}|pUZma_$U$W*W{zL0xK0kYsW$7C+EgjI4R@B6bUvtdCX`Xi zu$0rvuz=aC7d{lpTRRlWsJG_w3=zELjZ+itTwmq(o*5p>+swz}!WVjlUPk|&V642= zx8G@Ghv{ltXKxEQzmc(z`;?O#lr;GSj`Vlw6P z#KJ}pTE>?|eJPG&DGj}e)VMlKEi)a#2!Sb|c~fQL$ym8wo#Qz7_z7nHI$sAD-5!YI zily4Q6_>RC*9C+^6|#$-@|-XyUn@n%7@Ts9wRmo@W1Zotz>{CqD@x0+I7sUVgls-s z>S(>N!g&vro(JFSO0xIQfRc<8@v$y=ZcW`L_LzHM>c>rY(;@NJifh;oI>A!RyOYbb zrT{CXU3+PnKCC)DsDK+KkE5Ur{Jh=&?0B`$u+wE9Q*YZxPLn9hdHV1cV%o0NjE{P| zOYGg#&P4sWe%|xnzS~xuHx~vDdX(Gk`X2klA_rMWKL-_L)I3^LmV0spha?$m+OfaO0(xt$ zf}_x9s_H)J{O-c5$3X5vWQs8}sv|MpAwUqY-}i9P-10lqStj;BYv2sj)UKjjCbLvA zE=c*IV9P1WE|W8qiz@Z6!FhD#9EO_Z=IEqJ|pywF!7U zGBv-cd1|m~+qa=%MG(085RFc~#bT1O0!cyiC?tJnf4d6NlFH`y3 zV(D=t&dRk~f{P@NV5FJgG7}Siu$=$*MaD{{O3%XdY+_dmRNF_mgeEbG_;lArhGNBS zbY!1gR;0iq8?N!ElDa$?ig`-e{56x+3j1#1ICn2}Byo!1t+R#I_KbW5&YE_TpJ5Sr zo1ZozDQFof4@*>soOh}XCJo1{l-obuGQG~m!-SwBgOP1~3%~gUf$LqTEGsgo!J>>8 zo;K^ZEk!k2SmA};SXtep7aGjj`LSi*`qbB=OQmN#e9Ve4ht{Te;(@6 zKvJN(LuFO*ikdunNw11rVKHNxYO;C4i&dbHkphPZlCM8zDls%J?Z+$Vh#Gl~n4PR8 zq)ejhCBm?qOb}q;`-(Hw#5&0L!2w%1gKR;W;%iozAf$!>lg)?N-Di$2Gp$WT0i?V# z2`NEoNO|p|uG|yw(No44qa+T|7k0pV2)d3K45)XVy$3#2iQhem$i4$hicK?y_GDRJ z?2mc8$`HeDNsngQ1IKbebk_ex>%9~Ll-RSNYQ$(!mKELANBtRmca)!OX+O~G|EY?* z(-^~SEv5~-Rz^A^%ml3;?r#`Uqq!{xW~uJC;&F^cAoO9-{_oG7-ahT% zX)W1_AS`U)zI@B8V}W1b`Z4SWm$2iQo2a;>4lX;H_u=%Dl6!5w{aT4?N?>k8qM$0> zq0d$Jd357(-L5MZVn6#VVBCZSSHT}q7~zrn2VZQzR^3jb>f}*l(ndbc*tI6y00fW- zm0Z3YvJQ=iGy_NW>l2 zBH$p+-7tFG1lK=O1c zMTh;O$#a*EtG(1O8Kd4T*Lz_&Yy(!y-Ab3TuP=Dx z(KtFJ-eO-an#6nx%lwU*sf2-cQGQY=DaahPHWVBS<5}e4H>Pg_rft5SE&bZ?1Cx+* zH){dHH>WISip{n>dChuIG_u87;3PYDordB`WM6C>Q-b7PWVGsfk;168gWeE_J|{q*S30|@tM=1ZHu>U3{jNXvOS;X;Hf>b5#NM^P&A`hcl02t(1TaUrE7>bf*P{<#D|$ezmC%*Qxj^^uOI;wi9aM%sVm$?CaHj_6|!Ay03=0iyIEc z@VK%?_9%x1we$<0t~4T@LhsI=QUM8eNpMD;ZL+h3iZllkZuflUz5ObYL`q_fQTux) zwF;)(sM7eEr#YH#1W#@GAJ~r-HAsqAB46S%D`b;28?99QO0PF5i{uwtl-1^|jQW^D0VF zYYw=`9#ERfk`_Ix54frrWo#LCVy<;$IjTT0~pY;xcoL&R=_cv@`GiXY)4TzZlGg zE)~WAberGd+c?}SVaQEQ*^AUhh4Rk|tUIk(*vtM=*;L(Yy9LS^6QYF_o*0zE5*G5# zAPmKJky4CpN63Zdjo@EJq|4aXG19S5W_(osJxl(Xe#b>`_Qt0mOG-+HnM_s87E=DQ zmD~{)f0sBNu~;6nECzjRQ{&1vCme)kD9)(W=O=7zZjK@(>2ha0~jq5Qvvp@Mrem!V~u32LO-y zf63213S>vTqX-)C!jE-7F`r}j=SfUx9B+96b$YKuSmpo=uMETNr)>@Su8R4Nd~9OX@k<_j$ua6J5c*!zad(zu+B!cbv0g|z!osa& za_`@tL`%S`VU`k(rI#?SAuMs5@BIA!>3Q*m9a!^N>{NW530C#~#>6mH`_-0FD^o0r z;k#%7erhWc>z-YGZh6FQY6cpEFOEVcGEDIZq~K-n_KDMTd(|+1um@zb6!^l^6i&o; z5%rKY9E~H!U@Ru<8A2_u-v@kt-hw%~e4=!Aw3vYIJqkwVC}L-U0nX5sTHK3L@z`Xg zTTbIoXydQ#=0UB>!+=kd#$QRvV;pAtXf^i<(Zc$iL@^t09JZg56Mo0*i2q%pkx}uF zvGJz`Aiw3fiI@HQF61>KSkqXPqojuohOw^1SgpVXskDiEexF1oA3nRwn}V!j2OJ;L zf5Wc7*x1_q$+V~Y?t&8NuaQdw8N-fErqU>}5X|TcmF2|*8Ie=V@gk**9gMJ_xWS21 zq@QT{!)xY-kQP_HSKGiZWm(gvS7mannLnt^=!Bm$HQ9RfG4_Jlq ziJZXJfFiC7JI<_|o7i6{ylg&1fGi(_)>A5ZQ0h%~BQYox3*^29T;_NrI^`Bx?=o%HRG{1~+;~&2brqCD zaaE&eb=*<1APGifEXea2#lUBJI!Ql$k#YWB*K^JaEMgHAcK4a*Vw@;Zcy0ZawF;Wm zICgJ(r5rN!rrT_@XXTvlr#Jk*x8U8<5C9>#Y8bJDVv~+nOW1u^V!Va9>^^3wVkAv@jhW@TYYDr+zBfx38d$170 z-;dRcU>e?J8Vy-J0FKhnvw2Gga;wp+N&53Lr#qn#jM9g=^Y{~{5-0CGI1o(b2)QRG z`A^Tt6j{1S{?2uTj+?rGrffLeQJ(D94kt(EZxQu%vwGDZZ=HD>9LM!7*%_c|2g1UQ|GVAcPa+XiW6qvMI1bM z-W!l{(YYlV?ak*2ecnPWbnm|~Y9=s{p9sPd&HiU6Jg-}eE)h0wLcq%8k!-f8>-CMV zuYMCtUErba-CgdXBg*@Me~G%FjzP>#)}`&h_<#Y1Y32IYS3GVPK_^B&R#@sgP=_stJ(>A2bKOTB^_v3{saL3p!*&(LITid^KCEBqR>oS-`CW>D(ynkg3V1zp5}q^nH3GNI&wHf2cM7t9 z%TiHGk?qUx*u+n-nVQ8gS36LIU#+*oPxV~xrxXW|$@Ln)h~>Ow^Pq3vbp=zxx@U!A z66}|))W$l78GP568_^v zWlF@;sz3m7kSmg4iVs6(-1?h#kfl2@uv5$5Rd2tK3r8F1kqclMPxoBIpfWB>1II7E z<_NFr?HTI&)bFLf7rr0e9&}=Rv@G7j%Ga_jIaI;n?l+qR)QUuX*wLz~A$Be`yjw}p zk=A>Dui-aj)!%{1{OC@M!R!?j)8!$EyN&InJzaqW-ruK&+l#edB(q2*WpN*YgGkP? zQ}wkSIdXy-F`ARV+<367V~X*Hg#QWSf*-jXCCKb1!lG$fQ8?+9T~F?S2$^ixcCyuy zhNru!{Nbz^LgwY4s{4fYa8Qk5vLi;O*GKamlV!~6Je_XB+Pm#YAWi30?Fk;i;DU^GCwO0CY5m3W)yJ|m0iA^_ebaG_vyV*7;Nf_MQL@dcEUpXe-9qWt z(rRgVaLI!)gOJ8uWdmsTsdznLQK^Adx%6gOIt8LU*V=N9Rhi}qN3yItg}ErzqcCtv zZD-p9KG)jxrq;1bSO6mV-rz))%f-&xh3A3>$A$LJ^zyA2hr3fA!)oD|uHDrRSx=FD z3=37X*jq`jYzY7W8w~ORbV1K9-ou9YKe2`wLZ)y6Uq2pU^WwBW2PWpa)7@$ zCN&%idP5Q!Bn5?BTKn0N*zs~W<&iMuvzjX>wcZYvr9R{U(|Xyh4K9(Z62j+1jmB;n zT4P1wh)Aq7jRPtb?eX3Ke+ov-cfWkyr*)_EqFVfKY`%3LyCC;Jk}oLE!4y_=40o*n zMTDcTR&>T&0Xw1qm1?@@FapFb;z;a2Dfz8vp}DCc2GO=cbx56Td%SmE3lR{q0~{~V z?qU*#743CajX!1x+9)^qAJ^S&^A)~iy<-0lq~j7Wvebxr{8fW-FO21Ugmi2PI8Sx% z%j%#J*(Ups`eUS?g{7H$X*u}SCwxbp+~0XJ-+AFpjL0j=%J$!;Z4oC7vp)Z0Zr`h< zmxv1dyZ=DJIg{^>h+y`FZg3#fOh5Yma9-R-LV3Pe-%O_-Q~TOC+529dBv<<5S4pt3 zk19GEEb~g{&|zrMq`LK@ZC8m#%&h|YnrRZ5wt+c!{R*xYgSir-4h%rA$p!u=?VjC-1e(mg^XM7< zHe|xmK(F}uHApoSRKWaH9uw_DNfLz zx0{iss{w!aQIb8wP~lghv(%DakBN`Rz}!kvBEhB`>f{NCX^KUNJMFNS?qoONsCCB+ zI}xSGrm$-zn~%bQL-%4E6qqv^m_;?AU94=%1|`kg(J%jr$!*$mq7Ptm3D}4I^e2$5 z=Y;g&0VT0YJp6bt3r+>$>ATZ$I7V#-o;N&Gn}f(x22}joy=O)yO3_!60J*Q{t;)f= zIza-|bReVTjv`K%F$KHkT%CE$QJpEdfIK{=GN)j|FG9;T7*ob~-#WFV7s|STHy!!h zOhWGQKhRjlYp$}8W0$%+0k(D5W;mObDTw$Pf9p=j{;x?Bpc9mGsMavZgz~}xwokGZ z7i1QI%MO&r^^k88e3_625osg`c>i+`y+7C^YiddJyvlU)^B#s4eo`zEL(dU`%iCC# z_3Opb>-T5enO%`+Vg^Z58c`Qs_)Kw2?)TuPp`{RPzb1bFLI{Ne_&KN061e9K;2xeW zL>M}55aa|?^uU_pPg9U5<}v~+wuVquBDJhNCCd%_L0u^l%@C(}vfen_`-Go>8kAVP z59HQ#hCI|I^REAh=@hVud4f(mPGo7H1w(CThq71U!bHfMpoyJba&$xDD5 z(tvT$*&LsRT@@8<2&C3t3m=8ewKSw_1dwAo)s}bOz6enI@PGBoqKEf%Q;+^ z+JoymsCy0dR$cgVsp5REKv(q}Fv%d5eQwkH7Zl&SMS|mK#C?jIu^^1MB+Ld!t`)cu zhm7B^VQm6ew9a`_MA+~VAgtSO?BlRQzGjiyh37wMVF_Bkl0%Llf=KK=G${5{l9QQ5 zY41PZ?;BMmbUwRy691bRj#K~&vWLHt^54xVP;NJ<0r)t3aF7$%b%MPf+ zxGm*B*G5rOcd)5(aK@8je?T%b?IZ@!u?8r?DY+98iPz0<4cvVSmrTu?z6IU6EKv%b zw_QO^HvK#%ks6|rwimlktd3IzUwd1*L9L@ zi5BsG;Bx_^vAS!=%d^E*eDlF)>K3LCO*J-*b%k+*+MHBRLF*7`arn~z2AfbK0^L;V zn``9plgwFX-2z!e2cs_wB-~Qr!HHTcW_&kZaZ?TbgU!@`=VFe%ir|OszzrK3DeM55J`pq0HkzrOlgmX%r-hq;e;SRIYNkFLjW zz@T|?mzv|u<`jXA!ZY^$go{2fuF>Jl zrpIR_h>xLu@=g>xehX0?ws0>kB(KCv()6}+LKlWvPWcT*EJbEETjlq?2d!AO`c|r| z(s%nuko+Q93_h8OYhHY(&42qAK?wh~aQ5}Fm#l835n(euP#I$vRzC8+a(R_aY_antg4rzg!#hFS9ktpZw_nI@j;=2Leq4}ex*X_q?wZ*|+5DZKE@9khWv4!rNuZ@~* z2rt?ZutNqpIPLi9*Y>#|g0VbKAMkoNTR+RCWW7$J2zu@{7(xGd(#MPcIUrv%8y^bFO9Q&LJr}y5ZdO4f$mfXDlZL zX+eh2Iwd@^ggP^YQ@=RU|7bpfdxUE0*Ym8oP?VpP!0QlG$W+PVMyUZm6Py%QdX+8g z#D4UKrEnGTx+PeT;8l5y9qbRxd1BSmZydItK!i^LZNDE3+7xuQtvt6zi7I9prqA6# zyv&zpSQW$J2Q0YR#KD^^&stu1vLl$IQBP^nVaQ09sKQFDWuczRnM8U^4+XD|ARCEz zZZhTx%i^^BVDwocqtvQ{ri@>0c@Zp-(~&Cc+m~VB zbOF>8tLli2rd?~@ff1t2Pn_iny-LUugCqRV2r|rxK0e7X#%tk$&<-co-}+^+caqN- zS$)qTJ6`^cVQm_lW+6-Kh=E2z9swASqKq%aK?v@~V=sbk{%Fu3J!dt0Z?ZA*+GN0! zZ1x3AT($KD0swnYusnCpt5@+aAbJ1aOi2~ZKELgK)(Rt#ZJ9v*6hXlP-%nKl;`Qn^ z_`-K`-=F=}z-pDIpAI09ooy~T0I$0V0OcnT%^NT3^2TbrFuJ&e{p~yhc=KVYZ$k~_ zjNcPXx!PsScjs*?+=hhkwz;)2KM%G)U51?yD|=WHE8-5Z z&Y9vRa~pAY)pzwdHR`%5r&j)Z=3!p7=UDgb#W@xL!f!m#rC3p3k?iD>F!p`H05>Ja zH=FgUjqFr-D%mss&^Y^?O*r}9(R=$;YP9{Gy!0#0U&3bBUNuXn?}>j6g5Ub^o%HF$ z@*7xIg}}0^D+kxy)_$CHpVjX<5H4RrPlW3jqT1r^@{VUf7kjl8s^ z0P}4n5lw?neTcOBOVo-7I zWgm%A)`YSop=?>pRMsqwbu^?Dkz10z(2OM!<#)dB@6UO8Jo|IL=X}olbGZJ99@sD9 zxi$^S=TZm1WjBZe7r>x zA5rMsw*2|!rFgnLeebUP0SJY)Qe+*Tv-{%K+mIbiSj$5Kp=4K}9jAqxmcE!EGj;}Q z6B&tUD4&gWxhdQeb(9lJ`MEU5A40PZs9*&8Fh@$=djmBO z$9QZppBS;aW^vSB7K4Ln5Ma5hCi z=2OdZayJ7_^Kt4Z!GGaONdAz2@pdV7!WLq>J3MzcpQWPzW7*( z;94u=fvWpiT&pOcxu-K}NP#z3Ho~E^Oy6FWtv&-Pd(q(~e}{tI-0>;6Zuo-5O4&@I z=m+$D)kt)JFdK&G@#)w1?;rL&p6A?hMdzg^pc}CN3N~12_POv=kB&Vovo84?41|+V zpjs(E+Pq;(x`VPeBwxa|q#OvdnbOHkn0mJ@SbEdBD}al4>Pi+<28ydri4GWr75_|p zYHR`k@950`lOVON#5q_B7~9reKq}A3F9kEnZRLO|sw{YNJ+~D&ROiUR<2^Q_I1qE- z-TjEwyT`LMjF)C!tHTYnS$t_-pHu>GqM3vm#H#UV{eO!6^%0UgI9Cb?EC*zr-{Ec- z-Ccw1B8tiT2&{<~oYBS54&8W!Xb&_^211+7rI)}XcO5YAKo(sy3FKkKd({i? zD%#i`Fxf2$Wg)5Q_v*jk{Ov34xyS(LCc|?Km3$9w8d=1567d#DSwT}W0QQ-z{nz(~ z@j_)ZI&P(;5u+=oU29X<|2zIvkAd>j$3}pcjn;*N|5d>m2Ng6DXWRIEy%He#kaZ|2 zil9M!8FXUyrqMs}$v%Ze%AwvrAK9``TsH(T{M3u95&8Y`JX-1y%)#p?=L5;*TJ{U_9P|f~4oJN~$W(EdM4XGV<`vV4FYT?` z@IPvjW1fr%!v65geR~uTtc6l^^%_{81`8FOn(Fb^;!+zmAZDRd`LiCgs~^HKKS?3g z5=KJQPX^~_qhr$zF^{z*&8226AGRg-q#4HM<4#)*7U*8?&6!`%KGtV4GA9LIS zG82cLM@AX~N)Gz%!XHqogc6~nt6izVUJX4=peTC7C59b`YJJY`bG)v@x<)(*4Z>_c zqt{4s*yG+O`W0H+dy?ay#}z-z3cPE|})xhAp`TvS<>ZV{z zKIwje{S(*QfP|j!!i1}Ei5)DmHF=e*JH(@dy$AS_2vx-QAsP_^61hPSmD?_ly!l3q zp`_BxzXu7igMzl{elvR@s+6s+dHj4LcER*t_wLlzz!j z*9}solE!=TnOG-)ZfutS@omuhiEdlHisaL)KL+iht)Ba?;5Zm>>xT!|IA}=<@8yss z(I?>|?*Qc&bLq6}dHt)K^-Fo5p!({t>Sj`PHDHMz-MM*KvURTySQ{cd@r5{B6BlzI zq-l=+HUHubU(%6>$M1T(=xNXy)*BSkf({J($Hnfhfi7lCx;mh3oA z5xFdTL!b%Wci&K*k(q<^s5Qz^1*=yPn{Wm1y~b>^+dc_DNPob2dNqORH6x6~ z;O!_2IeQT1C5;?DTW+IRSEdFADqa!`-VExz~$hJLd2_qrEV3QYEG*uvUMLEYv{ zIDM||h$jK!ef&C4W-R%0=onV+)jnucWm(mwEs`(0`OI=IxpZQiXkfu6P^tqgB4S)9 zd|oQPbW5V1KbP)$e|sPy+8yJQ*XJxmB5Nq)0;`LLreV{~;H&!J-otP0BK#qkSH05Y zxapLTxq|&?X8xD(@TiA#^|R4GYR$ESJyjvSkAEGNw)@Corgez&>&&JC7kFVhe;R!v zggdMxcb>6$HrJlgipZ7ea)eV)t?mqBS|U$M#Y)xreO3c)iEoofXWws7_!WygZam;*{K4%VFuMquI~ApSAXC_KTN9Gz z%d6z<@Zl4CS6WvwDwB(r1fPmK&a|vZorD#G=?YQ~s~>QSo()Q?`4V3jE`Tx_d3(W+ z=p`U8ujiw`I_&1zE98u;B)3Y%8{zCnhD%RMmpL^*Pkf49o0t$__J6PrrVulj{SYBF zks!J(W>03Q+sA4Q$Y5MLs z`cD73cO(~+RuiVYNygp!AjBJF28S08jXt~h>Qt=2a~A`_@PSNqXEi`tQej}leur@B zw+c9w&E>fa;_2{&tYJpYH|3#H*XH|JrheK8j6Gcy8(P3GGisnQ0s9iBY$@!C*97Q`PTgfoCYZ3$1{#Z)GK@ z(4juE0@@*B4^6Reage7iJs&T8^`()^C)r7<>FDg@o91Cjmj1LOulZw{4K_}_wd|o) z<&A1?En7rdGV&R-e_OcFuPbQWU;CV?=QNCq2$(tuAL^dV&^9@@o*15M?aIr<7u?2t z@A@Fx(+_l5`OnutHe{4S>HO-z^uSraf_}e6o>vVuL(dYZX#*Rf_Xxv)KOdEi| zs6^28fjhAwip<2#gl*}hPlF$~cxjAff9lDxpx~{fbJNJy@z50qRt-RO!yog z>c-kzWf%MDN3u;z{Q_fx4PN)0Q2m{qPrr&iOY6PW9X)kVBVAFpaQ&1LrEg~Y2I$Te zzZCQpITXSXmOoP_tB)JeDQSv*YfQ_5_o4rDX^xh}5pzxP?J0WD2L@Lk0*4`UiDF8E z%24y~#P$Dv-3CK8`rAjN9m+`>?-6g$BL->0?AoFy3oqG%P+4g#p;Ecv2WmTH&Ki$} z@nu@Jq?k0)Uf~|!TRf{f8mI1>N#Ia+Wt7v$?=(mVxU%E3Iu;rLY~v-i@2&t z>6DN<5@qgZ&pT*IrVIt$posXqo``6(3u|t9qUR(%u^4-9HT3u4u#xJ2CKlB`*vwcx z)W#)IL`L3U`)M|ci=lXx>W%7a<$*>N*3{ZRun0Os7&A9+9{K)DAW6xCVl2FAQFg$c z*0uLF;CT9@9yvJL<48DK;tZTS?B1$ukN+!9?T=%3wf*wk!9s?c{Mj`@S8;gS@$Pw$ zSISUHS~=sMP<>2j)75)=py!^XNL17fO@)CFnSLB{$wqgOj=za+-7>0X8f%YDVB*U& zf>KZ)loj@J`6S9UZi7+|wyUW(1QZK6VnW<eOoak-l zd?R%A@^X{5>qzv{NGEOxA{3X8}+WuFlpqk_CqVM-*BV5&% z+-sk@PY*eGzAYR05}FLCHh*AmZznkUAB`@HvmHK$I%7f8_P1}c;ibOKqvZFoTjID9;iM811Kbm&= zCx+cZv>jtYBR>xM2J1WC6wwx}T0FG~5Y;$)4UxaG*>Gci@6>Kvny~1#O}ZU(*w`j- zP}t36Dp$jkG+{-XPfCn%W3liCwncST!swH0QDpl+Y~R1pAitS2m3t8j0C)AFP5{1YV}dq#~cZ0I#Nr6c0JE0vY#km=)q&!kuP= zMtXaqxK9q6EOcs@rUd;kjn-zE$}o<95Qp)rFpK{^o_m&OMPh7(@zNpx-)KS`VIOhG z>wdp<|9Gzlg`Qa4HQW3^h(Y{3>srxZaR}$+&%RrwPse&Z!PrJD5xq3to{U6zlzYdqiv}vA*04Sxejp%bnI`nvL#LCvf3S)K`7zl`9(%9 zmTRL809l&I<8+)_pv)rN|OcM9Y z(Z2mgnd~n>*!kyWW1G^;)U2%r^3Pe#F?ABhWP2)hS_5;T(|_kP%$jB%% zOGNx%_x=5T|NsB-;PLR_+}-E%e!X9>=XzhXk-?RdlC9GtE=-Es1EbuhVdnS?~{(IYc!mosKe%8#4s zL@>kQAB&5VX^v!4U%H!&MtoU0a;m#MC7R;?@={{|+Vm4we(8n7LRTSWrb~34&u3F+ zkF7cdxZTQs#)=iZG%7%a3+|2lz4G+^DfDWSbX`kI66f38(QRPA_zIeEGS-)id*Hx8cw6&DBby zD~PD+2NM-?13dFiBuC6|YOQgoO9y@EPxgE0?u+g@T=NXC>q)M$=F)D~zROCIin7%Z z6)cN8>Yj`uU*_Gtjw1KjoQzkLdHzC(XHcX6LV30U?}xVVgV0wR)3>@O!wnPaBtn?J zk~Z#U2z#f`J*3Ms`!;nqs_L9;-5a`NrzThQ7B7i)OX~w~$}Qz?2eY8oGb?vX%Vb9h zA|)TQZqj`X_xJ5o9OzkBKdhIu&7t(YZ<0g3M9V=kJ1;C&9r%ZrqgvlpIBM|GHJ1y$ z+fjRsODxXFkae+}t_q(<h_>?QBqr6J2`ys3{T282{!I$T*(6cR~_RV zM-_BvWO~zid>nV0Mn481cun$TV_Rca?p^9Ry6KoX`|{lzojh5(iFXt4ZVjY;x?`gd za_3rXi>7&A%ec??yO^8oZen-)zI=S*{qDHScKK7a?Xv83>Lc>|q@k;m<_$8d=ZDNG zLz+FTy07dg88|8ziJ7_E)jcb)lrjH{Fff08-*LlXEl^dt{KKtd6%zGh$#v>K2Yj< z-Q}ojxWXJ6fwmJ5^ph=Te00jXQ-#8`7i( zcNQXewN==79^7sTjQIJx*zdls(w8cHkI$C7BAI=#ZSZ+zCY3JFaJH|p?Z#_cAHBcV z4${oWxjuPWpZz1|b^o^od&(*)VHWB|LcZW?^GeH^(PEnV43|Zc>L4k(E)VUaf2Sq` ziky7%PRJb!T>NwWl|1ci1?k9v%ismv&4soNk_zQw|6LP*fo}V+NV&1_*PYi4+256O zuKu?2zr!~}G7;QnbA0eGFl2}H<5!Z#{A1E%K7Xn=4&#H+Amp4Zw4L?!Nrd5N3KGOa zR}vKbgn(~$_$DDi<|F^_H;BZ1(*N&g;vePq^>;}~R7teeFPZuyem)`3WO_3mNh`k` z$Do0r$M`eT(PLt{xQr19X8JhHB@`JGUpUVtQ&mKCa%v&UxF8IJ*3s;jU*2CXKi-}C z{5kjY=jrd?e~s;|8Qk;r9V=}JT)JE2lkDGmiB$`SB7Sk@qLO>0l~Phj(24Mc-gxOQ-3mFSuyL`pg+_1oDOz>zHjib{oHb|Do5T&v-#e}xt4ny z>361^(M-dUCr>->EWMSwGbPs)uv5G?*Ja1DcZZ4@N)R^nJ1Z=~V^Z|G5bTSGWo&3vYd@EEA}?Gp%42{_IME zFj-j2jVAB@t%csj-Jg@&BWkpztJiPTyNx-{cSk1+UFDY#`TLSd&`32|!0_BkCq_G2 zz35HH^?J9`rxJpt`#a0!tL?G;XH+j#UW!uouWNd2eg9Xq)iZSw&xSB+=X%XD(^7lp zv&Li$nHK{oS0uSqy;Mos8Y?X8be4yom^I@`$#u%jUpS8BU;2@os}v;c6c(#;d{}2# zdZYQS_6V=!4*8ijAwk8DkGK_3n}>x4Pp;R8+|`M**6E338}oT|Gm$$GCFR)1bxPbO z&IXU*E7D53EOm2ORKPHox^e#S!>{ij%D-+9vNiA0U?hBgVP2wtlakYD9UbnQZSY7K zw9uyfd=q;r8Z-)4d~%y#&{_#XOWbkp^OxW(f0h|8mjT%wbBNp4b&z0{wp z)RL{L;`<|&npHwo2*<4!+4rUXR+{GPsVEkfb2pyzk0<$cMWDTZ|1fi%sDA2~^}o-s z#f78K?>PFa`!78m?kmT=$c*#R_bB={A4SOCnMzC*y4sT{C_ytAQu9&PW2RMj8gA~G zlI#1zXsN843Jb0kg8-F%s{DqZn5|0M5F78v)*~n^% z*4f(J-yhGFT(0k5E!ImaGb?v1**bcejqKzpg5|hc{qWA@tJ^;qeQKc&JMtUw9o~xr zrD-)=mF|R-olH?r)hrNFo2kUDR&W{nE?4OX`B+Cat;(TvJA+yI=FX$<_IV2`q>hZDKoJo*`yctf%s{7k`_o{?;dRCE7ES z+(!6`r)h$`@Q+~>=Wl;Gf9VgK7b8n+*ZSA(#lbPoCD(xr@v1u3uo{Zaj~kbEHS=DUyialM z@gJy7w7IUGQ1ewJbJW%A$-ki)NjxFpe_azu8DxNcbeMHB*O+nNFY7~;xTqGV0LrvwUm7~MV72b zF1Cw9IU(oEUaDSLwsSelO=3p)#uslaZ5cf2 z@lVwr3SaU2`KA7mG=w34Q7b{IyqCWaFJa8HE!C@y?R)-{aiX_cm-?zqYq+ zA3n6X0>i9=H|G&%jxPNXdu%~62^y12m}>GVf)Q2Lizsh0@!opeQ$-`n!+R3y=_Jfrjsa4# z@HSJ>1RRfF3i%0lCdVjIgm7Ztw&NYRcz%Y);Qd;~S+M^ZaA!RT1783q0ARIgH%9XBnS~pg zzZzaOa~rno_@*pfVnGr3HvZUKQc_;%ni^C z{I&A5J!R|d#hhP4CWUmZiYxte!~gsY!oMoCVXer*24;2Li;<%PvR6;EY5IESm}TDb zmdmPVUS-*{o~*l>kiF_M-CWe zf4$e$2~fveb!HGpzFNn3mlx~lAu+S8$k2bkGuU4RuD)m}v~KZ>FU^=1?&64=z8<%o zj2lD~@yb9wM} zH{X?^cLIO^(9Sq#T?oh~>|_{)#5?8SJ@l@s(3(0$mJCM@Zh~_ z73tFFgtHfy%1MS^h3K%2G{<+xuL1^I;Zm zibgWYvMP^uNDHNpcCf2$Z69fwm++%4Bf^ngkYN{xs8=+zjFV4D83`7 zLwpTX_8Y*h5r)|D3QH-kdG-CHgAG1_d(E=uWv1G)xk;nEs$>jG?yKMS^M)}r>jn-d0mMT(f=zt<*^4?`^KV=&KWW|`kf%E>!=k~5C}Cig zz~XY`ye=;dKUw`KtWaxX$`$W!ZXSbLQ^R(Kkx7O8y$jn;yJE3*cd7>P0{cM$0gTV<}4pFh|FC~m9ou9BG*YKD~jtv;FS`rAsc)$jNAJ+OD z0huGqTdotj6$1IG$N2~xQNELr$w@c|bTACHu(@);fCoP^&si%tVd!Jjs2V)Jj??VB zUV^8ys5Ta4K+9zjdLEr7^Q+8P&p-dt2q3zx2Ws5!YLO0c6-LkPd952ggm3|qG+-k*&L9ZQmqt#JE#`A5CU9$z`8T9c!ZLj%zC+25JFU#<{ zW(@WOqVeg!y@doa=P&=3m4*@@IBCX{2#oUfCd)&Ot{25oMAlKs3E;6SIZF-F_@P^Do7b7Zhzy6IMC+FDG@&GmDG zxBIK>n*4rdZ&R7H_}yNlRa!fpHNu396rs!H!##Sen{jSm*nfZ9sq>C$u$$fL_zSn4 zM89^|5Bxt9iLm(sFK)~nkSF6%XtzM>IqU2DsLl<&nVp08qSgDjhbu=YLHq8Ci1&#yKwiJR!cU6mj5GN2~t!nSCAMw1oBD(N1AfT z-@Yh%UQEc}Uv|qBMRUgm(HVwoXYH!bA=Cs$M_)I3FUFjA`>3U#|MVK3F9e!E%0QY3 z6-Ocr+rbA^rwSeWlgqAn13+*(F1}h~Q1kq4rlgt@HcR?u{Iv!-b4~gfLLv6cOII@` zo>acN=x~xupe9ov(Uz$Rgn!h3ACVn%Ot{jdV7Abi0{D}np$;+HDg3{^43c;rY{)6^ zYYK}wcJ3_q_|d*1=`tcij%dWPq@A+yza$?+gmhB*#aY4xQlG;;FBt;`Xbi+zyiI15 zuZsB1JGbR;e`u6{lQ{nRlXxHIOV*2f7jh)-Es;L=pXH`fyG!9RwB?@3{Brlg!M=3) z(bIt^5_Vziu7p9G;Qgt4Uqg^q7OcBnZ7{=_D(2sBOCDTI*xovH-Hw=_eR-?1-9x+e z6!igrmpelAPM7DG1eGJfl`jS4CM5=Ei!87M`>^n{$8a^&tI;qs{a+l_`dqC&LE5-}>l( zOGO35KIFVF*O~UF()Sygz}1zxTfo1lkpia9WWR6{f4#Q9Y1gSsytqNF5f+M-_%+7% z$hyKpa&ehe%{22^b;BMgyH5Q762K6t+n;MSELQ*km6$>oU2pqiL*(uo3bepuDs)NI zt^rulPTf}hx!!SnzZ4oO^`hPM^%g5BwTIOMsY1^JIbKJeWE{Hv()EL;_wuk9yp<#% z2Eswd7QRm(Ky{Qw|Av}CH+QYPIPX4T)G}lUcqNvBkjNaF*_*)WVT=|^r$2+O=sDOKqHTe{x1G!? zZ^-X2B&fJ7c3$buCO^|v>)c`_%up?gc&pPLE8fm3$)<9!R>vCfL@CHzD3LWuvE~dy zm~K!8O~!**WgytR=nN+x1Rh+mM$piCAH2W)rjPQVtM=wQ4&HcyahR3%Z5N)ZW3ZOU z>RUhslsf6IVqU`-LcJ=+<}d|yVQDy=6Id(saXwt*cQ|#fAk(?41An{i?=R;qX4u}3 zZq$Q`W_)3L_B4g24%Ml1XSSp=?Y=>8RnHaj!616+35oA7ZnQo-+H~+x$7N*$7d)LL zvvWQQkUceW&|MoSO#9wE)uL7@Y-ocrmeph};_PDJ@(@6jFycNm%)Nd{CAxlMM{oJ= ziHbaB#IEYECW&;E)@%pr@1G5ELzRCo758St9WNs#DXPgCNXZSMXb;hc01O6RRM0an zA1!W9>}t5@!k8NJB0D>%yT`?octwYh{**wr7PVr(Do zyt`7Q$YQSoYqWbyT1O8V$=K+>Rq*BZOqFd%zUIlAmkq$|w)=P!v|wSWGor~X5&+Xw zeBw`yLg@)ecz@FpvU*iv3JdsL)YG9Q^!UE-KcJRj+*OheJt+NmRKsxh=UXp0J<{Sb zM$w#+<4WPzCo=NLp=H2Bl9l4N?TS6}hB<~fHH%>nhw((zyavgjpH;mZ-vdf!$^hF) zYBu{Dy@@R0EfhdM%iAoi7$~%{P>4i9EMVuYtXlEwHy-W#nnn1n*RVAQpka^6A2&UO zdq4F702Vp|GrQ&g?cblT*9QHhVIE6~o$KP+00qqn@W(*??Z3aiFSI^H=V-tUvi#Zq z1-LzWC|gFi@Lq)%ezcAz$m)<@uj>!dRRDWltm_pwvW29@& zg!y9LTlWLdtc15brW%t*+$`qXp?-9qDENMRBs(*bMqaE9yX_nRsa@-bSt*`=r3ZJS zW)Y2#`xSxsBrEv3{eF^wt#?mJo6$6$9LB5Su^&>hRA%6hNx+?Z_rg9exmK6vn}dvz zaY6K*P4nIUVkV7rP+&yAE5qJLe)t(^2jjS=phPc=N4$0Oa>bsDI$_sb!t$B%{TL=8 zl+KVITY<4*o7AsV^7md8x(O@`T7*ti{^1E~)_lG6*+&W%jUXeTl$4L@TvSJo*%PLT zJ0j%vFndc50Tf)+>#O>YFPzja00_N3_mH#fy#GOu`oY@gI<=YCvFkk8Np8`5GK{x$ zkxAURrf0zAg`P!&ARH@wHPg43lN7x|kEK;lpoEuwisCoSt>EvG3>a2LM#IW$*`v4b zGgPAyq6%!v!E)2XUkcmSxcGy({9O13w2<^%688`Nn~skT7DumeK2p6i6ozuqOL|9w zZVV#;VQ>OEz5TP{YjZ(+h2vdf12{V@`T(WJCjsSLYEe@FVCjpgyhURj(4+sYVNoRP z*yO7Azd9_U7IdrZyjsw$CrGuam1cC27q~XRm*ffi{DgK?kAKNDY5;}3_VIdZ8tO9L zM5EU;#iP9ilLB>g*2R03Isv~{jPd(P=d7C}8dEZ~xa?p6q)FUqjYWxSki-t3oX)P6ml2k|kMe!@$=@!J&9ne8r8X_v-x? zFH_K-6odUQ2Ai8ARYBHsU{hA~-^{PQr*YG`GJv|k##lJ8a9+mD;J=B-MQs8{;38vyY{^=i8m~ld`WS3l@}zK_!r_L&dP{k zeCF2^sW=pm4pFbH_204|^`T%M4a>}0MOTy0|Gk1E$?s6bgZ-z}}MZn+@&dDDi0A{Mr-ot-@oLp3?x?scR#z}d8Sv_V>WLO=Cz zO8-lwRQ@B%M7g9EMEDL1j%1t{tb$~`m=8bxIRjy;cjujo_~%-uShpt8p*HxFm&at? z5)BWoiFQ}{%*Xr-rIbNj7hDBnw2@CK2o^kgS%gV0{!un9E_NbQyp-icWJ{n#3w9hI zwGd_Wb2l2ffHKc<(2)j6uO8FqBlkI}IFfK;XzDX^66sT5eZ(^NQZPiF2k}IU(dj;h zP6HYAXFUyoQnys0|3=#%O=C)yMRVd^y&W(N|(g0*zXjoc(Dc8NdbvE`8WWqFFD&?cjYbWylbPLzibDnv15&mv;3r;~9`Z1q!B2K0|X7`O{Xsv~0t8Rwq7QxM#qsK1plaB7Rf zs^N}V0JOAgPt;Dxy|Dv*G)jN=gP}?qVAa^&kmx62k{GNaVw$@m!zNI>eShh6zN^pt7o^Ro+v5Va%y;_j&$JV1jJlf%>e?v{^O#uJV7X zvduVo`oeQ5cy0mE^i6X=dOpDey}E!0>!s{e%O{&4v0aUxL{%pA%C73m?XCQ!cX_rK z&GG(EQnpU544-ep7;RDq&(t6InC^S8$JB&Z`fXaZ#>4o!hukG0^v zvw?El{qa%A;#Hgg;u<5XQsB#vRkpS(t5ahMcs^lH6a0DC_v*QUKZH6x-^1{$>amjC zjp01@M85A5_t}_fGc#O(-c2W1^pGP^YdXHaW1%-e7px#tS^*e%-hY3&3K`|&FowA| z6gdpze*g4L4qx4yk2`zOoai&fvqlzaXP+;1e49O1eVA3FjL2LYiB$f5mGyM2-xaMC z{zo-r-@nCg48lk@t(v(_^NgSb>Z*ci!KpM+OR29$!M}85Ixule-ybAW7J@r4pgI}H zCY{QoDn1V`7-NMDt$-@R@m;R9P$JQj_$|6gm%ohnJlMURcItkFq-iA1x*p`&Waz`C zt4cw;rUR%?p1}(}Cx6p{Af> zdmg(9%~l&E?6E(>%4+?_r#|A4TU{q0mN>=HJAYH>K;O2?H6s zg1UIy_}t}a2ELC1M{^HP@9;Sb)1`*2j*Ato1cz-AjF3iL{#5FdkC`{Sa2+m#xTg!i z3;V%-;VgF-_51#{qoekrjAI|2jJrDv=d%Hs@Bpm!=92`!7V-gXPe2$Gg}JU0z%-L* znkQxUAI+eKYr-f!@LpsUGhGs6&=JX&iX~m+@5pj^HcmwtSxgs^u|81C2DZ{4fo4Qe zmOumh;&eY5SB{S3RIwpyvrWLU?L7(eOvmWopaco$acK>zA~hK(K9goiImKXSkUmTy z2fJySkJwAKH*7=ynY|dHyiyIiVX0jSlaR^Yk~9FTXY+??bTi-PsL7|hfq7B2qZ&E% zb{<^4@F5X*mEuOLzcJAW0L#O;#XhI9;%#~lr%Dgw8Qr3 zbsPSBfB`azhpv_!NqQSBzvR5oBg>z9RaZ;mg&VYzc#?$k_JJ^UUn1Fwhd(v3kB{lb zYzRfxNT`IF=>R!n>6T2yjiQqM1s+^J=g<{FA52BSS^*LvOPR!bT-2m0%~0VV-Fg$F z7TjjV%aS2|)1bbBwY;CTKuy(Zz;($j2dcVE`>vd4j3#t@D2lPAPM6f1V^R`4VNVt7 zkdbpW&sV^%aE``aZ~FeBM0C41G^wU-Vh;oYfckfgszV3XFwzJi8Qp~>~_ z3`LK%WH6|bkrB!n|DrcDQE|LDB?}8vhV>=u1&rM=hVC)$4lRmb3oDE`?L0y{>KE+L zNO5cQ;@uUxivm5wCru@Z)C5{39RLlVCtF;a7q3M>V#Xz5RqOngz21@TK(2b5bfMh> zZw7uweUgX?Qi2osYzR`~Q@pm91rE!F5MiKDhXxpx6$CuH~Z@`G;;U+>3e zk_<%=8zy2%+MbrhW*){w8S1hyU0i3^-;z**RI}%8yZx`d4nRpa(FAL;8|;MjQ>18% zG~D``D1K4JT)X{qfoC$w@&APHzL31q1zs+e8j(pE#ytw2{tp%s*;lMz6he<$rH*%i zIjt5uV9>1kT#j&~bZ6UHPE$OUt7cb!w;n%wSt^vllMyi#f-Q2$Z{n1|@!gVheBFu( zK99B79~AGn%g8Z4cA5Cz`p`k95-w5NcNMFvQ(=b?U$HS^rah!(JNnr*WFY6nqYX|h zUl<-W#6`EGO`WJJy&TUi>Mj@|tD5Q4yKZp;uBMNXFhwqEaVw|_sq4SlN$#L-_aJ>~ zPP&II7sdregeh0H{JpoINQRnTzZL6oVFU8Vqf4UfGx8dTM6=|pg3VAI$UVVp0_1k_ zFPBANPYNyxb=jccwf|=@J?&HT=zP{CrDoBft)7Fcdg=bzq}H*&Ajmql`&(c&+E47H ziZ&n$xSnjE1Wm?jY6dzWzoFkie=#zz>JLY)T~@t@Cj=k7rd6rvv70M7GxPTFZPR3t zcWMg!jfCZ%q&oHMXle}h6tbDpab@J`_Ik^PaFE63t)q`u4M%fYtgokfe~BkCzhIE3 zY<>T5>&j%m0e)H^o)xgfjr~i#=PVA%{_^Dk;54nU7@huR5yTKhhZk?(yIgjys&WXW zA*k!DhBW2|FtFaddQK*QCX@?A7xRH`TlT-ge@Z$X7_{UNnJ2PgY6E=}nakQVV33H$ ztxMTZ+x>&9@rHI=e}nE-)!{KxRw@f~F_sT8$%y0J0r=5RN~?%HXs$-C^X5;If@5~T zff|?li^ASMbu`@j==7<7U6wp(bsVk|=?c!t^#oVHM}T9PSC(Yg;5Z! zZ{v|$n=<$){9b9QX;GO4<;pDW!w_2(xI#rS8nEZ?61pYB#kZ2-6)g^i&cb4B>i`1$4JD`FZ7Vm20A#My+EwV6X9*5p|=83PP>1_7i(;b7i z$6}1nF;q(-sA)U?{wS}R8gm}Xl#HAJ+#BUJ%*as9fUqX3^;tFuSWLTC2u;$B+OIE> zyKH&1%2uV)tifc}n8k_#S47^L^S!D3jq~N90PKd@_xD9)mABc5JNE9f>WP!=7yw_) z?yMC?Ps7ZdN^W4Vx=4v^uuHB?_j~E(0EX&I|6MQw_q$vbdybv)-e!MX8`nFP5;23^nzC*Sl(FF_DPt>?H(Wtw>cS|mGqiVR<;Gsp7eEa*;FSW5pcx%b2iM7F2U zwQhsLU8;E5VczUCJ%ttC;)TIP6xr7`=Ur8!-M5cr$!aCkACl~96E2_sGE;$@6L8;+ zO`y(Xefau0h>bm~%5^_n-gs{@oaS6gsw8dS*pt2*sr5-{>JXYdRkIIQAe#Om+Lzc= z_84)m1^xGiK%74GSUQWr8Y8)xDSA#@y>xlnbNF}nXL--@Y^O%8(k|MBy&pNAy8& z?H+ax%0kDLn4&t#sFnpG9svt)=wMD15jpA)okl=np-dlo>5*HG#e0Si4tuq+73y#PzTj{ zZJ8K@p=}uxxw5ZC5Jj%&W53_YfBhW04Qh&}#Bv|RKK?@|;V~YqTam51Uv8BdJYttg zhCD=HRmYKAiGqnaLzDtOU}p)f=Ydj)i)rQ(O+-;+;Nl3o+WBv}Eg0UIsKI)}WS)3& zX2>q}=xiJxB8Y)PKH|ZXy8pvGvw2OB6)Q{kJpTq3FW+z$X10mQso!TbzklttV5kzqeNR zE_EZvsQCUY)wBw>qYsefcg{C}P?-_a@^mjwNEAmgTda5yqkK&Z-D+TZ|GA~Tr;V%> z@C4(-X%Lv78Mme4-<4;`4uw4$SA^~YG}cPgSP z6~oBJI1xvjxldML`aLq{qjsA6NxTXzEMyP|3=KfHUZ_yMp_-=>YLkB#?8|4Ozk320 z8541jh&OK{gofAa&y-IBk-KN*NA}8Op2v4A1Kpf>UdEJ$Vz@%G6g(?Y2C+`?X_Muo z!(|PRt6@|hU*$-_{X|FHcwhz&Sf@lf3sT=~A+Ql)er4_^3UP7j9^^S1ZR^%za}A*8 z`G}Fjx3D`Zk*v#Efdh*mWs3tQg>?Mh@*J&N-eXw#)NQ|r?$<+*B&X%Sm* zfLM+#zwrc}^*zkd(i=^+e;K+4=K%P9ykqlA@Bg2J6-Kr(P0WSid&9`6C?hEj^&NVf zJ7+1V9f%r6(~(T0p!2aU(z7m(bCWQ~{R{zdNxjcuw?+#dxOuz`xgmwE^n~`H8M~By zIJ)a4Da&x8eRb|-OOlj@n1?mlHuy_|jO##o%_vdUyOhkrf+}3ZP$A6hgUH;=W)v#x znQEO@R#i4_rqELo2GnSk3gdki2SCXO!%ZK{!UMX>58W6WT6U^G2MIE?XBA8>Nh2?g zj6S4vYUF*B&rN1o&skO1v9dI3@b|4BesvLKM6Df-Ap^zwJ`8bC%t*jJ zDgXBI+k8pQ|3z}!YWV(%-*Yc~v-#typ;D0z7E%t+bLYU`|0hnLKrMjFkdc;^T6n+> zJL?CVL~AXJ2p2f+%?#fwyA(j)O%*oNnXYyj@sd>F2)GvnkA z`-=72*ACn1`?CZ@r-_}I%j(k8mryhqXn0kB=iNT-Ya^ZM2#VH_hfSN8dKR3njWp*2 z7#YJNCM;rJVdP;60l{r~0v;i+7p1aEAhjDK-#G)CsBx&jRTV&%k7Z`M7u+ZE(~%Aj zbfCM31c=>eG=ltscKvlKj}XYLCWg&4(VSqAh$YE26Ww(ATw7$xQ+)$0NjzqTJO5bT z<)|tXUjC{NN9IROLsT2xVWxwuLi)IUlt>N2!A)ZP`2%PG{m|xu2mNahRG%d6Do<5N zMUV+tvBo$=(coQZ?UcaRaN`>*uWJ8M&h@Z5Sg;@vo5o!MAWXA<#$1qE%_4B84G>*s z10hp9vKA_?@LTWwlS76C7IREk$F}PI%;k|?-0ajNMziO#;l31DNpz$c?^c)Nlk3I| z3{hub#D%SG6_*In=A05TiMVqS5!NY#lK6vvTldBJ+9%T-W5kZhgGNonX*M~On7L?|xslOFLM#z!adK~`WLYp)6(94O0 zsU@jK#T7udTivaSh&V1p1|3B+wvIjm1q*RS5HtK>$zv?W0El6O?Ffmy#73QBh{1JP@pT|Lv5AZl5g2t-+x6)vR< z*Nqt#AW6vbBzZIQaAz`GCJwCU#J(CwgA4q)8FF)*nm=|6nuROI0+7h^{U$o%hN|8m z9nbrGPY7~vz{#R#3%A{qCCN&If+A?akg znN%(bbJSLxW!M8W!B;A>^6<9J1BO%OFK5HpzRzuE!64BC&+6@qjqPSI;*5z2OCZSh z78s(t3^H;wfsMTj+Mgrzc)RIAb(lc>)K%|PI^~D25h(YC9^n)Es zClXJOnPnkL{jRR#(kBoWlMkwPR6{u>8OU+~-d)tBjuW~7rx-NP7-|vpiHrO3OGSAC zNg!uc+irHD{^Rjer#@W*NRozlb4K2~4-!TKV6rA6$tb&hPgkWtRgGj8I6O{grqaZ| ziDCBM+q44)?OTnxv;ca(@WG#r63I9D5&oV3@AAaJlM^#ig*s_5>Y#KmT*6Ue=r{e# z|51p-HXY7W5r>}Jkhhtdi4xU>`$6<*;&@3oIaWgM{`_K=EU>)t!mBW=&Wh+57Zq6= z*5BlXT+{n%JGJ*j3xEVxkV4gwWn2LFHWavZItWo(?+b(1UVODr9ic((>DQ`>826|% zW-12MejCcViu~h^QE+fpMV{j);IXG<+pm_jL%2XYT{MeH*i@@Q=UU~BBzj)WzD!An zyH(Q3pkdh&y*5_a87F!qaYzW{`d{V<`8Ar);tOiFkC1UegpLD!jnE0STo^1lZ}#Yu zG*$>(6S(F9STNx@@9$lLfZb`*9*_jh-Yq=2Hxo_&ju9%S8!Ad$QEds!fCpOtMv(1Q zDMaMIvU=qOZ$}ejSUTyVY`nPw0D_|h61xwIb}-71SC%~?9t9^+oPSa6ibw)v4%_m5 z%=4=}I)tW%`c#nI$S#~!D2D){K;&j7Ez!P-0jV%i5wgZaIZ)_Eqi5XRXnE}{siJ0U z>DAoKR)3E@6k%F#$)YXeKYN$f)@`})W8L-JliGI$>FPpTKNM>7W{BISL$vkcvQUk` z{$WQq_$T>NE_*$vJ+z>|e3Y_gz0wMKgE9^9BZ>f5BNrZCzkw+uziBd&>JN=s%duCn z3zG<`pQu+3nQ#6k6Aygkck}Fv?n^c7;d8ffeXq>8SeEs-3e@w#nR4U6R5t=!7=&=r z^FU7gCw~KAs%*#{(rD@{OZJjT&frbFH_L-uG$|-yL_btAQp86li2(2>t?oIvr330h z7U$7&d0_5A9O2p+oe$%`gFhL7NO}h?Q_Hz(YB6-&uwCep{q7Z)NNkW#)xocKK8Y73 zL(64C=HSd!~l~H%cH;e95P)@~&VakUlc~*Ho~SNqo>=EOUp%x==O&i_G{(BJSfu zc`6+hwjDMND1UY$+bQzjns5HZrVUpdfIQO`qj+_RmHR(cNQshFH=-#MN__xO%o&kC zph2L6pExWs!);Lg1=~bDK}I)5fG7a;Y;*X-VIYeppy5|+LVlY$)ndjqG(j^S@xYZ(Zr)_Fj5$>XAq#UD&I^*~Wwb*DKFD(KyalU9sTa_de zt=I~yhI5yY5UDV%ZrW5i-ZuFEhHZb0y#2KpQw4`StWTykzg_s&--WrLgNF+ z$!_|!I=ny+GziIDN!?8bIiICCUWR)4Pvidmx{AZaAS z>9dC+w2Y9V{=eLHp+B7*sPezor>$Vi2ty-y)cZtF2MSq?Sja4{>5SsYi5+7wB8a)X z)^!JaV%2~@j|r@>G|5C^Md{V7iH$Y$o&+20Y&PP~4p$hY)|rLFHUk#(K^tuXAji;V z$De`{9fDzPfB&=*QUytD{~-P8ekj)eXCI&i^1TKzuezo<^Xm3v=z5*kj)?{{F%Fz} zeWKa7oG_Tf0%mmK+3gQ}sF9_K8k%sBz2WeM0QNZ&zwHl+_>U$-aJWYct3`V;8IA-J zj|G~mG5@bW+y{0v*~NIfSN4z?{?Yt<%ec!EJxgX!bk0K#{HCoo&k%F@+rt+(`lj!F zeepOliTLb1*cHrQNK2+pjzX^*gfUyfuL*$>57+UEEUxwcJs>!CQOL5k@JAA%^$n_Zq_WZhw3e#0 z>gE4CRD)v*r~`GIpr7@L7l&(3D*?PH`}uDpVM#LgBC4;GP6;_1zma2!a9R)tUh|)Q z)p>t`+KdZ$J;UKs0U}i_wQ8s&l>HzwA=TM0u<%82mXMfeACrJH7%UcU`niftCNxJ& zBE&c*{9}v``C|BtPIZh%IGEd|W3)Vub`%ErAVhip{32tE)JyEx9uR5wu~>QI+zG5o zD7T$Tf&2?C1!$!tZ}7{*dTc{wEm@0UEm=eLr%p*bNyLU$XYi>pQwYa47*u?J_@2;w z|CiiL&KrX1&}X$FU|$4of6PgD4$%5^U<(v7(TY}I&f+36@Q``VNcDWZAyY1x!lx?O zFDtQzF>Z#URfQE9T`rRL8NUqyx(7#HA z7?}_VN~1+?54c6Co3O)?Y8K7QvZZJ%Tg%K;w+~`WrYxJcZ*k1xC(6v z=WD%-OWpI&6my0ne)A$)=q2>=6DOG#ADzKN>nwd#c&0h#%+)1z;D*ou!<%CVySt(x z)qG8Cvd4&yc$Y%ZtiTl7Ed-nBQPuZ34pbn+CIAP3WeX@kAS1?LOu39Be(n}1AMH8R zOB4X1y>q4WZwii=0#Zu!Z(aWBz{$nS?f-VIAPOX;kF)4#668ilXyB9*t0m;c>36?i zX-`z}oIV@Rp;YF6qf<%jBp<_PzrQ@0Sgqo0N@yidr7*W4TEcR~^wF@} zyJ|O5MyaDt!PSDzTgq@A(W%E)8ozFPE&+~gt?5JVCaA$Stk45wUFwBM31`;tB)plP z{1?Ey8V*utKexk+h^2#+6VFL{eMt#{Byn5i{lBYKY0tznClefT<@Rg839XdDcnRW5 zrT|cto|GBBuJrrk)i4!aWFSX%^XV1ek*L~C0l2*Zzz&8SHu{pU#IbUN?41lCmb>uQ z^(*GNX*`GwBI~mZKW#Y;nKPkJFTaK!w^e?>$vfyg1O083NS{KM;zj9gFp_tF13l3N zQ}~SK6*yO-#l?@P?273Rzlr9;S^xacBI37%W`X)fu!3&BrUkep{)IDl7Dz9`0H4ig z$ZY-R$f&e6jfnt@ADaDnJM!hw<>9jdzsIf-XXSP$Ij3A>aRocPZw^R@tr&Z0O~G&y z_MA0sxMK}+lWzB|F*x2WAG}u$CHj!XkJliBEgAP4;$rsyF6bmi5Md$oa;o5j3_;_| zVlVWKG%wxha+FX1VJ~gpeD`};q5XMy_7q@xaxZ;*?aa~5!Qjr_M;3)v$io78Ra5%3?%h`*5eRc1YMONNGj$MK$KnjQl z;(&3MF8$x+$O!u(@C~9G_unDOvU6%w4omQYuZU+{%9mm)tBp7y#GV9kC;gMQ8Vz^T zHKC$?VQ-mxaF5m5#*&cGO%p#0Am!WZYO`mWj|zduyl)Q)N-4zF!1I{%6XfYc8sfEU zZ^McFw*hxIW}Ya~rhLJ@NyeR}n7EE7LK@Q^LE8gqvqTCO@bNozfk}RhkoT*#5_4&N z@qX8QVc~ATko&zC?ms_#uXtUWcbi!Y6oavZhTa8qNiHOpAfM#X&|vpKU1$ONC8g*O zn$s8b-iD}`PWUs2i+g}R&IfwYR`Z0NCU!T>Kuj3|FlU;vPE(VxyEkAFMU8X)a*o5--mI}U4! z@f-+`a)B{Sk)2KiPFku7(02k&-P!*DhwDx}gl!b(RrzFXy5*XD)&LxqCno<*IoMh6 z1H9`dHmR*Hr=Q(0i4wv18wAs<5aP9P;xoen3GS)MZJJ;(nLnPKye53EQ#S+|P^wJ&Dh#4lL(~H+8GCEb{78DzU_>En?V92SBP0IPLWd?(bVp6C@ zA7mb30w4Tf5d%SW(Xlg0r<}pdFadB4Qzl{C&R~%~pl1lAe;w$K4__(n;^R1!t}Flh zb#))k)fNGLpm`xwPCQ@80$ZZ4@3h4_h^vclWxtwUbe43~__}za%NdSR*aI^4Hd=5f zID|NeDdRWdac?Dw4CV;Gl9C`zwv=EnG8IYPeNb@ zc7-Z(4!R;bA!X5oc(egaLT?`JG2P4u8m?LU#b&>s!jJ>6&1q$VR1AUGUfm~(A+vrp zNC~pIg@q3pAf9{fw&mw)F(E1RL>64I`$V9GWq}ZFR02mI*rx6lj4^Ot6MGY46ktm?c>3 z9UQI7;_3(BO3k5Yu`iIYaKQ%7k#ixgLaWRSQ*wSPq4Xb?TonY+3*lCyT>ts#%xM4r z?ko%O*oR3t_WMubK_wuz=`c%mq1~j~Zri_!$->Y>`~wPZ4^|+Wvr4_B=l)5(IEPaK z#d=x)eGUg4LDhrLmdIIY&H8Ug{rA?GTwW)AfKNKe&yfcXtqrX(EmPr;788YAWBN zcnATJE}^Jsj0Hi8LFQ3ZA}E3ak*1UxW7=uJhW$somww15LxNRTQD zGEyZ9gh*s4k5EEYP~N$|4{yDXcP${7lVoovbDJuOn$g_9J|Q;vKbBj2Z0K@+zk)z!VN@Q z0FlH8aY<+kkA|w;S9m6(l3}ix{X`m^tNd<)nP*aTMq~fa$WE8$ z>|~i7GeIMi+cQCuNmhCUysgK>3isI8A@bA%$Kx%#@7YSJCv+{HkA?nKmd^g>zS#@Rq_SY5$u1W{F^lL$%@VO*Wu(VppESsd=*p zKGW0JZot}=hvk}5au#cdCzLKWv@`j~9ytlZb}BDIEUX-CnOj@;H+pWHvMe-ZeU|=z zkL#=qn=x)k<+C7IjC>b=MmxLX5wZ~p@%9}89rAa810T7S`~+T6e4mqti{~R3t?DP}RYDcY2hgFdJq%oqIpWacB}}miUv%|L^H>u~ zWy^CgFR!dH7rIVFeW&n{TMEWN;%-)?qAuX+219Eq$9i>vI?k3iRve_ma$>P z(61a^74Kt1c5RaFSE~z6U&X6=SJWjt8jQF2^{@CTp?UfDq&)W4*GZPD#KfWv03$gu z`%sFrMp;oKSpL+R+*3Z+a|p9Gpy?u2BZB;RdIeG^5dMApzpKmm;a&s>A3*{0!9L}~ z2bwE90cFf!D!nRul4VT*KJrp+sRvGRxv?o;X}PezZqHgUg@@LgRu;$vfNUyW?Dx{s zraqkk0l~GV2Z{OwJeX+tY&6Q!k{PcKrwkl(sxm;U&jNigqORYm zlWo7YW^)}^mZ|8yLpF*}R_ENtOb4;B`=lAl_59uX-Lu2qG33YZPQN>HU?z4a0;5Qoj7;1Ip2%jcYU|b1KOs9*s^J;)HSDUK0>CBVjb;tz-l{U(+ zP1lYt!|-HSX9$_?49MYqb~#Is!|lQZ5|YWeGtxMZJWHfQgnsRSstn0=Wu3Z3JI-yB z;isfnJY7_-;TwV4k2S2|E`CrySw#&M9qha?5G>41$R?&@s*2&}xlb|YIz07{quS6G z+r|S0SUq+Xk)({ZJI)?j9ML~xkOV2gd&_s6mSY&o&YjR1`frx3>8XftnwN~;=%O#~yb#VclXFeJGp^iu!E;ZE z*NZwkg(mjw=ezwiA74(WURc#xvQ+7e*(`iX&V(3O@x_poKZapAtsGHFH4ds&W`V`8 zbD#B$kX@kz-hfy^(jB!~OhfdAg8m@+(v#lk?Wqv!;w^c;IAd)^;~^rGU0Exj5`${CTph)(;Mb1_fSJaX71tf&P zAaEDb9{t{QP%SgMRh#suNrx{_Y41USVh#&K+9@#BeF+S!HX^M%0`hjYx2N_+(>y?> zbdJ3#k$;ty2TCc8Q-?EmBrc}6uEw#uzlqxkICk0`%~XxfsZAsDxoF(X@25f)BIsWm zXq@suqM6O?l8!mqdUWoP-F!O1i!Thl_FzQQ^tY*res+Fq?UoK<=+eKU+s%R z*ali}VZ0}jgK}}~KMWipSz`_o+#*70>M9KitDlX|P20~Q+i{{7Koy_U_pEs%G=4Gi z9@4_Pl18u;py4zuJhsp>yMN zit!Pk>KVU<>Q5wxXyidYkj}ALI&*7eLXLi%9Q(j*27yI!n> z)+ONH9l@hbk7}w0L5wjgypHk_R7;m${ zkNxq(B9u>?`%DP z&rh_Q7Ey~Luv5q5`VeO#>51sn66x)MmA!JMUP_ z`SkUz3d_UFN?u)If}*mCEq1ZdL>3eIOi;k5KsG&%X6?a0n^6^;0;K&~C~7Er%&|N1 zOZ;GkdWv#!K*klgI~+WSBNEBBB72l96=3}glr>ZI?hEbr17N6Za3^}{vQY`*BCG%Ut9RjyGc*@K@B_p)YbGVtO~6 z*G77~#ipbkfj{SiMpvwBt~_#;KODovOU}%uO%~QKNTDykppB_xhzS5;=&UP0WkM5E z?2e_q2vfAc=HzcNP|Wx6PvOhaH$j`1h2*AwjA}9FGVm4w;X4T)iML@TRKZv?!g_#? zmbQPsMxF%$<$Y2T*Q3XG)~}2L&eE%SB&K;*g}#fw@z*(rdwO^2o7-g7IoOYO6Xr`i z?~&WXPOTNZ$=mjuO4I1bP>=^&ms8N!262OIG3YLBw0+E4)4OSj@m}um#Jy$?Bzt92T`0tim|?#3UONP!R5kx--_tfKyCfLs~ofZo*=bISsmOU%;Y!b&rhH~8(j3F$fEzc2}0A>~=++B5=OGW-|HZP!BBeD_D{ z%5?h|Bx?8Pcv+2oH;G*EUe(%U^PQ!I#&7o++T2{{Unh9a;0b>hlwWNe+RgRQ4#mQM zD_VFHBJY1k0VkzzB#T-%U3QHfsm`(u)RFO+7Jb>ile03_Y@EoUEFN;WlkxjYqux`c z5G={{-=FJi?)?osseG@^y4hR9_xI|XQ6h=#l_xN zpX=Sr@+4SF9-h5^kQfzs|5t^TfSvQFyt`6?L%RFrqF;*dRSzs-zgDD=4Ai{4VJxy( zTXVDZSFX5Ci#m6Xn+irx%aBl!gqH=OCVS>5dVT2eXse$`hR5>zywQeRS5L~^%x-y( z9RC~0o>@pz{H(lOWn<{EvBVr6~gDg1=r@B9~tW2E7Z-lCQz%w>ss9 z`MW$)AmzVq=S&bu!y#T~R$;_Mh1}t>$~o_mn`5Ch9m60n0KZY_HUIjvYe(vTk1ax# zfJX)SxBucmtm1OsMHcf@gE?LD%69vj7b$sesFCMbg!NTTG3$j;Fo_n|Jig$gYja<` z*0$>?HpR&_i`wT7S)7`M=4$7SrCHjKNcTsJ$veyMxm+hIpQH<3;m&`Kcy`e;vA39) zTX4NP{?~fY?MrsF)8P6+^We{~tebx&BOZJk#XGsusF#Vp_n+~fk-U`S{+eh>GH*y7 z!>fYn=eyi^+oqnBY696F(UNi=I8kz?K+`*}_N$M7^uPHeWo*#0%&pIbwvqxtzbYEZ z16lPS$z*V;MHXjNo8dSZi4cd3b+g*tFSi_YNyI&(#O-Z(@~>xW&G? zPJ9TJt>_gz19hAW}-o_q> z&W=h~dqMV7tTuiJJ9A9V#XXaKSn~;d)&BlD6=^9Z-{R;c24BOwgZwA?; zPoA(Of$ORu!$0JHOvl}sZMQYed@a~sTeBw!nSH=K#-;^*Ama<&`Cd9nY^NRnjtW8< z?jQq~be+!s`0sAU7g|}da`TtDCxlG|b%;BT{{=Ccwd!UF56IvCceJ0@#-DrkeQ3{} zU&em)o^oND38zkuu5bVNAmuruGX90-!rfxd94_NgtZYPvG|zYFeV&qG&V!jH+7F`F z8}I%wI+Y~xIY%*B!cI~It}}?tx()Ha^7}`&yk8~$Nnm#*)z<>+bm=_882TG#Y8YNS z4vf6tYWmO<`LZ|2vJbSFKBX=>ZF*{Zx#DU;VO+Ax0=DCDRlelftB#*ucz5vxt<8ru zq^ZHaZK<$ss#w~$IEFj$KFQG0Q*EG@=v&`#7K!TkwH9OMgL$1{4eK>j6 z#pK#u(d*Lkvzon0WHQ%3NvbOGirib+Pz#SDDO)Ym4w%dBqp@isOphOn^R`#{U3i$Q z7&KNjUXY|D{P*CG@i#4zh5H+Ik5%K9^d9Y*%VDn`Km(U-M41oIO}fp7l@81A{v7MC5BzK+xudc&eK9==tIbImW`nf)me`lU&5Zi< zax(m-f%1QS=oGs1bnL!$gp@9A^e`9}=ao4zbq`+RRv~hLGL4=Lu`nW1YHfIkMLxei zjuz=L2kb9q6{$s0Zw{V$WpPzfk48824yWqKIu^E`4cTK^uZvdoZbdtR3cFKxjH(?p zI!RP{o310s(i1nwv{asFxb?qMW(ZR2mgK9L2yxA5nEo+}I3}g%*OMlafA)wMuSE)S(&te|?T>lY& z8oz!j>^JS5l}|or%B|{4SH0Nd*$Gc2FIT(hLoXpALt8NkB@5@Z;Ee~~?~vOw^e!=U zghOFHWC~?`&;>6MNWPVHRq|fYt~WXFMa^E#KzNE)zMjOHD@>L@ltmdZwK+-Qy}t)u zm%8Lip&PuY5EQ~SWfJUo-~IJbUpGr!f4GI(&3PzH_P-+4lz|7JySP5vz4_JeTeGQ# z`A-d^xdE3VBi9G6uv39ZpNV-sgb!|cVyGQ3K+E(3g48N8i zN_@&92;$ti#j2}`spMOqjp87We90tgG4nyv`1z#)9d62~%u1Wq=k1GSRJbZqhi=V0 zZQdCd%&WgUkMP5c@nrFlnX!x_-+v|Gzua!Q`@`vV{7C?mpOfKRWp18`Rma@s3*{14 zX9)gXk4%i^CaEYw0XajXwD-(A6{vwvKNMLzrh5%^u=1?uNHn+z8yWm}K3xZLAUs;* zJov2C43OBeTy7OJd?Kixw1|svf_@J=uv1^+X}4EV?iulCdvB=Bm3Nki<9fmgy54vE z`FIs`{`bEv_UhyZJ~>*UY0KZMopg8+70d;!xOLOB?}}BbRX~j{$oao1!QN1L{MkGG z5ti*D!3dE@+lJ<%^8^>S@umCF+MH=m)TRKQFtqDW<-=Svk7GWQ2?QnL8o|q|bA&r8 zH@_;JNW?zYBM{fA`sp@VWuJQHn$nW+#s2&B&j@j`kpd`2<9grdajnF%7I{8aWX`( z$a$>z3Y;vLZoaM?d&)QFW*LICvRCx*qdIrDC5E0VpV7~ezQS;0+0;(wS{##DAyk`i zRwv+b-Ur*RLRTBgf2KTE2r$}z^&dlYyN3L&Z|SVLjtq;}yN&DKwOv!mk#-fm>X)d~ z8GrJuu;TX5#6ObDxl+!$8~zH<Pi1y=l$(}LnpkBBTMyO2A6egB@=(!_goxF8!2@(`@w#bFrtVA z`%EuGm@i2g`PW2#;;iqA#iEM-9n(+*?p$9d7h2bpJ_`unq3IH*))44>U7!;kJ|&nk-Lor)5$vS49ACkqL%eF6)i8{ zCVwbBWM2$-mG~-P@VHp>)Or=OsG-DP-AqxT^#{lU`!m)QJkh4svzZJcU+@25d^Zo* zxN@HN!EVHU(u-q5%G(q(UJQvJP%x%C!K9en;`2+m8)H5M-8(aqiuHhn=JW-V&keUk zBm_Md<5_jrNG@9b$5pXm?&aD6Ti;DdhAYKijL3Ht79KM^v1If9{C9>hn3yT*Ub^Rzc@>lRqKMKy?Yw~DbWMW)mQ8URt zR#|h{UHz(?s2H@PJ=^slMC#ULl`0ajJk{b;W>R5gdb?xa_66uFDTvvj^miCc};kZ&JbqGO15r&<1qsyth7E<2Ek* zhxfiI^Z$`r<-qOYXCm>_x*(?1e+Y*9UL{0GX=xuF&=rA`$w+oUELHKNT%!7R|FPN5 zM4R?NQ)&(+QMB4xN=$^gzjywq$JRAkkh;ziRi#dq!e2#Ay{B&3lMxr@!r?E(^whB*ZuOv&NZAWmkZ}dwqbvRkuvUA#|I-ILyb{WiOIsjL* zc}Tn_4vvkpNq7xdbKTNZ3b8Z1)d1g&Ufuhv9XI!fnh(z<8YRQl%O7SzANnQbWygVT zv+H?1>hiXuxwtc9T@O88{WbGD&a(8WX1hc7J`~CBPAN)OnWDwNw%n`z1zno_gmdIv znt)*@kc_?9Qj6;Rqko5MN=cXwhG0h#3|m)?>7C0g^i|4Xz(7RK&>1RhM7Va{18jgB zxZpJxA;pQK-n{=CzI(D#N01hMkiipFr=+!~1AmDvk`9ULP%sLoKNDP`7k`YNh0 z=!2F4eZAP0PeQQq2DI26h&pv#f#ANY3}3WV2_@;l6pN-}r!)!FbkB6`<+mODEW;SS z4V?Dp89!P1M#Q|5%~i5ZDHef(&Zse29*cdfI|FFaC@dZHn|TvP!A4^2BvCbia2zk; zc{+U0zWiDn&w7))MyUAt>e%x(lSDC%OfNckY557uTLKqSv=(;0c+hO=y7i8q7zqSW8UU&sWxifiU zvfA>)InD9{T8LJRs494~EJa8gWbyM6Uw^#SNXYtl{mve$P{xklMca zRYD0DE<%G~&=-^uk=|HFiU1ps#poaRB{LZZ!#Bme+OPh)ZS<@NH|K{7X!x3+z z(%^wL4-hRy0oG4PDdF%Dvofqb!l-;pUtfolmoTZXAlSzK)9sJtmTKR7b^I5;LR~=N z^@E0YkLB*9PDtEug-z8|rdUFS<9&p$bN#Szw7=!HH*kXs$eD3jRs8qsN`C0gmzhdWB0L4@-H_uxVZ*iM5%&-}N4H6i z#Gn8nD+5a4W4Ai_nq+SCvc|n;k4|8X%1;R$$AaF+4b(f0)uV0XXQ@R81rF|{>PiVc zf@9&Ty8ZRS{{GU_B2WrdYdMsHEl$bY6l4@ONe00}`G!(%v>`^Q?NOA1fyv*MPqmRf z29IPatUH1~U7q$l>pYOIQ}L+rKk7y{rDwr)4bU`5HX`2ed!E%Ad`PKDiHV}wo2Vf2 z{?bETM)q0dI>pZdCZ)zN62~f#tLA}!eil8V+BI06YG$b00IXVM_*7}&UF)ibjO>kZ zKPC8u@I&?>XP|SVrw@MKI^nazMmD9-sC zXBp-yST@U5|CG-t?s8(Q`YE3j#J+2)@U!x|!h319F5TBu1A5x{eyrWm`?SzOdW9>b zdgrG+@8enaU#O7A{#)8p`Ug9t=h`FVd07DoP@~V)eFFZQ%o}?`h#PqG^MU&>JTBD@ zKRhe2a8BXmH7uJv62W-wo%$^uJR2sP8I^s#bBfy5?H~qH%Ku8<@ea>k36sss5ahvStJp!4 z@dnv(pnZ4R9nNt$cKK4uE&;BGI1E&#{wA;a1qA3?JVi)}(_OMEQu@Bi#|-@B|296i=l1dyRBUnriW4)mL4Z@g7^;}8y}V&X?@180I~`=$ z?0&|yG@YohDB1uR<6Pm#{BmB}a6D9ge%Mg2asq0<-cCMyJN%Gxjvc-+CPgiW>~VS?lYK{-k;k1Nf zt-~Z^tB%>>4V~6%_5D40Sap4?$v}8V#d@O9M9>y@1ZQ@$n@0H!l)8CF!as>pP$u#z zACISmnqp~1OTmE=o_l8MQ)NxR4n!?lnW{s8Fp3^OMH<9GeM^Bf?j3tHa-TIRKP^;q zrgKbi>o}|&2y5cJ#7j#BtEhfo>K7*=1sUG1?&c>WJB4g*PA2T#AkOHDcsuD% zBf$4fmO?CS>;hqew3DxpS8pH78Jm?`&^`EUL5$#*8Q!1c{PnRSZE-Mb@XxOaVtYvx zGzwkoKv^JMfMY=+yw@_9ng&*roMV$Yx| zVUzzxzOeE|NwH=H{TxKP)S5CT=ZRgqm&a9~YY$TW-XwE@)p+_(JNeFOJdmM(pv>gO z>VA|9-bFQ2unKiP{uya{Q@W@LmDBaYEfl}TvPWx1F@QVGGm zQI?QWF{`>_6hZ4=pBih*ljM38w0ql>iGKnh=!#=FBIs76mt}TG%(Tob10+2%-_QBB zh2RYBZRQI&^3L{sh~=OgOW;TWaaCCDx_ah~rOqV5yNz9;Dt-zC7QHe?W=-Fc%adso zD%xI#|47W62ikA){q4gv?K7gjs7L%*G005f+a$0?^?>jU)*-K>=+_r_J)P=|l%{sg zkSXKYWoF@*rY!=4p?39SAW?~-LQKw)rU&L}bvU^pmku8b1*LHUyQ0<1?Ne#rmk)p+ zS({Z@6$Nrwd@bUWeV~>LFms?Mh9RTVb*ib_H|HfU?F5$pQZ^?liDO%YI_FLtu=Vjxl%He>xFFqn39Pq50kRY6CCHLVbMh zH;YtUFK-b)$2A?i0rovl-yB1^8RaFG9jc>y86xK560FK;p+B$}cT{GcQJtRyU%1%! zIp{FvxXbzKxDUkkVIVLbU?tYTb>k?tw`phF%XMI(*y71n@BqV8+GE;UEN)_O*by3N zSTYH=JwpExB78n`7lJ9V``1P)5AmOa^n(|u$UAw$? zrwLa&yYlG^9{E+IMewDmIAB^7X`491%CI-H5mg%XFC($%-dn^?!$$1k+aLo;sRUa! z{QW+SQnI;iK<}8hB?~TFLuDcqf2$vW<#?*<$~=C6W<}vOdAYD@DOtnTSX=II&}k)Wq`~n% zr$DdGcwMCte=%WLrf1Uom)Df*4;i0Ur&n22JD_^@3=acblm=E}I9k!dKiZL-u$7+7 zRYih?V(sZaoV-KALD%N1#5GXO;~7+%tRkdmJgdE2-kuD>wA|s$VTtySTx?zTvSY{o zD|=u6nhl43+d1rvFj=BHQhoCB8LoJ-$OeNa7mB8iQJxt1$v++|DnMI9ipk<5yB0?k zA;D%rmA~ZI=PhJOi0h#vd>dj{U1_G%>Prx#MfdNFaF6<(8dd4?@~oGy`!A3iZ<>5gRkX|pKhFyffjvepA98lw-+}9PWC}) zCE-a)hlsZAQM~~UrnwwtXjylcR@0e^9w#C^p&1DPhBMY)9Z!4J7|-nSKXX^HYPeZ4 z_so%5^dDwE6@e;(qT!zNa&Cqge!4wyi3_3r4Cp88XwntQo~yVG9hQ?$316`1^q`rd}g^$s5K(_ul4p99OyWzdf}|#J0UOlcH-k zLlU}ZJtn6MGHdTXQ)-4VQ2$YZ=n`1D9ipMS1 z!>M*vCoQrsAoZ&gV}4ZMl2yvdu99L-1`4_ZvIcm^B&z0<3nwHCAvY&X-}TN{TRU?CpNsLP5brF=60*FX0tYa2rHp*wEe+Q zfZY5Mzy++sQh%BN@PAH1c{)I9z}GU+N*+VcH^#C8u7>IGJZKS1RzC9e?9N`ig#Ll} z?uWKbRyX;39+U3aW}LZZOZz!92D_rG;z#WSa(Io`yk=))Csd9}Q(t621Cz*0@FE7- z{)Z=QeLef&yR(%rKS)%@w2)v|^Ci8avfoZpjCOZ;3LrF7-`hZY-Av}vUbiVogi?9rrGAb+ZiOlyCv+QPrjz2Gy@ zxFWTJ5$zyQHo9^CzCK%~boNTG_w82A7d;A?{699$-h86%@lLN5iJvozTT7&V&AL9A zDF*6X$l~k;&zh;M{)qGMS?>tm;HYI7&`;w}K%hN;T*=oL83sJDS^~kJL0E46wDFbj z@=--Nkl}lm!*u+}L?jrL=3k@ntAh{n&_Pr%c{on%TVQwe>dwkC40RGyI+^!>M{^5C8_Mfc(vB4{-VRkz?6VTve*DLRfaQk#n*~z58R(^TtnI~VeH|eh(Swp2c+!hfndK5( z#4LjfUQm4x_=(3J^Ad@ji+>Vz4%H&It4?MRp?a)*uI30SXzmnounM;`5JK~ z?RI~Djt>+C0Yl0-+xzTfK=}Xu_|v>i$CoO5wR+amk`yzfWlsI6sOi93qH;wW-+`@~ zXVaUl7FDviaCbRb>J*qC=G{FK`~bEnGoK)RI(QlEMT7kAvylB#TbydXGunLTdKg6{ z98_z7zmBZLf@HYKhoMXor69Db_C|E8Uotp6^V*`;MgRSgf-1(Bi*__r`qpO?4c-XC zFo9`^Pz?Y+@tGj{qQNzQ{(EQ$3o14pQ1E>??KhRzaXp8yQ&?D`O)@1E`HG8R>k3~- zfw|tqx(0qz<27M*P@0iaD{b}#pHgq7ob+9{^0!_5Hli6ln&)IKBj%0Zyvv6rE7EQ& ztn)_TRN{xf4?VdWGTm_NQOl>_m28VVVHR{M9vD48A|g%Vv= z->SKoSwi=ioSl#G`hTsv1lR_Deef=_^c2ZN zLhm^d_3QfupP$9b=kGte&1*+OcoWm(B&%S4HYM~6ZuwO5NP(6f=>OxoB28y;m%y(w zyUmPA+B%Etktb}rc^zNu|B7Nx3$Y;z&)~68#k?~2OrXq~fy{%^7AJy6CRlGbaor=k zVoWcgZMXIPop9{Z-o`wYZRbtinVXoFvZ@*1JU}9Dl)ETNr)IP_nX#RPcFd$c2T+7w zTYCodoiuPEBDTlYhve7DnDVCl=MzRjXN@3UhYlDI9dP7sHmEM!zb1y6JD6HW>@Du? zFEWc!AZS#t4U6V6nI75g30qjz-AD-}P|L>$s40=skvE!r#3q5UEZ zf`n`NEJF_P<9kVXQjXwf4oeZb1C%ZfcA3*hBS9EaYPQQA<(X%$v8VRJjfg~--Cs-2tdd4+t1hP#4OV_A zOVl!d2bp<}K!hv(yzL8Ny=EOeIVM|LYwB?!Qx<60if&OCn4Uj-vHAUx$3bLNMRJ^T zD(Ieol`jXNVMpC^3^Dl|K$r^E2UsNMBrSxqq( zm%|epavFaYn+*+U<4MpZ3!JZ4rMQCqLZ2<|nrc#RaYam`x+3`mAUs}LZ)zlB+Fy)! zIRCW%4DdW*6S2rDkS}ael)e3$^<^XRAA?x@i>LQWzbmq|DhL@VtihIys(L1i(eBJR z1hcSW=f2$(;Jdkp1i{^%vo}C#nLkP7BS46ARheO<{`G|}V;wR|#?`7-bG#C|Tym)@ z3Uv6Iub@koj+<{Fh39?v!c<_Jzk%3qnG8)=m;*|CV$)FBKJ~K~s|5~N$5k?X`|z6- z9#opuDaB6k!AfSrxh`2J4PMu!KY8}QbqIg5%zFOzrDyb!HS62G>X;2}J5bYw4GbV6 zlV-xf^~~_e1wM%jXa&p-Olylisf|Ze|JzndQE5%6u7;+YtS|G-owCm1oZbQ^d%93q zgD>n28U6_kMpNrta;Wp0np z=gjz=@X}1K>J9;$ApF<4;g01W3s9uUAtkyAd1eC%>(}Z~8LJSxPR!yEsext!?@GbN zVKu$Uvt5u6;D(aQdBFLPTOZnI8fX;*V7-nr|6I(v#^lfccW*w4n9x_kjPiaszxUR`VO_+~&vFXV6QAxv1_)>XM>Qesr%&#uGR;m}JSMx;>)GF{o4iqXWn0!}tY zW(sUe8dy29?h{maSgFaSOj<6{102aFm5SM`R{hxnONvG6h$Bm8dX@G`@^T6 z-VKT8vafB+4^cDQolWkc*hJH(fQ1JAmDS&zS0v8 zMvBR!a`%dxtaZ&9-%6Z>*gR8AH)nIDMpp^v)c+KiwvZZMoCrn5g@Ff$?l0S)Q-_e8L(I3bT=8Nohbqq4e@O* zker@(6fXaHR_&>H>XIIsy_pWBquz#UGeI2{Tu(3P)GhJAhT$&kzjjyU{C|OSQM>?1 z2eJ=28V7@ZcSwRhx4Y3rai-Yb%u_>mAhaiy*r`X;u9l%G|7NiH?;OsjjJFtuTS)Ib zD|1&twSoI2RH@=NNDEmYH>kSCorUiu$Odt1ZR71Wn}zh>4L6sD&q$min~(9n9J!+& zKQ0uVkPI=SA7D`m-~RvQw0~}J-mcq`j`{k^>f%F9`g=1KpO2yi-ZBUn2+AeAq5rM0 z7uGj=C86=*pMrPqpZnV6l>YT6Y2E0y4@;R2M(>Ne#6@n;HmW{gCS#H~t93C72KbmedS$jbD8qafL_>kL0P5{)u|=2TK2C zw~0zI5XDUO!m2M8K~A-!22Jq-QZg>9Umt699%K>%1qwCQRqAjvw!N4n2t=#5x_#8b zGzcUkUGkbo*FwJ^Gw%ZYaT_ACvD;REPtlnq=Ud?DDi+zqt1ToLkA3jo_mrRd)Z{Qg5a62e8CpPPUrGk1+>k4%$cU)q!Nc zpmfQ6*i-fb2T9FBP+sE4P?+5`#<7D184!kfgBFs*a}vsg*DPFkk@>JqiQ&B8gq_#r z4M$a#_;(rb4)l~|IUD$edsbr-?65erq4>v9E(+_->M`_`UvRXSywrfbPAZh$@=ajv zEfK`A@II3#by&A@;elKbK9@)IAHJ#r38&bFfKLg#ly#0oii!dQn3YS&#}})rIM}*S zQYgO5*G23tS(tc3CZ@jeJCFgBN4E7_!F*xHFXxE@A`qBXhQ z7JhVsP}DqXtpP#x?SVkxjUr%mC&d5N0YU7_BO3VL5|gv2@KB%%6SbppX1C5MmL^2so8UDzgXocI)sSq`yV zWDMf?Uh5pQ$_Gx;bVHE~3C`{tX`6EGu01VFZ3_MvR&ln1b{7jH1(m)}90SBr5yA@$ z{nwU~FDP*MFRRc~CJ#OBzZmiT0@u@GIQ!gWHo-*!$K`=d1R$CAX*;qInFl-`$(x1 z5RSI^{uYjIaN+$6RV$|E_orHc5lMDPhI7HQJ0qsA$Uqy~Xw!3nCVn@C(-axiEBP7rsw`#d|ElBS0ToT0hu@p$Zu2lO@d7m{r7VOy`?&V zq{90{e;6U)^Kna@wu*Sz`x?@5$+B)M{^pE9GDd~kTnVh_6a7w%J;h#v8+IVqWODGs zpcx^+6;~m|EFfgO+0YmibVcbp?acZ9lfTu4cz7icV95QC&cDR2E=E^b*cxEG^h1d{ zy}ll;UcLtnC{@^07##?zytp*{Gz&b7en<`Y3~zBlJb4q$wN!=MZ3FyRwA;`qtcOm4 z_oAx!^B&Yxqvw}SX7uqp7*o=F62nt6mv#&mmJHm!5vJCIYS{#LmWDFcI*>zg!gz=; zm*n=vo$1J)kyQq{L)`#k+TM|(T$)%w)#=Y%_MRUAPoQTD0&ZU9@-D}y;pQi7-+maR z7`?$7zjncJp;!G?1k~?SrNG4Mly<*Fij(ocQF@4-|K+QZ&98sz&)wS(g2Bhh0^$7) z1e&`zU2cDTih$Pq^JB%MXP4hbEevKEzKdD;(r5@ZNf17kKGz#3@P@gcbjn!U;*;}4 zM1$60_LC}v1cA7obnA@|1GV5$j|VlaZ9HjouhI2eE?cVqT%EQICV}Kwq-Bj0T|od9 z<8l`2i+F>-p8YTSASP{DjE#6ME|Kc4i@*`0lDA^5=oqbGVy0{-MIV%n?*R2$(Y8 zC~nQ&P-&I>7@8gOp<3ZOeKB;K98z5RJuok70BnsPk}32J19ksS3t0#`gv~Pc9T}>6 zZbIEI%Z+)bULeama|&#|rsqN>(VBLUtq`^tgXOP0J%`2(|KC_l{At3s`lv5^u)D@# zR#iNy^EO8Z-;72lzxbwGM-k*>AtVmjz9mr_;EdTip=uT`qfVBRe4&dO5cN-^VEszzvA`qvG&= z^v)S(XfyXOS?23tT>$?S1)lKCB=ZvmtId?ll_;+7xoXb^Gs@KZ^|Imj^R-~Z29{eIXJY|mW-Z5}Rb5slXy>M!=S(P; z-7qrI~gp}U$zfS%_04k3P<`^?vg4{Yxbvo4eqU(c`6&~5E$@xyOp)v5{Ue9J6HZ7Is#qnY92@v zuT0i{ccR5dcERAt6#{T3m6cA!h;ipHRR zJHbQKXb@&J{wPS`D&;iUU;>Cs8V*qkM6^pJ>S4P`-KF}^pfH3~80@7^y&0hQz+=cc zC|Hmbh`JppMFpO{cjOOw-Z<2H%&Xa8g94Wh>#Bazzs+o-_zF*b;J~$Gfv3Tv#|5j0 zQ0NC+*E-6knhsexzrIz_hS4um=y_LqPru6Oyw3Ptf!1_=wRO!*Tzh6oxFjM^MD&vw zR3jtHfLvIs0jz8cyYtM3_31X`m$*e0UIK$nKiC>pc80)6YrS&i`_9 zR6ZzSB6(>CgFfIjz(Hdgv%G#80}5p_0%GVJk(X`UF#AHClY|~72UsWGom(onBeJ%? zJ70{NJndbl+nT>!=|JO?JcNT(WWMYkpX+oCo+|zRa14ss<`<7wINSO<5O!75<-{t0 z-vtd$$a00s^d44>SAvobXC7Y9y;7}o8=~3YygInx z!p;!t35+DME0%U8n!$uB#A{3VHIEN|ok2y@nMv^b(KuSEAM_5(ah|ZCI7p&t?;@*T z8LqH`$L5WszcIx#t^4UPZzxeImC3k!!U)1x z@iw%J)|1sVpWbV_2q5WkuRxS}XjA99X!++!pW=g8{$q-h9?|=L+23v@Lvp;6Baj<4 zNZ`Cvw4uRwoyD$ZFdEF=K9&oCV`@ZoXJt|{?1kCX5$)%1A-#}U6NP4NzW?4>GS#z| z^__d6!m$E0K6B-0i3s0Ic2OL+L>BZQLN?6FTZ9AwQ&@yP*KsqObM13|+1go!ZHL+! zFw#vQb}-Pjjoeend-Vyodty}|9mHAGXq_Jx-e2c&GyRnEGx1l&!BBxU%M1T;o0qpl z&v6#hUb8Fz5jBEuxwkD_$05zaq|gawv~l3>YQ+L8%!k$8`eFtlhUb)q$N&C@7#gAc zbL)pEWRbodUiNsuEOEiC5JYeaGb&Y@R{kST_qKQGbg#GIa&VMtRhxe~Fv+C55g++y zcE^kj`$Gwdu!?%W{i|x?*`vbL!sA^8SOg@_>6z6oe(=A_#SwT{@LO!nyE(gYKlax| zyCDic6Te+(clyCb*5SmG16p$=f`7G^WFTLIup5dX zpA^pC2L&DS!#;vx07!UQG<%5dXG)01n40_Fumcs&lZj9-h!Z$GQ+efupq=uZi6%HX zMQ|eBGN>YJ-XG#8n=*lxz2N^S=@&jZ;eP?5E2vRUjqtq(xp}-5HMJI=Ke|mXI<5he zgHN3R;)WkapuS-M*2url+fj-rK9BfTHsPd1d079)aAFGK*!2eyTb=x>3Dovni9Ha| z5OqCC*=#rTx>C&|d!fONjG~?F?&9AinXa(-Ui$3A@K+)gey4{1=q!$}iit#4)j)y+ ziL6?;bLxxW;;(BzmI|m{=-H*Cxu@yaoNekMyJ!JBlGY4@W{W`JW}_L#+su9>a*3v& z&KCV0hBf&-X~F6ev*c*c1xF3-=%~9DZx~oqrqG9`IO)ie?F*2vRDTfl`gu} zfUg>Mkgav&5sIpu8m}DVN5gsur1knt97P}d|0v3GO7;6B6B&+n)Wrnf-p-F!@c7F@@GZkv=IeQZqRD8zn1D>9Xulx#>H5d zx>xilBtP@&$cRbI%IPXI=gtdloDSX=ja8Wksq3FwsqbW`MEo@xF4*^<3${*Rk-WGp zIO6tM^eNiU6=7niL0=z0!5_KW9(E>wisjLwIKEALgyy>ZT(^-*~In?*{WQN8zHJ%$;_XFTIW+~Fs<%VxK!zC<35D-PVHG3KB zOf8HI7ksDwDefExJA-_f&EEWU{b`BHHP1#5mv9>Xl|T44a)&SpKoL!8fMDdmoYSdb zzqe=K`IHf-NaO#ND*nO^4I4x>4VsBBpf-oT>5Owpr_SkugUAoyT%T5dG-JR>h(7ub zbT+ShMA;=EvTvE*_zd$^%Pse0YQ-}(pzj62zgBw?nQMm%rn0mgtasBCfmmMoK1LUi zd;~w<)FN+xy_^s;IX;bgc=|OUa** zZ-x$2--2%*;a|-^K;Je1v6ecR`qD!aTFkDRrm#oiQ3Ok;OZ~1kc;EXIjI+QfjiL9# z8~YZf=<6L2a(*c3NTRrsV~|Ch8u}NVR63T?&5Quy$!O#CHGnok#?O&>E2~H4;o;WX z(5?p{a5m=B189P{zqcD6+iiYey`vu?o>*=djYG6q+@wT0sT9~GxElgsG2RJhF2YU9 z#>4t{pL$!|6gETwUE${TX!1T}yts)-C@*)L0j?u|m?Z!@|CBx;kfPsl_9DmI10pZ? zkV_wt!)y2UHF|ec*1kh7M%V0QTQnSbMF0q^xeb?|^@B_d=~}KDP?1!RlC=NYqC*p6 z6B@zrq}+Im<4{;Rhd$r9FQ*xP04>>mcc0gM98H;l3q#zV{W^hFppnHEW_cjH%+}>? zc|WIO2y#|@kV~R1|BkqQsww)^TdM$%gA};Dm*>2t*oAm4NOu)#C9y-g`saa#5`eQ> zIIOZ|?fLv-krgnh!wr6I8WcsX3R^Rn#D__?$3$KRS2grUfrggKB|%fKS)x1lvpgF6 zSPNfG!V5Sq(lsh=!ZU9=UeNrIVyWfE;Tuo5RV7JRu4bB7fMyJ{KsrT(@A&CJD20X(rHT%edJ9%N<5Ty) zi5K`eMC`*7Trb8-w~Vw!l5Y=UIWD6-8RWSA(+R)7*tGiMeB+qKtW16%OSHuML7KL7 zB1}Jgaw+A+S(YTIPbG+RSM|8XD_<7F!ojRFzph8m2;Nhf<>nXCq%)x#DcY-<*BT<< zU&lu{X?&s+`t4V3`YnLvIm`t16|F+W-{Cp>cD3(R^0CQ`d;)<(%0#KDUPup(_1bhh z@fM2?pRDF%3Hxv~i)RFH*(j{pQb0%H1u@nS7V}y2U^WQ(*>7>@*&bM|5o6SfFHq3m zu{THYQ0@+Yf|jWrWMx?0_P&D>zlk8T3K)y zA&;nmr6ZDzS$zsg;^#7?V2hdlme^J9+l9l(OG^!khvyAB&NVcpwnuTvVj!;HyS(O< zVqo1^rH#A4yFpFu zi3O>z{LNL1Gx@YiTW`;L&vp^-To7G&o3Fz;ji#S9{0R65z=m@?r+N?Gi!cCiq6my> z@zLZ`cmk6#5Gwa|OCUp>K0zW@;c%ta8*<$bWp3r9iS4kXj9vH-Rhgztw%&NOQd*s;T+(nm+YRq<{++!d1{b$Hnal63}F zg8N&@?&%QA-eN@yFTP(oA z!P7qzHkPgM%6m~4hIC;4RWN2K9e3;EPfx<@gTS5+O;-z&ym@9;`^<56XHYDs-1FbF zvXg@rCaU%LhGVg4A4K9;2G?alG=*x8gBo&0qJNKvd=37~cq6bzTgg|X6%VSu%O`wT` zuoQx5$jHC_FWj*cMC?&%2h|#K$RM%YuCOnw@}N{9|B=>MyA5MbY;Tf$M0p#q9qTruR;Wm|beVG@LG!22$pLA7A9l z8w$a)5LMUaG$8A#Cv3j=w`B#K6L9OqAxnfX?qz+3S1bIyastX^RS8YXUw9pjIB1rw z9_&Qb=TTqeb_$HwYD1KHZoxM%2VLNGj<6y`+7#pQ~{G+)(+ymo1rg zYla+b)Ah8dBoU;2_>xnIIjL?kvk`Wl*C zm%`~$k%$yA-D$*x6OOwxxhxEm>!yWp>i7Bfd;A{1{j-0zJ@&nQKJWMI{d~Px9TYq% z4<76H_y}QgMIweO^DeT23ViY0k7^8a2*G3gb#%lL*jq6r0yyQ^P!WAVBGWZe^@v3{FH*o_F>rS z0{rAIA)3^VX)vz|*B=7?lz3ih9ayj*Kcr3l{)>{$v&Ys|??lf+$ZphxM095+;*BOS z`kamovi%;f6${9-a0(?JH+I_NWfHJ(JIjh&_rfU;_kw@Z9)BbN+CJ8sT~m*^d>0uZ z1uHGQoCbbJusxQrNon()W`v4g20!pR=3z60P^q)IWj7>)K_pj`NMbxtmF0e>$g=6(XZUmnD6_yk; zZBrjTl_G}GX?`s%_=6hAsg^&uMyi`q5DN{|O>u8cHE{c+CTW6#gO|{c&6oo~EE_sF zDye$%!@Y&ez`5NbfLjs|-olY870}`))7Q4QGp&+UvvtF}!s`YV*!>U-?jOO@O$8r8 z1zp&^ld~%~Xu$U$ZrRrIfAxsqe1biM$HZ&awNDHG-20ax zn|d2(>a3>5tA2?{0x4Z(9!R=1sW5(NWdG)%BqnH68fD=fq6#8 z8c1}q&u9QFE`(6tK1xS+iyvrHvE(<{LRUHkj)gaDf9;F#XMA^m$~>fdRH?!N zS8l~AGdka=B>h>?ePKDY|AdSxSF=huAfH`))#Y#Z#`V#N&Sg<`(HRmBEoM92wE;G# zDx6=|Vm2UsXsRs7qxIIW~0(dxI>R!UR|Hr)XAvmzyJssZ+=e|Hg7>HhRZ z@vC%rtD&d2Iasz^=KP3-cJ!12*f+S*hjOI!gK7P<(g2^AV8KdCaS^D#9@WeK5-xI8O8wh?>jB>vbBE&{NZC4+3~4U_w>Ej}A|G7d z6rBmOpAd{AT_Z*M04nemG=OFw!zOM8Y3Xp@t+sy_jNa|ML_$dRf6sm#{#L7BvSEAk zmePf*UcB53-;1^~gKV5Jxd6pS3kvDF+!RQdJgjIZ{iCftS8;KBz}RsW5cCe9c9+DU zKM=S-txt(M-_)7O#JM)cGfw;-CIcHq7eeD##=WllkgM-9iBPThkzIOp>Org?5SSj* zoC3L7XRn}!Y-=O`jbjk!zl8BHov}Wp{El{6zpi;p73q(zwz`>1 z3l!H~dbey)j!IM}9%?q>n=_)8DCtc70lK+RFuV<)7g_yAMEHj>dP$L@#`+U=@=h#? zk=OH$h-(`Yn^#L1QMzNhO4YIlbA?tyNjr%h_bc!vG~)AP)5qJ-H#M&nt;-F>XETaBT!DHlVq!kF@{zt5m9hE3eE41sy4T9=C&<$Uw+a z(gRgd9+x$|M>)BO2kJU})e|Z-y8GTopsDRWD^7Kj*BGHYM(aKg`6wBOq+^?f0I3h? z2yq9^$`?JA0OZbqfrsVN^!Mr*Db0W+kh)W*l?7cNxsowEIrRvb-8yc89{~KdBoIOzicJh)NTt>9JyffLx`u z^bc`C1V^Gj^lu!65L^5hNFdl+YdeZzQ`*+j1dR=6u$VF%G1%1_2-sW`OyKw#Hdw|W z_s~iC+TJ4+LO^C1;D@j?8|^HPrax_j759D`*jHaX71Se|3J_Q7*;w$?CC7!m8XL7J zgx<_sUw~w=2Ik@RMJ#j48~J>+FulCwMI@XwbToXZvLumCgdKTuk~>PW>TV8lBDEB4 z3gLbFRvx*9yY6jbG`9@tSK?wW_1eh^tRA$c5RAG9%j{9THzZU{n2i$HRjq3j#>e8P zQszrc*T1o=<5^*#I9*7`sx|GbIiW(V7slSy>S1)O)J_%iV27xj(fzLtNbY0@4%yzk zDDK&~v8DEv*eXJV<72ohh3gjBTAzg8A_DV?7<%EWSrn8=GwXEw0SLQMmblb2=2slj z<|G(f&Be`m-pWA+s)QVp)re+H)CJqmHUJV)mnI}T3r;`zu3?Ky2vO0(&FoUIO@b1+ z%yMaRU0!ik7-4;KB!{B-g)^R6FA_;_f<@S};*Ac!Wp75SJ4g%U%4^SNEr5}QyMoaa z)GZk`I2CokGi8T^7fzs=Vl4eQzgRHKMuKa$tO4Qgj$NK1JmH)R`7+mG(y) zZr|Q>>3X+3TuNAG&%|hSTtOkt`oc7%IC|ze@v8Py|7G7vjS$p9^PPm2!w1e(HVAgj zgh@KUZRVLYB2yYcoel?Eje3R9UOHu~%Kw4iW>6c&pa%e1eqS=xl1%!y-*HfBlZyUl zO!vNRvani`T^&y;*~R}S_6CZy2xzvm!&OL{|F#%ofAoIIJJcaeqbyGunoL~+yOT$h z!Oc^v@_(T|`yCREvYqS_F;xSU@hu=M6Kqo+2}lGbMP z8AP=bcd@-j&L3Pos53>o@pfz&cC1AsKVr+~s;?gPDv3jd^=Jpe?Yaufbms?xO%QEghuLVt~=ar9coog<#5*+%*;_XENi zoC1Whszrcjp5)B8T$SW{w2{?NEE-wcy2)K9Bub^4GG3D@0I_LsYcmUJY) zZ`O+zCx6gMmpG(B?&=#v=1Z-W$foQ!0ta^&9Nh4^G%uiT0gW`DFP-W;N_7L_Q=l^g zt>`)Zpu%7AgIX~9GC(f(hFgdKJ8R)|yTbr%_|rgh_*V&6h1|i_6osF6*RBi$49(D;f|PW3gMff^NF&k>(wpv-4r!Ebl(L5;w#LF8JLGWpQP#zq$RxA*|+^~rK%Lo`M-NkN^BK9nTVWKkp?l=E;apNT7** zApf{T^PiU?gah7ytad}*h-7=6@S_oNNHM~d#3uIShzC|VZObdBvcVa8pCjbu=Q}QZ zN?9M_91j{b@BV4~XJTT)uiCVKi0GZZKAFhf7S58(^!t9-a9rGP`Ra`8r>DS@<4Whh z1$afXCJYuT5j$zv#NbbuZ*naq6}Pl3R;Rq8rK3aK2DZ1WbjwpYK1B$fEb#)*-YwUQ z)(~W5aaULFuV26BXqJj|5(Z094Nn1)_;0^{XH!+p_PI{8Zhym5^v%C6E9Xt$9~@WD zjm2wqGGX?WtfJZU zg@j0dtpdKy%s2CcNeVo zcx2*YFS}d~cKvq=Cz>HwdkK8}{6z8b@l*cKzxC{mdn53s(4>_vk;vV}+AQPkdl(FT z{^BLG=toTE%WnS2_U-BnL=tzcVgo%9!IjRs%XinN;D4L)Ap2&T$-t}QCtUwcR03B+L*=KA{z997*$#?&sxU8(ouMdjssqOD`aZwu zA4He%PD$erM&Xl)?uo)qY(oQ|PFY)ypr?k8DTid5=%!7Ih$09?lZ)4(;%Ep0FYt_9xwGWP=ah z$qRWTOX`3l!~1{L9zqRtz_ZE#g39);WKs%h@Y!eW;QhsP4&3jS)91+*XsBJXRQG#( zQyB_z2L!ZukmDvwPm^EXl=|@D3LdC%mGoHl=plcM!QROJ_QR{C@%kaJk(5%lfj>Ahc zRXF=pPB9hwB%ZWb#Nf{@nnszRP%#BPpfhwYiRx4xV#}bAspt9H>m}zEgUO>Xr_a zQQF?K@PQz^%J~6PBqVMPfXb12cOnn-VQQD4LZ2eYBN|@Mtnd&|keyaKB-_5|P$%{! zM|WCSYMShwX)a}ai$$ltw(>T6MTdlFRQH?0jWcHglJMJr%okaUhHo^YM>?s2%bByw z?IJE!Cq4mY{+ZedL~E`3;Jv$jk4DYAZ?}N-x5;W!;JK*O%ynesdU^fy z2?D1{`Lt(pq2i6|Pprn@RnJc5He_Wht#qQ7D!AK?5&LV|@>d=8kt9tba{h;xeyHC? zDowL(NFam* zZHm!C`?T8{Jd>#L&27Mn-k<$cFlgif^B_gKlid9x+giUIB`sQJUP7s zjb9DEDOKeLR+uIz|KxOy;&Yn!a#K1@VNRSpBg~siJxi_Y>9``RCIsbS=UK1>78Z`p z_KPJ!TyO#AC_fzkgw^=5uaASU`nW8yrffO>t?F?LIhLBf>awtu(UzGy1wd~$fQLFc zstyinm@aD>&nJHk?^Uxgu{^5AyXSu|Z!=%qn=T3P^pr7+?O_^9=sOYagq>ToS_FUO zu7A&5T+YT#`PV{$=FwCf_QZ~GEF%ObYBP6Hnu$P2PzXf!7P)6pH9BMzld|nPR%K3m z(xLS--ZucJ=fnwW{r5*YbAb|a_hv!>G0j|KmLybWeR3bF>fvoz(N{wOU-e6gA>b}O=aHR) zO8mu7#EBr?u92+o({6X!v=grToB4~}1R9`&GcLijhnCRaj%LD!Tg=QZ&|sUK){bo} zx5Qi!1pie@`}10&9@bqR!rMs6-Wr{o%RgCHrqVb=b8o`LT$*!ut4y<4zYiFgwxKiJRqd;%xEA3bA2)lqBE)josj*vmc`T^C|m0Bo0o+CfD+bi z!>u%z&f$48mGzQ*QgWrN;*}0{bpQF7g|z~D88Hbc0!dsyEAU=WN$7zMMLPamgEY@n z*KsV*yiw@O4~Lx9YT4M{YWzoGHq4>V0mi6vId_3eO>z?fvl_sELRsB>i>O@Kl#?zWHQ<5iU9MIg<1{lWjk~dBo}M zeS$+lua3h`mw7w|%B_7H;&_C6?1K!KsmIQj37cEE5YCFO)m^;xrZY1Y6UuL@%iEc1 zWNvX^I6%j+12ctz^*jV|2l-n$^UJu#b-jN3*OSO+r42o!8gA!6@wN0afK({QH}AP~ z{=HBp5>FW~$*8Y$5`tWdvi*TINj5Ny+EDL%-{HGP!pq-URq3XaPSc|*Jw4QIHR5Jd zt_~M<_6hBrpdXR1nBu0T7G9wM<{o*4g{S2I3@(7m`HYroQqxswrZj zvrH_!6P3yFf>eR_$qhcHL-(*jHwCR>D$x(j)NfAP17f&|9jj574%qNt&{Qd#io&au zVj%b(F_i=nSxW{JGX>>;d|CHW0k-D4&NB4QA}g>w zKVfW0-%H}lIG2V}et#`9A@N6LF|Xs`_<5j$r~4%s=(J+XAG?*+o%IKcJ)9diglYimMa6pZM8Q8GgPw(-;LIwH4xFAfW{#Lwov@iYqwl7 zIf4-NxfASSg|EG6U7gMALR!U`l4m1c(5ebj6!rv%2ps?``1#}ND{5a3E_x`ISs-mk z#Ol#mKZ+0X$=$}wppjVcx=EA-=_BwNVVB1xuRnW5!VfR(SKN*pA{s~*&Fj28o$>gWW9$3j1Ky)L5DgSyndck*aZ+Ci7;P=Nh|bL@$wkq+^-Fk=b~t|JE$2kkw= z*R)Lu3fw2|C~osPe^e0^YD8_$O)O_Wy!(AvUE_&15>RV86(#dXs~?;D-Abt81cpOO zd)?~`QQYzePO=yiW%sHJ!pAP}5};>@Fi_Cq&jI{m&%vUkF8-~wFu&;hJe3kG zwtGOnDDu6E2C;D_c8q-dhc6XIpb<-}-tYF3>^^S!XoTt%a-pkzm=0?Pkw!R6o5^45 zRr(flvYex=mvmSG4$z7eY&&=-cYY#*LGPX|3Gw+>xPPZNwL(w@ua{M`L!18o8r-}e zO=24h^Lt<3p)XtGXs5_^Fh#S@Y9effL%FkZc{=MW?>aK5r#`;su3N}`X+-(^3$35& z6J8Ooo};}kV~OMemOvds>5awtUZ*|6o4Z174yVjR@6qjkMdONZEuD}n5NrcH;Q$vq zCnKsHl_D6v9p$!YJ@cBl(6{w$H6l^({7MX#{6O=}<4vD#C5`PKO?E?$?M?oPB%V*0 zG`SjM+t^bab(R@b-IV`V5~||Lo(8PKUNJr{-HM4BZ8UJ(bev^KqT-L6IOO3?o#}-->bLl(KCHbA*y;QF;#Kw7tK?m#Kw^?@P&O8O=JN+4l=LF z$-V~l>7v(g{w*4N+t&c3XIEQ$;(=w$g+c=mM(r((c^gW$U{~-ntU7IQrUVF1QD9k6 zz^iHjSX5N`+Y^b4lzSWF4yl!Hb3^m7xbgIk{X3L1$?(OePb93-fBR`@DjdXfu_EhT zFzY0sdyBoWLo`kay9u9J5WWYZQ`=h zO!&i($`wZ9Xv8eiO4WC6p24z*R~ko|Pg7R){n0n+bd$k3B+q< zT8W!T-E#b5-KMOs!HFD^r<4<)@#NIh68cpNNcidLAz5Y9rr!>8BP>R;NLhs;SJZGh zZw`-gbG^zIW7yQid#u9n(?`Z0)DUXte@AO0Cjn?R)`0bSP#*p%i(Gf-6aLKX!kJqp zgfJ>HK=W3nOtZ9S;xUal0!%wnOxI9yp*`-CPpwK?5TvK8+ccZIwzg)MwA&>dDweH5 zDSS>hh2wg?R4DkAF3fN6S$}MN`t;lBoS5mcO-m@oivn}Ol(G9kWp20=7~Z#zhQvCe zPA;>k7x_I^IZd z*Z#L-^=nyIoZu2`H;H^?iSF?i%0r2wak7abmHm z;1TCf9pyghIO8>xgcYkwedvjDwseP4aesTwDd6}wn{^(g^;ya4Tu8*Ch zd^!bhimf{`uH~2`hyB}EtC?F}Y9z|mG~RD2HnUKAbbp4zj%RI3h~V!ztRgmiQ`uwB z1>4$2=;+%*2nu<~MC}WPs{<&}m99uZH;w=|_}2<*H)ZwW!F9Oga){1D8S?LM`d=8E zzX2nLgmA1hu=6?W=j{AM;BRGGY>muHtCA_QojtMFwU$x?eqm;j?jDm*4Mj3N<>5ZS zn{99npy^r)532`T+zm2nBYIq~_XLUh{9{OMK0Xa!d?0W{!4=N8oHJGcT8xh0qP@M} zvXxYewk@tthhNB~ue4pKJnhwVxMGZ_qvXRzA<%`&<~2w!)hI8( zLqC@!VdkcFANi@IOl&c?+t3FOj>q`!AZgwAuO*n67?XzC4I@jfz(i7CI4b(>JPy8J zV6I8H-N(8=^EOE+gs10$-|#|7SRQ+C{_W1gT$tBHWfSHtLbnFS*v?F31%X*d1{ylm-9G>=&rT zPp*x*W^-gGdQQ+I4x7MV%|~Tk6fG%P@s}s#0#c}G{T4o&B_R4h|3PfaASl3a+xuq2 zXZ`~%va>%=?CN@=!nFl@p?cW;GNf|Q+;UpVyZ{0oy8Xr_E4%x`oO1;d z{WsE)i(=5ERU4YqhLS6Swz-Yl1bkJeDjn84uk3+;P3iP-IR6qGB#=ZQQ6Fz%HP+v_ za~hvd-y?|B?ze)C@i4!M99MS8r7}vO@a2wRuaK!{^a>2}ez*pgeBAYu7Bkce`J`sh zQU10%j5StP#aWnZ8nkp)mBe5)tSZ6%a7){2hXA8MYn%UI-8pK{@}VAN=D7~>dItpv zvVVkT1nDp}RpagCirWQNY0>BCcK8R{<(#F6gv0hi#ABghx-FzbP1dgWWYMHdsS$}5 z4=G-+yt52mw~h{VJJ#Cw1 z^rePnzvO%ED4XH{hS6nzJ6~CNFY=co&%XhVo8*#yr)II@gLvrbu$Hcpn-w^*BZ0<) zZ+v`4f@RJ@BZuXc8j8?lRE-x_N2?)E|Auoj2Nic^Z~7mVnNEonJOxl8;L>h3QF?q{ z9$)`P9nR`i4k*pjkkPvfg4~_{+tFiml%kZ>T!%N*SHV;c6ome25`Jn8->_}Gv1uI8 z{MW^CR4is`@~u#lWf$3W%exdm-8t?s%@RVnZMQ zVAPv3+4CS3=Jq<`TtFI~4O4VS>{qx=%YRn_=if?9&u&#;p@4WP#=3Z|PdnEqY;dhN z#62p~S%}dt2TUJny;>l;8Z11R-v$xHj8MO@q)n<1=N2Hf~M z-%E4Cxv0DWggQa%kG4>q#A{wU7>LsUhZ<4;o!7|Wfxx}DU?BE zw;Q^9Kt({!VEk@G&9N>|Nv!JcYfaWheVLqpU}lQ5!KobnmH(6`O~nYkMA2XfD-vrr z@W@sOp|6unn5EwkjS-m0c;)r;HjPYgRPa^YIu!;k*q!K9tZ_<6DVFA}Biyyyu5s-VYT%f%N&nAzy@jy@za?9jzM_TkXM9|a@QJ@N{o)!Zxgf= zmg-X=kT-rTW8AhlqK0YM?6yQPPBpQKvQ^Q1(zV_l>bUB2lbe(Cikq7|$0scJP^ z(3p$3+ULRTXrUH~we2>~$c2;U%^O+rn1I$c%Pb5e{c;Ari*gkDSIZ!1jZ& zT*-&jN;Hh&a zNy}Ln{9k>T^{eNH)8RBl3k!ODW^IS1^XX+M)|%3zbJO3ui@W~|)QS`5<`Z0jdk$X# z=+U`>Byx#~Xus<5YW2dYEE>5GTGJ6WApxD74T;{dU|qNT1YQ<$NQ}- zTSMaFu++7*Xc!pYt!TT{PQ2d%aMROf=H_S^8Rf~poZQU3SssCx-V@&*JQt`;cyo9) zYkmHy*8t2|pL#niTl6kW^4ggD5hN;6bYVpfw}GBM6l)Q`p-oOkeh}SKFfHE z<023g8oGJ?$3EqO-0O(_qwB1O`{Q~4_PN(dWB=cr=7*E!Pek{Xb#*iKK20PpG!G9C z3fnGCu78s*0|Npk=I8gSPo^Z5OJ^}4Xm~QHi5qR#lGIrW)0D=g#3>(rSkoh{jYVm& zqstNJBfy7i3szi<>HhZ>K&N7Ra7RZ6oIe#+o@()yu%u>q1_KmIp{Puh#Px8!_Q? zVvV&NqNcze7zhFAgWgy7x2kTvP+rRDS+#%1_w3_7;*udg#$^Sj!|2*DJIyX>RF(_+#wMNd;tRUu zv81Wd5*}DD7khElmG!y%KaP`FoEo?Bq^KSO*uFj1W>0Bbynis) zmm2n=LkMS2V}w&pVd=|0akLWrdlEIc(v+o+s@{VAL{dtv211EzUZyRo{iP^3y)PW6 z6^1*7PifZh5H_BS9V4UscA=1IaLy!_|ELTn&ubPbu{<&+*4oaA#L%h>`qWTF{{SRB zV>f!BAJ&o|@z#ia(Ep)VH|YjZk?0Pjq}ho+>CH&VMs4EHIGmPD-<6+{9#PdL{J|2r zIJJkOglRv2|EQ$?GN$&grQ?46sN62Ib{t`QTO**wJX}x3E))K>ubTSM&M)kf3i3<8 ziG>qd6$HU#Ie%lM`RQJ1t+QU*4^K{y3vkbX^1*@5o7hN;?fQ-`RBtg!qE~Zp#j9!Q zSyuhJmXvex`KzO-L%JVpw3(+ihgFp(-mQ#6+==|j_4^LDs~w!9#A2z~c+L2_zP!AO zUPgI8Vo}X3jIs*Oiq2q~!qUS=wU)xR8PzS?(Vq97HP!NGy5@$##0_h$poh&`05US) z2%kS4lIw8!xk}rHEtov0uo3)Wc5upD+L0n%f!}@NGb`nnk^f*9zJia&fP|lkC^^F| zO2ia4J$m%55>WtetvNM)8<^cUaFSlrC^$K?A+AA;NN7I0Z_LyftP}!6F$q*X{YYFO zp7jaBZBd9Jxkx}D4&CO%J>Vdfijy1mUbf7Tn!1Y)ri7s9vk?BKn5P!Xu}_BMb8p*3 zT9e+T`a!HoA-W%eZC*hbW%&Zg}^ zpyp$ZC?!l=e|Et0KogGet7$=F!u*^=WsVD)h&p#1Rk41RQ4F^O52RIvy^i>)YfgSN z8QGEa@EX?ry)SAUet5(A+gnXlH;SMhJUti@@e>~^jB019g=~OYj|{{owTf2nXcT=r zt6EsOP!zJo{if)k>}1>asHmt3VAq}qc?plZfWSaOGSm<1E{QkMsagyk%8$Ad%q zY@{^bbj;(TZNFC1pPI9a`6l>9KEhTNobu5reB@DIPmk#?6oX7)X5T^1KklmqtJK`n zpVjA|PbVxsz|Ha(S^yi5PE*sw@~^8g!p5Oi*u$JPWCWtr3GCsMosjWhBjttUPFC~> zd>TE&wCfb!Ps#a7MM70*%%&MC#+`*HSE*k#ZIin94Y+AueP@@aEc&EACWg;yz-+x- zZHm+vP4Xs916J8>aPjcgDPC@oE-o*tz3-e7ladA(hNlV@#Ak4O8tzxTP6wSW=`PQ@ zF%^^wJ`E@P0~U;Odo8f~IdB{h0Akju0gFE0=BpE1|1OKK#mc)9@xHBMzTAjpHQ5VvOz`upRQ7R0(OSruG?>6Qu_|tjsq6{U;E`Zvq-$7bXp;n`u0*CS?n; z2S!E`IdMHFUe+;zI80kroudC_e)CqBSJwD4D4*7eLh~Scfa5NalRf(5wJ*uAkF#4WSugB zfZ;8mYCiq_Jv;-kJt`BHJU;n@@WG-uy4CFUvlgxOBM3qU}=B6_!+v*Gio#d z=5aqW`eo|bYVdUrs(~=+@&a3byZ+{jPs>e!t7>)JI32A0|2)lHS7~L^sz{uTyKo+J zXi}~GG4%h6n|KGcyJ%v7mtfHXxEVs8nZQO^AACn&Yk>ArC6@RLpIRmbG8@BK#0lQz zS7;YAx;a^%TAFcVYkzq<-5v=@?8MXh2g~siCsSaXbV9Bfki;0$I3NT zNVyM5*>yTwtw`iY-q{U-NK+1_N7&-8@U)s=!7#ZUx_j+S4p%P`eu(r9LDaadsb1P_ zp}v2uG_RO25xj1M@D(IuRN~8=Zmb@C0 zh5L7|{TXkI?+v3JHg!+_r2v4FcTUHNgPfK}_noNx2#Zt?Yjsu8WU?){{6HQmf%7JH1D zxkuY4@c24;*8p1xAJ9-1!DwGy2@7t}D^b7E+z$qHFX7~*QmD2Fm`Qf6t+t4w1DR8P7oW|=0LLuyCEgk43cd-*7apw%XZm2N2{pTVAZ zuzuf)0*LaSBtXKruMZ@NU}b^crb6A=JObGghsxE!Ycj zM}>WDMI!yrxd+(Sa-e?6fp6O5UN-fLFXH~PT@V*CxYf%cm)6sdU!iC8pkeC1!TW>SxqOEM=8?#m zT<PdFqRU? z!HVB)pFbizK1FH`gUS)pY3iVpY#cn5h~IRasWV+@3GXiUlSFlhN&CImhW|Ts*|3a7 zxq><5Q#d3P^p>HRumrXLI|x0d>;+|~#6?Rd7(WbUK8A`r;o}2L^d~HW;Ul6Vt*rjz zkdFI%$s!ySskgWT<<9~Z@2hXOb0`1~Ok~dBE}uMd?ak0N_UYxZT~^q`V6M)9Sj&OX z&L);Sr6W;@Mfayyxgxe;w^=LbpCSqG8VDmA#R;Rm#{gn;FN#84Y6NV~3Z4|UH}H>$ zYwHw}VmjKdn!~^qC?r8;Fan;WTQHJI6@Wk{ns7uzB<9FH6o{a=Jn7R9jP1OYF$3B)N&2+N=xxX5rU?i$qSc1aJ0JcwZ>7!;x%g{bZC|%S=jP}?*SiZw_2xPRsOl# z8)+mc!(9y)6mOZJXVsArkl3BJ4_EzxWlcrv@wlC0$mX;qm$nzr@u<4!K^>RZ6WjXM zN7G-$TwWP@c_7hwHNn-h#9mkfQ@B8g-@p^1LQbLldqK_AUazv#swZE^a4pHW6srcH z*vaO{1neh_6XjY+DzsxmYIOIWu(uf&udw!x5Q@S%2OXz`CCi+FEbOjW@**GfZZ$H| z=p^!=Z#H`@^x7-i3$U1srKF@nd(>?E9rJAEmz7dgey+aBatEEZT*jD5dvC?dZncWf zG&5GfRw->4S|+4x3?2B;7^vw*ddtRZRNTn zFpy3inG>FN%p3uXa<26MJ&l(2{kl>g%X`lPN`EUVPF1t&CVOOsK2p2u;wkUu#$(rf z%=3=7*=m;2W~t%B_rN#zI`aEj>FE)p8NAK6QuM_egALL};zKJ6i9aPnF_Kyi@$m3| z2u<(1yjtcPKq(+Ga-4jQ^b3{nwp!E%EuWFNv7ItRD@&GNx`Rz!wf6Y}}_IiJJYEBd`STnJQk5-rf2@pGml zVi?;2Y~0hu7P#9^c~j;)lFDvjXNNd>)YsE<)pU^)Qv>2(-`;?KB7>9vWAKTGQi%ZN z@4BKlnm!^7JZWo69#wUnaL32gCSu}X8*7M*~)WjAvBmpho;q2NrI zM8<8ESUPsS-E#NsGv$g@#-9rYunbbqdi{E7ZW(>(f=QomE&3O$z&MQx@tPMA3sbTs zVEQL^^;C)UR(DCcjE+hOn`7|Z3||9hTW|-a=%e42i|jQhudWbJM=DwYC3qfLStCs1 zCWOSUBg4Lp!Sc)C)$E_H#Ge}|6GIr^>x5hN;#X?!84JtJFJtGm3_>yzen^@UhF6Z; zfXeZOjLi4tSuyT3 zY1I6^e>gC7%QXj0SKL;MWBfDsJzMRWw~TOp7aK^6R4UVm&D5J`XvBzrb0xg*L?+A+ z@4j+CJ^Jq1alpo}0w>)-_NQCaugffyTck=kHbd}~4A#t0RFjWyzF8@IOM9ri06PAe z2O3+K_gtXWS@NFNtrsl&kdjQ&g0R9Q^m1{+4@Lc~hTA!g!}(6$Zk$HXD)6obI3=bT z@jQ?BBEohjLNsgdU}o*cJFdnGk-!cQ=%%C6yhRa;)IBzI@((F-xQ{C%bMbG=0YH#z za&ueTCQW|+I(*Los=dUxAxhl^ytz(ecakOY&ys-&rNYr{bEmbCy+o@bsYlsjxvX3B zc&McGV`#2Y^vq>t=&FM(T3DBInX93ROle=(#-0n5`&ip}vo>%eh8<+^&xC+s=rOfco~cs>sa4@-v5DMeQC>oqNh5;jxbq%w@~@jS%swA&DXiv!qNshm z+}cKl4tEJQTVtFQqWoh2`B?p|SYO63AsUdm*kTNjxG)^A?aMRC5@78oi{!WOv^b# zE7+~tPWK^&OH!fy^EG5`yz#E)NA z&VfZq%x20pM+zq;Pog2mkw^?^qtjN^{}$h;0AMySmrb9iHc4bIR{u<1lzzd>FUY;= zd-p|T_B`5+e`?{-&=8x)g&7)!$j9d=82#&cetKYcJJMeAeK>Z1`a4HUd)(xDD8?M< z5isO7SE2uvB#4l>{pnioojwU3Ua)mVBjUKwCE6H_o@P3a@y|CpzcKLG#*3HgWaI~A zi^f*4v;42{FP7{osdKQ)9DnB)^YQW#)lwf3vVTXoA274X?;n(kNbCwSr}VwUFZwE( zt8ph;8F@4-;=Gw9o#We0R&=*BS2aVLjK_QICGBg^f06cR$GE`Q&THc#<@<|-MCDh7 zv*Gz&4}1@!2@1+@yhhTwQDMp=NA4jK zg*Rn_6vCHo=9h!%K;^2C2D0$bxZ0RSW#@dwUO(Ho~xbaa>3jY+T zqyDXq*NU1l5;{6?))!dkJU{vvlR(?ShNR zN=EjUf70@|BP`*uJ`OwsoQiY_r4>JY&USdl#ahC7e$AFbqEHE=#22xOoP%FzSjf@k z$!gH$>qxI9oux$-d-cp-U}oz)8Iy-`0~a)1dYa9CtiN^fi(QL7B^!)fnVIo zbs{-?s_|n_GJm2@hMM;pW0+NFWD!g^Nv1_(nCR3m8j3C2zex55>a3qra%x)V!L!;V zHc$Z%jCM7M*+WOj<)xOYBA+uJr1}GvN1>Hqc=?eX^x@1Hpva0SX%Q=`eRS-sBz>)v z*w%CVMszRB(*Jvp--SJo>CF}<8{Ix*Pv3|ud<1gg(%Rm2%Cj8(Us#ZWnwnZdbqpJo z>W(8MA_Xu1L%}FClk!UNJP1qL&ToKv`Oik$odnlpBUfZ9Y$`%geeQ>3scYGaz&lQFcRw1j z?~EKeL}-YEp-Mx61?BICaIo$IE^-`U0z%L1mcT#u9tN4A?QtPJ1VcLehw6UYf+c zs1$SRT6H~D4jM%MeOF?*G8)*zJt|7<7tGzCvK_b$g1NFyi)e`%J&O;Tvd^WN;^)+r z8d&DYq2>y;*xxUNO?Id>>qu3_)2OFX!uYUUjX95u1;?$+ALp7X8 z?($ZQD|t5zPg~O4Noa{dCg&G)PsLwFQ*LNq;zJCD&lOZAijc|~s8PXYLoxb?Ae#%t z=%-(o>wTw}$1Vx%dMq~B_1u9)u?7VgUQm($`cHvi9PdY9N85L5G-z!sWyYC3E zPqb@D@hfg_Bg|!7=!;}+qtDDRPwV^|Qww{$$PPWcKPon5fhClNe7)TtawhX~Gz#b! z@PdvMMb}@ngMUB%b=t3R!g|||t>B}eYXnT`*grJ@oyBJXk9dNV{cuvl;XFCFIJ^~kXK zden-MkzdAOU7X z`qe0mWs4e)IY>xIn6W$-6ueI31VRRM=#`VyDq1e&Ju+2kMPVIeY?=JQC4F8T*t{U{;fJRmY*&x+? z*;vGLZ!7|cu-fPGthd=;%-Teuxwz-SaXQ%sC8x0L+?`NC4J_c5R2FE^w(sG+H2}Ty zrrQ<=f_7nPz`cOIMeEAm2FJ~htHQ05#h~04mYMyVRltxjKsplNczY;Gf9z1g=xgma z7;Vg-7zyyD97Fr+!l?qpq@JBQyi1h`^g62UH*52f*HY|1ZQLc-0&y&UC%wH|JB%SZ zHp_wTCB7O>aLpL*_@cV9F)6vUx%--aTSfLrR5#V{mt{EMA$-QqZk<0|-JXB=Vm5~dNzaOd^ zvT_JuyvqFy7o9dTzYJC0PSX8lT>J;68QGLVO5%}&bnG6Jqt?K|l|jgb)O^%k`l=R@ zgr~A2?{2j@rhe4{TYec9L*#=A1h3E4G&Jyd>{rlgx;_F=e=l?-Q37z0q4MuxT00{= zbt<*Aq&Fp|&>7&T&UZEPPfQTYq|OGO8<&)K(TKU^(w~YAhFYa>sH^dmGI-EU`=a6_ zfpg??PCbK0`F{yCDe!onNGqpx; z(?Fw$X&;&vx7W={??60FVP$X!tr%=noivG->ir3BIxy%iUu6Hf)mZXshOkKwlfe-t z`555K3F&THqB&z|gx=XV~eN~B?>gDaI>8bBj$QnQg z!2xZ*nOE#=-RPxJa9YDOe;u*D1O0hq(S$MuP3e32201eWk>S}O`R&wVYlM`Mk^L9P<5P=#8j0dBt3Cw0 ztKPNVF%`P?C=|faTJnCBN<<=@j!BqMgyQq;?Cb??miJWM)AEB>a^rG0n*+N&GOYWtfB#>O-aEa$DOBX~}Yn_NFYo zwn>KRB*h$ggI1FHXF$)GT@ZsQ$(7`I(oo=@^}EE`4O{KfAZ}GuNwqBPu8gT=^G3j% zLVQhXxYo7F;oL?*pJMz_G7rDj9u?k0P^!B)UM$zel<^eYV;5#^KX|GO zbG~b7340}3xbjzXvCZIl4B`?b2CFewVn5R0gQeoqG6xC=xF^!$PE!*RfV(h5-@8wi zA>v4@hBcuGzgfG$2#Mif6%?H51ylz%<>*N&d~m3M)vQ#E z|EF5Ed@0o0SqBsp$ANL+ueCA3%a~rxaATw>kv|KS!|j>z-PHTY7>hznE31+#trpl& zjfJhP>)Vf1hM{T$jY=H$D?)d&&l?D+_;SPV|40)TxG(+|Z^QZ#mq!^aIX?R)>&)O{ zTnTRgW|c7u-@x>PuSW?*o_k4v%DnmKym-;rgt2@p zzQ;4ZRK_YuZm`S{p*L6-9@6V4ku@N8oa)0Cg9^RA%lBCJ@yJ=?&6e;})FOk*e|Xc} zbP(@7qOPpBy-sTO*|iQ}_>wi9kPWL32NN)wSnd1d*+}h2D!8>|4vT7%`R|4pz_qHp zDj5;3Liub~uLB@xyQ(DJb=rHAMd=*oM)Q$eV^_QU96gduuW(C&V-9E?Y+ri(-#V5>0_n^jpxgut_>{k;>>y0*qS5wsW@9x@yFA?6S7{ZQNWZ z=rn7b5Wc9MH+vZ6LDZKTdb#zzTLZ?hDLoLVfL4T zyRcx-{pwGdxc+wXSKXOKmpN>>;ds0@CC8|9sSopB5Enl9T-?`NjX&_KvteK5)jijmwX^NZeU84`PD&QVVX!$CJf)7jGC#IZq zI!HmxnAnVj|9l8|J*42_{LVj?FFdc(!004poN^);l#2(3_3+xLhyuQte+l(ZW_6&* zyw?n`!v6Cdm_;Mo!h>5<_Hkb*R5P?6kP=(_^{2b{3%u@STVSgJ@^-&&{K}U0Ykr2f z-#QZe^mTlui;){5b9V<=jfPQv%9IWgIQaa5EDdX*w2+{$WU70QB=#+E5#DC7{U!2` ze-0EA!3w=&BtiLpq89qMl zORyBz9CT0JUxh<5BFKg*IyxE<&N3{t^=cV~xFGqb4D$ra6-d!36-A(Iqm+#gGoM-4 zQEQHfl#Sw9yuF3{?GpdxK>L+Ij%JSICu}=qQ3|98Q88x)$1myIHBlXYQaO?oVL0J< zOqv7R&0L$5qLA%MYFU9hxqsJA%BV=Ll{^>2ucm;|O%#}ykoYiDAPHCm;uy-+S*TKQ4FfnVGZKUTf`jh=R9e23jLT7fU8X zPMpl^9WEb=Uh1&-2E)H>rZEGIX((8v{FNUYUzY$0^7Ql>m%tCWS;>wWGA5QMKmp5C zDLQgVNl4hPbVS|`#v&p5G4uNL_&AVe<{9Af0RO} zJ6r#(J-r!-tDl*QObExsmYh)NGg!0NM`M;%mO#azcxQ z_q4U4qAr99FgnV-$+w@>AF29jUbYa_W&kG{WN7^qem&|syBz;Fle<5oE0CX0dhl@Q)oPag@g?+ZV*_OPhMM$yX4&?JkE*bmT z>E0JLoE#n=YHFxElr@cq;GU@%DJHikv`9w0N$6vXKn_0oqj2aBzpcD~GX5ZcxE7iC z6G>IgGv<#CY+JN=VKJVp1ZGibO|YcP^3wM97wk96rHFupYZoO@t|<3U4&#k19IgWT zp2Ww}PlFfhv>NJVfn}|FMQ&cE{4?tTF85s!@t_w@R3yT^2Ndo0DM1(=s%lGZ_Mgso z3J9_oZrf1#Q*spk+BU!Gj`SZ?6(OwrxN6Ox_Eqm|8Jgb|+cPL(yv0bo{{!OX9evh={e5JeuQX+s|v6sWF zr=z0aLrI9LEoF}4{zhnk3zqC=16B*CTS28%qccZkFpf027oL+m@75#DGa-*&Wl#A; z_@rl~d=6v5)M|&I##6Zd0FXc`eB~uAtBl73G*#?*J=eTY*XoV)3nsz7XixttL!NlU zm=h=e&CW)gY0=(OU0*+PzT*84hgEJ2?DyDgden+W22e^N+R53Aqr&psgxkpWKa}Oi zLwRQN^hd$`3Ksjfc0*E!>&`7(VOqxlX_J4nAufWq?B*k(pHZPoUiw+>{9X(-LM!l5 zfG&&zwm2j7OZ=)I?t6dVO^C zqoees>YM4g=x^H6zI}&let!jB21_Ev0ohMX(9%a=q$Om^nMcCyPnMTf^Tf?#k-w=I zZ(3mDYV-{hw;HexIFP(ht<3Kd*M3xBYTErrLZ#9QqT;e{kDT9}cUJ*1Z(Mz7X=&wW zaW$qB8*IsGLHRGo4?Ve|2~4G^Z>1aJi58_|ARVhf!i@Y}cC?V$doBKrxAWMrpEI1Zlnb0)i zg3pHPrcFe>w4vIZpX{I;_9=*7iT%f=cqKIf*DRyKCq^2ZS)u|$=Z7V^ zug;^%8gSJ8N)Y;e6l@gj*pu**%vs*DnEY;!ruml<08c2N=v!3h*@qUi)J2&5R^5SM zQoIrvk!CuW**=2JtijIjq%+GD&!qf_SrI-7HdJIx@l7KQw)92%K!nx`#ix_g$SKRJ zrZN#xQ4_cP*^AobWZW|471EOghq`0e4I5Z+%pv@R2I*_8VhEziy~e5ovF!e)r-SC!hmtR(%DH!}!rM zXOb*?%x`8=C&fzs0VmQa7Xh+8nTXn%XnAxUw7W00^z>V42Cl!}HB<8RvFesC4PwFl zrKYKI3u%XuW_zMYrGoGS(;lUwPsA6byW6~-MhprR_PvxKfA>_?J|#G1z) z`zNF)Y+Zhga|UpBAqy4)-Vw0XU|VDrd;I%-CWIHnp3M%72ccjQz=PEt%%W;9D6PQ5 z+G9(UJ~I18OwcHJC&qeBUF9bQrLAD@WSq*h7W+oIo}Y z2UbvY}(fnN3F8F86w_kI=*;E^QNPHAP{ywC*8oV1^s>nNt!DwH(#bxuthigdC<63u zaH(g&lhHrkab~p1^yitn;Eq91g<+7%0~>%{4UUd8=%IKD41*eB=~}GBPuUB^uP;ns z&#+GWnfUX5Jqr&^9TJ?Rrgsm8P&544F_@Ad*;@Z*OwSAKA8M7Qp3Zl_7@FxWVUYoc zoS~yhcVb{15kC_&8FNBR4C+@YI$mD9WW*RvI4vGpx+7}3J`nOCL%-rfiX8$;Rw8#; zOk_C8HC{TIKGHqsq@Vi};TvHNPv^~TTNl!}MZCydl4wU!T@oG>?50Hcx8U$64x;-3 zj1Oq&wnoQCCM;^`0YfBSfVePX}$3=ihyro$+R3D!%>PDc2ECa*;&0_+MdPtj>nx8mr`3KHmOr9 zc!?UE@3^T@!98IQ{dNt4(CYTnkC{%7vd2P91_D6I=VP>wf95yO9PBX>sqIlgk@@DF z^6-l+AGZ!|ib#e(!plp;VYHNz6s)V-1o%Dd(1^G19XQAGAR=?jw~L=s(ASB$^F)69 z3;6l_9njyxubTSP&I8QM;afjxFL_(^S=ODy7pFhTd@X61Njq?8&2Z;m)6JW(KZRID zGe68v-r`c55JXvZ(xCZ%sl)H)`EBWDmMH9mi@cke;XaN*=BlY@cdntJ5V?E(N=2Pb zOJP84a2v=72^mx1=}c&4``3?y>;11Dz>j{aZZ2x2^~>A}093X8S(X{sp1&<~#!6Aa=R z08L%~ZqJ8S&~hkzw;4<*?9G|VVH#kx+{6w6pE6T+Rch)o&~+H7+pQ_Pk)BRiY1FF8 zg*Njktz|0Gs$3+0&Nao)RW1z_-XG_RzbSvSB+_Yjmt+Xd;>H9CCxuU`uOUvw~KyL98B%I0&2<1 z7gdK_nE1$(?9DT zi(B{mxx=6NF9|VW?d$K? z(9qZ_V-~6k=Q?w;AMdR{b3OAr^hqzth4@R+Z~gjk%r68e$6w+%GK0g^I|>KFYm_#UN+F&T_9=k_*?lj=w7l)(HD;x&F2l4yM zOXtk#xIXK)8*~-AG#n@a1XZ5u4dJOHPaJth6y@eCPgpyd!#8PaTrq&U{6~WT_g>0 zaNaU6g^fnq#Hf9;+H92hE!93(M_j?Cm_hmlMrmBU9`!InB7yQW^0eu~&XB^H8~PZF zauyFH#C#GCBa;zE%Y?61S>m;-`-cJ>Ra}*uM0wMhu7$f#$06&gbPhJdVU}{Nx8OYvG>7;N1HqDJtZ0+M);7;5RRpo zgyOVx5vpiF%6QpT^prU)JTY`Oa{}0Q%O~Mgky7qYfs)KQXxH^xhT@s-***6~fY4W9 z;qDgW+bdf^4~9rPmTK?xh_Y20gaX=>RV1Dgc-f4C$wv!JIzB9a4X^;rZ!#I`@xAP)MN>(4n3b`>2 zAjR|Pn5j#wx2uLEc^R9CPL8W=FKW?wzclw&t_S(F%6JmJ`s@W$N%0lx zNyjdEvyk7Z*m@tU5YH$+8wvauI>;ag;*?j$btl!(=?m4RHeQuw*KVRxtl0_HfvXPQvQ6hV1BhpYK{oEF@PBo_VLg8jb{lx>k+Dq z1iMLxUf8x4@@-e*`1q>0o8N{+Ao!vaDFIaY?u_I3TQHHmXbSMKB#ne=jEPuLm4wJD zh`7|B9Q<4-#Wi7u&E0!w9XIL?<~%-U$ve~3Tg&J(n?d>5yZh)@X*dh#w@m!<$dcj5T~ZdWV&mK^e@}qh=fVcP#gopl381_XpkeNyKm z3AFbjzw8D)zAoPde7-#)x}caX*Ri1Qcz*a}O-csNE1P)+c|&EqwS)&pJKPjlWu}ZR zC_e9Jd%2u#N>my)tCD~67(w6zo0>v7A#qRz?tA5^zs`n^zfYdr{dfE8bpGj5G=j=& z^atW}W=475n{TbQJHWHM2>k#_9knW^Jd!mw{~|YYOn*paGPos zFqPa~bv+p~Q*om{sG%XE4k~T05H2MjGg7_Ultym^jkyZWexP)~YS^UwP71lGN}Whh zwiV%U`Olx3GK}5Ac+oyklsYb`DYm-fbIn*!B?13Fclr;NcWrci8azgR=fNsgZA^+KS1 z7%lP0$u6N1x2G;WZ(BQ|BHny0aq9l(IsL;M%wc_X`CuASoqyHJB5OrnaqGj;qMDFA z5O}OG{WrFc1y&?=E*S%e4Dpvc-)6^U>PC7tJ^&n$>xk_kJ4ca$mci40>F&G?j4xMQ zz2g>1%27Cl!^Ul{b z02FqR<3I{W+ui8nIQWp5a5m{s&2Fyr(8~cA*zJQlwS*DbqHgD{yl!%zlLJya<^H!- zX>niXj(>1;vmUZehP6MZkrSAxt4f&-wH6 z$RBknVh{&s9ObGTUA!g1q_~^#R>E7YIh9va8&=_4r@hDheAbI#9Ce^7K1TN?P1^l~ zcxlWWgB*9A-I#twdZfCs@$t3RkB$&Fg2H%2d6)yO5}Ia7h!V~OBCcXcLza|35brWU zp1tKZ{|*K_VkQ;Z3K?m&Eo>bTjqETnjwW3kz@!Y7d_WDGKBg4(+aW`3_I8=u>OacX zGycbI)hE?Z*@gal$vauQtkyCZRRy1g)x*b*x7yQiIdyc4(>mN-VLR7VXU6R(K_`Ma zm81At-?lvcGz#=OG3L$CDoSD&(4dACgC;*P66l@qh;8Ud>S(btj|ZVoA9&-Fpb2$( zY0mkNYqj{3gffnMt!#6ZatTw9qIIBN>E6ox{JrpoEwpl;AN0DX`A=4eTfV@$Xf5By z4UczwH)4_f>VhX@l$RpR0rUA04FUV=-WQ9&4n-7wA1)r6Z>_j;J}pR505OgML#R;v zMEXP6r%b-|H#q!0|9f?Q7iRb4T~y-a-V@6^MdN5G2GVL}fox)LqLc;ZMyufmoIkLQ z2!!?rHZTFb_OYL(0XC!MUfHwTx+BOoPon2+|b;RH!=YRZ;~d&PC()Vf@Obyd(YxQR>2p z5ya^Noo@J{-vq|dv_o>*p}y&}!L{w?+!p^d)!*l$7&FELEkNHkA^kMCg2V}+0m!U3 z2yTX&@FG-Zh0-?LVtV9ZVErJlmn5ja=>+Y-3g)D$Uk3< zGMs1rdXfd)j#Yo0b-z46ZkR?+nL(Gx2e#EzDvZuR_XXOClovXftyTq&y@Ohbi8gk7 zA9=#^$(Qox-A5eckY&!Jcx2lS=B=pV&VJ!ERQ@2OtHd`*iYbxoI>TOSYNxT}5j4)j zUZzHcB|e@X#O>&Oot&J)J4#ttn8)Vzjl-oo`eB6u>AYTx0lw?UqO~IYh&z>&GF?iU zN~kgdRXnU^L}mWpHx3S?fw1Q8BRo&CG><}k~9ub=D1rm|Gg94@G$IjPhh5anW zNqvO69=C}_CcdvqxEuJZl2eJ@ZNiK~5#IL|42I4z=evMh$W9;1GLx~I`KPuG97?#p zk1C-+Iu0kS+uP!`9ro#9)iTDCk!}uXyqe%!3dF)3b{Ve=_^#0N|h{<#L>%bEnS5s7F0w8!si8 z4UzcbEBCwm-?1}U<_sU%sr|^0A4$l{hrlQzn9z;k-qrt|qtSh2-qpw`E16E;>WF=3 za~0O^-*9&1Wga7Iponrf%!0Tbu4fFPePER~yrC-M9F5Vs+OX_^b4*7LDS1>t8&$;lmPrxE*s77l-^QxC#fPCbGVFWQ{fFFk{F3>hA zg8Gk&@fytbHUk9^e$f9!r`F}Ja?!Y_+TieTb?6O}S7*n~zZB8QM(bz<#zdB^fxI6Tr3A> zG2i!o>dJzjmbp#Ypq5%t2Vjz!EZ&*qVuiR1v-+*^rCIhi0GRnY`}#AT-JUyiO6MS!5*NDYwewI~eT^d%f=|>hLICxD3=!BF1pThht#fYt zaix!JZe8+;aYg4!TVR11uud}$`^s(GN6!-m7EEY|pf7kusYv(ZAbjI>YTd(6iz!R7 z!1i5)g@AYw4^cQ2vI}>q{fC{vU@E7wW}BeOPVKjX$65(TKj&K%B^@{1CaS}9T=wCd zLKW}!Hu!i{EP(nzYLJyRbOEB59E2u{K^OGsbEFYhfrry?GC>uFEZw@pX8N(L43mT^d zX_^B68hJj8|6)Kc%2XBnv$eIw&>{Qj(|6jR5;%qA0Py7cv_tWdua+I*Y}9oGOFacdp{R2!B(SEF+=8&GVcpPnt4YA zgI^KKL z{^G$l{qt+EFZqwT-CB5hX(TyYZVAzh^ZG2RagVnK?0lN&v2k{8srS{4K!PNIsQ4vL z@UTjY^8NW-wg;Hk(h5e^qM{Cf_P}`F4-1Lx zuu-~d@a9-H8J5?4g9WI0kQlY%H6sRJ)WVqVTE+t^&kBA~F{+1xAM@*-5c3gg1loag4Va_@QbQPt-MDfO{+-cq@ek^-Hpdete*qfx4y z66`hNgn|NUBcHt#&8}Ck+Z>obgdhgz+h18xk<_GiMZsHjKqbSnbchjq1(bP6T&9gG z;^X5Nbe0OohFV!$D?}M{+l(jJ;7zw67VmAg!_q>P-N8O-*YxVvL3c7Y5xRyKQsw4_ zdb$rsl1WD{0D6f}u00(HTNXDuErPNUp?B;{y>iqp8cF%SNV z(!)TsZus4N#&2QdV%->sJGzC*w?tA#bQCx8vZ{3?<0ZX)QD;sl`b{EeCp1KB75|Uu zI}(qt6ON({6Cn6OfV_Dt@}4~=d|fU2b1Pw9JeQ@+8NM?6nB>8MA=M}D>U_a9)-sG4 zK}@;QvPYuGa}?6{rwQ2fz;MKd*cd-XZeTJD$vZ&?ZA z9plrgHu9>e7F}D-IFSVZS_eW38{JI)S*>eCO!}HAkux`VVNlSH;=*sfd_NP0_(d6Id$~CONNhfaIz%$4Mp?2YS7z4F?JN@r00sLf zqXJw|6bwD^1H-_Z4TFCb1>Y!*N$BhYmlCyV<;MkMV&C=$Xrq5n&LKo_y_}_kDw9&N zBl;cR8EZ(#(cy9JM~jB(T*Z(Ujf83iZ5#(d-Bom5Mi7OdR=McV7_E*RIhf;p5U)={ zy^Hpx2rHJMqWa0$Rx_Y^r79r<4QNt1{MFj0k;e-o?51`6(M=`+RfdR0^plDAlnaX9 zr5tvxV<_7p^|L6>87h>4xLq{f##bF?!ed=Wt~sie>L7Z0lCe$NwCK`+!>)2WrlEma zff?6~t{)p-#_Hfha)t=y1o4KYvE5dH{@~z-S$;LVJaZ?^sv>zlZg$0I-+d?;X^9ZiSmMExH#Jq35JxgzMX($CZ@LyD3o0Un`be zNuZ}i^nWYk%B%f$zje2m)h-OQvl{NYTIQpW#M&pBxc`T55qD1z1N9LVtz$T;<(08G zgexUf_Rg=R&=sL1bgkle`W#cKIEE>fajxT}j02KF;NULka@5vNrkzm9@mOa<(A144;P7OIVb`k_zjz}F?N^j3U6p$M zXYuwd>R)c9?eB({AA|3&G@#M&VVEaW3Mv$1fQV~~LAm+bKL&NKc5E^BYJEn2Jt;AI zFI(NRcRv8^;NPKP{v*g4fh%p5J6np;mJgBQwrPjxd*W?R;3+1>)od$Hr<@CQ zBI?>qt#FcF3Bik)>7-foDKZ*Ycm_i%15@`sMQwa zxZ;cjEuGQd8&Wmtdg`q*4PoP`keml0vE{P1;}jUR*v&(+Ohd|&7jhS*0IF%bw*`9c zQn7%*%5+oU^zU$@Mu#QjkF{koEJaPY%*Jgf9M>DNgtjtUVRHy(bfR^d=?$ByfseEBfTmX{E=ksc%BOgffbgo6m@q~

t2Yn(ApjC5q>H8pzUXwxZL*V=lbMn{zQ|~;DNr3X zZ$FB>BBRCajtu{g5H`A0Hs?B>Tw+aQR3k;x^v*WrJ%TQ^^RH0_NSje04cNFJB)%a@ zVE=grnU&m3gA0-QDOFow09l*n`rFn9Z;nD9#>LoMEPvDipDs&k>aU8#T=7nk8>ltH z{`6YQ$mzfhxR77qyB3u?!?&}sA7dfV`S7bTTj^~0?tAGOSlPO743)B1E9d=4@}}mt z)!HYeD&`R@8g*vG;-k`kzY~!I_sdOz*K#nN_(>2B8ta9(xg|ceUhSp{Uaz|6;67loMR+Ns*(6qyWdV3X1@cp>=Z9Lp?Gw`XzzQn{qD9EL zy4f%&Q5ulNcoaUPTGtVZ6YNk->^WG4q;np-5IRO7m+q`LFou+BuLl>_wt9%rhfJih zlVK-@D(t+t)(>u8zAgnXZm2yRZ|SK;NNFYL(ahdYq-qqkny}Fehc!32^HCqc zEiGS$4z5FW6R3&zfEvR3Cm9G^EZjKrPa5uI>Vt<4{yR$JFI#s3G?YoBXSY;oG;J-~ zF+h=pWCGeHb&THoB*bDPbn5~6wE9x7#r`Zhe6%Q600ai5Pf$O8(qS00w`;9EQ9?lun=E!)?oLE27HNV+m=g!9ForY4Lrnae5{xx8)mKu z=sEauE8uybiR7--qsti1x&Z&xMbC_dp!;nnYQ0Mx1@aQfK*>W|8jhII?z!iZ%v34x zuaxvc`_{Ppm}4O~NVBH+RrbbRd0qLaUQuXP! z`vs4ips@v&DH(xFqDBcgu@Sjf$>m zkEO^z>U$*~2RH6O7TP5MEIUOXUc5ZxCR0`10xGVeEFogi0X_$9|U(D7vdNTXx02yw_Ee4f&Ply1#{+}B?_ zDc4E~-t+WtVOUE0J#-K<%~5pCV~@#V8kE1pX|T}wk9d%Q=|MOLae+4XuBVgbETc%a znKY_`a&HHj{a121aB!e_0g(XJN6V9@M=kZEF_s!>cXyuc?QQXm05w_@nL~P&4BEyM z+sUj**ta+Qj!T@l1OzmIh{(FJ$J$VV}1q9qB5( z)kcwTsEk*az16Agp8ENjF@^r{nMIwDmKlYkY)D$p=8Lk>*p9>cD&>j675nAt_-9p>|EMOJ0OEFciNi5`hpUg+-nnZ8|)>{ZuNySm|K6dD|X4 zqE8g1=*MIuYZ_4w9FggDZ#fvLGf3|39$I~ih-razkrubCkw?Yq-5aWN|{%AE08E$crOpC2T@BxDSBTHom(JJIqP zyj3Xc`?fB~%8WqI7;0K!tn~A$BHpO{w7CrX!dxO^(T0+o2$;D>C-@vyI>PPe|1oXc zk7(;K4Sib4vbqH)RnG!`L}QI@xmAK;TE$ftFvli>r|8L zs?Ifg?C~et@Rd-9)ta9jH!(4B81iwy*Ho63aU#FG-`76CvMdV|uq<6wRKHDOG93Tz zNYD_VVR19R>j}K=7=?w$fPh12!jF|+N2|3^M8e(Qq4bk3-D$SGtQd%~xiIg(lhze` z+EtH)nM!AT@E^D`zRvMI;7~epVP)HkLVpB_#B}i&%uRj0fBj!;X3(Hy@?Bo?$RcT5 zktPE0aij7vLV@HTMCJcfYC}uw#;%~1-@Ror4OwY3ngjT*PM5-!dO>h|#|UoHqP{zw z`74iTd;IEc7+i1DO>H7%6kCY!^dIw9t~*w@?cI*l1=k{Kn14YGP8f=pfdf-Xh|BlY zE7DQ$8h&A$!OS#&7PxgnB<0bi?slvxdePAQ8=l9l91-sWyCqRwg)t`k?-N;<$^+7D z|GrWyu;NIst?eZ4IG*KH-535^D_Fo1_7KIo?%17#i~f6(zy z8q7ut#)n+Ic?eU&qeqtY-bg_}DcLMFFeN3c-h^w-HBU|FTDQXqfIZdp6zo#q6}L;5 z5edXMTH?TqG`O-3O9;KlQupndqBasM9mzU1vhO*k z_y?x1KOl|I^q2tJFcbNFYP-fbRss3+Wp2=X^A(g#!W#G;8#8e@h2* z%;hv}%iYPvbZ-QufHVk9K}^t<9YZ0{2@6&KC|YfHPUGR-@V_;l4t_bRs2KvI@SGLSPcuGL_m=Ba z6itErG~J;qkl-{Nfkjj6x+5$6a8L+Zz%Xc~u!)F}+!oToWAngxqhL}mUrRHX?N~4C zgfx4(?{@VR&$urN@^VjDcri#GwetXjjj70%<|hv)5eG{HOyZ;v#%|a{Z>b$o+96ZK z)-|D*QX}SGEE9#i=eRA&9}64p_1Sq-HlWmTcT@q?)H?qXjUnQO7xFrRB?@-#{)g}3 z;h~8V(qWdgqm1qD2CE6DtfT}(^p&N$MKZD2gY@#Z^E=9o&tCBM%k*%?+k=G~eb%Fd zlxuO8wkee5_ejkv`xze_?*u(qCZjqA6lkadL=XBQNLk2GnUj|sltl_B>Ihk2D8j37 zx(0l{oJbt|wL6-04yHli?CtH%EXh6Azt`55ZwCV{`{v5D!0w~dgk$iFQ)@Fk_{F}q z@II~X2q<;D=Wevo3xoTzaFfWnfi06B?~wK*+mF;;jA8J@UsMGhxaOnNWKo`Yu(Gu- zMRE9#VZpiM>6Miz{qHvBH-DE~z>_W|fZ&bYhupUOR|R1-@YRAxHl`>W8pj)De;hCN z+;T9(Yk4?ROc|`n(&pRAi>fEVq!!sX9ZMAp0nK>cTx!mpTXAmJq2v*&B~sRV=Mbmi zMnT}mz+aq~VTxYAd=5)lEw)_(;m|yVW)D^PuNs6=vGbghv99Dl#A-F4z5rxByGT<4 zJF1JarUwx9oT8Ualr5`k@dM{;?Vyt9Ni|vZs2C+bf#sWP%EF%}CJPRYee?qhE5nUy zr)aAT2R|>vsNIO*aUjTAGy(nxXvu?Wy;yJAyk6G$%yF=rPJ)ap{+bChs*Kh(7Ce?u zq(ruV;*Ue}=7vZ(MR3wfug!tLThag#AJ(8M6_jQ_5nW3$C~J zl}1{s{lzz};JbmxJi=gVB_{}K)G9wGvpE*Ll|?a;ueG29bl_9|XgXHPUrldKa#nPf z;gHImHcFqz94LSOS4K_*wgqlmF_hV&G z?^}=bf_8Ze$+2L%VbR|4LuU+MStAL0&ICjk6f4U0Dgeqvw^ffu(=u*AARnrw{=BBv z&@dnKgUbrS*Iwx39D3z+ppk#!CO}K~ysAi;keJ#?&BY8_x#t67E!262;oCcu`tnT@ zQcaG~3mJi{;U@9lHt$kwKCq2T1)HG=oq$I0pwRj1`B^D=ldoW6D(V(Yglp))Xc_|Gs9TP9sT5={53jg#u{pj+V#T<8I-|Zmx>Im zXWqm9gjdB0X{3W)c}U)F1r+t#B$%urfctLtkXU*5J(A(fjX2wrgg_rgX0^1>9{e!- zYc1TAdHw9q3BqxiW!+jlzXmOJBF&%?&x#+bi~7xFaBSSv*%~_Yh9Pd5CN1n=4`X)F zz^m;De?x+K+DZ`IMr*pTxYcJwq}h*BSIP_XTXoj!hnuIQeX8YBgO4h@9Dw|uiVm#P zU2fQ0X!M)Luiv)#k1(tFEuqU)nDi5ChYJFl3iiXkL#d#L>7etMe4Bb=Vx85yaFrJR zvZ^VGa!yK8u;`wtLU$xg3!VPRV@|o4mT;Uv9r#q|TlAHgQz_!a9kELHz*CRX&xN_N zn>68vPCB1$a7AVkI>QBk{>mdKiRU(p%i~&uv8jnOsf7i!^DUOc==`)KOrm^z1jWV0 zakPo4wV%TI;CUbg|KOH>wjuWaC8=v&4%E-@B|D6U9sU?%)q4TRYEmjUe z5kzGj@#49}m|Wzq168h@Jy60oOO{Jr{_V6=Ens}l-(TIP0CqYk)pq*#Loh*IKcOYa}bg?nkeMSpd35fn* z)B!Gl|4OKiv2pBc-~l)?Gcq#LLty$D5{!VcUH^kUXE^%?TXT!3IJy6o#`Jk#xfG=yaevp{P4M}svl+uj7)Xsa9xc9I*D0}K;qj>1# zxBBR3@XjD%tk)0msthVJE)L$mlG(S z&#si#yY@P}J>@4`w6lj7Ws`Qd`gYmT_V8I-=d|bRtm&sApYq9^$?&7KR-miI4eeoK zb~wo=N73iu!Dw3!*y+;z)%Dv)@ZwYpMiLK<{q}x^FNJSCj7lS77^DePXQlybYwO8lt#y|Ufh5<96mj^0r0Ze? z@KlO!r5xVem;w5A0F_5)FMrzQjTZyiY5Bw5NOa3lk2_(imEaUh%@TyFY%wAnStP6T zF<=^IItlgA8DhW-wmX@?RNO-N&se3*>apWH!{a0V;af0(>e{@8iH|7iHFpWLPvEn6 z-B~cfHL@ckBNrX_^-0pw(FshgHGUwdudh$Y&5Z{quYf=U(r^q4PxAd(h)j=(eaN@B z*trZ3ma=2&$9 zn>_&1@fSUeOJNybigYNEpeB(^cZt_r&K&gciv)IeKukYNvG2SW(hN2t>W%zlX zKQZI!nD?|Rx{0c|yQ!0W_2BR*b8=%cA zn>J>(yqC)!%qI@u;+|=~V5dR|x z6EG9opY_vM56zc0s@ELZ8BZ*>8}}d5VVGINxKq1>>nL$)G9)7Q>nwoZ`vR63PP5l~ z+_P2=(V9-wpktI@i(aoPPA4U$ZFO#5VJrQ>G<=`Q(1-uiM&0hOrPoGb0@76b>%LFu z4PG>Ahu`mcx~6FTs<&vr%s(me7wAY#)-ziv3Y)y3V&;X}yBnr0Yz6UQZRUqq0}KBq_kiDoG33*uAF zmCnK3&lVRIY*d1Xg>WPI%n4ef(F&Qx`LDrw3r2ACpzz#+^26)2Q|^Nk)4b(W`~+ut zMgplJx>zVF9-G{GZlRjRK(F*jCY#;Yjdvbia+BE>TbmW+oualwuS5Y3*rdOVBkbW_ zPf-A}=Oq(&Oq#*&Tkf}d7055_Ed-YZY1GHu;($iSZc|Z{sysoOKN}k(?rTW2lZ52rj$Q z6VEUK_Ki*}zbS|g9#Y@LL$26Nb4QGI0em#AArkpVdlKxOy#$HKdyS;Gba%kCh&Iwc z$)6AEBO&hRP*j{Y;tvVG?qCV3X>kbug20b!>C}Z{ajK&o`dfDe=j0s?KI(d`ky5OS z@yxeJtZw6uT*SJ-)WeTe@td2d2Hj1ikc|a<6eDksdak0VzHSv?#O0Wr4K)Zyob<1iOz_ShK$O41DPT zh7sQ{>K|x4sMENod!4hk3Q!<4JtJwXKxY*qCDgGP#;Q>znu%t%{|9t ztz$$Sw&TZ}9OjP~-71e+nfac=}`y>}TG!!34&DjC< zYp!Io9}5WSn4v90GnffZ$bF%Gn%k0BYOM!QM&5&8o;QUA(g~jifZ$W;ci*AHZkr^0 zZhZJ%im=;Z5;1Ao@uy<+Ah6wfdPxIq@kLFLtD=xld6llU!x^iypPR&Qp?Sy?`>)ZmIlf=gC@Uc00cihsHm9~yOc)peJ@mu#nkN+k<`S~e z3J*iYX?p2E-5IV9%r%`;Fo{$Hm&}Y3d~LZfPZHCTHLL}3@`s#VOXY)!rFgF(j~bN? zW(u*$M=Cl!Dm3Pejg;K~=m!SJuM;&ty#;qEkkb;5*m!RR8m)e3d|nbA5BnU0O+nBF zR}55>&$}v}|KTL-%N2s|$77lfS;Dkak{y~Rf!9B76$Cfe7MdP5OfPNzY8c3ZWv2RN zH=R0b!W-t`1-syE;*V^0b(5E6 zA1?Sf90zO?3i9kb2 zm>tpV1IZ@Q?N^f} z2dKASahyVVG^Pe|n15uJ*jW;YAWuQ{Dn`+lvd-V%2mp__; z(&1xgeZ}FbWxo)?oE5DV@lDJ7;wiynK8`5=`(Dj#db+kE4bC^cw>dPBs@aA8zPB zc5C+yb8wlVMSu`&*xA^07dSkZ^ktMvQ4DqZ!*Zuv^g{CN9N!!3B^vQRO?`D(6m8fq z4NFM3bV)Br3xb3o0@5NOEr^sLEezeUNJtAvsVsuhA>D{{NryBG2uO3DeZTKq=j@-m zbItC|JbOQP{NnJ#V3!Fuc8<&?(QPSyh)%$_fxXeIib>dlXkYBHPw!1o_1I3D*|F8?0lf0hL;%7(%Ra(ZXSb{q5wqTPDO}2<{%#X&^kf*(SVYoqHk6X z<%wVr<|~DBni$lddEFzDt;q$vY|nea*1KwHl1wa@5D&pK-m|nrO_;jw=ftEVwig=y zw0s8TsNm%curFiegmuaX-@*~_h#;4_pzm1`Blz(!&cETR(aelA?7VQKAEikdte=$(tvevI&ro4t=jVoj0>rvM(2;sIelouZyYP?I87C*-|wk$ zM>ikZEHlE1;Ck#+db^%#sZZi(g3#SHY;;QDfHjLnKUPy?m-5}@=c&z{Pp#ABS;@^; z^3*CP6tz$OF?qglE3UN4>GFWVkTSl^T|k$9!1j#6j_SXf_kWWaucvcfhtA!YG>|TY_4n&mZcfc`Z-`4uwVwQYWihD5=odx~z_nMF?zQ!-T z>(ZVyZO$6duU1k9Z)J8+y~ZOF^0AYze&HXpH0l!6_k`eKRC!e$S@XThKA-==3N@gk zn-@wh!~MBJy=fR^1K~m{tUHqFta=y?Pv2V~@)Vv<7LaKSceUg|a?_7qT3HZMj9U)+ z&!Za)UNBdp4pmgs!Ia^KR}+rrNV@h{qOe_r5y72U)y|0ok(W*)^L_E1n$#}r+oj)G z4Sl6~dpkX|ijd;Vv8(9n`z;tmld;tAiUk}5^#1k!YQt4|kVIB->fX~gVtJ;4>sJnw zZeUT^+^h0-ht#nK)n;)`3~3x6Iejl9NE&zk%Vun908XQ&3>r&O1SIcP#*wzQb|{Kc zVIS)0aY0=q)pa7GcqaGSn%{9;<<7kPt&6+YL34WBi5U&#$iIKQO0GQc=UdADd}Lbo zj)1}cXRpBD^AD-RgJwO1C`yA)w;yonCJ9kwK+K*~gsW1z++(;gq-=j~9P(tp5qz<+ zHL5?uugsA&uT+;Q6N5yZ$iwkF&M-vE*g=?(V`~Z7kjoQm84WFIJJ^W)hoC^fOne1b zjhT)bwslT-W$XoU3FMOFC&PcXY>81iOVC;h?7+1$mUXw)Do#SM!8tTq&=Kwy1r)N8 z*(IYqcz5(dC>> zrRld?>^PcCdWn@E*67+6*V^j1rH@7aZr@vmmGll}c$+Vh`g!tLS#jXd59 z>>UfPpG-%}rb6NW9ahJUA1WVbzNa1xN({aCOg^w=b-T+CU!z%fJ zOf_?KwCJ!$RgaUP{jMsa?bohIyv_fvVVl5tzf7YfHkb7QSEC`Lp$J7i1uAwLWLTRp zan*61)V=+M$Ygvdchj(CwOC2132S@du>0_3Twdz+rHq1&jfg3u zD~ZoX7eR_dgXfFfoIgH>`WV7(+V1a+GnPx63yH}M7~O_^=w=LD+PpU@rj|{M*Z1s& z+E!HMQQLg4uhBtB8y$pLB?sA!vA?h8M;r|C+_~e+*g0cZ zvfU;kYAyY)Sxa^3sWhBB{Nwq7Bdc1}I%(Bn_Mi4z4i09$5R!7FH$8Ga2Y-8?+?iK{ zlsWnn^gwBrc|{FeRT{u0U>-7RN2lw{7>MQ2H_=30D_M%`=WVUugxr*yx5{6!ho1A3 zab?}+PK{Syl#j7QB2|8>v|BcJuyB82l60x$aDPg%C#4rhB#vjXwqTh9C;!7cTF<4h z!h$Z9EU@-K?*3YJO{{x7^K-?IEv12&=MW*ZcF^e;L+Ko(S*aXP;~#isf>QW66JKGe zqo(;RnoZn}buomZhmkPXJPTu`Qf=wBPB>N*ae@$kh8h?59)dvjj0#}91bS+qner)pET zKIbyHsANA1|5DvAQUE7#&m5CNy)*9E`lom?lKC!y|GTSR{$|k+$`D-zmRn%iz=P0t zdNW>&<@PK1q?PJi&6M#!@c{YN*EoC$uU=iU?Y&+%^y-e6TEeuq0B zEs&ARDr)qPKWJ*AY5lqv%Jn?v4_B|fF(dzkTN*2AHTH@?eurqunr9YuS%*dn>{&Yl zd1?b@hKG5+?ZH}kEZwv%a=?>cpOX+UbHG1*2piNoz8FBNdBBS6ACn)=Qlvf11~;zV zW=?upM>t~M6{1Qpkk4;C^wT%I4%B(ppU7QbM4^n*H9j>Uh-${e{GD9>N&`NKE5M6c zQs;={xKfFTS|T^7gsrtAYvpUG@l?3>D&m8u1=^ifjuGQeTTydftgoDDwq>0u^gLD? zkbQCZ3vI{)ceo5|-tRZS9|!y_1$3A9)XSneT>-i-iLauva2|VI9LiUR_mq1sURi~h z*u#&EQH0jP7A~<{t4SQ2Nj6*B-4kut5vLK@_!+l1wPER>W}Iu)^Y{soJbUT8goYIX z?UfRA)uPg47043ZOjo}u%!ZTA4uLt0S=u6{c_C;Z%Y=0NNoMZZ^4&BZt<<6|MW1Dp zD_7_ctK(BbO{8pW_;+-Uk06&i(6dDt)PDW!Ug9J9{7&r?x`er*PahFXqS)U#gn~`W zXy$Yc9jCAH^(UQG6YI#A>JJEpB$ad;=_$Xtgv>~r&BehUF<8;=Kj90Goe|@FjnEHi9Q923J#F3!o1(M~{$K$&$x1-Q6%8Q| zfAuv&P+BD#)e9XkOvs>MJX+{EKO<;d$X#+7bxw7NtdLVNoJ2X7$QGR2Ee-Ue zAEB~FwCkH%dD`pD=8*hyjH2}K78&A*dN2iH&37mJyamLLu6`N?$GkI!RPweJNxs?Q=}5rz68T?|~yqEJRhZ0Rw<&DpCS zx1VrL%010gQ_RzsOr7_a{w3#%g?^bato#5M;Q<*#Agq#O(H*aYuRh5biMM`EXfA8)s!iO=V3tPpAnbgvA4>^Z)mMUe_%Yl1u?v?uv>9$g|yASlLWN= zRMqbg6S*df504{#paa=;#;#uENevPFo5%F=I5dbQA$QiLqfwq#LbTp<+FMzJhO zrQ+wmX~Ftw)u;X#?;k`OHZr_W*gb1iq=l0yVVmgau&KIbJgc+`ZEpXDK^!BXoVrV7 z-+VzokxZ2q>RHG2xRP~M&fV!nWyYdWj#Mz0!|yBUeQvNLG(l{xm%J01-|>uQg!`Ua znyvYjh^9n~Q>3Kj-=p=itA+`UOYW!)=0uR$NeA2b%LSJP)E)&3E?Ww!mgV6%h?JBP zF~to8at@F5Bs(zMjk2A(-q$C0Q!co~3;N0u_)Y%}{j^Gr-dhm?*mb!^I+4;ld4?pc z(CX8J)L887Gbf08m7{bj%QWF*0L|@m>I70-h5{x7ORHE4+O8@1{f@vV^HD9Wb8fM* zW#P?=31NOW+_sj?@|fo)F7D)z+v>u2je++;lhqBs_v^8$NCj0?gIRX_0Xhg{dg0h8 zUh506ZY<f;(D*PzusJ9Dx%;LEvb)uH(2AOG-NwtK!*VcJ^Z=w^rhY9A#RlUO%4HukVUk(wW$ zy%>Xb4lrEK=^Od-S0_?LrplP)#F&4-xqN+Wc9Ug62PN z1Eqs*fXqP8-v7TzlTo`xS0corTCkE+zcbV_oK}z-QyI9#6pO!x0?Kq&m$;GS))dz> zQ^uno^+0h%T7NcxSJktP_pyNO-dUYl8VBJCXj+xEC zYrvAI?kLa`WlmP5OYkAXLvM>&>_Gvjw)4Y&VYFU4dPZe+1%;59R69Pfw&r*kmroPO ze0+Rt^nb}^pA%o_;ZZh)q35mWO?C8f?g9ychn!{_{K03BH*YHGSj$?nq}}(=x4&|5 zaw+4=lX0NEixHoBFO_w>C)Taf)*v4&wf7o(^8z0nz{_gsqc(8G(up+I9ONr@f49U z!B|TwhN1t>ZldmAnYWdhH6T(_!hlRC@VLSTYLrsIpmU|%Mr^~WGpVaRT^e2df@D(R zE5Xr)fPit}Kj2j&ZNdVyt82cupw(E!%AbQFA(|zWk$o@;HD6c#BEhQ)_1u{XdX&U1 z-QUL8#G&x-xFra?XK-+DE-Gv0QDE0i34ny=OM%9a0(b_I*n}R8RVevt;D~z~Zq4AL zq!jWd>q3>O1C2-kg@qZ;c@t5;&ecg*$g=&=tfj2|2fVS1K5s-t{@%B}34tLQ>RaGj z^u9AeD<)0%Mr-s&^*vQTwYxqbnZ3tHBR2}pF`VdgCwMT}e*nY#6I88v!~Fd|O0 zwaVpyf!s@m>JKaz6Ec{5@7rq@0`38^I8?0sFlsa%A(<9POSUhKz3j{sO*@MZ31NZs zcpsGn5nx9J{-Q_hP2>?5Fm~HAW#OFula@klTOd=w+dz=8cUzbwchur6UnQm>=!oaT zTetFg>#|7xu&dajWxhk5N^ zUEKP6UcJSRB(i3nOo*1!0s=WtF4=yaP-&2xb#2yvanl8jwEm4Ed!O*%!z@H+YnyQg zCsv956i?Kbef|9F-hu;bLHl~SFVwo8P2oCSO)T0l`$>-MGu_kzgN@?5LxF!e5@bid zup_)j(NYE3N@Y%HD~spZzoI}Bo@`{67|^GZF`zS812E6#nq&mF3LW!Jeg{A-PmM)ll#3AZ<56v(V+yPTrEZI1$T0QiZ5f`YSCZlne(Mnk_e zvZTmYZ><4XbJOa;yT;LXjqoZrQBl#X!_EQ@rE_?tM6j%6k}nso?sr+w9l9Q9ES!W9 zO{li+L9o4RvjJNBJ#r*39fzuV7j^izfW3OsWv)&RTC*69K;!)i7$VkS&`o#uMeM3$ zk`3-1gdd}uui9E3JL z*M5gt0;t%JIicG)Ghsm$M8z?lmQp*`-SH{Qp*+TZ%F3Z;m3TW=8l3@~h3{u>z_m=v zU+yb47%je(WQg-zGF%Xfjd^3*!}$0th9=@oTwoxEpSwHs-Rv~sTTDc~ei@MG8eqPC zTfi)4xf4t00_`ct#LvrHL8O}QDdK4jUF_EEDh51_rhV9Z4TP$G^YiiTSXx@1fGuUl z#MpSJEpj?6C~*Y1`Hl+}r0%xWPNNy<_jcVauzqOeE{G5N&s&jNV5}Az$&NLYV!oUZ zHmx0kK5c&k^Wx2)ImXPC+!`$ai&xE&g}F2v>jx){b15H2q{}qdyu9X4d=4Zi_i;gG_I61K@+*ly zQsCim>t^y&%Q#6E+$@ePC z#9ajjg<^4bv7hf>NDjBWc^Z^u^sY6xvE*@d(Wovh<)eDt`!;lFL2$%-K*-Z7PKw3$ z2peAXzED7Nh%%!cjXB@-+Edfe1ox@W>4{;WP$=PSML{CI1iEzyQpw1PXGV_ delta 42031 zcmZU4Wmr^Q*scr%49yVIjWiO{-6h@KA|Tzp=}rMfx};M|8Yuxmy1To(&-kA2T;Gqg z|LNdhS-cQpERtRAfv|yM zUQu^KF0tU;FfUx(r30WQU;;R4QL51$lpb4dY5{=-gsNf7?n*eedUF-Is*?2n{P!t zN0)`R?+KgdZ|X>u|G2$TJ~(KzF5>y1|7R_BJ)GR1;H$AeADP!CRCha0;5cD0FDetUs7bYh+{d42v1$z_x$uH3+IIDP)jH z62gVwvBcr z?^bm@^J`TaFcjtXTlt@~-3+p_{D`IBi)L-_Jm31mZrTNYyxoYO?EplIF_dCDRir!Z zd3+{?K8~rz57uk<+o

  • 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%0At25|$8 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 delta 21659 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 B_?rL# diff --git a/tests/testthat/_snaps/plot-data/big_mark_comma.png b/tests/testthat/_snaps/plot-data/big_mark_comma.png index 77a5108e8074aded4c46db32e1f6eb31cf716b5b..bcc0997f26033e3c1906162b5dd74e44409c52cd 100644 GIT binary patch literal 17603 zcmb`v1yogE^gl>EN>Zdjx};N4>Iq0ocPkyz-QC?FB}gM8of3j5h=incBMnMQ%(>6+ zZ~im0)~s1;W?YZ8xV#(Z?6c3_pZ)plYm|zT4DKC@J4i@KxN@>mYDh@PiO>%wI`~Uq z=fiJENH9EWNl6u3Nf}88I|pZV#}}sNGUoQ?&eo=CG7?BgLUD1LhE`OXL}IU7>ev~- zhm4n$B;(x(rq+XE6H8cO})m!TaVnj~~y33YQmTvXC zS?Fvk_hL8;>s1P2A*|;kmojh0NU?TW`0LtInr%A<=PovK4*WM4T=o~R6Pr2o(-)Xf zI4G()*MF?k^>6g{K5^~#8^QG(;bf0bV@qR3rd;jm{JD2P`*~sNwCU{Da;I8F203y* zY`RKlfPTds>4vzk)-VwE^zRp}sh8(iy~1`mv@3+48j!Tf^6(F9hqIFSB8{JMuvWz0 z^v*_NY%-kc!7yA7XX8Z#%icYpAAI)pVP&=w!;g-TzX6TU=52dtLzENhc>IVKQJYUQ z*qqasBM9;}*XCR!-*Z{l^%2~fw^(BxF(4VXwTC(1ITGtN)%0nn+Hx(gcr@C@UOJv- zNw65=>DDbW@OfYAs)5%y=Z>4dS`N+zJ~h(P3L9sQ_Zb6q&2wwE$iX;mtB3u^k>|}D zBo-)s`<#~6Po_p57h6O><=Br|J-(||D%PuAo|hqUZOqw3^qEOC+$aaf^$U;N)ybv1 zc5W8tO7de;Y>HSWZmotRi7x@#4J>a7j2m485?1EEJfBS&K+f;Xr&w1>p-I^@5bGt* zjQa}j4)xk4<}tY^l}L+k?W=E6RC56ERS-z^9#hQ&ik;fD4 zPp5Y=``t1+?uE>tmj5WGJ!Z?}>E|0uv&^OX;Xe8NM+DQu)5Ep{X;bz_PyFn)W7?#( z^4lg|ez`JQQrK|1e)&0`>pXnhW4t+4W4!rD59bEMA2ncSR;x*HN8p>*9lurw{a%^h zqDp3B#hjXUFY1a4bp^F9QD_E{{8~KQFfGybuh!1KiYMECJxiux4p?1S6I=f7lJA`F zv>5osaEZ&=*xA^L#wB0IX58yQz;^$A(T6)5))}gE`4W25oFc4dVWK^sddw7*w}`_- zv0iX{yFaSD7e{K?hTdP}U{>i@6-Zj{vTI*eH@PgXA)SuS;#;zMz>lhAzZ%LQCr(Zu z_NvW0bnm3Z-CsfU=lh_~E=P7EXfJ(@eFemb#Cse=$QNTis_q_*JO8R3#9N8A&aH3A z-j4qCb#3+Ko%eifBsl9`1*|)*TWwUMC3p=PR_jPLK72ww4stiwq_bYd<}Uf@LRT!p zXL^l~@t3MlNB&w3J`A*6?KnWH5-agMRr6%&eYuDtG!gQtTU(i8xRPe)MBme%X#r{4 zx5Mc6@3ptzZ`AQcq~?NK)LSM`>^{@UK@cE>%yr}}o`N}ka*o42A|m02>*iSv2UWn{>MAAMHaDHhq$$@09_EvdF^6oe5(yqFO#PE>z8 z0~~G}W_|MA8vXQr3{MZPeZSAxcGz|t{1sXB*t@PeJ8j3}@*qGbq(z24m`U)Lk!Qc% z|2tHH723n2V`7-Nxral}t}cGpnh%mZ_Wo1GvcEf1SL?JY-Cau3Xg|*ufp>pQ$^1vj z^E^}PL?kTm(Mf=7;L1LI8YFW4=SQvMvPAI%@BYtmlq|DN4jD(Q{eue~KI^?v_xNna zS!X(YnqsLQtC=`XzBlH6{m3DmoZmuLPA+P9wn^EriJD7Z3WX7l!dP%ub`r1f=;C;g zTcJogF7+Y$QoQT-xEz;3GcEXY%8ycIg~4=A z&6u^duPJ;U`v&BEX0qf-CIyMiyu7MoKYk1vSi+z|C&G6zr6vMn$#^9i7$>U@D+Ppn z&ujQ-g~|=v8mS&TOUWxJ6u+8n+-@bAYOvMLdhAl7QLgqZo<^KYS64SVCx^qTn~{;R z%;)I6&)I$jJC5}BCw%cgy%FAlBDn${T^xSj*dC2vHvYXWk5EnuCDLnWl*?Bb%C{lT=K%``ZMU90Ml zjF_y*Q8JD~P@@uK-dqVYD=RBGKc7Zj^RQsDTwUfcd1);%JG;W@<;aAMbeTqZviFU0 z?h|wABUSDnv6jU08t?Qp-7-i?NTdx}*v+ko7Gq;^PX6w_x7Fx}U-8Q*NKmRQb_R3` zSdG9NxUN>~UCHbmCabb`=UUXCxbL#g%*@!#Nwwjvrlh96jZGx!SN`WUE|_FLQLLwH z-YmVMLEY+)zn_A2kC_#f$9#ZDx6UH2){2aBvR_>C^$x3bI`EX|8F^wvnQQ@pjq2%g&WP)qM zTpak{6Y;0Ri1})32y3v}Iqb{{`&>v#nAu*S{4mcjWX2c$qeA|$TdDvXd*1Y>dxRuX zE3@+m-X1`OJ|wsrv_qz1`JeaacU5Rsj#p`OV&rsQY`p$y-J2gCA0)+bpZ~uTUU!YW zk@Oqu36$a=36x4<{!I^U8|=IAsa%gp_a;%?$VZ0MDZr5eLoiKrVJM$Djy(SEHOXkU zWyS_cX}+|OMmRD7QPAn$EV~1Z%f`2)%aa|2#gBd=@}#@Z1!%jISNtGfH<3i)p-K?D zETc=V!yY84`j!e=Cr3FDz4yXR5myef6ak6=ZMcbf33UFFFF5%A-qc1GdO|os0WvR) zou3IB-sZgmWGDao>XOj<@Ps0j9#I6RWhFzS6vXts{8fsgyy;kS{)HhyN|Ti$v24Z6 z0x^R7C^4km={^S?Qw$>mY3yh*cZ!ICnK_fcML=WWkVcw~^@-sAc;53@V8xUoG4d`S zD)fjN=Ai9~%DmeFEDo)U-|t564hO<}22$mZ|M$;mmk$7RnmrG4?jlpb+`SWsnk ztNcUzIaV6~^EVVy2Qzh+8et{KQEW>8EH+86(qwN)F5+23C*g$C`~Rysa3kq-vK}B} zR!CRjvzWEz2%7Y$do0q1wAH9lPt+_B7M-L$JnE+z48a%Mx{LmuXgTYVUJz%ZRg#$) z!dAQ}38JT&2~xuDyN8bx{)D14ss$@5LsKVVQmM0ePV;q3aTEhX8S?Nz*Z{*}4>ot1 zf@4W$W+v;|VnBdbQ#kQ3Z(>ai?_I=5^5MTXhRkOhUmcIi(8y_NrMvzbW2%r~X`Z92 zc>I~Q?&|8QMnPU#Iis+Uz6C_rX)m1zFKlcoa)dp&Ht5YQEaVwa2wZ|bvGP24AXm)B z$%)J0wkD^hrUv6%@^X{l+0lKjpm1;eMSYuNl@^Qi(KBpj28N>8*2Y&sIify|v3%Xq zV4JD>(d8cVym4k&zRU6G;I9fZj%?N7Nje=#|2c9*wFQ~gRzybb+L~Fv5G?{Tz zC#MfYBqS^2AG%pTrm<;`nOo?i63TtTvThJJWP2DJ8!E%Novmrl$QO|^X(u|wB~E3r zUd$^=np%FH#*(4FV)`|st|sSrTm>KUi%4E%ibOJ0ODD+0OGLoImCEI|pF&pUWrm{? znl5p~BX)%Z*cA^1i0?*d(hRH2x0e^ic1SV2WfpV zq?KwJochdd9tY{A`TkEnt6dpT>C=kWE&a28Hd1Uj36J5~yvO2%(({YA$h>I6*w9`I z8o@f}-r}E?M8=ifa{EGrSo=Fcb8`loTvQAz!@Eud@j;o#WHl<#_%U50wg611b!agDaTGi06RggDyS)n|C{gC)dm#zkT@J<7q9P!6+m=)Yk$C@Y$ znqL(h%fNZiPssYT?qy5^!2Oq4QBqixPe(UF*5`9r5Xl!3&KU`uev{710D?#n=6RC< zlxsl(YW$Ie-s`R@9Rvc@u9C@Ivr}?X5*-#6R&r`8zy9c_2o&5@Ikw}Qoh(L1wougv^s^Iet+E`yKKZ_5L|t4*EDw99 z-!$+>GNN96rrtVbGZO>hmy9TXPxn%Ca;S7Wyc?AVi zG~B_)Hov*L5OZ=D;&o+uqDOY{Y1S*4~u_lX-}z0%}6{nBg)PW?s=&SbDk z19L4d=3f%&%+H7NMD-iYDzx6QJ(_n_&)VshW@KiT?~5j85)>4iW=#Lc&BXMqMUqES zw)uslb6`HbNZZ%1;r^Nf&mt{}hAY*DUY}IioM5DDVG7z#{<(|V83wRcTytLBO3Xo^ z5zim}pop7j_Uc3oYESt0TwxXfvof@eyq^7Rd{t@oKZvQ-eUFXb@_Q6 z#0kJx-u_hmvE)Vj-JPEz@O|PXMFZ15XX3OD<`68QKM@xfFR56<&dSTH#_?9fj(2)t zg$&nrZOFcRNQll5N6NwiAQ4Bp%Miv441&Xm0K`@WSbpK7Q@n{0Un`Lp6INrMl&A&H?2Smus8xrH zxtO@EhKt!nXbSiV7suKj4bH0|t1vIh=;M`<;YxD+xe#Qx|LTn$LLOI~-c}oRK4>Vk zL9$o?Rmms*f;K6w5;*9!?o)q-7-lLGuIyV_7TB?YFbUej@4^SN3Dlx%jkET@kM5F5 zkfgT=GKXxXkERDhI6g26M#7;(%OD-AVxL2c-tOF$RJ9<*aIX)i)v6I5EZs+mcmyAc zda2S08U7l~I7sK7IjC~cDKx+r4|HAnO9{Irk?CgE+9a;?5RRE z)$CpPPLW}odt-{evWfePU#c&t5M@W#GcZ>JqPq_N)?|bMj#?-ahDdvG6jCNQs8(K~gThGQ0sEXl!wp4TXXi-b6&z9) za2F@(_7D*AmSNO>e^j%0O~ZE=JB>eH9V`4==xF;S7$5H~Ks&np#Q;3WP7%q-x#JV? zx(;P813Zw3ox6Cl!Ls;cj#p|A%glg4eUbB9Djy6-jPx@=lf8F?nijkj2nh)p0p{2n zIy#+o=ubLbu9P>{S*|mc2lJ00DARAMURz)P3LG59HDxB(zKLfE8D2?i4?PqBH?JFwF=0A!jf(MY_OeLGSb$l1VuAzI2CRJWuK_ z4`Xhg>y97DeeA+)_uS@+DDryIUS-Fog+Jjqg;r zI5{~FNF-O)Ay7p`N=m7xRK=HYQrG&j@6NA@%8bpnJWvp}x$h_$i zTQ-yUp2hNMFmZ3CWvU&^lRi@8KV>hSGX(iyx+@s)5!{CJ&D!6HsJbpQcF=Rd5HiMRM^8^G4Sp`(Euf#6$5S+ zXT__wnyR?8G2mc2K}eqywB8$Wf>Km-J~1pTOp9QUm#+qGC9~o!J;JQ|kXhG<#vs@1 z;sp<&Qcu$eg*^48LLfS0W4kT|v}Qu#z)egmlB1#Jgxf(oJN=OY0~CS!L8;=TsHt`r zTFyvL;Aqpw7S@aeQ?R9o3gBd8?OraR(6%tBa|}KeO2$IX_r=*VXRzyItAKjvoy7VI@zr z0*X7+NSP|b`pmTc4LUA`Xa4cD1q2GTUJzx#cI68|k=VSAI$XrX% zLHs*CHbfctnGoQZbZ!?Ggc-nrlih?GFJuOubYQLzzFEQu+d&7WmFdw*fen}?+ zH7_KsM+?KcxJg2;fhngu@ye00bn?0q=_JigcW0ch&Yd1Rt%MqQ%)6y$WT6=4fFRLF zeuM{h2qu>A&BdnJ<2B%bIlp`Jz?^q=9a6JlcFzhx!Vx=8Pfb1lzkIROFlCei^0%y- zTC$mi#efWrpBekbgDNrPC+g#yJv!jFtc0?l7ReR%U|a3puVf7te9YbmSFA=NK>#*) zrh-|NnP#UVDj~-L1Atn#83h6DbM}NAatGiY`GM8Q5TvRyXi8`7M0x-O(#$*Ao>1RRT-NTqOnb5+ z4w;b_dFSrPUJr$URpQm(#oKf)!`3f{%b(0aX~pNVp*Rr{W!S5fCqiD&JS_4%*7vB7 zl+SHj1rt;qBr(XygQBL&xYH<&*Yq<^_in7;-_!D)r=&fI6axHQ3EqTO zDCcy3_~K}>?mSt6D~TrHO0|t?X;a(SuNZx3zj+l8im&obpicYx_3K^NkT+o=T0_5n zlop#0rdPP3t_lE7s=J5bf6t1TR`AQS18z~DQzBOuL5Bqc2%=)(Q)`IdbeDztjAnbT zM6qZntR~4&-z8((jf+)jbAR>Nc`ed)@26&iBhL^%yJlT&E#u?Ix&~YsfRXZyzT9&N zsH`@2pE2k2yL46dEyKu^*J-esP)X4}z3J_hl2cINeg*{ho+(m8Ys4G6jj3W#}4x{%6M z-UJ&NnXeoce=-rq`4WF$SYr_7PT_ixik@D@F+ii)+ia3^Z{%5ih&V3V+?>UbdHiz@i;v4sPOJqrih9=QFNYu_L^oS5KenFU057A ziHvi{zpOsU!2q9#qV;~M-^F^yHp$fzC|WCmez&)aq>-Xey>Ho|P$toDw7XlS)8~5x zW&nYHGf*IH8_l_{r)hidKT}|yL;8fix|}*u!}I0CB-%+7!H)B%cfTEfJXOBRDrQ;8 z9x7XO^g@$Aix9thn$B%pZG@x!-st|AR1W+C-31rtsK-W26rI6TV4rte7i%!kq)`Ku z5yb$=+8k28!^$y5*W`I_^KBvcDC^;?YzR)^W)}^b4x~P)wHTt9xa`{H;{28`ZanX@ zJI(6_XtcC$;7|$fS@|H)JY+iTLdE|QjD{^TW{N{(`WEMuIdRFKlDo;}EKS=;Rg2P; zXth5fF5w*v6D5SXxuBEG;hP3S0{PusXQC zDDit&6$;7mbBYG5L;ypF1Lkx}7bpsE4^cN-Xm^Y5Ukx;+1sgF9Y>cnb#O&jl8^l^*jgj<(~YlQa~QU2EDhgo zymrtEnblGYtObEcCm+cohox02|or0i0y| zpZ$6L7P{`My;irKfzF!~?v|5D{nZ3QK|~Qu$SPT2fEq0Pf%Hozuj$(5&UdKa zMbfn|K85p<^9CcZBke~_m;mkJeN=~*1!VTTkdv_W-1z=~llo3yAdFsEKK zf078@?QCy4+E_IuCo7Bl^A~d5!|@ z673VJ{OiL{_+mdJR=>})pyokID7_1id#vZCk@zUcxR~=T{r!?~PDGhNh0=-++n;^^ z@zQ1;6`L!QS4i4pe|gEA0!lKDTwpPwyg~lRKIb?h%x}o&bXU$}|GOW0899{QLZ88> z0_XhB=7ar4Qj(L$X-bZ~Bk;w};nf|ddjHFF$iZ!#e-&p`bi3?gj5Rx%nk%-qIKFpw zpb&x9IOv?QKo|&UI)GtJ1l3vP1Fu8B_3H?0Z)kIX&(U*`hkCfG&iz@-M4{)xB;idD zoQ6fuFty$&XYxF)$>aet&gMb3Z8a9N!ves_CN3zpQ`OKOf*3{|3V|;hKUJ=*?u`i2 zvcl#y4&O$R>nzM`KYRAfMt{}{yXOk5RMoR3kU~)o?i~hbtEtiF`yNLr=84ScNvKh% zW2M@{uZnv}njD|2bo%=N5;x)2JP*(>La|+t-`W{>*i5iRSj)N5(-DjWn*1&cxLTz- z9yGpDvv2*y+(1c(J~b0YjOARygzQ6b=n0U~vA)zD@_{{(X(k$Akqb~xmsl9%lJiNuLu)x( z@R^7YZ5)g3fjDy{EHZg`6ZQ_2=*4f25^Ak~Fng`WJ%XT#&4%XL{`~sTqeY@`y)O|6 zgfP+p1#7?KyJ0tNmwV&ZnD<`8)EdCv1a{P>7G3+1%i#c7mAP^0SRaHY=H+prp`r0= zqM=p*ZbH3H<8%EI8EJY>PF16IpMVy>gq~hDMMzgG$3K!`@XHq!^`s-=jWrXZ#qn{C z?i-bxr%l*{x6C=8-n;}N*yWG5??MP96m(8cP>=k9B3<^>T&4)yA=RQoQ~EVitPi6| zPZ9-LudL+cLOr-e8qEXY+dmc}m5IweVc0ezQxB-FTWmHVu2_nD zD?VszK2oUE^&+*DW)<2cfv{i}u&4#b*HfK04LKrSYM=mpe|h(yb%)D*D14scl%SRb=dcvF?2N$GW2(Ds_PupW81w4{{C!(YIDLy_#hPv`tfs7SSRr3Npqh z&>Oi^n4hbu8`1b4KGkh?Ek|HM0PHB3@P7kRmnW$Uh%uT8A!nYOK#O^v8u?5=3yg6L zgu?a7`z|BPQ69howIKlNQ&PG@2qDS$CI9vTSmfA8sQ_y@JCur z_Va5%3{@+V#&!E>JH_?D!N@Uk9ihX<-2L+Xdph8=brjj6O`o9vR(AUPDL{Tn0FFK(_s@$4#t8s zz96qx$i>{K!0ZJ25HW<2U=g}9*2RQcsN}#OR0__&haO=+%!C#P`UC}{!#sH?ivT#- zPH2Xn1wL?w0$VtM>&$N3p)7ux&#~mIGapGRM_=eXw3{xN?}3C# z%DbK*xS9bn)y7-wp%$g6cRe6=N2MuLG!UQwD7))lk{HB}L1|vO&yg<+<%H?rE-834V$n0|- zdq0_E6XGfeM#joji^2gBrkwl9mbG;d!X^?dj(x=1=YOaj@$*N>`TF`Gi%k0w1SEy8 z4`vMh`SrtmvPu_{0K7o;w${2+odW2&=XpN+k7sJlWB6DzkI=+LL6w&}-{$cnQ0h+J zuhsM}3>shBM+=@sSLdqN@^8nXXjLG>*nOoToI+p`C9ucqkNCOj^BRE71j>NAy+HG ztXEr#z{aCqmJ^r@-0*XDZmEcP{m%MV&50vmrxXXLT4eztrI_YQ8omi@UC|X}D6s!j zZaf}C{3!a4Ooo-COpBbH9Pe$Ol;o+(aipN}ys@h1uXdoKn_rzD4FsAPCjyoU^Ax!S zWM`-X&#Nwl4|Jo6d{zm^yUzyHpXSyRfGoxuU+KHyFa&;_sWxmI_?E>FcrUhr7Yur$ z=PUFbr;=eXu)j1H0(nV(uf%Xyi1b`UU_1cQ<+smIme~ zlCnum|MR-hLs!tQB*Ep%rCXKW`T^r0nA>7!ld%s-~Be_>lb^n zAUVAS?JTwa*WQA}WT@Lf1v_0647l-yYLE##&SvF{?aKFWL8Xzm^Pj3vgBJul6ABqL zrmE8G%fvu$7$tnl4in$diHk39*jkAeC{V_oN7d^JW~s`XC^;(p8o#rCB3g&7z`*iS zqwZvraDdv{P$y|za>n2t=_jtLt;s0zVKxC1QZ2KSNG^`?+<=k$s81IkmW&s&SAsH! z4fpaTuNbni&M4->XVi-~`P%%{LLLJJbgut07YiZ4v?@fV)Y(T}UH}b@)5If$HYj^} z;DqWxp_nDmdM9%`ejn9t|1%s#3$Vv88z|n0FfK9I*v;@Y?3V*d_?@;MXkk%&{V>i> zwo46=XB?XMiNaz2^fi{l)Dv;LLz1s=_V4$b67r+~(k|>FbD|3wnkcAf!Rcfyt`i?nU@s-g0h65UffHoFL!uR9ANC77Jvh_p$taK#Gd@ z{XZLN1b7Y~tN-uUi>XnjFsw{DaFyaE$7|RC-3TanbZgC`eyZFN4*3YWBgVk?ciy)U zz{->i{7y8q{9R3MsSuX^@D-bJz_noR1EW+T2c8%teOiko%NEEA00shX_dPrsK{;AL z8gY!sAff^0HKY-Hp{e;ItPlexuDhno1zBMlP@|DU?1?J~jaV00;T!$1Gv_l}Zf@m| z7aNocU!`8ic5TC&@p`ufr7mz-cB~o0KawHzJL&q@;wcY4Jlk)?W>vx_wC3elOzL z@oK)c!N$*OY6_^pt+kGMnVDrciq_WU?vG3IA3S&T*WN?mK4cHUVeUcpuoo4c-r=(5(8o@Nl=Bt zZo1z0!a1l^e~TYbM&-txA7!|G>E2Z8iZ6jy54DdqyWe#yQGxiGnhP4jwrgr?RPOa9 z7%ZE`B|z~LI9yzT*`-;Y7aq2h48&4vdCQ9gj$6Cqk#PtLx&3?ywdd@ z9PAqSqykk4NH&aMH`4o(JclY>chLLsa`R`=E@Ii~fdF)Gxy}j!Q24=t@D#Nhfld@}j6-e8%p!l8WEAeGCVMnnG znyzSNwX1;v{`LJ_n^iTt|KHg~^w+6p5aEhpa^NZ}cwul-76i-SSCAyu`K0tSWGn(=XgJ+p6bt1FKs3{; z(xC%nMU+M3w-|8U0C0200eF_784R>RaPIwVNa^X3Scf@*E{fqTR8gLRw z*6{ss#DZ9<yhkrMj){tsX&fQQg~;mzNkxT0`n46@vv`;h;{ZGa`7 z1&m^n7A#+!cLC9@vI#^1XP*By)&21Dne{{k@dX&OP9jo2oI~fq5yu!Rz6dSIdTAL( z-f}>BW&{nUF_u*0xiF6B;QnJ1_wsvA_GYyY`=R~+3Pt>kSVvz;9@K=;F)x@aNhLuv zLJV}L0}su}F3kCV{wka@acoR&22g}u&%#K)=ZUgYKC&nBwRr)+r}Neb-JZt7S3lPt zZy+OZZ{P_gnGM`T1`d3q*_uKq^b4lMGK)b?6Dj3f=+Ke)N}aBS^9_ zGs7J4kO2L(N4g#N6>=*y$_X1*fGAS1P0CGe*y@_(^?TzP=Yb=CPsKSv!$1kZeiRcq z#>B!>*&4^Z83~K#`Jg*op=EDlV-rfDBivGASzr9egZJ&aLm4vE=dpw@jtM$3l4tGP zo&$)>0K_xR_0^xC#C{9-B}i)N&VVYCK@2@ z65CAHMbl{cF6Q=(VwVpCVIt|h5zlyF0o?Z}&wKlUxxf?GtpYu&pRdK)h{QMk>-b>5 zV1Ay>co>lilPJ)c5gd#C9L!ozRMk8rE!vs#7y-aN*c;p!!dn92RNr zgMJ9V-u}T)w>M{4zTbQ?tqIJP!;JynvkZL9;ug?*S069--GS3Iqha@pJfZ$G7Ed`rvlC4 zjvf^NT@zfte{{q4TQ;eOV^GF>@ht&NqpIT7WI+CV4@?sxv3c6=m{NQS$3;{VtsV!} z=tF>&lM^ghXmzv2@4NWDIry$=femmH#gO)Q4BF7-!0DiwWXS+!TI!Ce+15fYe=ruQ zMVzou2A?29&=#SrM<$W>H|rbW8*k47Nm^S+;#7h5l7{XBUwSgqe=!I13?yp|*JO2YtqkV5Iuu6lX8SLq%+KDQo`Lh}R6v6ma9 zgZ>xukF3X}7QA=f361Blf!j)@0I)Oq_G>#dN!oZ2{(Du;)ioh2MKXi*V>M=G1X+SW z20UY>thSsDvJ$uoS60B9j~j6w1F({l#>_va1*BPY#%zJ--?9G=e0o0tsk*g{9H7C5 zmKxLXex#%g`NwzJj~pOIa$tA@EUG!+i||I{ZJ-#P1O}s3mBwS{y^&?P2Ff&QmMGw^ zX-$j%!m&A-hz@{YC@WF13@)OrF5h2b99?uOJaa<`C7?0E3Qo^tmGlQngsG`S2?9}3 zQOggcK_iL+U^JbRGqba8k_9-R^a#dDF#oi{pu^iO zOU$n|M4*rjSU`)pizG75HUgsQ5(C44K(5p5%!+73(1Aej|J_%CuP{dM5fb)nMA!c` zp3c(YcmcRk)o1L=e{opwg^PLhmFor*EDW>WU=NJn6qd&j|Bhxdo~20q^XE^^4qo7o zu`%Dt=b^b-XoN4XWk48H?XGfWNP3)F50Kz?M1PgvDlajmt#?k(OqC_^31<3-D<|Cb z$1#%~pc+kh{R&r>v9b!Z^|OLD3m|L~zVqhi%m>vT)HSyb3eyb06Zb0OiKwKpYr9|B zcA4RWuoed9vb0L%DckRY!-zHe}0ZQAsg_+sb%T=;SE)pLpJiukw zp!ogS8iiN{=#2|eSZOLSS3H!Cf7r}5IpjlRz+>gmMfOnf>tD(bC&FI>zne}1HoI>- z#Ob1{nsk0PNF(h2t>mYQ9dIaNu(>{%zH2f6yg+jpuzsIeId9i*z!Y*do>a)3xWzA1 zzGZM3vH^6U5wZpJ>{Lqo=5FR>bwzLz3+Vj#;KdnF&M(ae8eaes-N;sfFnZfv6Cfhm z#2zDh)Sm%Y*Lh3NiVpenbQ~DX|C_H$kM!Ci%?_GGy_XbLxMlc8CxNd*i{T-PMWE91BE7g#{o49uq;7-JV*#I2CH>CN)?9 z=)Tq<>SKg>*-C)%KK#G%oGdCf=0-r(V6Rk>82ttOf}hqO4-S8(GO!wRpYnA@&`Ml-q~{2-tOMekvr05#k0l z^U(rdJuS}!DO*88B3PN~zxMZF1_Et#Gk_|o*?6e54c*cNY{tLb>qopiKpV7#)jL6k z>3*W$;#>@QB#=Lu@kI{dhi^Su5P?4sA6Z?G7PJMYfv)O1VhuHJJ6exjw-VjiK%h9L zlKEW#`Z-a!n?P4{{6AkAlTu;mKT8=Z3h zb=h^b!d@_ zjjz#N=e=D)s7#L@X&ZulUB$=T92tT1j%01Q)3{llYOND$=&No&mNzd8R_vL*!YtT1 zD$X!U22{_5;j*;=mfdXQ^N%-|wk?3?E6RE`w;q<40I&z&Ras&|5^B?(Xi5yYp>RF88I2UiL-bCC68`_@BPiNO-W1VmGlW9vw3m zD{JBd^%74#8t5epmI$ElYT;Ia0V^5>T)REs;7IMK2@u&vM|E)1xlKw+T7K{v;|*xF zyvzTq`s3yH2;uR5A|_O=1s^D`evXrr?|-~9C zT2f+D8mzfYwpgb9J}+7r@OQ28BpCllZUFXs+p!fSmtKhwL_BpF@?4@q-5%wk-m08x z{g(KCfr6+*Xm0TEUeMK*Zvz(wrv&E~?RDXDJx zclm4ZQUaDi7igt|gATMedePqBfXYD&v7$d}d69#cS70A+Z+ry3%!czs#U2%DlYd(l z^#&ZQ4V4PF(tB!OzUYv9zD>L#_plR21^4g&Ip69#nmH*U`RVk{@EThJSDQMNluAthWD-idY5W9=3&x*!fb3 zGibs8TSmpfFV-eDE%C&u9{GsnO%wVv?(gD;?fIp}#pV0u0E|Fysp&-&ojkI&^=c=7 z^Ik03?a6{y-|B}2esVhlk>l2tXm$--yqFkXqtYMm6WqYrEmN7vO+n=rCl2@v6gT>)RYfO(>FxqD>JQRNM{)lnGLo*eeX|T;G5U0Mr#PsF}iR0H&vt5rT zx5;EJ;>6A5w~Xhb{wc9+lJ#relJogHmgfc(1Us6jO!PtdldM_m^`mlEAHIiBnW`6o ze$wS{Y7ofna)Pbc5X?I@$b=ydr2u+m?y(%*Am~!$JD7R0A=|Ac*L4G+GsWUtyh7e27Qz&hkMBskSP_qwS3 z-2eKr1uA7Td{P85e7Gs5z&mONfFM-e+z+#>25;51&9ynT&IyaO&iQCH&$U^!emq~n zPQw_xS|ROp1o&dO!FgStbl+j@ZItb=vEu5R>%VPtN~D_Pi9kWdtG0dLF}ZGJQo2H0 z**3B6>>yfY=6tZY;>>-cF?F5*qh|{A>nE4(I)d$Y-uh30m#d7c^LVI%{MW?Cc>c5+ z@PK?o`)H|LO$s}wZ(Qes0mtc z69TS^20NbDLp`C9sYq=#iq>ZzMs)6V(aRoOD_#v6*P2CL?R#{l0Jc?7I(VPc^S-oW z6ORVfX;si!@a^?Mz>0lV8S(1$Cv;o9CGY!Oyd%Z1jAb2By!Wk+Xhpcwro`eTZ7l(F z6L(w!$Q}I$Ih!J9JU#8OI&>G zedkYg+!6(~6S!A0D0Bc1V}0k#vzR=kmM`QD)(6ZX4^J zZzwi%YBJJj`6+li3_t$FYLl0YnzonEGAy_B5^NwY>By=3Pm%bm!3)^$^)OX1#kT{l zcZ?_S+5PLC?sM@F)MQ{SY;`oDsF1ebw6tYtV52SQ->t!q@UeT^K)Zy2^S7Ax8Wgi{ z^aPFM{P0HUM^7t{J_eS5w(2M#M%G@Ro>pL2;Kp6^NJuJcUrNBqvmSK@{V@!nI3ttG z@X`-QIu!^C@&r7G1~#(N$&w(M!#U>Gakqu;KC+b){#(!@bWA!wlqV22hq^qlWe{+E zvO>M6(!bA(>6B26X(2c7_z9P77&P-^FI)~{XFhEJ-5L!KlFvjP-`s-4UuoUHHQ7@g zc9??p3B_0!pe?O+E9*r3oUqn@sc|CnT@TbxpWrCcgaz#P7=H0NC=hn(V4g-Fdf;Kb z_<+mj-|i%u8K{NaS|lLjuSao)!=BH@%V~6Qj}!gsVl&8RlqsASCqQ@9Fg!iJGba&) zlftzd1c*^!*;wXpR|r1)4J_Da$hquT15m9{1rNQi``>F3gpsyTVQzS>fq1>8hXwwN zO1KpKmjJZT{{?_bC?;G2;ryUxs3@MAP+mvSyuK*67}>vQb)$x34#Bxda?g~cswGT< F|2Gufl2`x$ literal 17723 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 UWT-=%z!;GfWL0FUrA$Nq2iu+Uy8r+H diff --git a/tests/testthat/_snaps/plot-data/big_mark_space.png b/tests/testthat/_snaps/plot-data/big_mark_space.png index 2c40f6d135563067a53c8a7e54041670ad2fb71a..3c9ac2c23543f250345a8f84f93649687ca7b0fd 100644 GIT binary patch literal 17554 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 pU2ND17^j9C{gEURqhIT*Aoz{{YalF%bX& literal 17461 zcmbum1yoeg+dfK+q|yR{z|cr{$Iu`lU6RrzodVJ=A*FzHgNOnOg3{dx2!fQfq;$#M zXZ(HNKkognyVkufT#I4m%-Q?hZ#?hwJ|{*)UGWYM1r7=d${l4TIV}_v)FkLX76$lB zaEss|3JMI*URGAaQC3mb#mU88+ttF-TG9HcwY$BgmZA&_itvjUx+Zq_bx9<%8f)1Y zhQlUGN?zjq6-cdf(i#i@vGLcs)_IOS#i>p@sc-w|8+#_cUspx;4B#QAa(BK6wuQ{)ds*$-L2K^6V@X z@qasKqcPX%PmExg9{aNi;sRxFAJ7fR_X$>Js?&e_5_b9gqx?_D&e^a>iM8B;Bn#*b zCmF2n=}S=rxwXk}%>X+wa$XuIod?M*)l!!FVzU|q|?R9m0 z;jRDXHP-S=5i(qgct$S0`U9EX=lb=`MFeIaJ)b8o&-JR!ru3ucw&YT*YNXJl>=;XS z-hK6=578Fxw|$q}oLDXij&C3E*u1b5hhoDnf1}tg|7>z`d!hZo`CpVzIu3t(e{YO& z%aq*E?~hir@7d|nH{TBOv#azP#kO&!pWspEQhphBcAqX~h5H_DA^atCpSD%J)tKl* zJb|8cIuEPE#<2-MRC=vkp}6L_4Ik<5zqVGd7VAd39_9)WOpi>DIQFM~e`+ck_*6fx zNkK2SY06{Mlfjn4fy1-+$HW`=k(+k2_3t%i>q17i|6&HAKmR?e_etP4|DYaD;AfY| zor;GN>Q<7)9J)>xwS@(S0(uu{Gy^DsjlNA-wiu7ER!;k*UOM)jzNBG#{%d|ka%tEj z*FD#5A-LCMk<;DG-OP=~BUjO3!f%h?ara%}dz>}<49&S*8KY?qaTcoxiS~|mE0sqZ zcO%2GEx7!>g(`_(keM`L^whXmRR&fCla+gHKdq{rT9VRHNXK9fDEYO=hpztgS2(@0 z)IGWg=O+K~o#PVkAQg!p??Spg4xGeqJqa)i;FlzkYIhC0w-EPLbNgVzee=Tr-g3PC zo4WeUt=Nvfm0wSA-tn@M-d=6ZWBL7gqv`%w30{4M-6~4WGhX3#7v;a#WV3$7)*iVS z!dJ{Pe6oNhJQ>!}rvHdyq>|?M@nheo zjPoed0bfjSF0cIq578$UP#W@X&~F%hal0(120(%kwl+|) z;6DZUkAi}hhxT88K~2g-{~y0YZwjBQouHsd-eJXyul98nLO@!)cdt2dK(Az zA&CYH7AICgFcxbl7Wv~?1CI2E(gS7$tah4GSf~{N#$$g_9}8)~x@2Zh-WYfr?E;M13qvz&Jr}<{X;WuK; z&Ohoj1zz&m4)?Z4;97S^6RzrnhP6vfR_Larrlz{D`ysch1b2tEZy|C5{wV9FOxM|` zd|2#Frtc3iFAciBaNnNhY4klP@Z6r(eDgiwcw8bo2!oMTx-KsPjKiE_;g3zrN`oURv_ztJC!q~CM zL}AV3u0oq}WrlN1Ow8&8b|w0OI+eh!339mWeT~-d?|;-g4s47SPI_sVs;AM)Mk?v) zrGK`)Iy>lpy|@D2G*Q1b%wkZkU7ApFoYy$`^ksTF)2&;#2!+@L1@&45Qr%-3#!+ov zrKT3;$kXR!Oibt;U*$?X6GS+_^)Ni%nq-ucS|Erx7?!4C&m7%h@^|fe)|G*d?MM^t zBb~>T?^Q-4?yHf>Z(ra*Hs4csIXW|6q02T?Yn$k~IWEu3%d688<4rw`$;BF={m*aW z8S@5w56}GKX!C>HFNM{yQK5pqmy9YpJ)+fb_-qqM?%q|t z`Fmae?TQI<9wKhS5OQ0y;9X*DF5?C`Ha0f3%`=(~SF_v4&J$(HpYe3P=Tfq>x7~6- zhW$-5zoo{Zv=Ge{WA24_Bq?Zd>mlnt@U^?bz_{g#+A4YHirU1a7_1g3-_rC=AGF+D z@1e`DxKYisv2eMJ)ngP`ukDDt&Rvp=4hgJ>9Byco{)-0KBlGKvV~2^#bhML&z*7@v zp%oWzrttWrf8Hp99e-bBT$V>T$rXo6N!Xs3<3B4ms(0|SBi^-nCQ5+cJVy&{=#rqd z4hw57a?xW%;xv4+A^IpJT-TCG0gVBH#y~(2Lg~`1DSv5DV;;i)bj|?dHaWp)V2G(4 zCK1a6Q$^@QqzouM2c5)^HVQyn^Y^`u2$7U1eJJ%m1g z!i>Ota>H8^0o@=E7gdzNq=r`$T40S7cyXD*!@&S8%mmAo{2iykYZhovufke01sq|? z!-T2_2R$_Sm0F%~i>|&-=uBJ1VR}^tw6alnUJvS?{uFI1YInuXs%e*hxd~Y-xDU(x zwVTiRT9(V4kL-L2I`%zUVq_xlAZob!Gax}?$t{n6|DQF8%A#BA?7vMs;CS`K#>PfI z1H&sj5H4-;OAT7Bc@P?vsAtmlw$nL?9bIPsT*<)p3Vtdj120HwBJWW4?=N+D zX~qV^Kbu<@Ag_Cl<_SOHvNTeH4DgvC4}I(w8!;o&{KR?a@1NiMCIekQ8i7I;{a;(2 z&IK>72VRlBgf_tm?D^luy$?(0GUH5?IC-V|nwN1K$BkNPI+<4*xdO}(DA!O29%*Lq zVwFVqHZKuPA^s;@T%C_RKN+<<-Tg^@nZG+468?=Xd@&JPaFtz{n^c8yB}aUaTTrYB5DgOhmK-k{zKwev7M?wsvt| z9(>vF_Ztgi<7|Jucwf`yU%wbZdXRYMKYMTU=!L(Yg{`~$hdhzesw(zzo8LLP)W!!l zZ_?BC)O`k~5Fp>14ZlL*FD`|kWBWWa&pZF^M};FwBG|SSnQ{MqEukM~rAOW=BNG!V z=9A7tv=Ucy?-hrM+F17<71F)nmoHx;XwV0YOELAYgpU~0z2Nye*{<(S4sLbz_r!lt zVZ+~6c`GQ(+vH5iP49$TPMCXDrBRoQaGae%!)bB|N3>rKe^M%eKhzA`b>oain=WE?aAwn!o)fg z*{_?3+ikzCI2i89R&uR$Ejst|+x)G~VD$8WJzvjm4aat_x=29~?xBoYiQqVPI# zish()O`POgn@Zd^#~I5_zkFVGDnfs6oUCa9woys^irXTzsJK{JRW-h|ySsl#Xn{T2 z!&<t(>r_35AU^;}$;I-lQDLoWr#LJU4km+^x;Q(+x#e(M>x zslgr??^0Yv=0RcL72WS`hmkH~4_>5mO0qtJ4x*b7SSmrn18FuD$VEI4H2olpawh;6 zaoc{)2f2trCU{XCm)H-2)F7?(;`q1qVrz&y$ohSa9_#G(k-K;>?IWL^AB>=^aw4KH zU%q+6aW-YulR)({BcpVuf9maHli4{aoKeLHgcu}{i zI`K0ko=Qw_sG)P>n&$bHrurLEM&b076ne|<_+$XH{x|%C)*$={Sw6&we9u=iBnDYo zSwYcE_q|`+o>0v5HoAe1-%4IoBxj3wD3Ed* zv(PKVv-G(9y*jU8(yr9wXuLj|9e9I(gs69zWDpTCBqAb0`_jexy{o6Eauh3Bk9-wZ z+5n?T8JQ_w_?jj$=je;M3v3y79mbq#V=;$*5RloLdiy(>V?N>zrQmH9k>72)mp3OG zKN<_!B*c&O%>wJi|Mb$kFSXzD`}IO-qno0neAUpWlpj@5ra*Ku6ENs~9H_lBHI&qWL|v(<36 zNJR^S@ua9e(?8E8!omfxYc_qa`)v)wO|IPN&C*ZQ&A_UvD%AuUDb5!Z0$M`({Rz)T zXLeL%?At3Kyva#1#;`Py?n=$~0UOtNtkhb_f;e50u>!(fnVI?6Y#Jt&{%=4jF_r#2 z4^}8QFgWYC*l@~Icjz#TzCM<(j`VOMZZ1@lOT?g~pa4A-L_}C=C{#*iFh411k8%%C zMUz-Kd^3^BH6NsX>@@fuGgLfT3C{LA@QZ!+=G{+!`cU%PR^n9X`P<8hj)^w4IZ1fAy@wx$$V;VgmgW^u;EiXF$|QkiC9k=O63 z^!mg=cshqDt2#)c0%!sb6G?%WC*`+}YhKu`>XC{Puw_ttfmPSsN1c$YZu#p!u(_jR zA!u=4&~6E(E(BT{*jhOWAr~@{5betc<8_kVrT%A;vQ%J^;%Hw~$RbI>Tp-PTE!!tY zzCsiOb`Zgw`VElof!>^rZ24WV5wIfGPX$9pHd1WD)x= z$1qz>RT;YPFG`=E%(@iozcUs5BrLu*77`vsuMLi-h8tC`&nx5l^0aBsy$KE6^ltDH z$mJm$w4-I3^!SzlpfA23p;`b72=G_}5Ho~@ZvXG)p31)zUr{e2dA1nF@U1EftTLWy~qB?TQi-!fkU94XK-mlCc;9k!m-PMMBP}(AH5xKq zg|Np%x>78#Vv!Ob4cNadmbsSs`tX}cf}b5x_>=`>7iO_!7*PEPfc-Jg|AxasNX{atZnL$S%8JDWW}Ri(!7cc2-livDBd2hBw#B{-)3-YZ65{Jnne z_#aQ|n+&6mUNjU zHEp*mrnNAq5Ke|w{IQVHk3g4EAZ59R^xcmPpye2NQmhG`R36l2T;JpS2VNM#i^rsF zFX*7qzQ!I6*%)~xf;<}z@M8LdfjtRyHXDzE@#LO&4~D>$7F%E^JG0C`KYOKs(mF8f z(xS#m%G??gPRfO-c!Z`$>w2`>rJG>*wykZ zdlGoPw+*b((I}tXbdj0W)v1kDi&H7pNuk!|!swLD0U82DpE(MT>LqCY<+yEaiZQ_k zCCYf!!1joup&-%J=;cpFng|X|gsEGi40)_3A{dVW2j?{t5(-j-yB_8B^Ft5@jsq4a zCr$fJ4*H7GFaSrWbzU6woO{m%7VMZ# zS*=g!9NVS!1A8g}llqDMN?WZIBc^LZRgC{c(Yi2o#<)QLin7QR50#$Pf$!oM@6% zz2IoA!4bOysAyPY9#ZEtqXkMZbC!@xIs_~M7_VGG;8BaSl$V!leR^tAEHpmddHj%?KL>LzvPLwx9_Nx|n>XHM-PyS%#kMRSw1`?Cp`^y|V$=d8gu zV*2$KA6*tqLER&+VdQGw4-GgR65_S&zAZhpHc_tap!*>^`#z`y@qiNQ1)P-*HSiLm z_+bdoEs94#$EnoX3=5b-@OvfR7onSXBsKG%v39>Wvfm+USpaD94TYQA-j~yd?@Yf; z1cH*DGB~Iz%}4GaTsE04=A-_j&c4t=$W{H7Yj}(z33SqcC?necjlj4=!4P*bW)Z~v zC@1yk$TKD`jyS4=7VuBiRY8YY3uTA;rhdiE2i=s_zjS}LYP17lLibou#TehTudgq1 zBeuET=AkUf=mYKP2-`6%>G?AT1_tuvFV%if9|}4)&!NJC&Sar^A%!$YdH;xC4b;YC zS}Q77qDhtSz8dLO8$ST2q@RFNAKey)sq*AW!MnPCD%qvHS}Hs%fJrKBP=9G01{*i~ zY8LA@c{@+)L|Xn&1eT~&(3S71sw>_s8KQ7W9MNg8GDfGl3#t6xt)uJMLw;~WSOQc=zb?JI|*)i z4(i}n-~DoUElMyQoq^_nvp?m^!s7b&R}(LWT9#m%OUt#MNu-&k@B4gNNg*Nq;)vnn ztf!y*(gs1!xy7f)W7-ViED+-WXX$@mE^w@F?Dpbt;BCXXPiczboqZ=RRIr_MVhgUY zLbdHdun|~uN6I_CM$N+%{DCDG@$RyN<}ciFs!DU%w?;{Fu@>}wOXj%| z6%9OCVe!-E1BK0*+S08n1!uHNa_PHDX%xd~!?tUKuRpjfNKV=(FePk$D;?;5L8-fg zUf9HM_`xdX^IB&NF|Y0L{Z-eC)4g|Z)*z4~j}4*i51yM^87CX)^29=2KVVO?a~j&a ze}0I;fG?->DWy67551x-!}an)ZA#D1d=vlPzVG29Q$~1SD#*Cbq8aNn z{_t-7dXyG=2)*3J(#d$ppV7n5b#?r*nPU5FR7iv;&G%AMfMDWeEZq8dfBh^!`o=|V zU$Qk?wJ?;mVCKG55}U*9_oKRHA(^i5EVg+zrSFde@P18lw%@U1_9Wwf;Fmb)F16=K znSi2Zu)Dk~?t1@*A@i_RGINmCof_Hl)Zn33p)YfKUmdJHHLG*F+(Ey`Z5~|bJgYZV zZBl7dvf#J=CRQbml%pU5e+M8qEcB3;>m8ShbIN+WtIRh-E~eyK)n4CfOJsD~X9;~F`?FWD&w=B87+228?5(EqE z>LkRRfh688k^pIF|JICl@n;2e$RFTS?nr-KLQg z$I%?K`WM|kAkAU5r<)gyDAEKLt+~O~@7g?l0@Ev1e=||>WH-h&3z=2m7g##e;kxfk zB{sjm%f*omJ(vZJRVqYPx_>wEk*8ra`jn_(72cqkH+GLbx~M}&Lyyu(F)sDaqkEK^!+{%hbf=adCO z2Jltz0I~FZDiQZ0-s`WIyTt4sm#Z0OKL~EA0Yrfnfui78@S3txyI>WKE$+!J?btx< zvmH4_;nPCJM1KPsRbih*SOb8J=8w@5B`?YrWn=Krf~c@M8WnqF5o}1ikR#9O(}HWq z9aaod8SX-l_@%k9wt;6zvwVdGh$ex;&W?;ywQGp)4W&;m$X>-&uW1 z+ngb9iB?CGj5;X5b_BUoOHZ#Pa)tIJ?Gm%&h~+=0s@7_ICtS^7>{?^gAG!c5Jb0v{ zGYnsnFc8-(`ALg*C}unHc*|C-p_mtP&`-lPI1|Fw#; zgC$D{4psCgJ%eS^d~6D#r|g#}JBN}(fnYINgwxG_9*wJ&-`|DYH4*hCe&(T(wYkIu^jBvsj9F&MJd4`yj;r6`QZQ4sO%?;TdJOt{yKbw(e}&6(oNXRpfU!(lO~LlXE?0s5mq;J!EtPc)%}2mMtR zBHrVzhaw!SCYvL(&SoTsgP2*Jgq_;5$lR;b9AY>ea&T>a%&Lv*nds<{xYcrRQyM?Y zm83doJ|5<#rIqG1`CR1i%YS|KO%TBNTVbuu>`ls0??FmR@k9?a-4pm0V%60ZfH}oC z4`gvUm|xa9idD(anv*D$PbM*`U|I=?_Q~2VS%ZGw=IK z=^p$2n+LW^L5XrFrR8Gs-OAu=K4^}otfG=~xz}P=k9qkh-4==^U~+XR{rJP{9lxhH zGzj|v?n)PnSZAGZDqIFc;UhGIZVFVAEPi`Ba=(~0Y8>n{IuPULXHOTt22MI1;Zcc} z&1^svDZos_`bOe_>@{~oJ6re)&OsMNp5Jh9u2EYdk=og`4}xXGmN zAj|3iu7vUCtVhaf@D-2$W``$O)NN#*np|F-Uud)*AVn8=GGzm$C@2p`c=eEb$}O9G zbb8Hh@_Az2*PM@1`6t*08old~!1q)SI3U(=w{1-Cdcm#)EkeMJC3MJBpvuZ!zWHZ> zD^XO5{}rqt0);7TIf^b4-%^Gmv)1(a^|2jKuD4!t@B#&v1GQcE7O3^m#B*z+yzm5s zINRM9xYbYoLbKLZD;Suft&HZ&GJT8PdWF0sy*BXbpvQWpH~FDYmAataDEu7UYse1Q z3)w{xMZ=-Pc>kywoq2bm#q7>rTwcN;vMW<+4TlzbhnySn0@JL?`)$Q|fdoltM9Kfi zBk$0qr7*igEYEfUSI6ix=N4riau1n&L6Sc6g13f^k$-u1szNSIVN zEXT6Q$Z7xckN`puuDG?DSptqFdNP+SH9b_y+bLDpMfVcwi47|&3RWOzzw%5a9pK*Mw@WhiTTT05|BXqPtqmPa>YqGD za{Q~p@EkBSKEC1e3;!oqK9AL<30yS0v<_OrLqQj$mT+KXbE~Woytp+t;9lZax}Ufq1S}4en)JH-9`DNpRpIp78w8^=nNP^RWVX z_gUvpeE{nh>sIRhS&E`j;J~G*rUA9K7jV8SKtVxTB^OP00fxt=KePaUUg>}rQsKGW zi4CO$lS*>V#~)RB`S^6P?89Gnvqk|*OM7WqlTXBBEgs1V#gl7t;!bE0MB$=R6Dso? zNFPgbR?B<~Q=1|=?dtA+7!VN9>DBh9hk*Xi)U1Ix+q{~L|9W{be)XA78e6r{rHp3V zbg>)u@#ANhi&R!ZF%0^-E}C+i&A$@FtN=$11QI4mV3vVBg$k$a*7e)xhC}y zKJ$J(X^i8y^+vzD0~+c92ge;j>~Hg!Jq8*Y1a8;+_}JBDZa<(7dZN}2^s16FSFhR+ z9fYK-Bnp|BfB@$4ao3X=oTeCv7C&H=RI~sCZ>1j}ohz%&08?G@VzCRqjZ3wz5`zw~ z%DQ-HON$3uvMm@6WPmZ|2_+_d{y<;9fDS?b=`OZ7}a=Pl8Z|5Eo5M7w?bo$ff@Ri%66m#0lB zKsX_@&)ehVdHbzAv3^;opa9Hq0!Ey}{Y;OtJC0RsxUgd`1B~p*?rH{#DF|B3xP3*< zstJ&C%%`3#EN9es1N0g!IokW0cG}%x z^v(P?`X1ENpDbQk5$JOjwKS8wIY@Uexlt4zNbEg~T5;40+>rBFY>HGPpVRfu}m>5{fqT9ksA$kNQ@ zpMG{73qKP9nvaK=PUNWfE&;+5!^MIxU5Id(QVm?PL1g}yVKEE^11=K^C{y)WWNEIf#_>k z<_vOsKOy@1t(-lQ-;#?4^mRCbj}n>fDFKVul*Y0HjZi|c0O=n?U}uBm#=Ysm5tv(Ae~eLHS9RSq?h&2ghk#_2 zE_(pL_2)SrYB(xA;C9KCbNx~fw_uq6L}?ir zRfLl6&VPAqGn{R28D~#{9i9lz=FEVX5tpcUU?AnyD{}lHKoc&5=?K`s0-$8_3#h(6 zdVOgpEiFBYQ&Lo<wO}O?|@fR6#bp_M|NV?d*?^_ zkErxfFxJ%7PX9I_jEsz#q94x%w+wH!78Nn*{%!^WHD_Ok$c?VM zzsG&!tS=Ej8}h{&+gFN*M-vAZcM_dsUyZbpAmV&ExW7K&>QP z6ep-mBR{?q-3lh}6Dx>8YQ>~Z5Ys@L=Z`r3LkEJS6{`k=h@9Efng+HmH+~sE0rx!1Mf`W(OP#t`pI8U&4PPFk=>kkOg4zi7=v7+XG-V)lp3#Wq$j= zy&-wI&DXeDl2rsC0I$oe0g$!p>;Kvqiy>h_8A;bj+ z2WGFoJ%NG*3n;ykYRs+ZmKZdQjoG0o6qrCp@EMlKgS*)PKPR%uQ|07G0}vqv=qOEN zV`Fs)InNhW&qwqSAD|JW5xJ?iMwJvK+ z`z;^QJbo+hKpPK+sX`+^t6MT&(92d&p- zKbFC%A)};Z0{|)XYKQ6I-~jECjst+*&__TX8#eq|Ifbbr;Gm-rh{Zkti9_Buob?xr zF$8Qtq2T7`=3o=VV%*V3muUr8oewNRo z(8K{((wBBHOX$(=*UP6+Lj=iSR}(${CpE|9!1_vG%FCP_P8M^P7a1>^fU-%;z@V&J zR*lgBf>do6c^N-pH%a+5*y)&mw>B8U4w zxJ0gGm#s~~wBeqFe;sQ%fZ{mIv_QyF{@kG1U{MtgMg78=2f(7=y>*4Ow6tK3>g31! zdb$f0#))Ji*-k~b@X3S5z|w%sSwbh0@8Y!OhRV~QIwqna%&gp359nbQ5v_Cv)wG$_ zzju6X;y>V8$F6weB2A9oFifRwQWxF)1ROF0Oel!M{$P^Oc|UZ5$&i`ejk7n z5YYc%J3_rVUL2R#{r>q)&<=l#v+80SCXMH{M(}H2x0Ahvg>KSs{6sa9s3ugs6}pwM z!phN79)}4QsHZsEnpE-1l)Bumt&sf!$vR^H3$Rr;u2GzCRlZwk+WVSPqL%e}*rVes ztR|Y|qIa}8#ukRoxjilEyg*cBJ*EWjHk3Fq4yKhM;RG^UyQm46nu%Sv9gx_Hh6})5 zsh64qm08pbKqI8-s7n4Hp@*z)EszpsD`TXRRtzo1N^&&CB&!+Nk;)NQQ+=0%Bwt42 zgVF1^hSpvwnD;QTOEfHh3HAIUe=13^ce_5&XC2TE%wyS@Cp*GhFmEJ{*2)R2?4g#TWlfb<7LiOKj^9#X+T zS}P}JC(#`1xIjM6YPCP@VW`XK?aK0SYgff<2pOqy_TCG5+n5#Py^bP0qSraw=zN+K^|8&``8hao5Yg*O#k+g2tj_oJSs42q;z9@hO|{LJwWZV9G~$*&9JQ zPz_}uUPw9_E%L^9aVCBcY-ZSm@;pdYGUMPx4_gzTxX=P^2E8s5%i;8BM;72O;*DKdIlV6 zhYTh9=Mn;*BE@v>8iQ@$D5&+}PjeZR!CqR-atE(pnkd&r_ zv-t?{&6BYw;(%;|2m^t)@ZGyBkDgzo$iK~pgtvN7$J3?du@%21lqop33WkuoP5&lg zCLk_0V)a`(-=APEn>7vqVfUO*BT}gKnP~qCyV6llReTNxk+Pr$kQ5_VMBmE9K704U9f*Jo=>-uMbK70uwC-lmDJ zSQ_b6_ki;!FAW-l?@?;?20`MaU&J2`eJ!0Vhy>p3*SJt5Oedg39b`5u0RkT>qz1`Z z8I)?ZYK}?ZBGF8cYd6%H`K{jlPq(kUH~(cd_vWfJroPw#+-VF#8=Z`jfDe$)ljAU0 z2Bk}_ibEH=S`e&(iPNphaFG+}EB?zevQYmMyYPI?fT7={JO19UuLH-0qyZUAFBqtC0(jFh(;s#LCDUMQEV(rFnR>?zsMg%Y zTUOyP`)d66J30Y4Uv_v`@=r}kL$}d3nLZVQq$5P z#cvPKF7yt7{R;4k`_M4WSZ7gK)N=z4@QMf3uYZ6Gu?Q=uz=u^{fc{GzQm;Z|1Vw5; z23M`-m(aN?wT1=L3M7FZNd>4&79XboPFKm)H0LAR<4;e$oTEGn<>N?0Sv~=14S6SXpmK9GELh`&V>()VkId9>|6_72F9?Lf|73Ea>Kec(VVnha@P zWqB4Gr$Y1>gkSug=^i53V;$b20Ax?!cGQ!K;!E!$8XTmyAL3qpPM4f|;ui zfe8V9&Zqf%q2(Vrzs&pjl_r+_{8svC00?Zi0{j15F2;UUqF*^2k;;H13+Z8YbbSKL zctwDSs8|b$S_4Y$P_LE)f){|Rz4%tF69 z1S-DDD9nUdB5E{1j`2P_aq>GFQ|w5AYiq)Q$O!7xzs$MyP%#iGpaI^6==N_HpkOA~ ze(|-4ZXPooyv%znHmCJyM{{}jesi>^A7ks{w&EO0@iw8U{3CtY^9Q^UaMtZoA(L<-FR$bJG~bo1fGwEMdo@}-Sy;;wf@Cyw2z zHyV0epFEtzHYb2NxROh+s|384AA+?MJP0A)U)ylp)mbc;Urz%$!9nt#5${}A*4s-F z{>q!ng&S|FPG>3DZ4Y>m=lJmic$%b2bo&(WOpcP?s`q7Uc#QB;#K&%La?CsN_+zQ1 zLSzM`U=4k4_iz=~EOL=4rt8N#7TEPj>Y4$|#B*bm_INu#0)2UC>diPVS2KJe;P3^Q zf61zOdQ0^Yake2(;3r?0K9`%sT0%^Gt$a=*< zq~i{n*SM2MPF$=@_1$EOW*(*7iLqKdsIHyit8CQ`GI}75zA}r{)W3Uu^Bf3owE!mo zWw6PY_-6;Q<=F_GNyMm=pmjfq{dA4Rs+F(22%6BmZ(&|+V*cmTIgi91KQkwMz=Zpr zOB@dJ{pqH3aUBiCaQTyxOnkG0(D)X_1WO~JZ>kJbn2#E$(fP4Nj z>>9@dUXW^=8#qqrKd6Fi>Q=0?n&oAyq#bl=mC|d;6IM9%rL|qCxO`F?% zQ?1N;*Qi~hJ0%wjYIylt8JL4Y-Hh4LepP$lqM>|}F3h+X@I81%?h4JzEwK5ZOXs`Z z7;1*(XfgRsf1zjEs+IFzQT_h;dUMY-=aL5Xxku?=pSz#tu=8fNfKE}j9#1@~tE+3b zbin!0kRysA4_$K-lZb%OREIVMgg~WIHyDb!@6><)9Q6JgbbNYCw#_bbd}Qre=AkU2 zp*MdrT71pguTikf@7dfoYJF#?TH*{iV-z3xQ^uC7RW2X~QY(x0J*YIh?q?=Y)%m-U z@@V3Uj~^fC+O)Y_F+xlqq!DvFQ7f%h9N_Q~A#`b^Ile?$Tzh$txGf)Wh@YY}?We*p>z zPO4~p7I7;VH1cHa87$ss#Ccu}1k|8vEiLuxup>}@JIr~{Ik-tO2$vvG_3dyUB_ZMt5B4x%ihwyiS_BW0c#0p5%2IoaM$wCb zC)Ji*yEoj03xA3N`P91I?8mo-VCIguF30b+1DaVXb>?5LoK4%V-Ma2`&u^~r)-@h^ z;n|ClAv}aL?7Yn>m#Z{|vlIH4j9G@I5OhGpxm#~em= zu0W8~&jW_KJ)rs5p&o4$Ib3i9q=Hy>isU5E##WV=NDxR9Y;T@6EMY|P-G3q4BLxBI z&Vc-+;2mu7tNo6I46~p{8L=gCYTrfFRi%BIr*jSO-ARUH?C@+^2#;SzcDPL$-4|Y~ z5-7`PsAbB#AL0?{991haxD@|o#Z|$>OBh{URPthjUeU&;q@S3}dtGY?&vqg1*RMn= zJud%jpxVa2KYC~R_TSR`7}-gDXSp5srXPt2X9Ia=4m#I!tn9Xho4-EwKLL1A1cmsQ z+08{pN27Qp`i1cKNjKpzeOAoytLzq4s$m1GtqZBY2Z?y=ykibo&z0ah5SA&L?@^^! zLm|F*9ie5|=w5sUfJ9nqD#@f`=o*LZj$HX>l|`AQK`lmY>wDAiTAKp8JC=7S2M2vb zsqW6-QhWHyOA3sj0c6$;ylWICVIylv2d5*poK!P&Uw`8h`^~TX*p*wB!r#*S2y}V6 zZqcv6up8Gv3?F%F- ziwB`+9qv0%3gcdO0I;K)rP8nP~22SZuG%NKGC)Um{M zappiBdNbMqWG+pUEB+iP*M)*yMK^hdL z`PM%7{rsNieaH9L`-}l&oXtM$z1CcF&3VmhUh9dTjw&$$9RUUg2C=%Dk^u$=ED`#} z!vTLmy}$Jl0|SfXo}!|jo1&_sr@Q9^LoYiACsij8rw8{O3{({`FeIKmGq!SJFs77! z*<8!RHWE2eQj$z^DfXhy-C#WG+s36+?fp646!$v$#KG+=tH=Lr*= zcrDWA+2Oo&m3(VomTL!o^!7^nbcKu&hm7&@JWu6L<$%$zbie<$v&Y;&KmDii@73L{ zNWhacwYkf6VC@lH25BSse$N0Tc?%B-CJoB{-kq1NLzZ0$TMD@^ND@Of3LO=aplx}5C4D_!>Y9{`T@a#Y_EfHP#eRBPidL> zcqh;6iOjo*g~$NkF6p8EU8VDSA)9Oh-%x{Wq93G;7>mo?d{vMBvNBd_-{X!QerD=& zYv3^UxakL#GdyIM@9sUx>9O0z&T;a*yH8gR$xL3$_L`RFrYl_7@HJBQv&+O-XA}8+ z5cEAiI`uQn$;4YuzD-R?7tbzWQh%WEAD z-iP%6I%R|Rs&Epe+Fjj*+@uzK1H~i)MFYh{LEY^+oY2=9`W=3a5-G)-9J**`| zJWQXqs+i=pPCfkT!*-X>mCxtHw~3qwqgUNF>(f;>>*D4_m$;#rVOz5%jbdA(A592C zT0AX!Re#CoILa3D8N1un78cwQGdYDb4P%5f2ejhd#j!YF{W~a^>^Ar}nTaE8Wqwt5 zY2;zvgFNpA)Ca3Y{s%S>Y`mEs=Bc_)1n!Bt?Y=9lCirnLU4Jf5!F+~Kn#(a-rn{%x zQB!y0T1*taoxmeM@p6i1)K;xH167`me7eX9u>7yOL9gkX*it0B`bR(m^vOS zQLO56v@Fs0TOUR39F_QmYRY_j7vBHyz+D>KKG-H$RF+b%+bfcG;c18d_QAx1pEbiI z%klSe>guyL<9Y^HSL_Mi33F2st##&eZMAH)GK`my)Tg_wVN?YPOLTjxUtUnp1{OO# z%)^m5=al+u-f)|Au>y1K%w_l%>h4PW9!7<1Nx&b20M1_f1-QgyWKWl=F5PH3)7Fti zfCu|L#!PU#_0`$MqmW;i6AKtk`B#`%>;Z&*4pYM*Ku9>5sXJ?HV{n7dco?w9_b{-) zCm8sp1HTv;@O=1x{RNhokNMx9p_>vX+J7)G=qo8 z*bQEBzuczOGdCKG{XmsC6(Vol^%_1&rPO(9iKu_)nq+Q@P{Qgmy;GJ(PVhn*$zq$R zj0Gp}tipl+`r-dg>Z8^!QOcd&Q>naB$KB??xeqU|_L`foZqHt^1-8l4sG+c+pZshr z?ias8=XKz0Na!aHIY+FfuKr|uuKCO3#=1JATOM;oZGp8~ z*%JC47k?~n2On3(UzajzxIfF`&>v4m!*C_&yJ>X$;g9%_xiS_xxwjvd7?qoRx}suC z0nfz1H$x#cq@4neCQXa)eJOeHXZubnU%XQLqa(+eD!b1m+Vm%@DY`{EIg-gQU-HO2 z`knY|eROzpvV5|dL)E|_*=Ku3zg~fWfS^b|5+^w+>6Mkq!Ur1>=~QmxxIUtO_Gia?$X`eK@)vH5 z^S8Qt$tfwU;BD#pg({`H6)#>87Id8LwjOTRj+Rk|ov$!q5+#ONCo%Nc-gaUPztfUo z?7?Gc-s-O@!}C)9qAV82!jUh0l6yH*o&=0_`JAGNvp zc{egux$#p5apfb2gNlm z8#M$Z8LuYGjCs_xwT<7?Ie*Gx|MXIvwBwmKcmVjJz-ObaPDIp}eg6CzJ~1Kn`a9}g zD~-swISq}Jyrn??mJ+?*bSvX7Lu*y{_>=9dsc2&(Bg#AQm-DG_D#O*hst9?=HJ0|g zA5u?E+l28kg&w~$Dm75PJbQm7CH)3rdQjPWh4fN$Aynewoe5ZMo4>ttd3vt|9Slbica&E^Yh@YWw)lNmWw~L!#S!=Sfb2J8~b$7 z6K1lJN1KzWstHPOy7()U^qg{`F)hO3qRjkn9Lv<8t^9-;iJ6R7_Av$8=$1$nPA_(< z)-`po>6yu}T#)4Qse$Nm65@@an(~uNSs{Kdyu=%p3Pi?1Ft z9@3JknV6Yz4X5!veVHiA?5#K$4~3pibF4Cxw{*;j4fO$?gETCn%tDOZc@VkbzplNrWfN5vj3``_K-yv5(;jrB>%e)CqTOtpGIQG|81|4J( zqyn%A8y1fUJ7j}(ihP)N=ygLyXk==5Fr5``JQHUP$ih?1RgaEbGeNkTc%!e#p_PF! zedU5&j!Vf*f*imX&wak_4h}Kh>aWLQp7YXQtLzl#upFsP=JbSF(etDVA1_ori^pZ- z;pR?W8%`h4Rs#lp<*0%-Fdw|$b&>#qH$ur{QbFUzpN2=Q#``-X4H`YK*5b)}o~aJy zl3KMwG{NDoyemsdpACfglmF99*6oiXw2NiW_Z7urb5l|%OkpX~^N48%;*pA`CbK&; zE^*qLnuhl@H8cv;J(@+w)<0&7#0;foXY+FXohUVoNpthDbFP~7(Nb4WnwT&e5WE%1 z9vTk9$I!vbfLO)za~(>H{o$b@?w*f-_!7aMePfe_iWq%D!8wGgUcndfQP z$*xd1M~#EUj^`LTM7!DzaKT`ZWE2V6E}jF4X)o%XrV6d05F$h5?(@08^_;_A3f{cEUR1!Q_gW_h_2TYmE^#dV^;a;VEQw)O;8fvU_-&_~<=pHhQ!Bsr zdq`C?4TF=tiP&TrG6~VUFdO-lijPfB&W4K5oK5@Xt<;emDbBW!Uf5%(sKOpMw0j7_ zC(BLKUnxE|SK#)uyHh~Ng$4cZOaidN#b!J?lsi%Ez?IGZH@8r;c$C!C!?9$nj$`@q zHG#jJEy_lHnHwr@5om)Ta2H-&T>Ke?b0~Wo6zb;59*#)usg35!+%KlGU~VYmC(s0e z2@9^7&VP-Dj4xZtU#CPjuTuH`FKtZwmt_U{U@kg0^qL_&+=WTVIT)fjpYJxO*>PR&nQVoo6MHhf8PU~VWECeT7ZJ?!#V9=m{mE zz*DrMMhnmZV+34mTL!(zfmTzC4Y& z@2u}@%8+{?NAl#}NozC8h0ft_^gf}e@%S#;5vUQ z++7nRvaM-Mm z`M>(U*##K`C82~@^)cMA_U)Ns71kV_lb z@j_Qj>~U`gR>m0zP>;?dt-s~@sHPq6(XQ=4!0KB=hSJ+en$>fm{iJ%bRLrCy|i zzJ5|tADwj?t-Ba|7mZy1eudPHj4pD4sc!&zopib08m)JmF1z}=`@MC*T{>SA!e|VE zxR0Zrhc7x!6(|#y8kHv3xqmgdz!deEGxOV>D_x!W2efgSaa^-$@_OYO-HB&6tJ*qZ zFlPLm6YbZU80|tc(PP|vg@-0X(V?#nOX3$peFR>ug@+#$swNEO_|M8O`O-p zfO+t05eB`OEw?kCR%C+1V1H~J#P43}j81X@$netdphFO2_|#jAt(=DMxBcwCRt|9q zLjPkH38IwPX1D>`7&{=W&-`z0AzAR;7dosSJa|xK_*$nX_~cNDa;ZuB9+JVd*a(2P z{5Gt`)hZATYC5Bd=P8$#5fX%tvWaptQ_hY-uWu0 zTy;|2kEcWYyuY?k*l3_D5nm}!L{6=U3FXa-C@bW6=FXVdYv(D zqu3FWlH%f=0f|4MFPewC_C`{`qM>^tpx*+6?=UD z8$t2?gP=~bT}6kkLN>-;p_D*c_1*rJ^=92@GyucZNA5djStPoIsp5yV8C~?8{93;# zlztwLL99l!pYa0t=PA~F*i{I-qpNF~(OYxl!^6W0fjVurx)AC#Z3#myutq6(bspc% z2?z;`{dT^=9ByztS$Sjs74B{1Ye0+6p3i~FyesaILw+d{2QCWBQijk=;0^2-@9-%Z zop|)Y1%q*pQ4AV%v4Vuj;FhKY?a=2eNX+Fon?=It#bJQaAy&+4*}$^}!f8dE)u8O+ zG@Mp*?+b@;wGg;VZ_23532P-Yt95=x#3XA8YHX>S05a2iw(0wA&)A8JaqWeHEwQf; zCHMGF0Ahz<)H@C)3$F)sGlF4k>+8Nq#$u4q2OARhsIz*>Dcy?7>p9sOA|F<*Yo%{M zUL_O$nDLPsz|hR<>gujcnYc{BdZ4hDoZVV8!QRjse=DZjuHMN8&kMV3cKEv@h+lfI zuLj$m?hzG$AV~Nh2oUU@7XC(0i4F|<%UG=~WUeZ4a1k`kRLlvL6JNkEGh%YF(eBm` zd2H(?mkead3>Dz9qQ7}FAaiYNgNyki)t~B}x3C~S1w_P@7-D*jch>Dib#)WBY7F&4 zfK#7Z27r2ic?7EpeqnQUntl$-w8Numo8kM7->KHgGjjd|gFB0{06L<|KLOP)=5qXh z!$cGxJ}6&$(jFLYi~&xsY#qR1Cf{%0n$2$#90 z>h15Xrrf5LT6g0bO6&I{YOu+3N#8*w6b612bN(#+PNPT8_I$gP5_uA%%p)4P{pt@>Ij5*`_K|5-n{%iAQGK?Ax5DD+dubfU=}N2Q%*>l0 z4Vow=4S>jK+##{YBxuMA(DAoMPl1~^ZyK1Hy;*%@^SEZFd z9j%mKh5P@2SAp6&lE#2_VXeJ8YO-Ga_yH));JbEF&`POw2E$wU5ZVJr_DQzy0|1viMG|v+&&!hMWBSY1`ZGKS5q-0n00X?^|7| zWF@%S+%jQQaCI&}j6-^@-!U7JPkK&FOAEk#kwLM>kW6&a8l4pcoUZ5egMw1fd_(4@ z?%&q_1)T+eC^vJMrcf9R{Y+y9Z_MksAbP@~A z4_^-vMsDRu`A=zgcr7W=$~>w&zx?|?oii`kfI}yHLxkCPbAl`wAy`5_B)RFl?N5$F zL^=hs;>F0fzlfNxE>@kSa+LA>(;Mc(k#9>_X^j? z6L#S{`RVsln{$PF4Cjv-H{PFo@|-|PIJ+p*36>M|W4uN1En0H1)_E?-It2h1o7|z{ z48QT2u(}ReQ&VF^h-KxdgXdha-zPxf#mmk80N$M_2~rvbPW<@hK&{6*3jg*c|J?X@ zh!IpYQXs^VQ;8g~B)&P- zVwzq*=5*B$MG?l>$HI(F{ZOJNg?G6PoL>#>yn+=IaUlGN96M34GM;;1Yn)u29_7h~ z7(F8L5P@-vHDmKIvDnE69($r?~Ze9on;7t;@-o3XL z#Ec7v_Ue!(hFeR=)n$;RA+LZ0;R0|Gq({7!?P}{=?pmSwR(&Hflx5@SY?2FY}0S^#?f#q4jz$0V5oV(d^FWP@!p zQ8Fy{MRa9ib<-g}|HK?Nq_tUK(se{l?-*}#x zRF4;RUFosZ-|p^ij3x_voR}M{y-?u#td#5URG7T3)Ime`QF@msec0l z@*O<3d^cna5iQFM?scihOOf~5F6}@7{#@^7dS&=;Zt|jqSz$)x^aut#H!cDk{!qs8 z!>(@#oPT`JpJFVh|0#b3Ab)T2@fm+PSUelLGJF-`A?%-0^apamMPVr4_}MjY-^_1; z{(!)SeJ|R{yCYPMYw*bmlHO*O#CotAr_ z_!)%@bH<`P2(g@Ay>tZtz$q?TD&@;-U5H^Bwp_sn!?{Z~Q+Lm>lWOWqiFOKL>IbXr zda{eT>Yv1c|5Fm+boVA4%>o85rKF_X_}={x42Faiqfr?ED401&_T0=Pu|bea%t&wQ zhMlHBu=3H-X0ab@@1kUD)!bR9-a~&ffMXSDqi;vQCnBHD1?C5&coGD@#EjDgZ1@dJ zwDkEB0BpO-x@>N4l#OMnf`PLNR>f$mOOWCh)cOD=R7*U3l2{q(Pqf;+o=fpN#JT9g2G9c zD7-3iBS+FV8N_juX217WmuG9Wqp~Uf3n8X}^-7_+m%#&~=TEGT^Fz(Gmfo;O($~4N ztohO?nJZwl5?=XP#Zm3@i%-t;)X?2t6PayVwEfIX&(g&jTjJx*WyC*cuj{s0%ZIF4uT%dwXfm6Bz(J7%tTd zk%8M;FuMfi({HtGRT}b0xJ{N7FIzNvr0V^OI3ifO4LmQ13`IQ;xVFRFB3CR8^IimqJxtBN;D_0n7LXJ|iI$G`f2%0ZXw~E1#b~#jb z{z*)f&{zCzIaK!M+b17?{CCBXtRQSzhn_eAT26C9i>FBhp9IAFI!oV4rm? zbfa+S6-)dO=*O;smIbwY;4t`_tqmNkWTWHVyX8!gW}+XE@Nop#`{pVERg6K~LJNQD z&7P6;)Hr{l+o1{twbD#{=Zl+$FDzKJ#s@ew&9>@6ZTRw@y!TrqSnhC!M&Aczc*vpTYj{Ah|y0O-tiGThW$OQcF z2+!6nCTOqS^tNiB`*7f|AKv!yM`eRlAbB2x4Uas?=r41_N+J> z@bJ1)Mhi`h_dbk{Qg4eypswwLJ#ejPK*jhH7WuoW5fIAB$;m9y(b1dJhM=&%@Pxov zr!wB+)&1`+z8$S)My1PAKVbO1kpNOfbQlKP6Ng=$Ev(f~Tc-fnKMZ2C6DYe5Yx6F& zppYMU&_|v6j_+-Jso`q^oK5dNkSHC&;t2;Id+i9n2V0MY4RsN`=tOv78ACb-!VhP`{mF75ZxoTf}o|2M+y;fXO64UzW)^rti z^>|Bu>IPfPEACmMhAduN2JMpos*0u)3(*!A-hvC2OppqNVO=pIpm*L5={0B( z+k~HsHL1H~nQ3BYK?5_hlCzy<5zgqq1wz=1g^OMPO{$Mr@_#86faQkW%_czsp9u<2 zAguUse)7u+APWO?^Rkv&BbGg;ZB1c-ysq^_Y%E zlu;mJCc3}?1$7+UIW%Qoe={`h*wZ8N@mUTD*G&pqH^5)-@CcVJPSa`36_Zy%Cf?cTr)I3$+AVmy&)X zh@Ma0{Z_9jXly268$)e=10=?DGFBD5mX?1NITeb?M(odRfe-7~*jr-IjoV#Vl5UP9 zI}Jj$QJ)RwK>zI+ho}=O9nD$L=!lMn+UE{7?nj1jm?9H@{8+`ES}b89C}sfK_%Sls zKf9ZPm!xFG{v+m>`v)wlJgcB4GASRgCbyyw!_zU%l{lSPtk4(Oo^8~9mSCGm4~zUk zBQQ?rGUf2P*9G2MRq%=`BgV=sT$-HBf!bu-sGgsw5|e|_f6m9aI6Xi=2c$aay+%$YMr03 z1W_cOL^=_|*<9{Cc^a4a$|F0MqNA{hSp<#nn^UnDMRSwKXbLj#+h z2YB0>N4ag!|#2VVld(MEYhN z_#5Q;0=!nd(&~UI|1dO^46#!HF0hM<8AGLw|D5;ZlL&n{`7tT5oh$*HtsNZjBT1lQ zku6X_5@uEl~z(d-j28z&Da|VO;s0`U;MCJp@0uYnEv3!hWX$#0VWID!l_=f$GdL!9P zi*Nay&lhb-90uy9)V4P1!I2R^dYny7_!>(mm0Gjcf%9wfjmh$KsMSeJx)E!<00EXI zK*2_>_muPBz%adWx%8MRbU)z`P_W3ysGZiT#kZn-eA=q@PxC&1Hm{2;s|VB}(Lyz=Y8EKwRLg(4CRX=2L!3%_y% zw%vFk=qC{d7)HQaKG86eD35$>NR%siV=-@KrrIHgy$kC}CPOqA?FJ0d)Ua8K7V`B1CuX}9 zs)g=#R|0Qa{#N#S8NF)sVAW=hg~ZT+A`PsXTlu_9T#vjxATWa{OG?;m5wJ>3$g_nW zBS8^1v5e%UY&)8=0L7=ZkSZcg15U!$NfnF9lgfSZvU7DX#p&QQMNtDb zA5aq;U=~WF&u{YSEM~b?CV^zF35wTZhk@rc01uZM6vy=ymjtlcGQk;?8UgYDnF|lp zYF4z*xsrwP(HNi#`vDoU4bADZ<%1@YQXb*xKa{p5(3gBr#yAj$rk;qB1>PURFAd}k zz?r?sfR|FkdWWG4B>WT%@ptn+FZ!DRSd5`8u@C|;Rc%4Wu5te=45=jo6{;M;h!e4z zNZ8outOZj#p<;7oAc4Aqap3OGxB3Tz?CBXd$%g@@jR(0f0-^F&e(_*{$y5h13iKfB zqj~87dQQ_t=o5gr!34&`M8IhF1nKJPijoNWyGtA^0ve*W&_JOk*#@EsgjCFtd4RlO z-jF!pBWI`3zqgLh7OwaKTayY*Rr)NSF<=pv(;5KErA{p{Gw08Dzuv$HDE344?T7zz z_`mS02#5bS9X6nxU`zDEj7aT;Di)wJIm5^Sv_Ig0Igd$5G8&p)C%NkhXs1CZ%4wk^ zq^nWrAC;=DaCj6Qf+hj%RkMzhAM_`AS0_wsqZ|86J;Hw5W?vibzXa`770^3`BeVc< ze|z+$Oi+WQ+`}JQr6zC9J7wY}USgQ!fQ~QnBEYMmWa2q!w=lojLIQ-&2JJY|tN5^% zZo?00F(M-1gP%SbuP?5+fXuLI)|2t#1sljeMsE>wvmh`771J1h`5q8&4R=QqP97xQ zP%Hv{474(0R~Qnw-6PjrzzyLxQrqy15I*Gu4MN!i`;7E-PVw(PDcrAt#x{-LiW{J2 zKEuj!P7pzU;&qr&Qwa2%cQ}WDQho1QFeIP)&K}3dkhK{dMVAP)5CpO=Px6(+se6V} zc_4v=29>20p#4#n_rKL80g`WUY1 zLr2fj`54PwzND86VtVvH?RT--x9zK)gSu)m0(6zL9xCUp zQoMVRlow_V`ZdI{oLP2n&Obqcmg5+zMj zOVmf9D}4j-3ojt3cStYp!3&5nqXCG}0fzZGSlsevi~tgK#M1~V&@z6f5B#i;wO_F~ zT|kAn3o>yPM|e~NQub_H0hb3B>1uZrI(MCWJF!U>EBU$_p zNh>aShHOZSR)(Pbr_Vhz1D;`L7PzkJscN0HfHt})KP_a%pCX-o0lLUP(;|S(l}Y{~ z5p0Dmb_?6b4tsRz!vpm{9n8k&e3eC199`YcD|nRxyjx6>iE3*UW@8J{-Ea3=0Yw z^dOiP;#XlWZ)_63oy(VxoPcZ5kVZ8wgjzJukmf{~LSteE=ueHAbh@|B_%f?|-vTFH z1kE=fZi0NIrha?70~BSr+t(vP$bocbU68Mo1f&WUFeJ9*%IIH=fHwJVoqDrZCDTPDu8&mZB@`osnkr7=&N~tQmN<0$;Cw zOtr(nP!g-^ivwf>{VjKpzFBRYl|lLe4gL?NwXRo&zEHFS`BV*1v^Jmoc$u2g3v`Fr zG?eY4(rBUNIHGCaP%LXg%RwCuB4G*$GItDa5rCHi^$h^SulY+s0tHjm08`bQ`$wh& zSbCh^+rH}B&=UUNlAY%?O1c^vab+rXKHvO}GR=6C##>z0?k!LOI@J5)XRnY+D0-<%Jij$JH&WX(#P+DxO8`HpJ6GesHg-c-}z$=fihd0R|?oY!(uJu zP!t8q3sACYUSle}lB<&x-IUUISEOa1rAHixas%{L7K(u_@E&Nnlv3w4o-FPWT)wNi zEYwKlj(L)nn_EfLL_rf1>HOm%ydPk_=K(rhpvTB1A|mny#2A_KC-yH>Q;RK%c8Fsu zP57k(0WUmMp!^ieLlctZ1qKEt=j7}N6Bwm~X}bWdA)XbGJv<9Q>iN;TFyj#lJ0yZJ za5YIHy?YxnO+GL1;uNsclG*yiDfZ_Q%HAQ~3?QY6 zF^`~^mMsEf00_A!7o|-r%x>t)9KE1ZVgjD-voY3Xi*E)9ViY~t0TM-11JCF=Q+Z6& zKz6^a#9Af~HnJ}qC?X#b>&rrpTm^0GrzS*wEKoU84iqxg|F5?$R6C$-2zso%AmY|N z>7@h;^v<6E5xML2c(xsY8bVkJ$Z2kaiX{Q;$!Qz|LnZLi*U(GliRHjyj-fA=KX|>n zqwsGfX0ZS(NaO%35WCWx$sglZ-unBx%K?197HqH#fs2ZvT6(taT zs&uA$eu56GfW&;0Q#aQLXBAM@X<*~2gDmZC5<&_52f#Ge#UcKRY3m?uooopZz{d*3 z4u^Q&WtbB3WJOO!1OFH=!yYMkSp{_V_r?pN z9i5#|qq<;!S^%$>{%2>lJX0S~Xc7Fc0sO|Dqjtlpt?W-=5&#ER5|@{k&1xMU0jrXG zU5E9wR*^8t@&eyW1rcU2L&yOjNj8jAs1uX_XZvgIJ5Q`6AYoUCs6#4i18S%NG(AD1?C00;d-uCVaVt3J;RHz0O`4xc zcSY?0q2~Ir7_jW);EbO@I1s2>1NbrUsgnFy6c|nQB7;uC%NDNb?Kh?RoIxLFwF{TY zr=bAHjr#jbahw|v+&NZ`u5z2^zc=wF$-{$?n&0Sc;?8U%q~^x5vNA`yK}w2Einj-2 zhs)y7iYFp{05WmF%iTy;NhjD<1R!VGE#&-9<9ogoGIN}a5Z^D_;-%M?!G1FO3-)o* z$M)*%nO6UI$*eEPp0ay37WD~8O-zDjpJC%0_a?xdRa$>EcZ_|G(Wc#LMds`;+?xOv zMTz42waxb#x>5;y0K1kRkn!#-cFK|VYyO7>>)hw()jom*0@Y}Nz`$^T?aq@ho^?}kBQc_#df9{{j4Bpx+DGm2!9cmyrgj}+BWUc z=$rZ5?QPkQNKQRxs^kH;?qeMPo0i!5?Mqr+9E4ivXL|UEgkXeq3uw>aO{KYr+<`Re zCHU{msucp)E(Uc&S>B(0-+Pfz0UZYLrKXW7930vZx;Xu!E0+o?wqZb#uHBV8%LLS$ z3PcF^?E$R!GK-k{;}OtvG}f4x499p(0Gfs{_dU?Z;C!I?Xs}277IYfR^DJl*RGC7I zI$^aU@0yn5P`(aHvV~n0Cv!N`aj#fuFufmTNcmT;1JZb3dcPA>*0{Y^XyO1=wlWg) zHBL|0i_@(Q*4song9kdW_~rI1hYzx4L%ywC?>P(zd2*9(9{UyJ9(Snkb_o8X(DMV; zK5|ac%1xH54f1{df}`^v;_nY2vCChSr&sJMt?${xpx+z%360nlV}W5G1Az2_93}Mm zu4slYk|REf&DNaS#3hC5iU)A}reCy#ROw)m5J6--kTD*;OYJi{QEsZ6^Ti^sfWPTj z7lho2isrMu_Y2c;zvzfcEt_i!3|{M8pS(`FhDhuD^mwc)@sdlg4*Q?z9WKWOHRk+qk|iLw!{yS3Ouw2;LK`9q``{i8d-|zme)k2S`1wEE_oQdDWs^#j-Ou;e*$&*n_JmZQQ_WRLYk+{R4{CL$; z+vdRfUx(r#N*$^)XMUtD!NUP5%>7qrKR0;N*z~5!KHmOgxpR467!bbKCue1GcUcOo zb{4AP1p_6@;UH(;2i62>gP7uZkvM)Oak)mbo@jjG4T4@e5ua)nNELbc`?Z{U(I{8m ztXl3!&EJd$lA;Q({yg~?=6ZT9KPGMLSiG|75uwtGv}96C#Ds=@)mQ8 zQa~~|6@j9@5jvJHHh_?U`Do+riBX1lXwd>ys2Z2Bv@V()L8PI0aL0Sdmz1G|z#JY6 za;s9*6Y<;6FiPkh&KyB!`9H+XeKm}b6(G2!*cOQFOPZm52n25>t`V?#pwcU|6t+Fx z%)2_jo9aB*@e~VB!L9#>(%u4=fwe5_8A=1 z3^xH+@N$j&3jF_TNY-9_(6Y6!ZNq2E(Uys24-R*bvm!YfNnsV$om6dtbl-S6D{Q(X z;rF@48)W*Z2E3?BFS4~RA2jUO}T2PG*mqVazJ4K^4UpOBNVl8 z$YV2+Y65rKAmznAIC&EQQDFw%!H*rD$qt>vtH8?@Y}{fyD&Yj>$(9+i_IBe*s;lQAkUaFx?ag z^*u;ILm9yXo32z!_M+)W=50KN@Lylqi_viU*xVqV zd)_HdBRfwOw40&kU<3@VKJ3RZ}O%!R6Li3KvW9TUpFUQDbk7Ir|W9W zl^P(Cbo9r#TDR!K2o?l4JMA-Qwjg$1)q5M-70c~)| z%5k>gewlAnTbtEAyR~VagmtxiX{?!OV@C6~=_#zm>T9jqkHmWoA_rp~khGyGV`~#N zPMXb2G4vA{l2fs^SpwO=>}(~C_Mhu>MTWPHu}A-`+pt&gr@&dZqX7pEUNo-j1=_A_ z)-jG4Tf)1=82tlD`wjsm^p`E4-P(E2&o*1Feci97)gPc&N1byn0 z8Wbbm-fM=wP{fJ_@c%z2FDdHDwl?t{I F{~y5!b147- literal 17609 zcmbt+1yogCv@RSEjdX`}H%dtzx{(IyPU%KE1ZimyrBS+3LZn+tR1gp(B&9__gtzwj z|M%{_@uW1P*|vDRF3&H2smo13Rvno75^sjyK{P;RRz%j=+^pr%5?7W<8bd+RKP(+iG^vxV;^hu5Dw zPejd@m#5)f3uQDv(wUC_x^->WTNO3viWWJRT3>wW+A=K=lTw=ZXJe&0Ck)@muC z#x2FnRf~=?uG*nolMXbRg~Mh33}bz)0r_G!~1X{SwiS_4F}_x!iaEHo+i`BcTs=BS{0UD`WK=eq%`q|kSyPN zdzQ`VmGwQApg@0p(I>8s*QsfM;Kr`a3G0Xn#jK+<#tZvMs^3QcaVO1|PerB3bT`+l z*<1&L<){GP9*NPxefg^v0gHTW-%y==+#mRNP*zqsdFq3HGu^4zaN>*`OEPp69y*RY zfBS>X9u~6Cq;81e>i1pFBZre&+$mG+r~)t_VwDTJ=h|B z5{+fW7vv{WMVv%#)`31$?`~TaQXNiS;l1Zp-Sqjpw4P!XI$Lo0+QHphnr>^+Oe)fp zj4`eqLD4^dmHUONNq()181z1RB!OlfY!Q4^L=%QC_ z;=hes#qd|EZ%zGi91{+ASbKMXQY}>;aHbQ$)^EKG6a5s`*JJpAYO;!M_m@e48_PG8 zx!`x^H-G*Hg`C`)T}F9ZcysH9B>-o@=JOZ`5TbTQD)t&0D4gIkCJJh-6AB!BLIuB6 z;1>l2RtWo_e?d(xy!9WSp)W-*G|o^^5GX40GI{~1KVM)4lYV+Pbi+U$UGEMXWhJfL zQ!^T6BqhCOF0}4{S-#RIraG^ zqS8^YQo&C+BY`)Xj;SekhyTIZcODLoXFMjY!{7U2L%v|+;Mny&xgBX!FYddOQEk>? zK!DFHEp35EBT7J%7)nHs3Vsr>`t>46NJ&R#D|GGV8|_rNPm?ur_+?sM7g*ET9%Q+9 zT_`5gN%M+{i8a~`;ZaJ5b|Su?cWi%rHP+_6X*-cGwsTzlu&LDkL*BJafF_I?0b?e> zfTvkMe3ESu`Y=z#op*Dxz;HxX<=&$?EyW}%7TWthsVP#I$~#}`_~z&5XI?#^YYR9k zt~Pn2`NCyGSy?$XF%kC@_Q=>+`d|{Znz3=7p9$@=uJV9Ny$Z&sPoJXx-e!PCPQ?Eb zp-wvd)^pAFOg`% zm+j`n3&EgM$4{TiV)}51mJIgVXW|Z(p~d?_%-@VQQ~mI6g~^**Dui^<>1&B!v${KF z(ym|cJ#4a1nsMA}#P-W6`c!Ks-eV~HF6fu-+1~t2rGC|l<>^08X{1cwlNb}7qaWjT zJM5LeMn{TM2gTiKV+soK2#ZN8gKXi#T7T(TAwR2_V&Zv8KP!bn9zE`Vk3@W}LM}G4 zkFWn6sQudcv?22TLPNg$uvY$yQT^R!v|>B5Y6%asgFLb>?GnYW75B5sBw(;_Xo~B=AfEN99&}NH5`5u~$DbnF1wlEVZ?+(6_NS*oi?y=p*Xy!D_ z4*7HJeth%?DqwqctH7sRHxBrz4XCLO-{095BULV4r$~Xe-fBJyca$Suli@zG&<44zye6@)0%0 zEg1^V5&7j@(g-@B0U1l z8m?ci0?m~d9IQsFmd8OG&JvEQxh53J`H>k6Btn#--svN2OC3=ngVfoajQ|fRsj|AK zpa3-gI6BxI*;V;-H=U05Vm-Rx!-#5&_fqy~w&VumT7nG7Q}|%`Qs;#a0t;;~E-o6a z2jX)`)3BNC*>ee?(e{%^PzgE1Nt73iC049S?r^5EuLy7=zquRnsvy*u6#ogy(U%$% zk!@h$@%V9p)SMz)S!7(WfaeLjaxT1aH(ZG9%UM1A-e+Ts;7rX~wYC2D`+BzFkl#xV z%0+WAc9;gNs?by?*uYe;?w3a+r;3TnNg!7*s0|I(Lkb*hei2}S=8YFy?+*|=3%gCW!>%8KTr=%n#?6;{^T0wB&bo2D|WS(BTk7q0Hzn{Nt zr>?1))!#2K_V}!NJCOQCk-mC*S{mGRGGEN5Ij;PbJE?APl3|680!R%S+4EbtNtW?s z>Onz46~zl(XgWGNL`MlaP0tRRV==vY9x{-JW(0)S40p_aq+P>VagH&qsHjloFnQ*m zNSLKM!C9^~yrNoORw@5m_EV+4Z{31<1fo)zT01TlLv-f6U4Cty(Y6r^oWhOR)v0P# zYFx*{X=Pchq+U*e&Pp}hnqqk@(86(Pvx7>04);&%w8)LkT%M1R7C1-oZ049Yj9iYyGOML>e(cUey8K>bI}a z$s(a0zNZw9-5=^ZNCd@EgegHG>}i6tB?EFYp}SQo!a`jwEiXqu z|G82GYmnnlAT6D-+RJ!5)T1yubcc z*XaC-Qw+cqsz1sqDh)4;!2PQP$#RhQpCW2#vLVlU;gVv<25od4u(ypc3m!sN3V#6( z=GxAT{GbJ`PX%5RbC@dx8EFpkr~m$<1tL+;)#ydvFJ>@tBj5;4Wi(H?QWMDeIMvc$ zJt#Os<>cnhxJ@mLncRby;QYDPY`2Lxy`X>(1CIt1Pf;5Aq%4#@OW&<2nJiv2PLtM0 z&x+(?M~CRb9*GCy8qx#kbo}d!#aJ{J@j3t-nQKESIJH0L8sr93==cT(22iKU9~9Jb z>rLd|RWd6Oa><$n>6ac?5*h9sVEpBnx8n2qE_UnQ*9N+J-}7O)Z%m<}pdc7&H0d$izgJRLCW!F`HxicT;bE{;X%uii{Zo0|RH?dfKR{seN>-vT<{(tsD9B z?y-N{>5ST~{n*`UbqokiEV8#^y&AFii%3sTXW`&b$sZeL=a=rq&*6a6@f0e-iS6wG#UDsu$&-RSM z#&V&|Eis?1R0A?!`6fKY0l~X>?Y{TM2>R_AeR>f?_w2`%KjsGPOM{Kluilw`{dJ>? z8T{M)H_co`(l7gDg}K&eLURn(U424Qo%XOy21qVe%N##>2mShFI0mxE#=GC&bnRXP zq|yl>l>kQyp}ORq6t@kw0Qars>D%TF2_P)$VcQ(9k3_OA^h9CkRJ_wqVZffbE(6>%4=`FNh$B16Ok$FhDB#U zgL4c5%W6TXV?t+&G?^TU2GmgA3CzVzRc2{5XCB(T*J|e2?pOLvWPFE$Vu*a3)_;*< z>(6sx*F1p76%XxVc&jX9DUIj$2`#X|f~C(lIaHCUd5B&@_X>wsGg&&4XR(sCS43j? z{;GBQF5pVO#Zv2{g9xKT57K_?bBeBG zorrU-!)RzEi7ep_DP19dD%CB!N&(6}-YQ9pmc&nZVofC=G`DeewnV7?9 zZ3|@VLsyfF3dAFQGj47Wg@`em-Iu>%Sz~t8(`YA=Afx#>z%ABN-anAIIvK)ian7X# z$XyNLmJ_hup_t_X2M0=eOfldyJt~A-azMUDf*2-%Xhe&tIN%@~G{gP&7dZeFm;uo0 zVVjp-^GF+`6lok+Wv(nZIhqlLDK_Nt^jQ+M$S9Zzv$(j4)Sta3E$x6wwQ%g{6jU(E zT`X>+`ofH)N&xV>f0>TnLZIo~VfY4Y;~^1&ewzx|=B*-m9tx?lqg1CFjClnHyM>OM z3N{Xxiq-nz@fcq=7BTBv#PODVDNps*xqvXZsT}6j@35OU097l-CnS^sf5v+@Y9s(q z?8ewE@U=(sD{RsiPm@$#LbT^&>_TYk;Yb^(f%R^!7A8X)w;Hn5|JPUOM4|xoEC%h? z%z$Xp2A1mf_(+HfTR`W;gmoXLahd9~?VgMb5|&F)x9%k(-t3KxjCfsN1ui{SH1Fs9 z24GVQ#n^CgwKDZ&0_h}n0OP@3hY2Hw)}p|?o@TqTEU&F8h5{P7C%Dhvd<#MBM3r`VIvBIHDBD<$4-2~$IQ&E3`$rMGO|2g^y7hBd-uvw z9)ggo233!~>)y^}A4`-{(68{a_$+EkFbY1Ra5G2-jou<;{Nsb4OX?2!0pf}veD$|K zIiLCI?_&vUU^ne<8$E#Z&)E*YJwB+AEjD=rDr=BJE6@3wHB=q{@Nz%*uonQv=VqMh z3VAH%u@bJ(20Wq_k#F`sBN=jMTqa;~3S(AvB*bO~-nn;K=7U@r3gD1^Q-W4V?-T|H z4qy1nm>}=$gCO>kEG%T^Z33<;+7Zfu#A_6aU@!AGtAmVyad=z%=RWL;nU{d~gqCS`PhFLnH2|etGtjtHbZ7SEOTYMg(?$<|oY} zm2N6nll=$I%p;IUO?RmH=AuA4m)v<;#*C^&;P|=vVK@!{qX1AUVwjc;NkQmH*N~e7 zYwl%t6uuPui~GJrkHk>CceW6nnF zcnnPO_RT(r7<314J8Wjo;6$Wl_gR2tzqP+wXSU>wC@yBCyyuvDb^1y=^ZM@}H5HYo z6&H7#=7?8hd*|-j#e=8ZhqwFvOZ709O*n5P>g!rA4U?l?R}( z!9GJTY7#+Bj+pDXHVPuDza3Go@q82v$W_;ztT`C=C?aDr4v9L$;XasKtq9>qbM#<2 zKVe<>l>v~UywvVH);UQH83iiO3ab$O;;R-nm)VwY>Mu?<)c}erlZ(Y`bX&U50l?D( z>A%gg*tU}|C3RYy^(zePUNXktYjt0)of+^Ai_N71V0orYja)@lHSOvuSU(x~@&(2k z(w3>=18|>?`u%sm%>)1Ze6s;4nl_26!@kDA6Z^omB$4&1x~{ZjTJh15bhbX;v-Ag2 z90g(5Z4x(ECy`knj@E`)*w~c(_U0G>=*nJQT@7yrSc@0XAL(M=KVI+7$+dwx5Y=ky zA4aMEWw;xTJlAIs@XA14m}f}q@~Lve1ee4^Zs-J{er!LQzMYQ%h?x%nl$UGk;DFQK zGu10og}#~BXOK-vN!jT4)A&C#SI?0l9;(R+bRux6h1CH7LNhZqG!HDRHf_^6`?)}V z*o)7C(Yyb(MU7Q6|FtpI96qHg){?HrZK`{zz=&wf5w(qgxq2N8_$+ptp=5nl{HYgZ zZ6Jgr>?iUoI#VRia!&W=bvyKnY|2!n?{(|w>T;1x;zbn2)o67NlZP4mm(d!@doj(Qy5>?qxp*}@e%WKd%~B7J>?pDXTPs{?mb zNTd={?G5=JBymT`0EQOnnS_Qz_L>f6e8&SCPo{x^L00=4*9Bpx`Np#G=OPcVv9U`P z637HCyHR}W4C~BiK>6%z4!NsuMTPRs4L+aIm8byg8Z$=jVX?UPkHl?j28;0%d~@GN zK{B|*1d}*>V!1y-Em{idW7r8D5?5hx1SxUO(7KbKDf08|zM#{IK%p3o$UGfA` zw1Pn*acD+12bOXKc=D`k=j@?uU-;GjQir}Vh3Ub!cO7o00}13~fGb?b4?B;NIO-=B z3_P|ifK^z$?^?mfv*EOJQd)}s%PSl4eQf{g;w04YXBhV9fTt!5(eU4BXoIvNB17}N9a7S01BuiKhqaSkkuXpwv;ZcFVW zEnm#5%x81jais0FzE{1Lz_3HzI9W~Lt31NR%`2gl`j=O84k;YtoU^KbXV&4j!xDGc zMbAy~`-E%mReSKnXmR8>CT&U2~N<_Y&- z4lxYN!4z{l&_Fv`hWSu3F5LOAU)w)C0kBCwQdSDjy!NJgM*zrt;u{ArFDi zGqI6~yLk-;J|7q?W~+!h(5E)66u!`OT~F-{HMu#&Vu@X|E*@2{ym3X-?M#{K@LC@x z6leOx(?K}N@hwwXWNuq??Gucl7r;xQy8EFgA4JOR?a|;zW0`0gVbBFqZJlW8XDS!En z@}cjPyJO%!CiMI=k!T?~Dp6#Z_G;Z$y<}(iLRTU%OylAip_q??bxu5`PtR|1d=PeH zQUe>Zgm}TSpkF(Yltz+4r+HL5mVnOLyx!vLDX-NY=tKv^h79hG0O0UuD|vaJZq4s^1+4dDdwHZ!FvjkY617;zee;6aJ>;cf>Ig`fK} z_Fad?^>Oy-c_m?>fW|IXv>rYCoim1Tfj1zTa5il#rQB)hn&k!v6Jbg;)l`eaMdmZX z3<93xkHzVj7_^w7WLn+UM~8MY$OY`k0f>Ax!X{q`uDPII+_2{Fau@Vxf{ zSBc7!+@Jp#0XqfPh~{+zrh=A-F6PfOgfg0}_r7%GDkWs(R0KV$85->5CkWT0=%2HA zOxBwwrAowpBiv3Qp93g)i!*hzAk3UqJ*RNb%F5zod|W-x+y8HgEDB_40%e3@L?VTN zY(4&cKfFG=@}tX+7#wm{kl+5pgY4iwq?q8_6)}Tnt&Y>O9K>O~M%1!M12C_+!P-9t zOvhwCf6m3i!s2}Y&LfM98~w^s>JLlI9Fou|-zI`o6m4e2`xu)Y$sEcf5N|j<7hK<9 z85BtaMt+q2D~N9cH+3K}6WR{2gOT|$*E>!#w(V3_l{$SahXR~LueB$LGG^qV>x#39THnUl zeHi2IP(MCCK8-x20+;k*c0baVm6Z+GbNNzx`|#tMIgEi6Q#j>v%;K8y=faz8fF-Jy zFa_RD@N)l_;?Gz#gHVmJs-@<4zL@?Nav#!RLyHiWn_m_;WqFlchP4@BycJnP863J9 zM4mi6*qSh2CKR;eUL3yHzbtc}25!FaA02+iWTqIgnx%m7$6cRyC?GuzvF@=K9mZIKj7eJl(GPtS&(nV_F7 zUu;+VpUwc$&7+v|&X4txbT2?_#2rVdkd5HZ0@Jmj7on9((eRZ^TY(`26%KSzD;oWy&foq{qra0?@Y;h12np85FB zq+0x7c|hUp+|AoubmW~b1=O!k=gMUKW#SVlG5*L(>G& zl3zGnYv?7-OF+(j|NZJa)r{PSKAmjGbWZ_20_!Q?*THEC7P;(k~xPABTdY%K#q zS}|kzH}vtV8JdYdr`sigfy}6M5vgWIn7$u`zP#RcgGejATGQM=;pbCF(eQkgLeI59 zK|lbv(322595RTxEs8o|t5p;;5;USkW?{59)V@1277M+4J6mI7c=5)4nb+BC`!!2X{0rc?HCL?1E#fp9u0nrD?D^d8PIRZ8r@F)!YEUUgJSi-qQ|5)EcBq9|X z-ufW&Cr1d#q97U*`|FmRLJMiuw(t`hU#goEoVS(VX zjWji0?YlLW6U=jxAiB%|9JMm`ub%fd4xF^T{QkYAF45e(NT-#P%}F&t`G0Ee0;ggB zc#6!`AZ9%e-{$irOEktV$a=qAEfPL$X>spJ{#>ABs zErA*znh=GqxX+drLhJzuXYEZe-WebST2jOKvoHs~AMh`vCBr#YLA;PxgA04`-@@TZ z2DbJip|eZ?P>$*;BLHDC>QE5!gG)#_t^+`-kkFT@h__IBtY5tX5`q4% z^x=S@(+sm+lE`8|C9pdEHKwJ@lgImQN|Z_ikH!Ef_OMpJ(og46CDDmML~`m^zRooQ ztZ~Nbs&Bz55HY%Ir_Kbpi6gGram?GAMXhVPfrEffC_-}Uo-20(>lAS zhW@?G{92Yu@h^T+0(<`g`0nhg424$okx-7`!E8nP6^Nf+bR4ScFkz-}r{6Ec{mG1` zx&XJlvCf8D&Ht_HU4ma8_+fIKyIPK)cFJSpqW)i%Mu{ z*JY6N?CWP?{4W8R%aB8P{{}49xvYMj`I7$xF;N__7dAZP)p^3_zb6GZ8K7WO_%WW# zG?YS@{gjw(bTahpZXn14>oMf!TCJ_k5>Q!5@mgsPh|(i~e_fBjxHIK;0{oYN6?Jd( z7FS2TMQln7pq`#kruQh*OTg?nQ$fH{Jv&(Dn|tc9+!X>_bD5)K2IZ<`;&&Flo$qEX z&YAAyeSmpV@$+jv-TtW5!d*YcFd>wkno19_OJr?hXQzZ63(3OnrTCt9q+pMg1nYTM z*qqiTkXjD@pJLs|RFQ%+LW6@e#$_Tv;6e-Fay zA}v`l+h46v-E-7(?yCen7sG%BWWIY>m+YTXH8U-Z=+lcb#=sjZi?rOk4xD^`>U*FX z^Q)3o3V+hqw|);}zMf$AQEc#0Uo|M@<{whOEXb8s53}kf4ot6*&fJ<9X|}!^6)dd! z^P_((aA&rnau<{58OQ|&@0yPY!mf^ncB+0jyMKHu5qm_uCxTL@t*2KyBSV!#2#Y1t zaCUY^2pajrVujd2S4>9W$qyA7nTW6NDW9A4fbv@T?{^wA>t}g64?rm-tqwI`&|w(c zQMd>$Fj%nH0-itbMa%b#9^rga9H%4d9wUaAzOTfpa*BNo05cW0OnYRC4>9{XliL%$ zUpxHknq9tV##l7kK6Or78NiRNDD2jV4(eb zZ=NZKvwD-i52q#-Y@X4r=@K+EGb9OzfE~#J`~~_dxLP(?+Mj$2y9p86k6pr~Ap-r&|8YAYJ5|et(KoOXKAhK8~Yi6JcJk!FVjWshWx{&wE{^v+(x7Ta+D@93reX3jiN7o3;MVKPVbmk{e z^^;8 zpf1Vy6hqtB_1gMuQDo%4?DHR7s5`RF_ z>30o$$p4$r5~n}JSM#Z>EXrDHPlBmHZcH+K6{yO}owM*U8JG;*az^R-(>N0&`XG>Q zF=C3dfhGbtQQF5p)L{%*meah#?o~jhZQKe+YdJ4riU?rP`oUctz(EhLc4G}k^)a&X zsN^6P`BFn{>wwdb)uK#^EFNKiCL}{RWI>sG1r820Un`6vvp5-0bQ@6aHzC^<*ua6O zERPO46rby%9uTytTowr9iAI0}V&`XqNW2I2fN+OTaI4UpLWF1<=sn=FiJuFuseV_{ zr;+kqnLZ1gVXczx^bCQEwZ5@20?`}*&5q`*fgz3dS})6h$3MUZ6&%4lrvB~U;RUj`hl&8rKWCzVBNQ5_ngc)4K*eA- z)xrIzf+9eGBNPltH&!hzEqXx4X_w0_jz=`6gRK1)4?1tt5e6DfvZ>uWwI>Rs`9PTk zNz70WR*7A?2QvW=YAd3cW%xXqe(HT#7+?bvb?y*gR&{NIHIyYTgkgP%^*576DVM!k zdd8%5^-co7s3`_ZK&=~bX{e}76V_a*8FvE8J(F(Ep5ah7`be^gc85toKznbn8PIg2 z`x%2ckKN&8;hQYyd1T*)nF1oK0FT5$KGPb{5lVf|^l{5sv}etCn#Ia>573ippqE2F zCcNRkggk|WZKzS=q-zZw9Ycw&=0WQ=++|FsK^XqqqWnKFGGO4lJ^?;mM#8u|@L#(}^Btlesr zlo1uuga6N$3528IGXL1vpiC7^XGZlWUb#=;|KFFB^CE7u_SsV}emNo!PB6SzpSd>xSA2znUH=vE za^J&UATN>E1Y`B`OQhU{Kf$NFqb19pDiei{W?B*p@R}EJ&u2|G_FGD^PZ z{>@ZSP|y~LqdGuO6y+02Py$q2w~Wu9SyDAB)CfSpa19X3=qZA^v&W*C&~KouxX1b}CU_2M}d8)%qF?3j|zSXC7KX>oq z0I7te`p(cYASQUTO}(CGDp-F5TSx{N3=1af9!wCh*D#bp*bnt+0Hn0>^6~!Dl*k4W zaE=rho)n41Q#Kfoyif<`fxm|r+yS%L1+s;a1qOEnUIYlR+$%dkPp4ja1L6pCI-|v8c-qg8Eh@&egFHf`T%ky3Inx?j+WNSEj=S6c52~A1T;~! z<*v1$nYBiC@Ewo~fVPG3;QzO>=VrBh4U0Gq*eZ%$2Q+;aAhJ_NUrzt;IsghB;s*v# z0H!Ocoy-$bbN*aSN$}*3195ld381elQZO9URJWD8zrk_MFuYE;v?=fVyoNwn?b}uC zhwVNUAkad%tR0&4D6o{2h zKsV|B>mixf21s@1XzBs7@7??$VAN;zK8ls#(ywHGCJ3Rv#elV>$~h=v1z&h=&o{lA zx8C{@yNTAA`?I+{F{5IBqeeN@KtMrK@g(0sUa_fdkzqBF|VhHWD;O} zPlQ}PD`)eX={@u~m@1M(-PoBbiW<)mkozw^7#lZ&)w-{eO?^MaPRx8`UX# zx93)LwrlB8--n?+kJJ&)wp2dTQg!#Y-_d_{I*z-wZIJz%F1o0ZSXH=FVLF{bEp1+P zoLs*6y}w13cRhi;hV&ODUbbT|MGuM7ju>bV5$rcyhuEDN0C8fSJqtHbF$U7|@+v1< z!ayI!jt`(tXBzF)TBs=3*m#VaQ=uaDF{F|Ja^B1u2(3Gv#W&4$smg1H_oSP8UHCk! z)>VOg_Ez&y;yn8g;9o%h7RAm+6y3A1`O{ts&)e#UsCEk96o=Oe%JtQYB!FJ4UVfcP zxGDis*zek+pPuaTkgy24yx5}9Z|k5rer>J**wp03!9RT%#U}hd+C`*|-kX|~l0nTn z678sg)7tREYDa8>$esrv4G|Q;aa|*Vk4M-VeRmDSLN1$ux{mnz#=Q=A9jM?MzINZo zu+0p5@a{H)BIZ?I&c9t4YJhr*jG8_`z<|J<0d%H{hd~s7&X>UZA_xu+A}rA;MC6+= z{V<RZow$fcSq4QeXeT|P`KY+ZrGz{@?pFX6QwH_e#$vWrmt zs8+tcXJU#>*~9)CLTSDCoM(rn9dk#S=n0TbNC;Rt5x);^zn)6YKMZPk1&I9W10Tkb zct;Ez1MA8ZT1NUAb#ezmokITK>q}BK-Y7~&_1Ut@t0VAs5&y0 zld@RO-}@F%mhs(2ZDp>(X0#Jm{X=)@_>%uJkM1kYBv)2s#WxM&oTtyPES^QEEQG1E ze^OC6MW5BLJT+jBxn>x$M+Z6SsP&SN+Cs?5mQg9UGe)Ps| zX&r<|?;Jf6C_Zunl{7~o?*e)>;6s5DUMHt#?gqx;baXaR)a24L5yv$YG~0za@PUZHQF@3+Zc z23qh2kditCUt*%cejoPX4~deqBDY8xNYfei)>T}Nkr*kcw30!y27>kV;NmmLdnbcV zGTT7|r`Nn)_QjQGu2e|SKiQp#KN4jK^pZP!(;Cz}?6k>LUq<_kv(T#LI!xCkX`G(V1F%Zcjjql4U(X zwtjZwgZn=^WVT#}h4}+)62^yA+q#Lsz_TptjLP3EdZ{6z0iT9`{?98TT$od2S){XE zIh!CCl>*AE5j3J~gQ60bQm{0VgI^SyL;p)qDedJ_rLBTU0}n%1;{<&0xfoJDp`L%* zkw1X_K3CmqgnXqSjvPGiNQamk1G;)H5m?{@XW{@06g~n#03`aqURL{J@bUhlSm5^< z@{Fgc9sBKSX=$bjjOH&DvLF;?4>!H|+zDQdfs(Th;5A5wbstEwn7nbz1Pt#&_2oa$ zuTKsK?2>ul1}W&Z&>OwAHBA+`U6x&4g$C+auyn%AE2?ObWXiI#k+-W76hO-@#07xA zc>z^LRaG^PACPJ2FpIwS;;@Mv_@ zBs)IK$jEr@?fU%7zX1=t5}?`bgXVR(BJ)WSZ3GZl^s#uf*aVHBvJ$iz#2pzQ&j6Ah zw%>A8a!*&!TOS{pL=Na_n3Uo(>~{W zf2E@}^u^RWiE=(S4zgH3=#`(% z02Rg$%8NjToy}2uANrT^>4fNgIDhM}f}1NPH-Oe&baawnMTGo0t4OH;;Y*R|g{Kc@ zA=h7!T}eCDwiww6=AVlkgST5hmhU8BtNh!8TKxR$e|b+x#xVQG6jg;zS^Q;!UZA7X z5wfL`nSe3^en1h)*7*9_K;%U#xW|Pt-TOaF2dXU5S*Z3FO900@#{_^@EWI2Mcrvi5 zKg58twaP1_tiM=gp~iDsC_L8(Xv}RUg#D)b5Ls4hK5kr^a61B^^DzMOO98plpfXif zkyDGfH^EQ0`ab7DNAem_KW5J{$nKsqYuYtJ{{R@^LVK( z^(JDy+Xir+UVC#5-PEC7$1k-7e?^h5-aEpo!|_}ud^4pMi+Z=3XWG7TJYP&#gBVCH zEsdjp(hIKSLvQ{pb5TEpUOg~gcN|Eh?m!vx*<(@5!fc0uCO=;3Kl76ro}-o%AZC+} z`~3l#G^25QuA#(C{$5%BmLjc)TmH&L2h^c`jJru$qhCc5?3*QU3_KS%O#PlfBs5WPNTt0E2!w>pd0z;QF;$#XR)FPDp`5H)h&l z8Kh)NA?J)0)JxFay5569Hye3EA&-(E4(e;GPnYMP>O#x*(Y*(`J4m?Bk432+cT!oM*K*bEad+Y1?fMr@FUm9%zf4Pbw9HXf~SH4fSnN zS^RwMsYnhBodRzMzRs5pGk0s>X0-@@8Ao+1_;UNz258pci(y)H$e47czkgLLz<&*O z(PZ&`&ba6Ri^hF-rK7vRcz!c0DI&v+dF{Y5SivMAaVxMD9`4gl|2^3zzl z(AW0nXlmj6u<_x`HM$%20Bz?VPLX}n7I}!blk5cxGkYFr@30|eVrOs$|EN#@okNDY z93f8UCWxdjFy4d4JO!A=u#qm&{$&Otc>h;X*d0ao=}djF1$Bf!AkaV7wRkf7(4j9# zdh@+IX2JhWx#3McdNWH*YbKNL1QqZlV=wlAsi*eK*Tm!;xY%N8a zcZ>7w&Gnx$(2A_{#?1^ge>Boa2IYaP&Ru$*8cO zuS|J^4P`zNsWLy|zvX%_0Y*;O!(Ah62~C4v7Z6H;AuXs z&DT_va@W4EC}-I{*2;T{ZC)FyYAijLJY=>8{Z{Qep!v{{)UG!g%emY{Vf8LIR(~YO z;@s?lw@nDTs|Ds{Ax*L|>d6xEEA?DP(7;;-(P@H|mR@r1LP4)#f5EJ>K*9VPdRxP} z-TC!lrxHvNuw4S+t-3@tn2}9`|ABegz2=9SpmU+cSfo&6B+}}YrT!zF|h_DpZTp^Z_V@gGLC{EN!kZ{}=LDo)?=;AO`86P6FTe3)A^ zv)w-Gn$>UX{NwYuvuaA;{O$Fk_heuvdef(O2VH+A*31@Gj*^!GK-;q9q?!LxS?%M@ zv`vsoe+PW%ecWl_DEW;iM)Di!+?_h2lK|30Y|tHzKgkz%p_XFU76^$T_*Y<(Jg8r4 z)ZUGI-GH5}b(TJLKb%_3tMsx_X{x-Sh%{O{M>#1GtU)7nr9;5o3AOA2y2qQZ&>uTL=3 zsN$|+!UBrqo?e~3dH;)pa1a0c&-OIX-c!-=1n_`WKq8_{G%MWD&XP0MBKwM$MKONn zmp+opAUEq4K*1HEF!%oNPj}V%j7&UZG=8j-%}z6G=W5%l^CQ*3!i^}hB=dZb+&GB; zVBXsNsfzP3^xaiJ5}Z>OlnSIp1NE(}C^$89uE!JN2YOK>hc<|d4 zUXZ+i56w*xf`19X3jHqtP^uI|NdLCvAO!nS$wAQa^xV+(feNI!C*3!wg(t1-Gq>?0 Rp#LJEqM#{XD{C3~KLDU)P-XxC diff --git a/tests/testthat/_snaps/ssd-plot/boron_bigmark.png b/tests/testthat/_snaps/ssd-plot/boron_bigmark.png index fd29b2c22db026bcf706cf7004835c475dcf3eae..6c37b836d1642fabc65329a4746c8ce348693294 100644 GIT binary patch delta 24903 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 delta 24313 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�$^)9U3EkuhWf}K0zkIV0|HsOSxKc^$29cR91O4 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 diff --git a/tests/testthat/_snaps/ssd-plot/boron_breaks.png b/tests/testthat/_snaps/ssd-plot/boron_breaks.png index c523772cfd85168d59652d6ae97cf53f593160e5..f759cbf316ec4818ecd7d48f67a248a03b42f49f 100644 GIT binary patch delta 23626 zcmYg&bySpX*Dnl%%mBjBAT@NilpqWtAt)i;A%b*B#|$7P-JnQ{N|#7Cf;6afi-gjR zf^x2T&wIY_ti@W-KhNBA&lP+BYP;Nyo7Rb29S23XKG46u?ijh99i<%^r%pyz@Hm4t zneb`QXFVRp!UJxlV(u744rIsvE|2}Wp7K9i^v&}c%N?EF z%o#gBZ9dZzyvdA|0@+>``UUD#2sGWPh!7Y=5>!I3M?p?d>sfsT} zs-&Ua#!a5Z<)#e}`{L->(AR$(cF;35N{pmTf>Y7|c}Wz7l%<>B;qNI^H}%8spVG-u z{@Ub*W*!kAo_=U&J9o5v{m;;#+=!*)-=8wQ_u2}lY7bxE z;SjSQO#?s5zLcDj@+c>8ugUZ96OH|yQATzY1pL*ot&~9gH?r;Zw9wx#_d5&)r2G!@ zb&(gk`6yiJpo{9OP5J9&Uj5SdYXO#v&E9t1&*3R-swC1OSB;bcCVHdt*Fg%T8#!L1 zI!_O)ta~CIxry)p`l=;=b9YlE2(~hJu^yhRKf9W+{r3;Wh(sOfEV6ny5@Mk139qaB~eQJSHRH5iZhXh13L-t(Iy{Ij)okM3$SNDkuDnC0&Y5yx5t{4742 zck3wW*$ANKH_~p4-U|F0v|z;9ppJnm|IIC@jD9D95OX+T|Db>lo~|_aoYXfgS&Hz_ z8zry}Z1P-xe7rHDTleGvkA7)d?W?UdZMn_YzPSNvTftZC|2aI-q_~z;YBe^W*xi;| z2QhN~M~|P*))wE244Y_0U;q1clj0+pfY;_|I_HCzYQK-x?S6hKJ_73lAIwj}fhVD4 z;hjyJWmWAj?9o&Z|2?lS{nf#FY8TU%=z$0ti!5A>KXWAS$}iLR+AQgNCqKXPYMt%O ziv9R%X=Pc^n~BL&l4t0Cv0wk-d7Z7%)z(CjBdzz3&&jpcJvU0snrfeIjd#`kTFX9} zwa?=rK(-QhoXt6fUCNO`$IPVYSLt5J$1O=w5yMUE=MB;H(Us-K{#G6S%yAng{wq?% zzbLWSqng$IY{yvo*;dlg#m-d4D=Q|t$MYXuJa=Y9etvzIsQ>Z(SwRD?DpFJRVl|5S zjX{NpsKYo?Tr><~b1=%Ne>XlRpTVjK6RbTC6Zx^<(5oDJu?Wl1g0Lsuf*u@19z*|~ zgfkoue?VI;r*LST7@FpB+yA@zeKaDutkxd%`nPRU+BQ zUmaoa3b7)MQ5iSwdb94a)>kqxl6AoFJW6a1w;1*cFMzg&_Qi|HO#NHD2tM8gRq!^n zkmNK1-k6wyukW-B_pT3ChEut;GQ6Wa7`#TUgcK5sp8fn{ym82fo5r+5t$pjF?xh=g zb-HOWLj(VN2J$!+2Y#V~lX{ozF;%J(8{C=tB36Z3z=XZ3_2|WI$8TykNSPRp2_yn2 zwQ1*M2m%v! z@5Z}VzejZ^uZEB#LmSC3i+IPfttr0C!Gg7*0gqy5sjeUl5sQ+6H(W&%gkfMidc38A$xX};JgY14Ohdl zj(f&#*D%@dd^B5UKLn2RWD2?K&=9XY@po+o;iPwA+M#c{^`FqIBNbp)xdh)${aIjc zVJu~!@W2%>E_sBLlst?+#U35E9tyr9WM4AGY=RoE4Hd2-RnR@XBQRmpWkv$k?sa@y zEfaKg*zf556;yqT2g0ozFVRkg0)swxXg`ttf}#hWAQNxgpi;Y?mK6zA>-2?0yQNPC zk(S-JigBi0tbevUr$18Xu+-Z0t>lsF{@E2pkDgJj46JVYuA5mJ{vYN_k--ZRM9;0Nr5!eXE0LR~_M!SxLEUXAB|x%a(|zXmIp`I56X^K2ep= zA_!>&%OxkdBD?>b?QRbxkuP}E>_De(sAmjd=vHR06!C2+Xj8#4@zYot&K4Vdvijj$ z!*Yn}rw+v`JW{_IxoTwgG=!9o|LaW}^TBH_6g_MoirqVM%x+KoN|&5%A2AgJnUZzG zqR*>W-}#SOKciW87&lf$hkAKFq!O}62ui%V4^dz{=x0X50+6nDBQM2koo7X}r92Af z3q{wXjykKUqRK@J$as^6H5;R#YDg96!kL`*13y=m=DoE<`AWqoKjYIOp$@YLs5eK| zZ|~#Vj6?*2x*NoaQ4hBmmbyOZAx$5_Tb*sAR33@fM{iLGZ8HwlzDL=pzuIKQC5Mr9 z_R2Se8E=1m`yf@PNTo@DS1Dwe``yuJOz#mZ$7)8r&b}3aO2^o81ZRO_3P82Vu{Lq5Ns>6J@$;{g0m*w+A(8=E}~h`wYoyGaY;^ z9O)s~Lce{jhs;iLCjie}h9W$sE8-Ys4E8#%L+qrYSV3!v)hjc2kki-ReDOV2e=K~E z?GIlMOZk?u2nYBC0km4VA~nmf?@^USn+fR090DdE5VRAQCqIkK{A9d;v0H}xE*5#J zH&0{!jBL|i`5vz=D{oSq>_t2{U-l3STJ+e&rQb>@f!?_Ci~^!vnP}=?H5-kEU%?Bf z^zyPBbJo_90#woFHkzPxu4LitFu9uhidZA=zkmAmZ7GvBj!KP~2w4|`j52w!M@{&T z3vbeYUrhs29ZVZY^zg;2+fP#fdf=plpO4Dy4{HxAk={*P4Qv#u_I?u}g+6n4E?m@N z3;6IRD*?QdIBrAVF>}a;LNzAM;|p?!srY_+3Kr6MPn&ajZ%@US=E54Ycs0gU@Ou>s zy}m5p_$TSNm5=eW^9W??D_a_PW&y2H;%AeGQZ$8J|MeY0EYtd6CMf#j!>nPg`u{GM zuMPU^3#QDpp1;G;m$ai#NBZOKJm+N~jTV9Dd*1p;1E${AM9@!~cnP-sFUV@9^@|}n zbR7a^+`aI5yu^y3ZerwjsZT=|Qn{PYMXd_srOMVPxYR&fLY}mIC zL*JuB#a5X>b0&p%`nlQ-y*Q(E_sfz;w=V>rFHSreNF$LDmmK7J6uM9V(+)jQ0bTqc z9W#HgXk+ws*@747BKK8Kd&jBnRx%U}iBeFhWkhFT&|uGbaC_T4*LI=yQQ2blkpawD zzQ5 z#pZ#%#TNXwm-e~-DpQr_^ff_^dEG9rzLVneBG8SsdgN;UkSwP)iM`2kXSi zjVN!3CH__dC2ksl3-jC9?`wv<21B8!J{0$Nz`pk;h>s~l)U`Un=Ob^@f3vaFFV(9VA;hJqF@SOSfKz1C z|I(f{^bIG@w5g;Ax(bJ&$Iz&j`eWSPz_S?>NM^2KO-Gv)Df`*5zY4k9eTb_I^TC42 z2Z!W125H@Z(_b9&R|nz$Aqa$2yzhgP^R4@S1LQ@{15f;o!rVnL=hv!{tKEYbo%h6p z)1L9_?_obPz5-=|ERuHWrHHLcZ{h4^baa11xE`{-0BzUBo^%I#P_4S2ds+Jt+q&928OP^qTO<_H!vXas_^deYGzo zTpX`nTGQtmnr+JBrDO#cKw{_|bEBatnV9*`nCjrpsbnrKCLW!_=W+Cs4{zG1^Be10 z1n!FSpv@YqIb=`dwwj${I5}mWDks997`1TGR%Q8ZsN+$k-khY>QH62lyb&dr9B=i+dZHlMbKL7H|y&O6t2wvwtW*2j;0 zCDudcet&Guo@9b;venMJmF6va2g)r!tgiEWGjXWYf_@+GuqTZ}L;ju`8lFa-Pd<=b zWCu;FPM>7KNBVeyTGW#KQRqcjdPEB9hyt~hEPs9VRbQ#&_Xd6aUeltYum?J+$Iz$5 zKQGs{bxF)FhCPWKxm0s+WxERE|~61@n=N(6EG1Yp-A5 zO6aJI6{9I_g+G}!dD;#3Fdnk3Y$K=xXzfRHblfP=v{lMg5J7Z>X@fy(vl=AJ(=={Bz=Qe*q=W^4d!)gYyDNICt zvzq~@Zj~xhe@E5Ab}??gnLn+n6$;14*ca+QR^ zeH*_BM*Lw@JfC~In(%80Y=``RQR}8St2DzWI!hxR6CORCR89apTE=lhues=*b-(Fa`w zzc|O8IE!@s)P9V!pE{6dpnd)yC# zcakpeO8GTX{}{`&Jk=D@8R7SHUuCgjpi#ZGDAsjA7*H~|_oR}`0#$ud+D~^XrzW-Rrx7ABSIxYupujdHX4ObB5o*ZA;&>tA$O0PG*SllJv~K%lq`(pzE_o)4X*5#46bD$mUQXfO$2RC ze^!Di=s-dI>UPkDI~INZ3f3z(68ZMI$!n9h=T2BzJhMF7Vpe0XdAsueeFx6YOIK)* z;l*N9VA)MW2`-XIHj0kF?YxNFL`;SUQ^L0vKwryz%G~^EcfP@}N1xVa>sv|cU^t5) z7C{KZIt70kgz{Uo&glFwj}(OW-L)!@s8TZeqpY${=E~e$5IAjQk4H)=(`AoHmEd)s-Na&z%qO##oj+{-p4!wR1NisbFDv83`Ys?=6a={{?k978%2%s%lv&bJlVQ$a9>!UM6AJ@U;C8sGs_> zWkss!#QT|o=6ds1TK>l)l2~kIJwLdlYIHkPrjto+MG(%X4Cz9y`0SFN$N@CUDb#up zCfe&{8w7wFn?%xCVzeK`JBg58J2O0;CDaOWaXcn(Uhy~7pfeaW@GOKwnwn0qwEwso z@5Q_xva3U-oCV&SgPC9I2Qn7Ek`Y>R$*&06o~~0psw%a5pf4rbwV*|>CR|12bPwXe zu`+c@Xgy2jPeW*Zu+oJs!&pjq>r3gPy2Mk%C>i0la+j0Cds8v<=z4i8{%atiiE<}7 z%!L;_jl`Ag6`tNCG*`KZ7%szynf5W>db`eA> zCcH^jW&~5{FepR;r^nEhI`NMG(VLxxrboPnmCj{%eWnR(^ra{+RWO9Tk{|f9pyY|D zH|il1A8zcmOj`t2bRu00MpHb-BtXIh2~ z)IK<9{SNKs7r__plKv?ffBY$7ZHB!;%x=x-^o_JQy6|l?qYxG`!I*zHdGB>9q4DOPUo$weAsICVAZD&A63iY43Z+NXDyXl7r7(;h%YP zr22*m_|e0gkzYDPdOf;FDlJ8aPkZr*`agJzGHVh4S(-ljoXmE==8k|r&?2&H6|>Pm zJkouunXTD>LSm+MT>q{Af{qwsFo-9vp~q zdCa*wev038oH!@$7(D;orjHc)vHVMMCr(N9f_r!=b3pj-GU)_h6S@;teTN<41hF8twEk&Qcj;=dYjv_%4#U5e zqEb7kB6CuMw3DI6x_19C3+KzA>Dmh+hr6|XfZ*0Uv9(^;koKo%bY!^Qjx>_9Jrw{1Pu(k-gasLioyUoQJ zF)hUz5tUlE#T|nj=mHt$Zx6%7j2Y{b7xehC_vk*wKtgL?6ZWc!cr=ut$j|3$HrQ8Q z;G{*7v@liXGe~zko6hJO2xoZ??@(Y1=(bdpz(8}zqE$l8LVm9wftqQW z+c|JRMOb)Q$uatTVSq_Z(L%!DCH8%F7+5rO2)jFa@P;aJ8P7<05%0c*XD0r)F5xc2 z8(&}7c&w=myq0O82>8( z+54dW6L{yQLceQ*`d{#uZInhB35Y8EbA*++8qxr2b&0vzQ_|_}3v3h}pkvAuQ=cp{#m$@^DCuG~)2gUGhqrWJ5v=DCN{u8QpnU#y^Do4Ul$UL2=(qqXp0s-ANDeiQ6==@7+IN=?eE;^qw|mOlVB(F(f-=KT*)Y zFEo8lzfoFN`NeY59$alKTckU?_Xq1XDNLWI8(QexU+ayb_)=%DHQVf6cCt00)JC;B za^t=uAcznpX4$*$If_6#y$QM~G?k!0wwj^B+?uo(tg^bB^mBA^*>b5q-_yAdCHa!> zBjVFAPI8tHxX#Fl&sy?-*)z?3vX8!_XrbJ>{>K~YfP?DO(X#eb&s25%juN&LmP(n&>WE3fL z1}KxIEVZCUeLh_4$IoTH&{0IVDwcki}cD1g!m<0dNUrZD7bz5 z)i+5Rblg-h?A~G3%AEJ7u_>2US7FvfIyT4niPV>yav{2rr;zLlwR%K=Ukg;|$-2%&eR)bmrfNq)=M;nv zE&4e6gVXfGND{_UMNVW6gozemd&NjxrSn|_M>72t!J{{GmcY;DeUhp_E4C!_)#qGQ{&i)hu7UhNLUinAGzDiiF#GavXM+79}cUAcYCTuRc<1>XvT23*0;8; z1Ya#vMB#)a8jw%ifUrq&QdnP6kV#L-pgYeUmbn3Vq7JxNi$}y|CbB;lm&P(gIkpb-RbQRrIz;DG0MKD4#k};Bx}4bJU;^4H)QJ8#sNw~2bvImv&bKS*~xhLxz+#k zjA4Kwvwqy#qu%5K-Itcq{f3iKTwJWw{=2!Q0xxMXI4JGi!?|A=u zgLakUvS6m3ToJ^ooPJyLyW$Sov;tC|KcfGY4t6yoCkWfB3OUjne*)j4Wxw6DY0vtC zQ0yzcq-(i}N$q2GQvnHH!q*e6q_%Va;g*wrPFqCSj06K2X1efE7dNg7qwwSSWv4v3 z;BVc!6B+%hWe(~buFcVeP|2HN=yw7})u@|1;tu1eSx)kXrgCZc8xmZp5-G-Z2nX%M z!!Oav(W=bB-z22YP|j=`jl^VBpDzyAij`x?zr5FBJB^yMCbt46FLdxZxaJ5m$U)AR z%E5w94hhW2COe8Vb>#fI7b zf%umdY@st`okO{)()4||x`VGH>0Mz>-{}+W>PJ?~%3&P+ht*Xu7|oY*V=-|!B9|5$ z=4b`%VQ@r3`sJtrItg_|-nl?JgIa)5MyDR^N^wy|(;vm8N|r+uC=i2f;G1}FkhFIk zkILw_`gw@gAeMOmS?*$A>GMmV?mDG8tSU9AaBK;sZ7zh=#0#*9DeEEq!WGJSi>!2B zIw)n+9(%k3KAjJMeM!K`DMd!BO#g9kB3&=o47&FU9rcqu6;pguS+dw}C}Z%F(A;=N zAw$Trvh_|5?c}p;Y~bM_6DNRlB9flakYZR-RT;+By%a^^7?aIa2$mb_$`ZjYY*g{oyp+PRE+8QVjlXRanny*k}PvWv+`?&OI6{0 zq7Fy95)>ksh9devB2*uO)mv58PPYlG&Bza;ai;iux7%Y^Vz9zIxUQ;LB1!BP0E4;PDkWw8Fnh7^FjWUjWidV5Ja>Oe&>VJxB)|@VZ|&bO9Lb zx(%-8RJSKeP475O@s|K0&ZZ%!o-34{ZDr~oF8&8#ebNbAVc0}-P+KrlMf+MkWCRh7 zfyV5wQ&c`$Gp?KdlUn#ZI|BV5bsg-*_Im!L^K#@zB3zN1@`^E;YBL=re4}gpzd{$I zg|7uehki4wyHiLzhZRFYg)V>rF36#gk@hK;X6RtGM}G|O->T7<3~XT{hPW>H0!KKl zfb4F-$>)Q+FNLzW`smPG6G`_+Z)Zp(fyC1w(Dv}n7XXgqvLBk|C0Bz$?8kDw8G;*t z1h4zSK?kdm;A>1vIDY#qLB>tmyg%2Mahnc6KhPO?Ve3mxUiRWNZ-8X!$TR=usW`nN zL|w77JBuxbSf8PPJMSyTHPg=%TT=Tt4NCRYSN0m*mgW3` zzO@c4!AxKucV#`F2UW@giQ#y=+P$qJeA()`KIr-HcSblFS#0EGWoi%^(R$Z&Rv60>>+Ky7%QqdbA6P$?KZ&r1^u@)w$;d$?j{Heh$`4xC!+5UYQ3`QKdDmeJ*eM zO~oQZPAc5wT=~U5&jUA&YIw+#&Ai1&pD6=0>pF8{6;tYnzQ*qLx=n#u!Somt92 zzWBUr-^VQp(bdDNOZ?kR;(jv%9auU^FG1V@__~);iIx1)ut(kY+D3pQeqm;aII~t- ztk>2!OV=&rL;SLMV80ju-LaR7R)I#`_MNv?doR+eSXTR(KdL%zr0$OheWDk()&l?d zz_&@` z8%W+kCljhiM?*sMuF?L~ExV8`79JQl#qP_Wjxw_1NwjYEcJZ1wfAGB2crjH+#-4C1m9B%)st>V5QjT*?7A7N)(WJn zRH60@McPaGr~3pF{J1cw!z@t=K<;%}XwXmEIzTHA5F65J)baYKnvtc;s?f^>gIV2u zb}@wQdb|#|rg7C{F2mx9xpA+kM~*Fb45;=RU}3Q3kl|3QrzU$mET%)#vl63IbpOwD zvOwgPzZGp6s5YM8d*SPQQTxK3t9?aS2|oj8!S{8f`Ly^w_83vS!Ox~{=(b|t**|YC zD+SEdUrX7LLUF0`{Jz7xob}aWsRiEXml@PP9!Pl;+1;0n(#HCHiY-?Aow50k0EOUb z`Y}YK6WTcyD#=vjyxea7Ku&aTP2xYKtMT>kcot#qq+8;SQl-KR7i4&`iV!3~Y1@Es zWo%crJZ%4aW;)x34s5vXx?rT!qxcBBr!(XzcG&Z$9&EHBk$>?bpK(FfyH4eEk~BtT z$*5pE4D=Gth{k`stUx$1)(~q6I}r&s1FQ)!6ob)4pAJUy2H73qMlC@`@oPhE=(p`dakEh&`Nb zu}+dO@iY+j%E`Gs!%Gh1#`UxOd8(0P-~n87py-p;Q@=Ipuzu_1g4bBdi(eMR-{)t+`?mC^$OkLq zhtX95Ml_1T%|+6VV#|LoIubJv#4-*u-}vv3?~?H%*c4pDv3RIR!H{OjaLWT5s`YnY zxw-Musd7Rc8#-JO!xd_+s;*2tw5tYT+mB8o@aG?sIf5erq8&09G;7orko8*W#QnM4 z(NTtgscWU)WXENOHQuxg%aqepRJPLdv*{w*4kci!)_;WNCiN2PGr-l%NrQq7`#`(b znt1ojNLL~^o;5U|qBDHih4e9?orB?JZp-Zn_Q`eUWG6Bla;HPOp&%$?BKP;?5fudy znXE_T~s)B#Zp~^g!7>Bh{bnj*xt6CQ2E<+kI~!aCNqJg#xvr z+#uu>MZ%Z@dJIoX)K_X-MUiRX;0b|e>mi9Za~EjxDu^U-s{)v@!g?8EC$5uz=aN0Q zKGp%xTI$@-;#RKAB;1b-tC2>tuBxEHn<;@$tNib$1#$U*+#uzbgy26<;`saL)ay~) zi`dOloF@-WAY@V1tusiT#Z&ASpivO9mr&vG?qaV z9wRe&9&v&{#lW)xT}hMKZ++BsFjcCr(Kcdrqs%{h{>{5y^oPX?JLMp8LR) zMtqFc0KWNa>qvpoaCe^nam{(|b;d3cgjgCq_{RM(jhrev8QCxb&PNhoWuxL!(D8$& zKflU~L2+^vxfNH&%4tydWJE8H-z(H$nFa(#@oo@nM?K7uVgVW_<#R)jsEk^1aRP|8 z)^+g?xHNIdqb;m$?on2YZcK!xyvEFrbF9?)9ojto@+L+x!k^(H@K?z@=YpPL?}x|_ z5&Y}qstnz{rXS0#Xf6<1>AONZ_@vs2ndQuYV3v=z7_TO`25OuO6#)B`q!G|= zGFTZ3$VdFZRW|&X05agEOwcI;g?*M=pF$~EBS`~f7+N=!w>K#jIxkS>grYZyibIpW1)lBb zxZU#(vd=DhZeYAXY4Q-LpL}*<;lRu{?7J7YTWGHoBZRwv zXF=RxR1X=%Ytva^d(w3`ynu>9lF;JLK_4-mDCH}XaMwz%G=fOo(_jZI6q=g%GyZz& z6R-yi=0T98&WTA}JVL~Tb%?cmOA!lhEYQ@z7X^|9c4WcxQb`L+8iFn_iDTXb69tn& zNkEej*U-Hv=tf5WW;05m@F6`BtQHhwz1*9t*KlqA`Bqz6{@+DW8lT}q_fg*gliyK@;&G7C!m3tnNRYngc{k*uwSPN0%~_t4}nR@0X(gdDvwA1d^Z5 z1m-m!8ZmR{*K}3YQl+p2QN(k}0U+B%4tBqyAl~-dR&ZO}nXU7jHusH4@Ct{fWaI4l zHVoPhWe5zCtCi$V(bYjWEIOA?}0axr>0_-gc`}QLE_DyNAD|(ugCVx}g}Fy_SP^#r?(I9{Gi& zd%R`@A4LKn8G_WpX^Gf~5#4Gi8qipx$V_+JC7*d0-BP`htuX{=v5r3y-d9CL#Y=fV zK9>aT_8l1U?9#ZzlGa(%6;_M6rmjt&Ttrw1pwsv@m^YkOvv>-mI3Ed!?Wlw-%y2OU zWH(%&ixz<1<)?u&*b_ejsqebtDMvaoQ2Xd=ln0OIc2IbhWCCi4gV)>%68$nkpLhQx zvoT{?wiCoPvTCI(y3w1K8i=W$pPkSm+jS=Itj3mK5}iNc1e73Mn(iDt{Nf(Ynf$xG z@oSLu!na1}%Oc&oe76gtCvFhJm6d=Tf9t-c5=4&N{p%$rw#_)?-*5Y4LDS{GFBu%m z$Tf2iz}6@KE?Sc^pxGG@5g9Flu+8W!%%FtNdl;UJWY5;Q?18LW<61v@0qdjKSVj<0 zkUi)ky?c^`O}a;14P=YGJIZanIvOe(aLkTuBh}zvpaWS+HCo|?2ap;h236>~-hR3F zsK6A#JX%piw9D*TrQ*2$4x(PMJu-D84nqUv-Vn0O!Po+>04w~R8*o4G_b5n6s8QPw z4$Nl~+HOxiZKMTyc&vMYbQrfF3H1TIb0Np4XY4B?xI#~IZI6(Ooy#ESUg@NI8Rhhx z#}It`pt+}n6gO7i_$iTpu2W_pFr7-E!xU9@TR%ia11yV)uBIx4i5#<;o+>^#qHomb zUSOplA@uw%LWujV0i7PQ#Jg>F4nzbB&ud)fC8*Gt8emvfn&MwZ&BNL&`MMzF38)z( zBltAA0q|U(<8WU3uLjp!bwRqiU5)Yx<})nvLfJoCMRX>~l5Q3y;MYY48wUgHh)+?L zDFMd?x%$~%9`2`!(}pL+Ns0!?P#4fmiWh+qv_`;ZeRM2^Fq^0ZB!r{y==R$3!kYGe=t;J%47NwT~5iZ-T6SIpp~JWuwW$; z5BzG9d=Vn}49Cj7eZ0*akgv6GBTegH<_+BAv#rChi+ZjikJseqE8kf=fFlqOni`&P$QXO{&^n7vs-~O9X3{ z{tBYr=%IXw`l8cVMt^iCa1QQDf5nDAK{P5iEke=Z`heJOkXji(r8YD7W+FZ=vH3j{ zZ$#URk1q4~%M2;$0a5@~h|euiSL?$a@Gc*vdqc~43x>%GOr4^LBxnPiPX zrk4wwJO%$9TJ4Dv(72Zb@XyU#ejk7EPiaX;Db&b{_@M0S8%hZsmOis~3CE&ra0dunhT^rG)*te|{o~f-(c@hKY9>W& zh<%;@9H6nPxQ>lLoYM&vYius=CH3G`q)XY_o!76lK>t;py{Jn8j+Xt*&4@>UBuu)l zfjDyaKS0lDeOu;KhWW+h4e>?2bSXObC$Jf9KQi)eLfH8|EgVv-j>>Ss`O+YUul@1$ z5l7>fr(6m24c-B1v46qr*)vx;tsE(`WKsx=qBPbo=E-i^Yt|?Q=aXkFN80O~qK*MS zI_DedAcc~VMf&C&lHpV%=!x4Wv+d{l$YkQw4V9x7dFTPo(eWLtf6phISN)3mZ@PH9 za+B@!&)3Vj>T9KyG3OifFOv6EKVrX(5<~-2H{en5%lSa8W-!ML%;1K{$t+%Jme^pA z4TT*wr-lb)HK6Q6=$ni9u8m8jPIOuJrf}{w0Hv)TjIDl}62koyK;nYv1%Eh{7+RfA zvBT_&f0vCr30R|xE;VdBJbfK|k(pvR$xly#_zWAycyrEs#$q(CM1(kU zwG2#C+R36%D~?W0JdA!4vO|@E(4rnaxUT zAW9UsnKh;hqMXMp{mVK`Mf-R9`s1u&)db`>h<#HrjF7Eht0OC^uE(7*6kMeP7}{Um z-?gztQ1jo}T$+F%Oae%WU=I78tV3 z(C0(nM%=IeR%w~VRFEJyhD$=4jJl0YEab;wr()!;4wQI|s`HVA`>9%TC9UZ4xb+^K zYj8_60FaJvF?Un)e;y0lX?CYh`T`X-JHK(7TkgMsJ?GuiZ&a7HBJmp1Dv)F}j; zm8@*qc#Dc7YIWyKEi>WSKv+ z4-%NFN=XnBN}51 z9+5C1V#`Z$PKpD4VK^VZSGHs0(8hT>PjsyM|&}%w5afg2&44#GN4g)NQ zH6$dQlD$3o%{5qX<>BM;(^}2^GCXjr&pbJrFK?@l%QOLf2%@@PN5BmvWJsdN_c#-z5lb;K;*Q^hnLSS#z2vuo*9lp~RMo-Ny05LN0x{zMwS4`rfdl3z zo81#(l@Y++g)Tn<tuL8b|M2Sv1ADq!%!Z|Cff{$6({Vd6P$x{ zKrN%}{%fIQZUYb8`PMrEsi1Yxlx8_l^w>e6yc8&+7Ag^|_T`-xGZm7|DfnBZxhehw z;!LJk^{(SVCnZVh_um&1-M=+0J3-KTNDB%(e|1%ywnPw55HIzatT2@vdIkav2!7#7 zpzHE~oqK>;A_$PDB#*|&C9(b#COVcp4lVo{Jo6NpQ6KTDiaA!+<6>|$-O8i^T$2Uz z$N%1N9$;r#u?@|M&49)1qjNUUWA5grmk@;=E;z<}2j}FmuZUyELaJhFTi>vPMq|{o zz^AZZ1Qf;;FyT@4f;c_=UK!xe8sKcyyczN0pbP~G)Wy0a4hO03dfSQj!1B73wqU}!4eb>1Pov-F~PvVz;aDm_-P5|R7=gm76 z!+=v1gD#tb23X?Vz2_tSoiU(FVG^N1`bcdit-Ggb*!($|B<3&%IjBw~xb^>&FAx~4 z^IX4g+~E2;j!sOaTJUzO9yVie$cnk7JR_}wwj~081q;Dic}10^8QKRi;g&YaoraPY zam+o_jB|Uiu7*)jMH}8WPGE$z^Cm&? z31R=nDY7M8UM_&LP#g5y6Ck)3rECd|azREbGV&mE9!kW@n$3Era4jIa_hd$n-Tv;TRx`+@(k2IL87mun#YtOrT01{1CMX)2&F z>nAFWZAI90X)Y`@d1-*qiT>-T|D7A>{q(iPcYplV3WyCdJJLi#xeqxo9=@$5mnYQ)s%}*M6Kr!n6+$z zEKJ14&}v$Y5W@FsoC`!hngjg1+bYlLzBbQBc7q|`#DE&lMjwFtu z5TWlY_>8RHv|fs`{78CLJrQ0Arp93xrKoY2C|@e)TeQp}=Zn7SG=y;*0A(1ug;Mbu z5Z4FpEi?_Pg8AvAFzspizbC0c_~3t*10KwUOPptN>Q^Ye`Cg|;Pm4~eidMJ#4s#Ov zd?`>1O!uq~wUVao_Xm-uX|RMkz;aSu)lOV9^lsZ~h6w>H-`Bg`l97R)P0N_n$=YeQ$nyvm-ZFw_8YQE~={O~$>WbZ^w)wA5oEI8(5LRTN6g@X_ z8>Lx7=nXCWi(j#3WkL(VU7_jlt-C?7ew+90J14Dg?;>rQai^EPFb{Ynv{g8<_?5b{)ZF5F)GuU_|B9a%O$Y34}j zG(Y=kBOSXGdpv$T2vA!O5%^XM?ZiMMqIy2+mF(mB#vDSh+$LDwZT|;ZPw7Y0wn_T^36PeXU?P}pkXMa zt81%*gY0(FOXx~%te?Kg!AifT$1qXXGB)`0z3%7QL`eH#A3d-37L}nHnG3b)PvNzk zz1@#VA~j>s8N5R};aE~?+?l(>A|IFnwphfib+q`=401t@yZ41mKBx)MdV|RQ>?plU zBtXZdMwSzA?eCBuyaF6-`MGh36%6?&RKJ|BuB>8FngzC=ur)56)1x#(zZ6J@yf_XSF^rs;-Eaj8#%{E& z#4>FB#&>!XY6f;lmW%6$K-%rIUJ9-E`Ol52S~aspc@N$l`n_@CPrA|b8yLQ99A4gW zZKQ@5S+lBOspY!uCc2Oq7M{Ar9y77>oEUi-h>+ln#$1D273;y=fD@O%lh<|U)={)y z`(EHgRomQqxfw%*EBoVof7wm?**f~8B6e86vJ+Tx4fBQF8~v@Mb8_9^R{;nGP->J0 z^X@zmC#@fN@F6vK=%5C$eJ2Vmm762tB|R_M4ql_5j2D zDQd7+v`J;ZdK?!_W}sjf)8`~=c*gPH*f6w)At$mZ@`8uew~wRA*r0cz9Z;uW;qR4} z&x|V#v3m%r_EsI zBK*C0r3;4)tSO2nT;D?lr_a;RtV;&X%V!M6aUzBHU@k`>2Cp*g1B_9++YU*xzkj6a zHoC7yKVAGkJ)C(wRQvzOEi+}!*ts#r60!~@D$Cf)RwmgJ*|kU%$$rdOa}x?p)*(c) z3klg$mLl1bBwb~1h;os>?{j~T$IpKrGjnFn=bZC-Z_n2Yk4ic|27WZ~*rB1aIgs|f z;z38_Hr}E3FB+&B|FV+e7S`Y2yf$cVRpy|v;(gP>$#PA*+OxOl`RZK^izQ@X zjC=8dT*skpwygBSEKMP1WD{w{=#1?}ofVb^)UVH53r1I+t-s>>F6b(gnUZCW_BnwU z>Lvs)phExqR&y32?Sl<|a~t(!P=Zkp`54IB(%Sy2F;GBcqUjW9^+;VzuLAS7;ni&c%>THmC_ z#Fu%FFpra{5i$09#!Ow8`&Q6oyuzsVtyo>kaeQ#+sDGZHJda+K+U6uv4xx~}a`&CV zdx)OeUrEJ{5DXl7o_kI-Tvc#nPcL3S%Avxt?;JqK5t=t=?ne4TUKeKAOKm1ZvLnQF zcOC!dGoU=hZ71S&#&2X|MoxYkNc&`$I6;^%!%D1{*PKH1wFOjD;gEfrm%-)?cfLnWp9w(ZKCS#?uV* zn=9*lKdC^Pkq#n)lR9J9b)U})$&*RLYC_El&&OM@o&KBD@M?g)lw^f0tQMa1ULnUd zvzkd|49En&BE-AFfGbrEAD9OG&3^1ybLb60`zp}k1}6BY3h5cC@XfG^AHXKVcE_Y@ z_Q-Y);yKyXbYOuYO(*2fwqxyk-IH{RLXsh^n zfTb9{_Nu3}Xbxd(YSgwk)&vvbe{w>X-#!cb9laXK2kppeh&ZO{iudVDBwzPWE#Xuf zOf$Y(U0O|*1)FIKNnKxe*uS@f_kHe42|p~!xsM`(hA3u_oc0W+*t?ZRk3Svr4*!XY z>>SVYHsBUQI}N6M(lmW1?XwcT5hyf1IyW%YNU%CCl6ebY6_y8qO4vzTMi}5H_YPhh zl=&xS=DhfnVBiZuJ0dwhH~CE91X^Zmu9XD4VGJgoc-!@*y#$te=KlE{-p8b|q7#|4 z*0@qNp?KpUw`nDIL#JaRC}PZB$5QTw)r>cv3zq$n%uG|0lw31to$44|`=LN$BaGmgm>&=Sfm5SDBS_O&1qnsik0M z%w$gK;3hGFd!n6_;#TdSA%SJJJ|AqAF&faKp@oq2uM$n%_&)YsHZx*bq!@K}M7`xB zC9x*3>f8=`5o91P3!Ds!b;+ZNYIO{QYsI) z6muNt{_^(2z~i?cpgqXtBq z9R68ZM!fC*Q)^_tHLwZ8aT%1ftH2EOKq{mHeCKQ8w|pp!%}VGu)V=yd(nid;FkgdP zZSGClt~9a+O$PD7O3MAlXluqkoH|uFx-aSBYGgLHc~75*1cZ7RXG;pa5x)SNXSOT5 z;~J7IYe6GG3i&Hqd)h%z#c^zO{k=|!Jf|dcE}KjNuQ-o#bn5{1@Gh934ml5h11P#+ zBy8X)uP=Ltm;(dX+2^4w{{vUE&#Zzj?-8hdc(A^8qf;&rMxy4V5V(qWRff3z6z%RrjqF zyrG9f<*Olxl|u!sfU%Su#zV&aF3vEwVGphEyny@DuHS+6YKIvJpym0im7KTd?k127 z6mZ%iY94u59?w4YLmWc84Fc?x@5-LI19ihfMfIg&1r1Ho_g2knSxBUj7qI7q~$*3dXIC2KDxxNSnFtbMwR)DzVmQvn1ceC+VkA{q%UI zTfS8{?f=k6L^&`$0y+ZnX(n#x=2Wd5p1quU9esp!aZ1PuyaAe^jJPB^hHQV4umU23 zOJ{GY?-MD>*fK^nMU=tz;dX;{C53+cL0VyUAoR&jKb^}6Jrwxi9%<_6#Ou1 zo#;aBdT6Io8bKJZIiG}@%mrU>J4umL=zH5*(DWFiQadXu@-eEW$Nihu*BeBEXX0)a znU5e=^R4x`ZbIdU{CQV``Xm z)fI{)VX-|Hq-bgfga50WOL5PfSvZXm zzv|-n%gn{U%};Pd^&t!mjnF3Yk&|lXF>y+%7_P~Up%41k%D8v4b_MsvzhsR7YV%UM zF7+>Pcd#3Z1Rq^&x~$WZSYUrSRo$YR`_8k-eFFoEXUAao&r4&X*{m!f&G3+BJ*428?*a%0*D1WGWzzWR#nA0M=4mQCI>;gKH_RC|HT z5l7TI*CbdDyXiGOs4UXLw*Xvcl{*%DZNk^l_j1vS-ada#jn2VIR zcT9NeJLOG~TZWTGzDCmRT)9?m!%jh(qu-+h&Ntro5u2T%hh^<{(=87~R#7=cJX1v6 zMmBAqiViMlfnaf@=~_To-ul95sf5mCq$Dky%g*vShUc$seJf9s4v~yW&hm!5tj1}t z>pR}%Pmh&VT+xWeVp%#Gf@8G=*iv^dS^!JO{D-|WOb4eVA59jdS&xAI;<|gBrCw9; zR5klqmZo5|WoL^)T%;-bxhSCP%%b+4LI^Vk*a~%4yu{`TOVo2AVaDX`fwuW@`-T$K z3gQ*1&BdNYEupfG6(t_FD(6Q+PARUb3>+Qqu;@~+k{<=HC3Pi**e|o;1c~{W$@ub2 z8=bfNM)}psZtv}X=>tE^n?=ozKpeL%u`(V;cJa5n^nv?CxrIqmR4SM(J_%5i4Qw+O z(DVC3#I}5)P%TTVt}e)4tH=eablnj56{D!ueqv0CtW-(yxXvRIC!4r#G%FDOcR%od z#TUM;44g#m3XEiM{#a_g(QjM!2O1IoFz&oHuWsjj28@q$yfFt+-9UM?vWCEX_%v3XZ-M zg{8XKACJEU_*p5P(yxR3a_k8*jUo9(q5hYAk)%GscrU8xhpu{3gLk{8GaTXi5wVx{ znt(5Wi6@9dr;A9`II0E*AG4NS>s^kYYN}YBDHOsd_G4yF!<(}Bt(X;Cpv=)d>H}CnKu{Gn1e=3aFnpt^0cpw{@_c}%TxEX}k2XFX& z48}(2TIDU9mo$FOLa}=fs@&t5*>iAk3n;eLm_Ls~E%I>z1kScqjZNk3BXX2g5?2{u z-=*tjO}e{#r76}hb+}_@m+51Jk62IF@U3h6iR)y`9STX7=@r)m@3 z@kLb~JDgyvIHZp^wrNKxY-m7zw0jl6l@bT{kG!28D8H&DP0~DfeuDNlx)xSBFiQu1 z1_y?c|Gk8rzO~o?MLem&xYDJ6tSQ((*1<)x1eJUc4~y<$a01Gyiq>&$Jq927NSzbi zcjf-BL+nI)w_vI;1L>vEW4D_(DajyQ>j4Tg)k>|)?!Z@+XN|1KTrm2TE@%EDo=Hg1 zu=2#05Mtwn#}5DY9q4CEuX{oDm`#LEjWI0K!=J9rJe{^38S4K%f@}=ouM%g|7pWwm zX|0!`FYcu(hDplDFhmcq za`EkMrLfwlViyYje3AHrQ!kM1v&Z_4ep0Abajw-MIdej~=YmY38uoxZ*k@)`nPs{es)_1e}C=bwa zphg~!t;mvPa=|!ei!Yt&GJ)8F-dx*qfB@*Z=TOi~aOVzF;;d=#nfK_M`56CihXDV8 zagsFweW}<4v$OGqN5feLq}tNVe6N6MFd4Z;lQLyPCk)7y=5^aAj>}I*&neO#2h9%T zHPl@J%UJa*6Iy4l+e2zK%bpG=CeWa9+Ju0I>o={R{q5Fa3Z(3%>;1eeo*-#v@ucp% zA`!Y+MH_t))DBU#dv&Ha@mcl64w&s>mnejP%t4z~-PeJUnc}3Z(XR{enS`*+wF$q& zBVmj-t|g14lC+3xjw&Y7@oM%9ifQ>Y zfL6wze#%G!1LcC!T#q?a%aXZat2Z+QP&H~VDD-6Fe+ix>|3MLpVY%kr58kAe2UuSl zdIqwgOGgKvcBH-j4KOU+{95W0xz-pu4p!`59&&;$6xGI=A|HgKkG18d!U%}E*jjA$7Jbt7VI3mEhd`KTiB~FI;WFLzTcGyJ?q$( zBA&vMO66knknhIXngIi~yd^v21XRS^!#g)oB=v6^rW)mP_DRW_>|$XwI6OtJ70yf2 zb=c}Q+BsE=cPrw@wNRJLVe6*3FNrOnS#izG(QPUSk+;8rLCw8P>y_C;aKes$lmZ^7 zl5Nm&TQ_I;Ve^ht*H84Z*trKeoZ+E7?VUx)w!shSeLR-mV?gYN%Gr9rKOeQO zEGBIi^j5PPGI_@$Bz>0{!!;bZpeXO&BS!Y!D3*!6H^6VIN#YbLXrH#83rwtBx73VQ zEIbXgnQ6Um@lwFvXpTiT)e;~Djnm#&xgQ_)X1Bv>7q@IobIt)s8Y^S3R0^Y~o+S}8 zcFB3mTwP_d60|ArLRDz%hgX(=h)zDQ@bfmvOCvNH6uRA(X|=bH81#HkkzqP((&##& zK06KY?$D!HEqo$k1lJumG!e`EgNldOGdA%VoOD5M&m_#;RyHD>$dJ};aa zOZ>S-@P=>ALs?LFEQ@Tr-`T|3F;wZZYC8M@g8U{Pe)z{zWLQG|*vWCM(Yw-j-O}~0 zVVNb%={I3690L5Da!wY)4*%^>%x-qEr3_a+D9Til-TQHq^2^cg@@z#HYl7=Y?U$*J z2>Xr6wo3o)`;6iaak$B1^9H?N#U`9HT`y8ToSm9MwGSssV~;86&6J5(<$6OUb@O=o z(|nKc2SNLuWCJDGuA*8ZpRQ8C&I0>jp+SPS!ax0ImxTB&ntYO;USRH4I6L7KFf5J( z7woZ5v3RG#rTT(3so?JW+h?c$swB_|a(gX>e_qn_>7JD=^B4d3?7@Gj+zs%fz7s)C z5LdJE3U(>*@T-B7u6U0 z^Jb&PzG0%RwPaVtljzT0Nj@yqx54QBe6LNpKA$pxA=GSklXbX_-S7U`L$hpL{I7uh zd(}(a7W!{@lE8?%1s%4p#_lbiii8?T1~FMzmsz)kTyvkqB|Yqnr0Op+5@wWs^p;=j z-e(NAhP!)P2&qjr!lpCP6fvI}Seh>7(Vn1U{g&LD*Tv!f&$I`b1#80jw`TIDKRz#_ zr&=8!n7^@HTs06xW>6?UHGb=K;op(mi54R5HdZ@RZt0L^Ou@(%+m~d=mCZQdy9SM3 zp*MFAX0lLT|JmL4+p^)2{cycU?m(H9RdFha`#>ScJtxf>z9%bEr*u&D>)pTCtboG@ST>sN-BnjPXu~xc_DK$AVE_iN`yYLyc_uf46;R}l zmGE4$+-K2W*4V$RBDmtHkdvfj>pc$N73AbZRW&CP}6pv-62Jg<2ugbkF{OF4IZP>Ts{lZS1Xi z!=o)w4vHe_2aAlffBWQr826uNIh+io{QJx7VbXQiKU{({_UANo@nZ;;hp3Caj<+L} z;n2&AMp3R@!7v&ra00H^7>LK3);OV0d$|}UvL0`#OI+DWGO~=<%e$R+WzLB;I`PfR ze&!Z-<$fVu{M!*ayFhg;4jFq{n&ZGzfL%vG-@L@M=B0el5!YBUzK>K+gI%g$*IL<% zj6BYPW0VI@y+I1EU*fo)X|@=__5{zm+|xrH41>{&WIPMLqugaftn^4nG2Lc|>pHs)|%~MFSExtAXU6_=d_A|=Bp!ie|-^tPOj|;*fuCT)f z>87U|;zg!5+Q`@v?~zkRUl&>0=rO+_DfOu^6v1_gaSc>$H5qvCK0YOpxlllZ?_?c1 z6A&`1)#(0AVrgLf6qco^PK#A+=wIPQzlFn*s?{f1|M#^51JCC#sU%@UESk>^NG zX~Wvy4B0yR!S|XOi;}ydu0JZX!TY(7#!|cGFJb6Z9$07tO_@ONDo)7{^Y;1G#?MtzA?{yqEhJ$5jIX4kPj$nSU>M2- z7~1a+%u_yHuz#S`LiUPTZ83S*>1>Ks_vd)d8;*$UkXnql$#nu5p0(ei8m#K0R8# z+R&Cx33;V6ol-J^M-GFGzak4Kk6Y2Gj{uidM~bX>IR0t!EyLlPPqun&WFvpd=w`Na zirylR>x@nfMXC`<5XKf5n>*<|#f!nD+16wp0*Zc6qM*skOhYtY56=bb>;SK59D_gV zb_^M_`}#`4$y@Qg_hL_nwU(sC4XT-S@f>E)DNE49DA9y9o9fnvq`U1f${K_9@s`<9 z&+j#Q;%=73Bk=`OLo+_3pA^Y4%s-67z&A6(CFRO42^wP=J`!SvO2W#yP}=SHVqpfx z(43SgJ*WqFkRp%V3tQX&cA#l^!cy`ws#tHd~&#Lzx=D@(eY}XnbVa~FRF%= zFHG>l^5RWfH*otA$n?T8tqd9N1c*mdFZabyZ3PQZ5*_Dy(~iD|O;EX0(U7JU)4YLI ze2eA==g@_k@OcJQqAHW430sCB&`0kuU3ba%Ne|i^rrI?@cc+Ry(BhVxtnIm%0V9p{ zzAvbV;Id92RM>U7B%jnVtnjY49+&Pc^l{2LVtNKS6j758f0x^w-PeLP*w}|fhe)zC z_E100*}h=D0~&xa7e3;{U3lfaFVqr;<)EugRnU zXI0nfFHEGZP!XCb<)HEmxoWD)zfYOnK3`v-+3FFdKS|R>)vM(;n3$f$u0=n3Ujp+e zRFw#63;KncWM3cj#%~a)-y1f2W2LY->O}(k&LsLCS2|XzTtTK&rTE{kNK#ozTf?bW ze>79QV`V1&XWz1pn)wB9ERENUC@7>nmk>~JC5`MG$;}eRy@P7M_AKKYO9skjCGV>A zID1({$2uPO4!G(+__6Q!$&>d){$P@%Mu*mtcI8(n6_37=PY>BY8I}Dkm7V`8s(S{E z=c0_igWccFuaXl|ue@Wa#A4>wEKSKVzW$Zh!D^Erv|{Gjf_CD?0hAIk8+GG1uP;|F z%W|u`nhYJMz(`T+NboUjwA6)>i-BG9Sd@QBhCHz(yFw zPI}E9rb~M!Io5_5vsA5J-m{=mwy#}ZrNQP zN=e|=zCHgfqvO-T$LI7tZ*??^x4+2>&q+@{S?zSAuCis-0Z?Q*27uN{G`xN-696;a zF|qr-afT(P=+TGoHPWarvF6iydW*hd-PX(O0g9$W*g^sA@tB^TF zf7P6C$TG0RHtLH@UprPNE{9dd@Jh6=c~;8ADit^bT`_s!(Wf!E&-Cw~tF-yW{x*CC zZw6R&YF#9Hz9&W7t#Og3!*Eh6`JMe%GRze_zGc74g;7Jek9jjm0(>Oj!-K_8EQ2Ge z=WS=HR*alN)X*o?A=Q4HL9N9ZNQ63}V3nljC#(EpKeSWIP*05t|v#Z2B@8*WEG6K$a33#4jNi{x=(la z5!#(q?UDbs3s+nPGCfuvEB@qUQ?5p_2F%Z6>yEGBnrD0dsADn2TX}LYMMih@ z57dv8Qj4bBpo`H;=I3p+1n#eiN`uNTGAGKq@&DZ$V5RJ=Y<7YfAfrEA1VDt0l7-CP z{bu~w(f`IaPqA^$N&MxRI{fA1IXO=BJz97et4Cq$5xDy7hqHeVktu#5H+$5+3&bcp z$rrTWzTlggguM0?|Ff?PP_luQ-JYvWz1L`BW0 zZrqANNuXp4+=5bv>=D08Q+s$Hc!Q-_)PyYw@K%(G1hP;lE8>kcF9#WO&pmlUj@eJE zRG~(lhriDrk#rl)zh5?@YbEM#yYx_uJZ`{>q!y3tPsZQf9c&M$82qbPJY&PH=$#~B zbXDM1>JSNNTC6zxBrXgR;ikbFcC=JjR9YGRJeRTu`Yd+^2cJe88s0{vX%iOzwgFIu z3e!pAH>hm;Q(+fzo=IG7t$ya>A;1(Iv3Au;aOz+#d*)1vIOz0H^;emd@X_lFibLSc z(@`Dy|HqZbMIr$Pj`*-m0ovplO3J`W$h2Awkc2oP)O262YMyqM{1(97MGsV=@0m9Y z;%>#jj93QL-k$#Sgon8I`u)T?+*kh786x_-4lw84r*Pp|@GRY6bKW~S*zC@=JKkGe z@>|+0Ck5|J1*w%Ox9GQpU17su`yBsNJ5n`G&PoLCt!&6^v7XOWJEYfskYo2YSOOvA zv%<&VW2+y`E?_%`UE)#Ug#dTP_&p*}kQ{FAiFz;TFHU@bu1kU1XUNGYc=>0w<4>2a z2F?cLWWo&%(@NXv}nnl*Iy#KfCdUGx->dy5~jAy_+!h+Ki<(yPC`Uq$~F!LtDYARazyaQ=cFDVWmTz58Ki< zhoID2&%zfE2g)tg^`Vpt-M%7t{y*wU8=Y4z8kK*m?Cxr&iYS)E#0G(FMmgV6)xOxc ze6+pMB#o%xaSd=HX?sx(7?aZinvTv*Ci?26O>nj6ywYiU_`5r= z4d{l?9#l$|67JAlI-kc-5s=;9e&_s}1VED$2tRY{9qZ0-F0LExVfzNJuea?C3=zs=u^;2tYh9o7X3}W z59!XKYbguMraA5mE0V`0X3s~dV_Q&C7IIENm_nA&>w$a&MM_gvPmVFN~n=7lj@)h@%=K*NGc`?5D$ftC^e!PzQ$&#~(u%@kD2g4yp? z2{==X`%+N2zgcQvZkCkGz$Su}{N7z7_Q&W11+)(SV7sy0fNN3!k$N`8r5I!YFoVnX zhn!`XU&U$N5&u$;gMX;*Pe72@b+_X%{QGQ;$Nj3;i984n@0ItJK?ENaddxtd-kApL zsDg#l3l=b|cCaZtFP8Td^vr^(Z$LBqgK?KRzC2qo?T{hkt+CIjXbeQj?&0}&QF%O^ zq-sv}+r?aQ*OBQe6Cbw*b#9qt1jT*{^_tk-cU6KrZ=(tFX6|%3PpYONE=NRmV8wr|V{qk; z#_Fj-ZuZi40^VX}fk-~wsNI)WYSFX{#K5tcE2Z%h&wnBoY|Kb*yYoBa%hR za&IT`dxWcgOP8MQ75hH$Y(wk<0Dy1XZrRePW7CMp$NF*C(L6)2v3g%EwSaw^qy$(T zy^f3r-0%r%cNzbUk%u3WfGA0BNMHTZn$706FxcLU-YvgPsW;N`cOf`pH)*hsOeP#1 zrm=VnkKk%4r8m2S$fU-vb~x@>xSmENJ9rv_=7pUa(1q`0E8APYQQMP>Pf?FACgpUsjMaA62Pw6pRRGm z1tT#*Lj|zIBWSs7(EP>ghpi?u-b-8*^j9_1p7r_CaBR6g{aLB>rLN@pPm%Xx_A~ll zZ}OlC57|7=HLIn@pSQbedo4}V55t~J%^J2zJ?=B*EWHgWeyOP1B&M2DGH%ya; zlMzIYsd{nzX^DnI2bVaCO0a`TSP?%-%4Mqd=DfK&J3i;amxf2PdWX6DU9#GZEF&MF z54o^s?h_xqNjO{FGbNl2JKwfDT;-b?45AIX>Ndh@%_XNpV_>}JS4oS$cNs1@U?h@h zN1Lzx@i|04^zi=iw?nq!xVK*~lE+my=)3Tt{ZwJO=LB+Z5-chbRA{D=si-66aXHaL+QKV-@=G_QQ26V(|DtB|o(AGpY>4QhMb->tb} zHG(hkbd>ARMsFAg{kWa;uY+6&n#+T2&U@PwsbL+FqdHcgdd^K6t5-wD*|Xo9e?g`7 z3daOPAUgc!!lNNARjkjTQTmz9cFtiw18L-otLI)TA-?cfOPFhT9b>xh6We#y{jUo* z(RGeE?a0sjjC{DqP}FZ6^+qg?W0y{;b=0Gar5{LPj51yhwNHz!K3Ed%l8?{mdVB=O zFKVzV3rf7(0Vn?D_|S_IUI?y=q()?_u7jKkc zTJM3nq}LMQeMdRFQR(l!cRRe`J5Pt=ZeZbN$X-9I7}gu6gE5da^Q~vJ@pah5kGeOI|Gl6{F(Kba$d}0}F)=*w z2T1EP5l-B6MmU0tHN*OHE)4z2`@XO`HU!Yss1-IU(wyr+$}BOAF4iy58;C!6T^@vE z`IN|rg!pjRW@IYqxvZn`jK`|Yfb|IEtD8|QO^*u6FI#NMm6gw#4w7f{3ES%v z&lX6LZ{P9fyYOu`DRIiR&g^!6}*0Asn;o2SkmMstD|5e-(WcoLGs~V>yYSupI zFfJ!ddxrbrALYdU?fNMcQnDMcUfaEVn~tZzl$rvS4fsq12sxU1X2bjVi^+qGSp^1{ zcmd>jQq-kqCiU*wOlwbe`cy-p$k(7)&c- zR&Af(-Z-0VHqdQnWEE6%{<4$~(ewlaM(=bYl7O~yuUZ853PwW?Y7gUzcDcwVFBnQj znf&#&WX~JLP<;*7dWz}G|IZ^8N{E`#0049iQ$8JJ@1-JWK_OfWup=`|Y|{(QxO%_- zqc>A1<>kKb3TJ{u{!&{YPeIFv$&6?6AXwXVJiWkwUkjYZJpb*v!cow*@|=fC5fTjN z0~iJ&>zCB$JsHw)Qkoeu21onr4|Oo;i2*I1%b^et>}{shRUH*3jv_;)jZam3<{r+z8gRjN!KD> z3L}z8U_BV|XlE89;VM)&0(M0HsRXlKTVcXrC!n(yCX>mwHx1ObYSDEGArL7AzX2oW z1%s$kxCR68U74;?GG60q4q? zj44D`84DlrO9Yk-(HCE@k~aSa2KKD%Q~r(eSX$@!#u0EX7LWiQ0JG1 zlJw{PEu0u!#CfR-`Ptc z9xXsBpK{trz6&svy>o%pht`#`CLTC?X$GP*ZaI3gys8=ckTZjv9$N|tCk3B%O65-1udJ69Wfh94mGT( zIInx}cC)h1s3W;?=VKO_#1}NdRuKZuYz?t96uc*xrL6G$(#BeUe{Y&toeSBk)K?7fEs>ALx^mPO1b>xEQU!!FIHUVmYJqygP)lz*><2RwiMRp zXw&4-mlJ-pUCLOT28x|4A~J}SIWi#(9R^s}hgtqNmG8)VuGLlxV1~{CSyDN#wSS-7 zMh$o@xd8NodLqv?=>_dco6lBUY&6MjV1=u&xd+|vc0oMl#MFNW+sjZB){avCX+Q0H zPI926Zv54-{%=`oHBZDriHxpQ_Ax_{eu?Q|GH=peubOAH%M%3RDFSJ8C;6%cKiiXo z>{ngEQU)TKZ6rl*V~rtS42d=DlpD6Lo*VVj(DXb!C!D1c(!1#IcvgN}@Wyu6WjmrK z^ry!8eS6&hG=M}tcHmdOd$o{~X<=Waj+OeK==vB#@;w$7{4ezCL0kQhEjh-E%{f?Z zgFw>%Mv>&!%%G7K5$_kKEw&LlEMMXRsNEa=27tVoNHwa(h5Dn=znxj}bEzJIbi+p` zLq*ys_XpQ6CAVJw0K7yX*FLGM$a(+D6+U1j;WQxf`UVHvDjSv5wSbNv=W=!#5+Wzt zpBo#OhYAAkwSlxd9ivy_Gly12eGmU#n04& zR?pF48%sD?Cm`E--Vwuo)StZ&TF|I(S1e1>=#C9Zo7y|84^NzU8cptFWW?XR&PzHy zoCZ%v`H&_RgXENX`VlB;8fTVOWL$A=$ncwnk5YB3|vjMsf~1uY<*WW9b>? zNSCGgPpt$iD+v_gI&!NpU1W~O3(&($_?>Fs(_-(d+pDzJt9Xs#KsR~5P>|uiMn&gN zr1WA4tpOv40Z`co`YFo2O=IkD9Y;J!8LXr0qQjn_UmIEe^fVrK9ibyRY$12MNMpOc znqN*Qb6Wutf7W&=PK!lNSQZ%y(UDLTy$k|U>-l-s^uUlCns*TxR;}E1pf24mt)C`0 zLjqtFE>uFnNFE1t)SjD^H{MR$*jQ`>kRg^HXlix;x;%>LEn**w1eXKtyVhM7|GPc; zSNM6-&!C)_{Zdr@p?q?S^1*w}*F3vRgLk0i*s4vgI7ehU(+>z}=(~Xc-J}bN_kBm3 zC6()#Qi;%F=QDgWuVvcZ!1OA)0{v0>{lPn`;813+xJL-+>|fpFclD5e9aDwR| zR8F@yrXFZ=eHVFt%nvA4f7uTbIx;9L%66c1zQiMnu1j(FOrVsLEj{AEF`PlSA&HRf zF?XaAouRuMY)@Q_Nb(7=7b%}qS^YaN#eu5v8`vI;ngkvEsC&nS{;CJsisqN|%RyG; za^Ic8at?Q}0(!RzYfGW1!*LMa8U`kGWl$o&!EN$Of({MBKhyxdW;9cw1&^}8==Kcg zmSSeSqJ5~M3_5;DpKnBT4Wv`lM3LJ+-)Rmy zh5bnQRdAP=&UIEAgn!PXeoMTe7cdmesRb^ciVO65>l}P za#}vD@2E$FwRa^@LvIp!C$JFX=f1w~0h&WebNRKWFj*yp<86Qw!5((|U9K1-SN^zW zFl=MhYq9ROP}LT5EQH&!D7I{AY(AKN-hB~~^lQ27!&R^Z$>%OGEmU#;YqAKn>Sun{ z#v8Ua+OrJ%*GRXo6ZRALM2yN&w@z2S(V9uo^k5f*(cI>AF&+%pp?r-#2Ej+CbIssm(8pJ|m!_@$m&4xsE_)rfT z`Q+OhGX6w#J{&s*_j2;1oZ_UPU^D>g*S1_=B^R80mf?ZOAgJ z4Js#;4&(W!_(NLV_&E2`Y&XA7;a~t(XX>bj)&=1~igN1*tph!-&lLuTH|tJ zCXJ*Z$L6=p8)o71I201VfZzcjfcj&edbVufMHKmHs?hwdC!+BvF6 z+-jVZ!8SV*A8^C0n%T#~Sz_9#Eg8*@Z@3&;JyvF=uFMAtt32iMZ`Q9>4rSs5L zM*ygDo`%0mB}TFCz)G8d<@P=|!B*O7;BJNOEwf#mA1+cP9)<#CClcBk^PRY|KgNA0 z`Lo23IVZ62d8NS{qy-{&>vJCGC4nX-{I-Ig`&7{5ZqWT#RempD5`s+g71;JeH93Q$ zc_))$jvx!>YDkN%?X$n92t57MkX#8%q!dIUfjRx0<7pnV{l zAt<{AO6%Kw1OSkUxynhwM2DtR7J!v2OMjC|+)ce(9o>n~=+ z4FRI7ORa$mKiKJ#Q8pUo;x!q5K3)@=f<-MryzyU(;Y=7=VM@h8sd6Tc1G9E}sKBWfT^EgMYx}e;;SZr_J|mR}^P5 zhTP10a(ejS-@AhKYACgxHeciEbxaH_zyyUThyhPI9-?eM zHK_$mrji(S$mlRDR)#t0gw=A0C|* zp?2rPV3shdcb{+DA}s}~LlOWnKr&43$7DMLQ#)~OXR<9+@2y(=B*s=-9UG3^n4S}V zjDAuD?9TYbpYMw%sxsExcWfd|=Tf3%5pAz2b2gR2!`*o{{t~VmD%$}jvXKcqkn&qH z>N+=!iXg+UwHt&6$20dwq}S?P%;D`0&1r#C!&N(2_m$tGT^GV(z$Gco4Uj^3gbCYG z05}u<>2<|W2Fo211cN`ZSKIpnAQ4N7x|#a6?LtBb&!?JT5vGUar6_H6#F;9r_JzZ~ zS&@6|zdbYi56TW4P3WrcR7oLG$Q(4-wovpZ=9uRrTyb*5kc1U9-&Lh^YOD>`3 zE)4v^f?nz)Cvg2UVc3^iRL4)1mB~bsd4YGov#3*?UjcB zA|(b!`x_w72hwLJ+xDRUIO!8*OW+Zx@LaRWQp4sUt&i~-kCzuOOTGCeKQshF#L$AI zX3+cN(kmLlUulOZih#+9kVsB;YnZ*XT6EOuQH5T{SZ7di9n{*{izg0o9NWGP^}7Ko zg1-M`(?xGa8ZK7x|%;tW((bx}qYYxDTT7Dr@NOQ8pzuUe0m1Q>w< z{TSpim!5)XMFcThoCus5i%-#voPZJ=AV^uQC~xev_)t?>%lZ+*(xdU)^S6Te+I|2NXU#i>nL&lCGH0XwfQz4QMQgeS09O2rDtE zQel0(q1Xo9vu?Tqg5jB#R!yt6(q|Zv<~yQ+beYUAZtSH}V~y#N6<(NgjX-Ewnj6s9 z-fRqE<8$E?8K1hZ(ynw}!ugl}1Us_a+Tj1Z`Io|0@^s}?xvZ;Xr4WAd0yzR*n+j5R zg)#@i-bf&(<}*`@2&gw1^)9U1l|%$@L({D>m#&(Q^&OW~f7h@KW3BkJz7POBHJ$7b zyH)s;tOLz!@wj4G<5R@nnjy;sum{ZDT6PWF)c%4$>OWVX>XLZy?XpC6x$b8n5#5k~ zNOoGR_=aIvfKJ37PlT~TWsHcOG4?f4SPt{dOLgRj%k8jHg z6oyl5KNmn^1ioGfYSFcuT#V?;pHsY-$QzJ#=@AL#lplJZ%Z21mQ2zJlCPVeYqL5OS zdlm<@^CXB>vem9SEB{~Ax6lbb%L4*n0~-ViW*T&7K!NB^JD{^EKy$vO`&z;|nJH$n z?M2w@C2$K%fjN+|Bob1P>$Q%sl3ih9uy8nC0OBKUJ-IWw7NZdm@}m$aJ;0;4w5GS= z2*zUYo-3!53-H(fqUQq8e<9&eEE&6n@MdmAcWA@bm_amz0Yf|5jj5rV#|qF?yAW4 zYEyr9K)5k{w>c(6ju&iG%vjm)l+2mVYf&tERpmI3)IH2%LUiQE#G_Q${Zj3&%a}W7 zPd|F~=I+gM6``rGj$r!2M$)o46hBk3Gpujp_*ZX#v4)&Nn8C83+`a5jGrR`OlyntA zlT+p2RL$PxZ3H=q^23@B8xO9D+quUscCGNyyAFDY)C8SEhAb@D)DfsPQq$ddP-f*uQ?q=@ZKL$WYyJ9sHZ+a({<*k`W@K zIO^~v3M;;70%IGF(Rz{V2Q|SA>UG>uZtlJHVba72B}VoXrvayCK&?GZ z>Eflb>5D6Av2BgxDc|Rz-s|H(MF*cd!GQ2CXUIYdL)BqVx;-~0Q8v!|apZp471gsPJ&o#It52fv@ zmmn_u<9NApHBX#nz+&FU%Ra-#TO^HiroBZVg4w6Gk$`-OgHZ-ZuCQ&-e>YmrRHfj| z@3LmDcxinM3Ol*z+#pz12QKg;)v=RLS4qC6OFqmr5853Bia|o8A!q6|osl_Jg>c`w zK_g&-_z5D+b@(qaLLk{siK=JEm5=U#%+TBWUtj6H*J7cI-UKpwA_%h;&AOC)LuVg# zhf=V_@q<--ls)_v1ZtLUR~bk-UQl5}S>zOC5T~OKs$NSWD(=M2f>i1a973G~<62hk zY5H5r`Yh7WVz_|99vfDF+F%hNs0wcn1c(|3tHFrPk+N zxWQX)*;(L<_l5ox_gyo$mjjbjzE2uyv07zn z*{t&jw`lnv-~KOuIcJ*SIsa|d)S{R#6?pj}{$s<-TvSpZo2E2#2yC9eARrt&k^^qq z0w|5QcMZ&M%cZ&?(#c-BOv_olL0R|Z`+eFbTIzt37swTX+QtpK>-E2(-rsvtgoU|p zCyL0qdCxn(&)~TX1smsmI_X17A&5tl+C3iEY(QoexGFK+=W2NfB z_hi8AnOUo?;`7&3{!Pcxpc`>nUv zNe&mIe@FV!U!CLJ@666nb1eu{sZBS0sdX9F0|G8hDPom4msfkuct02LOTB7`K6guA zD*~!eWG5;LnT`R8bZTvhNhGT06)$XRYS5d2lq^~+dywh>POrzhWz!Gc2zBN?y9815 zg?hKy9K>3dU51kb9RX_Iwr&{qt0*fpD!ZzEV>eOmc%@434GzwD?Ox;?N|Ds%pV5qB z_rPGw@ZR#a@!`enOFY6z`&2D zo~0|3Z8i2im*^VDoQ91Lr>5*beUvuzU*ipS0N3eLuGd6dM-#r%BRXTk`c#QA>91%H zJ;^~Mt%ZtWVhW6te^eE59fk8Ir88{anR%g5XfnIGWxa-KE)yyE@s;+WUheC88;dq} zfg7!OIy0Sj0G zn6XseP|8mX*jq`98GN7hgx|=*JE=&KUv%ru5kIrjntL!v_flX?Zk40Cn1b*Z<=$Yn z$!SQ0LB7X-GMMZwn3SNJw3dt5Hvr6^b5C}RFiI(TGh51)vgg4?I8&e4JY-tQdj*UC z{Gl95RR;!aih2Ui$KFPVK8`EKlB@{+)-+ix@ z1nlA_gN#D5B>{4bQGDe!7V!F6&OhOX3m_-G?R|FQ^T$_5>Uw~Y@fKLjQI)1L7e~la zN^8QR(}X|}zXJB$L>gPuw1$*c!?jBtm$K>1s37p}*CiI#I%sP0naDeR?n@FbunoSg< zU6Wc(8CKP87bA}m^qB2V3Xx{HPd#nfc9)#y!kC7!cbqd+ub$}5NHr<<--Z)KS*Hyf z*S-K_kDu#3X4>0HX~-z(_-S+BLB5>dL3D6FARP#v)3)=9DIje%O|51~a~^TLzYa;R zEP#r255%(gjX4JN4wz-U@@*_#=P4CVuprN#1S}bcCiCOBFpmq|0?%%OEXc*ntQ_zg z!N8rSP{FD!0<(!eKW66(pK;EqlnPs9<8tk?Td8?N{ni^+@ehG2U{{G%7fU6e2y^fe z)na`R+`VF2?a(;|)J1t)$m~OKBVe0qGYzcd9{_;@5um1fF7Es&>wg#htUlf$8bJDG zmKOZ_`B;*3=i`7x^s)D1pgK^6tI!##q#CSv#mpsvg!0s{qQRd<>t>dW;pls;@M!to zUYQ7T=iXFNG#ob;UcL(4@yG4WhGHUHr3SXW>tP@zr?mi8xL{G%@BDK5BIq#29_4^h z>Xn*H3w+d={hA`2Rq(hM^e?bkJVH5^L3EQLh|tkpf>aa-#eA_ZH^R)|>GIU*3lZ`s z>eS%Yxq{~$`x6Mjn$XlH7ysD-#-i`UbKFWS>C|{4;Lot%O)fO&4Vp$IGp&iL3N^v} zA|yFLnM zkB}BsO-a$9-#&w#pZ8lZQwRBxD(gfW@hQx5h8=0grx<3lf_{C=Z~sKXqtfKClZ$eg zlQ<0DMVfaa4NKeK73e$9pv6BmMSsY42_V`vuz*}c$fld}L_)#UBF30s zsQI$vzMy5gCG^j`0APT67KWfvke-|le=T&RS8m<5(QpusghqKV%f1T*uq%eesgsln z`IPbpxYCwAQ^kWN@SKIGQw-Cj|2G2u_KEoqSx!NuIdz|d9Hv^o^|5~&m*5F%Y^P^v zY5u(g!tZy0HwzYtp}z5pWF$Y&fpRTHIeUOAkla7|39ZxwfU=c?!Hw|>hJhPOxe7kO z_x%DDn^ftGeE@>P?jta8UgfgOwA-;Hufe*rBxCGKvHgGtK6<9|1x!xROh?GL{1)LB z2NOC)DwqFIUI-z5s?dDn0tlDX5M}4v+H#Nns&V^0J*9u2%0t$k z%&b=!_MFi-15faGKt$b#{pd<;m#IK7zhI2{lDtiGOpQ#|Ps27{1pItS{^Q=l@@MqI zrE3zJNzZDPylcR~wfA=$Xvd$Xpgj7B;yu-G=+s(gD0)NXaAhr&|6-602fPf83%CF4 zH(fw3VEKNho#gOM&tMo??dE;DJARYkwAJ5&)k<*=nepy+U@6_8 zB)EJoI1!DJWcn_nM!0}5RF%2^?eGh4RzBGYu;d(hnr7uTnx8#ESDB+J;y_2G#a@Kq zm3{#RY>B4a|N#H0DKja^m3BFD|~Y z=YrQSwqGzWYgAIp0KXw1pOEDvOEfJ^D(^+@EdK0rqeJ(2?8IZJ#JJ+|?`hBpzbP}H zAvI|58$XIliBlUuUbu@OZJ*7KV14;c^YyDz?Vf{n3SqVHnb3`oMGRi9e{d#?sU22mZn zV7=iyM~(k;8_Ge^Becq;)7c)&eS$BVW7TvuNW6D?93(wRr=I=(`+zp+yb2 z#$YB(@A+GQU4^C2X3ALk=A52@F)WUm*efH}0eT3&mD8*SoF+p7SB~k@6!cTi084-M zRBu^s0#)SQ5W#iu#Xsh6r3-k`dMg0Z@(6U*0Hy?TC(&5>$G*-Lin?Hpz!bPx3mRu1 z9$9ah2Y#Ohq(#gXY&vE0m5dqp(>rI1fwe*FgwM_wb<~=0;89H=MG%8}$xsv$PC?&Y z_TiMDnCNrlJRpuZgMF3x?GP78<+`8l`7LVD3$XbK;*96lJnNh37=k&apE=`K@fW50 z$!2cxMAc0ZSk>P@tFi?p>R5zf_#&bBUGN(c0+@baSdAEhMB;HWm^b7CETz;V3@HTA z+wXz-uq^9X*2Am*wu_wx!ms|OA1=tAhke7Q`oUc_f-mbM!?lVoHeVLI%dO(Re$)36yDweFiTf*?fiUc`O^PLQRFm#$d`EE_!`d6Hos$|v8P7brj7mmXYT;K9+?W3@g z{2?ci$Sa~6e0q(x)#Rt#?aq*mXo!ikzMk#Ea{N6Azyn;>_bMSKcK3&4t{~&XG$dp4 z;4LZeq6nFdURTiWgK%9p0`;i>+0f!Vd;}QR2_IwiBTKX-L$Q=w@X;CGEJIffWIMLN zDZUWA=JN9@$O|^XLSf6oh=tLtni256cy7wPvtr5_j#fch*X=jh*6gI7#wvr59KZXp zr}r`|PT}Eh+x%`(_6^821q;%PrQ4x2a@YrtsT}X(<$M``1YHXiFi{+v9;6YKP|gar z*)tqr3|BAd5)7SZb2$bPju!=Yn0{}&u#XC@DoOs@ z&>#W%3GxQH{41cZE@ibL&pJB#Ueg$snDY(I{wRHP-)sq}<%J?QQna(scb#>`(W(+d zrK_c8#WozerlW!BC>u%EwJvE0il1jhKR>G;P3Y{HxVc8QUZ}c?-#RD1LHi>yCUXZK&M@59mCMB`Ih|t{wxq z=K0Gh+K)rygBBLppG|~<)YglK)r+Z5^)!*j1m`%@1qvGbVtp=k>J@*%Kf+0n(<_~= zQuUr|kNIlp*~mWw?K;R9G1*!G$x$kQFn zv`y!~IyZ|sAfaE-7!#doBbLWwGIG@_6|vARqEsO zrTe)D_7aM8Yvi%x@Rpot58hM~rNW7YSfAW>ubD`I^|cq6itx18_gjw zg&E~+KS}@%s;q~8qlqV|^*Faj`6bDUr6bpNyy|ynp$}=XwAyZsZ}AqMKOrYn`T}o6 znuap$nEH>(GrGNF2CGQQl^sdnoNj|Q27vklo1k>gYYe(S(!>n{l5mQ$B5NBma9e-0 zyYt$eM`EFEEH&XqVD@}Gx?px1on<>Nl9n;+AGGtqO>*suDh~UALe*Sl7Nz#XxU94s zRND;pIWT`%R^C_UF=VKFjFdcpZj%6~fvJH%gtvlpH>ggN@S2Si`pX2SciBuBUrBKYHFC{pyzMk6TJfs{8)B0!uq@*$ ztZA^j1ASssX8HJz#fZs8P*D_1m*#u*@EP#vn(3dSeZ%Y+Ii!2&G=FQni%(v}?&XC| zR5F3od3Shtq|`j4-w%!^)tuLH;}>{BO+wr|fAb!Irx+SlWPft_?qR~7fnULyJ-D!H zbe^6%cEPPWHWUzKB+AS7we3q_g=EyP^RN?hV>p`qj)WKT@Yb`6*M)Xcbx!kwvLaR_ zSGjjD`aGu>zh8e$mg!N6&t0qN%si6LVFE@0rCniF?WC=A^|jKgJ0cf|EeKE)3qbAH zfUO(91rPvjW%~^Oy~G&();QGgFe4-GF}wxoL=Id%ke0$tNpdg*C&gD%9Kv_wu!3Zh zYwnOH%_igwx#Db_*^Du02sV|vj;MU{#Re~|?`K3ou_y`fmUN9++e>B@anH?cJ>dOba*H{-MN8^RxQYqan)k9dewje5^Tc|;SI`CrStSK`|Kjd`w8|I41){*ey^sIq zAuN$as3bL+!I~%uE5SRKxKl&7mSg<3wqq40ens&vV%ptK6*>!{GJQh<}#ZXR|le!)qwq>ySsAkcyxaeLzg<-l0+;G>H^&vgdw4emG= z6v24snfo2ty}Od@1VZp|0S`<(+--u_9PO}~JPA-OqS-Y_BY?E(@A>pOZwzgn?Ww{L zu#8>64UalOj2Ax81IpP!Sz1kcU&-);M=$A7TC?RHqpm|Y%G_a6iSPIM-Z^g@m2efm zS+KazuO5-%$dW>m`?N64KeAe zBg-87S<=7XZ%GgQKX-r7<<=#z6TQ(z%Ib5&jLwQ)c%Gq^nBuW+D+11APgr%bxyJhq09`I{fLDT82WC6fnPE@%!`K z<0mdOO!_D&UkVjM;g&+Iy1Qw34dI!Hmh&MMKGF0>M^d*%DqcAyUSY~I*$s$7##PP{ zo6;IZhq_2p`k7V-UxXn41x+D(~5rVvT zXAGy(2MjuTN4%0lS00lPpBk6i*T43oHiCUa0Zy}1_5$1!baIjy=EM`Ejg?n%_@)k4 z4*?ds5C`XP-4InToY_gDAWc#z;SbGc2lv`t+x@=SrMv!JIRk&SZKX|Ou$DvXaVw64 z5#~mh2XtQ`1dJ}bdS(zO+*W;RJh)|e(LSVe3O;tiz5~RHW0M5C;3dwXN!%Ny){X`u*6thF`ICnniwxFSJz-e{OyE9IG%Djf5S_wV(Ft1i<`ClMyN^4j;+0;1K{lr z%RHfkvFd0TjCWUrg&%@d1OaQSq)hV3X7`5lzEQ;b>2j#t3MJ=OJJK;kO%B#yokBas z=22A|i86-YI(lfLX#LAsO{xIWM`puqdfK|_5jeWy#~m@;-@CZ&v&&dKq%d?!>|Ue+PhJ$X*9ebJq0>kOo>)$R-&wB zRf+Nb_Ji0?Gsj|W@@zqLz2c#BWd|%t6&Ih%{?X{@YQG){ERpJBkn^#bY5;qM}vq!0&jO-w+oJ_p`UJ3b4kB!fn>p0oH&D*fFse2CPn5f9xs zjLy=PqNvwk;}t&nG{CbP%)5C1ZYC-Hg`LERZMi9l;f52T+|thq+n#u6x(ML zoK^a7rIM4eVz%Vjfokw$8L%VLgRd0-R|ENg={}}{zC&hfe5n1?YI&t)qbE<`cKO=x zY+qeP<|zL3jV3*-7fm`hxjZ%>E$_YvT9f#taK_zSq*A`((s=W=t6F^6KDVfW{&?n} zspLr%DNR-}fpW6*;4pPCoN+Yf4(#j9%VLlo>V41edWN9J7Q)q;-h z8%R?(nY8vZbca9X5cvxxXU@-*Ne65DS&Y~;UDOcTMm}}6AF>ECj$=pK?eMpCU`-vp zPHSlMj-5g`r6;X=Oax(n0WM|JBQ;W8o@si1!Nq5Ju%NG>t~RTlq7#K!rdc)tH;@2N zOqZ1T!^Gh1JZce`=;bg|H=6ZepxrXsg6fl3%KCU~l-Z~5n{R}tC=mhNQ^)6WD@zZ{ zTQj}d=6Iimj#+||I0P>@#JkXl`M=8+?Lp1jM1~6Z@U5`DU5g_LMVJg-H$8=955j5m z&pUqbJ!C)^L)Bi|T1o?UJIAMMY5+6#(Z$8Tv@?pjQaey_6ZOXszhY+<5!=>Ke4ol9 z7kuNwn&{`#2Rna7%}N2jf9Dzn{RGt8#huGmLRb`1ClL93WM#;7ycxo+mtU=g^K5f@ z-qr}=KS>JEmMOjYU*cvDj?^!;&b`OP$fiBfICUu`1d-638Efm1uHUK%Wl!IcwZ2J$ zYHoA6D7lQsE8evgNq;1Qpsx^d_?|9G!Z163Oc}zLi5}Zvx;%2KDK_OEw_xAkq;A~Y zT@9!@0{EU-iaN@jRzJ_PD>IFX1n(OGLVo?fZ^FsGbfLN!`B7+BIDl_yin*&A zYWA3tlNh+kFP72^f9%oUt2MrCDDZ?ukc?366oUJ#j8_+ZnS3fIVqBw$v=jaQ_;25B zrOrNlJL7fUDf^7J8v63{l?@j6bM#wfXbzC@KBV}@hgvP`0>$eYS79o$78XwDybyeHt?9=bQvWI-kCsw) zS<11>T8#NFF`4df+OIwsj29t@mDCU!i(N(`JwT{ax-%hkCot`}*LW3@eRPYFIN~~x zqae8k2JyK`c-{uW7IWNch~@sS)1gcEtl_Tg4Fj#Rw&nLC-#Pj|3bE?aK=u()Pq<#K zdq_h%+%B*p$dL$jHBMvTP>-G*jBN~BbA=4D+!~N(=6i!8;F4PlszXNwzzt=ApV|a3l$~4y zx9atsqb>bs#;;0Fa^*M>Izb_9af2d55%LIjg8Y$@*&U*G5T|` z=A|{#kg*HkaxI+3w_|oFW23!|pArbSsoH-NeIHuG_;3Du{n_VR6@y2IR!J)VQpx5t z7LLW2re38>i{Khs z$ajN1Sb`peCJ7ng0?~rhNHb~hY^-8&LbADvzLpIMgIYGD?;c-Ntk=7+Jom)4lkfOL zsP**_??!^408Ef7GJOFrUUGpc_)t`pDeo7pJ(VlV`4b!m+c0l9*_98eOiUM@#%-(3 zJU>UbFG|e_AN<3uPGei*RFPG1I>)n6Ml2C<6x;mO;J#|;NM0s2!BHfb%M38e`sp;$ z(=3S-Xq*d%MaI#a4Z|>E4dghsGPU?Q9$||T6V07()8#W8LwY6G<=L^k`Qn%KvS3;e`&MWfzj!k)7~o*B zOCL=>YMsE;e-dtbKzh=+dg$B|2n%JpGSwQb(H;;~_CV`~->-e6Y~b_qZ}37eQvqd^ zH(5YMg7q-iH<_?Z+4~8~6x;_M#-K++#LrX~yfb#y3IB*RGB=9HaEP(2;@x|c10$BV zJ0o1UvA{|}0O!lE2yh!&nW2a#oFUXor=)Z1RpCo#QYZQ4vT_RU(2a0HjyoT!#gMO1cVIin z2bu^{B^oq4h<^CL(m63!gxrX1`SV2;`MGh)jepb~nuSJVxM#s@S diff --git a/tests/testthat/_snaps/ssd-plot/boron_color.png b/tests/testthat/_snaps/ssd-plot/boron_color.png index e2852442337bfe9bbf35288216dae1b7ad4b3f52..89b08b01b4c51afaf3027f1865c515e9d281a66b 100644 GIT binary patch delta 27304 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 rj8r*wA<)bbC5^KGw{14ZcK#!+x5vAIkd_8X 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