From b808c5521599710b608bf91917c030023b4e402c Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 00:49:19 -0500 Subject: [PATCH 01/25] Added basic tests --- .github/workflows/tests.yml | 41 ++++++++++ tests/test_base.R | 155 ++++++++++++++++++++++++++++++++++++ 2 files changed, 196 insertions(+) create mode 100644 .github/workflows/tests.yml create mode 100644 tests/test_base.R diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..7b4e700 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,41 @@ +name: Unit and build tests + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + workflow_dispatch: + branches: [ master ] + +jobs: + tests: + runs-on: ${{ matrix.config.os }} + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) + strategy: + matrix: + config: + - {os: macos-latest, r: 'release'} + - {os: ubuntu-latest, r: 'release'} + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up R + uses: r-lib/actions/setup-r@v2 + with: + r-version: ${{ matrix.config.r }} + use-public-rspm: true + + - name: Install dependencies + uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::devtools, any::lfe + needs: devtools, lfe + + - name: Check build + run: | + devtools::document() + devtools::check() + shell: Rscript {0} diff --git a/tests/test_base.R b/tests/test_base.R new file mode 100644 index 0000000..503277e --- /dev/null +++ b/tests/test_base.R @@ -0,0 +1,155 @@ +# remove.packages("HonestDiD") +# install.packages(".", repos=NULL, type="source") +# testthat::test_dir("tests") + +library(lfe) +library(HonestDiD) +data(BCdata_EventStudy) +data(LWdata_EventStudy) + +BC_numPrePeriods <- length(BCdata_EventStudy$prePeriodIndices) +BC_numPostPeriods <- length(BCdata_EventStudy$postPeriodIndices) +BC_l_vec <- basisVector(index = 1, size = BC_numPostPeriods) +BC_l_vec <- cbind(c(1, 0, 0, 0)) + +test_that("HonestDiD base run with no errors", { + BC_DeltaSDNB_RobustResults <- + createSensitivityResults(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + method = "FLCI", + Mvec = seq(from=0, to=0.3, by=0.1)) + + BC_DeltaSDNB_RobustResultsConditional <- + createSensitivityResults(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + method = "Conditional", + Mvec = seq(from=0, to=0.3, by=0.1)) + + BC_DeltaSDNB_RobustResultsCF <- + createSensitivityResults(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + method = "C-F", + Mvec = seq(from=0, to=0.3, by=0.1)) + + BC_DeltaSDNB_RobustResultsCLF <- + createSensitivityResults(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + method = "C-LF", + Mvec = seq(from=0, to=0.3, by=0.1)) + + BC_OriginalResults <- + constructOriginalCS(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec) + + BC_DeltaSDNB_SensitivityPlot <- + createSensitivityPlot(robustResults = BC_DeltaSDNB_RobustResults, + originalResults = BC_OriginalResults) + + expect_silent(BC_DeltaSDNB_RobustResults) + expect_silent(BC_DeltaSDNB_RobustResultsConditional) + expect_silent(BC_DeltaSDNB_RobustResultsCF) + expect_silent(BC_DeltaSDNB_RobustResultsCLF) + expect_silent(BC_DriginalResults) + expect_silent(BC_DeltaSDNB_SensitivityPlot) +}) + +test_that("HonestDiD options run with no errors", { + LWdata_RawData = haven::read_dta(system.file("extdata", "LWdata_RawData.dta", package = "HonestDiD")) + sum(LWdata_RawData$nobs) + + # Estimate event study using lfe package + EmpFemale.EventStudy = lfe::felm(emp ~ + rtESV13 + rtESV14 + rtESV15 + + rtESV16 + rtESV17 + rtESV18 + + rtESV19 + rtESV110 + rtESV111 + # End Pre-periods + rtESV113 + rtESV114 + rtESV115 + + rtESV116 + rtESV117 + rtESV118 + + rtESV119 + rtESV120 + rtESV121 + + rtESV122 + rtESV123 + rtESV124 + + rtESV125 + rtESV126 + rtESV127 + + rtESV128 + rtESV129 + rtESV130 + + rtESV131 + rtESV132 + rtESV133 + + rtESV134 + rtESV135 + # End post-periods + yearsfcor + yearsflr + aveitc + fscontrol + + asian + black + hispanic + other | + factor(PUS_SURVEY_YEAR)*factor(BIRTHYEAR) + + factor(PUS_SURVEY_YEAR) + factor(BIRTHSTATE) | + 0 | BIRTHSTATE, + data = LWdata_RawData, + weights = LWdata_RawData$nobs) + summary(EmpFemale.EventStudy) + + coefIndex = which(grepl(x = dimnames(EmpFemale.EventStudy$coefficients)[[1]], pattern = "rtESV")) + betahat = EmpFemale.EventStudy$beta[coefIndex, ] + + # Extract estimated variance-covariance matrix of event study coefficients + sigma = EmpFemale.EventStudy$clustervcv[coefIndex, coefIndex] + + # Construct vector of event times and the scalar reference period + timeVec = c(seq(from = -11, to = -3, by = 1), seq(from = -1, to = 21, by = 1)) + referencePeriod <- -2 + postPeriodIndices <- which(timeVec > -2) + prePeriodIndices <- which(timeVec < -2) + LW_numPrePeriods <- length(prePeriodIndices) + LW_numPostPeriods <- length(postPeriodIndices) + LW_l_vec <- basisVector(index = 1, size = LW_numPostPeriods) + + for( method in c("C-F", "C-LF", "Conditional", "FLCI") ) { + for( monotonicityDirection in c("increasing", "decreasing") ) { + for ( biasDirection in c("positive", "negative") ) { + LW_DeltaSDNB_RobustResultsCLF <- + createSensitivityResults(betahat = betahat, + sigma = sigma, + numPrePeriods = LW_numPrePeriods, + numPostPeriods = LW_numPostPeriods, + l_vec = LW_l_vec, + method = method, + monotonicityDirection = monotonicityDirection, + biasDirection = biasDirection, + Mvec = seq(from=0, to=0.3, by=0.1)) + print(LW_DeltaSDNB_RobustResults) + expect_silent(LW_DeltaSDNB_RobustResults) + } + } + } + + for ( method in c("C-F", "C-LF", "Conditional") ) { + for ( monotonicityDirection in c("increasing", "decreasing") ) { + for ( biasDirection in c("positive", "negative") ) { + for ( bound in c("deviation from parallel trends", "deviation from linear trend") ) { + BC_DeltaRM_RobustResults <- + createSensitivityResults_relativeMagnitudes(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + gridPoints = 100, + grid.ub = 1, + grid.lb = -1, + bound = bound, + method = method, + monotonicityDirection = monotonicityDirection, + biasDirection = biasDirection, + Mbarvec = seq(from=0, to=2, by=0.5)) + print(BC_DeltaRM_RobustResults) + expect_silent(BC_DeltaRM_RobustResults) + } + } + } + } +}) From bec685fbce3f1dd3b2a31aa31bc7fa0d3d969868 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 01:03:31 -0500 Subject: [PATCH 02/25] Fixed minor typo; fixed tests --- R/deltarmm.R | 2 +- tests/test_base.R | 65 ++++++++++++++++++++++++++++++----------------- 2 files changed, 43 insertions(+), 24 deletions(-) diff --git a/R/deltarmm.R b/R/deltarmm.R index c95cacb..932a235 100644 --- a/R/deltarmm.R +++ b/R/deltarmm.R @@ -301,7 +301,7 @@ computeConditionalCS_DeltaRMM <- function(betahat, sigma, numPrePeriods, numPost alpha = alpha, hybrid_flag = hybrid_flag, hybrid_kappa = hybrid_kappa, postPeriodMomentsOnly = postPeriodMomentsOnly, monotonicityDirection = monotonicityDirection, gridPoints = gridPoints, grid.ub = grid.ub, grid.lb = grid.lb) - CIs_RM_plus_allS[,s_i] = CI_s_plus$accept + CIs_RMM_plus_allS[,s_i] = CI_s_plus$accept # Compute CI for s, (-) and bind it to all CI's for (-) CI_s_minus = .computeConditionalCS_DeltaRMM_fixedS(s = s_indices[s_i], max_positive = FALSE, Mbar = Mbar, diff --git a/tests/test_base.R b/tests/test_base.R index 503277e..a5efbca 100644 --- a/tests/test_base.R +++ b/tests/test_base.R @@ -112,7 +112,7 @@ test_that("HonestDiD options run with no errors", { for( method in c("C-F", "C-LF", "Conditional", "FLCI") ) { for( monotonicityDirection in c("increasing", "decreasing") ) { for ( biasDirection in c("positive", "negative") ) { - LW_DeltaSDNB_RobustResultsCLF <- + LW_DeltaSDNB_RobustResults <- createSensitivityResults(betahat = betahat, sigma = sigma, numPrePeriods = LW_numPrePeriods, @@ -122,33 +122,52 @@ test_that("HonestDiD options run with no errors", { monotonicityDirection = monotonicityDirection, biasDirection = biasDirection, Mvec = seq(from=0, to=0.3, by=0.1)) - print(LW_DeltaSDNB_RobustResults) + print(c(method, monotonicityDirection, biasDirection, LW_DeltaSDNB_RobustResults)) expect_silent(LW_DeltaSDNB_RobustResults) } } } - for ( method in c("C-F", "C-LF", "Conditional") ) { - for ( monotonicityDirection in c("increasing", "decreasing") ) { - for ( biasDirection in c("positive", "negative") ) { - for ( bound in c("deviation from parallel trends", "deviation from linear trend") ) { - BC_DeltaRM_RobustResults <- - createSensitivityResults_relativeMagnitudes(betahat = BCdata_EventStudy$betahat, - sigma = BCdata_EventStudy$sigma, - numPrePeriods = BC_numPrePeriods, - numPostPeriods = BC_numPostPeriods, - l_vec = BC_l_vec, - gridPoints = 100, - grid.ub = 1, - grid.lb = -1, - bound = bound, - method = method, - monotonicityDirection = monotonicityDirection, - biasDirection = biasDirection, - Mbarvec = seq(from=0, to=2, by=0.5)) - print(BC_DeltaRM_RobustResults) - expect_silent(BC_DeltaRM_RobustResults) - } + for ( method in c(NULL, "C-LF", "Conditional") ) { + for ( monotonicityDirection in c("increasing", "decreasing", NULL) ) { + for ( bound in c("deviation from parallel trends", "deviation from linear trend") ) { + BC_DeltaRM_RobustResults <- + createSensitivityResults_relativeMagnitudes(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + gridPoints = 100, + grid.ub = 1, + grid.lb = -1, + bound = bound, + method = method, + monotonicityDirection = monotonicityDirection, + Mbarvec = seq(from=0, to=1, by=0.5)) + print(c(method, monotonicityDirection, biasDirection, bound, BC_DeltaRM_RobustResults)) + expect_silent(BC_DeltaRM_RobustResults) + } + } + } + + for ( method in c(NULL, "C-LF", "Conditional") ) { + for ( biasDirection in c("positive", "negative", NULL) ) { + for ( bound in c("deviation from parallel trends", "deviation from linear trend") ) { + BC_DeltaRM_RobustResults <- + createSensitivityResults_relativeMagnitudes(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + gridPoints = 100, + grid.ub = 1, + grid.lb = -1, + bound = bound, + method = method, + biasDirection = biasDirection, + Mbarvec = seq(from=0, to=1, by=0.5)) + print(c(method, monotonicityDirection, biasDirection, bound, BC_DeltaRM_RobustResults)) + expect_silent(BC_DeltaRM_RobustResults) } } } From 75bad16aa0287a69037489213d4e920721583844 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 01:12:07 -0500 Subject: [PATCH 03/25] Added pandoc to gh actions --- .github/workflows/tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7b4e700..c9c96a1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -22,6 +22,9 @@ jobs: - name: Checkout code uses: actions/checkout@v3 + - name: Setup pandoc + uses: docker://pandoc/core:2.9 + - name: Set up R uses: r-lib/actions/setup-r@v2 with: From 5edb20d46c7473fcc177ad06d57081789a8f8365 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 06:26:49 -0500 Subject: [PATCH 04/25] Still trying pandoc --- .github/workflows/tests.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c9c96a1..85c348c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -22,9 +22,6 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Setup pandoc - uses: docker://pandoc/core:2.9 - - name: Set up R uses: r-lib/actions/setup-r@v2 with: @@ -34,10 +31,11 @@ jobs: - name: Install dependencies uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: any::devtools, any::lfe - needs: devtools, lfe + extra-packages: any::devtools, any::lfe, any::knitr + needs: devtools, lfe, knitr - name: Check build + uses: docker://pandoc/core:2.9 run: | devtools::document() devtools::check() From a661e06a0f0ec04fbe3dd67897365594e2f8bfe6 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 06:37:04 -0500 Subject: [PATCH 05/25] Still trying pandoc --- .github/workflows/tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 85c348c..1657c19 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -34,8 +34,10 @@ jobs: extra-packages: any::devtools, any::lfe, any::knitr needs: devtools, lfe, knitr + - name: Setup pandoc + uses: r-lib/actions/setup-padoc@v2 + - name: Check build - uses: docker://pandoc/core:2.9 run: | devtools::document() devtools::check() From 0ac3cc1ee8f62b9485090a5d9cb806120558e4d2 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 06:43:54 -0500 Subject: [PATCH 06/25] Still trying pandoc (typo) --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1657c19..422b381 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -35,7 +35,7 @@ jobs: needs: devtools, lfe, knitr - name: Setup pandoc - uses: r-lib/actions/setup-padoc@v2 + uses: r-lib/actions/setup-pandoc@v2 - name: Check build run: | From 38d1a4e1315669bc9a9a47f92516076fae1c6a6f Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 07:00:17 -0500 Subject: [PATCH 07/25] Added latex --- .github/workflows/tests.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 422b381..0650505 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -31,12 +31,15 @@ jobs: - name: Install dependencies uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: any::devtools, any::lfe, any::knitr - needs: devtools, lfe, knitr + extra-packages: any::devtools, any::lfe, any::knitr, any::formatR + needs: devtools, lfe, knitr, formatR - name: Setup pandoc uses: r-lib/actions/setup-pandoc@v2 + - name: Setup LaTeX + uses: r-lib/actions/setup-tinytex@v2 + - name: Check build run: | devtools::document() From a96bb36043d150459e1c2dc3a5ca0298f53a55bf Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 07:38:30 -0500 Subject: [PATCH 08/25] Debugging missing extra packages --- .github/workflows/tests.yml | 12 ++++++++++-- R/honest_did.R | 4 ++++ R/sensitivityresults.R | 2 +- man/createEventStudyPlot.Rd | 2 +- tests/test_base.R | 2 +- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0650505..a6a0e5d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -31,8 +31,16 @@ jobs: - name: Install dependencies uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: any::devtools, any::lfe, any::knitr, any::formatR - needs: devtools, lfe, knitr, formatR + extra-packages: | + any::devtools + any::lfe + any::knitr + any::formatR + any::haven + needs: | + devtools + knitr + rmarkdown - name: Setup pandoc uses: r-lib/actions/setup-pandoc@v2 diff --git a/R/honest_did.R b/R/honest_did.R index cf72ec4..0741b79 100644 --- a/R/honest_did.R +++ b/R/honest_did.R @@ -10,6 +10,7 @@ honest_did <- function(...) UseMethod("honest_did") #' using the approach of Rambachan and Roth (2021) when #' the event study is estimating using the `did` package #' +#' @param es Result from aggte (object of class AGGTEobj). #' @param e event time to compute the sensitivity analysis for. #' The default value is `e=0` corresponding to the "on impact" #' effect of participating in the treatment. @@ -18,6 +19,9 @@ honest_did <- function(...) UseMethod("honest_did") #' in pre-treatment periods) or "relative_magnitude" (which #' conducts a sensitivity analysis based on the relative magnitudes #' of deviations from parallel trends in pre-treatment periods). +#' @param gridPoints Number of grid points used for the underlying test +#' inversion. Default equals 100. User may wish to change the number of grid +#' points for computational reasons. #' @inheritParams HonestDiD::createSensitivityResults #' @inheritParams HonestDid::createSensitivityResults_relativeMagnitudes honest_did.AGGTEobj <- function(es, diff --git a/R/sensitivityresults.R b/R/sensitivityresults.R index bbe6888..e6cb97b 100644 --- a/R/sensitivityresults.R +++ b/R/sensitivityresults.R @@ -732,7 +732,7 @@ constructOriginalCS <- function(betahat, sigma, createEventStudyPlot <- function(betahat, stdErrors = NULL, sigma = NULL, numPrePeriods, numPostPeriods, alpha = 0.05, timeVec, referencePeriod, - useRelativeEventTime = F) { + useRelativeEventTime = FALSE) { if (base::is.null(stdErrors) & base::is.null(sigma)) { base::stop("User must specify either vector of standard errors or vcv matrix!") } else if (base::is.null(stdErrors) & !is.null(sigma)) { diff --git a/man/createEventStudyPlot.Rd b/man/createEventStudyPlot.Rd index fa8a7ca..24f864d 100644 --- a/man/createEventStudyPlot.Rd +++ b/man/createEventStudyPlot.Rd @@ -9,7 +9,7 @@ Constructs event study plot using the estimated event study coefficients and sta } \usage{ createEventStudyPlot(betahat, stdErrors = NULL, sigma = NULL, - numPrePeriods, numPostPeriods, alpha, timeVec, + numPrePeriods, numPostPeriods, alpha = 0.05, timeVec, referencePeriod, useRelativeEventTime = FALSE) } %- maybe also 'usage' for other objects documented here. diff --git a/tests/test_base.R b/tests/test_base.R index a5efbca..cb58118 100644 --- a/tests/test_base.R +++ b/tests/test_base.R @@ -64,7 +64,7 @@ test_that("HonestDiD base run with no errors", { expect_silent(BC_DeltaSDNB_RobustResultsConditional) expect_silent(BC_DeltaSDNB_RobustResultsCF) expect_silent(BC_DeltaSDNB_RobustResultsCLF) - expect_silent(BC_DriginalResults) + expect_silent(BC_OriginalResults) expect_silent(BC_DeltaSDNB_SensitivityPlot) }) From 0bdc444e76ad7d46c14e139c1cc1707a1084e459 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 08:19:08 -0500 Subject: [PATCH 09/25] Moved lfe install to test script --- .github/workflows/tests.yml | 1 - tests/test_base.R | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a6a0e5d..f793a54 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -33,7 +33,6 @@ jobs: with: extra-packages: | any::devtools - any::lfe any::knitr any::formatR any::haven diff --git a/tests/test_base.R b/tests/test_base.R index cb58118..67d604d 100644 --- a/tests/test_base.R +++ b/tests/test_base.R @@ -2,6 +2,7 @@ # install.packages(".", repos=NULL, type="source") # testthat::test_dir("tests") +install.packages("lfe") library(lfe) library(HonestDiD) data(BCdata_EventStudy) From 34fcca81bb730f950f023f9559661b1f7fb741d2 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 11:01:51 -0500 Subject: [PATCH 10/25] Moved lfe install to test script (debugging) --- tests/test_base.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_base.R b/tests/test_base.R index 67d604d..41c14ff 100644 --- a/tests/test_base.R +++ b/tests/test_base.R @@ -2,7 +2,7 @@ # install.packages(".", repos=NULL, type="source") # testthat::test_dir("tests") -install.packages("lfe") +install.packages("lfe", repos="http://cran.us.r-project.org") library(lfe) library(HonestDiD) data(BCdata_EventStudy) From 038800ca0db7b67e73aeb2b32d7fff93245b7f66 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 11:27:47 -0500 Subject: [PATCH 11/25] Added testthat --- .github/workflows/tests.yml | 2 ++ DESCRIPTION | 1 + tests/test_base.R | 1 + 3 files changed, 4 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f793a54..2fb1edf 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -36,10 +36,12 @@ jobs: any::knitr any::formatR any::haven + any::testthat needs: | devtools knitr rmarkdown + testthat - name: Setup pandoc uses: r-lib/actions/setup-pandoc@v2 diff --git a/DESCRIPTION b/DESCRIPTION index 3891189..c0d34c7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -23,6 +23,7 @@ Imports: TruncatedNormal (>= 1.0) Suggests: knitr, + testthat, rmarkdown Authors@R: c(person(given = "Ashesh", diff --git a/tests/test_base.R b/tests/test_base.R index 41c14ff..981c66d 100644 --- a/tests/test_base.R +++ b/tests/test_base.R @@ -4,6 +4,7 @@ install.packages("lfe", repos="http://cran.us.r-project.org") library(lfe) +library(testthat) library(HonestDiD) data(BCdata_EventStudy) data(LWdata_EventStudy) From ab47038c3261226bddeb67b70d59a5047e9af357 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 11:55:06 -0500 Subject: [PATCH 12/25] Added haven for some reason --- .github/workflows/tests.yml | 1 + DESCRIPTION | 1 + tests/test_base.R | 1 + 3 files changed, 3 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2fb1edf..b17b422 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -42,6 +42,7 @@ jobs: knitr rmarkdown testthat + haven - name: Setup pandoc uses: r-lib/actions/setup-pandoc@v2 diff --git a/DESCRIPTION b/DESCRIPTION index c0d34c7..6bd9c4b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -24,6 +24,7 @@ Imports: Suggests: knitr, testthat, + haven, rmarkdown Authors@R: c(person(given = "Ashesh", diff --git a/tests/test_base.R b/tests/test_base.R index 981c66d..1a06d1a 100644 --- a/tests/test_base.R +++ b/tests/test_base.R @@ -4,6 +4,7 @@ install.packages("lfe", repos="http://cran.us.r-project.org") library(lfe) +library(haven) library(testthat) library(HonestDiD) data(BCdata_EventStudy) From 1c9d5e4841b3ca2082a4a7f02de027a1999e41e5 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Tue, 23 Jan 2024 16:21:03 -0500 Subject: [PATCH 13/25] Gave up and added lfe to recomended packages (for test) --- .github/workflows/tests.yml | 4 +++- DESCRIPTION | 1 + R/honest_did.R | 8 ++++++-- tests/test_base.R | 1 - 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b17b422..428757c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -35,14 +35,16 @@ jobs: any::devtools any::knitr any::formatR - any::haven any::testthat + any::haven + any::lfe needs: | devtools knitr rmarkdown testthat haven + lfe - name: Setup pandoc uses: r-lib/actions/setup-pandoc@v2 diff --git a/DESCRIPTION b/DESCRIPTION index 6bd9c4b..4bf4de7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -25,6 +25,7 @@ Suggests: knitr, testthat, haven, + lfe, rmarkdown Authors@R: c(person(given = "Ashesh", diff --git a/R/honest_did.R b/R/honest_did.R index 0741b79..81dcc62 100644 --- a/R/honest_did.R +++ b/R/honest_did.R @@ -2,6 +2,8 @@ #' #' @description a function to compute a sensitivity analysis #' using the approach of Rambachan and Roth (2021) +#' +#' @param ... Parameters to pass to the relevant method. honest_did <- function(...) UseMethod("honest_did") #' @title honest_did.AGGTEobj @@ -20,8 +22,10 @@ honest_did <- function(...) UseMethod("honest_did") #' conducts a sensitivity analysis based on the relative magnitudes #' of deviations from parallel trends in pre-treatment periods). #' @param gridPoints Number of grid points used for the underlying test -#' inversion. Default equals 100. User may wish to change the number of grid -#' points for computational reasons. +#' inversion. Default equals 100. User may wish to change the number of grid +#' points for computational reasons. +#' @param ... Parameters to pass to `createSensitivityResults` or +#' `createSensitivityResults_relativeMagnitudes`. #' @inheritParams HonestDiD::createSensitivityResults #' @inheritParams HonestDid::createSensitivityResults_relativeMagnitudes honest_did.AGGTEobj <- function(es, diff --git a/tests/test_base.R b/tests/test_base.R index 1a06d1a..a9b68b4 100644 --- a/tests/test_base.R +++ b/tests/test_base.R @@ -2,7 +2,6 @@ # install.packages(".", repos=NULL, type="source") # testthat::test_dir("tests") -install.packages("lfe", repos="http://cran.us.r-project.org") library(lfe) library(haven) library(testthat) From a8fff427fbf84d581278d7b60e474826808c1761 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Sun, 28 Apr 2024 12:34:48 -0400 Subject: [PATCH 14/25] Set long examples to donotrun; saved pre-computed vignette data --- R/honest_sunab.R | 26 +- README.md | 28 +-- man/VignetteResults.Rd | 18 ++ man/createEventStudyPlot.Rd | 2 + man/createSensitivityPlot.Rd | 2 + ...reateSensitivityPlot_relativeMagnitudes.Rd | 8 +- man/createSensitivityResults.Rd | 2 + ...teSensitivityResults_relativeMagnitudes.Rd | 8 +- vignettes/HonestDiD_Example.Rmd | 229 ++++++++++-------- vignettes/HonestDiD_Example.pdf | Bin 211628 -> 220327 bytes vignettes/precompute.R | 167 +++++++++++++ 11 files changed, 359 insertions(+), 131 deletions(-) create mode 100644 man/VignetteResults.Rd create mode 100644 vignettes/precompute.R diff --git a/R/honest_sunab.R b/R/honest_sunab.R index 4d82fce..2e29574 100644 --- a/R/honest_sunab.R +++ b/R/honest_sunab.R @@ -12,25 +12,25 @@ function(sunab_fixest){ ## The following code block extracts the weights on individual coefs used in # the fixest aggregation ## sunab_agg <- sunab_fixest$model_matrix_info$sunab$agg_period - sunab_names <- names(sunab_fixest$coefficients) - sunab_sel <- grepl(sunab_agg, sunab_names, perl=TRUE) + sunab_names <- base::names(sunab_fixest$coefficients) + sunab_sel <- base::grepl(sunab_agg, sunab_names, perl=TRUE) sunab_names <- sunab_names[sunab_sel] - if(!is.null(sunab_fixest$weights)){ - sunab_wgt <- colSums(sunab_fixest$weights * sign(model.matrix(sunab_fixest)[, sunab_names, drop=FALSE])) + if(!base::is.null(sunab_fixest$weights)){ + sunab_wgt <- base::colSums(sunab_fixest$weights * base::sign(stats::model.matrix(sunab_fixest)[, sunab_names, drop=FALSE])) } else { - sunab_wgt <- colSums(sign(model.matrix(sunab_fixest)[, sunab_names, drop=FALSE])) + sunab_wgt <- base::colSums(base::sign(stats::model.matrix(sunab_fixest)[, sunab_names, drop=FALSE])) } #Construct matrix sunab_trans such that sunab_trans %*% non-aggregated coefs = aggregated coefs, - sunab_cohorts <- as.numeric(gsub(paste0(".*", sunab_agg, ".*"), "\\2", sunab_names, perl=TRUE)) - sunab_mat <- model.matrix(~ 0 + factor(sunab_cohorts)) - sunab_trans <- solve(t(sunab_mat) %*% (sunab_wgt * sunab_mat)) %*% t(sunab_wgt * sunab_mat) + sunab_cohorts <- base::as.numeric(base::gsub(base::paste0(".*", sunab_agg, ".*"), "\\2", sunab_names, perl=TRUE)) + sunab_mat <- stats::model.matrix(~ 0 + base::factor(sunab_cohorts)) + sunab_trans <- base::solve(base::t(sunab_mat) %*% (sunab_wgt * sunab_mat)) %*% base::t(sunab_wgt * sunab_mat) #Get the coefs and vcv - sunab_coefs <- sunab_trans %*% cbind(sunab_fixest$coefficients[sunab_sel]) - sunab_vcov <- sunab_trans %*% sunab_fixest$cov.scaled[sunab_sel, sunab_sel] %*% t(sunab_trans) + sunab_coefs <- sunab_trans %*% base::cbind(sunab_fixest$coefficients[sunab_sel]) + sunab_vcov <- sunab_trans %*% sunab_fixest$cov.scaled[sunab_sel, sunab_sel] %*% base::t(sunab_trans) - return(list(beta = sunab_coefs, - sigma = sunab_vcov, - cohorts = sort(unique(sunab_cohorts)))) + base::return(base::list(beta = sunab_coefs, + sigma = sunab_vcov, + cohorts = base::sort(base::unique(sunab_cohorts)))) } diff --git a/README.md b/README.md index 41a32de..dea8bfe 100644 --- a/README.md +++ b/README.md @@ -383,27 +383,27 @@ function(sunab_fixest){ ## The following code block extracts the weights on individual coefs used in # the fixest aggregation ## sunab_agg <- sunab_fixest$model_matrix_info$sunab$agg_period - sunab_names <- names(sunab_fixest$coefficients) - sunab_sel <- grepl(sunab_agg, sunab_names, perl=TRUE) + sunab_names <- base::names(sunab_fixest$coefficients) + sunab_sel <- base::grepl(sunab_agg, sunab_names, perl=TRUE) sunab_names <- sunab_names[sunab_sel] - if(!is.null(sunab_fixest$weights)){ - sunab_wgt <- colSums(sunab_fixest$weights * sign(model.matrix(sunab_fixest)[, sunab_names, drop=FALSE])) + if(!base::is.null(sunab_fixest$weights)){ + sunab_wgt <- base::colSums(sunab_fixest$weights * base::sign(stats::model.matrix(sunab_fixest)[, sunab_names, drop=FALSE])) } else { - sunab_wgt <- colSums(sign(model.matrix(sunab_fixest)[, sunab_names, drop=FALSE])) + sunab_wgt <- base::colSums(base::sign(stats::model.matrix(sunab_fixest)[, sunab_names, drop=FALSE])) } #Construct matrix sunab_trans such that sunab_trans %*% non-aggregated coefs = aggregated coefs, - sunab_cohorts <- as.numeric(gsub(paste0(".*", sunab_agg, ".*"), "\\2", sunab_names, perl=TRUE)) - sunab_mat <- model.matrix(~ 0 + factor(sunab_cohorts)) - sunab_trans <- solve(t(sunab_mat) %*% (sunab_wgt * sunab_mat)) %*% t(sunab_wgt * sunab_mat) + sunab_cohorts <- base::as.numeric(base::gsub(base::paste0(".*", sunab_agg, ".*"), "\\2", sunab_names, perl=TRUE)) + sunab_mat <- stats::model.matrix(~ 0 + base::factor(sunab_cohorts)) + sunab_trans <- base::solve(base::t(sunab_mat) %*% (sunab_wgt * sunab_mat)) %*% base::t(sunab_wgt * sunab_mat) #Get the coefs and vcv - sunab_coefs <- sunab_trans %*% cbind(sunab_fixest$coefficients[sunab_sel]) - sunab_vcov <- sunab_trans %*% sunab_fixest$cov.scaled[sunab_sel, sunab_sel] %*% t(sunab_trans) + sunab_coefs <- sunab_trans %*% base::cbind(sunab_fixest$coefficients[sunab_sel]) + sunab_vcov <- sunab_trans %*% sunab_fixest$cov.scaled[sunab_sel, sunab_sel] %*% base::t(sunab_trans) - return(list(beta = sunab_coefs, - sigma = sunab_vcov, - cohorts = sort(unique(sunab_cohorts)))) + base::return(base::list(beta = sunab_coefs, + sigma = sunab_vcov, + cohorts = base::sort(base::unique(sunab_cohorts)))) } ``` @@ -475,8 +475,6 @@ honest_did <- function(...) UseMethod("honest_did") #' points for computational reasons. #' @param ... Parameters to pass to `createSensitivityResults` or #' `createSensitivityResults_relativeMagnitudes`. -#' @inheritParams HonestDiD::createSensitivityResults -#' @inheritParams HonestDid::createSensitivityResults_relativeMagnitudes honest_did.AGGTEobj <- function(es, e = 0, type = c("smoothness", "relative_magnitude"), diff --git a/man/VignetteResults.Rd b/man/VignetteResults.Rd new file mode 100644 index 0000000..fcd5940 --- /dev/null +++ b/man/VignetteResults.Rd @@ -0,0 +1,18 @@ +\docType{data} +\name{VignetteResults} +\alias{VignetteResults} +\title{ + Pre-computed results to use in the Vignette. +} +\description{ + This list contains pre-comuted time-intensite results used in the vignette. +} +\format{ + \describe{A list, containing 5 results shown in the vignette; refer to the text for details. + \item{BC_DeltaSDNB_RobustResults}{} + \item{BC_DeltaSDRM_RobustResults}{} + \item{BC_OriginalResults}{} + \item{LW_DeltaSD_RobustResults}{} + \item{LW_DeltaSDD_RobustResults}{} + } +} diff --git a/man/createEventStudyPlot.Rd b/man/createEventStudyPlot.Rd index 0fcdf83..8b472cf 100644 --- a/man/createEventStudyPlot.Rd +++ b/man/createEventStudyPlot.Rd @@ -52,6 +52,7 @@ Rambachan, Ashesh and Jonathan Roth. "An Honest Approach to Parallel Trends." 20 Ashesh Rambachan } \examples{ +\dontrun{ # Simple use case; for more detailed examples, # see createEventStudyPlot(betahat = BCdata_EventStudy$betahat, @@ -62,3 +63,4 @@ Ashesh Rambachan timeVec = BCdata_EventStudy$timeVec, referencePeriod = BCdata_EventStudy$referencePeriod) } +} diff --git a/man/createSensitivityPlot.Rd b/man/createSensitivityPlot.Rd index 7ccab1e..4e5b50b 100644 --- a/man/createSensitivityPlot.Rd +++ b/man/createSensitivityPlot.Rd @@ -39,6 +39,7 @@ Returns ggplot object of the sensitivity plot. Ashesh Rambachan } \examples{ +\dontrun{ # Simple use case; for more detailed examples, # see robustResults <- @@ -55,3 +56,4 @@ Returns ggplot object of the sensitivity plot. alpha = 0.05) createSensitivityPlot(robustResults, originalResults) } +} diff --git a/man/createSensitivityPlot_relativeMagnitudes.Rd b/man/createSensitivityPlot_relativeMagnitudes.Rd index 8974fba..f3c2c3c 100644 --- a/man/createSensitivityPlot_relativeMagnitudes.Rd +++ b/man/createSensitivityPlot_relativeMagnitudes.Rd @@ -40,16 +40,16 @@ Returns ggplot object of the sensitivity plot. Ashesh Rambachan } \examples{ +\dontrun{ # Simple use case. For more detailed examples, - # see ; - # for additional precision, increase the number of gridPoints. + # see kwargs <- list(betahat = BCdata_EventStudy$betahat, sigma = BCdata_EventStudy$sigma, numPrePeriods = length(BCdata_EventStudy$prePeriodIndices), numPostPeriods = length(BCdata_EventStudy$postPeriodIndices), alpha = 0.05) - robustResults <- do.call(createSensitivityResults_relativeMagnitudes, - c(kwargs, list(gridPoints=100))) + robustResults <- do.call(createSensitivityResults_relativeMagnitudes, kwargs) originalResults <- do.call(constructOriginalCS, kwargs) createSensitivityPlot_relativeMagnitudes(robustResults, originalResults) } +} diff --git a/man/createSensitivityResults.Rd b/man/createSensitivityResults.Rd index 6d059a2..47a3769 100644 --- a/man/createSensitivityResults.Rd +++ b/man/createSensitivityResults.Rd @@ -75,6 +75,7 @@ Rambachan, Ashesh and Jonathan Roth. "An Honest Approach to Parallel Trends." 20 Ashesh Rambachan } \examples{ +\dontrun{ # Simple use case; for more detailed examples, # see createSensitivityResults(betahat = BCdata_EventStudy$betahat, @@ -83,3 +84,4 @@ Ashesh Rambachan numPostPeriods = length(BCdata_EventStudy$postPeriodIndices), alpha = 0.05) } +} diff --git a/man/createSensitivityResults_relativeMagnitudes.Rd b/man/createSensitivityResults_relativeMagnitudes.Rd index a3e1a9d..e9b64b6 100644 --- a/man/createSensitivityResults_relativeMagnitudes.Rd +++ b/man/createSensitivityResults_relativeMagnitudes.Rd @@ -99,14 +99,14 @@ Rambachan, Ashesh and Jonathan Roth. "An Honest Approach to Parallel Trends." 20 Ashesh Rambachan } \examples{ +\dontrun{ # Simple use case. For more detailed examples, - # see ; - # for additional precision, increase the number of gridPoints. + # see kwargs <- list(betahat = BCdata_EventStudy$betahat, sigma = BCdata_EventStudy$sigma, numPrePeriods = length(BCdata_EventStudy$prePeriodIndices), numPostPeriods = length(BCdata_EventStudy$postPeriodIndices), - alpha = 0.05, - gridPoints = 100) + alpha = 0.05) do.call(createSensitivityResults_relativeMagnitudes, kwargs) } +} diff --git a/vignettes/HonestDiD_Example.Rmd b/vignettes/HonestDiD_Example.Rmd index 6f9b1de..0e71fde 100644 --- a/vignettes/HonestDiD_Example.Rmd +++ b/vignettes/HonestDiD_Example.Rmd @@ -1,5 +1,5 @@ --- -output: +output: pdf_document: citation_package: natbib latex_engine: pdflatex @@ -20,14 +20,14 @@ vignette: > library('knitr') knitr::opts_knit$set(self.contained = FALSE) knitr::opts_chunk$set(tidy = TRUE, collapse=TRUE, comment = "#>", - tidy.opts=list(blank=FALSE, width.cutoff=60)) + tidy.opts=list(blank=FALSE, width.cutoff=61)) ``` # Description The `HonestDiD` package implements the methods developed in @RambachanRoth for performing inference in difference-in-differences and event-study designs that is robust to violations of the parallel trends assumption. See @RambachanRoth for methodological details. -We illustrate how the package can be used by replicating Figure 4 in @RambachanRoth, which applies these methods to @BenzartiCarloni's results on the effects of a decrease in the value-added tax in France on restaurant profits, and replicating Figure 6 in @RambachanRoth, which applies these methods to @LovenheimWillen's results on the effect of public sector bargaining laws on long-run female labor market outcomes. +We illustrate how the package can be used by replicating Figure 4 in @RambachanRoth, which applies these methods to @BenzartiCarloni's results on the effects of a decrease in the value-added tax in France on restaurant profits, and replicating Figure 6 in @RambachanRoth, which applies these methods to @LovenheimWillen's results on the effect of public sector bargaining laws on long-run female labor market outcomes. The estimated event study coefficients and variance-covariance matrix for the baseline estimates on profits in @BenzartiCarloni are included in the package as `BCdata_EventStudy` (see Section 6.1 of @RambachanRoth for details on the underlying event study specification). The estimated event study coefficients and variance-covariance matrix for the baseline female estimates on employment of @LovenheimWillen are included in the package as `LWdata_EventStudy` (see Section 6.2 of @RambachanRoth for details on the underlying event study specification). The underlying raw data for the estimated event study of @LovenheimWillen are also included in the package. @@ -37,7 +37,8 @@ To install the package, use the function `install_github()` from the `remotes` p ```{r, eval = FALSE} install.packages("remotes") # if remotes package not installed -# Turn off warning-error-conversion, because the tiniest warning stops installation +# Turn off warning-error-conversion, because the tiniest +# warning stops installation Sys.setenv("R_REMOTES_NO_ERRORS_FROM_WARNINGS" = "true") # install from github @@ -51,22 +52,22 @@ library('HonestDiD') # Background: choices of $\Delta$ -Following @RambachanRoth, the parameter of interest is $\theta = l'\tau_{post}$, where $\tau_{post}$ is the vector of dynamic causal effects of interest in the post-periods and $l$ is a vector specified by the user. For instance, if the user is interested in the effect in the first period after treatment, then $l$ should be set to the basis vector with a 1 in the 1st position and zeros elsewhere. +Following @RambachanRoth, the parameter of interest is $\theta = l'\tau_{post}$, where $\tau_{post}$ is the vector of dynamic causal effects of interest in the post-periods and $l$ is a vector specified by the user. For instance, if the user is interested in the effect in the first period after treatment, then $l$ should be set to the basis vector with a 1 in the 1st position and zeros elsewhere. -To construct confidence sets for $\theta$ that are robust to violations of the parallel trends assumption, the user must specify the set $\Delta$, which describes the set of possible violations of the parallel trends assumption that the user is willing to consider. +To construct confidence sets for $\theta$ that are robust to violations of the parallel trends assumption, the user must specify the set $\Delta$, which describes the set of possible violations of the parallel trends assumption that the user is willing to consider. The `HonestDiD` package currently allows for several choices of $\Delta$. We discuss these possible choices of $\Delta$ below. We refer the reader to Section 2.3 for extensive details on these choices. ## Smoothness Restrictions -A reasonable baseline in many cases is $\Delta = \Delta^{SD}(M)$, which requires that the underlying trend not deviate ``too much'' from linearity. It imposes that the change in the slope of the underlying trend (i.e. the second difference in $\delta$) be no more than $M$ between consecutive periods, where $M$ is a parameter that is specified by the researcher. Formally, this set is defined as -$$ +A reasonable baseline in many cases is $\Delta = \Delta^{SD}(M)$, which requires that the underlying trend not deviate ``too much'' from linearity. It imposes that the change in the slope of the underlying trend (i.e. the second difference in $\delta$) be no more than $M$ between consecutive periods, where $M$ is a parameter that is specified by the researcher. Formally, this set is defined as +$$ \Delta^{SD}(M) = \{\delta : | (\delta_t - \delta_{t-1}) - (\delta_{t-1} - \delta_{t-2}) | \leq M\}. $$ -For the choice $M = 0$, this choice of $\Delta$ limits the violation of parallel trends to be linear, while $M>0$ relaxes the assumption of exact linearity. See Section 2.3 of @RambachanRoth for further discussion. +For the choice $M = 0$, this choice of $\Delta$ limits the violation of parallel trends to be linear, while $M>0$ relaxes the assumption of exact linearity. See Section 2.3 of @RambachanRoth for further discussion. -The user may additionally restrict the sign of the bias in the post-period. This may be reasonable, for instance, in cases where there is a simulataneous policy change which we think affects the outcome of interest in a particular direction. We refer to restrictions that combine $\Delta^{SD}$ with a restriction on the post-period bias by $\Delta = \Delta^{SDB}(M)$. For example, $\Delta^{SDPB}(M)$ additionally imposes that the violation of parallel trends must be positive in the post-periods, $\delta_t \geq 0$ for $t \geq 0$. Likewise, $\Delta^{SDNB}(M)$ additionally imposes that the violation of parallel trends must be negative in the post-periods $\delta_t \leq 0$ for $t \geq 0$. +The user may additionally restrict the sign of the bias in the post-period. This may be reasonable, for instance, in cases where there is a simulataneous policy change which we think affects the outcome of interest in a particular direction. We refer to restrictions that combine $\Delta^{SD}$ with a restriction on the post-period bias by $\Delta = \Delta^{SDB}(M)$. For example, $\Delta^{SDPB}(M)$ additionally imposes that the violation of parallel trends must be positive in the post-periods, $\delta_t \geq 0$ for $t \geq 0$. Likewise, $\Delta^{SDNB}(M)$ additionally imposes that the violation of parallel trends must be negative in the post-periods $\delta_t \leq 0$ for $t \geq 0$. -The researcher may specify additional shape restrictions that specify that the violation of parallel trends must be monotonically increasing or decreasing. Such restrictions may be reasonable in cases where the researcher is concerned about secular trends that would have continued absent treatment. We refer to restrictions that combine $\Delta^{SD}$ with monotonicity restrictions by $\Delta = \Delta^{SDM}(M)$. In the case where the violation of parallel trends must be increasing, denoted by $\Delta^{SDI}(M)$, this additionally restricts $\delta_{t} \geq \delta_{t-1}$ for all $t$. In the case where the violation of parallel trends must be decreasing, denoted by $\Delta^{SDD}(M)$, this additionally restricts $\delta_{t} \leq \delta_{t-1}$ for all $t$. +The researcher may specify additional shape restrictions that specify that the violation of parallel trends must be monotonically increasing or decreasing. Such restrictions may be reasonable in cases where the researcher is concerned about secular trends that would have continued absent treatment. We refer to restrictions that combine $\Delta^{SD}$ with monotonicity restrictions by $\Delta = \Delta^{SDM}(M)$. In the case where the violation of parallel trends must be increasing, denoted by $\Delta^{SDI}(M)$, this additionally restricts $\delta_{t} \geq \delta_{t-1}$ for all $t$. In the case where the violation of parallel trends must be decreasing, denoted by $\Delta^{SDD}(M)$, this additionally restricts $\delta_{t} \leq \delta_{t-1}$ for all $t$. These "smoothness restriction" based choices of $\Delta$ are implemented in `HonestDiD`. @@ -75,22 +76,22 @@ These "smoothness restriction" based choices of $\Delta$ are implemented in `Hon Alternatively, the researcher may specify $\Delta$ in a manner that bounds the worst-case violation of parallel trends in the post-treatment period based on the observed worst-case violation in the pre-treatment period. @RambachanRoth consider two forms of such $\Delta$. First, $\Delta^{RM}(\bar{M})$ bounds the maximum post-treatment violation of parallel trends (between consecutive periods) by $\bar{M}$ times the maximum pre-treatment violation of parallel trends. This is defined as -$$ +$$ \Delta^{RM}(\bar{M}) = \{ \delta \,:\, \forall t\geq0, \, |\delta_{t+1} - \delta_{t}| \leq \bar{M} \cdot \max_{s< 0} |\delta_{s+1} - \delta_{s}| \} $$ Second $\Delta^{SDRM}(\bar{M})$ bounds the maximum deviation from a linear trend in the post-treatment period by $\bar{M}$ times the observed maximum deviation from a linear trend in the pre-treatment period. This is defined as -$$ +$$ \Delta^{SDRM}(\bar{M}) = \{ \delta \,:\, \forall t\geq0, \, |(\delta_{t+1} - \delta_{t}) - (\delta_{t} - \delta_{t-1}) | \leq \bar{M} \cdot \max_{s<0} |(\delta_{s+1} - \delta_{s}) - (\delta_{s} - \delta_{s-1})| \} $$ -Notice that this choice of $\delta = \Delta^{SDRM}(\bar{M})$ is analogous to the earlier choice $\Delta^{SD}(M)$, but it allows the magnitude of the possible deviations from a linear trend to depend on the observed pre-treatment trends (rather than being imposed a priori by the researcher). Both of these choices $\Delta^{RM}(\bar{M})$ and $\Delta^{SDRM}(\bar{M})$ may also be combined with the sign and shape restrictions discussed above. +Notice that this choice of $\delta = \Delta^{SDRM}(\bar{M})$ is analogous to the earlier choice $\Delta^{SD}(M)$, but it allows the magnitude of the possible deviations from a linear trend to depend on the observed pre-treatment trends (rather than being imposed a priori by the researcher). Both of these choices $\Delta^{RM}(\bar{M})$ and $\Delta^{SDRM}(\bar{M})$ may also be combined with the sign and shape restrictions discussed above. These "relative magnitude" based choices of $\Delta$ are implemented in `HonestDiD`. -# Constructing a sensitivity plot +# Constructing a sensitivity plot We next show to use the package `HonestDiD` to conduct a formal sensitivity analysis. We recommend that the user creates a sensitivity plot that shows how the robust confidence sets vary under different assumptions about $\Delta$ (e.g., letting $M$ vary or adding sign/shape restrictions). -The function `createSensitivityResults` provides a wrapper function to conduct sensitivity analysis for the ``smoothness restriction'' based choices of $\Delta$ discussed in the previous section. This function takes as inputs the estimated event study coefficients, the estimated variance-covariance matrix of the estimates along with the user's choice of $\Delta$ and chosen method for constructing robust confidence intervals. It returns the upper and lower bounds of the robust confidence sets for a vector of choices of $M$ as a dataframe. The researcher may specify that $\Delta$ equals $\Delta^{SD}(M)$, $\Delta^{SDB}(M)$ or $\Delta^{SDM}(M)$. In the latter two cases, the user additionally specifies the sign/direction of the bias/monotonicity. +The function `createSensitivityResults` provides a wrapper function to conduct sensitivity analysis for the ``smoothness restriction'' based choices of $\Delta$ discussed in the previous section. This function takes as inputs the estimated event study coefficients, the estimated variance-covariance matrix of the estimates along with the user's choice of $\Delta$ and chosen method for constructing robust confidence intervals. It returns the upper and lower bounds of the robust confidence sets for a vector of choices of $M$ as a dataframe. The researcher may specify that $\Delta$ equals $\Delta^{SD}(M)$, $\Delta^{SDB}(M)$ or $\Delta^{SDM}(M)$. In the latter two cases, the user additionally specifies the sign/direction of the bias/monotonicity. If the user leaves the desired method as `NULL` in `createSensitivityResults`, the function automatically selects the robust confidence interval based upon the recommendations in Section 5.3 of @RambachanRoth. If $\Delta = \Delta^{SD}(M)$, the FLCI is used. If $\Delta = \Delta^{SDB}(M)$ or $\Delta = \Delta^{SDM}(M)$, the conditional FLCI hybrid confidence set is used. As a default, the function sets the parameter of interest to be the first post-period causal effect, $\theta = \tau_1$. The user may directly specify the parameter of interest by setting the input `l_vec`. @@ -100,7 +101,7 @@ If the user leaves the desired method as `NULL` in `createSensitivityResults_rel # Sensitivity Analysis: Incidence of Value-Added Tax Cut -## Preliminaries +## Preliminaries The included data frame `BCdata_EventStudy` contains the estimated event study coefficients and estimated variance-covariance matrix for the baseline estimates for profits based on the event study specification of @BenzartiCarloni. As discussed in Section 6.1 of @RambachanRoth, the authors estimate the effect of a reduction in the value-added tax in France in July 2009 on restaurant profits. Comparing restaurants to a control group of other market services firms that were unaffected by the policy change, the authors estimate the event study specification $$ @@ -108,6 +109,11 @@ Y_{it} = \sum_{s\neq2008} \beta_s \times 1[t = s] \times D_{i} + \phi_i + \lamb $$ where $Y_{it}$ is the log of (before-tax) profits for firm $i$ in in year $t$; $D_{i}$ is an indicator for whether firm $i$ is a restaurant; $\phi_i$ and $\lambda_t$ are firm and year fixed effects; and standard errors are clustered at the regional level. `BCdata_EventStudy` contains the estimated event study coefficients $\hat \beta_{s}$, the associated variance-covariance matrix of these estimates and some additional information about the event study specification. The next code snippet loads the data. +```{r, echo=FALSE} +data('VignetteResults', package = "HonestDiD") +for (i in names(VignetteResults)) assign(i, VignetteResults[[i]]) +``` + ```{r} data('BCdata_EventStudy', package = "HonestDiD") @@ -122,57 +128,78 @@ We now show how to use the package `HonestDiD` to conduct a formal sensitivity a In the next code snippet, we conduct the sensitivity analysis plotted in the top right panel of Figure 4 in @RambachanRoth, which shows a sensitivity analysis using $\Delta = \Delta^{SDRM}(\bar{M})$ for the effect on profits in 2009, $\theta = \tau_{2009}$. To do so, we set `bound = "deviation from linear trend"` in `createSensitivityResults_relativeMagnitudes`. -```{r, warning = FALSE} -# Create l_vec to define the parameter of interest, the first post-treatment period. +```{r, warning = FALSE, eval = FALSE} +# Create l_vec to define the parameter of interest, the +# first post-treatment period. BC_l_vec = basisVector(index = 1, size = BC_numPostPeriods) -# Construct robust confidence intervals for Delta^{SDRM}(Mbar) for first post-treatment period. -# We specify 100 gridPoints over [-1, 1] for the underlying test inversion to construct the robust confidence set. +# Construct robust confidence intervals for +# Delta^{SDRM}(Mbar) for first post-treatment period. We +# specify 100 gridPoints over [-1, 1] for the underlying +# test inversion to construct the robust confidence set. # Users may wish to leave this at the default values. -BC_DeltaSDRM_RobustResults = createSensitivityResults_relativeMagnitudes(betahat = BCdata_EventStudy$betahat, - sigma = BCdata_EventStudy$sigma, - bound = "deviation from linear trend", - numPrePeriods = BC_numPrePeriods, - numPostPeriods = BC_numPostPeriods, - l_vec = BC_l_vec, - Mbarvec = seq(from = 0, to = 2, by = 0.5), - gridPoints = 100, grid.lb = -1, grid.ub = 1) +BC_DeltaSDRM_RobustResults = createSensitivityResults_relativeMagnitudes( # + betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + bound = "deviation from linear trend", + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + Mbarvec = seq(from = 0, to = 2, by = 0.5), + gridPoints = 100, grid.lb = -1, grid.ub = 1) + head(BC_DeltaSDRM_RobustResults) ``` -The function `createSensitivityPlot_relativeMagnitudes` can then be used to construct a sensitivity plot presenting these results. `createSensitivityPlot_relativeMagnitudes` takes two key inputs. The first input is the dataframe that is produced by `createSensitivityResults_relativeMagnitudes`, which contains the robust confidence intervals. The second input is a dataframe that contains the OLS confidence set for the parameter of interest. This dataframe can be constructed using the function `constructOriginalCS`. In the next code snippet, we show how these functions can be used to replicate the top right panel of Figure 4 in @RambachanRoth. +```{r, echo=FALSE} +BC_l_vec = basisVector(index = 1, size = BC_numPostPeriods) +head(BC_DeltaSDRM_RobustResults) +``` + +The function `createSensitivityPlot_relativeMagnitudes` can then be used to construct a sensitivity plot presenting these results. `createSensitivityPlot_relativeMagnitudes` takes two key inputs. The first input is the dataframe that is produced by `createSensitivityResults_relativeMagnitudes`, which contains the robust confidence intervals. The second input is a dataframe that contains the OLS confidence set for the parameter of interest. This dataframe can be constructed using the function `constructOriginalCS`. In the next code snippet, we show how these functions can be used to replicate the top right panel of Figure 4 in @RambachanRoth. ```{r, warning = FALSE} -# Construct dataframe with OLS confidence interval for theta. -BC_OriginalResults = constructOriginalCS(betahat = BCdata_EventStudy$betahat, +# Construct dataframe with OLS confidence interval for theta +BC_OriginalResults = constructOriginalCS(betahat = BCdata_EventStudy$betahat, sigma = BCdata_EventStudy$sigma, - numPrePeriods = BC_numPrePeriods, + numPrePeriods = BC_numPrePeriods, numPostPeriods = BC_numPostPeriods, l_vec = BC_l_vec ) # Construct sensitivity plot. -BC_DeltaSDRM_SensitivityPlot = createSensitivityPlot_relativeMagnitudes(robustResults = BC_DeltaSDRM_RobustResults, - originalResults = BC_OriginalResults) +BC_DeltaSDRM_SensitivityPlot = createSensitivityPlot_relativeMagnitudes( # + robustResults = BC_DeltaSDRM_RobustResults, + originalResults = BC_OriginalResults) + BC_DeltaSDRM_SensitivityPlot ``` + This sensitivity analysis finds that the "breakdown value" of $\bar{M}$ is about 1.5, which means that the significant treatment effect found in 2009 is robust to allowing for a non-linearity in the differential trend between restaurants and other service firms in the post-treatment period that is about 1.5 times the maximum observed non-linearity in the pre-treatment period. We also discuss how additional context-specific knowledge may inform the sensitivity analysis. As discussed in Section 6.1 of @RambachanRoth, @BenzartiCarloni indicate that their event-study estimates may be biased since other confounding policy changes occurred at the same time of the value-added tax change. This suggests that we may wish to incorporate an additional sign restriction in the sensitivity analysis, which imposes that the sign of the bias be negative. The next code snippet therefore conducts the sensitivity analysis plotted in the bottom right panel of Figure 4 in @RambachanRoth, which shows a sensitivity analysis using $\Delta = \Delta^{SDNB}(M) := \Delta^{SD}(M) \cap \{\delta \,:\, \delta_{post} \leq 0 \}$. We construct the sensitivity analysis using `createSensitivityResults` and specify that `biasDirection = "negative"`. We plot the results using `createSensitivityPlot`. -```{r, warning = FALSE} -# Construct robust confidence intervals for Delta^{SDNB}(M) for first post-treatment period -BC_DeltaSDNB_RobustResults = createSensitivityResults(betahat = BCdata_EventStudy$betahat, - sigma = BCdata_EventStudy$sigma, - numPrePeriods = BC_numPrePeriods, - numPostPeriods = BC_numPostPeriods, - l_vec = BC_l_vec, - Mvec = seq(from = 0, to = 0.3, by = 0.1), - biasDirection = "negative") -BC_DeltaSDNB_SensitivityPlot = createSensitivityPlot(robustResults = BC_DeltaSDNB_RobustResults, - originalResults = BC_OriginalResults) +```{r, warning = FALSE, eval = FALSE} +# Construct robust confidence intervals for Delta^{SDNB}(M) +# for first post-treatment period +BC_DeltaSDNB_RobustResults = createSensitivityResults( # + betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + Mvec = seq(from = 0, to = 0.3, by = 0.1), + biasDirection = "negative") +BC_DeltaSDNB_SensitivityPlot = createSensitivityPlot( # + robustResults = BC_DeltaSDNB_RobustResults, + originalResults = BC_OriginalResults) BC_DeltaSDNB_SensitivityPlot ``` +```{r, echo = FALSE} +createSensitivityPlot(robustResults = BC_DeltaSDNB_RobustResults, + originalResults = BC_OriginalResults) +``` + # Sensitivity Analysis: Effect of Public Sector Bargaining Laws ## Preliminaries @@ -199,71 +226,83 @@ We now show how to use the package `HonestDiD` to conduct a formal sensitivity a In the next code snippet, we conduct the sensitivity analysis plotted in the right panel of Figure 6 in @RambachanRoth, which shows a sensitivity analysis using $\Delta = \Delta^{SD}(M)$ for the effect on female employment after 15 years of exposure to a duty-to-bargain law, $\theta = \tau_{15}$. -```{r warning = FALSE} +```{r warning = FALSE, eval = FALSE} # Create l_vec corresponding with 15 years of exposure -# Reference is -2 years of exposure, so want effect 17 pds later +# Reference is -2 years of exposure, so want effect 17 pds later LW_l_vec = basisVector(15 - (-2), LW_numPostPeriods) # Construct robust confidence intervals for Delta^{SD}(M) for 15 years of exposure -LW_DeltaSD_RobustResults = createSensitivityResults(betahat = LWdata_EventStudy$betahat, +LW_DeltaSD_RobustResults = createSensitivityResults(betahat = LWdata_EventStudy$betahat, sigma = LWdata_EventStudy$sigma, - numPrePeriods = LW_numPrePeriods, + numPrePeriods = LW_numPrePeriods, numPostPeriods = LW_numPostPeriods, - l_vec = LW_l_vec, + l_vec = LW_l_vec, Mvec = seq(from = 0, to = 0.04, by = 0.005)) head(LW_DeltaSD_RobustResults) ``` -The function `createSensitivityPlot` can then be used to construct a sensitivity plot presenting these results. `createSensitivityPlot` takes two key inputs. The first input is the dataframe that is produced by `createSensitivityResults`, which contains the robust confidence intervals. The second input is a dataframe that contains the OLS confidence set for the parameter of interest. This dataframe can be constructed using the function `constructOriginalCS`. In the next code snippet, we show how these functions can be used to replicate the right panel of Figure 6 in @RambachanRoth. +```{r echo = FALSE} +LW_l_vec = basisVector(15 - (-2), LW_numPostPeriods) +head(LW_DeltaSD_RobustResults) +``` + +The function `createSensitivityPlot` can then be used to construct a sensitivity plot presenting these results. `createSensitivityPlot` takes two key inputs. The first input is the dataframe that is produced by `createSensitivityResults`, which contains the robust confidence intervals. The second input is a dataframe that contains the OLS confidence set for the parameter of interest. This dataframe can be constructed using the function `constructOriginalCS`. In the next code snippet, we show how these functions can be used to replicate the right panel of Figure 6 in @RambachanRoth. ```{r warning = FALSE} # Construct dataframe with OLS confidence interval for theta -LW_OriginalResults = constructOriginalCS(betahat = LWdata_EventStudy$betahat, +LW_OriginalResults = constructOriginalCS(betahat = LWdata_EventStudy$betahat, sigma = LWdata_EventStudy$sigma, - numPrePeriods = LW_numPrePeriods, + numPrePeriods = LW_numPrePeriods, numPostPeriods = LW_numPostPeriods, l_vec = LW_l_vec ) # Construct sensitivity plot -LW_DeltaSD_SensitivityPlot = createSensitivityPlot(robustResults = LW_DeltaSD_RobustResults, - originalResults = LW_OriginalResults) +LW_DeltaSD_SensitivityPlot = createSensitivityPlot( # + robustResults = LW_DeltaSD_RobustResults, + originalResults = LW_OriginalResults) LW_DeltaSD_SensitivityPlot ``` -In the next code snippet, we conduct an additional sensitivity analysis. The exercise is similar to that shown above, except we now impose that any violations of parallel trends be (weakly) decreasing ($\Delta = \Delta^{SDD}(M)$). This incorporates the intuition from @LovenheimWillen that the pre-trends for women are likely due to secular trends in female labor supply that would have continued absent treatment. +In the next code snippet, we conduct an additional sensitivity analysis. The exercise is similar to that shown above, except we now impose that any violations of parallel trends be (weakly) decreasing ($\Delta = \Delta^{SDD}(M)$). This incorporates the intuition from @LovenheimWillen that the pre-trends for women are likely due to secular trends in female labor supply that would have continued absent treatment. -```{r warning = FALSE} +```{r warning = FALSE, eval = FALSE} # Construct robust confidence intervals for Delta^{SDD}(M) -LW_DeltaSDD_RobustResults = createSensitivityResults(betahat = LWdata_EventStudy$betahat, - sigma = LWdata_EventStudy$sigma, - monotonicityDirection = "decreasing", - numPrePeriods = LW_numPrePeriods, - numPostPeriods = LW_numPostPeriods, - l_vec = LW_l_vec, - Mvec = seq(from = 0, to = 0.04, by = 0.005)) - -# Construct sensitivity plot -LW_DeltaSDD_SensitivityPlot = createSensitivityPlot(robustResults = LW_DeltaSDD_RobustResults, - originalResults = LW_OriginalResults) +LW_DeltaSDD_RobustResults = createSensitivityResults( # + betahat = LWdata_EventStudy$betahat, + sigma = LWdata_EventStudy$sigma, + monotonicityDirection = "decreasing", + numPrePeriods = LW_numPrePeriods, + numPostPeriods = LW_numPostPeriods, + l_vec = LW_l_vec, + Mvec = seq(from = 0, to = 0.04, by = 0.005)) + +# Construct sensitivity plot +LW_DeltaSDD_SensitivityPlot = createSensitivityPlot( # + robustResults = LW_DeltaSDD_RobustResults, + originalResults = LW_OriginalResults) LW_DeltaSDD_SensitivityPlot ``` +```{r echo = FALSE} +createSensitivityPlot(robustResults = LW_DeltaSDD_RobustResults, originalResults = LW_OriginalResults) +``` + ## Benchmarking $M$ The sensitivity plots discussed above show how our conclusions change as we allow for larger degrees of possible non-linearity in the violations of parallel trends, parameterized by $M$. @RambachanRoth discuss multiple ways for benchmarking $M$ in applied settings. -One approach for benchmarking $M$ is to use context-specific knowledge about the magnitudes of potential confounds. For instance, in the context of @LovenheimWillen, one concern is differential changes in education quality that would have occurred even absent the passage of DTB laws. Section 6.2 of @RambachanRoth calibrates $M$ using estimates of the effect of teacher quality on adult employment from @CFR2014. In this calibration, a value of $M = 0.01$ corresponds with a change in slope of the diffferential trend corresponding with a change in teacher quality of $0.025$ standard deviations. +One approach for benchmarking $M$ is to use context-specific knowledge about the magnitudes of potential confounds. For instance, in the context of @LovenheimWillen, one concern is differential changes in education quality that would have occurred even absent the passage of DTB laws. Section 6.2 of @RambachanRoth calibrates $M$ using estimates of the effect of teacher quality on adult employment from @CFR2014. In this calibration, a value of $M = 0.01$ corresponds with a change in slope of the diffferential trend corresponding with a change in teacher quality of $0.025$ standard deviations. In some cases, it may also be useful to benchmark $M$ -- which bounds the change in slope of the differential trend between consecutive periods -- using estimates of the largest change in slope in the pre-period. We provide the functions `DeltaSD_lowerBound_Mpre` and `DeltaSD_upperBound_Mpre`, which create one-sided confidence intervals for the largest change in slope in the pre-period. Values of $M$ below the values computed by `DeltaSD_lowerBound_Mpre` are rejected by the data (at the given significance level), and thus should be viewed with caution. On the other hand, we stress that data from the pre-period cannot, on its own, place an upper bound on the possible degree of non-linearity under the counterfactual in the post-periods. However, in some cases it may be useful to benchmark the assumed maximal degree of non-linearity $M$ in terms of the largest change in slope in the pre-period. These functions can also be used analogously to benchmark $M$ using event-studies for placebo groups. See the R documentation for additional details. Both functions require the user to specify the vector of estimated event study coefficients, the variance covariance matrix, the number of pre-periods and the desired size of the one-sided confidence intervals. They can be used as follows: -```{r} -LW_lowerBound_M = DeltaSD_lowerBound_Mpre(betahat = LWdata_EventStudy$betahat, - sigma = LWdata_EventStudy$sigma, +```{r, eval = FALSE} +LW_lowerBound_M = DeltaSD_lowerBound_Mpre(betahat = LWdata_EventStudy$betahat, + sigma = LWdata_EventStudy$sigma, numPrePeriods = LW_numPrePeriods) -LW_upperBound_M = DeltaSD_upperBound_Mpre(betahat = LWdata_EventStudy$betahat, - sigma = LWdata_EventStudy$sigma, +LW_upperBound_M = DeltaSD_upperBound_Mpre(betahat = LWdata_EventStudy$betahat, + sigma = LWdata_EventStudy$sigma, numPrePeriods = LW_numPrePeriods) ``` @@ -271,27 +310,27 @@ LW_upperBound_M = DeltaSD_upperBound_Mpre(betahat = LWdata_EventStudy$betahat, We now provide additional details on the construction of the event-study results from @LovenheimWillen used in the example above. This event study specification can be fully replicated using a dataframe provided in the package `HonestDiD`. Within the subdirectory `inst/extdata`, the package provides the stata dataset `LWdata_RawData.dta`. This contains the estimation sample for females that is used to estimate the above event study specification. This dataset is provided in the replication files for @LovenheimWillen and can be found in the subdirectory of the replication files, `Data files/Estimation samples/Estimation_FEMALE.dta`. The following code snippet shows how to reproduce the event study above using the provided data -```{r eval = FALSE} +```{r eval = FALSE, eval = FALSE} # Load in LWdata_RawData.dta -LWdata_RawData = haven::read_dta(system.file("extdata", "LWdata_RawData.dta", +LWdata_RawData = haven::read_dta(system.file("extdata", "LWdata_RawData.dta", package = "HonestDiD")) # Estimate event study using lfe package EmpFemale.EventStudy = lfe::felm(emp ~ rtESV13 + rtESV14 + rtESV15 + rtESV16 + rtESV17 + rtESV18 + - rtESV19 + rtESV110 + rtESV111 + # End Pre-periods - rtESV113 + rtESV114 + rtESV115 + - rtESV116 + rtESV117 + rtESV118 + - rtESV119 + rtESV120 + rtESV121 + - rtESV122 + rtESV123 + rtESV124 + - rtESV125 + rtESV126 + rtESV127 + - rtESV128 + rtESV129 + rtESV130 + - rtESV131 + rtESV132 + rtESV133 + + rtESV19 + rtESV110 + rtESV111 + # End Pre-periods + rtESV113 + rtESV114 + rtESV115 + + rtESV116 + rtESV117 + rtESV118 + + rtESV119 + rtESV120 + rtESV121 + + rtESV122 + rtESV123 + rtESV124 + + rtESV125 + rtESV126 + rtESV127 + + rtESV128 + rtESV129 + rtESV130 + + rtESV131 + rtESV132 + rtESV133 + rtESV134 + rtESV135 + # End post-periods - yearsfcor + yearsflr + aveitc + fscontrol + - asian + black + hispanic + other | - factor(PUS_SURVEY_YEAR)*factor(BIRTHYEAR) + - factor(PUS_SURVEY_YEAR) + factor(BIRTHSTATE) | + yearsfcor + yearsflr + aveitc + fscontrol + + asian + black + hispanic + other | + factor(PUS_SURVEY_YEAR)*factor(BIRTHYEAR) + + factor(PUS_SURVEY_YEAR) + factor(BIRTHSTATE) | 0 | BIRTHSTATE, data = LWdata_RawData, weights = LWdata_RawData$nobs) @@ -319,12 +358,12 @@ stdErrors = summary(EmpFemale.EventStudy)$coefficients[coefIndex,2] # Create list containing objects produced by the event study LWdata_EventStudy = list( - betahat = betahat, - sigma = sigma, - timeVec = timeVec, - referencePeriod = referencePeriod, - prePeriodIndices = prePeriodIndices, - postPeriodIndices = postPeriodIndices, + betahat = betahat, + sigma = sigma, + timeVec = timeVec, + referencePeriod = referencePeriod, + prePeriodIndices = prePeriodIndices, + postPeriodIndices = postPeriodIndices, stdErrors = stdErrors ) ``` diff --git a/vignettes/HonestDiD_Example.pdf b/vignettes/HonestDiD_Example.pdf index 6fa05030113e7ca8251f8c31879d8e3072d01108..7d3ec436bf0b284df786d650804579d8f85433b8 100644 GIT binary patch delta 120106 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

Vo=Y*HXG=3JJFDRX{O(BXt7%*2t5wu4S5%UQFz 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 delta 111567 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

9fE< zj!0Wt87OZq15T#VE>G#`OPg)CNU0dSm~2Msajs*o>X*XCZ#kd49p8Oh8M#zvBB^@j zA0Jt|Y%q0@mLtun))K9J+-PAdb0D=cP7hA+*76;j&x=sCVRR_({dn*zOx?7S68Ksf zINWfk(D;A|49&T}a9)2%Si4eKt`;5BuI8aG)VUj1kdf8)Wu7p5i#}LJT)BiFuNDGq zxfIvJKkhWUr+ND%$H)~L#%sxT_+nV0!#BfE4hgjB*^jGYNn~~LZgmCg%zf2H)hfb8Z9AKi7RXYx3d^+}suZpmB~!J`z5}8iwl1vw`0zGr#3{5%z$}HZnAIT zn32v68;D(+;vj@lcye&#l<8F4$6MrR26!A>K$4FfbmUqKhIdOZX0z^Yd*oLR{Zf1i*JApqGQAL+2#@y?n>3zwo+xBT zhV1M$WJG_PG#V``z0tWl`x7wiRE`N9{Z2Cjr{^?9{dpJvu6Te(s;2~w=QK#H()^9Z zAdENACz3yHFyp+QHXIWq@?Q8udrH=p>9~EMog&1-RN%}#7S-!re$Y4zDQ@QS=?U(m zOp6iGapCA;3CRe)+hw>)#OHZ!FHXznV_LT!GHQS5xmj#{ClaYBVvowrij&u^v=uUW ze`Fl?CW#H^0Pd|Yt_*me;mH zyyX(CzDV{u8&rFX%5%m!7scm=W*>iKyG<{w-(pRG~XX zuP5L{ZAYe4aQS3-$e#H0B_V^S#n`HDqUI}YVVNTI9;twfgXhUIIkl+z*lG1=rCs5V ziv&cxqWr9X1NvI?em`0a@<9+Zz9;Y~)A!Kc%jmpkVp#*aSk z)^dH{CjeXWK6Am_doYyLxQdXtua3E0be&Db?=SotB*zs2c1Q-w3G#3Nh8kLIfPM9B zEwr{E;r?T?CW$Om#Wa5ggjYeZb-Y>8q|!b=Vgsw1!u)TW-A zkg}h*r>UH{@axwB?RxvrTc>ujvXSV}UEc!^AB!z@9=cF11OtEZI-{&MDBXlm#0MI* z0>$};379xi-oEdb-Xbecs8Q`TI3O|}o_rjIuw@hQHx2HAMeNpx_m9B?g2_C;;G$D*=Dauc_>RbyG3?&vtyS~Uvj2Pbh7FG@%GgrF z#)blf`3qAowYpsqn*2|>Gt5+sMz3=Obu7SgUV38td$9p$_$0^|vGbxS9 zIHW7IVrMzffn0PIizX-8CJ?SHQEZwM@fjt>zG5{^LSJdrQgr4M<}gOl}ytnD%tTXBzf6KGR3+d``1{C5*rm!yId ziiBpf)heHjdy+iKNE{MfCLrv^q?bCwY0^8Po`T_nnZDR~2#L3^dWd z!VXObgV7>3vv$*Ln6$`^5@UOat+$-YHE}PEe<6mSjGF6wZm%GbGvQF3$SyDz+~|Mg zU9!}%SpqFypbSy2Iv?ylOm1LwIqpNa=`?3 zk7uz&+lt&9vf@%9uo59I=O->GXRK-#FE_6_?GWWN5W15g`%Bf)k-Q@@@6hfNztEA} ztoacZi1jXHiH=rSQP(x%#edQPE4qLDM!VmLddhtUe1t5x46=gJ9I;{I5onkV&~$bB zdd~aLh#8S5G=T?A1yzYo;sN@-)7kwNs}HwxQ8l`&X{ecikRH&{AFv?0tb?DAcB;4u zrybus6S0@dAYxBKb|pI}<}(iGa$bBdAa>dG1n<8 zX@Gqd-OBk!Sm4p%OAmiJgPn%nlP@2& zFY|KF-ChYU2##%0h_nV$EZ#uaf4f<^DSl3{W&k}(Wlcqrsd5%(|slfU2(L}=q9E=Ym` z4R30jn_d1lT@;~F4Ay@;sv$6h9sym<5L?57j0|b|QLN6=lUEnMZQ6~C*Nca`2^-Rr z#ApOr31js)D{}4vBT}fr2_g zUx3mYA|m?k<)b~3cEy-!dQhyb?IB|jgTYTbjnq@_ZgQ;*&zFB|VD~1OShlK2A`8N$ z^##?RD#B`TG`F1v=LFYI zs;8$N^)Np49$D3W3R7T z&EjlpBH?@T9H)OV7={$DcPe^0UK|48lB)Hz z+nTnDJtTxdImm7m>#RvlA3!M=RAimQ9)zyiyv3FJzsELo*LMbz) zER9T$cDOinWIwF(&i8?!^WI$DFS!+`ja|Q{J>q}(8>$9&wY<68L_dD~uL0a8+l8Ze zVCPtQw4mtwV@0mDJZw#=!_qkPJE`AN>ofr=?zH(n>dDqHdG*5o-THdF!`HrGI;CDL z85n;}iUa5A50EoCA5Ppq^UsoS0F=T9uE$PE3mhWs2khYUxf!<<4+(+$&HBF$@?`9T41Rq z?k+PhKf}^R-Z73$0%0d`Ryr5-m2t$Z{`P+{9XKcHqRfqG<#cFF)=q*V* zG4guwP!GooFw5eMi>~qjzm5oMXKOUGpt)w}?1(AJY}cyJw(!im^h?`jxV6~-!TRO% zqKw=#SVqh+9>|R0L`~<&nigw@LDeZEr*xYu38Fw=JYTR6ofNOe_?Csl(^LcIEz^I@ zVU@qF=JM95)~P!zJ%Y9QyLe{}tfH(s@jKPNyG9+>MM?}uAFa+2yr%HCHlZ+Va^=t+ zm!m7kLBFXacKRCAN6OmpX_253bLLbvvM)jBtv5kK?nVt(p zOxl0z+vQa^zR!9j$M=Y^D69P|4SPTRYJ9k&cLSH3+kfe(>lMy8^D4 z${M@{H*e;07NL;?v!&9~R>lgH(OKVv<8Oe$;aa!#dsM)z&tr2o^!HU{<6@e96Xx=> z919o0@xk148<|*zG=5vh3T%Hq!hnnTD5eje$-eQK6^2BFQbG?{SQ~)M?x0+RiOfFH zkh5*})mPU3X{g$K(ppv&pDI9rm3@EvZ}*PVk%hEJW|cJ$8A+?jrN&;$+(SAvEWNe9 za0_+dS=p9w2TK^cM(`kP@Np!!-Ll8n+_goxEwaF3UngC2zY{XBfsKFD4_$xBX;0v) zNY1kUaCGGv>5{ZulsiO8qcr=z>#$`4J^|8>KXX|$#Iy~3C%Lp$N5GW)`3YVoV-?0y zzF9sGgTP27KDTSh?So})jHt6m*E!g7l4`44{sh9h(}um0A06R=}6Pt>@W&*gwC7y58@kk^~{o~{R(^Nby%Xo!dW34 zLoTA0NmZeOX1IR|r4(hoUaZS!$KlWEO49-u#9v;rBX}80`pC6f*Vh%;O8%E5&qhS3 z9zrG&BXCC&!^&YE3IOZEX?T`Vfv;uw0M7)&iiS#Iy^$Iu)z|2PhV85 zY>Us1nu{%Ia3*-VtJW%!zGm2X`_`Ef3Uk^(MI*zKl4Bl7-IWT`)c z5oG+VCZcBr2;Js%9hkyx6yhmwn|V>sa_>1&v1;|3cF9+{Bt-oEuuxE=43JPg%nzEG ziL<_ceM)~W(Z%*83`nNS@)LZLJI(6rIN0+kF3LyO6Xs=o)gW>QjTc2dff!grUj4~B zo3yl0o-3o_EtTFp3A0JO=48I$_czAxKKzaZapMFBqlB-k4J2w>Y8RAxo?_GxMDD%w zCzz zZ;U0Ns)WD;C^X|NYZ%1{qi~@hu-7ZfL1?4xxzP}sttjBfv=ZaKMN79EPu8hl12*yI z$d7P)Hkx?2vndr8kh<_#k6%swPryB*k1p2MGy7LvEW9~{Txz7dd+No9!xk)p$E}GEUZ^iVhXj1|7!M1M$`94;PEk?b}tJ zH@8}md9dT3-QW_w0JClYvk*O!A!-rIceDq^Vjt*ypL1#;`eh-^7Y&DI8gqC&*dNzL zh2~2V#WiH+*Mm%X3A=X-{p$*MY>Mkp$4C{FZCs#l%4c94a0{RN=IMY0s2ktHeJzxcU zkT)`G>Uuvjn`W~BY{0D-6j{j^r@%`~f(HMnJ=L|z*{XkmcfQ=}4Xv#Hw5XE|V&m|5 zJ+o~z`f^LiG#*jV9tHDIj(#uz;S8vjb$ePoih!43z@ z%rRE$<68keG&Yt*;rW*$*g$KJb*r7h9m%^*HeC&Nm)Y9FHp))PO`*=?hmlPMk-Q` zI-YFaR2~YlOk5nt_JyqZ178EkAZ$>Zh{Oo?4~4QHvc?c@>qL~i|Iyjrju9X3I?_XP zs>X62WlK@l@n=UHET*}vti6BF;qH3Vn^isg-l`)C<^H5@NGo?aD^DzODIy?! zLGr}O`OWz7_~kVa0!m17B*wkhtUm;vLeBVLsqS=^%UlXG5pl z!=33l&}nxT$$FjA+faXUTY}M8?( z{?D(7eDN$=<{Jq}cx8m(O}+;|EFM-is3MXkP7R2QQA*;-EX3CQK-8U3Pxh0(hTO$Q zFEl>l$9le3nXLD>7zI{77` z!8XpUl< z;vQuxFT``MdhP89ixcnb%zgd43_>6H*+otfUulV_n{n4h&hoo|0)FePn5A`mKG;}U z&Eu@t9Hj{5(cIvjJTeCTV5t`CgU)aG%x?8xR<`l%?;lR02&;p${j)t%P>~c)PuVHp z5Ao@5Q9-l%7}n5XT<3fiUZ-LUSMGFFImiKN>K`WY;|e8b=l0VN3M`srKYx0%v;V=g zN8)-a-f0WNU(OwW#k-C>l~qvL(W!ih86a)5g3}Q>(xazwr58=2%lu8Xf0kdsc$%1< zucgbAMh1C3CeiY{IeWAXoS}KfP53ld`$UX5s#-V_T!UbWi7fd|dZ|%Un1Z!0FNk$& zoQZ@CDe~!R>u|l7{$%z8#~Fd`yA9Em;_|P8Qlu$385^U2f(_!TPT1DeUpk4d#!yd! zzc)-o^poFzUkn)wi@XM;YVM{^a3&2ln_I(JX`e#{%hXPpoad5cN+GctO}jvn_zY{Z z@vJM>yBZ7*zF6;EM(*2o3qcZ;>$GWP}AXpOGn#_ zwFenl#lvoYg8F2CRi`oc-h#6G3hO)fGrFU~Xklq&HxH8C%v0|@fNyEheGOiZBktgD{OJ0JMK@`*IZGS!WRNt1 z{!K^8zCQwvo@vfF=#t-|cdzTJFm%WIVOYKtSCrFme9_dpUNP_JA$)0u1#5ZPE#e-g zmc9Ic-Ac70&xGF@;ETBC#>JC->%A&&?+a}^pl(lXK-Uim{)eUQ1)5ZiIj96QuHIHd z@)ta%Xo!X7ns+Z4TPCetl*G?zq2jbH1W_a}>>Cn|7e6zKv~gz=2>H#X5a=%^vF5nP zOfG)Uj~t{1I#UVaJj;(z9HF^535UFCi10 zdK7hn_&wH*o|ZTZWRaw?%u(3Mcis_5`zzqMQYE_du%FozkAiNQjSBshC<~rz2R>nc zVzVJ6(KMa08No>11RigJ^C$(+NhhhPlh>KEcc+TTnUD&^bZ=hvNPx3yskM7BQ|W;# zXo37W0#PN-SYvyD;PW+D_MlHj3T+MPX>gTOheN^4U#W@fc;w=g1Zr+-T$kW(FvudF zXR}DOOvSQCqn;XPk56La)mf7Yfve6Ul0zuIP39EWjdMx7?Bqh;xzq) zgm>|>Mxy7HfjJ)&#A3|uEaCOL-j`aEH!1cZq<9oVdRkrJ2{UpnaJ=ctv%3o)p&r^8Th3&&Bwr`ASK2&VC_PqBK79hj|notNZ)YnhO$K5CxjEFIiX|nTw%}IL*gI@b! zdByV=7X1adF4+D%L%y2$N-l{W%OdfMu;-~`*0&Hp&Hfo+fnD!r0DXH`*ER_?R8yzp z!A9n^9n*c1qSntXkz@_aO9XGc78>d~PLnuX4Kbn8lwYg~8*fl|5aryh)d~N(XmNh~ zk?<_jlobgE?}kdBjgE7F0b(aag(k{lHd;$Ta8b2=L7qWNT1!U~WeLC05j3j=em%U| zRwGQZl9^!67&)g=DEY=l-?-{5XX-M>bBs0JQNZT4b3ar{^q$`+VVqY{n;ycTaBtvn zdRS+$UtVNyl4}m%tspwY>3ICRNx1wru>fM>pja=RNO>O;Q`5|U!iGKdOcFj=w$Qbp zd#Cz!=4b#NMk0C#K5)17_+w4{!zh}&tB>hRa;XZ{2T8uRr1R}uFWTE+lT<*=k{tCY zA}JAt>JUNN$4sn3{RPqrib|Y5>E|A)5I*J3dJ9`ko#K@KsHtZw=y{hlrTnt2 zD~A{Nk3gfZg7#+VHz^m9et7O?$TMNE;(){3MyVFm9mXXVu{uEj4?T{N1@D1Du zne=y}60B325%&V(B>wZ4&c|iexW`(EwP$Wt6dG^2pI48eC!(^zigJ7_iSXwk3kHkl z8~vV~)G~3BgvS0tl&|zQPTvASXOsq_OwPhLnVQ)1VL3KGQfgc;x=&f!s~APsyI{e` zeovlmfzslC7U|)-NQ0?vEUp50F4ENHgsM0jc+;jcP;iF@qOrq7yU+`X2H9O5iqY=x zg9Mtwq?wD2WmrciEkD{AA8g|1$!nE+H}HfKLSZ@R#qtIH0i@wC-aw%>b@Y3v-D&0| zRCfJoC^bF+;&Br@OHgI*Ul7Wwlg+?uKLp*egcl^SL&t2KRWvZy+b_Otg$SH&OiWYhV-JLEvwg4xM4J;4=YKHRE zgg>&3xsMoFb2`%_?6nwOv37gx?oTkRr8omE%H2^78q`~K4cifMPU~yHgw8+go`pVt zvPlgQQ)>WCC(V8B^8EeGVz{EuSES2xju=flCM^Jj9x*g{qm4oC3XFF&O~vpETUIPy zx)%Qqm6L6<$tt+>W@N-6UwNQ6S4b9#Bo9P(QpHZ<564!{nLmeV5nl=KQsr?;TnjMnVQ8w zh=yRj!}d}Z4?^r2&QLSrN>^l;=>bTrNHvM+S2rA{ttSI|+tCJ3<2J@C)en-ofI41L z63Z^L(b0TGMs|F7T+~_m_%5??5#U&R12@nC{%P5D7J1b-wmv(o@bl=Dj=^_-NZ*w7 zn-5mi^1%vK37i+V3V*$Zd96b1OY?CJ1|1Qc-0h^**cA^CM8A<7lDxj-%LpCVT%NGX z@=Qn{%g0SW&@V5LN7K0)X%ep@ICeEf$AGHyH(yL&e-AB?7Kf&c=w9EhYefFLl)eeg z1L+Hv6r7&P;1Aq>ffwqxQ_e!&ze!Ffx>)yWBqCp2horw#C?}U6yDve1!qLg8nDTVS zvp}Fw^C`ncx@e>X-uAx?moi3^0IiK+PcI_pPa9;gs1L)mhjpj)TU=Y0DEecEY7Z^A z0b$9<*31iwpKcTZ&C$S2hJWSF255V0AOeEDUtXskv_-X4(|Msj^{+Tgy?k+KQ%|pn zen;am$$SVnXg;NG8zo+UKJ5a6k*yKniA*+x7(-&X&oLu_{;*?7m966qf9&vU3={m! zlbn6Qp&>El?vR6g{czD5Kr14*zvWM9k1aWHQV-kO4NTlj!(rhkO>~(+RgMv1uC2Q$ zD9rfxxy@qY-d%A);~`_M&t;|`U!xus(&pP8Rk5&57CY}?RAN(qm*CQn&fMSq0NJHG z%>XeQ?$MK4me9Th@3R2nT;ST$@WOt|?p&g=dd?|c3Gzia3~OW;sr59ybBH~`o6*C5 z^{i87YUMJ2nZcsOFt2KWxaKH`G75RjLdM12IXHE5f6@%v8<-Q6^wgv%jyA+>MK+n`Jq^&72+<23}nxmHKV z?SbInqoInKjIkN$+^mx5*43ye`bPNDB7KNN(MEI(=-aD*Z;;%jQxCb*e40VY)+&3l z(!o}A{WGuxFQaxN9_aJ_yS@@3Y6BnMW#xSQMKb9U#Y(xUWd+42e$Fc!^{`*i0u-=xXya~|GS9fmAu>`a1Z5Osor1TZRv2-Cjo zviewbq@u!qh$!tK0H2?TA|@QB7w?G;FbGb6{$Rc(jgGkfk;Nc<8YJ0nHfL{@3ta%7 zN3UVHxCwqCzZDHX#kW?BtmN3XNL!(XTP}1;3}g(_<}hR&-@%H=Mm*8x>@*f18U}r; zv4FhKGKBWD#Vw{*&}UHKd&U56iPRNe+IkFCiEmFcCxg{|iru7!UFi^%7K9M_%d2;P z6h!$mdI5SFG^25dD;^CiRutix(GXA4MK)1?YD)<*KMzDU8Fy>y-utyUq|+p)V?TGU>fV7?PfwoH7b7s#zy|T zfJ_4#3ywz2p@+EXNYNWl$xGsm(7Y(*5`Gfc051qm)|FouQzCMqNw)l}r(1FkKQx(H zlj62b{9$Ri!n8zQBui36>M#ld$hhyNDieLcP%^`N%N~b!xk+BXDJXMaDstq1JA4^j zsleay>zo9$#mV(ih6_@ox-NDfI-w8E&!8vp^pWMBWU?p3trpUus5h8y3$`0G=_C4Q zLEKvH;0vrje*Jut?#S1S?iCGsaXU4Ce}46v)$t>hT+=NHj5>u0iu=(`ZR;f@G=2Ek zx2gLC^Fol67r$DoPTT_QpSdl6)C)z3XBYIO&x%jMDjKdzfWzNC6L2%WCowdnp2)~r zn2^}+7?h{YG0Dm)TGC}x7&sqS~B}`q3PwWFKXcA0M zB(PzrOAb*nWPQz;{3bsPGd#Ng%i5Lxk-lj%#)LIyU&@Ey9ZB80f41|$11sN3h+PhS zU$+P$&D7`u(<9V>*CA!5`pVBI(gL`zPecnh`;#$?{w5p**eO;qhoXYt$fqtWYE$`( zWAFb9wJ=K03&0p3;^_HydEiItXWzU>N|Q;}cNO653ARN{83DWYK-dD=&Yt0Uc55u> zL{;dg-TTGqrOI*XO3>&;GL9d3php(17tb}XURK`oa_BTl_I$3?0 zU*#j50B@4IJ7>56hVd(>oW#yvsaNtz#!9v6jdOiDp;Mx4TU@^2cCC05wo6DGrF);x zr#+(7m^?tCOW}#`1Q6y<6?=*tPu6)FON#oPlK)Zh!@^`zpY0OM;b4S7)$ww1U?CEa*#}3qS7t4UorWT^>UI@F=Qs)n-%Pdyal0!Z88&W_t&!8b^_mbGR_f@OqHR-lN4BBcR zTBKgVuZ_V+wSmWbP9dTcn}h%=kXI(ktYM){=_=aAvocw^;KQw#oabzSPNb0lJZ%Vp z3YoH9TPr0P-KB?UCW%xPK@wbtMsYiTnhW`jFQk1KC{;cd2ATrzQX8&d$+H)RK{Mhs zmwKWc54~>G8DxK&=`Z|6epceV4r_eYGq;m+Hm}0(IvtI-<}J{CnrFgJAYZeE+$C4| zmu=LT7r$?Y9~@{HN%*|0cUQ~R4HJ5BA zdO!CK2XQ}_MlYN)sGGX@2aa?w@P{e3z(bjOsWDg3 z?S~gnouC5(@tA`F;8JWBN4CH*!<{@&S0(DD3y(h9&_Pc{xz|VKyO~e4UV`TTl#;&N(0=2y@FSv?K1x%yDG80xeLb zFJ6!E8=?nkB{Lg-ppxr2y{Q^3$rj?z$Yx~7oI;t#sWQV7=DOj3ULyKRN}rz!_afvpS`3KdOvj z+jSGkmXRp(=17_sak5Qa`+VS6HOgc+6?!^a z{l6zv#dne>6oc|#a@6wp?LNbD@PD{tOO7;(1!-kB(?5~>q62x3SloRL|9W(YIgqizHS;k;p>xO|x@;3ChbQ`A%!2BIWgpj_muW z#3AavfLPuQE4Zg$0B9)yr5%feh|o&?`Lxbyrj9jw!b8QjqR$FES#%kBiG1VdKeco zJ|2OT>h_E0r2S9MdZ;SrYs?H*o3mhcS1E_sjEBrGQVoLkq2)IE%d;V$BmBZ%fNuMp zAQyYHGnPdJj5;jXIMc+}b4B{ytAUT&N)m7O5X3G!fFOZR(-P5(+9hiV_QQti2>X5# z_NIsPz8;PhOj1Ul{9odAk{^L#CZRn)_B6E);Z%=*NBJ{LzWZ^_Z^4tea*`4m-@QeW zGEW^Pp|uZblD|+n=-O@s0|xqw=?XN+c)-H!QGJ(;Pat{nkt-Jl#=+Wd!@Gx)nwQB| zZYbl%>60ddJ;%HUX8%@0Eh86O&=1Xtdn*+Lp4^RS8tlxQOt^@r!{|=~<6}^`DQT|y zbE7zaGh;5Yy03^@vsC}M`z68wP(@DwLsao$oo&S5?p??>O!GOqCav0&TCtKJaLBH@ zJgCb!{BWe}sRPdd80uX-#I<|Iq|#>@sos51v#F)DY;GEdwtY`MBDG9Q&?5;;?^Ey& zSx5K;G|@$?L|L+OEy}bLm-9E?(5cTgjQ3=J2XSdq>joX`+u-Z34#}Xlw%7Y|0n=C` zcrb4Aytz26uYZiqAG#nX&$p z<9HHlBFsc8j?-bZj1;IrDRzE7XU?O4qh~3RV8y*IgP1~@(RYWzedtXl{PZ50q|9jD z0F+hnf2JOnS^vOXDHS`)jXI(rz)e%A5FQf;7&B)44qi#{4`J?DRYjso?HQ4}@qI(j zx4-S=M+dQ(Sz?a!)TtCy*`ttX8+5NDttivY-)*GmxBgX~A8*4ax+AeFCG8 z$`)YzWq7Sz*l(_YzWh6K4G1EgFl2w+1gg5zOWpy0WCF`Pc*|%^zw3FX+9c#QFB2pG zcnnaxJ}tM(BnlR^aK1&S`5^29Ado~AK!U7cmdkq}BjQvOE{KUteP~4(MIRhrI2Ui= z5xuWxD35CcSpGM7FZbwS1PCyHK&0tDEGW~rmz+57np_t-;y4=s2;RbzSH&66iEknx z`aOWsE`v=WAmHYrlW4GOtN%@P@ZdrAX4a$*Ym z@Y=2sQ)BDvsT+Fj8Ma-$_CagmKNT-4Nuc1eO+}NvzJVb;v3?wopOS!-T*hZAL13cp zjh!#ABbnz(DcbFH%x?4zz4#_cIdA>~xB}xk$9&ntkTnp8gM~GNi#PjRWP_qj zpS2^dSmEo3N!lTnlIb{?4<+WTt~`|I4-c&;YQkE6Vf?8c&k?vJY@$_1Vj{xynkT*v zYQtGz@iJ693@bn`*|0OWrDkhMwgJg{q{GWg*HY+VD^n19`*&G?4FSMbKvt@Pt5n)l zNJWa5$e=mXz}8-SOTIuJG~gqpkOcUOfyHHo97DN&Kyz1kP$PFy zhhJF`cf%h}rY{a^{**fIoLD5Bhv*ht+82UexK^S3Q9_20G`qt#vL*!ytbPh|9hf~Q zawnwT**+#k**M^E?{bAz&#Oi7b|aB)GY`2E;>S5TlH4_a5a_+Ip0-rCpN}MHqgx_U z0=)=mz_I^E+zeZA>Z90I9s~9-v?+@*CTd2IaYlOxz ze!@bUgP3xE3DAf7D4%U^TapebaqW${_mSMV zkLt@ephum<*T;dRHd!Td8&xEC?8e;6Dii4DbF2@4rhMWM*6YaPrxB@84V5c>ux`aJEMEWfEB#$QnK#PLV7H8PL{WH4CXjeOk|R4?mJ2S^cO&CA!26ZB zw!gcK%tXNR3Mr@?9eApQYpZxC!)u}qT&Lr?&1VAwjj zD5EKVctCmaS|H%mnGoSZ{QVOJdD7^ESd}7!B~zmW$~$M%NCHq&qZf#lNC|1Mbp0?L zda_5aO1vOw$|jy@d)1J#svm!nBBtTTkS49;8XfkJMS{GhnCpJlJHVMTpMmoRADIJ zx>iRo}zUl@Rb-Hvxc8)zo1-MIwS<{6kO6cOl^UkSj@M7 z0zSVW&Ov!qs%yE4FhEhm?QD(g=9beMq=GP7b)+|Sg{KUp;VM0E%(IPq+yAfW@0uNdTdB{0b}qgagvmkX`qy616oafNW=t5ur_(aK zV>BvdjmxAlQ=4rOqzw}w^}YEG0%S5u;;BsHoL~S*QaN0b#{b)ETgKAlteH4wgE?-I z`vnZXtFdNtMuUoj)(Y0}v>%NR3J+{5AA9wTIE|;secNUg+nwCx$;30T-*~Tosg#N{ z)de@DWaS#TNE7X9Nu#gyKu3mM_`l}ojZO@3w3rT9fEwCzX00*D6r@rVs@`-BfFoJNyAQE?Q8q_5(O~oO0JTlf+ zoggd|HFO7us1>hx25)1+ta8M9*}nZ5@k)Yjkl_upd}_`B~E@!PbG54x3W+|qGu5+m&U4pjh-)BB@`Yx z_H5yqxKJw-5G;7xk?1%n0H1rM4Dejeayz(HPn#Msce#76?{M0YKA@E%iY5s2m=33b z>V91o%G*wFX@A5{#$FL=q>5En?eRfC3JKtUwF5LA`6iOpGynyemp zaORwTkLe*`_FOhRQxVQbe#P9{Kzzi08e1Xcx|>(6&*vY&*&T_0@00@{_5I+cO4#cF zr=Y(`vzTUwJVbomR>Vb$NM_w>`&B zPOX~Ydc^qrXhA)HjotG1qkuUvifzOCY6-sJa@bGdIDH#Xh>D(TzXu76PNa0qGtX`Z zl_%g(O>-JQ*t4H*O<7PCi^l95T&G9p@5O0@Kob_k9_IMyHvm6OEv+*;1qyABnc#UB z=`Wa@@W)7H@yCBM&o?2iEPghA?O*T-IrWR;*}|zDN@t~i^+pw9UOe8yUdekBmQ`vyB?mbVGI2_I zJ^GU!Gh?ZLy-zeamu5O?#l>?B^(E&_wwbc!_fts~V8M4(1AuUjU(9jw^NK?rcAHHY1b@hzIB^=aD z&`%d1VC_v>4H0`uK7Qv_a}1Vb30(;}CF#Z50HA%{pnnqvs#ucw%!5MKUM-Zd?l0Rm zcj78UF-4v{J6lU#XCAYE1aBN552?weUGdGuj(aw7yDSa-Ww>eWb?1kdNxE&{ zF;G;06S)h`ZhP zmO2(d$jRT5T<@N85%Z9}jFS<0#NV;vB*7TllORppEC+rAX1@PQwG5YC=2d@;Uo0wr zpacuM5ZKv#Xt+ygA~yse>-1NEv8vRI9dRchCUnY!SH&?I0-J-pV}+J_hf_+Dg@Hf2 zUqk1Nk?~X@>5Mq{A?+7#1$|Ehw*D$JaCRZmGVG7(N?L)W7hoA zaW3mQsUQB~o3Scwtn&;6-{(%wz#eLUv|p;w_1sG==y_PI=Tgj+A3$>ey`0z>6jiYT z!gNKAuor{#2JNrhoa7Tzr<>4-d?go%Vj(~6K})U1d{zVh-9iGIKZc|=t)F|dQ%ow) zj~!2~r2Aaw+xE#bJtPdE#EthBpZ-!7kU5Ts*lYOX@Q}&=uP=dUFc*y@a^J~+@q|nC9sy1 z$OH9c!rmh&In>bysVXA#6P$)e}Gc`$G zJ{wb*v!3We1m4$lIMnqKsn86Y(aqHBfvke$+)(fT2@8|pm%N6qG!=<;e!9HAH*yP9Y6bu z11WV%*lCQ)NKoqgcIH}!z`b}qiYqGqdp~(dv!cUbco=oKF>uWWr1n>gE?Of-3Y1br zRNesqYDlfFf}ZKjj-Pw;&z9aiD`m;}l* zq;}zLXvh0$9mn56D}I1ZINQ0&)qL@`P-MtME6hXjRy?B2KK4f^QTG6BVBWT&k`_c9 z7-``OHlmz}SL~mxkrXsmI79=3%@^Po6O??W#|TM(6)KmdeW~s^b!)H3xSSaPcwDps zHiU2jr^IxUF5q(sdxUdvYE*o=Y^8;)5;`*?@f+mF)jCs@I3xni7(ogmJ89?@Pahhx zaG~RP|JMzb)n_yJ=L8#K9hn2$Y3<<|Gklrd7UAORwt%M`HP&A9w_|UsIfs9O@e2g> z$V%0J93;%)Jrz}>B%Aq84XpFlYv`$q&s*uDW`L+9<43u{6fQGzoxGz+I-`lMh%ksT z#8%1=rZuRj))6PSex!8%XZSocc=4h&_R(kcwts>*3tm9biL31my`3=cY5@zDtO1I? z;CmcW2^Sgyx?8qGxKtZjXEw+JRF-NEU^h^IFt~aNoeg}+v$#MPZR)Z5<)n9i61+>a z_?D5xYIbg0_V>;Xd&m2D@shdBVc%)ZJ(xxf=J~ zB#tqsW)(j~AO8!wGj{iO4GTZs9vhI;i$NY+Y@r7#yX;C za(?4cptr(+bqUl&1h@d^?|z{c6lUQVjA)5nZ{W*b(7XhpFIZsMc!PCRY|?a<@c&2? zIu3gDCP6LdM|OZe=p)r-3q@~c28h`}b}1F@*H<~@K$QnH9~BV@(J6B`#khNaa&_`Q zuDA=+04}d8boq7cw_>Hj!#A2AD4P4Da>*DvdsOOU6!wJi4vN(gd%$!*n(d2YE5r5( zZJY<2cRHV>z|mJu3SrzJ920w?F|NtP6b3>uK1)kdH9Vylj!zG0XmYKA+2wl)rg0A5 zD!+d5`~J>>>uduyAhkxc0gcRmv3#o}(mszxNEGk+O?)$=P(CU)DJy%J@7b7P`r70t zWTULX%N=eks7EVyKK>abl3qmmS3|9PRB@eApwXJAonWD9ji1?jVg{{8$bXMFC&m%d z#crBq)2^O3v3$zy)>GfsBANyNn_GU@$WZBH4Xt1@eJ3DLeCk+Oh06?oI+x_3>p<^r z*MlOdUml@pHIE9w6W&>nFVMR=R|;%Gra^Wsu;HqUVPp_yu0|3wz4yhjxkH<>Mgh_L z$Tf|Te>k8P@kt-skqI8=a8aX37*naM3z=MhNtVu<>;Z04=K_TsVvMeRxC+c$o#p(Z zo~Wp8)|WBg2W+Pi5pS-4AT73nMatnbsRW0JJpbF#BM!BivKP7*5x5CCcaWK%vPAhh z7#zM*-YKm;P{DoL{$c-o`M-VPDZC$qvv98@LC?Xux+N<-3N0?f`4)JuCsu}p`p~z3G5nx0V(N62^6cBu zjEZnM@YuNvFMd@r{CInwMWuLbB2wB;ee-_8<`dM>il>V7hNKarM3R0&jpW>;WW4qS zphl~6Vb`qF{TtSW6d$2s^~9 z4Sd+pwT;sDF`SWaZE(}kXsqiT*y#bn@??QmNhgy`=SN%rR-##R#B0Vw5{Ugb_D@AN zs8}HIb)+sY!CBP!>cHB@bwPDBQXq$e_xweYzQS0&ROAx(J#u>@{A=v`o9d_GJE|C< zN5JlSM+Ap|p<&%qsxU|3+&1d7}@asovNf1OTn{fsJj zMdr85D%@7Xyml2BLD8mBaj{YlPmO;}M zA(q&_U8o|v^C#L%^J1PP5ZTa=O{LbDBlFdNCmpZT@Uk5(cHsxKMydCs z4pGVCEINy;%`fjSmccmc03GPXxlHizm5v{09^9x|%%1YWQ42xSz?R|b;>C>Kyy4LB z4BpbbY7@m`eEuvctLRQcO9w4T;muhbRDnJanzhzLRWiwoKfGHr%{RT1p5X%f&>56} z*uPMq?J;C{g2via0_Sxw|kNa=OE1(4t0}IW)4>QY#0{uPa?}gO8ZXOIAD)ov_do1aq z12uPCLRXU8$!D%Hy8*~J1aSKOo7HdJGAaA+q}FbcFK#$UZ%hR+oj4&24l14&}^Vb*mcZ z?NcFV8IFLH4nbOfEccetx7KJH=W;| z`}S}ryI3=jB@z=(r*NO|DncHowoN9`x;$ z!##fMtmbmklh3U`V;OLsI!n*RL|8T;}?41G!Gk*?bNMp!9{SdFWqdru;&Muk2A8y&6i(B$Iu% z+_bp}eQWM70`IxBE{gDfGB3rezE}v{*MOn_g{3i&TvRqs_Lb%V8%Ed+5L{7;JnGuAZZw!T8_U&qKaX^ShEr3VLaa2m{?YN-(gJzI_hw&#h6HjuWptq`D z?q>(BT{b!?^DoNe^$~CFFB4gu>o%7@UzZ0@r3S-2(jiioME@3d-pno^LrSUu&bOT* zx&TsAeYqsI^w%Bn@SQk|%HpQhrBLO1xT6>KDIxBiG15N>6oFYIgI!?8FbOCQogLM5 zLX#n1t6QPWZ0F;DYFIP<_?MACCQZw|Bl=7`6Yv9PN!nS))q|$hz<}QxvN)>00mMx0 zi{1vbw$jH|+iEyT2x*zKho7ps&in4(i|d!g{$%4(cEWhVT(Rr!hv_GlR=m63KmQQk zI8^n_+wh~xcqKTi{P(qQ@?M~a6RmiqwrV(kRK<^5+v;)RsSXu7s_U!E z!Py8-Y|n4R*)1TuDf2Dtj70xH4`spAJ?|<_4WC$)x{ljv%!;E4>)-S|>gi-;@ajXX zq9VEF#~u($ptmy|+9v@JsdmN1M~?08A+Qr0mR@5&Cio3(90+D>>4a7Av>=l4VpiAi zFrT{6CS+EBC65AOfJ7=&{!14~F#>}(%K=lR+6FMD&0YVK#RF61uLQb8)|jT(G}aS< zY)=di!H|6j3v=o&!hJG~niHu04`h72@qUejm*6^1WBV4HYZQpCw5$`1dsql@y?U@| zYaDB{bfs^A;U~+h9l>+FKB8$7wJKg_+$kibVAIlnMP7Vjg`Ik}8#hd8J@7@?zMBo1 zFx?Yc?5dHmCxI*UWnt__VhelYDouA4+%F02j{h|nP(N$C@E%Uw(G`>Ma6Pse2}v*H zH{3~H*z~+vv&6YNBG9KEz1oSv`b{`3^bS5k9cT zOp8hFyecNrIfbl%zzW=NuPTnTR?hF#0khnt(*kQw0Y}mu83^8ktjm1-4<{FZ*peQ4 z!>%5{WyqnuJ$&JQ9l$RZg-V6kJf_wHE6v)j40vs&tH!5C z=hD-Rr`k5j%QM?hf(#BG*qr@2aP=0>DN_X;dg30?(jpk>yjua|wlIzqNbn@=b4_0N zZy%*Jr)l8oCg+iu>Wb27~N>ZB_(b*dFIK0FjB3uJG7j%OmOoPRtpq*!^UE zc&1bzMAD9`r_>Wh=L``+KwlJ3G03lb8e$Ct5EA(h_CE|I5xf1CWI@VB-t3xsa!DTFn4+K#ad1gSzPzJS0_!f1+D`G+LZ--IruUv?GP$tZOQvDQhXO65RnfiLFpmjA*rl6a!Nd@GnwKDSNsmCW;?E280IzAif8Lji=Gi)iIBLT%nY{D0 zR%k5(CPZz?sp;XtQKp4`%JA(wunOUV%PMk4SY#&2=%RlK)3#yt;cqLu(bMnbe`E zbW55wJ)6+UEVZwEdVRac`2dAKf7`y4+E*|%5jLn&(-mOKE0h*(<-}L99mK%3g46aH zQ2SLp=eLwg&{0Q&4vUkLY9oid!Za7@K;&IVki4c{PRT;9n@s1wqpmm>Fl6D@sAP3bFsKkn%kMa*9k8T;Y(_Q`Retf2wkrsX8Yz&f$ zXv#StDZ`xTkD*#OxSsJ*zsSu$g_DfUEZLEoXG}14fUbTA0^1-3su#Ch)31PNmo7(n zJ>rj~W=Swv-~^^6(a(b@e`5pDo4lEGo8emlIl|kt|Aog%J#7>OOtE-(@B_RPrcCl@ zC&c!2+=a=QzC1j05PucxyOy_%!k6~(g%2ylKHRa}vF3ChtuHUjijG(QY8O;z&ii$O zU=0^sJA&wNEvV?xDk$gQo%RRhDG3->_xRtYl>wrhJ8-|8)8yPxe*wkj1#JVzA$a}g zb_Gg0nekg}Cl$d%UMhc(NCB9gHSp9*amq=$w2XG`Xa@!1C& zsq@)-6j7kfD^>F4*>?;DK{u#_vU9EZDuJaJmIG&7hsXxOrW3=NUYs4A#)$zAC3Nug z5suWiiR}4QIq*DLNI5U+m_P)A!i`kbk*u5UrybRio|OJ4e*?G+9FtDbmECzqKMMpT ztTi2sg^ zEA<+*>kB^|e+U*No_)MuTcGk^+OHk@mDo>35F%n^Bewi zdYwt7%oC5YJ$KGcpx{;a(rGNz!AqE!!-7R=9lO=-cH-MnzPl!`Q)859BJY9I(7m#& zOmmYjtYuO&dH#1M$fh?QH#^N4oGR)j^gr%*6jK-Fe~zeWnI{BbvP-UO&4arVDb5VH z)_C4`Ce~tvd3sfb+`%vkiQDQuMJ(`+`F26lE;?B@Q!!iS+*>ItF8qzyX5-U_*f2<~ zjE+@!TwAB0PC>4UiGBB3}LaUv! zL`DW(Z9@@VTK{x0==?5a2OS+OM<5I{3uF8n6sOlyq6tlN;QSo#zWu#@KW8flC7E@7SWZ+~a zV4!1$A|(}eGBtFuw6_y6bTQ>3P&YLpP&RcSU}Pd-Vqjo|A|(*EckpzwG`DaepfINV ze>X^=W@Bh#X=~|3pk{Al?`COiLBQkY<|g3g>`Le4%18H4lCr5Ofs2JHftjU^DS@!O zf~KULI01#YoGO91shz2lp$&n8tC5YRF@cPwv8kQ2DJ6lKy%T}We+C4`_I4(g|Kj9K z_iqArZl+Ey{}3~CvbQCW6;%-wlb2H=e-IU>R}m&Kv@;=)k@zRw&c&JQpJ-EK7ngrk zM?>K9Kg-7Of0ohztp9nPJpNVWVti6e;lO4gow0C#1fBXme zZ>XWIrH$wRZ}9(#kaRKpM+`wb^MB-H_zz_1EN1CpYNBB2@{iswPOhf^fz?g_vo^A( zCYG+Y|4BFfN0Wb6)x_S;#`FKo_)jVSo{wHjK}$$Qj{1L1@Nc)Mow2=%rJXr}vdceu z8akQ$5BRrR!O-$Q9rRx=|LrIOf5!himNj&7vh*O(W}y35i!l7_`LCt>f1`wi>^;0` znHX3IXqnj<2^g7K83{O;8GQdAy2h?fPNsG){}%n9TK+r!cQcuqdYBqRZLZlHbB9=^ zw}n;ui54$Zfl@Eb8K_dPF#@j7_T6bCT8>zl=%3tRJ*r?8xWnMi2O9AnfBe~(d~78$ zj5mcjo1TdwjL==fdM_oeGWV<7{ZuUcXpGRi1yRGaHI@Upi+pg&+}aFMpqgRH&bz9U zaxCXX6laVvsOTC5Mc7N&Sbnw>r_?1!%F_A^V|qkgi?Co3T6Al~|9-d$6kZT~0CPu* zsc%tK8R&2lu2tB0Vzx%?=Qq}Dnd2%rC_U1RIuC7Dw z7!}|$N3OdkwIoUe6~rb0ed0ZCd&rfyCB5n*dbnSN-jPjY{{I}5;yEE$jUF6yv}xX zrDE0uLP~$_OS^$6e{n4jOI?{3>2XXYt7y+jaKvxA$#E5RxBcU~S=A(Zrg;Dko&@!C2`` zsS>fO7>H{DgcI#j7t{Xj&fTg$lgZqxp38olJFmTZCA?h(e@S~8jjezgT&6Jd1LhIb z0&%S5bwGBE3|l}yhklf|{#6dp=nW@jW)L$w$OYq4oIgo)KEbN61hiX{pkKTGNq50_ zN~%=o=6aPvqi?{wNZd(TDY|?=bjNlS{|7yAiese2KI^F zaLL+($kxF|4L<86Oy>-RUoop=&AFwehaWA$IbknJau@@_xV`UbY>J+y3X4hY zp>wMGGk)JhfHZ_e=`|X^=Ks?p$U#YYdNEG)O_%97S@Rjudbu znhxWu^6Kb9rE>#S%dfiGD$h=oR}mdScMVUp@~rL=A-Uh ze+P>b1Xm9Yv6?53<9<4APoXDnLPL@7ISgefMx9p%Ng6ts;bbm+9nSvInU)w%lK3Yi zVdu#!m@NyG5(_c4HZoUJ;+2$bL9G{ccP~TmY!? z3OwSKxs}uv85i@s99vPDKzI}9j9X_Pe;;on1i^cV%5^E4nRD;j+Dsf}?vaZDdIf!L z)qU-nWoN;OMQ5fcp_U;U>1*N}G*5GLA=up^IA0Kn*sC#ehUzuw!e@0xw z-ZGAsz-zN^fcCp{y{v0ibY2hZM2~GBWfzWFfvE<6y>#>bKeFw!Z|a5|e1K{kk*r*lp_L$ppd%rmWzs!M-eiJjH_RQT`PC>saWCBlE zSMpk72P4Wud*vszy$vr(=4&Ade|rASo3@Z}^+FqK+HeaFLI9u@G0RB|vulH7P63KS zWvIk)C2zr9@kCno@E zw+ClpzJY<|CXBkS4W>^PE!aC3QAXqiL5B7^U3YrQBIn($Lq>?A7}LeMSboSJ^O;=E%FymFpNtJT$3_*p1$S3a1mqcLV_x$?Rb#3^ z)>0kEHW${1rAwy79n##qR+uYda%uhmb3-z`QDJYIBwgO*&{L1l%N>nLeBXyj>I(8Zb~Twn8g5=ebSS7XOY|Yx;)$CpIl;i(3{)MR>w!HB4T3h2 zrOE0NYh-)?O8(I@f7_uX(FE>$cV$!?=8tY8Es?m_WZ>bQo~U`^FK*Df zfe{mnvRFj>ha|84GBRgfGK#Iatn~H*2i$>n^6G)U9;>TpecLM2NVK4d99GD+h zgfpQJ&%aOpKpMQaKfq0j8<4paYyz({K`k`Ss}Y~Pgw?)Xf3POu5-1kDg&w5rHtEZW zk0Q8PlHa#V2~ngEugz~xH;^))MxAx&o8lWBZ~1A4>3f{=y7j%A58e$2ClvC7L_0hp zls0Qn6P~Y56Qy+P&kjM8uujV(Ao_Qc$jN{7Tmn#`@mweQWR2dusJ1}C3G!mZzOc+f zHZJ(07VKU)e^EZfhDWN~9Ij)rXZO#IU1A;rJK_kOATgsug+0uPYgpe1dg?5%88SleWb|Rsx7vi4sEF5wC zxUBIzt>~tg_cby5ZO^0G&-QjNt5_`@3JlJPIwB=9f6XM6SaQGDcvmpXz>|!=7r{2& z1vmd(D}nP!kNx=%&R9DLA_MvHnG#ytdvegCxw2@{VvnKh&78J%p{*{85CMEfTjE&# zfn3;H*ci!pA?i{ef33gZevW}gtkU&c6Oye_=yRtns9)iapYVRm{gTnh6mK~KF^ELi z(pQ>dfA0zh4?}~hoC1`}t;LQP3xI*N8kEKri9JHrZ#@6mXN}Mg9H@d-kS{?eI&#)? zMBn9adt7b zef4I!Fpyb~$F>Fn@84Jb*USyCSK9#{k=)pGe?nl_NYB<@;yd6_u0~U@u1&t=W9XYh zIz@fKbsPnIEgYz4Rj9_aMsRyJD0@8PBE4G1=|=CEhIe?~5q7H0YKkIYr}}(Ycu&{} zZg4nl(g`_pz0Q;rdW4pIY+MLtLc!~+&^Nn2>A~`Zyo6jMz3A0sfDyT8Ip=6fD-2(5 ze?xhF4fjkX(cpU-;6v+C?NcSK!l&Y!QM@shYM03H(o{G<=bJ6GTFulLwgTl9xi6^5 zE_kdrTi7{nK2-!|3aX2MDJ)pJi-DLZd5=`<$}v8Hz`xGTL8>)OO&dA>pdvNq;x%iN z>NYG$8UDFA%p#Knv|_ib2citrj#piye?Lh{U#9c~v8_m(a#?Re33MXMKVU1Nl2E^A zdQG3(UZnRzdyPW`{!56=Q;GLk4Dw~rS|Rp8c@q)~+4CA|w7&i3Nd(N=p1@Fg<*xFw zxCmqEh_z*`3c`219DmmUc_DKcBX2Xf>hOdwm1|bh;&rRoL6=qK5y)WS(#w=le|k8x zG#=-t>YZ0D(y@;_nZJ^O>&q?ws6Lkk--wr{Sc5-x)vHoJ=cM!BLCZ`owVXko^?t}T zKe{pM(eu4gZBm6xZPZ5q8edC;XbK0U!j}IiD z$ZK+20Bvk3q6P5wEx~OpB92b+e=dnLj?g>Y#f1ah}#bDI06LpK4{JW2vkNERgnZdu`fH>qAZyM>ZXE5LFaNZJf0g(Zvhjga5ZsBH z794?3QR+$KgTgun05P7fl}#mjh>4xNJKXj3QS*Crd6#ez@-c2D_P)D^A6wAqS@%ak zfqW}mgf6bljLG#)TZbrrM4#_Txl&ygbkVr4h&ZsiQzx$6AOIFotz{H+Ra7JzA{J`yB=(Mn64Atiwb5%PO!n zn}BB60QR9B1v~Ho=*=D)m!X;U(;v0|vf)8w#B9a}22gR+H(NKi z;0%r|BM34X5DkV!Vd)mdl(DeLYe=g0VfGw*#$cz>a6%j3_OS-UYg%Cc5I`L97m~Er zbAXWvUvmJ-H&j^5h)gII`6!YPJz{WiTNGRqKNRe4f9#5wt6-g6Pbdsb>W`|cx8C^f z^)i7bZ3`MSO%ziQpRt@NmuB&;?hq)oj!|Ud{oZo(EZfT%sl2;TgF&nazg^N&=0QSK z<3VK#d%;o#aY@SV8|WcR?n&=g_`EPcBY!FUy^jGcdcy@MP4geiykYA^WnVX~+cZGR zAGa}^e}oOAV}H_7DQ0tYFp}Pj-5&B7fm|&dPT@a}=vO@hZu9}BNT!-C5|xTcZw?Z* zf*ADU;CWb2u5+R_N@WpctHZfg8dEh-kIraQ9!*E7u6w%v0Xgro0uBS)F5AYK>CkWV zHyB|Pve#QHe6AH9WpatUo7kHWFBUf1IU6x1f7168l4B>A0S_53#~(m|GJ9 znZ=C{(l|lr`HJkXLAvZ`Ji!Z$oXxnu2i_<;K_Y3b^TZ)(t?`{3qND5@$mm+`g-fIJ ze^@nBz9i-#=dq9Y6eB>lcLmTwqV(AiSmEuy8>mI&xzEeZu;43c*Z~)_Owgn~kh}S7 zg7!5_o7T{0gTmt)V<}`F9drrky0p98Zmnp2-Zs3M+RTWjZMS6fz?gB+@j>f}2Z?;+ z#r@W>;*n<`PD{YKK9VQHaCvS}NPS8re>b0`kFuWjM@w(iY(|hOF8f3#@oHDdrGN%- z2(rN$hfw|>L2drt?sFGWJw{_PJG3f)45hA$>c$zB)C&V~03f#|l-(gVcZ#J!rUxvw zsykjOo&OHDE|H_zeWY5>gfwpfqzEZok#V8=Wz(`#X%Vg{wc0d{Vl?`pyt|?ne}0pL zoKNRJFEyEI?>wAc(bvFyxbvRYIi^1p_*@r)TB=1t(6qVcIYi7i&Kz+lIYe;gq=Ger zEUL9Avs9Xs4S>tp4HLZjdNh(idSUFXeHSnpk(`3zVxA7h9AaUe92UzRh1N?gNRt++`Z0V1gLSNT@CFk|nRF@91f4|dRgbEMk z%;it1rg=XQWzuvPgDc{nUXbdB8;y`vFGq134}^M8ADB=HR8;TyB!ObCZm^rqd4A-6 zor>40`wV3l?a5?ukQ1YlNmZk;8VXoeBiV)m4PZEGt*RBb%JBHRPc#vDUJ^rM1p&Th zM!~3LHt^ykYW8$)^t&sbe>jI+w#M1Lx!2I#2?HXIY&aj{%QQ0`XHz6!m@umkS>c?x zTu@5+x2#UKRIJ|E4`h?6^lL6l(k9HoIuQJYyL4^6(;)R)^(7jt8NsYsyiT#xspOt7 zhjeoIJ%@xHR3hfVnk@1qH|&8>_vsV}M)-P3RlP%7qlZ+N`6f-$e_mhmnnXr^!X;3x zxI;9)bPA0Dzp_5Kw?J0maf(|Cf#H%GaXB_T(lsdDWtv~4|2OO6{;PzlN~wqu<+~wQ z`mMM&meCqT@i-E^H5R=}4Jn)A4lx7_Ify;Ng6PBCMckX9DpV72@5h?(e`sM^w*CD2H9W}E_^}@diT#6JE^>PL!|AB#K6b8x;OiYxgv(9m@%d1 zv$sDTq0KomA{%5-mQim!R`&2Y-f*iR=TiEW+PK?$r8JY&SWQr~qV(pB@zsYS=9Swd zr+dSuQgephfA;ilSZ65+8fMYRnvO?GOu*jZ$=jpmf__BZ%J^-AnGKx4o+nvBHqnbG zZHQA+d5&~hJgp~A00wjOk8Cg-U?!xJ>1;EI6WlX5l=#pdLts{q#hugpr;A`YWZ&F! ziJvt<=YUf}&Lg8$ZUd~IQR{$*m4WK*9k_odll|$3f7lGODW1an2gO0e+dlg(hyAJE zFtOd|%yCA6eeUFE5H_i?H(%3S=_su!Iq{j*Y~um>ps0hw z0XtRde9~eS9(NC~`f1&MfjGotz&1uX&A(#e7#7}l}wPTZp zXemfNhoMu?o&5^z{Kc0FpWtK~+J$f(a3(z+QyOc32dI-X;pdTy?3iIob(#B+zbm1L zDEtk^?7T>-(131nk^)IQ&0%~K*|{D%4hoDI^I>K;klnPyF_g zf4q7F9eES+nb0ByD82hbOMb1*gx}dXw{0yPPkV29x>uuR239;Tvt%H$%R0kd%7NX5 zWCDiZWN*-d`UjC8tAgXbR82sb1-@FR93l|FG_`BBb|5^aKmXuBxSCXgEw8(+vtKNd zykEprgkeM1=VQ!1p)f})r_UZe``2)%Q=GAMm|yA*5BdA(ClmrZ_B@BZddza zT3#uh!5_kN^-;ZcYgIbTt^SdO#L*Q5N3;$D*Z~MHH!FiTPLDoUKmU$B;9NW)DJDQ* zX`|`e-Ukxg`y$adHj0xJP*(Y%jB@1`opxGzqsq^d#C}bl0}o8h1DO+V<^;%3f5?lc zK)bG=2HlM$1hNrg6RbT}O@)=vj{rvblj9s&jK&g>*!5G2(gPV*&7BNPKz9oae0`!Q zvq5>Bp!d0j#8Uwh!-u0E5Y#rs22^A)Xk?;%c{dje1iYa2eql`qNJd>?4xmmRI=X|L zod2z4+^%~$ij+$HSI~D*P%dspe;f7Y1Jpu~ zxk=MUSdY2YPm}uueg<#$@w4335l=WrY|ObI!xg_)Y3j|KL;+n2uE7t~e*_GRosd6n zXsFD1UoK>e>Uo4~Xj~vFgeeQ3-th{XloL8F5oUYd3LGkbF=PvGe03BZ9Y%?d)ccG{ zot&G*Ofd2B7;ewD!^s2cRD4U5tXc4RReL(~Z)BGe<+bW;ZQI3P%vAK6d4YO_vf)L3 z$b`E%MMa-^AQ+300(hxmf9aLGhRtiHvt&B!8ra%$WuGCaRNNyzGTFG?QLA&Gd1hax z#0H4vUlgCzGka!#*SUne63Hq@LuQp~LVyi9mGJLMnNQ>eCoZlw4=32rX1Q_@!ZMyB z+ye^^SVFz```<2%w; zQMstPJ*X;<5>&q!Lg~f`q2&>g_Cg6k*tD`@$_p#SoqMnfe+dFPEOl40k4lKRUB?Uc zyB*rv%%MQy(&=jMX7mfCRy6q4jR%fK>035Y;$6BQ=hP~i*y*s0@oj)&!L*}69Uff* z-#6bstD}nldfdqTf0%#wCuNsGy9SNkihOtByPPJ7y7)mAaM*_{w>2ob-jqKSX}6!- zc?Xb(I7jc5ar299Iu;Or3IhnKYS`cjEO>o;Y(%&+XjcaWzw=o#?{g6no^N<0u5g6^ z;-AYZAaKCCz*8+wo<1|Qw1ek7H&KlrYoMlxx80(69uBHZe@4EOAq4$EtuZbgY#DRJ zsKZz=+I;k7t3=_#oD-3+$4V-i8CzdfnMN|Nu&PnE6D`Oc#R!nbTzRj1;imY8e*DLOSLIk=XcW__c4L=>*!9_^`a5Ok;;Kr_Wa{ zqh9I$q*C@Ke{`_vJ!Wxjy--sx;dc1bvCZm2qIa84^>oiUP!fk3hAYG~w)l%}x^cN7 zN@rhWHIDzrQoPK z_j@gLUr(S22COJMNvv2G^>(U5ol!b--)-M7@e7-n)DfBhm#ur+#QLrA>cl8ka_m_%l%4CughR-Ig8 zUgvx_%uE!_=l*WwIAM7?(dzwf>r2eDI-#J$X(EV%XDt$`| ztHBDS8S>(QhHc`bkIcjyXuX*Cy=Hj#*#^8#gO9wNtM?X;1e&MP%lT-Zy!ysbf8+6? zcRH)H1UzV2e#xX=hWR8)Q{{ASVoLj-w?`z*>N1V2F;N@-GCC-{fRHGB+`Y!x2-*y& z$v0vy_)FJoj2~PmZ?At?x#o65-&A!k>Zj-=Af(fxq{=;+EPDT|ft0QprFsQ&e#4tk z?}IWWAmH>N#B>NM5$GA-WhaO_e=ChAG;odd9%w>-=U`w{Au9o+TNN{7uk}0y)a#?h zRGP9+k59m~0VhX{tb}&M2&xwH&^#APhbefXURk0(O%3ut||M>irY?`YIeT^j!8o z>PdN$YsyI=Ajl;EC&y6Hf6_`udO$4L%3Seha;K}^MjU{rYCK*FIFs9XPfEap;a$CD z0wn01&N@zTtd$BBw3s5|H_lal6C-?KxQmyA;exSfQ$k9)FA;d7#MuD*U19hFVmgw& zbvkj5bQVq=t(m6-P(Q&H8^MIq6$8J|?;MWcFf7x8TG=RSp*lg4mlx_Wt_XvDYo|gvH_1L}pzbBG!wb{KW$LXZ( zf7 z!d?C}0LOXeV@1{y*Z3WM!@3g5YxHV5ZZaCF%KEDwrqdi81cdRq=e!qc8{{z<`3s6z z@M`{%wgNAVf06(fR&Uu*Gd&`v6~`DtG&@E?B7h!-|o{GB)Q0S`jB z`Qi`c1M}nCF6t|g#*ZWv3fDi11+PtZ-H0vIkB;KmMc$45Tz(gY%K>>>x@01{pdE4+ z6{Ri4#2IiMDY2>SGR$=J1i?P-eE##Vi!fB5V@7$%S_sYSk!L$m}BqiSnc zUsbdHgti7Panc%&aVCQRT1i-wJtN}Avb1kScd*6&7#lN{Nbjai6hB>VMt6K(naYxx zX=D4C3ial`y`CYodsZ+%b<+qk(c3bB`^58w2k?tP+C=$#oX5h~#3@2-r(%g<8k=>6 z-he_HKxjtO$Fn-Pwy}Q}9qZ^BGd{TbIHPbww zQr@4A&Myle32UtV0qkB&Qd1t#>4VCX`Sr^*3y2V$OaS;R<`?eGCGIV~qr*{FprgiU zF3a1m60H#RKp)G6*hDKD@{8csA4mDFf-%~i1>!uY=>XDuq4q*8P zml(A*YoZ(-deHe0d}YyH4S^+^%tAWwM4GpxOeB@Q`vjr+AaPsSpPiiQJCjg(R=eiB z+{ftShLDP3Z;y=#S&H>6xmKhVxr*B&f3p=yWuIXDgzHby(|!2+o^!vyDRm)(Q^(G^ zN!qY05|F;EQ#2kDx8u0z<){o#3c^OMHCv(eozvP=u^360N;St^eB*?fdW;Tsioyu_ zwpOueczEed$@7Bi@WtQX?SeU+-q2`Ylv#F71v;M8ix=&+PW8b~YBmBw?+sP#fBrqg zwf`)8#|kvt8eX@%H?yG%km)7~E!I8x)!vl|hj{)tmQF{QEDxsOd9TxjPbztu0D!T_8)MutxgVdBCbiJLFESvxOAJ;NFQ?FIAJV=KeOj>u3mA4A~fi zT@X(CcygM4or3CYKlO01XPDZKe{1b*3zo6e6M})_JgRhcfW^pp&3idPL5Gfoa-O@f zUF_G5Ovu9f&i1<8fi3G6U>N)Kby6&1IAF24&&|k><5F-6J)~$^*Nctdn1grTbf5w8{s-mx` zE^>>r7rmJE4*hi9^LJef8^5%3m_mK38N{TEu~E$|B}i*eO;5>M3Z`AKn9F$uJCPU_ zvm@|OZUupk_yC#$q9`^y#AZ_=DbGK-45n&ghC^0?O2vrT-Mw#xj0S|R&a_HZZ78W0 zsat}|fRuSllxcJU+7;sEf1RS_Nx}DbFKb}g+j$YfoExD7YU%i#kskrg)V)au4sG}q z1+$=&2HJa!%BHiR8M(w@mJm8af(2}lb*K3)#%%yA-jgn+{ye#;6n19j^^B<$c;1li z?8yD^7E}36=ol^fxcnhW5Mm($u=g5^7RZCXcWwV^f#4UDze7$h)A;z2{I1xXkM z-+lgdRl$51Qm!2W(`@}Q-D~CX0u$30PMN@8OZpn()LbYZ5*DTFA2j*wwS%3z8D#+a z9teJ6afR+jragzvq-C-uRI{H(){@g)x(LU2ZI0d=8b5MHf9kZT8H4DC_cR4koQEB_ z9B4;UY&Gt#-Ct^ls{{GkaA|#Uv<-O4A;$vB%#hWyPgxWAXHx~f6XZ~zVB|YF?u>rj zZTOQhQv7JD-WHtVt90nY2iWwb)&bZt%v#rUJB!7G{>1ulI{MJ^BZUgY+j|6&sanPdaML9Q3;~ZC7oV&PF<0LduL)z8vvQv7rgLsuW^bJ(@0xPlmVZW z35+yuV7V`f7%8|K*{1>sd?UiVgezBm_O1%2e;q{i<=UxQdKMhT*WSS-kO*$bFN)F9 z^eh$V{gP<3&C?s<19g-xVQHV7fi2vkZoi8nSy-#3pnBLjff%Brc1jMfhwiE%(eUTmfx?T?E2a52=%n^>`0;I^m`uc^X zu9Y=yi8ruf{NmJI0+;CgdY4BIn?#ib9xQ2FW|I9u(=E9PdXzMTI4s9E~KLwV|p`>TPU=j3W$?gxx&}YE#}9iMc8+LyPR95`bTn$ zlgqL)nb4t#NncG1u7K^VIPKYC#76l$( zp+F^mpF9cvy)mEJWe7{<3>p3ClV(QhbufZWZ$(S>WW(-?ja`&6xEBiGb=_Fv{Pj6g z(8WGsF|wDbHyRA|67mb+BqDevf0Z%v!mTV~4LG(EcOLKksh*;lYZv7+VYmEUScodk zvV#C&_dxrISQ5Yrm?KZ4Y}F`vvx1&Yv<*RxThF+KbovUoi7Nw`_H`tx&)?FG-1uq2 z)m;nBB~e^HcAZbRK)Hei5mV;JD3#vb&fFshbXO;0nX7f9H|a98AHr zDpYV!1?Um#$Re)i>sD@}kV4o08d&RQET<{a_!C!94s1;uS5Y=i$pEvzvnMB-59o)4r=6Enpt2zjb%R_{G66oD|4HWgwobc)e}# z2Wqg2opVSO;*Z}q#7?J|5n>f|e7t}4A0<|nkQkAV5^pJVPya49f8Ys(50r$|eSf83 zKK~a3jQKARvH4|NF4LG8`?F3TW|@g>M2{IGWpK;NrJB{K^2&EUuH9j# zvT<8D7{2LdcwvwabC^Btx3@VKvUQk=OL$aUS=~$L#)}gV-Mo zmxD?PO1l^hHo2uM5;Py(#_SK6*C&AnJ+@r zwZUW5RuR1zb{cCT8@>tM>MomSyXThB2jw(6i~*gw7S|8Ryl6qetT?@G%xEP^7+YKA z!umrS8T%T02f;_+OE@wHM94Wd(j;e3!guZ933l0pe{;-9c57Q*1}OL=%bO)W$=IF; zN;`I11D3NLKnboNfl~Bxzue#rtV&RNalI&@9g6z^f1-UG|L+AQ+X>^oIF6rVH1cE45#;fC!MjSE7>u7qhW{Jsg9m!)pkeDOahE$8 zgS^0h4 z?e3@*&jRMN2HB_`~mCHfKy6L{j7Udof^sthysxS z@pbkPXOu!#$|^a-aP|1!$FJzi24g*i^_9!=UiGBr4;gtqc&NwiNPlmb8>lzjjk6i zS8r-3q+<5I1iPHEc6kUo|K@u@eNUczeqbyX0X63~M(y+xr|{5TnGwQWUr+hLy^wbH975dpIk2p|2YihP$ zr={HIVVpZ?#2#!+1?>3UUij5uuwd$Bt9!L`%1Y3!ha_fCFZ z(5HgENa;)tp`5aGKBe?0&zYPcEXUtr5Mc|-yIh_1HsA-fDA8u|F#oKBu7 z{MlU$Xqv@WyFvK~vX`p(HT#DDa9A_+>fi{XD{L{H?KKgshYpN4T-xCyd2~&*t&l{3 z6-f49;9yhS!5lJZpce_yaWA3Lj7 zOW${F_N+&eXN|FV?FynbO&l<5?VLoE4VETzvIBLEXx^S=g4_zgD#Vz6bsIS=9J(hT zxQWsWwW~)dtG>^UyML~@;(-c?3I1mJQp7jNG3sQ#R{gny3dPLDX#1WY9Do_I1#!<$ z>^2C$it}IrN0Q~t$A|cce=TRkIb*6smJ??UV-q=O@0hobYCs0ja4S&!4i_tnpGZmr zLfqU!4^gl{PGmSswtDpDNYjs_vSBpLM`4w9=$dmG0t6$699H(i<50}kd#+kDq-$_R zZH#fqbVAcap2g~Xm@!=U(@d)%y?Uq8p&?8oOZbS@TSSsN4}-MZ?xV z=yyyo>=s+8>jXYXe#G4MGw{4j_i{;+?x&^M7wKb+3zkMTt^}@Ej}&fKs&r!ZFr;4n zyDyDotB$9_q2^_8e})k2P7|XQ!F1Z1OaKUlZ2U%Wa1AeZQ+nq=)iwHfKQ77$Hy|0t_U*aFC4bA6ozx3 zz@g?m@BKxP`~@sQ*F?tTtadZ`)mAg)tj=r*OZk-0eS&%3o3(C79H#}0b$Q2;=+&XWqa%JTV^w0B>p5LY#=mJc$bBeT`fR( z;iT|UmlP$Np5*2@{mMc2RaY_WJFML=qVhVlorvw(0kImTXe5eRgtMG{*Wtz*R)1J%lg4qBW^x~_D+}cT{_{62?DJ6z zyaz^f80b7d#UKjj=)IAwZnk52pWV0^(P={733U{Te*vk(Wb zZn4kL@zV$vKoCz8i}K*3Gt0FvX*8a%Nuw&a+SkV!@rxKSE>Mb81et4M30~>sGU~3X zwax&HDN)!>?Uorcbyk0q(kx+SoNMjMgT>QGZF^T|r@7j+`N`vfS5_0H4v$Oo)`dQ& zG}nzIe=<1ql=b=8fNxQ2({Jw}z@2PgGf-bJy+_K-7e!^sIy+9IuSLM3cM1F=!?kSf zMfdSmhjLXnzmx_#(TjULf$3JOEdg$U^as5u$TVTZx(%g{$7wvoS`Rf!CAjEhmdI4x z2|@~t5`7+<-}H)ih0E+nzAd`@K2|SUC#w__e}DinK+eA$hcglEobUSZq6U>@7BEBp^9Ln zUHQ_(0~GkW*2*A2{pg0R%MX++=AX6aV3m=+l7FIaVnWl-n9k^_@geOD!}jE``=K(Q zQxJ?U2P9mAxehjw2Yvnr2z_2YP0(vonhwC^;zN;_NT(`un>t#I4l%9F#b#Nvo`+VC zIuV-OtU*-pjc?c43C{dNlGDVc;pnld1`Zo^kR%5>`ITp4%}ZD~Ei_RoVav&@_&10< za)0(RK8j~iq+@>nnC(cAM3eLc{I0ht2peEJwnw}U#(Gu*8*Fum?PTX;UgKj@&Z{%a zw9#fya9Tk3Y%cstJBhTYhtL^zg7nIv9FI{z#KfvXLSXJo7OLFSuXkjQzbd&-zJqpj zb=hD9rB6FeNa&O&z=w*sp`SV^WcSwR*?+tC{B;Q*?lTaL8Gr2^jFG4o2oQB@*{b=g zN!%+o1{-vbh|KT8{jMt-3ecZ2vxG~Nr~AFo9()~z^h0#S@H_n0RaF((AH-|QJdi!I zF#mL2oi1~duHLIlH9}TAZ{5fFT+i6=1j4imft;hu**!6A+7?ka9E&cNWQe-i#(!Iy z{jP?g(IgUOq{Vkpf5TIBxfVk1sGn@U+vdX}0lI3WN`FwOFj|yA=vi-GJj3}3aP66 zFf>nf^FH3Tj@Dx+ba~umz=ciCfZxixO0hy6A1A2l_LBe}yW9 zcD!mtH2EmV)7LJp4X@wIT^pz|%9#R}``h;jNUEbE*wK7S$+S$rwkLD!}rcy=y2eE)yH$?FMULZ9}NpxkF><2Ukt zIP9b7LZ)Ukx$^{Up%PDL+D6F5hdU5<)u~?xQOGV2R9rxh)UTBk5KbglNK;vY9`7%Z zSopCOx=8D3Mvtz)+!L^5O1;DvhQQ9Gr%pKll7YAg?+}G6+sr)SN`IYL<`h#6<18S2 z!3Dk%L>=41AdaARPUMh$@tpBHa^E6BHWx*lNvius8M8AUO>!g@k$+F1XyCV-fGpZU zPrJDDDVoEqvM)?8P(6|Z?5)H7HC$HuSUFi>&Mr(3MqcxPk3>5d&)^Cn&KUS>NjM`+ zzF7>u>>4UU#~Fp7n12x&!AkoYDp;m=!Q{M{BvT62^Y?7%K_JVb+faoo_!b`oyp>*V zU0rnj1V3Xv47ToGwkRKcGBcg=C}Y^3)^X*z{#^pL2O`)x6bnN2bp)eHNvpG4x;f1s z{p<-N1phz3F7zcKFl`@XkQ^0Fg1v$9lPFQ1NWmz-&ZxCB?|)tN599#`{!q*#%TV%F zrYaB}ElTeZZfo1Asn}G4{fwHmP8ByC-Fi9xu}82Pq-Ouw!1tn`miDMvgqZaGlV;uW z)2d9{@ds#p`uCH&i4~1O>Ptwl?7=jf2xP|EIE)*C%bn3p2h27E@-IPJ>RDHq*a4(l zQ){u5QCG`>9e*Y~NT8x|GW-bGDZ=vyDZmdz0mk+>{-_Z%Q&DLslqFd&`{DQqPv^2; zfDHVZFwZKTIU|$&7BiX3X9w;_gkdk{!hPa8Wq^mzc+t4sPJyMF@yuniZ5=G(NZ&eO zwv9b#>6E%u`U8|78`ph+2zglzDVO%UCgfkOY>(AkLVujjjRSjwV#YGM&Y$4Vv-A(` z&y~8be_eXbWny#gxD96fe`LL5k1kBKt=+b5+qR9>wrzX0ZQHhOTX);;UTxcY_s)C1 zJm>s@N-C9%kufr_S*}6!Tz@UbNC7@v7QnR|V7oRQB%Kj`r_D}>$ZvIbnK<%|j6a`k z!f+WnX@7&=aop#$4nE9KU)FRYK~DTlcvjpAxymWiY#CEMTPQx!4LPwRDKO4K4>4x{ zmBpI{I2@v9zzI>;l5WtSqLi>_%QkF2G>RP0Qy9M;cX|j50dXI{x?4RE-cBv)8}8F! zW9H_%UfqlfB&@r57lV7*kLp$RM63)?-hN)w8-G1*zKJNX(2=ICNg=lNw53<_a>rm^ zG(o7wbC@B|oe#U3RB1!c1jTGX{K3$26$dnRYRA|-_5SnW4xkb;HuW;iYv>}EGEdXr!ViQd5>h6=F3!_cuikz1F*0V?F7tKP)i!ftMTkiy%y_~>vF|g@ zOY$W%wmns(o2xUqJ>Rtc0 zG};s;E5VIE!MH!Lv?mrGM+Vk|!j)aVnzpg{M_`yA*u^=n#~=H2EY zx^9SQQDo~KX&wpl1*6nXT)4!PXSdw8E%2j9Etfub_Xt@(9TvPH1Ff= zb4{6@P(zA%ym)dxxn37)hBW{D zuO$YW4^WCC(wr6s3b2Qf%13x~XcAqJ9lcMHaIk$X6|fx=c_yVYqTj3BPcibvsjTFV zSHU_EA07IE%}sc2_WnIl9)EfS$}kYNXK{NEYcw2vt!{Pp-oqWNISR^lOklqh3#Jx_ zF6m8d9L9=@Hbt;i?!1yiRuwUW{{y0WaUXdVFJ|9+i9LPiYx!cuZY#jc4=kU76EV38 z_`_#3z2H9_JnOCzBU+ABDAjaQ^f~>M_Gb#V2*j_6|LjqG2CT~;B7f!y3Y2|e_UL2W zs$K)Tvu$+jP}KF{047apGg1Qd-`}?GkM`Qy5rC)K4q;{ZWXDKlVf6DyOhqKY#3 zO!VDKr+VFcjP$mTnY7~>&tR-30KYjzQYYGLtN3&N-yDe24S#x!+<#HU@9;#SU>4R3 z2)-hTANt|SaEQO9B+|;~EV?koOiK$SAI*9&*7G}q1gkdEo8i>=XiCY&qpdf(8)>6VuyF6ja(xT75|zK+uwd>0lRd< z3L{JP7iVI$>wg_$E}gwO2FJ2i!^@lO$ANir)*RqLA`1t&dd&ZP|7Cn1=EiL{#tQz; zLisKDkp~tbv3>CAh0e6nU-i{Ea7d!O1Yt(xHyB}2Y^nM<|1L_fXlJ7gbUIDM)!ZRt(?NrNT7O(LjFt znj*-b_qln;&!zv6@}pHrQ3Qm{Vy1Q*AY+9(se_u=#oL6cG|}%INT*MTYgt@MM}LD( z>$VgjQMd{@8$<0U4|FB4Z2iJ@wK+F-cE)`IVt?f+)P(JTxayD+Jp4|vL|ojYeYnR6 zJKD;fGnwg6B3YpU9~VSF71D)3s9fkm6Y7vQ5y}3r!}X=-2c8ILW&WO$&{U}a);$2x zW>+9M-Jm?Dcg88j=a@Z8((?C~g7IZ0T_Wp#&?^nrCR}~k&Dd)$1X1Ssj|6Vxc)6ih zXMbmRAVkULxs+-GLPn9m6pztnHT$r|n#D;6b9#qH8$nf~6poDnML%p$Ng>GT*?S1e zizCbM%3A3Z{Xn2zv(4zqj=t(@D*6WP-00AFE;_9!< z{PZMhgZTkw6I*AJL0q>s*As+`QuAu5@Y}{ut(5s6+i?4{=%cJtI=zBicy{5pOXWMGr#FpZ-KJmQalE zW%d=FPNew5yVxxTQf7SutijaBr5eT)E1C!m?wTsIlJqkXL?#zMOH&2qP4V4`B=hNG z1AFy#nO?dRas+c3t9rg3>Nx?0?s-L8dE3 z9Lj3P7i@vNqt#w|hfKhDkxwk-Jk2B=Dw^6MH2s{lJ0Bbg%c>31dRPZ<5Np1&H)c7Q zRkp+G{mm~16WKmG>m+eDtW9QvSBMq{IR)cR-;%!2%H8lm(GONvLyi0M2vS~CkpEzH zMRrw}%lmiFavDs|goaNlJW*hJVGOJK%P|DUmCW z+hz9hH7QT^8t_JT@_$Q?w^dzr{)Ytf3Xyd14s%BXx&Z)ULq8uXW9fpnOFQ$~gjI*X zn~1k2a7)*8tYwk9u(z#DQ&tl}F;P%I8Iw6QYPVbIt!4web6?y9N>k9+Q~FCY*H9+8 z?Lb|nYaZalu{)?TwLUD>!e9L?9uUu8F0ImsKhBUn%hzm^Zh!5x3B}(K$@9X$pNa+Y z_pg4kRJubH`V#UHP`!8M#%9C=9$!c!>0dZ}Gd|t7mzaBdx;0IPIzOAosV>n_w0vg> zTQb@MJ|m?yW>STSl~Zm-vt^4Wr{k0r`;pj_XHD{0LVF|O9^A5)K7VnCD-or|nTy)i zn!gdgicaf1>VJB%NOKF{%HU`t1dtqGp!7#*OL@^m{T~Ju=T@kRavirk!zZBnAut)) zdzi30;W#wjr0#mXP;O1G!7*9dHP$@c6^!hd!p9@*(0U}g#7UcFHvf-TJ(W7eik+|9 zJ4EY%LIfbO7%{l7>HZqm(i*p3ZJd?MwXIsD&~MhW4Sx<+(DP{4oX7T_s_l>RA1uwb_tX%NFJ4yMF-&`bh+~j7 zWqhS{5DcYNOq_>xYuiA;#Kn?6#~Ez5E7vG9?0?+WH`m{WsPUbe+<0R$G0DMp`XptX zJ{%{aOM__2De(5eg-c_E*m`1j_|p>e(w0Ce9I<^$%tapm?_y7hHW)U9lKQ*zUpW7$ zc$z;mHo}FphBt#{bGIJDSsq%#74WQ7$`rh*YZLL!J!|NmpLJHsszV3^C*`2#VH+&1 z)PMa|2G&^&?OG(A%eF~8&6vb%F2_7$h^^c2(df!oI)UJ*G?_igrJ zZh(ZJ9Lca|J9Ap3g^4?35U&+euGGyOoE4~jO6qg47_&`%D`D7M1+n*b=nyTK-WVy{ zrNeSj%>1_cd5db%YQcRSmEe)A4SRHiTa9$vK1rTq-0czz6YjvESlp@?Nqt0b#bT*m>hKcnQ<1Z2 z-6wlZ!%Kx6M_*@B5ee4d(w|{*! zi~!@*p1We0id#=N^<52Wh-*D_sPIAEdsFH2D@?m#PD6Zd^J#+=p+4RVRJjQf=0Axg145E;m~ zlpct#0A$iM4r+Ou&mOt7M7rD~@PB#8p^%);w!fw?uklW>zH@121}!UtYJJ(CY{^l8}cD$VyN()z(0$u0NT@K>NbW!gbvtw9ntR z(7pkfxeVXb9D{8FOM1luCD~M39(r=Zg!{5VM>+l}Dc|21K5@r5yNHX0sDC@;X1Z;s zqm|XjoTsNZTtfb4XF>Q9vVQ>Uo%5&g?PQYKQH~@$4sI_RdMO+A|L0^SrsgpY3><3? zl=y>n5iV$c4l5fyh_lIR*&9(W-kXe2l`TxlMkQ}oBb{Fzt?Aadf9L;t?ADY}vl+>1 zbdl9Q)K`Ta3Bvg=q*409rUHiLDIue~K^=A6{Mo@40rrRA?s@@}R6q*oVxj*}VVTRtZ@ z>lrSk9a&F0C;{J`*}6hDDHD6K&|g-W!<1VXHPIdI1>Ma~DEM|SOjJ+{7x&$Lgbu15 z;-F4(>_S9_Mb0>f*n}z&(~m97V5)W#cGJ=I(4E_^-iukzlW!Ztd@%)*|VD5u=k=t9A{4|c{?HOSCmR_kw z^}%H1F;dWPAihLzFS6aQb7yYdcb^+NA1ya_LCF;gr=|*^KyIn$5vTMhTXUzz87&=) zV~76DaYJGmTE=OA{P-L`Bn0I71sAf4N2#i_M`wdjO@H+cND{33^aY&V4F)C?wVQhi zl4Ve?HH@bM9{%9S&1i5I|M}|}cH3^Zj?}dzOM%C8Ey(a2tA=W>&RT3oY(zId4TpI& zKVhM6RUu=}f>>YNEiUh@xVQ}q<80-@N(ZpUx*8t3ptG%93w!x8YM;C@cI^%jPd&l! ziQ<>GRe$?7DcP&ku?20gAjNb~(zn`+aKJj!?B|;LfYAvSk*;h{anCb}<=&)F{xKLbSpD`#q|JzCBhg z;R{dyixEuzZ6lggb&o8%VKjqoOqVM6RG69pjDK2FjZf2sH$W>Vm0zPc0yc$K#|SBj z$|<$`F(fTdW+tnTtU+?vnn8Qu!oyXhP~H2$;xsE1!>SYAg^(IQ!o+;fP6Q_bJwW?P zpl-?M>@L?LF{4-DMm-}PG#%~-Cix5Nb2wVEmOgDad zwD05`(s9MbfjH#J)p%goV0 z{di_1ePyt+tP8kr5WuE70N(qF5-WmK;=ZM*+|ZoG)_hiC!3bmJ;=9-*I+e|MdvOm)EWsMWX-ci24tVA<4e2iZms>Qw8bai~*PIcAjo z3PbJUaHH~r*QY)!>d7Csnl|gE0;6G5B9aB_$|5_Lj~18thn5sEi@KUs;vl3z61e(Z z#1xqI2iWcChDZ-bfX{&9z-;{h^MBJ#RAGq<4$EU%fNPfnqtjl8Bvd`-gKm0_tihy2ZBDomKdYoGm;yCiebWOe~|50ZYm}7Hg#RC&$SWsRCOH7Y4 z(UU(H{1~ew7BZB9HUzF4>d7b*$Gc8+ML?}v%}1JmX#op00QdXb(Gck>gzvzNZH3muLd2roOue?NyEP%So^RSttO-3 zfPwWPsw@Oo)CuF?bPM*ifK0kKOR44D)7KK+k-0<2y(;j1=lb}u#JTte8k)o36 z;k_t|>p#*;@QA^_R`?WL$p&PRXMWv!f=NG1m!BC3KG%y9A%D(NczbYQS|}TZ9q?x} zgMk^R-CKdqzlnHAqrQizpuqUmPk7(+*IHZ%tkT~YGf~c9kl`W+5>t_(2S2$SAC;5m zNj1(3P<7)W^}hf!U|dFJX^}&`Ge_F|1ah*Gp0vW?7rnsjX8BBqE|pG6RIWRe%ZWQ@ zQn_z6FgH7BRt_}cui8Rx?i47xU zQ&e=_{P9{d(z8NPVeukb9iFdi^L+1}m(=4IWg zNfRU3a}nx`37^#+er%C9-?%iW3Q1^#!=;z_hFL_fGk?X+%OFe*9EJ4eTTaMisl=3l z(>uyid8Y{tB7e*?2eFy4bJMD{+qM-T)#m0?C3@cig=TZ+f1(y(?3|N-{q&x61BWm; z_1PvZCxGjF4sMNBfrSJSmpGm7+$OYGiQZEONWU8f-3omcq?FmYeesug$we#U)7|Hh zp{-{jw}1PXlTN^D|00IuWtCp4YP3HUUwvj~t^Ot@D<(M=mOinFQY(s<1q`RUztRV^ zMDk8OL15bnAH3~i4vdj&W64nMe)iJ0GxYjvIdrm6H0D@NS+kK+p!HgJUmB|vmZ#!6w#$4&@` zw=oXPQncy=_!g>$ZT(TcD;rI2(Tax_$4ozGb@WC9jZ7yMU#Sh7h5=DT18)Ucd?DFN)nXCT!?#Df|G%UlO*d zoPSYP;VqIGK%67MdDBAByW^XDgbD$ql&U%6lj@9+F90FHd66Fh-Q&1yQo3>18qRhT$Pt7~>3Nb9FIJaz`jz1fGW zDXp5O87$7WLrxP7j&6%kqN1XU4kk60zkefgGJZs6RF~kr;f~nAG&NK>!UOLTs&hdx z={-+8n>zIB_9;9lI#Ux1jMsSwZejImat7*N?{;Y!i50PM-kxR4mKQ&U2iii_dx zE(AN~OW?n?TGlp#(*Kpwpnw=YfBxeIYqI9SW8k1s@db5dKpR#r7oq58lE-ih{$O=BTcrhjG1gc*w z$8%g6{+@Lk$;RGdy{Yju?%Ldfn17Miu`*zSVhi=mQ}p~%PQZmLODiFwkRt9QAS8zwtp=wp0rXU~H6H1NsLqNvowT!dAv0^pWj}P2m8&n{b-CQ3 zB*DPe#;1SKJGX_=bT-|PhJWiX)|#`>ID&eSwx5z4-*g0{@RSpJj;BMFcYovq<$%e@ z+@QJ>$gYz(4Q3))OjG9&4NaGyd%e3^Y?NC$q!pS5T-BUzL#_?kb_!&ca^k{?J8<4O ziy(?STenIX++V?JL~vO(&SMbVMYf$?Vut{6=nBnseiCu!bB5#Z5M_6@YQbcF;7h+<&pCLQ7Q$oYa zqD(tDPh^5ugg2pdbxd=b_mcAAlQTl%#x<%g+QV#9AM$rt##n^d zO=?h(yyRG%fs5b^5P!jla`wEoGCfksv3hPHl7bz57I95({Efb&;&f2z;d4&?_2k`8 z%w)4W58V8%=^tLGhekIcu=dYxbW5f%@=e(O^x`K9CPIl=1NdUypo7;QAINxr z0`ZdD^<+%>DEh4p8Wufq#`yj|gRdCydWmSX2QCh2@;Vk~k$;>fB4hUvd2rNePv7i4 z>yyND2Rj*d0C8$c`Gg5jpw`I?bz&L>{|oPXhKR;o;jK&#ayOeT=39#T)DgSFrvCb^ zP1@jM>G!R|hI{(@blyRD-6y0$?X{{q6Ev@0?(y1`18^e|JMb%Sru=daV3iUR)+OuS z*#X<fuMMx-r2!OJrNeJ;?Rq$`Ocv}@m1?xXboYT-Va3}7)!w&Lvzf>Gu~OBGMl zwa%{=44lckRB^P8+yBeHT$aCY>QppvFmAJxYOE(-DSyH0hZ5(2D=tYptDaUQ*A=0z z2SL8olZE%YC9neCOn|kggv@d#52mv|a}k$#E5bvUhsE;6Z!gN`x@A`y8~8? z8$)BLtAF7Fh9hq%ZCe$)tqJJ(Xad+PZi>J%KdXhw+J-Nizy;68a(H?4@s(fPX|nY1Nb3fqj|VlE1?!_9J7=+VCi>m{8hW z&3`&8CR!OdE#>+V)M>&?HPXz#$8U%pWR0pcBjwuq0iI(Tu=AcPF?Ssk+`Jl3+WKAS zO_%wNf4bo6CF>oDas^*1=6_zW)%O{e05?b={~pW7>Q}a<7gUpr>ER@-z}YEWaup%d zNSQ@-WcCn?_W)QQ%HN8F4Itd&D+BA~LVr0_Kj)&$Dgb}z;z}BRoHt)G+^u3&cVb;? zJGNl^K5<#om4TyJ?5)5nEhvO>KH3rDSvUmn!-rH*>Fl;It^DPDc0BzCFqkLDn#VVi zzZ4QeREAd?Efrt1u@~y1g{vU3E^SlqOaL**`9>%Zap}d9aWog6uiBABlXdVrbAM&H zSLyE_J9tVD(H&^b-R>S1pl+i%WDAm9g-B0}l+Zznek(R?qD|p%)C9J$!3M<87VY+4 zW|ixm?0Te^o^rY2?Z1xDQy(|MnGUzhCm}p|xr5z~R{AVql6>Gzis{}kD#|>`wh!XHo9fAxlMdKO@EC}-#n-2-Cj*$wW>9YwAW?h?;=GP&!aaVYtv|? zc9x`=s%<(ZI&=R^KUP`r+5AKa}0%gqNg~b3PdnzvSuzot!LdSuN*J=AnKpusKU4{s_}!h?KhS+@C_s6V5p@CQy5tQjl~tJNrHN=htbeRQ91DI` z)@+JjR$_&~#A9SOjs6gd3H1Mtd*&Y;NF1rI9UKD1sKX|$*EE1iaRQ(1}mlGx?*D*^i^MhZ}7I@PJmnj`fZc8x@>niG!#R|dGL@lG_BUpYpkiE zdAD|5=sM+##B|d(cZN5^1AmuW2fn5`turHyQ0=no zNr(*0d7%VMZ||>G;@2Gb-~Mi`EB;|7z=Rx7B~O|>D>ZK>05c4RdD1h)eQ@){g6L0* zH(ggxI7Pl+2}x`wQ@r~OFA*NA$}1noiJ%huRG0JjgX=56SQ27_A%Fj5(UwczW2YtP z-kE$?EEF3X?TV0CqiRhOV~LMDu~ecpB_CS_!n1r99+kFXJt@J$He^i7KWJp$ckG%~ zGpH&^f6lUUf~~Gc4yVT^m_t959BE2^)8w4BoNzIHZ6b&JSA5NAJ|&I>ZBy||C?{gq zt`}x!EXFw3$+z(=>VFgG&IWR2$U z8qM4E0Njgrr*;96dPw<3*j5iv@$VMI0oxqdpjW8YcY^FobhwUO$tExu99=O8a5XL>mciaDMQ%!@2 zGgEkC1rc|GNq+;oH;1G@KT$NyoO#46eew$kx5JvJVj#Idtq^x@l}ldC^w(KP?CF&2 zP$k+~zAM|Tht1+y2&&4C=hars_cy-g`j9awEB~c=2w_L6(7PT<{_8VNtFZSX*X;bM z2Tdq9Q!21Njbry)Mf^}VdUtoB$Ds+^ij5OsCc>#7E`JIkB09E<(F;PS@Jq6cHIU@QUEqH_iYSa#&QWrw&Wb=jM3%IvI}~ z78@dm4!jxRl|Q#K)n0^HbADRb|-&a^`vo&(*YDt|{lASB(~k#L^-U5MbkXt5$#5`t0# zUD&A_2ZSKv0Jt&43?3u%!eE4fjFe#;j(Ovy!18L}{o4U|W28Sv4zP5nDno|3$+#`| zXX-BGkm z)nJ-_!`W%79h8eGb%^$;yfMUqHNe>Wy~Gdi-hFc3qvrCalT;b&D3;Zn%SIKqF*J3y zrh9J2T)fxI6Ic8VpGSPI`im{#b}8d&6((mOpMkcD9RW%)Z-^ZXqcT~0cdgM^GJlPk zsuMTqLZ!7@^~9KD7Zv=<30lkDSq=AM;`v@XDL}a@Cso zq$hv`18dbrGneN(fo9vM)#x!)9S z79=p!^(tX?;X9^QB9N$2@1suMwp8`Cgt2{|61^fn&eNE9@vs{)yOpFN-G3@Q5E(h- zN?+6)c&&&AS#BCnbKq^p;XJ^|=O;jMmW8)n%DwX(Uf6v-B4HE!Gh402q%eSV#&^|8 zwJAMUKX**Bx;qMmp%FEV(V(U=G!B-IjY3YCEYS4J^g%R~T;l=q3SLRA^$7xR@!GA{ zDhq@P^uotKaPWVNQNi(xeSfu3j5Bo=tz2%jWqWjZ0WC(&yoO%>EE3SRs0o1;v(O|t zyU`-p>_0!lvg_!IGm5jsQy3J!$sno6)%FnrzM0aup7RZwu$~s+juM5tI5t|(AgyTW zp~sk0_bw^&aSEnr3W&dBoyxdSh^u?atuw*uY+><9XkfY)|BUC$L=t8532xhQ>6`jA_ z4w!&v6KKEDv$S(Mb`F~ys$U&vYNuZBZCJ0$GZJjgDq~FnIx;Rgx$35FEWXnoNslw* zc?-A{`5tV+KnEJej(@J3CPFrD%=nc)>3cnrK~DKjh-5k#56r<(9#Q^|*0)-gSQxxy zI+35VxPfBn?XC#}hln_c(DJ(%bX^A+OkQ1$I>Pi5L-|8Pz+1K*O+xb{${KBs#8N#m zrR`vS2t=9CuT6k3ImDv3ZH~&ja8=}@ZhGgB@6b4<&f0N^SASfNTO4--=bm2p;e~$P?_$$Ef*$^~IWnrr)HR{7&uaC3l!r@5`RP6cdaFKrJ|Fa!ihL(g-OW8L(%F3I7f`Qj|YV095I2duj+li5{K;1qDc>ZiJEgZ0CH(%nP*eU4KHlsrFT^L~14Y=PItyYCPGsi1 zuXqrYM4}tj%_`IW4ud;|xLAY8*a>lINbwYIi2Q{nXIa2^o}$}2Dn;5km`*!3 z=zD+UYo*OaPk7gR`}M08k{8yDczOQk3f^FVy$QrPO&Q(Rme zsznEw+<$k+^}Fzs_UP8I*s%E!)!{YMK>)S6K?elR+mlvR-;C}v*_t`_yRNABqYu3y zO%9oC`dZy%vM3LP|GR8)3q_eHwy)PIZI&}cUw&}QredSQXBU3;e1K=TgN z!xR{arqFCK6X%yrtmc5i)UW{KBAtRwiue}cD^U=p?^)wF1Iz6VBzV`51sG{n1wd!- z>NWMStuJj@rQ-aCog~Q#jf9ex4a(F9B*y=N?QsZp)csed1f>0a{jeEtv0y5?)|)CH>g`2 z9y(f{eSbPKkiBmfF?qkKgH5enRk^gc8FB*A4QMp->jqO2`8smMQ3MswiuADedXCws{87e(A@yetyNtEeQm;fXlm$ z;;9~@jeVhlnA9sH7*%85W-bod{!+-5I zOiKVJYU3@S-(wQyt{+NN|L2VEzVO4iOlq3V-2C%E} zBzq_(rsR&&ggG5BkysaO*=`-$uY+YTj~9kjhw;Z?;68rDY_bXv*GDTBYz75N@ztx| z*K4gAU&j+o_3MVkC2?+R?jN!&RevSWh6_c(eza&eQ~u5xEng_uX*>|D#!HVfG5)((JY1P}(Jx|ndCfS>y+RzT%#PRL>d z)%kO~{&TOr{1=(NA=kQS@M{WG?=CoH7p<2vX~fIBg*s>RAa`&B7b09upq}O zbv#`6{xkIK=mEe3{PH}UrUi4L6Ef|X1)h0{?@iv|$;(#Q4LIj5f!4(-=`TWqNt|QJ zeu2h~MS5?OmAHthQl;#KoH&5wPH@|TDerd zjc1|q5laETMQ1@w6sDWy4{whZymKRm;SM z>m#+|R-BNf?>@ zfa1Lw1Kdd@5B^8M)Lk#(l{&%%p;Q~8D5M5zQ!ZqYokv~M-GMVSIRU+2shRT;)9an4 zOb1Tez(z$#I&$e0#eeb%Y__cq%DYORA#Gr;woX;jCxfOmZKJ1}LS`&C$1_h%{;uPM zk~;up>Ra;J%!+%M_Vq;pW1uG`ZxWV43SUseHGD=2yG2PjL~@gI(Xdkv@ide;1C&ZU zeYd^|cA=pzpqs4ehG0BfV8PJsx|3IA=u31L_urYuMGOhXd4Jd^P!J-?+Pu^q@<;03 zP0$%xQK@_$l)*~x3=a3+M9*5Y=Q1qJmb-Z>P*FSld`hjb2MwPmi3ootGbGp-$MTn))S_> z3RoR@*F{@`P3{kE?Zu#zIz(A)1`z2k%UKi5#S+t~c}tx846@9=B}`YSah;ghx^O$t z7Ob@PGyKKvG`yRPKup}fEs#Jx(fzKv1AErFgu8(PSAV%@9XK^lTdWF39A5Vma&M_} z;nQPeeAJvb!Tw&iC?icepd%r2L)vGwIJrJ0tzPj)u_UUPOQ(V7b{FgGUne2UZ|I!; zTfD~!%@ZEkE0bsTD%fXa@ep1JBT8#y9DY|`(}SyWlFIeOAP>rBbk@FHajtmGw#i7< zsMh^s9e?I9*5Y$Bo>@!f^U&`xnDg{3jEMWUuBDSMl%yiv%|c|g-IUlTLrUgl@M6E1=$Fb&r{>=w$$!Mbplep$6V}M2JZ7xg@Y4rIzy7 zyv!0Fd)=U!YQKz%tDuWyrDteTZ4d4K5r4zdxPS5j&@bSPsgK3}T>kn#&t=0ad-Cv- z(V58&5)onV(O_-I#B(?eL+-4;!q_)L6U%hyWl~O{k~lv=j;n3yQAnwYeWz!dmgThA z*buEiW%TgxKVpYNZ@y1^m%yIN#Sf>WDW@-+ZSun6u2fwc>-U)9gGV1D?OHI4=jD&j zV1M$Jy$K_-QOj^F5n?Xn*$Z5QR<+6J-RZXANG(>I>LazsYR0|nx|w*`k|B!>oON(* z*HnmfCkLB2(`=#R9vWyyux$kW?{UwnEd-CVw&RydCVChVYt$Yt zD(CRKwXs{t!-&309GfVyh-Z&yH7p$Q9)#CtCSp%FckZPbP-x?-#QnfqbA+>Dl+GqMga8tI2MXMa@Q zQF{{uBE4yNE_vc^NaP~1B^*N&5~@F|+WN~uvt;}k=1=^wuo(jjXAvCMQjK!)wfP~D zHlonJH2rjk*~#&_ZCPGE!Mp{-G|Clevw4k}zNAYAlP0*mZhc^}1D(gsStLrF(Xf2# zhQJrZ?oRuHEmzz?H7NhqdNM0C2Y-UK!6|>_K0tU?N8iKib4!sR8AeEr`g;GM%Hn2& zNeZD_Yd~Dg>rs3D8YLnvMlmuLG%_S7mnUFEG=1iIUmT_=l4zdKfp%9QU?tuH>PKWLZ8*FU`k(Q)f+CxSZ0%;u>)05Bcvoi}|c{SQf zhoP~WmvI`+?a5chK_a_8Tz|K~suTSu?A9+9L#qf$LTWc?`AheAqTtWy`S55xK+~nN z&v>f~KwSL>wvs+%GAui1fLd#)h;g7r>@$T5>_jjd(kL}wSltIsz{@U_zzCz5jf`8D7&zC!B^aE*;SpEna@ddtyTV#BHz8zNQDBn&BEMxxNga(`}6c$|w>|7{HM zFRRrhs^E1o9aT?$#7Dv9P_%LVYi`+^g5xw!Lh1fr<1gF4r3$rr8an0=d3~rCn*~ln zBjX=m>&cN*)rco0-dWJL8r}RJ-<^9=rB$Q(+aE0o5OI(1V!} zFW`Ug%8U>|fUR7a$$#*nrVnP~P8zG%tD(=?&ZOwy=W%wYa9uWgdwjwLi%6l+OR^{2 zLm#xv5}JLe7H=LzI)0{uW^H^6nYRK6{}XmhyHFs!3u9X2IFUTZ6pyKnPa}}EBsU^d zEF{c@wLXPKeR&MybJYC+!qE^f@V5KpESB^-IlZ($j_y(4z<&hV@4_edRd_#6Mzqd`G z63N9A+_WA8g;H<=S?48ZVvPCC8-b(I}1v>S@pFh zA=ScZ=PrS2ETLaG0X3~^6m!K}ONWK$csp&?+~(fB z&?{UCU$HuK7F{9duDj=_j0GDKZ(!aWceS7;TD{qgCqr*|Sl%xA@cVMK4H2qn{X5YU z9u?>4AISS2Oc*V)Jn9)LGu?rbZMQGhWe%K)brY9RqxXV)>Fye9rY`0Vg=?5+6_QOx z%p5}?B|x^k#6nsLU+tlKv6k3?p(e`Aprg$Gvz6xJZLVC$_ zz%jAe&+uO>h~KVTEcn7Keemr%qw_H&Zl_9GXo5$|3aLETo0a)RONWYoFDk%||CByh zX6FtGugY-3Jl?H?N)Go1exQH_Hq5!1#d4oz&=vVkmO1G3)IL5ayPSX2SEua0!$FP% z3ylMJM_ct>fzco{#i610i!~t>i%5B2M_|2%eI$h#Db&(!I--x;7w1cAS!Yg|pgRF$ zuj=`49LA7@{IPI(;ymL$;cw`0G)x~WKf#=QrYDL#PvJx#0~(LoUt(fI6!*A;GvqFc zLL1!9KV(MrpO`X4`S7dIn_?a%?-!kcE<(Nx>}K3C*u^?%>=LC{VS&!+e9%6ah=SuO zI$_8vW};b;!__$R-18<4oO7}D+dE9ZlWJ8q#(Igo=wc>nVtX!2=bWNr1Jv*_QTx3@VM&3(}V;V7{%`2x2v+h^3j*>BCalMr?~y>g6AR<{W(shhMD zL+5!bK4+nsDtHo_51V%>66Xn-q1i)Wz4Lkj#_csJ`N7zr-}$C1FYSb}Lbn<4Hmwt| zMKC%n4ck5>D`H3-?Q$DQjV151zy%fNL%k0IDoLT^)B)V7S4Ybm^ud@w_*p1^d0`vM z1Od!@=Ti7R&=FT1z=j_jN&~B@<0ZOaP1pv-v_Y{RlDFcw_x*Lim>CK298euS(ykji zjT_XT5qVf!SFJpRh)wQjJ5bq=eOlKK{ilfX0J~{uJ0&)#K7~$4u)hZk6+T@jYDyt* z!rlHU?}ecYLY`5IvWyzo{*bF?8ONF>Sayg$LHD8SNNPja=J_HOQGhMM+GN^{ue3-u zEP;FdMgiTl7@}LSkwQs7ou?DCnsiNe%zcjYRjOaUxI!g|uETBUTx*BN%-(O6*IFUR z9gxlJIjLK6*_y`{vF_!wE06!Jv^H)yQCDB?YD33kR9fCc&a3xe84frFlRvXY!wX! z*+d{uR25w#VKh955TIg>gzXNVWnL_jSDCU2x&QQdCf_Ui zjPU33cU0yvaJMuxYm~O2;9*nlvT4^u-=P?uDRNM5%B5ev4&8mCIY2d@hug? zYH@Jk!4}>EBb5rt>Gh%WFf!(5e5M!NWmUJF3akqqAU_f8{Pu7~P z7Pkr(MLD5-Puj*!+ADM=@zR}7#>~Y9ZqK6=)IC_nwNR_kxqt!v_v1OG-Wcjhs1p&Z z{?~Q`1mH8!)nxiC_joZ0Xs3kU=_LA&q8F_o93q@5af@uaAJTBNiUwNqb6Ds1_LEb|&0l zgtS_wqv&O1w1{OxmKP_tr08Vf&i`l{22cfCXF~2ycCQ4Q)u9|(NK&3T{-*PFofz=9 zA)@AkbrgQ^%xZW;s^)pL0Z(K^{Qm8I$O3^Fs9SYzInmlTN)se6rebCDa{vg%EmsZU zA`O~?!0q>fo80rZ*lJSQ!nDa8L80%_qPkKau&_}{y-^8K5s(nM2kx#mGqKMuSrHG zf_;KvvYXDPzD0R0)*e1FWCu3wJ6E<~Dn=xl*h@8a`$NiGJD4gSl%kJ{J8pApI^gxC z{9wSKMZrKKiaB0y1F<0_iB26a==>|tf)dJv?8O#(DBp@D_&D(k3Ep^}l39UW22f_W!2xY&klDr7XqDnSVDUXuk{@iSR7=(pdqt3D7N} z-O)WS=e7zhLq4c)12^y!>aJhMdUWrtd9%n(*^5}9%91LFviY?`d7e8zf=R$$AmxbF!C4pi^TinTFm`OY8@vq<3| zSI+lG-OR@G&_c20w$_2HKNxA|`2db$)Hfqk>!?nJ>u25}h?#$@lGj^-BR>65z3Suw z-TvvLk9Uo|RpFg=?Tcx2P-aVo^gG&3hIAW-G!4R0Ws)uNjSOye`jgRu)TXxm^+(Y) z{<`37_wBq2wW%r}Fm0sd9XEe^i)Z{iT{?2b3q~g{6|soC_RU`Cf){V?n2uVVRox^8 zMiKCNgtRx)R#4;vFH0eTBdonu=k1k!{>4x0VU^524hj!1v<837Px6-ZnMX0J7F=`F zIx+$mW%rq@WK=Va>5k(%as0CA)E! zQcoPC-kp$Ny#4MN5FJ1mD>WZwS?TxeVIt+49yeI0b<&lp`@zD=3FN@=fHXkOzZ~BP zm{_8or^LK~E)}yhCd}X&yC+(pM_c)!wBeoaCFn(KR0J8?7U-%$9Gi~ISlEqZi0x?s z0Mol=t#tO*G>GIz(6`&PdbrZVTC})?K85P6by?|V)PLgw(&HWIbjN zuu138mLHEBc-GEICphlX#k_Nk;vIEQw%3#uS|$-E&qBnXv^w)@-OGKXmu&w{YH;AY zNAx$S`V7{NJuvt@$aZLIZ-vYk&bnT74!>NGeHrzQT@v~yr4)M^C0p?FO$f>7r+NZo zQ;|b{n{b#O&{eP-fcgNhFC?to8?nh*Pa*J~=q8AUj#^keY9xUOijkw>Sm*6dPXs=? z5ltM?FQ2>N!LkcN;$=0lGB*-!Xmyg6pw&<`nYXC&k?np+I5nCT9=0+}_WbcCMz;L+ zic0zlmK2QPC7$4wP%Xr~^%QlGrOxx$p{7&7G-jhG5FTD|cZM5s(zuc|il1_|D_qC@K3M^qh^ zv_uKlE$$DfrFR{-Arufu^*TmdY&owNVdy_WQc{GLwFJ$-xO)^aYWYAte@MYp@wxkW zBDRYTWZl_$Tkh$#(J`*dk*y6PVVG37buQ{Mo@cZOpF<(?>m_K{?K&YOO%P*g!7Dl_4F2F zL;aMDei(F=pu^}JJZrsvHczX8@{Qp5^xIDaZe!*821e@Neg^-Fg80hGgSzFX}}8r zZxHp=``_wp0&HETlRM8CWf%sL4LyYhL|d2j@Foz3f3~GllO)ZV6RMcu3xe%K z6o%r?Lk$?34xu|4S2v2cH-@b^Vc-pStOohDbM02lO`M(To@jrqgqm_@^}NTsadTW) z+)6EHGI|-=$0Y3vVER&U9J&H=B=18D*ScV{|WUAzvae5G;rkoiBbutcQ$rHjZ zl`;+T9F&e`u~av9&3l^o`eEfC1a26DOYl%J+4QYvUi*dPEjtBxE|8T&PK$NEQlW| zoM53|#8SsHD1zu|_3dKY9KRT-!syPfzZBSs@<xTQh!xs32+YnMOy;!zjpZD6c7<9{NLehvU>2~Z5|kA)+ikZKEX)!7vyZHTIn zh&EQSt@?aPf20swx+4VpNo@3R4{gvk>_l5vuG>I~NVH4Ca7R|5Hw`dWszvkk{aPah z9LrPLo$l;iOr4m?^|E^!>?RwEqc2eRNc%Y*6pkyg#KYE|(uO~BVSO~etHVRs{b7r+ zo{U;Sde;}43Il)}YQhx9V4QMIkiS~H{Jd47cGT%x-+@Ic_egr2a9*@c_JW{3e7Zuz zpOH^Q{b^iU^cUtY|26QfKK}ss^W8_WVD1Qqmdmim4j%j&IYwWnMYqPK?p)CdCG!I5 z5>n}lLiMHOmpK>$uF+EU@Tdgqq6^mzxvUMl9}3y33QgmTHCzOqO2qvOMN&bA@;~K6sXiW_flZ>x2283OS#4#LO zp^Fbup2{M>!AoHHnuHhq%^%JQb5Q<*aYp$bkcsl?594xjWYAL5ums9mpn0(v?Am)1 zS*aOuTF4Rml5F#h)5(77xJH~-U79GEyZXqTVQ^o%I#M!YD@%B{+FTw+H!4b z>ls^#a-}8*Rr7t_i$TTIwmmq$=Ie{Hc=K_MA!~aVc_VPCt*#HG>$tVY`zLJ2qFN6a z+t(+FDJn)#XDrTbVh!(?7F(>@W8X)FBZ#u`991p@lq7>ayR8|?82oqemSbYWb>tmK zLaLcDn#oY57Bcm1>qnY|+<{%yP3RikY=*vfLRXx4zJHa?_FE5wz;3nM+Z!$m>aXC~ zs}L53uR);nvO}ypW9a=QF|4KxZNWsPac{a@fjC%c; zvpcUNpe`sZ%wWFT&!N!4y@EoQD%{(9mWZ7a~#@4&!u! zb%Kg<);Z(Dk@WcG=xmw%5VU9+dI*1>{w)!7*SS4>9w*XI-paRpU))hgRPbTeNC2pc zVy_xxLeP_5a4lMeZeoZ`Ts`kX4cXpzY$e_TXP#_|%Xz|E##vctHcX@o`;g3@*VBT8 z^#M-e{=3y$Uax;4?>?rdHHy)JI?P!>(yv;m)xdj5yP$(VOVCZ5X5*h-xdJ)87&wo#( zcahoDi8of+Xh>lL&6?W?{>w)a6 zAg6(`J^hXaPQuc;DFS3%UrONA44fi?mL0{Cbd|Kc?Pw$$yCzxz33IXdm&zBwDqsu( z(U!b2wr|1*>T||c^gYG2gupj4bAT!@JzB<^W|C2|Ay%viU#vUITo#hZ?3mT%A2Iht zhnI6|e9rY@i`wu0T`cffUePLW#{hS_R%j9jL?!6m352zu4AfwUUae$;TL%i%0kZkG z{2T6ZxNjFqil<2$7qpoQ&Tw}fuE71}4+Q(+fd`J^qLzmsIt}FtYil)iUPhGvddn(I;a+*ht0Q7$6rJWeJhy zFxN4rXmL&i%o*Mf_Vos)zVk7JgD2Y@mWe#XxxqE40pC&m&w}$}nAL6xqJi{8gq|H4 zXtYS76nRs(2TUfn=3^2G-LZG?@=ijv-;d=!Cq~I{m!e@DDlUf_T4~9SEVi$3v=CKf zPM^B6Ds;(z%#16)5544p5rcq((`vFh?SX-wkz;C86$5Chb&De?ZKWBPXIjWVNso>Q zsh~IG+fqWi>+Nsp@MyRi(Sh30?$EEMmDpLbXU110xe(jrRAaf3!dW3VZO_6~Tm|p7 ziShs>yxg~cn}D`6bC~tuR`IN%99!F7-cZN~mdZ2HIU+7fr&wU${z7PK2DUQsy$bcI zw6%ZIiqK#0%K2@QE4iLMNDA1%sMzrs%TKc@oTZEw@bC1xqNIiAdjm<~A~Fj%W{*t8 zB4`WJQ9Gq{U*N>Tg!rXv!Y?>3_yL1zl7g zQUcHtRkW~4;$R;WKtM#Vw0VCQL|r z@FOw)O06Dej&6y*JT_1WA&_*rwetd4 z8kN*fYy6~Cf%DcCaWO*=Tl9psjH-&IFO@H18Bn=&=@PLmqM}dgU7c#~T-rhA-Z;!H zUbDQc_9j|C?+c?xU3R-C^c8Lw*;ouRBINjw7k% zxc!jP?6A;E`!^L!(FD95@8bpAri4xoYM!RHCOIqE?DpH*YQ>S!2eYk1SG8*c2J+0Q za{=@morzvO3)rEMDM?#!n~oXQirpV&n{4=Z5M%`mT0qco>a?RpxY-f^L5}t=HDMB` z$q=n6Rg%CNf*0fJOiWEKMaiXEG`ev58eYS{`w@9|eP#2F5ntkamQTqqe*kP-J0kaO zONss_fW1e;ZYe=IvhE-7ORoyN%qt=fR!jI?o__dwD4N?|I(^_~`RK&7h(Y?NdR0ap zED^~vSwM$vr18SPnUkXq+;P@q&y*S@)N(0J`T^%PD^<6_>gdq!Bb%9H2g_k7iS6cr zJmGCCBD+YeR`{ogxbtpF@dE*(lHc?iF0(CGxgNluub)Y)d142jW29wrh@f8EgG%Ao zHeOfDJJblus6#Ur9Fj{T(s@AJher*%ID7iu@&EQ;6(dnD!>)`O>4T^MGtUepO zQBIj4K|Mojc6?#&=+pGTGe}Szj|v72(D1jTif+t4vyb4-?xgOZizK}J(=uqwx*4}~ z*{Cd5@9`=(YU6DRB@cXvilQf9%p-68%0$O2%1GEBdf@F_w(8Dg9n4;5L>33Vwfht0 z4Nx^p!F^ghcTa@e&DppZ#Ww|k(cPmSLVup80*LvMg36eVa0-W!6D4~#uVo54oKR^i)j&m4bGw75<2?VnEA5kB zczKe}bu3rX$~S3Ut4xL4>8&^ki8?lx!_zQRhlasiT*GlDrxKsQ~_6-bCF(o6O6`-I~nW$JxTw)xwg@*~HAw#L9w>McLKK+{4VmmDbtZ@}C;Jz(M*Cl6c^gj)GImxro{TGLNL(~lIs_ph1Pe#=|B__qV#~mmfuu(L z&W6AuZ{cY5FG&vW@0=+`xU|4aJvp}x9*o{MtzA4PS%@2oAkdQf$fI}4j}&i*69e9P z3a!w}#|dx&NZ_+*Pg=C=bQCX)9Oziryu z(^9mLkSm0xt<{UOLo?vP?6YQ?Kqcv(LONn4Y3?UdM+b*(Y8R_wjj<=QBiiWzRH^Ev z(DQ=s1=7S3)g?HJIi-FxvB?LSGKNRUpyC}2!?m+g|41rCndU-phwhc+P=*p3rJYX# zByiG!7cm`dnv4LjMS_9abh{8{lWUMc{kBD5Le_Y}$^BR{$ln@POu)QLQVUtZP`k0m zV5Dh-Ee65StuVpG<|8C+QK2xVu!=$>_M_0bz}Vu4=^&zq3FfV&?f;_xK!yu#t^kKf zq=i;3{5PBvRI;1}_8}3%R}SBb*Nnu90}o*iE|~;pJQfy=V#1nWxB^b!P)PxoMaS8tny9}FEUP9C z?*>SL7o`d#$|3Ej#R|{Lu5VOF}MpP!^QkRz@ds>-A1vnxdM>Bq5&5!Oa^tJ-EpRFyk}T!juFI58ILellre zCrdc%@F0;WD@o|AmxD?fRLoG+8Lj=@|t?$^RxjjA?G7rao3o7Qw4h zHfr+&6HPlPNS~Md84WYkNFIsYDL4lnO^eIcu}88{W|z*dmh*Ek_^?i(9Y-sXY&Rw3 zWQ7zqa|sUDH6pFBhFBXakM!+EM8YJ&yO(RGy^8_VOwqAN@SPA(Be%!b8Yw>PrRE;{2Q1P5#p@!9T=3Uy85A=cesui z`a1pX;hT`aK6+%$(rM5q!6sV$>W{Y8^YG#DtJFd-+IvKYdBjA;QfrHmM2dD6t@?*j z6M_4Vj^Hj4()$6lXUe?6`u&+(P<&5Iaf=`A1e-7r1D>!q44K4};~FNn0|Km|4A2Bn z?>FdpB}bNYaVEpg=tuOj(w-@uMU#0>ki27p^uvp%o~1iuupgZlrIX+|`P%DS{Vp9? zXOC9>QfsZ`qpLJ^EEK&#3m>7bU>OEi;(kAMeCJ^IZkWP~&-JQ=T#B3~2wZZk!anWZHKqJeAU37Q*4 zfVfvX*=EJqv2@44M;%m@+77X>>RFxiOyvn2W@iEDO?Y%Z&w|5=n z7Yy$G+ET0T2dC*TWyXDCFA1q>=PFrJ*|KVfB;=O$A8j27fqqRB2N%(%<$xl3qRMwx zk>=T;fA@qusc)_%?K+QS;sMF)jgfpaLz*I2mJb?S$&OPU>@c1mnHkl==>rFt7$*bw z_|!2vo3y<;hqQe&&ps=zoA{dyKQd2-^YoQ&kE~Uut6cY#8tWSAV)X-g1ciOyo}Z7V zP8frOWjwpSEvOL@r|nFXgJ-(;8_>}ikiWbH2^qw@@*tMu&?Yp!GFWkckf4j=cHJH^&dq#z&XpoaE&+x;E{Y=A^-;l9h@LB zq+H^eBbNJZ7bf~igpLSejUZ)D`Kx0eO}_+P=i@XjCo5{DfHIW==XC;e$VXh0nXXTX z@Y2k%P}*bv_^Zgfb!KB51*>t{m{=zVu=+nf-ky&9KDfImxV6ySy8KHy&iX7!SlY=M z#RQka88m_O)nFTEfI;b%tONqaGHWeXs&&?&?MM}^)+z0D1Gj0v|8>1TFH>Qu`4Mhb zH0rK;PKCTvj6Yvayjri|ZohcN2YWQCIO5;SNPQIhYXix>EXCeeaQ5`Qwos$Bc$rwa zH7(81)3_QN^SNC!_pS!WR;0`JYvF@V zuz2h~>{CYRkDITg(Sp`Jr(ikmeX`*%?t9`H>sBJ{kqYftO*P*wQh?s#R8+hy7*=i6 zN#^m=4}jAtviLtS7A-{IjnYki-zT%cj5%w-m)zG+OkAM5td+awv@4&ULLGT=^aehY z4LtE3(~qfeN`rYSgJUCL@K)oqA_MCV#hlGUO(_H1ESobyT1;+W+0LogYv^YR%Vev| z)8rHBoG^(&55$4tB`b5}8DuqLS($RR!&X4(L$Krrcfg9>TAT4YD)B+5r-u9}@Am=oq1b&N4s0}PvO81B#jr3Li{(?8aIE!Fb5Buw;`wx=& z14usypE1&cFOS>To17T06Z~D)e}#kr6<+)&en>Ut)%F6udZZ?b?N5wF1P?~7m7@Hg zdj26U=)B>UABuZhMV{ep%%gSJ+-xw{$ZK_GZOAF)_Znb6cJ{w}S_izWwCc7EoBxTr zmH)=kCwJ*YPNE_L#(Y_y%*(e-MXzj|Jmcuc#Tt*$R|&7ME_~XW))3lsk$a+hb4>I( z$z;CR#|p(3Ek*x~OXV$Fv~LDO@e{{@QR#KZRw7o2Zw&l9d^N!x;H`kja(*SUfo|Yg zx4w6Huvn5|<-j81=5PbSNVyiIqTJ=&bsS^mBHR&-anelY+pO-}$D!p;y6-@hISO*FgO zg_g^vw+GGxM4#G!4su^ZK<6pyL?e)}vA(<^`NhH{pEqTKjXi>6qI&(;c~Bh#B9662 zlq?`Hkt$5zNn9mw|4ED|?S9OtX{NL1A|nS*@i5Tn;mvu?hoAbEYLNL2&Fq>}xhhfn zx<=Tht$ngu$>A4!t)x$(fxSMi|MoN|+Gf@Hq@XDc5b8^%b$W~Cl5j_%SvAEE2nCsz zj}v1N-U0SksL)F10}OxPfUWi_{YoQ!TfWWh;gK6|YsA6J1)n9Jw?;=`3wU$&r>Cj& zExe+|x0^?9!P=wY>nw++?COdA&l3pOusNAMmofk&46evY5BS$#1}I~J!}%(+5e(-_lM zu!90;VKjTQWqni5S`z_w^$vDnTC<+B*qjXy*Xe9uA9a4^&Td!d8l1s{X84SvqJIkk zf0;y|lo6kpNTw4*q891#09t>^|%EAMiTR;dZTMS$_?4k@l7yJlPwnR|&J!Arn75RBN3 zBiG(Qdyt>|DP^!CGHre>-)FhN(G;9X1>`qRxTyu)@j$x>C<^=zS2Ig7p#H%$_*z_> z)K>5#XAJ^3;W|;0BrmmOz#@$aB({IfeS1ovh}MRP<|%-;l?I)95qfL6+Z!wVt(7`N z_tP<(=`&(eFq0%C=^Q*aDlf)AS;HBJK)z{1N2O-;+^_-NKj(&9y~1aquR3I_SKY+0a1G8JiBR${R4wK7tAa_uMv36XHmA!FVEAM z8|kbAGG>@3&#usn{{6W}_T2;;6*KGwOnb3+Efs-CjXGQ}4en>sk7SeJkn4$!NuD}P z5FRVV1xm8YQQ-S@R%O7&2|D*;qksegP2W5ZOn(5Qq%_d*mivPaBXoQB0G%-tT-|w z>l9A-Q(bBKj!y~-$KYJ?m#AHoAwD1^(^hQy0dGxdjahG(L81-QIE@ej3@6%yAAI{S zeZW#B%9c@*d#MBbLh&{;2i!s$B-17~WZdRIZMV&3t`YOaKalVKuIFiKq^;6zatNNd z1`Yl9#pqQzT+v5leI4LHRr$WVWlr%CFst;K0gu-9ndmIUqzgj6XhpAjI?EE%SfgID z^19#VX{e1iJfx_gi#Oxu!PLdI09{dpuxuCjU^p9)b8_c&O{=LfN}G~B7`%kzc!5B_$*{#dvrm*a1Rh|F;YBzd-+w zTyuZt$YA>hNe84_>QGWw!5X`9+vW+1vY(_NYbMq3tjA!Q zu8jQ=KAO3vXKfPl17~zpxPN7Kcvf4d;_lDm1HDU4bnP)*#TwcdXJAfWBF{D%C<5Z4$c8 z2Ew47L9gcAnyN>d{KL6$Zqg3>xM26wE7b&Aec`;wE6fC2eNnG)b;g-=XG}IXmMGV$GZAmPxl%v#y|Qr)ma2)MdO~=SRF0KX3o* zeIWpZGY`~V2juX`*MTn)7V*K+%~PLQ(~u#S?;%YOR_F~F2;P4C+JstP^tFa`82*;V zWkqmo0?yo@tGBGPb;Ot(8siMlJcQkjuxbpSZUSBFMk2dkthd3kWsALHOw6?<^l3~X zZFS+C1N=#z6+6ttQAN&+Jcu2}5T#D53Pm@$qrirCLOCzHnaD-BU$3Vw+tom{qiGZGfccA$lCEKQVo=uffB%eH7;nKBL1;2nr zWQJBbZy`<}rH)ofrU39SUcQ`dWv0{zv=>iZeunvW53^l7zSl%hI!|A2YauI%6l|=> zAp_w}(AszN;sI?^_zJmUGMNx4LY6^?!$gTccc&>cwrC1G@b?fPFv`g?>Txx)$xZ?D zp*)f+m&^Ysa%jSxNVX}uv|?f|881M6KX>DteJh#_8h~JmBTl8cxh=R=6yi>33 z=J%zCNmvhmK27qd{zh0shU}vZ`JxQQZ(D?RW{kTeihdDcO6&60Sgn`V89=I`ahxAm z4chDpP*^5;`m6@^T)EwW=r`NCG&Fo0*GfQ>Ddl<~kl@RU!m`k5kmCG_u9H8EqzTff w2}ENduHKGI&+x0Sk{{?H)(7;J@&Rcvm1LR`s1Hek$jZgei$Fysp(Kg$KmL-K4FCWD diff --git a/vignettes/precompute.R b/vignettes/precompute.R new file mode 100644 index 0000000..f3dcbf2 --- /dev/null +++ b/vignettes/precompute.R @@ -0,0 +1,167 @@ +library(HonestDiD) + +# data('VignetteResults', package="HonestDiD") +data('BCdata_EventStudy', package="HonestDiD") + +# Number of pre-periods +BC_numPrePeriods = length(BCdata_EventStudy$prePeriodIndices) +BC_numPostPeriods = length(BCdata_EventStudy$postPeriodIndices) + +# Create l_vec to define the parameter of interest, the first post-treatment period. +BC_l_vec = basisVector(index = 1, size = BC_numPostPeriods) + +# Construct robust confidence intervals for Delta^{SDRM}(Mbar) for first post-treatment period. +# We specify 100 gridPoints over [-1, 1] for the underlying test inversion to construct the robust confidence set. +# Users may wish to leave this at the default values. +BC_DeltaSDRM_RobustResults = + createSensitivityResults_relativeMagnitudes(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + bound = "deviation from linear trend", + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + Mbarvec = seq(from = 0, to = 2, by = 0.5), + gridPoints = 100, grid.lb = -1, grid.ub = 1) + +head(BC_DeltaSDRM_RobustResults) + +# Construct dataframe with OLS confidence interval for theta. +BC_OriginalResults = constructOriginalCS(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec ) + +# Construct sensitivity plot. +BC_DeltaSDRM_SensitivityPlot = + createSensitivityPlot_relativeMagnitudes(robustResults = BC_DeltaSDRM_RobustResults, + originalResults = BC_OriginalResults) + +BC_DeltaSDRM_SensitivityPlot + +# Construct robust confidence intervals for Delta^{SDNB}(M) for first post-treatment period +BC_DeltaSDNB_RobustResults = createSensitivityResults(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + Mvec = seq(from = 0, to = 0.3, by = 0.1), + biasDirection = "negative") +BC_DeltaSDNB_SensitivityPlot = createSensitivityPlot(robustResults = BC_DeltaSDNB_RobustResults, + originalResults = BC_OriginalResults) +BC_DeltaSDNB_SensitivityPlot + +data('LWdata_EventStudy', package = "HonestDiD") + +# Number of pre-periods +LW_numPrePeriods = length(LWdata_EventStudy$prePeriodIndices) +LW_numPostPeriods = length(LWdata_EventStudy$postPeriodIndices) + +# Create l_vec corresponding with 15 years of exposure +# Reference is -2 years of exposure, so want effect 17 pds later +LW_l_vec = basisVector(15 - (-2), LW_numPostPeriods) + +# Construct robust confidence intervals for Delta^{SD}(M) for 15 years of exposure +LW_DeltaSD_RobustResults = createSensitivityResults(betahat = LWdata_EventStudy$betahat, + sigma = LWdata_EventStudy$sigma, + numPrePeriods = LW_numPrePeriods, + numPostPeriods = LW_numPostPeriods, + l_vec = LW_l_vec, + Mvec = seq(from = 0, to = 0.04, by = 0.005)) +head(LW_DeltaSD_RobustResults) + +# Construct dataframe with OLS confidence interval for theta +LW_OriginalResults = constructOriginalCS(betahat = LWdata_EventStudy$betahat, + sigma = LWdata_EventStudy$sigma, + numPrePeriods = LW_numPrePeriods, + numPostPeriods = LW_numPostPeriods, + l_vec = LW_l_vec ) + +# Construct sensitivity plot +LW_DeltaSD_SensitivityPlot = createSensitivityPlot(robustResults = LW_DeltaSD_RobustResults, + originalResults = LW_OriginalResults) +LW_DeltaSD_SensitivityPlot + +# Construct robust confidence intervals for Delta^{SDD}(M) +LW_DeltaSDD_RobustResults = createSensitivityResults(betahat = LWdata_EventStudy$betahat, + sigma = LWdata_EventStudy$sigma, + monotonicityDirection = "decreasing", + numPrePeriods = LW_numPrePeriods, + numPostPeriods = LW_numPostPeriods, + l_vec = LW_l_vec, + Mvec = seq(from = 0, to = 0.04, by = 0.005)) + +# Construct sensitivity plot +LW_DeltaSDD_SensitivityPlot = createSensitivityPlot(robustResults = LW_DeltaSDD_RobustResults, + originalResults = LW_OriginalResults) +LW_DeltaSDD_SensitivityPlot + +LW_lowerBound_M = DeltaSD_lowerBound_Mpre(betahat = LWdata_EventStudy$betahat, + sigma = LWdata_EventStudy$sigma, + numPrePeriods = LW_numPrePeriods) +LW_upperBound_M = DeltaSD_upperBound_Mpre(betahat = LWdata_EventStudy$betahat, + sigma = LWdata_EventStudy$sigma, + numPrePeriods = LW_numPrePeriods) + +# Load in LWdata_RawData.dta +LWdata_RawData = haven::read_dta(system.file("extdata", "LWdata_RawData.dta", + package = "HonestDiD")) + +# Estimate event study using lfe package +EmpFemale.EventStudy = lfe::felm(emp ~ rtESV13 + rtESV14 + rtESV15 + + rtESV16 + rtESV17 + rtESV18 + + rtESV19 + rtESV110 + rtESV111 + # End Pre-periods + rtESV113 + rtESV114 + rtESV115 + + rtESV116 + rtESV117 + rtESV118 + + rtESV119 + rtESV120 + rtESV121 + + rtESV122 + rtESV123 + rtESV124 + + rtESV125 + rtESV126 + rtESV127 + + rtESV128 + rtESV129 + rtESV130 + + rtESV131 + rtESV132 + rtESV133 + + rtESV134 + rtESV135 + # End post-periods + yearsfcor + yearsflr + aveitc + fscontrol + + asian + black + hispanic + other | + factor(PUS_SURVEY_YEAR)*factor(BIRTHYEAR) + + factor(PUS_SURVEY_YEAR) + factor(BIRTHSTATE) | + 0 | BIRTHSTATE, + data = LWdata_RawData, + weights = LWdata_RawData$nobs) + +# Extract coefficients of regression associated with event study coefficients +coefIndex = which(grepl(x = dimnames(EmpFemale.EventStudy$coefficients)[[1]], + pattern = "rtESV")) +betahat = EmpFemale.EventStudy$beta[coefIndex, ] + +# Extract estimated variance-covariance matrix of event study coefficients +sigma = EmpFemale.EventStudy$clustervcv[coefIndex, coefIndex] + +#Rescale by 100 so that results will be in units of percentage points +betahat = 100 * betahat +sigma = 100^2 * sigma + +# Construct vector of event times and the scalar reference period +timeVec = c(seq(from = -11, to = -3, by = 1), seq(from = -1, to = 21, by = 1)) +referencePeriod = -2 +postPeriodIndices = which(timeVec > -2) +prePeriodIndices = which(timeVec < -2) + +# Construct standard errors associated with event study coefficients +stdErrors = summary(EmpFemale.EventStudy)$coefficients[coefIndex,2] + +# Create list containing objects produced by the event study +LWdata_EventStudy = list( + betahat = betahat, + sigma = sigma, + timeVec = timeVec, + referencePeriod = referencePeriod, + prePeriodIndices = prePeriodIndices, + postPeriodIndices = postPeriodIndices, + stdErrors = stdErrors +) + +VignetteResults <- list(BC_DeltaSDRM_RobustResults = BC_DeltaSDRM_RobustResults, + BC_OriginalResults = BC_OriginalResults, + BC_DeltaSDNB_RobustResults = BC_DeltaSDNB_RobustResults, + LW_DeltaSD_RobustResults = LW_DeltaSD_RobustResults, + LW_DeltaSDD_RobustResults = LW_DeltaSDD_RobustResults) +save(VignetteResults, file="data/VignetteResults.rda") From 82113331992af75d4629f37fd5f65bb5d41a903a Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Sun, 28 Apr 2024 12:51:58 -0400 Subject: [PATCH 15/25] Remove precompute from R build --- .Rbuildignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.Rbuildignore b/.Rbuildignore index 8d35a0a..41b889c 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -4,3 +4,4 @@ README deltaSD.png ^LICENSE\.md$ .github +vignettes/precompute.R From b9249d7203761d17a613fefbad40f64a648ef12f Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Sun, 28 Apr 2024 13:05:02 -0400 Subject: [PATCH 16/25] Tests only run conditional on environment variable --- .github/workflows/tests.yml | 4 +- tests/test_base.R | 316 ++++++++++++++++++------------------ 2 files changed, 165 insertions(+), 155 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 428757c..01cf308 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -52,7 +52,9 @@ jobs: - name: Setup LaTeX uses: r-lib/actions/setup-tinytex@v2 - - name: Check build + - nams: Check build + env: + HONESTDID_RUN_TESTS: '1' run: | devtools::document() devtools::check() diff --git a/tests/test_base.R b/tests/test_base.R index a9b68b4..9e1dd87 100644 --- a/tests/test_base.R +++ b/tests/test_base.R @@ -14,163 +14,171 @@ BC_numPostPeriods <- length(BCdata_EventStudy$postPeriodIndices) BC_l_vec <- basisVector(index = 1, size = BC_numPostPeriods) BC_l_vec <- cbind(c(1, 0, 0, 0)) -test_that("HonestDiD base run with no errors", { - BC_DeltaSDNB_RobustResults <- - createSensitivityResults(betahat = BCdata_EventStudy$betahat, - sigma = BCdata_EventStudy$sigma, - numPrePeriods = BC_numPrePeriods, - numPostPeriods = BC_numPostPeriods, - l_vec = BC_l_vec, - method = "FLCI", - Mvec = seq(from=0, to=0.3, by=0.1)) - - BC_DeltaSDNB_RobustResultsConditional <- - createSensitivityResults(betahat = BCdata_EventStudy$betahat, - sigma = BCdata_EventStudy$sigma, - numPrePeriods = BC_numPrePeriods, - numPostPeriods = BC_numPostPeriods, - l_vec = BC_l_vec, - method = "Conditional", - Mvec = seq(from=0, to=0.3, by=0.1)) - - BC_DeltaSDNB_RobustResultsCF <- - createSensitivityResults(betahat = BCdata_EventStudy$betahat, - sigma = BCdata_EventStudy$sigma, - numPrePeriods = BC_numPrePeriods, - numPostPeriods = BC_numPostPeriods, - l_vec = BC_l_vec, - method = "C-F", - Mvec = seq(from=0, to=0.3, by=0.1)) - - BC_DeltaSDNB_RobustResultsCLF <- - createSensitivityResults(betahat = BCdata_EventStudy$betahat, - sigma = BCdata_EventStudy$sigma, - numPrePeriods = BC_numPrePeriods, - numPostPeriods = BC_numPostPeriods, - l_vec = BC_l_vec, - method = "C-LF", - Mvec = seq(from=0, to=0.3, by=0.1)) - - BC_OriginalResults <- - constructOriginalCS(betahat = BCdata_EventStudy$betahat, - sigma = BCdata_EventStudy$sigma, - numPrePeriods = BC_numPrePeriods, - numPostPeriods = BC_numPostPeriods, - l_vec = BC_l_vec) - - BC_DeltaSDNB_SensitivityPlot <- - createSensitivityPlot(robustResults = BC_DeltaSDNB_RobustResults, - originalResults = BC_OriginalResults) - - expect_silent(BC_DeltaSDNB_RobustResults) - expect_silent(BC_DeltaSDNB_RobustResultsConditional) - expect_silent(BC_DeltaSDNB_RobustResultsCF) - expect_silent(BC_DeltaSDNB_RobustResultsCLF) - expect_silent(BC_OriginalResults) - expect_silent(BC_DeltaSDNB_SensitivityPlot) -}) - -test_that("HonestDiD options run with no errors", { - LWdata_RawData = haven::read_dta(system.file("extdata", "LWdata_RawData.dta", package = "HonestDiD")) - sum(LWdata_RawData$nobs) - - # Estimate event study using lfe package - EmpFemale.EventStudy = lfe::felm(emp ~ - rtESV13 + rtESV14 + rtESV15 + - rtESV16 + rtESV17 + rtESV18 + - rtESV19 + rtESV110 + rtESV111 + # End Pre-periods - rtESV113 + rtESV114 + rtESV115 + - rtESV116 + rtESV117 + rtESV118 + - rtESV119 + rtESV120 + rtESV121 + - rtESV122 + rtESV123 + rtESV124 + - rtESV125 + rtESV126 + rtESV127 + - rtESV128 + rtESV129 + rtESV130 + - rtESV131 + rtESV132 + rtESV133 + - rtESV134 + rtESV135 + # End post-periods - yearsfcor + yearsflr + aveitc + fscontrol + - asian + black + hispanic + other | - factor(PUS_SURVEY_YEAR)*factor(BIRTHYEAR) + - factor(PUS_SURVEY_YEAR) + factor(BIRTHSTATE) | - 0 | BIRTHSTATE, - data = LWdata_RawData, - weights = LWdata_RawData$nobs) - summary(EmpFemale.EventStudy) - - coefIndex = which(grepl(x = dimnames(EmpFemale.EventStudy$coefficients)[[1]], pattern = "rtESV")) - betahat = EmpFemale.EventStudy$beta[coefIndex, ] - - # Extract estimated variance-covariance matrix of event study coefficients - sigma = EmpFemale.EventStudy$clustervcv[coefIndex, coefIndex] - - # Construct vector of event times and the scalar reference period - timeVec = c(seq(from = -11, to = -3, by = 1), seq(from = -1, to = 21, by = 1)) - referencePeriod <- -2 - postPeriodIndices <- which(timeVec > -2) - prePeriodIndices <- which(timeVec < -2) - LW_numPrePeriods <- length(prePeriodIndices) - LW_numPostPeriods <- length(postPeriodIndices) - LW_l_vec <- basisVector(index = 1, size = LW_numPostPeriods) - - for( method in c("C-F", "C-LF", "Conditional", "FLCI") ) { - for( monotonicityDirection in c("increasing", "decreasing") ) { - for ( biasDirection in c("positive", "negative") ) { - LW_DeltaSDNB_RobustResults <- - createSensitivityResults(betahat = betahat, - sigma = sigma, - numPrePeriods = LW_numPrePeriods, - numPostPeriods = LW_numPostPeriods, - l_vec = LW_l_vec, - method = method, - monotonicityDirection = monotonicityDirection, - biasDirection = biasDirection, - Mvec = seq(from=0, to=0.3, by=0.1)) - print(c(method, monotonicityDirection, biasDirection, LW_DeltaSDNB_RobustResults)) - expect_silent(LW_DeltaSDNB_RobustResults) +if ( Sys.getenv("HONESTDID_RUN_TESTS") == "1" ) { + test_that("HonestDiD base ran with no errors", { + BC_DeltaSDNB_RobustResults <- + createSensitivityResults(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + method = "FLCI", + Mvec = seq(from=0, to=0.3, by=0.1)) + + BC_DeltaSDNB_RobustResultsConditional <- + createSensitivityResults(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + method = "Conditional", + Mvec = seq(from=0, to=0.3, by=0.1)) + + BC_DeltaSDNB_RobustResultsCF <- + createSensitivityResults(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + method = "C-F", + Mvec = seq(from=0, to=0.3, by=0.1)) + + BC_DeltaSDNB_RobustResultsCLF <- + createSensitivityResults(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + method = "C-LF", + Mvec = seq(from=0, to=0.3, by=0.1)) + + BC_OriginalResults <- + constructOriginalCS(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec) + + BC_DeltaSDNB_SensitivityPlot <- + createSensitivityPlot(robustResults = BC_DeltaSDNB_RobustResults, + originalResults = BC_OriginalResults) + + expect_silent(BC_DeltaSDNB_RobustResults) + expect_silent(BC_DeltaSDNB_RobustResultsConditional) + expect_silent(BC_DeltaSDNB_RobustResultsCF) + expect_silent(BC_DeltaSDNB_RobustResultsCLF) + expect_silent(BC_OriginalResults) + expect_silent(BC_DeltaSDNB_SensitivityPlot) + }) +} else { + print("HonestDiD base run was skipped") +} + +if ( Sys.getenv("HONESTDID_RUN_TESTS") == "1" ) { + test_that("HonestDiD options ran with no errors", { + LWdata_RawData = haven::read_dta(system.file("extdata", "LWdata_RawData.dta", package = "HonestDiD")) + sum(LWdata_RawData$nobs) + + # Estimate event study using lfe package + EmpFemale.EventStudy = lfe::felm(emp ~ + rtESV13 + rtESV14 + rtESV15 + + rtESV16 + rtESV17 + rtESV18 + + rtESV19 + rtESV110 + rtESV111 + # End Pre-periods + rtESV113 + rtESV114 + rtESV115 + + rtESV116 + rtESV117 + rtESV118 + + rtESV119 + rtESV120 + rtESV121 + + rtESV122 + rtESV123 + rtESV124 + + rtESV125 + rtESV126 + rtESV127 + + rtESV128 + rtESV129 + rtESV130 + + rtESV131 + rtESV132 + rtESV133 + + rtESV134 + rtESV135 + # End post-periods + yearsfcor + yearsflr + aveitc + fscontrol + + asian + black + hispanic + other | + factor(PUS_SURVEY_YEAR)*factor(BIRTHYEAR) + + factor(PUS_SURVEY_YEAR) + factor(BIRTHSTATE) | + 0 | BIRTHSTATE, + data = LWdata_RawData, + weights = LWdata_RawData$nobs) + summary(EmpFemale.EventStudy) + + coefIndex = which(grepl(x = dimnames(EmpFemale.EventStudy$coefficients)[[1]], pattern = "rtESV")) + betahat = EmpFemale.EventStudy$beta[coefIndex, ] + + # Extract estimated variance-covariance matrix of event study coefficients + sigma = EmpFemale.EventStudy$clustervcv[coefIndex, coefIndex] + + # Construct vector of event times and the scalar reference period + timeVec = c(seq(from = -11, to = -3, by = 1), seq(from = -1, to = 21, by = 1)) + referencePeriod <- -2 + postPeriodIndices <- which(timeVec > -2) + prePeriodIndices <- which(timeVec < -2) + LW_numPrePeriods <- length(prePeriodIndices) + LW_numPostPeriods <- length(postPeriodIndices) + LW_l_vec <- basisVector(index = 1, size = LW_numPostPeriods) + + for( method in c("C-F", "C-LF", "Conditional", "FLCI") ) { + for( monotonicityDirection in c("increasing", "decreasing") ) { + for ( biasDirection in c("positive", "negative") ) { + LW_DeltaSDNB_RobustResults <- + createSensitivityResults(betahat = betahat, + sigma = sigma, + numPrePeriods = LW_numPrePeriods, + numPostPeriods = LW_numPostPeriods, + l_vec = LW_l_vec, + method = method, + monotonicityDirection = monotonicityDirection, + biasDirection = biasDirection, + Mvec = seq(from=0, to=0.3, by=0.1)) + print(c(method, monotonicityDirection, biasDirection, LW_DeltaSDNB_RobustResults)) + expect_silent(LW_DeltaSDNB_RobustResults) + } } } - } - - for ( method in c(NULL, "C-LF", "Conditional") ) { - for ( monotonicityDirection in c("increasing", "decreasing", NULL) ) { - for ( bound in c("deviation from parallel trends", "deviation from linear trend") ) { - BC_DeltaRM_RobustResults <- - createSensitivityResults_relativeMagnitudes(betahat = BCdata_EventStudy$betahat, - sigma = BCdata_EventStudy$sigma, - numPrePeriods = BC_numPrePeriods, - numPostPeriods = BC_numPostPeriods, - l_vec = BC_l_vec, - gridPoints = 100, - grid.ub = 1, - grid.lb = -1, - bound = bound, - method = method, - monotonicityDirection = monotonicityDirection, - Mbarvec = seq(from=0, to=1, by=0.5)) - print(c(method, monotonicityDirection, biasDirection, bound, BC_DeltaRM_RobustResults)) - expect_silent(BC_DeltaRM_RobustResults) + + for ( method in c(NULL, "C-LF", "Conditional") ) { + for ( monotonicityDirection in c("increasing", "decreasing", NULL) ) { + for ( bound in c("deviation from parallel trends", "deviation from linear trend") ) { + BC_DeltaRM_RobustResults <- + createSensitivityResults_relativeMagnitudes(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + gridPoints = 100, + grid.ub = 1, + grid.lb = -1, + bound = bound, + method = method, + monotonicityDirection = monotonicityDirection, + Mbarvec = seq(from=0, to=1, by=0.5)) + print(c(method, monotonicityDirection, biasDirection, bound, BC_DeltaRM_RobustResults)) + expect_silent(BC_DeltaRM_RobustResults) + } } } - } - - for ( method in c(NULL, "C-LF", "Conditional") ) { - for ( biasDirection in c("positive", "negative", NULL) ) { - for ( bound in c("deviation from parallel trends", "deviation from linear trend") ) { - BC_DeltaRM_RobustResults <- - createSensitivityResults_relativeMagnitudes(betahat = BCdata_EventStudy$betahat, - sigma = BCdata_EventStudy$sigma, - numPrePeriods = BC_numPrePeriods, - numPostPeriods = BC_numPostPeriods, - l_vec = BC_l_vec, - gridPoints = 100, - grid.ub = 1, - grid.lb = -1, - bound = bound, - method = method, - biasDirection = biasDirection, - Mbarvec = seq(from=0, to=1, by=0.5)) - print(c(method, monotonicityDirection, biasDirection, bound, BC_DeltaRM_RobustResults)) - expect_silent(BC_DeltaRM_RobustResults) + + for ( method in c(NULL, "C-LF", "Conditional") ) { + for ( biasDirection in c("positive", "negative", NULL) ) { + for ( bound in c("deviation from parallel trends", "deviation from linear trend") ) { + BC_DeltaRM_RobustResults <- + createSensitivityResults_relativeMagnitudes(betahat = BCdata_EventStudy$betahat, + sigma = BCdata_EventStudy$sigma, + numPrePeriods = BC_numPrePeriods, + numPostPeriods = BC_numPostPeriods, + l_vec = BC_l_vec, + gridPoints = 100, + grid.ub = 1, + grid.lb = -1, + bound = bound, + method = method, + biasDirection = biasDirection, + Mbarvec = seq(from=0, to=1, by=0.5)) + print(c(method, monotonicityDirection, biasDirection, bound, BC_DeltaRM_RobustResults)) + expect_silent(BC_DeltaRM_RobustResults) + } } } - } -}) + }) +} else { + print("HonestDiD options run was skipped") +} From 6721b2ae1c3b947f5854c98680ac606a76b21fba Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Sun, 28 Apr 2024 13:08:27 -0400 Subject: [PATCH 17/25] Fix gh workflow typo --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 01cf308..6e23126 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -52,7 +52,7 @@ jobs: - name: Setup LaTeX uses: r-lib/actions/setup-tinytex@v2 - - nams: Check build + - name: Check build env: HONESTDID_RUN_TESTS: '1' run: | From 29adaaf47756f4f93b8c0baf6f9e689af65b4a9e Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Sun, 28 Apr 2024 13:13:28 -0400 Subject: [PATCH 18/25] Added missing VignetteResults.rdafile --- data/VignetteResults.rda | Bin 0 -> 962 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 data/VignetteResults.rda diff --git a/data/VignetteResults.rda b/data/VignetteResults.rda new file mode 100644 index 0000000000000000000000000000000000000000..07a51c242bc9b2bd905827adaba04243d46a7b29 GIT binary patch literal 962 zcmV;z13mm7iwFP!000000}FDAFy@NjVqjokW?*4vWMF0mG8tGyL)>&N7#LWXfE-2! z76wir%^#MTo|jruk{Xm+T$)o-%)r1T3{nf!3Z)tNK(zg7wUe82W^33VPPu93J2}IC zljQ9)9_a=9Th?D&5VYT6|DM9*GKI$_;Oeh%g})BaOt1&3PPu7ee}ApR(z>lI_K$@? z8Z+#lfrQQcfNBN6_CTD&;;ifAMlu`K3{IESoRY*~mmpuN2tYl=00s6Bp!5eQ{R2Wf zz!ac{FK1DHxn5pkZYnTj8F+!1sR2m*|Ns9tnnG5XB4n>HK4(621T$uO3!VvrquI=pgqjs|o6+*PJ{>QEs>_V849R5X_>6v+n zIUq-Y#2esY%krNr-+;6-!L5eI!heW3Gt5X9QUe|lNU*HJVt*>KCTW}Q2K%Fo-TSB1 zG63mg?=7wu*&k(@{VhV*2(IqzZ|?H=g;VTr9rJcAepzMzV7gE9^SgTXPd2@{KJ(@l zG$%1T>$(wUqUwPqV?QTy1fcGOr~I8WL132sNhp2U7z}U(?H{zDB{NMk`cf3@7}3M& zz;74zA*4*sf#K%9z~t&p`?p&9ri9iWIKV8F*SYNf+XKQUw*U7NQ#qjEbh4@HLf-*Z zxvr`IF26dU+4DTC&ba1)j;Z3;_zj!k<|*vIT|Tkxg@Zys&^?yyD-H^YTg|w6{2Ubc zOP^&Nw{?(X{ppw{9O5AH$h^^FrILe~VL|fJ)YA?kYTKIXL?=6lc2;g%Xz&Z_Jx*9& zcJp!eq&XYaPIhSA4;U93r0^71QuWY%ok+EP3zY8L5%{`QZioF8D1Rn2CC-D2F9eZ+ zZ|s*q+5-8E;pg7*K7*U5Wd85^r|xtIrTw-AeGwuK z%3BKl%N%EQP-(rY!7ozgpsM}V?X9AKgX%<2r)yWN98?#$@nu#tJE#i%s&REza8T|$ zy!vL(475~2TtP%86V)mXXu@zAaQ;Y3nOL16<>VX>Zy3b~ Date: Sun, 28 Apr 2024 13:21:10 -0400 Subject: [PATCH 19/25] Fixed astray math in rd file --- man/createSensitivityResults_relativeMagnitudes.Rd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/createSensitivityResults_relativeMagnitudes.Rd b/man/createSensitivityResults_relativeMagnitudes.Rd index e9b64b6..d251697 100644 --- a/man/createSensitivityResults_relativeMagnitudes.Rd +++ b/man/createSensitivityResults_relativeMagnitudes.Rd @@ -32,7 +32,7 @@ createSensitivityResults_relativeMagnitudes(betahat, sigma, Covariance matrix of event study coefficients. } \item{numPrePeriods}{ - Number of pre-periods. If user selects bound = "deviation from linear trends" (Delta^{SDRM} as base choice of Delta), then numPrePeriods must be greater than one. See details for further explanation. + Number of pre-periods. If user selects bound = "deviation from linear trends" (\eqn{Delta^{SDRM}} as base choice of Delta), then numPrePeriods must be greater than one. See details for further explanation. } \item{numPostPeriods}{ Number of post-periods. From 61068726a5bffdbf3f9e129b79dcda4b7114a567 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Sun, 28 Apr 2024 13:50:50 -0400 Subject: [PATCH 20/25] Run tests only on linux --- .github/workflows/tests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6e23126..d2e8011 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -15,7 +15,6 @@ jobs: strategy: matrix: config: - - {os: macos-latest, r: 'release'} - {os: ubuntu-latest, r: 'release'} steps: From 5c1805479861d5e3742e2b03acebbc72c58e6e35 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Sat, 11 May 2024 12:07:00 -0400 Subject: [PATCH 21/25] Added MacOSX tests --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d2e8011..639ddc9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,6 +16,7 @@ jobs: matrix: config: - {os: ubuntu-latest, r: 'release'} + - {os: macos-latest, r: 'release'} steps: - name: Checkout code From e29db4789302c425811ba1b202eefbb45eaf9714 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Sat, 11 May 2024 12:21:06 -0400 Subject: [PATCH 22/25] Debugging OSX --- R/arp-nuisance.R | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/R/arp-nuisance.R b/R/arp-nuisance.R index 9b6e062..7c96e65 100644 --- a/R/arp-nuisance.R +++ b/R/arp-nuisance.R @@ -536,6 +536,13 @@ sigma_B_dual = base::sqrt( base::t(lpDualSoln$gamma_tilde) %*% sigma_ARP %*% lpDualSoln$gamma_tilde) + if is.na(sigma_B_dual) { + print( base::t(lpDualSoln$gamma_tilde) %*% sigma_ARP %*% lpDualSoln$gamma_tilde) + print(sigma_ARP) + print(lpDualSoln$gamma_tilde) + stop("HELP") + } + #If sigma_B_dual is 0 to numerical precision, reject iff eta > 0 if(sigma_B_dual < 10^(-10)){ base::return(base::list(reject = base::ifelse(linSoln$eta_star > 0, 1, 0), From 32faf8a9efff71929a8681e81eefbf9c34b9ce0f Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Sat, 11 May 2024 12:25:01 -0400 Subject: [PATCH 23/25] Debugging OSX v2 --- R/arp-nuisance.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/arp-nuisance.R b/R/arp-nuisance.R index 7c96e65..89de32b 100644 --- a/R/arp-nuisance.R +++ b/R/arp-nuisance.R @@ -536,7 +536,7 @@ sigma_B_dual = base::sqrt( base::t(lpDualSoln$gamma_tilde) %*% sigma_ARP %*% lpDualSoln$gamma_tilde) - if is.na(sigma_B_dual) { + if ( is.na(sigma_B_dual) ) { print( base::t(lpDualSoln$gamma_tilde) %*% sigma_ARP %*% lpDualSoln$gamma_tilde) print(sigma_ARP) print(lpDualSoln$gamma_tilde) From c32270cb07b19ae28a1b31cde2308060e2c940b9 Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Sat, 11 May 2024 12:34:31 -0400 Subject: [PATCH 24/25] Debugging OSX v3 --- R/arp-nuisance.R | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/R/arp-nuisance.R b/R/arp-nuisance.R index 89de32b..782ec5c 100644 --- a/R/arp-nuisance.R +++ b/R/arp-nuisance.R @@ -534,23 +534,19 @@ lpDualSoln = .lp_dual_fn(y_T = y_T_ARP, X_T = X_T_ARP, eta = linSoln$eta_star, gamma_tilde = linSoln$lambda, sigma = sigma_ARP) - sigma_B_dual = base::sqrt( base::t(lpDualSoln$gamma_tilde) %*% sigma_ARP %*% lpDualSoln$gamma_tilde) - - if ( is.na(sigma_B_dual) ) { - print( base::t(lpDualSoln$gamma_tilde) %*% sigma_ARP %*% lpDualSoln$gamma_tilde) - print(sigma_ARP) - print(lpDualSoln$gamma_tilde) - stop("HELP") - } + sigma_B_dual2 = base::t(lpDualSoln$gamma_tilde) %*% sigma_ARP %*% lpDualSoln$gamma_tilde #If sigma_B_dual is 0 to numerical precision, reject iff eta > 0 - if(sigma_B_dual < 10^(-10)){ + if ( base::abs(sigma_B_dual2) < .Machine$double.eps ) { base::return(base::list(reject = base::ifelse(linSoln$eta_star > 0, 1, 0), eta = linSoln$eta_star, delta = linSoln$delta_star, lambda = linSoln$lambda)) + } else if ( sigma_B_dual2 < 0 ) { + base::stop(".vlo_vup_dual_fn returned a negative variance") } + sigma_B_dual = base::sqrt(sigma_B_dual2) maxstat = lpDualSoln$eta/sigma_B_dual # HYBRID: Modify vlo, vup for the hybrid test From 5cd4231a8ca3853a545a22664c95f311f030ccba Mon Sep 17 00:00:00 2001 From: Mauricio Caceres Date: Sat, 11 May 2024 12:50:31 -0400 Subject: [PATCH 25/25] Added title to sunab fun description --- R/honest_sunab.R | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/R/honest_sunab.R b/R/honest_sunab.R index 2e29574..e02517e 100644 --- a/R/honest_sunab.R +++ b/R/honest_sunab.R @@ -1,13 +1,15 @@ +#' @title sunab_beta_vcv +#' #' @description #' This function takes a regression estimated using fixest with the sunab option #' and extracts the aggregated event-study coefficients and their variance-covariance matrix +#' #' @param sunab_fixest The result of a fixest call using the sunab option +#' #' @returns A list containing beta (the event-study coefficients), #' sigma (the variance-covariance matrix), and #' cohorts (the relative times corresponding to beta, sigma) - -sunab_beta_vcv <- -function(sunab_fixest){ +sunab_beta_vcv <- function(sunab_fixest) { ## The following code block extracts the weights on individual coefs used in # the fixest aggregation ##