From 1f9ea111cdb526660471ff6b95e83ec8edf077cd Mon Sep 17 00:00:00 2001 From: Alex Reinhart Date: Fri, 22 Jan 2021 19:04:30 -0500 Subject: [PATCH 01/21] First draft of holiday post, for preview --- content/blog/2021-01-22-holiday-surveys.Rmd | 407 +++++++++ content/blog/2021-01-22-holiday-surveys.html | 395 +++++++++ .../figure-html/spent-time-1.svg | 101 +++ .../figure-html/tested-recently-1.svg | 97 +++ .../figure-html/traveled-recently-1.svg | 780 ++++++++++++++++++ .../figure-html/went-shopping-1.svg | 104 +++ .../figure-html/wore-mask-1.svg | 100 +++ 7 files changed, 1984 insertions(+) create mode 100644 content/blog/2021-01-22-holiday-surveys.Rmd create mode 100644 content/blog/2021-01-22-holiday-surveys.html create mode 100644 static/blog/2021-01-22-holiday-surveys_files/figure-html/spent-time-1.svg create mode 100644 static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg create mode 100644 static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg create mode 100644 static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg create mode 100644 static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg diff --git a/content/blog/2021-01-22-holiday-surveys.Rmd b/content/blog/2021-01-22-holiday-surveys.Rmd new file mode 100644 index 000000000..0dc5ab6c8 --- /dev/null +++ b/content/blog/2021-01-22-holiday-surveys.Rmd @@ -0,0 +1,407 @@ +--- +title: "Home for the holidays? The impact of US holidays on social behaviors and preventative measures" +author: "Leanna Morinishi, Kris Barkume, Esther Kim, and Alex Reinhart" +date: 2021-01-22 +tags: + - COVIDcast + - symptom surveys + - R +summary: | + How did Thanksgiving and Christmas affect travel, social, and preventative + behaviors in the USA during the COVID-19 pandemic? +related: + - 2020-12-10-masks-public + - 2020-10-06-survey-wave-4 +acknowledgements: | + Facebook's survey team, including Andy Garcia, Travis Leleu, Patrick Xu, Sarah + LaRocca, and Katherine Morris assisted with the analysis for this post. Kelsey + Mulcahy at Facebook Data For Good helped coordinate data access for numerous + researchers. +output: + blogdown::html_page: + toc: true +--- + +With pandemic fatigue setting in across the United States after a long year +filled with uncertainty, many felt the temptation to celebrate a “normal” +Thanksgiving and Christmas. However, with cases steeply rising across the US, +the risk of transmission when gathering with friends and family only increased +throughout the fall. Many health organizations strongly discouraged large +gatherings during the holidays and a number of states expanded COVID-19 +restrictions to prevent further escalation in cases. +[Reports](https://www.washingtonpost.com/travel/2020/12/21/christmas-flights-cdc-restrictions-covid/) +from airlines suggest air travel was up significantly during the holiday season, +but [Delphi’s COVID-19 Surveys](https://delphi.cmu.edu/covidcast/surveys/) can +provide a broader picture of the travel Americans took during the holiday +season. In taking greater risks with travel, did Americans change their +behaviors in other preventative measures like mask wearing during this time? + +For the following analyses, we use publicly available aggregate data from the +[COVIDcast Epidata +API](https://cmu-delphi.github.io/delphi-epidata/api/covidcast.html) that have +been [weighted to better match state +demographics](https://cmu-delphi.github.io/delphi-epidata/api/covidcast-signals/fb-survey.html#survey-weighting). +Here we focus on behavioral signals which have been available since September 8, +2020, when [Wave 4 of the survey was +deployed](https://delphi.cmu.edu/blog/2020/10/12/new-and-improved-covid-symptom-survey-tracks-testing-and-mask-wearing/), +and are now visible in the [Delphi Group’s survey +dashboard](https://delphi.cmu.edu/covidcast/survey-results/). Additionally, we +only consider data after November 11, 2020 to avoid any major effects due to the +US election on November 3. All data below will be based on 7-day rolling +averages of survey responses. + +## Travel and Other Social Behaviors During US Holidays + +Despite [warnings from the +CDC](https://www.cdc.gov/coronavirus/2019-ncov/daily-life-coping/holidays.html) +that the “safest way to celebrate is at home with people who live with you”, the +[TSA screened approximately 9.5 million airline +passengers](https://www.tsa.gov/news/press/releases/2020/12/01/tsa-holiday-screening-volumes-tick-above-1m-several-days-during) +during the 2020 Thanksgiving holiday travel period (about 35-45% of 2019 volumes +during the same time frame). +[Reports](https://www.washingtonpost.com/travel/2020/12/21/christmas-flights-cdc-restrictions-covid/) +from airlines suggested that travel reached its highest levels since the start +of the pandemic during the Christmas holiday with about 1% of the US population +taking flights in just the few days surrounding the holiday. + +```{r traveled-recently, message=FALSE, fig.width=10, out.extra = 'class="wide-figure"'} +library(covidcast) +library(ggplot2) +library(stringr) +library(dplyr) +library(grid) +library(gridExtra) + +start_after_election <- "2020-11-10" +end_day <- "2021-01-05" + +statelist <- c('AK', 'AZ', 'CA', 'CO', 'ID', 'MT', 'NV', 'NM', 'OR', 'UT', + 'WA', 'WY', 'HI', 'IL', 'IN', 'IA', 'KS', 'MI', 'MN', 'MO', + 'NE', 'ND', 'OH', 'SD', 'WI', 'CT', 'ME', 'MA', 'NH', 'NJ', + 'NY', 'PA', 'RI', 'VT', 'AL', 'AR', 'DE', 'FL', 'GA', 'KY', + 'LA', 'MD', 'MS', 'NC', 'OK', 'SC', 'TN', 'TX', 'WV', 'VA') +regions <- rep(c('West', 'Midwest', 'Northeast', 'South'), + times = c(13, 12, 9, 16)) + +travel <- covidcast_signal("fb-survey", + "smoothed_wtravel_outside_state_5d", + start_day = start_after_election, end_day = end_day, + geo_type = "state") + +travel_normed <- travel %>% + rename(state = geo_value, date = time_value) %>% + select(date, state, value, sample_size) %>% + mutate(state = str_to_upper(state)) %>% + filter(state %in% statelist) %>% + mutate(Region = plyr::mapvalues(state, statelist, regions)) %>% + group_by(state) %>% + mutate(normed = value * 100 / first(value) - 100) %>% + ungroup() %>% + group_by(date, Region) %>% + summarise_at("normed", list(mean = ~mean(.), sd = ~sd(.), se = ~sd(.)/sqrt(n()) )) + +regionmap <- travel %>% + filter(geo_value %in% str_to_lower(statelist)) %>% + mutate(value=plyr::mapvalues(geo_value, str_to_lower(statelist), regions), + value=as.integer(factor(value))) + +grid_label <- textGrob("Data from Delphi COVIDcast, delphi.cmu.edu", + hjust = 1, x = 1, gp = gpar(fontsize = 9)) + +g1 <- travel_normed %>% + ggplot() + + geom_vline(xintercept = as.Date("2020-11-26"), + linetype = "dashed", size = 1.5, color = "darkgrey") + + geom_vline(xintercept = as.Date("2020-12-25"), + linetype = "dashed", size = 1.5, color = "darkgrey") + + geom_line(aes(x = date, y = mean, color = Region)) + + geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region), + alpha=0.2) + + scale_x_date(date_breaks = "2 weeks", + date_labels = "%b %d %Y", + date_minor_breaks = "1 week") + + labs(x = "Date", y = "% Out-of-state travel in last 5 days", + title = "Relative out-of-state travel by US region", + subtitle = "From Delphi's surveys, conducted through Facebook") + + theme_bw() + + theme(legend.position = c(.075, .9)) + + guides(color = FALSE) + +g2 <- plot(regionmap, + title = "US Regions", range = c(1, 4), + choro_col = c("#F8766D", "#7CAE00", "#00BFC4", "#C77CFF")) + +lay <- rbind(c(1,1,1,2), + c(1,1,1,2)) +grid.arrange(g1, g2, nrow = 1, bottom = grid_label, layout_matrix=lay) +``` + +In the COVID-19 survey, we see an increase in self-reported out-of-state travel +in this time frame by surveyed adults. The figure above depicts the normalized +percent of survey respondents who recently traveled out-of-state for 4 US +regions (mean ± s.e. of states in region). Because different states have +different baseline travel behaviors, values in the above figure are relative to +out-of-state travel reported on November 11, 2020. While there was some +variation between states, it appears that out-of-state travel around +Thanksgiving and Christmas day (vertical gray dashed lines) rose steeply in all +regions in the US. We note that since we are using a 7-day average, a travel +peak on or very close to Thanksgiving day would show up 3 to 4 days later in our +data, which is what we observe. + +While the increase in out-of-state travel appears dramatic during Thanksgiving, +the observed increase is less than the typical increase in travel around the +holiday. The [Bureau of Transportation +Statistics](https://www.bts.gov/archive/publications/america_on_the_go/us_holiday_travel/entire) +notes that long distance trips (as defined by travel greater than 50 miles away) +usually increase by 54% in the 6 days surrounding Thanksgiving. In contrast, the +percentage increase in travel found in the survey was closer to 20%. For the +Christmas through New Years time period, the increase in individuals reporting +out-of-state travel in the survey is ~30%, which more closely matches prior year +estimates from the Bureau of Transportation Statistics of 23%. Overall though, +the out-of-state travel reported in the CSS is still down compared to earlier +months in the pandemic. + +```{r spent-time, message=FALSE, fig.width=9, out.extra = 'class="wide-figure"'} +spent_time <- covidcast_signal("fb-survey", + "smoothed_wspent_time_1d", + start_day = start_after_election, end_day = end_day, + geo_type = "state") + +spent_time_stats <- spent_time %>% + rename(state = geo_value, date = time_value) %>% + select(date, state, value, sample_size) %>% + mutate(state = str_to_upper(state)) %>% + filter(state %in% statelist) %>% + mutate(Region = plyr::mapvalues(state, statelist, regions)) %>% + group_by(date, Region) %>% + summarise_at("value", list(mean = ~mean(.), sd = ~sd(.), se = ~sd(.)/sqrt(n()) )) + +spent_time_stats %>% + ggplot() + + geom_vline(xintercept = as.Date("2020-11-26"), + linetype = "dashed", size = 1.5, color = "darkgrey") + + geom_vline(xintercept = as.Date("2020-12-25"), + linetype = "dashed", size = 1.5, color = "darkgrey") + + geom_line(aes(x = date, y = mean, color = Region)) + + geom_line(aes(x = date, y = mean, color = Region)) + + geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region), + alpha = 0.2) + + scale_x_date(date_breaks = "2 weeks", + date_labels = "%b %d %Y", + date_minor_breaks = "1 week") + + labs(x = "Date", y = "% Spent time with non-household member in past 24h", + title = "Percent surveyed that spent time with a non-household member by US region", + subtitle = "Data from Delphi COVIDcast, delphi.cmu.edu") + + theme_bw() + + theme(legend.position = c(.075,.15)) + + guides(color = FALSE) + +``` + +Through the survey, we also find that more people in many states spent time with +people outside of their household in social gatherings for Thanksgiving and +Christmas when compared to the preceding week. In the above figure, the percent +of surveyed adults who recently spent time with non-household members clearly +rises around the holidays for all 4 US regions (mean ± s.e. of states in +region). + +Experts had suggested quarantining before the holiday to lower the risk of +spreading COVID-19 during family gatherings. We see a steady decrease in the +number of people reporting contact outside of the household in the 14 days +before Thanksgiving across all regions, possibly due to rising case counts +across the nation. However this strong trend is not observed for the Christmas +holiday. The Northeast and South show only very modest decreases in outside +contact in the days just before Christmas, and rates of contact outside the +household in the Midwest and West actually rose steadily during this time. +Overall, we don’t see strong evidence in the data of people proactively +quarantining between the Thanksgiving and Christmas holidays to reduce the +potential for community spread of COVID-19. + +```{r went-shopping, message=FALSE, fig.width=9, out.extra = 'class="wide-figure"'} +shopped <- covidcast_signal("fb-survey", + "smoothed_wshop_1d", + start_day = start_after_election, end_day = end_day, + geo_type = "state") + +shopped_stats <- shopped %>% + rename(state = geo_value, date = time_value) %>% + select(date, state, value, sample_size) %>% + mutate(state = str_to_upper(state)) %>% + filter(state %in% statelist) %>% + mutate(Region = plyr::mapvalues(state, statelist, regions)) %>% + group_by(date, Region) %>% + summarise_at("value", list(mean = ~mean(.), sd = ~sd(.), se = ~sd(.)/sqrt(n()) )) + +shopped_stats %>% + ggplot() + + geom_vline(xintercept = as.Date("2020-11-26"), + linetype = "dashed", size = 1.5, color = "darkgrey") + + geom_vline(xintercept = as.Date("2020-12-25"), + linetype = "dashed", size = 1.5, color = "darkgrey") + + geom_line(aes(x = date, y = mean, color = Region)) + + geom_line(aes(x = date, y = mean, color = Region)) + + geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region), + alpha = 0.2) + + scale_x_date(date_breaks = "2 weeks", + date_labels = "%b %d %Y", + date_minor_breaks = "1 week") + + labs(x = "Date", y = "% Went shopping in past 24h", + title = "Percent surveyed that went shopping recently by US region", + subtitle = "Data from Delphi COVIDcast, delphi.cmu.edu") + + theme_bw() + + theme(legend.position = c(.075, .15)) + + guides(color = FALSE) +``` + +Additionally, Thanksgiving and Christmas are major shopping holidays. When asked +if they had gone to the “market, grocery store, or pharmacy” in the past 24 +hours, a high percentage of survey respondents responded they had on +Thanksgiving, Christmas Eve, and Christmas Day (mean ± s.e. of states in +region). Notably, there were steep falls in shopping in the following weeks, +perhaps as people instead chose to spend time indoors with their families. +Typically the days after Thanksgiving and Christmas are among the 10 busiest +in-store retail days of the year, though this trend does not necessarily extend +to grocery stores, pharmacies and the like. As such, the lack of evidence for +the typical post-holiday shopping binges likely reflects the specificity of the +survey question. + +## Preventative Measures and Testing During the US Holidays + +```{r wore-mask, message=FALSE, fig.width=9, out.extra = 'class="wide-figure"'} +masked <- covidcast_signal("fb-survey", + "smoothed_wwearing_mask", + start_day = start_after_election, end_day = end_day, + geo_type = "state") + +masked_stats <- masked %>% + rename(state = geo_value, date = time_value) %>% + select(date, state, value, sample_size) %>% + mutate(state = str_to_upper(state)) %>% + filter(state %in% statelist) %>% + mutate(Region = plyr::mapvalues(state, statelist, regions)) %>% + group_by(date, Region) %>% + summarise_at("value", list(mean = ~mean(.), sd = ~sd(.), se = ~sd(.)/sqrt(n()) )) + +masked_stats %>% + ggplot() + + geom_vline(xintercept = as.Date("2020-11-26"), + linetype = "dashed", size = 1.5, color = "darkgrey") + + geom_vline(xintercept = as.Date("2020-12-25"), + linetype = "dashed", size = 1.5, color = "darkgrey") + + geom_line(aes(x = date, y = mean, color = Region)) + + geom_line(aes(x = date, y = mean, color = Region)) + + geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region), + alpha = 0.2) + + scale_x_date(date_breaks = "2 weeks", + date_labels = "%b %d %Y", + date_minor_breaks = "1 week") + + labs(x = "Date", y = "% Wore a mask in public in past 5 days", + title = "Percent surveyed that wore a mask in public by US region", + subtitle = "Data from Delphi COVIDcast, delphi.cmu.edu") + + theme_bw() + + theme(legend.position = c(.075, .15)) + + guides(color = FALSE) + +``` + +While people in the US may have traveled more, shopped more, and spent more time +with non-household members during the holidays, they also reported participating +in preventative measures in public to a greater degree. For example, the percent +of people who say they wore masks most or all of the time while in public in the +past 5 days increased across the nation prior to Thanksgiving and held steady +through the end of the year (mean ± s.e. of states in region). + +```{r tested-recently, message=FALSE, fig.width=9, out.extra = 'class="wide-figure"'} +tested <- covidcast_signal("fb-survey", + "smoothed_wtested_14d", + start_day = start_after_election, end_day = end_day, + geo_type = "state") + +tested_normed <- tested %>% + rename(state = geo_value, date = time_value) %>% + select(date, state, value, sample_size) %>% + mutate(state = str_to_upper(state)) %>% + filter(state %in% statelist) %>% + mutate(Region = plyr::mapvalues(state, statelist, regions)) %>% + group_by(state) %>% + mutate(normed = value*100/first(value) - 100) %>% ungroup() %>% + group_by(date, Region) %>% + summarise_at("normed", list(mean = ~mean(.), sd = ~sd(.), se = ~sd(.)/sqrt(n()) )) + +tested_normed %>% + ggplot() + + geom_vline(xintercept = as.Date("2020-11-26"), + linetype = "dashed", size = 1.5, color = "darkgrey") + + geom_vline(xintercept = as.Date("2020-12-25"), + linetype = "dashed", size = 1.5, color = "darkgrey") + + geom_line(aes(x = date, y = mean, color = Region)) + + geom_line(aes(x = date, y = mean, color = Region)) + + geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region), + alpha = 0.2) + + scale_x_date(date_breaks = "2 weeks", + date_labels = "%b %d %Y", + date_minor_breaks = "1 week") + + labs(x = "Date", y = "% Tested in past 14 days", + title = "Percent surveyed that were tested recently by US region", + subtitle = "Data from Delphi COVIDcast, delphi.cmu.edu") + + theme_bw() + + theme(legend.position = c(.075, .15)) + + guides(color = FALSE) + +``` + +Several news agencies reported that the demand for COVID-19 tests [surged before +Thanksgiving](https://www.wsj.com/articles/how-do-i-get-a-covid-19-test-before-thanksgiving-11605918004). +While this was in large part due to rising COVID-19 cases nationwide, it is also +possible that many people chose to test before seeing friends or family during +the holidays. The CDC had urged Americans not to travel for the holidays, but +stated that [for those “who decide to travel, testing can help you do so more +safely.”](https://www.cdc.gov/coronavirus/2019-ncov/daily-life-coping/holidays.html) +In addition, several government agencies [expanded +testing](https://governor.nc.gov/news/north-carolina-provides-covid-19-tests-colleges-universities-across-state-support-testing) +prior to the holiday season to support testing for people who elected to travel +and gather. + +In the above figure, we do see an increase in survey respondents who had +recently been tested for COVID-19 prior to Thanksgiving, and a slight increase +before Christmas (mean ± s.e. of states in region). However, these effects are +fairly weak, and dominated by longer-term trends that likely reflect case count +trends in the region. For example, from mid-November through the end of the year +we see a ~20% fall in self-reported testing in the Midwest, probably an effect +of the [~50% decrease in COVID-19 cases in the +region](https://covidtracking.com/data/charts/regional-cases-per-million) in the +same time period. We therefore see only weak evidence of prophylactic COVID-19 +testing before the holidays. + +Altogether, it is clear that many Americans opted to travel out-of-state and +gather with friends and family for the Thanksgiving and Christmas holidays. +Public health experts provided a variety of recommendations to reduce the risks +associated with holiday celebrations. Unfortunately, the survey data does not +indicate widespread adherence to these guidelines, as we see only weak evidence +of preemptive quarantining or testing for safer holiday gatherings. Overall, our +analysis suggests conflicting pandemic behaviors during the 2020 holidays, where +a vast majority of Americans used preventative measures like mask-wearing in +public, but simultaneously increased the risk for disease spread by gathering +with friends and family, shopping more, and traveling out-of-state. + +## See the Data Yourself! + +Since April 2020, Carnegie Mellon University’s Delphi Group and Facebook’s Data +for Good have partnered to conduct large-scale daily surveys to monitor the +spread and impact of the COVID-19 pandemic in the United States. To date, the +survey has collected more than 50 million responses. In this post, we show how +the data from the [COVID-19 survey](https://delphi.cmu.edu/covidcast/surveys/) +can be used to provide a broader picture of how American’s risk behaviors and +sentiments amidst a global pandemic. + +All of the above plots were built using aggregate data for the United States +that CMU/Delphi Group & Facebook provide to the public through the [COVIDcast +Epidata API](https://cmu-delphi.github.io/delphi-epidata/symptom-survey/), and +visualize in the [Delphi Group's survey +dashboard](https://delphi.cmu.edu/covidcast/). Public, aggregate data for the +global COVID-19 survey can be accessed via [University of Maryland's +API](https://covidmap.umd.edu/api.html). We encourage researchers, public health +officials, and the public to use the survey data and tools for their own +analyses. Microdata is also [available upon +request](https://dataforgood.fb.com/docs/covid-19-symptom-survey-request-for-data-access/) +to academic and nonprofit researchers under data license agreements. diff --git a/content/blog/2021-01-22-holiday-surveys.html b/content/blog/2021-01-22-holiday-surveys.html new file mode 100644 index 000000000..343f67f12 --- /dev/null +++ b/content/blog/2021-01-22-holiday-surveys.html @@ -0,0 +1,395 @@ +--- +title: "Home for the holidays? The impact of US holidays on social behaviors and preventative measures" +author: "Leanna Morinishi, Kris Barkume, Esther Kim, and Alex Reinhart" +date: 2021-01-22 +tags: + - COVIDcast + - symptom surveys + - R +summary: | + How did Thanksgiving and Christmas affect travel, social, and preventative + behaviors in the USA during the COVID-19 pandemic? +related: + - 2020-12-10-masks-public + - 2020-10-06-survey-wave-4 +acknowledgements: | + Facebook's survey team, including Andy Garcia, Travis Leleu, Patrick Xu, Sarah + LaRocca, and Katherine Morris assisted with the analysis for this post. Kelsey + Mulcahy at Facebook Data For Good helped coordinate data access for numerous + researchers. +output: + blogdown::html_page: + toc: true +--- + + + + +
+ +
+ +

With pandemic fatigue setting in across the United States after a long year +filled with uncertainty, many felt the temptation to celebrate a “normal” +Thanksgiving and Christmas. However, with cases steeply rising across the US, +the risk of transmission when gathering with friends and family only increased +throughout the fall. Many health organizations strongly discouraged large +gatherings during the holidays and a number of states expanded COVID-19 +restrictions to prevent further escalation in cases. +Reports +from airlines suggest air travel was up significantly during the holiday season, +but Delphi’s COVID-19 Surveys can +provide a broader picture of the travel Americans took during the holiday +season. In taking greater risks with travel, did Americans change their +behaviors in other preventative measures like mask wearing during this time?

+

For the following analyses, we use publicly available aggregate data from the +COVIDcast Epidata +API that have +been weighted to better match state +demographics. +Here we focus on behavioral signals which have been available since September 8, +2020, when Wave 4 of the survey was +deployed, +and are now visible in the Delphi Group’s survey +dashboard. Additionally, we +only consider data after November 11, 2020 to avoid any major effects due to the +US election on November 3. All data below will be based on 7-day rolling +averages of survey responses.

+
+

Travel and Other Social Behaviors During US Holidays

+

Despite warnings from the +CDC +that the “safest way to celebrate is at home with people who live with you”, the +TSA screened approximately 9.5 million airline +passengers +during the 2020 Thanksgiving holiday travel period (about 35-45% of 2019 volumes +during the same time frame). +Reports +from airlines suggested that travel reached its highest levels since the start +of the pandemic during the Christmas holiday with about 1% of the US population +taking flights in just the few days surrounding the holiday.

+
library(covidcast)
+library(ggplot2)
+library(stringr)
+library(dplyr)
+library(grid)
+library(gridExtra)
+
+start_after_election <- "2020-11-10"
+end_day <- "2021-01-05"
+
+statelist <- c('AK', 'AZ', 'CA', 'CO', 'ID', 'MT', 'NV', 'NM', 'OR', 'UT',
+               'WA', 'WY', 'HI', 'IL', 'IN', 'IA', 'KS', 'MI', 'MN', 'MO',
+               'NE', 'ND', 'OH', 'SD', 'WI', 'CT', 'ME', 'MA', 'NH', 'NJ',
+               'NY', 'PA', 'RI', 'VT', 'AL', 'AR', 'DE', 'FL', 'GA', 'KY',
+               'LA', 'MD', 'MS', 'NC', 'OK', 'SC', 'TN', 'TX', 'WV', 'VA')
+regions <- rep(c('West', 'Midwest', 'Northeast', 'South'),
+               times = c(13, 12, 9, 16))
+
+travel <- covidcast_signal("fb-survey",
+                           "smoothed_wtravel_outside_state_5d",
+                           start_day = start_after_election, end_day = end_day,
+                           geo_type = "state")
+
+travel_normed <- travel %>%
+  rename(state = geo_value, date = time_value) %>%
+  select(date, state, value, sample_size) %>%
+  mutate(state = str_to_upper(state)) %>%
+  filter(state %in% statelist) %>%
+  mutate(Region = plyr::mapvalues(state, statelist, regions)) %>%
+  group_by(state) %>%
+  mutate(normed = value * 100 / first(value) - 100) %>%
+  ungroup() %>%
+  group_by(date, Region) %>%
+  summarise_at("normed", list(mean = ~mean(.), sd = ~sd(.), se = ~sd(.)/sqrt(n()) ))
+
+regionmap <- travel %>%
+  filter(geo_value %in% str_to_lower(statelist)) %>%
+  mutate(value=plyr::mapvalues(geo_value, str_to_lower(statelist), regions),
+         value=as.integer(factor(value)))
+
+grid_label <- textGrob("Data from Delphi COVIDcast, delphi.cmu.edu",
+                       hjust = 1, x = 1, gp = gpar(fontsize = 9))
+
+g1 <- travel_normed %>%
+  ggplot() +
+  geom_vline(xintercept = as.Date("2020-11-26"),
+             linetype = "dashed", size = 1.5, color = "darkgrey") +
+  geom_vline(xintercept = as.Date("2020-12-25"),
+             linetype = "dashed", size = 1.5, color = "darkgrey") +
+  geom_line(aes(x = date, y = mean, color = Region)) +
+  geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region),
+              alpha=0.2) +
+  scale_x_date(date_breaks = "2 weeks",
+               date_labels = "%b %d %Y",
+               date_minor_breaks = "1 week") +
+  labs(x = "Date", y = "% Out-of-state travel in last 5 days",
+       title = "Relative out-of-state travel by US region",
+       subtitle = "From Delphi's surveys, conducted through Facebook") +
+  theme_bw() +
+  theme(legend.position = c(.075, .9)) +
+  guides(color = FALSE)
+
+g2 <- plot(regionmap,
+           title = "US Regions", range = c(1, 4),
+           choro_col = c("#F8766D", "#7CAE00", "#00BFC4", "#C77CFF"))
+
+lay <- rbind(c(1,1,1,2),
+             c(1,1,1,2))
+grid.arrange(g1, g2, nrow = 1, bottom = grid_label, layout_matrix=lay)
+

+

In the COVID-19 survey, we see an increase in self-reported out-of-state travel +in this time frame by surveyed adults. The figure above depicts the normalized +percent of survey respondents who recently traveled out-of-state for 4 US +regions (mean ± s.e. of states in region). Because different states have +different baseline travel behaviors, values in the above figure are relative to +out-of-state travel reported on November 11, 2020. While there was some +variation between states, it appears that out-of-state travel around +Thanksgiving and Christmas day (vertical gray dashed lines) rose steeply in all +regions in the US. We note that since we are using a 7-day average, a travel +peak on or very close to Thanksgiving day would show up 3 to 4 days later in our +data, which is what we observe.

+

While the increase in out-of-state travel appears dramatic during Thanksgiving, +the observed increase is less than the typical increase in travel around the +holiday. The Bureau of Transportation +Statistics +notes that long distance trips (as defined by travel greater than 50 miles away) +usually increase by 54% in the 6 days surrounding Thanksgiving. In contrast, the +percentage increase in travel found in the survey was closer to 20%. For the +Christmas through New Years time period, the increase in individuals reporting +out-of-state travel in the survey is ~30%, which more closely matches prior year +estimates from the Bureau of Transportation Statistics of 23%. Overall though, +the out-of-state travel reported in the CSS is still down compared to earlier +months in the pandemic.

+
spent_time <- covidcast_signal("fb-survey",
+                               "smoothed_wspent_time_1d",
+                               start_day = start_after_election, end_day = end_day,
+                               geo_type = "state")
+
+spent_time_stats <- spent_time %>%
+  rename(state = geo_value, date = time_value) %>%
+  select(date, state, value, sample_size) %>%
+  mutate(state = str_to_upper(state)) %>%
+  filter(state %in% statelist) %>%
+  mutate(Region = plyr::mapvalues(state, statelist, regions)) %>%
+  group_by(date, Region) %>%
+  summarise_at("value", list(mean = ~mean(.), sd = ~sd(.), se = ~sd(.)/sqrt(n()) ))
+
+spent_time_stats %>%
+  ggplot() +
+  geom_vline(xintercept = as.Date("2020-11-26"),
+             linetype = "dashed", size = 1.5, color = "darkgrey") +
+  geom_vline(xintercept = as.Date("2020-12-25"),
+             linetype = "dashed", size = 1.5, color = "darkgrey") +
+  geom_line(aes(x = date, y = mean, color = Region)) +
+  geom_line(aes(x = date, y = mean, color = Region)) +
+  geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region),
+              alpha = 0.2) +
+  scale_x_date(date_breaks = "2 weeks",
+               date_labels = "%b %d %Y",
+               date_minor_breaks = "1 week") +
+  labs(x = "Date", y = "% Spent time with non-household member in past 24h",
+       title = "Percent surveyed that spent time with a non-household member by US region",
+       subtitle = "Data from Delphi COVIDcast, delphi.cmu.edu") +
+  theme_bw() +
+  theme(legend.position = c(.075,.15)) +
+  guides(color = FALSE)
+

+

Through the survey, we also find that more people in many states spent time with +people outside of their household in social gatherings for Thanksgiving and +Christmas when compared to the preceding week. In the above figure, the percent +of surveyed adults who recently spent time with non-household members clearly +rises around the holidays for all 4 US regions (mean ± s.e. of states in +region).

+

Experts had suggested quarantining before the holiday to lower the risk of +spreading COVID-19 during family gatherings. We see a steady decrease in the +number of people reporting contact outside of the household in the 14 days +before Thanksgiving across all regions, possibly due to rising case counts +across the nation. However this strong trend is not observed for the Christmas +holiday. The Northeast and South show only very modest decreases in outside +contact in the days just before Christmas, and rates of contact outside the +household in the Midwest and West actually rose steadily during this time. +Overall, we don’t see strong evidence in the data of people proactively +quarantining between the Thanksgiving and Christmas holidays to reduce the +potential for community spread of COVID-19.

+
shopped <- covidcast_signal("fb-survey",
+                            "smoothed_wshop_1d",
+                            start_day = start_after_election, end_day = end_day,
+                            geo_type = "state")
+
+shopped_stats <- shopped %>%
+  rename(state = geo_value, date = time_value) %>%
+  select(date, state, value, sample_size) %>%
+  mutate(state = str_to_upper(state)) %>%
+  filter(state %in% statelist) %>%
+  mutate(Region = plyr::mapvalues(state, statelist, regions)) %>%
+  group_by(date, Region) %>%
+  summarise_at("value", list(mean = ~mean(.), sd = ~sd(.), se = ~sd(.)/sqrt(n()) ))
+
+shopped_stats %>%
+  ggplot() +
+  geom_vline(xintercept = as.Date("2020-11-26"),
+             linetype = "dashed", size = 1.5, color = "darkgrey") +
+  geom_vline(xintercept = as.Date("2020-12-25"),
+             linetype = "dashed", size = 1.5, color = "darkgrey") +
+  geom_line(aes(x = date, y = mean, color = Region)) +
+  geom_line(aes(x = date, y = mean, color = Region)) +
+  geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region),
+              alpha = 0.2) +
+  scale_x_date(date_breaks = "2 weeks",
+               date_labels = "%b %d %Y",
+               date_minor_breaks = "1 week") +
+  labs(x = "Date", y = "% Went shopping in past 24h",
+       title = "Percent surveyed that went shopping recently by US region",
+       subtitle = "Data from Delphi COVIDcast, delphi.cmu.edu") +
+  theme_bw() +
+  theme(legend.position = c(.075, .15)) +
+  guides(color = FALSE)
+

+

Additionally, Thanksgiving and Christmas are major shopping holidays. When asked +if they had gone to the “market, grocery store, or pharmacy” in the past 24 +hours, a high percentage of survey respondents responded they had on +Thanksgiving, Christmas Eve, and Christmas Day (mean ± s.e. of states in +region). Notably, there were steep falls in shopping in the following weeks, +perhaps as people instead chose to spend time indoors with their families. +Typically the days after Thanksgiving and Christmas are among the 10 busiest +in-store retail days of the year, though this trend does not necessarily extend +to grocery stores, pharmacies and the like. As such, the lack of evidence for +the typical post-holiday shopping binges likely reflects the specificity of the +survey question.

+
+
+

Preventative Measures and Testing During the US Holidays

+
masked <- covidcast_signal("fb-survey",
+                           "smoothed_wwearing_mask",
+                           start_day = start_after_election, end_day = end_day,
+                           geo_type = "state")
+
+masked_stats <- masked %>%
+  rename(state = geo_value, date = time_value) %>%
+  select(date, state, value, sample_size) %>%
+  mutate(state = str_to_upper(state)) %>%
+  filter(state %in% statelist) %>%
+  mutate(Region = plyr::mapvalues(state, statelist, regions)) %>%
+  group_by(date, Region) %>%
+  summarise_at("value", list(mean = ~mean(.), sd = ~sd(.), se = ~sd(.)/sqrt(n()) ))
+
+masked_stats %>%
+  ggplot() +
+  geom_vline(xintercept = as.Date("2020-11-26"),
+             linetype = "dashed", size = 1.5, color = "darkgrey") +
+  geom_vline(xintercept = as.Date("2020-12-25"),
+             linetype = "dashed", size = 1.5, color = "darkgrey") +
+  geom_line(aes(x = date, y = mean, color = Region)) +
+  geom_line(aes(x = date, y = mean, color = Region)) +
+  geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region),
+              alpha = 0.2) +
+  scale_x_date(date_breaks = "2 weeks",
+               date_labels = "%b %d %Y",
+               date_minor_breaks = "1 week") +
+  labs(x = "Date", y = "% Wore a mask in public in past 5 days",
+       title = "Percent surveyed that wore a mask in public by US region",
+       subtitle = "Data from Delphi COVIDcast, delphi.cmu.edu") +
+  theme_bw() +
+  theme(legend.position = c(.075, .15)) +
+  guides(color = FALSE)
+

+

While people in the US may have traveled more, shopped more, and spent more time +with non-household members during the holidays, they also reported participating +in preventative measures in public to a greater degree. For example, the percent +of people who say they wore masks most or all of the time while in public in the +past 5 days increased across the nation prior to Thanksgiving and held steady +through the end of the year (mean ± s.e. of states in region).

+
tested <- covidcast_signal("fb-survey",
+                           "smoothed_wtested_14d",
+                           start_day = start_after_election, end_day = end_day,
+                           geo_type = "state")
+
+tested_normed <- tested %>%
+  rename(state = geo_value, date = time_value) %>%
+  select(date, state, value, sample_size) %>%
+  mutate(state = str_to_upper(state)) %>%
+  filter(state %in% statelist) %>%
+  mutate(Region = plyr::mapvalues(state, statelist, regions)) %>%
+  group_by(state) %>%
+  mutate(normed = value*100/first(value) - 100) %>% ungroup() %>%
+  group_by(date, Region) %>%
+  summarise_at("normed", list(mean = ~mean(.), sd = ~sd(.), se = ~sd(.)/sqrt(n()) ))
+
+tested_normed %>%
+  ggplot() +
+  geom_vline(xintercept = as.Date("2020-11-26"),
+             linetype = "dashed", size = 1.5, color = "darkgrey") +
+  geom_vline(xintercept = as.Date("2020-12-25"),
+             linetype = "dashed", size = 1.5, color = "darkgrey") +
+  geom_line(aes(x = date, y = mean, color = Region)) +
+  geom_line(aes(x = date, y = mean, color = Region)) +
+  geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region),
+              alpha = 0.2) +
+  scale_x_date(date_breaks = "2 weeks",
+               date_labels = "%b %d %Y",
+               date_minor_breaks = "1 week") +
+  labs(x = "Date", y = "% Tested in past 14 days",
+       title = "Percent surveyed that were tested recently by US region",
+       subtitle = "Data from Delphi COVIDcast, delphi.cmu.edu") +
+  theme_bw() +
+  theme(legend.position = c(.075, .15)) +
+  guides(color = FALSE)
+

+

Several news agencies reported that the demand for COVID-19 tests surged before +Thanksgiving. +While this was in large part due to rising COVID-19 cases nationwide, it is also +possible that many people chose to test before seeing friends or family during +the holidays. The CDC had urged Americans not to travel for the holidays, but +stated that for those “who decide to travel, testing can help you do so more +safely.” +In addition, several government agencies expanded +testing +prior to the holiday season to support testing for people who elected to travel +and gather.

+

In the above figure, we do see an increase in survey respondents who had +recently been tested for COVID-19 prior to Thanksgiving, and a slight increase +before Christmas (mean ± s.e. of states in region). However, these effects are +fairly weak, and dominated by longer-term trends that likely reflect case count +trends in the region. For example, from mid-November through the end of the year +we see a ~20% fall in self-reported testing in the Midwest, probably an effect +of the ~50% decrease in COVID-19 cases in the +region in the +same time period. We therefore see only weak evidence of prophylactic COVID-19 +testing before the holidays.

+

Altogether, it is clear that many Americans opted to travel out-of-state and +gather with friends and family for the Thanksgiving and Christmas holidays. +Public health experts provided a variety of recommendations to reduce the risks +associated with holiday celebrations. Unfortunately, the survey data does not +indicate widespread adherence to these guidelines, as we see only weak evidence +of preemptive quarantining or testing for safer holiday gatherings. Overall, our +analysis suggests conflicting pandemic behaviors during the 2020 holidays, where +a vast majority of Americans used preventative measures like mask-wearing in +public, but simultaneously increased the risk for disease spread by gathering +with friends and family, shopping more, and traveling out-of-state.

+
+
+

See the Data Yourself!

+

Since April 2020, Carnegie Mellon University’s Delphi Group and Facebook’s Data +for Good have partnered to conduct large-scale daily surveys to monitor the +spread and impact of the COVID-19 pandemic in the United States. To date, the +survey has collected more than 50 million responses. In this post, we show how +the data from the COVID-19 survey +can be used to provide a broader picture of how American’s risk behaviors and +sentiments amidst a global pandemic.

+

All of the above plots were built using aggregate data for the United States +that CMU/Delphi Group & Facebook provide to the public through the COVIDcast +Epidata API, and +visualize in the Delphi Group’s survey +dashboard. Public, aggregate data for the +global COVID-19 survey can be accessed via University of Maryland’s +API. We encourage researchers, public health +officials, and the public to use the survey data and tools for their own +analyses. Microdata is also available upon +request +to academic and nonprofit researchers under data license agreements.

+
diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/spent-time-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/spent-time-1.svg new file mode 100644 index 000000000..43e47dcd8 --- /dev/null +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/spent-time-1.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +25 +30 +35 +40 + + + + + + + + +Nov 16 2020 +Nov 30 2020 +Dec 14 2020 +Dec 28 2020 +Date +% Spent time with non-household member in past 24h + +Region + + + + + + + + +Midwest +Northeast +South +West +Data from Delphi COVIDcast, delphi.cmu.edu +Percent surveyed that spent time with a non-household member by US region + diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg new file mode 100644 index 000000000..7cae946ca --- /dev/null +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-20 +0 +20 + + + + + + + +Nov 16 2020 +Nov 30 2020 +Dec 14 2020 +Dec 28 2020 +Date +% Tested in past 14 days + +Region + + + + + + + + +Midwest +Northeast +South +West +Data from Delphi COVIDcast, delphi.cmu.edu +Percent surveyed that were tested recently by US region + diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg new file mode 100644 index 000000000..aa13c1ace --- /dev/null +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg @@ -0,0 +1,780 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-20 +0 +20 + + + + + + + +Nov 16 2020 +Nov 30 2020 +Dec 14 2020 +Dec 28 2020 +Date +% Out-of-state travel in last 5 days + +Region + + + + + + + + +Midwest +Northeast +South +West +From Delphi's surveys, conducted through Facebook +Relative out-of-state travel by US region + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 +1.43 +1.86 +2.29 +2.71 +3.14 +3.57 + + + + + + + + + + + + + + +US Regions +Data from Delphi COVIDcast, delphi.cmu.edu + diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg new file mode 100644 index 000000000..2e4b5e382 --- /dev/null +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +48 +51 +54 +57 +60 + + + + + + + + + +Nov 16 2020 +Nov 30 2020 +Dec 14 2020 +Dec 28 2020 +Date +% Went shopping in past 24h + +Region + + + + + + + + +Midwest +Northeast +South +West +Data from Delphi COVIDcast, delphi.cmu.edu +Percent surveyed that went shopping recently by US region + diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg new file mode 100644 index 000000000..53f64188f --- /dev/null +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +80 +85 +90 +95 + + + + + + + + +Nov 16 2020 +Nov 30 2020 +Dec 14 2020 +Dec 28 2020 +Date +% Wore a mask in public in past 5 days + +Region + + + + + + + + +Midwest +Northeast +South +West +Data from Delphi COVIDcast, delphi.cmu.edu +Percent surveyed that wore a mask in public by US region + From 13efbea1687336f0aef353232fd0cbdba0fc18b3 Mon Sep 17 00:00:00 2001 From: Alex Reinhart Date: Fri, 22 Jan 2021 19:06:57 -0500 Subject: [PATCH 02/21] Add authors to meta --- content/blog/2021-01-22-holiday-surveys.Rmd | 6 ++++-- content/blog/2021-01-22-holiday-surveys.html | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/content/blog/2021-01-22-holiday-surveys.Rmd b/content/blog/2021-01-22-holiday-surveys.Rmd index 0dc5ab6c8..2a457053c 100644 --- a/content/blog/2021-01-22-holiday-surveys.Rmd +++ b/content/blog/2021-01-22-holiday-surveys.Rmd @@ -7,8 +7,10 @@ tags: - symptom surveys - R summary: | - How did Thanksgiving and Christmas affect travel, social, and preventative - behaviors in the USA during the COVID-19 pandemic? + How did Thanksgiving and Christmas affect travel, social, and preventative + behaviors in the USA during the COVID-19 pandemic? +authors: + - alex related: - 2020-12-10-masks-public - 2020-10-06-survey-wave-4 diff --git a/content/blog/2021-01-22-holiday-surveys.html b/content/blog/2021-01-22-holiday-surveys.html index 343f67f12..922ff657e 100644 --- a/content/blog/2021-01-22-holiday-surveys.html +++ b/content/blog/2021-01-22-holiday-surveys.html @@ -7,8 +7,10 @@ - symptom surveys - R summary: | - How did Thanksgiving and Christmas affect travel, social, and preventative - behaviors in the USA during the COVID-19 pandemic? + How did Thanksgiving and Christmas affect travel, social, and preventative + behaviors in the USA during the COVID-19 pandemic? +authors: + - alex related: - 2020-12-10-masks-public - 2020-10-06-survey-wave-4 From 30b6bcb4e4e705efd2808ed3e31d35e35ee9e68e Mon Sep 17 00:00:00 2001 From: Alex Reinhart Date: Fri, 22 Jan 2021 19:10:22 -0500 Subject: [PATCH 03/21] Add missing authors to YAML --- content/blog/2021-01-22-holiday-surveys.Rmd | 5 ++++- content/blog/2021-01-22-holiday-surveys.html | 5 ++++- data/authors.yaml | 9 +++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/content/blog/2021-01-22-holiday-surveys.Rmd b/content/blog/2021-01-22-holiday-surveys.Rmd index 2a457053c..942037c92 100644 --- a/content/blog/2021-01-22-holiday-surveys.Rmd +++ b/content/blog/2021-01-22-holiday-surveys.Rmd @@ -10,7 +10,10 @@ summary: | How did Thanksgiving and Christmas affect travel, social, and preventative behaviors in the USA during the COVID-19 pandemic? authors: - - alex + - lmorinishi + - kbarkume + - ekim + - alex related: - 2020-12-10-masks-public - 2020-10-06-survey-wave-4 diff --git a/content/blog/2021-01-22-holiday-surveys.html b/content/blog/2021-01-22-holiday-surveys.html index 922ff657e..034d0f23b 100644 --- a/content/blog/2021-01-22-holiday-surveys.html +++ b/content/blog/2021-01-22-holiday-surveys.html @@ -10,7 +10,10 @@ How did Thanksgiving and Christmas affect travel, social, and preventative behaviors in the USA during the COVID-19 pandemic? authors: - - alex + - lmorinishi + - kbarkume + - ekim + - alex related: - 2020-12-10-masks-public - 2020-10-06-survey-wave-4 diff --git a/data/authors.yaml b/data/authors.yaml index 2d4d7e4b5..5401d0c9e 100644 --- a/data/authors.yaml +++ b/data/authors.yaml @@ -38,3 +38,12 @@ name: Larry Wasserman link: http://www.stat.cmu.edu/~larry/ description: is a Professor in the Department of Statistics & Data Science at CMU as well as in the Machine Learning Department and is a member of Delphi. +- key: lmorinishi + name: Leanna Morinishi + description: is a data scientist on the Physical Modeling team at Facebook. +- key: kbarkume + name: Kris Barkume + description: is a research scientist on the Physical Modeling team at Facebook +- key: ekim + name: Esther Kim + description: is a research scientist on the Demography & Survey Science team at Facebook. From 8e2ec771f447613163756babcb4ea3a49f330eed Mon Sep 17 00:00:00 2001 From: Samuel Gratzl Date: Sat, 23 Jan 2021 12:25:30 +0100 Subject: [PATCH 04/21] feat: add new shortcodes fo rlinks since blogdown won't render the markdown links with shortcodes anymore --- themes/delphi/layouts/shortcodes/apireflink.html | 4 ++++ themes/delphi/layouts/shortcodes/reflink.html | 1 + 2 files changed, 5 insertions(+) create mode 100644 themes/delphi/layouts/shortcodes/apireflink.html create mode 100644 themes/delphi/layouts/shortcodes/reflink.html diff --git a/themes/delphi/layouts/shortcodes/apireflink.html b/themes/delphi/layouts/shortcodes/apireflink.html new file mode 100644 index 000000000..8b530ba4c --- /dev/null +++ b/themes/delphi/layouts/shortcodes/apireflink.html @@ -0,0 +1,4 @@ +{{ .Get 1 }} diff --git a/themes/delphi/layouts/shortcodes/reflink.html b/themes/delphi/layouts/shortcodes/reflink.html new file mode 100644 index 000000000..47f778c21 --- /dev/null +++ b/themes/delphi/layouts/shortcodes/reflink.html @@ -0,0 +1 @@ +{{ .Get 1 }} \ No newline at end of file From aa62bc63e2e124f4113f5507b4f94932875c19c5 Mon Sep 17 00:00:00 2001 From: Samuel Gratzl Date: Sat, 23 Jan 2021 12:25:39 +0100 Subject: [PATCH 05/21] fix: add missing dependency --- environment.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/environment.yml b/environment.yml index 011a34efd..c9b28cce9 100644 --- a/environment.yml +++ b/environment.yml @@ -34,6 +34,7 @@ dependencies: - r-plotly - r-sf - r-lubridate + - r-plyr - pandoc - fiona - geopandas From 4e319445364443a3e49889a1cf33b8571b1671dd Mon Sep 17 00:00:00 2001 From: Samuel Gratzl Date: Sat, 23 Jan 2021 12:26:06 +0100 Subject: [PATCH 06/21] fix: use relative shortcode links --- README.md | 1 + content/blog/2021-01-22-holiday-surveys.Rmd | 24 ++++++++--------- content/blog/2021-01-22-holiday-surveys.html | 27 ++++++++------------ 3 files changed, 22 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 0bf390001..f6c41eb43 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,7 @@ In order to convert the Rmd files to HTML files for Hugo you also need to: - `local=TRUE` similar to `-D` to process draft files - `run_hugo=FALSE` to manually run hugo - `build_rmd=TRUE` force a (re)build of the Rmd pages +1. Run blogdown to convert a single file to HTML: `Rscript -e 'blogdown::build_site(local=TRUE, run_hugo=FALSE, build_rmd="content/blog/.Rmd")'` 1. Alternatively, run `npm run build:blog` 1. Run Hugo server as usual diff --git a/content/blog/2021-01-22-holiday-surveys.Rmd b/content/blog/2021-01-22-holiday-surveys.Rmd index 942037c92..9c526c1f0 100644 --- a/content/blog/2021-01-22-holiday-surveys.Rmd +++ b/content/blog/2021-01-22-holiday-surveys.Rmd @@ -9,6 +9,8 @@ tags: summary: | How did Thanksgiving and Christmas affect travel, social, and preventative behaviors in the USA during the COVID-19 pandemic? +heroImage: /blog/images/blog-lg-img_hello-world.jpg +heroImageThumb: /blog/images/blog-thumb-img_hello-world.jpg authors: - lmorinishi - kbarkume @@ -36,21 +38,17 @@ gatherings during the holidays and a number of states expanded COVID-19 restrictions to prevent further escalation in cases. [Reports](https://www.washingtonpost.com/travel/2020/12/21/christmas-flights-cdc-restrictions-covid/) from airlines suggest air travel was up significantly during the holiday season, -but [Delphi’s COVID-19 Surveys](https://delphi.cmu.edu/covidcast/surveys/) can +but `r blogdown::shortcode("reflink", "surveys", "Delphi’s COVID-19 Surveys")` can provide a broader picture of the travel Americans took during the holiday season. In taking greater risks with travel, did Americans change their behaviors in other preventative measures like mask wearing during this time? For the following analyses, we use publicly available aggregate data from the -[COVIDcast Epidata -API](https://cmu-delphi.github.io/delphi-epidata/api/covidcast.html) that have -been [weighted to better match state -demographics](https://cmu-delphi.github.io/delphi-epidata/api/covidcast-signals/fb-survey.html#survey-weighting). +`r blogdown::shortcode("apireflink", "api/covidcast.html", "COVIDcast Epidata API")` that have +been `r blogdown::shortcode("apireflink", "api/covidcast-signals/fb-survey.html#survey-weighting", "weighted to better match state demographics")`. Here we focus on behavioral signals which have been available since September 8, -2020, when [Wave 4 of the survey was -deployed](https://delphi.cmu.edu/blog/2020/10/12/new-and-improved-covid-symptom-survey-tracks-testing-and-mask-wearing/), -and are now visible in the [Delphi Group’s survey -dashboard](https://delphi.cmu.edu/covidcast/survey-results/). Additionally, we +2020, when `r blogdown::shortcode("reflink", "2020-10-06-survey-wave-4", "Wave 4 of the survey was deployed")`, +and are now visible in the `r blogdown::shortcode("reflink", "survey-results", "Delphi Group’s survey dashboard")`. Additionally, we only consider data after November 11, 2020 to avoid any major effects due to the US election on November 3. All data below will be based on 7-day rolling averages of survey responses. @@ -395,15 +393,13 @@ Since April 2020, Carnegie Mellon University’s Delphi Group and Facebook’s D for Good have partnered to conduct large-scale daily surveys to monitor the spread and impact of the COVID-19 pandemic in the United States. To date, the survey has collected more than 50 million responses. In this post, we show how -the data from the [COVID-19 survey](https://delphi.cmu.edu/covidcast/surveys/) +the data from the `r blogdown::shortcode("reflink", "surveys", "COVID-19 survey")` can be used to provide a broader picture of how American’s risk behaviors and sentiments amidst a global pandemic. All of the above plots were built using aggregate data for the United States -that CMU/Delphi Group & Facebook provide to the public through the [COVIDcast -Epidata API](https://cmu-delphi.github.io/delphi-epidata/symptom-survey/), and -visualize in the [Delphi Group's survey -dashboard](https://delphi.cmu.edu/covidcast/). Public, aggregate data for the +that CMU/Delphi Group & Facebook provide to the public through the `r blogdown::shortcode("apireflink", "symptom-survey/", "COVIDcast Epidata API")`, and +visualize in the `r blogdown::shortcode("reflink", "/covidcast", "Delphi Group’s survey dashboard")`. Public, aggregate data for the global COVID-19 survey can be accessed via [University of Maryland's API](https://covidmap.umd.edu/api.html). We encourage researchers, public health officials, and the public to use the survey data and tools for their own diff --git a/content/blog/2021-01-22-holiday-surveys.html b/content/blog/2021-01-22-holiday-surveys.html index 034d0f23b..cad0cc174 100644 --- a/content/blog/2021-01-22-holiday-surveys.html +++ b/content/blog/2021-01-22-holiday-surveys.html @@ -9,6 +9,8 @@ summary: | How did Thanksgiving and Christmas affect travel, social, and preventative behaviors in the USA during the COVID-19 pandemic? +heroImage: /blog/images/blog-lg-img_hello-world.jpg +heroImageThumb: /blog/images/blog-thumb-img_hello-world.jpg authors: - lmorinishi - kbarkume @@ -27,8 +29,7 @@ toc: true --- - - +
    @@ -47,20 +48,16 @@ restrictions to prevent further escalation in cases. Reports from airlines suggest air travel was up significantly during the holiday season, -but Delphi’s COVID-19 Surveys can +but {{% reflink "surveys" "Delphi’s COVID-19 Surveys" %}} can provide a broader picture of the travel Americans took during the holiday season. In taking greater risks with travel, did Americans change their behaviors in other preventative measures like mask wearing during this time?

    For the following analyses, we use publicly available aggregate data from the -COVIDcast Epidata -API that have -been weighted to better match state -demographics. +{{% apireflink "api/covidcast.html" "COVIDcast Epidata API" %}} that have +been {{% apireflink "api/covidcast-signals/fb-survey.html#survey-weighting" "weighted to better match state demographics" %}}. Here we focus on behavioral signals which have been available since September 8, -2020, when Wave 4 of the survey was -deployed, -and are now visible in the Delphi Group’s survey -dashboard. Additionally, we +2020, when {{% reflink "2020-10-06-survey-wave-4" "Wave 4 of the survey was deployed" %}}, +and are now visible in the {{% reflink "survey-results" "Delphi Group’s survey dashboard" %}}. Additionally, we only consider data after November 11, 2020 to avoid any major effects due to the US election on November 3. All data below will be based on 7-day rolling averages of survey responses.

    @@ -383,14 +380,12 @@

    See the Data Yourself!

    for Good have partnered to conduct large-scale daily surveys to monitor the spread and impact of the COVID-19 pandemic in the United States. To date, the survey has collected more than 50 million responses. In this post, we show how -the data from the COVID-19 survey +the data from the {{% reflink "surveys" "COVID-19 survey" %}} can be used to provide a broader picture of how American’s risk behaviors and sentiments amidst a global pandemic.

    All of the above plots were built using aggregate data for the United States -that CMU/Delphi Group & Facebook provide to the public through the COVIDcast -Epidata API, and -visualize in the Delphi Group’s survey -dashboard. Public, aggregate data for the +that CMU/Delphi Group & Facebook provide to the public through the {{% apireflink "symptom-survey/" "COVIDcast Epidata API" %}}, and +visualize in the {{% reflink "/covidcast" "Delphi Group’s survey dashboard" %}}. Public, aggregate data for the global COVID-19 survey can be accessed via University of Maryland’s API. We encourage researchers, public health officials, and the public to use the survey data and tools for their own From e0d14af6a59c40270af0998e5f650c472c609d93 Mon Sep 17 00:00:00 2001 From: Samuel Gratzl Date: Sat, 23 Jan 2021 13:40:59 +0100 Subject: [PATCH 07/21] refactor: use new link pattern for latest blogdown --- .github/workflows/ci.yaml | 3 +- .prettierignore | 4 +- content/blog/2015-07-23-template-post.Rmd | 8 +- content/blog/2015-07-23-template-post.html | 28 +- content/blog/2020-08-10-hello-world.Rmd | 12 +- content/blog/2020-08-10-hello-world.html | 22 +- content/blog/2020-08-26-fb-survey.Rmd | 24 +- content/blog/2020-08-26-fb-survey.html | 30 +- content/blog/2020-08-28-api.Rmd | 60 +- content/blog/2020-08-28-api.html | 62 +- content/blog/2020-09-18-google-survey.Rmd | 24 +- content/blog/2020-09-18-google-survey.html | 58 +- content/blog/2020-09-21-forecast-demo.Rmd | 15 +- content/blog/2020-09-21-forecast-demo.html | 17 +- content/blog/2020-10-06-survey-wave-4.Rmd | 45 +- content/blog/2020-10-06-survey-wave-4.html | 53 +- content/blog/2020-10-14-dv-signal.Rmd | 6 +- content/blog/2020-10-14-dv-signal.html | 9 +- content/blog/2020-12-10-masks-public.Rmd | 18 +- content/blog/2020-12-10-masks-public.html | 20 +- .../2021-01-15-causal-effect-mobility.Rmd | 5 +- .../2021-01-15-causal-effect-mobility.html | 8 +- content/blog/2021-01-22-holiday-surveys.Rmd | 16 +- content/blog/2021-01-22-holiday-surveys.html | 16 +- package.json | 2 +- .../rmarkdown-libs/jquery/jquery-AUTHORS.txt | 168 ++- static/rmarkdown-libs/jquery/jquery.js | 1238 ++++++++++------- static/rmarkdown-libs/jquery/jquery.min.js | 4 +- static/rmarkdown-libs/jquery/jquery.min.map | 2 +- .../delphi/layouts/shortcodes/apireflink.html | 5 +- 30 files changed, 1087 insertions(+), 895 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cd3864356..553f03bdf 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -46,8 +46,9 @@ jobs: with: path: | ./blogdown - key: ${{ runner.os }}-blogdown2-${{ hashFiles('content/blog/**.Rmd') }} + key: ${{ runner.os }}-blogdown2-${{ hashFiles('environment.yml') }}-${{ hashFiles('content/blog/**.Rmd') }} restore-keys: | + ${{ runner.os }}-blogdown2-${{ hashFiles('environment.yml') }}- ${{ runner.os }}-blogdown2- - name: Build site shell: bash -l {0} diff --git a/.prettierignore b/.prettierignore index 74222a5af..d78dc8f58 100644 --- a/.prettierignore +++ b/.prettierignore @@ -29,4 +29,6 @@ *.md *.jpeg *.ico -/themes/delphi/layouts/partials/webp-image.html \ No newline at end of file +/themes/delphi/layouts/partials/webp-image.html +/themes/delphi/layouts/shortcodes/apireflink.html +/themes/delphi/layouts/shortcodes/reflink.html \ No newline at end of file diff --git a/content/blog/2015-07-23-template-post.Rmd b/content/blog/2015-07-23-template-post.Rmd index c44aa5852..1cfff0c74 100644 --- a/content/blog/2015-07-23-template-post.Rmd +++ b/content/blog/2015-07-23-template-post.Rmd @@ -110,12 +110,12 @@ suggest we consider the following tags as base tags: ### Linking to other pages and blog posts: -using the file name and the Hugo shortcodes, e.g.: [Facebook Post](`r blogdown::shortcode_html("relref", "2020-08-26-fb-survey")`). +using the file name and the Hugo shortcodes, e.g.: `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey", "Facebook Post")`. Jumping to a specific section/anchor is supported too: -[previous exploratory investigations](`r blogdown::shortcode_html("relref", "2020-08-26-fb-survey#some-interesting-examples")`) +`r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey#some-interesting-examples", "previous exploratory investigations")` ### Linking to the API doc: there is another shortcode for creating an api link, e.g. -[public API](`r blogdown::shortcode_html("apiref", "/")`) or -[Doctor's Visits signal](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/doctor-visits.html")`) +`r blogdown::shortcode_html("apireflink", "/", "public API")` or +`r blogdown::shortcode_html("apireflink", "api/covidcast-signals/doctor-visits.html", "Doctor's Visits signal")` diff --git a/content/blog/2015-07-23-template-post.html b/content/blog/2015-07-23-template-post.html index 19cc04435..1ff2f3f81 100644 --- a/content/blog/2015-07-23-template-post.html +++ b/content/blog/2015-07-23-template-post.html @@ -23,8 +23,6 @@ --- - -

      @@ -49,21 +47,21 @@ see http://rmarkdown.rstudio.com.

      You can embed an R code chunk like this:

      summary(cars)
      -##      speed           dist
      -##  Min.   : 4.0   Min.   :  2.00
      -##  1st Qu.:12.0   1st Qu.: 26.00
      -##  Median :15.0   Median : 36.00
      -##  Mean   :15.4   Mean   : 42.98
      -##  3rd Qu.:19.0   3rd Qu.: 56.00
      +##      speed           dist       
      +##  Min.   : 4.0   Min.   :  2.00  
      +##  1st Qu.:12.0   1st Qu.: 26.00  
      +##  Median :15.0   Median : 36.00  
      +##  Mean   :15.4   Mean   : 42.98  
      +##  3rd Qu.:19.0   3rd Qu.: 56.00  
       ##  Max.   :25.0   Max.   :120.00
       fit <- lm(dist ~ speed, data = cars)
       fit
      -##
      +## 
       ## Call:
       ## lm(formula = dist ~ speed, data = cars)
      -##
      +## 
       ## Coefficients:
      -## (Intercept)        speed
      +## (Intercept)        speed  
       ##     -17.579        3.932

      Including Plots

      @@ -142,14 +140,14 @@

      Tags

      Linking

      Linking to other pages and blog posts:

      -

      using the file name and the Hugo shortcodes, e.g.: }}">Facebook Post. +

      using the file name and the Hugo shortcodes, e.g.: {{< reflink "2020-08-26-fb-survey" "Facebook Post" >}}. Jumping to a specific section/anchor is supported too: -}}">previous exploratory investigations

      +{{< reflink "2020-08-26-fb-survey#some-interesting-examples" "previous exploratory investigations" >}}

      Linking to the API doc:

      there is another shortcode for creating an api link, e.g.  -}}">public API or -}}">Doctor’s Visits signal

      +{{< apireflink "/" "public API" >}} or +{{< apireflink "api/covidcast-signals/doctor-visits.html" "Doctor's Visits signal" >}}

      diff --git a/content/blog/2020-08-10-hello-world.Rmd b/content/blog/2020-08-10-hello-world.Rmd index 572115a12..c9ae264cd 100644 --- a/content/blog/2020-08-10-hello-world.Rmd +++ b/content/blog/2020-08-10-hello-world.Rmd @@ -59,7 +59,7 @@ and making headway into dengue and norovirus. To learn about the work our group has done in the past, including some papers we've written, software tools we've built, and the real-time epidemiological data server we've been deploying since 2016, -check out [our website](`r blogdown::shortcode("ref", "/")`). +check out `r blogdown::shortcode_html("reflink", "/", "our website")`. When the COVID-19 pandemic arrived, we focused all our attention on it. Our Delphi team @@ -70,7 +70,7 @@ including Stanford, UC Davis, and USC, and also from industry. The pace has been intense and dizzying at times, and we're infinitely grateful for the contributions and commitment of all our new members---we'd be nowhere without them. -See [here](`r blogdown::shortcode("ref", "team")`) +See `r blogdown::shortcode_html("reflink", "team", "here")` for a list of the Delphi team members. With new members comes a new breadth of expertise: @@ -145,14 +145,12 @@ Here's a quick summary: aggregated counts from massive medical claims data sets through partners like Change Healthcare. -- We've built a [public - API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`), - and [R and Python - packages](`r blogdown::shortcode_html("apiref", "api/covidcast_clients.html")`), +- We've built a `r blogdown::shortcode_html("apireflink", "api/covidcast.html", "public API")`, + and `r blogdown::shortcode_html("apireflink", "api/covidcast_clients.html", "R and Python packages")`, to serve our indicators to researchers and the public. This API provides new data daily. -- We've built [interactive maps and graphics](`r blogdown::shortcode("ref", "covidcast")`) to +- We've built `r blogdown::shortcode_html("reflink", "covidcast", "interactive maps and graphics")` to display our indicators, and better inform the public and decision-makers. - We've developed forecasts of the future spread of the pandemic, diff --git a/content/blog/2020-08-10-hello-world.html b/content/blog/2020-08-10-hello-world.html index f683c0b12..f06684fa2 100644 --- a/content/blog/2020-08-10-hello-world.html +++ b/content/blog/2020-08-10-hello-world.html @@ -13,12 +13,12 @@ Hello from the Delphi research group at Carnegie Mellon University! We're a group of faculty, students, and staff, based primarily out of CMU together with strong collaborators from other universities and industry. - Our group was founded in 2012 to advance the theory and practice of epidemic - forecasting. Since March 2020, we have refocused efforts towards helping combat + Our group was founded in 2012 to advance the theory and practice of epidemic + forecasting. Since March 2020, we have refocused efforts towards helping combat the COVID-19 pandemic, by supporting informed decision-making at federal, state, and local levels of government and in the healthcare sector. Until now, we've - been pretty “heads down” with our work, and slow to communicate what we've been - up to. But at last ... Delphi finally has a blog! This first post serves as an + been pretty “heads down” with our work, and slow to communicate what we've been + up to. But at last ... Delphi finally has a blog! This first post serves as an introduction of sorts. Future posts will dive deeper into our various projects. output: blogdown::html_page: @@ -26,8 +26,6 @@ --- - -
        @@ -69,7 +67,7 @@

        A Little Bit About Us

        To learn about the work our group has done in the past, including some papers we’ve written, software tools we’ve built, and the real-time epidemiological data server we’ve been deploying since 2016, -check out our website.

        +check out {{< reflink "/" "our website" >}}.

        When the COVID-19 pandemic arrived, we focused all our attention on it. Our Delphi team quickly grew to 30+ members, and is still growing. @@ -79,7 +77,7 @@

        A Little Bit About Us

        The pace has been intense and dizzying at times, and we’re infinitely grateful for the contributions and commitment of all our new members—we’d be nowhere without them. -See here +See {{< reflink "team" "here" >}} for a list of the Delphi team members.

        With new members comes a new breadth of expertise: our expertise now covers statistical modeling, computation, @@ -146,13 +144,11 @@

        What We’ve Been Up To

        through partnerships with Facebook and Google, and others are based on aggregated counts from massive medical claims data sets through partners like Change Healthcare.

        -
      • We’ve built a }}">public -API, -and }}">R and Python -packages, +

      • We’ve built a {{< apireflink "api/covidcast.html" "public API" >}}, +and {{< apireflink "api/covidcast_clients.html" "R and Python packages" >}}, to serve our indicators to researchers and the public. This API provides new data daily.

      • -
      • We’ve built interactive maps and graphics to +

      • We’ve built {{< reflink "covidcast" "interactive maps and graphics" >}} to display our indicators, and better inform the public and decision-makers.

      • We’ve developed forecasts of the future spread of the pandemic, validated them prospectively, and started submitting them to CDC.

      • diff --git a/content/blog/2020-08-26-fb-survey.Rmd b/content/blog/2020-08-26-fb-survey.Rmd index 06495c6c7..fcf1bf974 100644 --- a/content/blog/2020-08-26-fb-survey.Rmd +++ b/content/blog/2020-08-26-fb-survey.Rmd @@ -61,8 +61,8 @@ We believe that this combination of _detail_ and _scale_ has never before been available in a public health emergency. We make aggregated data publicly available daily through our -[COVIDcast API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`), -and visualize it on our [COVIDcast interactive map](`r blogdown::shortcode_html("ref", "covidcast")`). +`r blogdown::shortcode_html("apireflink", "api/covidcast.html", "COVIDcast API")`, +and visualize it on our `r blogdown::shortcode_html("reflink", "covidcast", "COVIDcast interactive map")`. We also make (fully de-identified) individual survey responses available to researchers who agree to [data use terms](https://dataforgood.fb.com/docs/covid-19-symptom-survey-request-for-data-access/). @@ -174,8 +174,7 @@ package](https://cmu-delphi.github.io/covidcast/covidcastR/). In all, fetching the data from our API and producing the heatmaps requires only 15 lines of code. If you're interested, click the "Code" button to reveal the source. -We'll cover our [R and Python covidcast -packages](`r blogdown::shortcode_html("apiref", "api/covidcast_clients.html")`) +We'll cover our `r blogdown::shortcode_html("apireflink", "api/covidcast_clients.html", "R and Python covidcast packages")` in a future blog post. ## Why Run These Surveys? @@ -211,8 +210,7 @@ surveys: which may be a sizeable fraction of the US population, but certainly not all of it. We'll also likely see bias because some people on Facebook are more inclined to take surveys than others. We attempt to correct for both of these biases - using a [statistical reweighting - scheme](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/fb-survey.html#survey-weighting")`), + using a `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/fb-survey.html#survey-weighting", "statistical reweighting scheme")`, but these corrections aren't perfect. - Our symptom data is entirely self-reported, in contrast to data @@ -249,8 +247,7 @@ quantities, in a given location, on a given day: community_ with COVID-like illness. Details on how we compute the % CLI and % CLI-in-community estimates can be -found in our [COVIDcast signals -documentation](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/fb-survey.html")`). +found in our `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/fb-survey.html", "COVIDcast signals documentation")`. The % CLI-in-community indicator has an interesting backstory: it was sort of a "happy accident" from an experiment we tried with surveys we were running in @@ -272,10 +269,8 @@ public health. They assured us that lengthening the survey wouldn't hurt the completion rate too much, and they were right: of the people who complete the first section, over 85% go on to finish the full survey! -Our [survey documentation -site](`r blogdown::shortcode_html("apiref", "symptom-survey/")`) includes more -details about the survey, including the [full text of every survey -version](`r blogdown::shortcode_html("apiref", "symptom-survey/coding.html")`). +Our `r blogdown::shortcode_html("apireflink", "symptom-survey/", "survey documentation site")` includes more +details about the survey, including the `r blogdown::shortcode_html("apireflink", "symptom-survey/coding.html", "full text of every survey version")`. And yes, researchers can [request access](https://dataforgood.fb.com/docs/covid-19-symptom-survey-request-for-data-access/) to (fully de-identified) individual survey responses for research purposes, @@ -605,6 +600,5 @@ This new survey is currently being deployed, and data should become available in the next few weeks. Detailed data will be available to researchers, while new aggregates---such as of mask-wearing---will -be made public, as usual, through our [COVIDcast -API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`) -and [COVIDcast interactive map](`r blogdown::shortcode_html("ref", "covidcast")`). +be made public, as usual, through our `r blogdown::shortcode_html("apireflink", "api/covidcast.html", "COVIDcast API")` +and `r blogdown::shortcode_html("reflink", "covidcast", "COVIDcast interactive map")`. diff --git a/content/blog/2020-08-26-fb-survey.html b/content/blog/2020-08-26-fb-survey.html index ce8ec3f0c..3be2626b2 100644 --- a/content/blog/2020-08-26-fb-survey.html +++ b/content/blog/2020-08-26-fb-survey.html @@ -47,8 +47,7 @@ toc: true --- - - +
        @@ -213,8 +212,7 @@

        Why Run These Surveys?

        which may be a sizeable fraction of the US population, but certainly not all of it. We’ll also likely see bias because some people on Facebook are more inclined to take surveys than others. We attempt to correct for both of these biases -using a }}">statistical reweighting -scheme, +using a {{< apireflink "api/covidcast-signals/fb-survey.html#survey-weighting" "statistical reweighting scheme" >}}, but these corrections aren’t perfect.

      • Our symptom data is entirely self-reported, in contrast to data reported by medical professionals. Some fraction of the responses could be @@ -248,8 +246,7 @@

        What’s in the Survey?

        community with COVID-like illness.

      Details on how we compute the % CLI and % CLI-in-community estimates can be -found in our }}">COVIDcast signals -documentation.

      +found in our {{< apireflink "api/covidcast-signals/fb-survey.html" "COVIDcast signals documentation" >}}.

      The % CLI-in-community indicator has an interesting backstory: it was sort of a “happy accident” from an experiment we tried with surveys we were running in partnership with Google. (We’ll cover our Google survey in a future blog post.) @@ -268,10 +265,8 @@

      What’s in the Survey?

      public health. They assured us that lengthening the survey wouldn’t hurt the completion rate too much, and they were right: of the people who complete the first section, over 85% go on to finish the full survey!

      -

      Our }}">survey documentation -site includes more -details about the survey, including the }}">full text of every survey -version. +

      Our {{< apireflink "symptom-survey/" "survey documentation site" >}} includes more +details about the survey, including the {{< apireflink "symptom-survey/coding.html" "full text of every survey version" >}}. And yes, researchers can request access to (fully de-identified) individual survey responses for research purposes, @@ -579,7 +574,6 @@

      What’s Next with the Surveys

      and data should become available in the next few weeks. Detailed data will be available to researchers, while new aggregates—such as of mask-wearing—will -be made public, as usual, through our }}">COVIDcast -API -and }}">COVIDcast interactive map.

      +be made public, as usual, through our {{< apireflink "api/covidcast.html" "COVIDcast API" >}} +and {{< reflink "covidcast" "COVIDcast interactive map" >}}.

      diff --git a/content/blog/2020-08-28-api.Rmd b/content/blog/2020-08-28-api.Rmd index 926f08767..21d0938dc 100644 --- a/content/blog/2020-08-28-api.Rmd +++ b/content/blog/2020-08-28-api.Rmd @@ -56,13 +56,13 @@ knitr::opts_chunk$set(collapse = TRUE) ``` One of our primary initiatives at the Delphi COVIDcast project -([learn more about our organization here](`r blogdown::shortcode_html("ref", "2020-08-10-hello-world")`)) +(`r blogdown::shortcode_html("reflink", "2020-08-10-hello-world", "learn more about our organization here")`) has been to curate a diverse set of COVID-related data streams, and to make them freely available through our -[COVIDcast Epidata API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`). +`r blogdown::shortcode_html("apireflink", "api/covidcast.html", "COVIDcast Epidata API")`. These include both novel signals that we have collected and analyzed ourselves, -such as our symptom survey [distributed by Facebook](`r blogdown::shortcode_html("ref", "2020-09-18-google-survey")`) -to its users, [Google's symptom survey](`r blogdown::shortcode_html("ref", "2020-09-18-google-survey")`) whose results are delivered to us, +such as our symptom survey `r blogdown::shortcode_html("reflink", "2020-09-18-google-survey", "distributed by Facebook")` +to its users, `r blogdown::shortcode_html("reflink", "2020-09-18-google-survey", "Google's symptom survey")` whose results are delivered to us, the percentage of doctor's visits due to COVID-like illness, and results from Quidel's antigen tests; and also existing signals, such as the confirmed case counts @@ -74,8 +74,7 @@ is conveniently accessible via easy-to-use and [R](https://cmu-delphi.github.io/covidcast/covidcastR/) packages. We have always made our code, data and estimates freely and publicly available, from the very beginning of our work on flu back in 2013, well before the COVID pandemic. -Back in 2016, Delphi member David Farrow designed and implemented the [Epidata -API](`r blogdown::shortcode_html("apiref", "/")`) to share data from our numerous surveillance +Back in 2016, Delphi member David Farrow designed and implemented the `r blogdown::shortcode_html("apireflink", "/", "Epidata API")` to share data from our numerous surveillance streams for influenza and other diseases, and pioneered many of the API concepts discussed below. Now that COVID-19 is here, our collaborations with partner organizations in technology and healthcare enable us to include a @@ -99,8 +98,7 @@ we require a diversity of data sources. This recognition caused us to shift priorities. Before we could build forecasts and other statistical models, we needed to rapidly develop new relevant data streams. -This effort grew into the COVIDcast project---see our [introductory -post](`r blogdown::shortcode_html("ref", "2020-08-10-hello-world")`) +This effort grew into the COVIDcast project---see our `r blogdown::shortcode_html("reflink", "2020-08-10-hello-world", "introductory post")` for more about our efforts since March. The data streams that we work with can be roughly mapped @@ -172,19 +170,18 @@ cover most levels of the severity pyramid and include: since April 6. Our survey averages over 70,000 respondents each day, making it---along with its [international sister survey](https://covidmap.umd.edu/) run by University of Maryland---the largest public health survey ever conducted. - Our [previous blog post](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey")`) + Our `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey", "previous blog post")` showed how the survey can indicate COVID-19 activity, - and preliminary analysis also suggests [it can help forecast COVID-19 - cases](`r blogdown::shortcode_html("ref", "2020-09-21-forecast-demo")`). - See our [surveys site](`r blogdown::shortcode_html("ref", "surveys")`) + and preliminary analysis also suggests `r blogdown::shortcode_html("reflink", "2020-09-21-forecast-demo", "it can help forecast COVID-19 cases")`. + See our `r blogdown::shortcode_html("reflink", "surveys", "surveys site")` for more on the survey, its questions, and getting access to data. - Massive surveys we run through Google: From April 11 to May 14, 2020, Delphi conducted a single-question symptoms survey through Google. It reached over 100,000 respondents daily during its short run, and was a surprisingly informative measure of pandemic activity preceding medical contact. For more, see our - [previous blog post](`r blogdown::shortcode_html("ref", "2020-09-18-google-survey")`), - or our [technical documentation](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/google-survey.html")`). + `r blogdown::shortcode_html("reflink", "2020-09-18-google-survey", "previous blog post")`, + or our `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/google-survey.html", "technical documentation")`. As explained in our past blog post, Delphi is currently considering new uses for these surveys. - Insurance claims: Medical insurance claims include diagnostic codes, @@ -196,15 +193,14 @@ cover most levels of the severity pyramid and include: We use this data to construct signals reflecting COVID activity in both outpatient and inpatient visits; see our technical documentation sites for - [doctor's visits](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/doctor-visits.html")`) - and [hospital admissions](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/hospital-admissions.html")`) + `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/doctor-visits.html", "doctor's visits")` + and `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/hospital-admissions.html", "hospital admissions")` for more details. - Quidel COVID antigen tests: Quidel is a national provider of networked lab testing devices, and began making de-identified records of their COVID-19 antigen tests available to us in early May. This data source fills an important gap because many public testing data sources only include PCR tests, not antigen - tests. Our [technical - documentation](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/quidel.html#covid-19-tests")`) + tests. Our `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/quidel.html#covid-19-tests", "technical documentation")` gives more details. - Google search trends: We query the Google Health Trends API @@ -214,7 +210,7 @@ cover most levels of the severity pyramid and include: which emerged as a specific symptom of COVID-19. More details, including the search terms and topics we analyze, are available in our - [technical documentation](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/ght.html")`). + `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/ght.html", "technical documentation")`. Additionally, we host the following more widely-available signals in our API for the convenience of the research community, and to provide revision tracking: @@ -230,8 +226,7 @@ Nearly all our data streams are available at the county level across the United States. We also aggregate our signals to metropolitan statistical areas and states, and some signals to Hospital Referral Regions (HRRs). For a full list of all data streams, see our -[COVIDcast signal documentation -site](`r blogdown::shortcode_html("apiref", "api/covidcast_signals.html")`). +`r blogdown::shortcode_html("apireflink", "api/covidcast_signals.html", "COVIDcast signal documentation site")`. The software we've developed to obtain and aggregate this data is open-source, shared in our [covidcast-indicators GitHub repository](https://github.com/cmu-delphi/covidcast-indicators). @@ -333,7 +328,7 @@ A massive database of COVID-19 data is, of course, of no use if nobody can access it. We provide several ways to access COVIDcast data. -First, the [public COVIDcast map](`r blogdown::shortcode_html("ref", "covidcast")`) +First, the `r blogdown::shortcode_html("reflink", "covidcast", "public COVIDcast map")` provides a selection of our signals, and includes an "Export Data" tab that can pull a selected signal and download it as a CSV. @@ -346,11 +341,9 @@ data analysis in either language. The first step of using the packages to acquire the data is to identify the source and signal name for the data you want to analyze. Suppose, for example, -that you browse the [COVIDcast signal -documentation](`r blogdown::shortcode_html("apiref", "api/covidcast_signals.html")`) +that you browse the `r blogdown::shortcode_html("apireflink", "api/covidcast_signals.html", "COVIDcast signal documentation")` and decide you would like to conduct an analysis of a hospital admissions -signal. According to [its documentation -page](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/hospital-admissions.html")`), +signal. According to `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/hospital-admissions.html", "its documentation page")`, this source is called `hospital-admissions`, and there are several available signals to choose from. Reviewing the technical details, you decide `smoothed_adj_covid19` fits your needs best, because it removes day-of-week @@ -399,10 +392,8 @@ In Python, fetching data requires the which can quickly produce a Pandas data frame. For example, here we fetch the estimated percentage of people in each state who know someone who is sick, -based on Delphi's [symptom -surveys](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey")`). -According to the [relevant documentation -page](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/fb-survey.html")`), +based on Delphi's `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey", "symptom surveys")`. +According to the `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/fb-survey.html", "relevant documentation page")`, this is the `fb-survey` data source's `smoothed_hh_cmnty_cli` signal. (Click the "Code" button to see the Python code used to produce this example.) @@ -440,18 +431,17 @@ estimated percent of people with COVID-Like Illness based on our symptom surveys---for one county in the United States between April 6 and April 10, 2020. That county is Alameda County, CA, which has the FIPS code 06001. -Query syntax is defined on our [API documentation -site](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`), and you +Query syntax is defined on our `r blogdown::shortcode_html("apireflink", "api/covidcast.html", "API documentation site")`, and you can use any programming language that supports making HTTP requests---which is most programming languages---to fetch up-to-date data. ## Putting the API to Work -The [COVIDcast API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`) +The `r blogdown::shortcode_html("apireflink", "api/covidcast.html", "COVIDcast API")` provides unified access to numerous COVID data streams, -which can be browsed through our [interactive map](`r blogdown::shortcode_html("ref", "covidcast")`) +which can be browsed through our `r blogdown::shortcode_html("reflink", "covidcast", "interactive map")` and easily accessed through our -[R and Python packages](`r blogdown::shortcode_html("apiref", "api/covidcast_clients.html")`). +`r blogdown::shortcode_html("apireflink", "api/covidcast_clients.html", "R and Python packages")`. Unlike most other sources of COVID data, it tracks the complete revision history of every signal, allowing historical reconstructions of diff --git a/content/blog/2020-08-28-api.html b/content/blog/2020-08-28-api.html index 8fa1a3ee2..a02430666 100644 --- a/content/blog/2020-08-28-api.html +++ b/content/blog/2020-08-28-api.html @@ -52,8 +52,6 @@ --- - -
        @@ -66,13 +64,13 @@

      One of our primary initiatives at the Delphi COVIDcast project -(}}">learn more about our organization here) +({{< reflink "2020-08-10-hello-world" "learn more about our organization here" >}}) has been to curate a diverse set of COVID-related data streams, and to make them freely available through our -}}">COVIDcast Epidata API. +{{< apireflink "api/covidcast.html" "COVIDcast Epidata API" >}}. These include both novel signals that we have collected and analyzed ourselves, -such as our symptom survey }}">distributed by Facebook -to its users, }}">Google’s symptom survey whose results are delivered to us, +such as our symptom survey {{< reflink "2020-09-18-google-survey" "distributed by Facebook" >}} +to its users, {{< reflink "2020-09-18-google-survey" "Google's symptom survey" >}} whose results are delivered to us, the percentage of doctor’s visits due to COVID-like illness, and results from Quidel’s antigen tests; and also existing signals, such as the confirmed case counts @@ -83,8 +81,7 @@ Python and R packages.

      We have always made our code, data and estimates freely and publicly available, from the very beginning of our work on flu back in 2013, well before the COVID pandemic. -Back in 2016, Delphi member David Farrow designed and implemented the }}">Epidata -API to share data from our numerous surveillance +Back in 2016, Delphi member David Farrow designed and implemented the {{< apireflink "/" "Epidata API" >}} to share data from our numerous surveillance streams for influenza and other diseases, and pioneered many of the API concepts discussed below. Now that COVID-19 is here, our collaborations with partner organizations in technology and healthcare enable us to include a @@ -107,8 +104,7 @@

      Purpose of the API

      This recognition caused us to shift priorities. Before we could build forecasts and other statistical models, we needed to rapidly develop new relevant data streams. -This effort grew into the COVIDcast project—see our }}">introductory -post +This effort grew into the COVIDcast project—see our {{< reflink "2020-08-10-hello-world" "introductory post" >}} for more about our efforts since March.

      The data streams that we work with can be roughly mapped onto the epidemic severity pyramid, @@ -174,19 +170,18 @@

      Unique Data Sources

      since April 6. Our survey averages over 70,000 respondents each day, making it—along with its international sister survey run by University of Maryland—the largest public health survey ever conducted. -Our }}">previous blog post +Our {{< reflink "2020-08-26-fb-survey" "previous blog post" >}} showed how the survey can indicate COVID-19 activity, -and preliminary analysis also suggests }}">it can help forecast COVID-19 -cases. -See our }}">surveys site +and preliminary analysis also suggests {{< reflink "2020-09-21-forecast-demo" "it can help forecast COVID-19 cases" >}}. +See our {{< reflink "surveys" "surveys site" >}} for more on the survey, its questions, and getting access to data.
    • Massive surveys we run through Google: From April 11 to May 14, 2020, Delphi conducted a single-question symptoms survey through Google. It reached over 100,000 respondents daily during its short run, and was a surprisingly informative measure of pandemic activity preceding medical contact. For more, see our -}}">previous blog post, -or our }}">technical documentation. +{{< reflink "2020-09-18-google-survey" "previous blog post" >}}, +or our {{< apireflink "api/covidcast-signals/google-survey.html" "technical documentation" >}}. As explained in our past blog post, Delphi is currently considering new uses for these surveys.
    • Insurance claims: Medical insurance claims include diagnostic codes, @@ -198,15 +193,14 @@

      Unique Data Sources

      We use this data to construct signals reflecting COVID activity in both outpatient and inpatient visits; see our technical documentation sites for -}}">doctor’s visits -and }}">hospital admissions +{{< apireflink "api/covidcast-signals/doctor-visits.html" "doctor's visits" >}} +and {{< apireflink "api/covidcast-signals/hospital-admissions.html" "hospital admissions" >}} for more details.
    • Quidel COVID antigen tests: Quidel is a national provider of networked lab testing devices, and began making de-identified records of their COVID-19 antigen tests available to us in early May. This data source fills an important gap because many public testing data sources only include PCR tests, not antigen -tests. Our }}">technical -documentation +tests. Our {{< apireflink "api/covidcast-signals/quidel.html#covid-19-tests" "technical documentation" >}} gives more details.
    • Google search trends: We query the Google Health Trends API @@ -216,7 +210,7 @@

      Unique Data Sources

      which emerged as a specific symptom of COVID-19. More details, including the search terms and topics we analyze, are available in our -}}">technical documentation.
    • +{{< apireflink "api/covidcast-signals/ght.html" "technical documentation" >}}.

    Additionally, we host the following more widely-available signals in our API for the convenience of the research community, and to provide revision tracking:

    @@ -232,8 +226,7 @@

    Unique Data Sources

    at the county level across the United States. We also aggregate our signals to metropolitan statistical areas and states, and some signals to Hospital Referral Regions (HRRs). For a full list of all data streams, see our -}}">COVIDcast signal documentation -site. +{{< apireflink "api/covidcast_signals.html" "COVIDcast signal documentation site" >}}. The software we’ve developed to obtain and aggregate this data is open-source, shared in our covidcast-indicators GitHub repository.

    @@ -502,7 +495,7 @@

    Accessing the API

    A massive database of COVID-19 data is, of course, of no use if nobody can access it. We provide several ways to access COVIDcast data.

    -

    First, the }}">public COVIDcast map +

    First, the {{< reflink "covidcast" "public COVIDcast map" >}} provides a selection of our signals, and includes an “Export Data” tab that can pull a selected signal and download it as a CSV. @@ -513,11 +506,9 @@

    Accessing the API

    data analysis in either language.

    The first step of using the packages to acquire the data is to identify the source and signal name for the data you want to analyze. Suppose, for example, -that you browse the }}">COVIDcast signal -documentation +that you browse the {{< apireflink "api/covidcast_signals.html" "COVIDcast signal documentation" >}} and decide you would like to conduct an analysis of a hospital admissions -signal. According to }}">its documentation -page, +signal. According to {{< apireflink "api/covidcast-signals/hospital-admissions.html" "its documentation page" >}}, this source is called hospital-admissions, and there are several available signals to choose from. Reviewing the technical details, you decide smoothed_adj_covid19 fits your needs best, because it removes day-of-week @@ -558,10 +549,8 @@

    Accessing the API

    which can quickly produce a Pandas data frame. For example, here we fetch the estimated percentage of people in each state who know someone who is sick, -based on Delphi’s }}">symptom -surveys. -According to the }}">relevant documentation -page, +based on Delphi’s {{< reflink "2020-08-26-fb-survey" "symptom surveys" >}}. +According to the {{< apireflink "api/covidcast-signals/fb-survey.html" "relevant documentation page" >}}, this is the fb-survey data source’s smoothed_hh_cmnty_cli signal. (Click the “Code” button to see the Python code used to produce this example.)

    import covidcast
    @@ -590,18 +579,17 @@ 

    Accessing the API

    estimated percent of people with COVID-Like Illness based on our symptom surveys—for one county in the United States between April 6 and April 10, 2020. That county is Alameda County, CA, which has the FIPS code 06001.

    -

    Query syntax is defined on our }}">API documentation -site, and you +

    Query syntax is defined on our {{< apireflink "api/covidcast.html" "API documentation site" >}}, and you can use any programming language that supports making HTTP requests—which is most programming languages—to fetch up-to-date data.

    Putting the API to Work

    -

    The }}">COVIDcast API +

    The {{< apireflink "api/covidcast.html" "COVIDcast API" >}} provides unified access to numerous COVID data streams, -which can be browsed through our }}">interactive map +which can be browsed through our {{< reflink "covidcast" "interactive map" >}} and easily accessed through our -}}">R and Python packages. +{{< apireflink "api/covidcast_clients.html" "R and Python packages" >}}. Unlike most other sources of COVID data, it tracks the complete revision history of every signal, allowing historical reconstructions of diff --git a/content/blog/2020-09-18-google-survey.Rmd b/content/blog/2020-09-18-google-survey.Rmd index ea565b0ca..722080bd1 100644 --- a/content/blog/2020-09-18-google-survey.Rmd +++ b/content/blog/2020-09-18-google-survey.Rmd @@ -40,14 +40,12 @@ output: toc: true --- -Since April 2020, in addition to our [massive daily survey advertised on -Facebook](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey")`), +Since April 2020, in addition to our `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey", "massive daily survey advertised on Facebook")`, we've been running (even-more-massive) surveys through Google to track the spread of COVID-19 in the United States. At its peak, our Google survey was taken by over 1.2 million people in a single day, and over its first month in operation, averaged about 600,000 daily respondents. As usual, we make -aggregated data from this survey available through our [COVIDcast -API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`). +aggregated data from this survey available through our `r blogdown::shortcode_html("apireflink", "api/covidcast.html", "COVIDcast API")`. In mid-May, we decided to pause daily dissemination of this survey in order to focus on our (longer, more complex) survey through Facebook, @@ -62,8 +60,7 @@ and shares some of our thinking about next steps for the Google survey. Back in March 2020, around the time we began discussions with Facebook about COVID-19 symptom surveys, we pitched the same idea to Google. -Our motivation, [as we explained in our last -post](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey#why-run-these-surveys")`), +Our motivation, `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey#why-run-these-surveys", "as we explained in our last post")`, has been to produce real-time, county-level data streams of self-reported COVID symptoms that can potentially serve as **early indicators** of COVID activity in the US. As we noted in that post, we weren't the only data scientists @@ -127,8 +124,7 @@ this CLI-in-community question to our survey through Facebook. the subject is asked to report on someone else. The traditional view seems to be that proxy questions can undermine survey data quality, but in our setting it's critical: not only does it provide a safeguard against revealing personal - health information, it turned out to deliver [much higher - correlations](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey#basic-correlation-analysis")`) + health information, it turned out to deliver `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey#basic-correlation-analysis", "much higher correlations")` with case rates than the direct (non-proxy) question. To give you a feel for the data, below we plot @@ -224,8 +220,7 @@ about 74,000 responses per day.) The actual sampling scheme behind our Google survey is more complicated, and involves two-level stratification, across both counties and states. For details, including those on statistical estimation, -visit our [COVIDcast signals -documentation](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/google-survey.html")`). +visit our `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/google-survey.html", "COVIDcast signals documentation")`. On May 15, we paused our Google survey to focus on our Facebook survey, which is both longer and more complex. Importantly, the latter is _not_ a replacement for the former, @@ -262,8 +257,7 @@ which for the most part holds a substantial gap over the correlations between the Facebook signal and case rates. This is no doubt encouraging, especially because we'd hope that the Google correlations would have only improved later in -the year (as did the Facebook correlations, which we [previously -suggested](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey#basic-correlation-analysis")`) +the year (as did the Facebook correlations, which we `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey#basic-correlation-analysis", "previously suggested")` could have been due to the increase in the diversity of county-level case rates around mid-June). @@ -281,8 +275,7 @@ case rates around mid-June). analysis for when we work on deploying these two surveys in tandem; for now, we emphasize that this observation reiterates the importance of focusing on _time-varying trends_ in the survey signals, not the signal values themselves - (a point we [made in our last - post](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey#why-run-these-surveys")`)). + (a point we `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey#why-run-these-surveys", "made in our last post")`). Here, the self-reporting aspect must somehow be creating greatly different levels of bias in the two surveys; in an absolute sense, the subsequent estimates of % CLI-in-community strongly disagree, so both can't be right, and @@ -359,8 +352,7 @@ As we can see from the above summary, the two survey schemes are complementary, and could be used synergistically. Our Facebook survey is a continuously-running, wide-reaching instrument -that provides answers to a [rich set of -questions](`r blogdown::shortcode_html("apiref", "symptom-survey/coding.html")`) +that provides answers to a `r blogdown::shortcode_html("apireflink", "symptom-survey/coding.html", "rich set of questions")` (beyond COVID-related symptoms, it asks about contacts, risk factors, behavior, and demographics). When we find something interesting that warrants follow-up diff --git a/content/blog/2020-09-18-google-survey.html b/content/blog/2020-09-18-google-survey.html index a58fca1bc..be2e63b82 100644 --- a/content/blog/2020-09-18-google-survey.html +++ b/content/blog/2020-09-18-google-survey.html @@ -11,27 +11,27 @@ heroImage: /blog/images/blog-lg-img_google-survey-post.jpg heroImageThumb: /blog/images/blog-thumb-img_google-survey-post.jpg summary: | - Since April 2020, in addition to our massive daily survey advertised on - Facebook, we've been running (even-more-massive) surveys through Google to - track the spread of COVID-19 in the United States. - At its peak, our Google survey was taken by over 1.2 million people in a single - day, and over its first month in operation, averaged over 600,000 daily - respondents. In mid-May, we paused daily dissemination of this survey in order + Since April 2020, in addition to our massive daily survey advertised on + Facebook, we've been running (even-more-massive) surveys through Google to + track the spread of COVID-19 in the United States. + At its peak, our Google survey was taken by over 1.2 million people in a single + day, and over its first month in operation, averaged over 600,000 daily + respondents. In mid-May, we paused daily dissemination of this survey in order to focus on our (longer, more complex) survey through Facebook, - but we plan to bring back the Google survey this fall. - This short post covers some key differences between our Google and Facebook + but we plan to bring back the Google survey this fall. + This short post covers some key differences between our Google and Facebook surveys, explains the backstory behind the "CLI-in-community" question - as it arose through our collaboration with Google, + as it arose through our collaboration with Google, and shares some of our thinking about next steps for the Google survey. acknowledgements: | - Ryan Tibshirani wrote the initial code for producing - estimates from the aggregated survey data. Sangwon Hyun, Natalia Lombardi de + Ryan Tibshirani wrote the initial code for producing + estimates from the aggregated survey data. Sangwon Hyun, Natalia Lombardi de Oliveira, and Lester Mackey greatly extended and improved this codebase, and - they developed, along with Ryan, the underlying statistical methodology. Ryan - came up with the idea of running the surveys, and worked with Google to make - this a reality. On the Google side, Brett Slatkin and Hal Varian have been key - collaborators; Brett wrote the code to get daily survey data over to Delphi's - estimation pipeline; and both contributed numerous important ideas at various + they developed, along with Ryan, the underlying statistical methodology. Ryan + came up with the idea of running the surveys, and worked with Google to make + this a reality. On the Google side, Brett Slatkin and Hal Varian have been key + collaborators; Brett wrote the code to get daily survey data over to Delphi's + estimation pipeline; and both contributed numerous important ideas at various stages of the project. output: html_document: @@ -41,8 +41,6 @@ --- - -

      @@ -53,14 +51,12 @@
    -

    Since April 2020, in addition to our }}">massive daily survey advertised on -Facebook, +

    Since April 2020, in addition to our {{< reflink "2020-08-26-fb-survey" "massive daily survey advertised on Facebook" >}}, we’ve been running (even-more-massive) surveys through Google to track the spread of COVID-19 in the United States. At its peak, our Google survey was taken by over 1.2 million people in a single day, and over its first month in operation, averaged about 600,000 daily respondents. As usual, we make -aggregated data from this survey available through our }}">COVIDcast -API.

    +aggregated data from this survey available through our {{< apireflink "api/covidcast.html" "COVIDcast API" >}}.

    In mid-May, we decided to pause daily dissemination of this survey in order to focus on our (longer, more complex) survey through Facebook, but we plan to bring back the Google survey this fall. @@ -73,8 +69,7 @@

    Short Background

    Back in March 2020, around the time we began discussions with Facebook about COVID-19 symptom surveys, we pitched the same idea to Google. -Our motivation, }}">as we explained in our last -post, +Our motivation, {{< reflink "2020-08-26-fb-survey#why-run-these-surveys" "as we explained in our last post" >}}, has been to produce real-time, county-level data streams of self-reported COVID symptoms that can potentially serve as early indicators of COVID activity in the US. As we noted in that post, we weren’t the only data scientists @@ -216,8 +211,7 @@

    CLI-in-Community

    The actual sampling scheme behind our Google survey is more complicated, and involves two-level stratification, across both counties and states. For details, including those on statistical estimation, -visit our }}">COVIDcast signals -documentation. +visit our {{< apireflink "api/covidcast-signals/google-survey.html" "COVIDcast signals documentation" >}}. On May 15, we paused our Google survey to focus on our Facebook survey, which is both longer and more complex. Importantly, the latter is not a replacement for the former, @@ -253,8 +247,7 @@

    Our Two Surveys

    correlations between the Facebook signal and case rates. This is no doubt encouraging, especially because we’d hope that the Google correlations would have only improved later in -the year (as did the Facebook correlations, which we }}">previously -suggested +the year (as did the Facebook correlations, which we {{< reflink "2020-08-26-fb-survey#basic-correlation-analysis" "previously suggested" >}} could have been due to the increase in the diversity of county-level case rates around mid-June).

    # Fetch county-level Google and Facebook % CLI-in-community signals, and JHU
    @@ -324,8 +317,7 @@ 

    Google Survey Redux

    the two survey schemes are complementary, and could be used synergistically. Our Facebook survey is a continuously-running, wide-reaching instrument -that provides answers to a }}">rich set of -questions +that provides answers to a {{< apireflink "symptom-survey/coding.html" "rich set of questions" >}} (beyond COVID-related symptoms, it asks about contacts, risk factors, behavior, and demographics). When we find something interesting that warrants follow-up @@ -345,8 +337,7 @@

    Google Survey Redux

    the subject is asked to report on someone else. The traditional view seems to be that proxy questions can undermine survey data quality, but in our setting it’s critical: not only does it provide a safeguard against revealing personal -health information, it turned out to deliver }}">much higher -correlations +health information, it turned out to deliver {{< reflink "2020-08-26-fb-survey#basic-correlation-analysis" "much higher correlations" >}} with case rates than the direct (non-proxy) question.↩︎

  • A closer look reveals that the relationship between the Google % CLI-in-community and Facebook % CLI-in-community signals is not 1:1. For @@ -361,8 +352,7 @@

    Google Survey Redux

    analysis for when we work on deploying these two surveys in tandem; for now, we emphasize that this observation reiterates the importance of focusing on time-varying trends in the survey signals, not the signal values themselves -(a point we }}">made in our last -post). +(a point we {{< reflink "2020-08-26-fb-survey#why-run-these-surveys" "made in our last post" >}}). Here, the self-reporting aspect must somehow be creating greatly different levels of bias in the two surveys; in an absolute sense, the subsequent estimates of % CLI-in-community strongly disagree, so both can’t be right, and diff --git a/content/blog/2020-09-21-forecast-demo.Rmd b/content/blog/2020-09-21-forecast-demo.Rmd index b26c4315a..a50beaebc 100644 --- a/content/blog/2020-09-21-forecast-demo.Rmd +++ b/content/blog/2020-09-21-forecast-demo.Rmd @@ -35,9 +35,9 @@ output: In our past two posts, we wrote about the COVID-19 symptom surveys that Delphi runs through -[Facebook](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey")`) +`r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey", "Facebook")` and -[Google](`r blogdown::shortcode_html("ref", "2020-09-18-google-survey")`). +`r blogdown::shortcode_html("reflink", "2020-09-18-google-survey", "Google")`. These surveys have asked millions of people in the United States whether they (or people they know) are experiencing COVID-like symptoms, allowing us to calculate a "% CLI-in-community" signal for counties across the United States: @@ -73,8 +73,7 @@ where the goal is to predict whether case rates will rise significantly, rather than to predict the future case rates directly, as in forecasting. To motivate why we might be optimistic about the utility of incorporating our survey signals into forecasting or hotspot detection models, you can -check out our [previous exploratory -investigations](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey#some-interesting-examples")`), +check out our `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey#some-interesting-examples", "previous exploratory investigations")`, which suggested that they can serve as **early indicators** of COVID-19 activity. Stay tuned to the Delphi blog for a post on hotspot detection soon. @@ -217,8 +216,7 @@ which ends up being May 6 through May 14 for 7-day-ahead forecasts, and only May 13 through May 14 for 14-day-ahead forecasts. (The reason for this shortened period: we paused running the Google survey on May 14 so its data ends there, -but as we explained in our last post, we [plan to bring it -back](`r blogdown::shortcode("ref", "2020-09-18-google-survey#google-survey-redux")`) +but as we explained in our last post, we `r blogdown::shortcode_html("reflink", "2020-09-18-google-survey#google-survey-redux", "plan to bring it back")` later this fall.) Hence we skip studying the 14-day-ahead forecasts results in this four-way model discussion, as they're only based on 2 days of test data. @@ -607,9 +605,8 @@ so that data gets pulled "as of" the forecast date Hopefully these preliminary findings have gotten you excited about the possible uses of our symptom survey data. To get started playing with our data yourself, -take a look at our [interactive COVIDcast map](`r blogdown::shortcode_html("ref", "covidcast")`), -or our [COVIDcast -API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`), +take a look at our `r blogdown::shortcode_html("reflink", "covidcast", "interactive COVIDcast map")`, +or our `r blogdown::shortcode_html("apireflink", "api/covidcast.html", "COVIDcast API")`, through our [R client](https://cmu-delphi.github.io/covidcast/covidcastR/) or [Python client](https://cmu-delphi.github.io/covidcast/covidcast-py/html/). And if you're feeling adventurous, consider competing in the diff --git a/content/blog/2020-09-21-forecast-demo.html b/content/blog/2020-09-21-forecast-demo.html index 265b19e13..cc20314fc 100644 --- a/content/blog/2020-09-21-forecast-demo.html +++ b/content/blog/2020-09-21-forecast-demo.html @@ -34,8 +34,6 @@ --- - -
      @@ -51,9 +49,9 @@

      In our past two posts, we wrote about the COVID-19 symptom surveys that Delphi runs through -}}">Facebook +{{< reflink "2020-08-26-fb-survey" "Facebook" >}} and -}}">Google. +{{< reflink "2020-09-18-google-survey" "Google" >}}. These surveys have asked millions of people in the United States whether they (or people they know) are experiencing COVID-like symptoms, allowing us to calculate a “% CLI-in-community” signal for counties across the United States: @@ -86,8 +84,7 @@ rather than to predict the future case rates directly, as in forecasting. To motivate why we might be optimistic about the utility of incorporating our survey signals into forecasting or hotspot detection models, you can -check out our }}">previous exploratory -investigations, +check out our {{< reflink "2020-08-26-fb-survey#some-interesting-examples" "previous exploratory investigations" >}}, which suggested that they can serve as early indicators of COVID-19 activity. Stay tuned to the Delphi blog for a post on hotspot detection soon.

      @@ -411,8 +408,7 @@

      Results: All Four Models

      and only May 13 through May 14 for 14-day-ahead forecasts. (The reason for this shortened period: we paused running the Google survey on May 14 so its data ends there, -but as we explained in our last post, we plan to bring it -back +but as we explained in our last post, we {{< reflink "2020-09-18-google-survey#google-survey-redux" "plan to bring it back" >}} later this fall.) Hence we skip studying the 14-day-ahead forecasts results in this four-way model discussion, as they’re only based on 2 days of test data.

      Below we compute and print the median scaled errors for each of the four models @@ -1005,9 +1001,8 @@

      Wrap-Up

      Hopefully these preliminary findings have gotten you excited about the possible uses of our symptom survey data. To get started playing with our data yourself, -take a look at our }}">interactive COVIDcast map, -or our }}">COVIDcast -API, +take a look at our {{< reflink "covidcast" "interactive COVIDcast map" >}}, +or our {{< apireflink "api/covidcast.html" "COVIDcast API" >}}, through our R client or Python client. And if you’re feeling adventurous, consider competing in the diff --git a/content/blog/2020-10-06-survey-wave-4.Rmd b/content/blog/2020-10-06-survey-wave-4.Rmd index ad8ea7d5f..44b6414bc 100644 --- a/content/blog/2020-10-06-survey-wave-4.Rmd +++ b/content/blog/2020-10-06-survey-wave-4.Rmd @@ -31,7 +31,7 @@ output: toc: true --- -Beginning in early April 2020, the [Delphi group](`r blogdown::shortcode("ref", "/")`) has +Beginning in early April 2020, the `r blogdown::shortcode_html("reflink", "/", "Delphi group")` has conducted a major survey to track COVID-19 across the United States. With the support of Facebook Data for Good, we have been able to recruit tens of thousands of active Facebook users _every day_ to take our voluntary survey. @@ -39,18 +39,13 @@ Concurrently, a University of Maryland team has conducted a [parallel international effort](https://covidmap.umd.edu/) covering over 100 countries worldwide. Every day, we aggregate our survey results to produce estimates of symptoms for counties and states across the United States, making these -estimates available through our [COVIDcast map](`r blogdown::shortcode("ref", "covidcast")`) and -our [public -API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`). This -augments the [numerous other data sources available in our COVIDcast -API](`r blogdown::shortcode("ref", "2020-08-28-api")`) +estimates available through our `r blogdown::shortcode_html("reflink", "covidcast", "COVIDcast map")` and +our `r blogdown::shortcode_html("apireflink", "api/covidcast.html", "public API")`. This +augments the `r blogdown::shortcode_html("reflink", "2020-08-28-api", "numerous other data sources available in our COVIDcast API")` to form a more complete picture of the pandemic. -In previous posts, we demonstrated how [self-reported symptoms on our survey can -correlate strongly with COVID -cases](`r blogdown::shortcode("ref", "2020-08-26-fb-survey")`) -and how [symptom survey data could improve forecasts of COVID -cases](`r blogdown::shortcode("ref", "2020-09-21-forecast-demo")`). +In previous posts, we demonstrated how `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey", "self-reported symptoms on our survey can correlate strongly with COVID cases")` +and how `r blogdown::shortcode_html("reflink", "2020-09-21-forecast-demo", "symptom survey data could improve forecasts of COVID cases")`. Our data is also powering the [COVID-19 Symptom Data Challenge](https://www.symptomchallenge.org/), which asked participants to use our symptom survey data to enable earlier detection of outbreaks and help public @@ -93,8 +88,7 @@ Facebook to recruit respondents.) ## Insights from the New Survey Instrument -The full text of the survey can be found [on our documentation -site](`r blogdown::shortcode_html("apiref", "symptom-survey/coding.html")`)---this +The full text of the survey can be found `r blogdown::shortcode_html("apireflink", "symptom-survey/coding.html", "on our documentation site")`---this version is Wave 4. ```{r sample-size, message=FALSE, include=FALSE} @@ -113,8 +107,7 @@ States. Each response includes questions about symptoms, mask wearing, testing, and the other important topics described above, along with demographic details about the respondent. These demographics include age, gender, race, occupation, and education, allowing us to understand how different groups have been affected -and which groups are currently most vulnerable to COVID-19. (As we [described -before](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey")`), +and which groups are currently most vulnerable to COVID-19. (As we `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey", "described before")`, Facebook does not receive any individual survey responses; we at Carnegie Mellon collect this data and prepare aggregate data, which does not identify any individual respondent, for public release.) @@ -122,8 +115,7 @@ individual respondent, for public release.) Let's explore just a few of the questions on the survey to see what they can tell us. All of the plots below were made using our [covidcast R package](https://cmu-delphi.github.io/covidcast/covidcastR/) using data we make -publicly available in the [COVIDcast -API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`)---click the +publicly available in the `r blogdown::shortcode_html("apireflink", "api/covidcast.html", "COVIDcast API")`---click the Code button to see the full code for each example. ### Mask Wearing @@ -132,8 +124,7 @@ First, a simple question: What percentage of respondents say that they wear a mask most or all of the time when they're in public? For comparison, we'll map this next to map of the percentage of respondents who personally know someone in their local community who is sick (with a fever and at least one other symptom, -such as cough or difficulty breathing). This percentage [correlates very -well](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey#some-interesting-examples")`) +such as cough or difficulty breathing). This percentage `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey#some-interesting-examples", "correlates very well")` with COVID case rates as reported by state agencies. ```{r mask-wearing, message=FALSE, fig.width=9, out.extra = 'class="wide-figure"'} @@ -272,7 +263,7 @@ staff must be tested regularly to ensure residents aren't exposed. Testing data is published by state health authorities and aggregated by organizations such as the [COVID Tracking Project](https://covidtracking.com/); -our own [COVIDcast map](`r blogdown::shortcode_html("ref", "covidcast")`) also includes results from +our own `r blogdown::shortcode_html("reflink", "covidcast", "COVIDcast map")` also includes results from antigen tests produced by Quidel, a major test product manufacturer. But publicly reported data can be [inconsistent between states, may not include all tests](https://www.theatlantic.com/health/archive/2020/09/how-many-people-america-testing-coronavirus/616249/), @@ -308,8 +299,7 @@ survey is subject to sampling biases, both because it samples from Facebook's active user population (which does not include all adults in the United States) and because it is voluntary, and some people may be more likely to volunteer than others. It's plausible these biases could affect rural states more strongly -than others. [As we've explained -before](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey#why-run-these-surveys")`), +than others. `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey#why-run-these-surveys", "As we've explained before")`, we try to adjust for these biases using demographic and other data, but without reliable ground-truth testing data, it's impossible to tell if these adjustments successfully remove all bias. @@ -370,13 +360,10 @@ to form a more complete picture of the pandemic. All of the maps and graphs above were built using data we make publicly available through our COVIDcast API, and the exact technical details are -described in our [signal -documentation](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/fb-survey.html")`). -The symptom and mask data is already featured on our [COVIDcast interactive -map](`r blogdown::shortcode_html("ref", "covidcast?sensor=fb-survey-smoothed_wearing_mask&level=county&signalType=value&encoding=color&mode=overview®ion=42003")`), +described in our `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/fb-survey.html", "signal documentation")`. +The symptom and mask data is already featured on our `r blogdown::shortcode_html("reflink", "covidcast?sensor=fb-survey-smoothed_wearing_mask&level=county&signalType=value&encoding=color&mode=overview®ion=42003", "COVIDcast interactive map")`, and other survey signals will soon be added as well. More information about the -surveys, including preliminary results, is given on our [survey -site](`r blogdown::shortcode_html("ref", "surveys")`). +surveys, including preliminary results, is given on our `r blogdown::shortcode_html("reflink", "surveys", "survey site")`. But we also know that many researchers will have questions that can't be answered from these simple county- and state-level averages. What occupations @@ -405,7 +392,7 @@ data, we can make decisions needed to protect public health and permit safe reopening. _For more information about Delphi's symptom surveys, and for media contact -details, see [our surveys page](`r blogdown::shortcode_html("ref", "surveys")`). For +details, see `r blogdown::shortcode_html("reflink", "surveys", "our surveys page")`. For updates, you can follow [CmuDelphi on Twitter](https://twitter.com/cmudelphi)._ **Note.** _This post was updated on October 17, 2020 to correct an error in the diff --git a/content/blog/2020-10-06-survey-wave-4.html b/content/blog/2020-10-06-survey-wave-4.html index bea390eb1..8e9782dd8 100644 --- a/content/blog/2020-10-06-survey-wave-4.html +++ b/content/blog/2020-10-06-survey-wave-4.html @@ -7,8 +7,8 @@ - COVIDcast - R summary: | - Beginning on September 8, 2020, we deployed a new version of our symptom survey. - Facebook helps us recruit tens of thousands of respondents daily, and the new survey gives us unprecedented insights into the effects of COVID-19 across the United States. + Beginning on September 8, 2020, we deployed a new version of our symptom survey. + Facebook helps us recruit tens of thousands of respondents daily, and the new survey gives us unprecedented insights into the effects of COVID-19 across the United States. Today we release new public datasets and share maps revealing access to COVID testing, test results, and public use of masks. authors: - alex @@ -32,8 +32,6 @@ --- - - @@ -54,7 +52,7 @@

    -

    Beginning in early April 2020, the Delphi group has +

    Beginning in early April 2020, the {{< reflink "/" "Delphi group" >}} has conducted a major survey to track COVID-19 across the United States. With the support of Facebook Data for Good, we have been able to recruit tens of thousands of active Facebook users every day to take our voluntary survey. @@ -62,17 +60,12 @@ international effort covering over 100 countries worldwide. Every day, we aggregate our survey results to produce estimates of symptoms for counties and states across the United States, making these -estimates available through our COVIDcast map and -our }}">public -API. This -augments the numerous other data sources available in our COVIDcast -API +estimates available through our {{< reflink "covidcast" "COVIDcast map" >}} and +our {{< apireflink "api/covidcast.html" "public API" >}}. This +augments the {{< reflink "2020-08-28-api" "numerous other data sources available in our COVIDcast API" >}} to form a more complete picture of the pandemic.

    -

    In previous posts, we demonstrated how self-reported symptoms on our survey can -correlate strongly with COVID -cases -and how symptom survey data could improve forecasts of COVID -cases. +

    In previous posts, we demonstrated how {{< reflink "2020-08-26-fb-survey" "self-reported symptoms on our survey can correlate strongly with COVID cases" >}} +and how {{< reflink "2020-09-21-forecast-demo" "symptom survey data could improve forecasts of COVID cases" >}}. Our data is also powering the COVID-19 Symptom Data Challenge, which asked participants to use our symptom survey data to enable earlier detection of outbreaks and help public @@ -107,8 +100,7 @@ Facebook to recruit respondents.)

    Insights from the New Survey Instrument

    -

    The full text of the survey can be found }}">on our documentation -site—this +

    The full text of the survey can be found {{< apireflink "symptom-survey/coding.html" "on our documentation site" >}}—this version is Wave 4.

    Between the new survey’s deployment on September 8, 2020, and October 7th, we collected 1,220,000 valid responses from respondents across the United @@ -116,16 +108,14 @@

    Insights from the New Survey Instrument

    and the other important topics described above, along with demographic details about the respondent. These demographics include age, gender, race, occupation, and education, allowing us to understand how different groups have been affected -and which groups are currently most vulnerable to COVID-19. (As we }}">described -before, +and which groups are currently most vulnerable to COVID-19. (As we {{< reflink "2020-08-26-fb-survey" "described before" >}}, Facebook does not receive any individual survey responses; we at Carnegie Mellon collect this data and prepare aggregate data, which does not identify any individual respondent, for public release.)

    Let’s explore just a few of the questions on the survey to see what they can tell us. All of the plots below were made using our covidcast R package using data we make -publicly available in the }}">COVIDcast -API—click the +publicly available in the {{< apireflink "api/covidcast.html" "COVIDcast API" >}}—click the Code button to see the full code for each example.

    Mask Wearing

    @@ -133,8 +123,7 @@

    Mask Wearing

    mask most or all of the time when they’re in public? For comparison, we’ll map this next to map of the percentage of respondents who personally know someone in their local community who is sick (with a fever and at least one other symptom, -such as cough or difficulty breathing). This percentage }}">correlates very -well +such as cough or difficulty breathing). This percentage {{< reflink "2020-08-26-fb-survey#some-interesting-examples" "correlates very well" >}} with COVID case rates as reported by state agencies.

    library(covidcast)
     library(ggplot2)
    @@ -236,7 +225,7 @@ 

    Mask Wearing

    "hoverCompareCartesian", "hoverClosestCartesian"))
    - +

    The relationship is striking. (Hover over or click each point to see which state it is.) Of course, correlation is not causation, and there are many differences between these states beyond their use of masks. For example, people in more @@ -266,7 +255,7 @@

    Testing

    staff must be tested regularly to ensure residents aren’t exposed.

    Testing data is published by state health authorities and aggregated by organizations such as the COVID Tracking Project; -our own }}">COVIDcast map also includes results from +our own {{< reflink "covidcast" "COVIDcast map" >}} also includes results from antigen tests produced by Quidel, a major test product manufacturer. But publicly reported data can be inconsistent between states, may not include all tests, @@ -297,8 +286,7 @@

    Testing

    active user population (which does not include all adults in the United States) and because it is voluntary, and some people may be more likely to volunteer than others. It’s plausible these biases could affect rural states more strongly -than others. }}">As we’ve explained -before, +than others. {{< reflink "2020-08-26-fb-survey#why-run-these-surveys" "As we've explained before" >}}, we try to adjust for these biases using demographic and other data, but without reliable ground-truth testing data, it’s impossible to tell if these adjustments successfully remove all bias.

    @@ -351,13 +339,10 @@

    Testing

    You Can Help Analyze This Data

    All of the maps and graphs above were built using data we make publicly available through our COVIDcast API, and the exact technical details are -described in our }}">signal -documentation. -The symptom and mask data is already featured on our }}">COVIDcast interactive -map, +described in our {{< apireflink "api/covidcast-signals/fb-survey.html" "signal documentation" >}}. +The symptom and mask data is already featured on our {{< reflink "covidcast?sensor=fb-survey-smoothed_wearing_mask&level=county&signalType=value&encoding=color&mode=overview®ion=42003" "COVIDcast interactive map" >}}, and other survey signals will soon be added as well. More information about the -surveys, including preliminary results, is given on our }}">survey -site.

    +surveys, including preliminary results, is given on our {{< reflink "surveys" "survey site" >}}.

    But we also know that many researchers will have questions that can’t be answered from these simple county- and state-level averages. What occupations have the highest rate of COVID-19? What age groups engage in the most behavior @@ -382,7 +367,7 @@

    You Can Help Analyze This Data

    data, we can make decisions needed to protect public health and permit safe reopening.

    For more information about Delphi’s symptom surveys, and for media contact -details, see }}">our surveys page. For +details, see {{< reflink "surveys" "our surveys page" >}}. For updates, you can follow CmuDelphi on Twitter.

    Note. This post was updated on October 17, 2020 to correct an error in the scatterplot of mask usage and reported case rates. An error in our data diff --git a/content/blog/2020-10-14-dv-signal.Rmd b/content/blog/2020-10-14-dv-signal.Rmd index a4e69112c..b71e51a77 100644 --- a/content/blog/2020-10-14-dv-signal.Rmd +++ b/content/blog/2020-10-14-dv-signal.Rmd @@ -28,7 +28,7 @@ output: toc: true --- -Our COVIDcast [map](`r blogdown::shortcode_html("ref", "covidcast")`) and [API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`) feature several novel early indicators of COVID-19 activity. In past posts, we discussed our large-scale daily surveys that, as of October 2020, have reached over 12 million people throughout the US, in partnership with [Facebook](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey")`) and [Google](`r blogdown::shortcode_html("ref", "2020-09-18-google-survey")`). In another ongoing data initiative, health system partners grant us access to various aggregate statistics from hospital records and insurance claims covering 10-15% of the United States population. From these data, we can extract informative indicators that can be early indicators of COVID activity. Early indicators are important because they help policymakers make more informed decisions and can also improve epidemiological forecasts. +Our COVIDcast `r blogdown::shortcode_html("reflink", "covidcast", "map")` and `r blogdown::shortcode_html("apireflink", "api/covidcast.html", "API")` feature several novel early indicators of COVID-19 activity. In past posts, we discussed our large-scale daily surveys that, as of October 2020, have reached over 12 million people throughout the US, in partnership with `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey", "Facebook")` and `r blogdown::shortcode_html("reflink", "2020-09-18-google-survey", "Google")`. In another ongoing data initiative, health system partners grant us access to various aggregate statistics from hospital records and insurance claims covering 10-15% of the United States population. From these data, we can extract informative indicators that can be early indicators of COVID activity. Early indicators are important because they help policymakers make more informed decisions and can also improve epidemiological forecasts. One indicator that we created from the outpatient insurance claims portion of this data is what we call the **Doctor Visits** or **DV** indicator, which estimates the percentage of outpatient visits (including telemedicine, urgent care, and emergency department visits) that are due to COVID-Like Illness or CLI. We will use % CLI-in-DV to abbreviate the percentage of outpatient visits due to CLI, the units of our DV indicator. Below, we explain how we calculate the DV indicator and discuss its relation to confirmed COVID-19 cases. We also discuss our observation that the DV indicator possesses significant spatial heterogeneity (it displays systematic county-to-county differences), and we describe a simple dynamic adjustment to address this issue. @@ -60,7 +60,7 @@ The Doctor Visits indicator is based solely on insurance claims. We count the ou 5. Mixed: ICD-10 primary code of Z20.828 (suspected exposure to COVID-19) or J12.9 (viral pneumonia). -We estimate the percent of COVID-like illness in doctor visits (% CLI-in-DV) as 100 \* (COVID-like + Flu-like + Mixed - Flu) / Total. We subtract the "Flu" count because the higher the presence of confirmed flu, the larger the fraction of flu-like cases that are due to flu rather than to COVID. See [our signal documentation site](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/doctor-visits.html")`) for more details. +We estimate the percent of COVID-like illness in doctor visits (% CLI-in-DV) as 100 \* (COVID-like + Flu-like + Mixed - Flu) / Total. We subtract the "Flu" count because the higher the presence of confirmed flu, the larger the fraction of flu-like cases that are due to flu rather than to COVID. See `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/doctor-visits.html", "our signal documentation site")` for more details. The indicator is available daily starting February 1, 2020 (although understandably, it is nearly zero in all locations until mid-March). To preserve privacy and data integrity, we do not report the indicator for a given location and date if there are fewer than 500 total visits in the seven days ending on that date. Following these restrictions, each day, we are able to produce estimates for about 2000 counties (roughly two-thirds of the counties in the US), accounting for over 90% of the country's population. @@ -116,7 +116,7 @@ Interestingly, certain types of claims have longer latency than others. We found ## Weekday Effects -Another challenge is the influence of the day of the week on the DV indicator. On weekends, both total counts and COVID-like counts decrease, but proportionally, total counts decrease more. This is because doctor visits during the weekend tend to focus on acute care. The total counts include many visits related to non-acute issues, but almost all COVID-like counts are due to acute issues. Without adjusting for this weekday effect, the DV indicator has a "sawtooth" pattern, spiking on weekends. We derived a method to create an adjusted indicator that accounts for this weekday effect (for a precise description, see our [signal documentation](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/doctor-visits.html#day-of-week-adjustment")`)). Below, we visualize the effect of making these adjustments. When we do not adjust for the weekday effect, we see a sawtooth pattern that clearly does not represent true changes in COVID-like illness within a location. However, after making the weekday adjustment, we get a smooth curve that looks reasonable. It is important to note that this adjustment is _not_ temporal smoothing! Rather, we are making an adjustment each day based on historical patterns of weekday-to-weekend differences. +Another challenge is the influence of the day of the week on the DV indicator. On weekends, both total counts and COVID-like counts decrease, but proportionally, total counts decrease more. This is because doctor visits during the weekend tend to focus on acute care. The total counts include many visits related to non-acute issues, but almost all COVID-like counts are due to acute issues. Without adjusting for this weekday effect, the DV indicator has a "sawtooth" pattern, spiking on weekends. We derived a method to create an adjusted indicator that accounts for this weekday effect (for a precise description, see our `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/doctor-visits.html#day-of-week-adjustment", "signal documentation")`). Below, we visualize the effect of making these adjustments. When we do not adjust for the weekday effect, we see a sawtooth pattern that clearly does not represent true changes in COVID-like illness within a location. However, after making the weekday adjustment, we get a smooth curve that looks reasonable. It is important to note that this adjustment is _not_ temporal smoothing! Rather, we are making an adjustment each day based on historical patterns of weekday-to-weekend differences. ```{r, message = FALSE, warning = FALSE, fig.width = 8, fig.height = 8, out.extra = 'class="wide-figure"'} start_day = "2020-05-01" diff --git a/content/blog/2020-10-14-dv-signal.html b/content/blog/2020-10-14-dv-signal.html index 27b5da3dd..49c27c912 100644 --- a/content/blog/2020-10-14-dv-signal.html +++ b/content/blog/2020-10-14-dv-signal.html @@ -28,8 +28,7 @@ toc: true --- - - +

      @@ -43,7 +42,7 @@
    -

    Our COVIDcast }}">map and }}">API feature several novel early indicators of COVID-19 activity. In past posts, we discussed our large-scale daily surveys that, as of October 2020, have reached over 12 million people throughout the US, in partnership with }}">Facebook and }}">Google. In another ongoing data initiative, health system partners grant us access to various aggregate statistics from hospital records and insurance claims covering 10-15% of the United States population. From these data, we can extract informative indicators that can be early indicators of COVID activity. Early indicators are important because they help policymakers make more informed decisions and can also improve epidemiological forecasts.

    +

    Our COVIDcast {{< reflink "covidcast" "map" >}} and {{< apireflink "api/covidcast.html" "API" >}} feature several novel early indicators of COVID-19 activity. In past posts, we discussed our large-scale daily surveys that, as of October 2020, have reached over 12 million people throughout the US, in partnership with {{< reflink "2020-08-26-fb-survey" "Facebook" >}} and {{< reflink "2020-09-18-google-survey" "Google" >}}. In another ongoing data initiative, health system partners grant us access to various aggregate statistics from hospital records and insurance claims covering 10-15% of the United States population. From these data, we can extract informative indicators that can be early indicators of COVID activity. Early indicators are important because they help policymakers make more informed decisions and can also improve epidemiological forecasts.

    One indicator that we created from the outpatient insurance claims portion of this data is what we call the Doctor Visits or DV indicator, which estimates the percentage of outpatient visits (including telemedicine, urgent care, and emergency department visits) that are due to COVID-Like Illness or CLI. We will use % CLI-in-DV to abbreviate the percentage of outpatient visits due to CLI, the units of our DV indicator. Below, we explain how we calculate the DV indicator and discuss its relation to confirmed COVID-19 cases. We also discuss our observation that the DV indicator possesses significant spatial heterogeneity (it displays systematic county-to-county differences), and we describe a simple dynamic adjustment to address this issue.

    Motivation

    @@ -66,7 +65,7 @@

    The Doctor Visits Indicator

  • Flu-like: ICD-10 primary code of J22 (acute lower respiratory infection) or B34.9 (viral infection, unspecified).

  • Mixed: ICD-10 primary code of Z20.828 (suspected exposure to COVID-19) or J12.9 (viral pneumonia).

  • -

    We estimate the percent of COVID-like illness in doctor visits (% CLI-in-DV) as 100 * (COVID-like + Flu-like + Mixed - Flu) / Total. We subtract the “Flu” count because the higher the presence of confirmed flu, the larger the fraction of flu-like cases that are due to flu rather than to COVID. See }}">our signal documentation site for more details.

    +

    We estimate the percent of COVID-like illness in doctor visits (% CLI-in-DV) as 100 * (COVID-like + Flu-like + Mixed - Flu) / Total. We subtract the “Flu” count because the higher the presence of confirmed flu, the larger the fraction of flu-like cases that are due to flu rather than to COVID. See {{< apireflink "api/covidcast-signals/doctor-visits.html" "our signal documentation site" >}} for more details.

    The indicator is available daily starting February 1, 2020 (although understandably, it is nearly zero in all locations until mid-March). To preserve privacy and data integrity, we do not report the indicator for a given location and date if there are fewer than 500 total visits in the seven days ending on that date. Following these restrictions, each day, we are able to produce estimates for about 2000 counties (roughly two-thirds of the counties in the US), accounting for over 90% of the country’s population.

    Below, we plot two maps to explore the indicator. On the left is a heatmap representing the DV indicator for each state, averaged over April 15 to May 15. On the right is a heatmap of daily confirmed COVID-19 cases per 100,000 people using data from USAFacts, averaged over the same time span. We can see that the states with many cases per capita tend to have high % CLI-in-DV, and states with fewer cases tend to have lower % CLI-in-DV, providing a good sanity check.

    library(covidcast)
    @@ -113,7 +112,7 @@ 

    Backfill

    Weekday Effects

    -

    Another challenge is the influence of the day of the week on the DV indicator. On weekends, both total counts and COVID-like counts decrease, but proportionally, total counts decrease more. This is because doctor visits during the weekend tend to focus on acute care. The total counts include many visits related to non-acute issues, but almost all COVID-like counts are due to acute issues. Without adjusting for this weekday effect, the DV indicator has a “sawtooth” pattern, spiking on weekends. We derived a method to create an adjusted indicator that accounts for this weekday effect (for a precise description, see our }}">signal documentation). Below, we visualize the effect of making these adjustments. When we do not adjust for the weekday effect, we see a sawtooth pattern that clearly does not represent true changes in COVID-like illness within a location. However, after making the weekday adjustment, we get a smooth curve that looks reasonable. It is important to note that this adjustment is not temporal smoothing! Rather, we are making an adjustment each day based on historical patterns of weekday-to-weekend differences.

    +

    Another challenge is the influence of the day of the week on the DV indicator. On weekends, both total counts and COVID-like counts decrease, but proportionally, total counts decrease more. This is because doctor visits during the weekend tend to focus on acute care. The total counts include many visits related to non-acute issues, but almost all COVID-like counts are due to acute issues. Without adjusting for this weekday effect, the DV indicator has a “sawtooth” pattern, spiking on weekends. We derived a method to create an adjusted indicator that accounts for this weekday effect (for a precise description, see our {{< apireflink "api/covidcast-signals/doctor-visits.html#day-of-week-adjustment" "signal documentation" >}}). Below, we visualize the effect of making these adjustments. When we do not adjust for the weekday effect, we see a sawtooth pattern that clearly does not represent true changes in COVID-like illness within a location. However, after making the weekday adjustment, we get a smooth curve that looks reasonable. It is important to note that this adjustment is not temporal smoothing! Rather, we are making an adjustment each day based on historical patterns of weekday-to-weekend differences.

    start_day = "2020-05-01"
     end_day = "2020-08-01"
     
    diff --git a/content/blog/2020-12-10-masks-public.Rmd b/content/blog/2020-12-10-masks-public.Rmd
    index 6c24838bf..4ba18cfd8 100644
    --- a/content/blog/2020-12-10-masks-public.Rmd
    +++ b/content/blog/2020-12-10-masks-public.Rmd
    @@ -45,8 +45,7 @@ knitr::opts_chunk$set(collapse = TRUE)
     ## Studying Mask Use with Surveys
     
     Since April, and in partnership with Facebook Data for Good and the [University
    -of Maryland](https://covidmap.umd.edu/), Delphi has [conducted daily surveys of
    -Facebook users](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey")`)
    +of Maryland](https://covidmap.umd.edu/), Delphi has `r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey", "conducted daily surveys of Facebook users")`
     throughout the United States. These surveys ask respondents about their
     experiences during the pandemic, and ask whether they're experiencing symptoms,
     whether they are isolating or following precautions, and how they have been
    @@ -54,8 +53,7 @@ affected by the pandemic. The survey has been completed over 14 million times
     since April, allowing us an unprecedented level of insight into COVID and
     people's experiences, down to individual counties around the country.
     
    -[Since early
    -September](`r blogdown::shortcode_html("ref", "2020-10-06-survey-wave-4")`)
    +`r blogdown::shortcode_html("reflink", "2020-10-06-survey-wave-4", "Since early September")`
     we have asked all respondents a question about mask use:
     
     > In the past 5 days, how often did you wear a mask when in public?
    @@ -108,8 +106,7 @@ has been on the rise in states whose mask use started low. This is quite
     encouraging.
     
     (Note that, as with most of Delphi's blog posts, all the code and data used to
    -make these plots is available---simply click the Code button to see how our [API
    -clients](`r blogdown::shortcode_html("apiref", "api/covidcast_clients.html")`)
    +make these plots is available---simply click the Code button to see how our `r blogdown::shortcode_html("apireflink", "api/covidcast_clients.html", "API clients")`
     make it easy to access aggregated data.)
     
     Seeing these numbers---particularly the very high reported mask usage in many
    @@ -383,8 +380,7 @@ These plots suggest that lower mask use is correlated with other risky
     behaviors, which combine to produce more opportunities to spread the virus.
     While these graphs only show two possible activities, our survey asks about
     others---including working outside the home and attending large events---and our
    -API allows researchers to quickly combine this data with [SafeGraph's other
    -mobility data](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/safegraph.html")`)
    +API allows researchers to quickly combine this data with `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/safegraph.html", "SafeGraph's other mobility data")`
     and other data sources that give a clearer picture of how people react to the
     pandemic. By studying this aggregate data and the individual survey
     responses, it will be possible to examine how mask use is associated with other
    @@ -409,10 +405,8 @@ If you're one of those researchers, or you think this data could be useful for
     your reporting or decision-making, see our [COVIDcast Epidata
     API](https://cmu-delphi.github.io/delphi-epidata/api/covidcast.html) for details
     on how to get it. Numerous aggregates from the survey data, including more
    -measures of public activity, are [available through the
    -API](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/fb-survey.html")`),
    -and can be easily downloaded using [our R and Python
    -packages](`r blogdown::shortcode_html("apiref", "api/covidcast_clients.html")`).
    +measures of public activity, are `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/fb-survey.html", "available through the API")`, 
    +and can be easily downloaded using `r blogdown::shortcode_html("apireflink", "api/covidcast_clients.html", "our R and Python packages")`.
     All aggregates are de-identified to protect the privacy of survey respondents.
     
     We also make the raw response data available to academic and nonprofit
    diff --git a/content/blog/2020-12-10-masks-public.html b/content/blog/2020-12-10-masks-public.html
    index 8867b97a8..9657675a2 100644
    --- a/content/blog/2020-12-10-masks-public.html
    +++ b/content/blog/2020-12-10-masks-public.html
    @@ -22,8 +22,6 @@
     ---
     
     
    -
    -
     
     
      @@ -52,16 +50,14 @@

      Studying Mask Use with Surveys

      Since April, and in partnership with Facebook Data for Good and the University -of Maryland, Delphi has }}">conducted daily surveys of -Facebook users +of Maryland, Delphi has {{< reflink "2020-08-26-fb-survey" "conducted daily surveys of Facebook users" >}} throughout the United States. These surveys ask respondents about their experiences during the pandemic, and ask whether they’re experiencing symptoms, whether they are isolating or following precautions, and how they have been affected by the pandemic. The survey has been completed over 14 million times since April, allowing us an unprecedented level of insight into COVID and people’s experiences, down to individual counties around the country.

      -

      }}">Since early -September +

      {{< reflink "2020-10-06-survey-wave-4" "Since early September" >}} we have asked all respondents a question about mask use:

      In the past 5 days, how often did you wear a mask when in public?

      @@ -111,8 +107,7 @@

      Studying Mask Use with Surveys

      has been on the rise in states whose mask use started low. This is quite encouraging.

      (Note that, as with most of Delphi’s blog posts, all the code and data used to -make these plots is available—simply click the Code button to see how our }}">API -clients +make these plots is available—simply click the Code button to see how our {{< apireflink "api/covidcast_clients.html" "API clients" >}} make it easy to access aggregated data.)

      Seeing these numbers—particularly the very high reported mask usage in many states—might make you wonder: If mask usage is over 80% in most states and @@ -412,8 +407,7 @@

      Public Activities, Social Distancing, and Masks

      behaviors, which combine to produce more opportunities to spread the virus. While these graphs only show two possible activities, our survey asks about others—including working outside the home and attending large events—and our -API allows researchers to quickly combine this data with }}">SafeGraph’s other -mobility data +API allows researchers to quickly combine this data with {{< apireflink "api/covidcast-signals/safegraph.html" "SafeGraph's other mobility data" >}} and other data sources that give a clearer picture of how people react to the pandemic. By studying this aggregate data and the individual survey responses, it will be possible to examine how mask use is associated with other @@ -436,10 +430,8 @@

      More Opportunities in Survey Data

      your reporting or decision-making, see our COVIDcast Epidata API for details on how to get it. Numerous aggregates from the survey data, including more -measures of public activity, are }}">available through the -API, -and can be easily downloaded using }}">our R and Python -packages. +measures of public activity, are {{< apireflink "api/covidcast-signals/fb-survey.html" "available through the API" >}}, +and can be easily downloaded using {{< apireflink "api/covidcast_clients.html" "our R and Python packages" >}}. All aggregates are de-identified to protect the privacy of survey respondents.

      We also make the raw response data available to academic and nonprofit researchers, and we look forward to seeing more detailed analyses of this data. diff --git a/content/blog/2021-01-15-causal-effect-mobility.Rmd b/content/blog/2021-01-15-causal-effect-mobility.Rmd index 2dfb03b89..38f71bb86 100644 --- a/content/blog/2021-01-15-causal-effect-mobility.Rmd +++ b/content/blog/2021-01-15-causal-effect-mobility.Rmd @@ -386,9 +386,8 @@ we'll consider here is the proportion of people of who stay home, which is kindly provided to Delphi by SafeGraph. -(We [publish this -data](`r blogdown::shortcode_html("apiref", "api/covidcast-signals/safegraph.html")`) -in our [COVIDcast Epidata API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`), +(We `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/safegraph.html", "publish this data")` +in our `r blogdown::shortcode_html("apireflink", "api/covidcast.html", "COVIDcast Epidata API")`, so it is available to anyone interested in studying mobility during the pandemic.) We use data at the state level. Note that this is actually a sort of anti-mobility measure: diff --git a/content/blog/2021-01-15-causal-effect-mobility.html b/content/blog/2021-01-15-causal-effect-mobility.html index 17e9f640b..561bdbd70 100644 --- a/content/blog/2021-01-15-causal-effect-mobility.html +++ b/content/blog/2021-01-15-causal-effect-mobility.html @@ -27,8 +27,7 @@ toc: true --- - - +

        @@ -354,9 +353,8 @@

        The Data and the Results

        proportion of people of who stay home, which is kindly provided to Delphi by SafeGraph. -(We }}">publish this -data -in our }}">COVIDcast Epidata API, +(We {{< apireflink "api/covidcast-signals/safegraph.html" "publish this data" >}} +in our {{< apireflink "api/covidcast.html" "COVIDcast Epidata API" >}}, so it is available to anyone interested in studying mobility during the pandemic.) We use data at the state level. Note that this is actually a sort of anti-mobility measure: diff --git a/content/blog/2021-01-22-holiday-surveys.Rmd b/content/blog/2021-01-22-holiday-surveys.Rmd index 9c526c1f0..12eba8460 100644 --- a/content/blog/2021-01-22-holiday-surveys.Rmd +++ b/content/blog/2021-01-22-holiday-surveys.Rmd @@ -38,17 +38,17 @@ gatherings during the holidays and a number of states expanded COVID-19 restrictions to prevent further escalation in cases. [Reports](https://www.washingtonpost.com/travel/2020/12/21/christmas-flights-cdc-restrictions-covid/) from airlines suggest air travel was up significantly during the holiday season, -but `r blogdown::shortcode("reflink", "surveys", "Delphi’s COVID-19 Surveys")` can +but `r blogdown::shortcode_html("reflink", "surveys", "Delphi’s COVID-19 Surveys")` can provide a broader picture of the travel Americans took during the holiday season. In taking greater risks with travel, did Americans change their behaviors in other preventative measures like mask wearing during this time? For the following analyses, we use publicly available aggregate data from the -`r blogdown::shortcode("apireflink", "api/covidcast.html", "COVIDcast Epidata API")` that have -been `r blogdown::shortcode("apireflink", "api/covidcast-signals/fb-survey.html#survey-weighting", "weighted to better match state demographics")`. +`r blogdown::shortcode_html("apireflink", "api/covidcast.html", "COVIDcast Epidata API")` that have +been `r blogdown::shortcode_html("apireflink", "api/covidcast-signals/fb-survey.html#survey-weighting", "weighted to better match state demographics")`. Here we focus on behavioral signals which have been available since September 8, -2020, when `r blogdown::shortcode("reflink", "2020-10-06-survey-wave-4", "Wave 4 of the survey was deployed")`, -and are now visible in the `r blogdown::shortcode("reflink", "survey-results", "Delphi Group’s survey dashboard")`. Additionally, we +2020, when `r blogdown::shortcode_html("reflink", "2020-10-06-survey-wave-4", "Wave 4 of the survey was deployed")`, +and are now visible in the `r blogdown::shortcode_html("reflink", "survey-results", "Delphi Group’s survey dashboard")`. Additionally, we only consider data after November 11, 2020 to avoid any major effects due to the US election on November 3. All data below will be based on 7-day rolling averages of survey responses. @@ -393,13 +393,13 @@ Since April 2020, Carnegie Mellon University’s Delphi Group and Facebook’s D for Good have partnered to conduct large-scale daily surveys to monitor the spread and impact of the COVID-19 pandemic in the United States. To date, the survey has collected more than 50 million responses. In this post, we show how -the data from the `r blogdown::shortcode("reflink", "surveys", "COVID-19 survey")` +the data from the `r blogdown::shortcode_html("reflink", "surveys", "COVID-19 survey")` can be used to provide a broader picture of how American’s risk behaviors and sentiments amidst a global pandemic. All of the above plots were built using aggregate data for the United States -that CMU/Delphi Group & Facebook provide to the public through the `r blogdown::shortcode("apireflink", "symptom-survey/", "COVIDcast Epidata API")`, and -visualize in the `r blogdown::shortcode("reflink", "/covidcast", "Delphi Group’s survey dashboard")`. Public, aggregate data for the +that CMU/Delphi Group & Facebook provide to the public through the `r blogdown::shortcode_html("apireflink", "symptom-survey/", "COVIDcast Epidata API")`, and +visualize in the `r blogdown::shortcode_html("reflink", "/covidcast", "Delphi Group’s survey dashboard")`. Public, aggregate data for the global COVID-19 survey can be accessed via [University of Maryland's API](https://covidmap.umd.edu/api.html). We encourage researchers, public health officials, and the public to use the survey data and tools for their own diff --git a/content/blog/2021-01-22-holiday-surveys.html b/content/blog/2021-01-22-holiday-surveys.html index cad0cc174..b046ec761 100644 --- a/content/blog/2021-01-22-holiday-surveys.html +++ b/content/blog/2021-01-22-holiday-surveys.html @@ -48,16 +48,16 @@ restrictions to prevent further escalation in cases. Reports from airlines suggest air travel was up significantly during the holiday season, -but {{% reflink "surveys" "Delphi’s COVID-19 Surveys" %}} can +but {{< reflink "surveys" "Delphi’s COVID-19 Surveys" >}} can provide a broader picture of the travel Americans took during the holiday season. In taking greater risks with travel, did Americans change their behaviors in other preventative measures like mask wearing during this time?

        For the following analyses, we use publicly available aggregate data from the -{{% apireflink "api/covidcast.html" "COVIDcast Epidata API" %}} that have -been {{% apireflink "api/covidcast-signals/fb-survey.html#survey-weighting" "weighted to better match state demographics" %}}. +{{< apireflink "api/covidcast.html" "COVIDcast Epidata API" >}} that have +been {{< apireflink "api/covidcast-signals/fb-survey.html#survey-weighting" "weighted to better match state demographics" >}}. Here we focus on behavioral signals which have been available since September 8, -2020, when {{% reflink "2020-10-06-survey-wave-4" "Wave 4 of the survey was deployed" %}}, -and are now visible in the {{% reflink "survey-results" "Delphi Group’s survey dashboard" %}}. Additionally, we +2020, when {{< reflink "2020-10-06-survey-wave-4" "Wave 4 of the survey was deployed" >}}, +and are now visible in the {{< reflink "survey-results" "Delphi Group’s survey dashboard" >}}. Additionally, we only consider data after November 11, 2020 to avoid any major effects due to the US election on November 3. All data below will be based on 7-day rolling averages of survey responses.

        @@ -380,12 +380,12 @@

        See the Data Yourself!

        for Good have partnered to conduct large-scale daily surveys to monitor the spread and impact of the COVID-19 pandemic in the United States. To date, the survey has collected more than 50 million responses. In this post, we show how -the data from the {{% reflink "surveys" "COVID-19 survey" %}} +the data from the {{< reflink "surveys" "COVID-19 survey" >}} can be used to provide a broader picture of how American’s risk behaviors and sentiments amidst a global pandemic.

        All of the above plots were built using aggregate data for the United States -that CMU/Delphi Group & Facebook provide to the public through the {{% apireflink "symptom-survey/" "COVIDcast Epidata API" %}}, and -visualize in the {{% reflink "/covidcast" "Delphi Group’s survey dashboard" %}}. Public, aggregate data for the +that CMU/Delphi Group & Facebook provide to the public through the {{< apireflink "symptom-survey/" "COVIDcast Epidata API" >}}, and +visualize in the {{< reflink "/covidcast" "Delphi Group’s survey dashboard" >}}. Public, aggregate data for the global COVID-19 survey can be accessed via University of Maryland’s API. We encourage researchers, public health officials, and the public to use the survey data and tools for their own diff --git a/package.json b/package.json index 54f5cf88c..6fd0e5cd9 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "copy_fonts": "shx cp -r \"node_modules/katex/dist/fonts/*\" themes/delphi/static/css/fonts/", "copy_covidcast": "shx rm -rf \"static/covidcast/*\" && shx cp \"node_modules/www-covidcast/public/**/*.{js,txt,css,map}\" static/covidcast/", "postinstall": "npm run copy_fonts && npm run copy_covidcast", - "build:blog": "Rscript -e \"blogdown::build_site(local=FALSE, run_hugo=FALSE, build_rmd=TRUE)\"", + "build:blog": "Rscript -e \"blogdown::build_site(local=FALSE, run_hugo=FALSE, build_rmd='md5sum')\"", "build": "hugo --gc --minify", "start": "hugo server -D", "start:blog": "Rscript -e \"blogdown::serve_site()\"", diff --git a/static/rmarkdown-libs/jquery/jquery-AUTHORS.txt b/static/rmarkdown-libs/jquery/jquery-AUTHORS.txt index 1f4beb60d..06df1a533 100644 --- a/static/rmarkdown-libs/jquery/jquery-AUTHORS.txt +++ b/static/rmarkdown-libs/jquery/jquery-AUTHORS.txt @@ -20,16 +20,24 @@ David Serduke Richard D. Worth Scott González Ariel Flesler +Cheah Chu Yeow +Andrew Chalkley +Fabio Buffoni +Stefan Bauckmeier  Jon Evans TJ Holowaychuk +Riccardo De Agostini Michael Bensoussan -Robert Katić Louis-Rémi Babé -Earle Castledine +Robert Katić Damian Janowski +Anton Kovalyov +Dušan B. Jovanovic +Earle Castledine Rich Dougherty Kim Dalsgaard Andrea Giammarchi +Fabian Jakobs Mark Gibson Karl Swedberg Justin Meyer @@ -37,9 +45,10 @@ Ben Alman James Padolsey David Petersen Batiste Bieler +Jake Archibald Alexander Farkas -Rick Waldron Filipe Fortes +Rick Waldron Neeraj Singh Paul Irish Iraê Carvalho @@ -47,23 +56,24 @@ Matt Curry Michael Monteleone Noah Sloan Tom Viner +J. Ryan Stinnett Douglas Neiner Adam J. Sontag +Heungsub Lee Dave Reed -Ralph Whitbeck Carl Fürstenberg Jacob Wright -J. Ryan Stinnett +Ralph Whitbeck unknown temp01 -Heungsub Lee Colin Snover +Jared Grippe Ryan W Tenney +Alex Sexton Pinhook Ron Otten Jephte Clain Anton Matzneller -Alex Sexton Dan Heberden Henri Wiechers Russell Holbrook @@ -73,21 +83,19 @@ Scott Jehl James Burke Jonas Pfenniger Xavi Ramirez -Jared Grippe Sylvester Keil Brandon Sterne Mathias Bynens +Lee Carpenter Timmy Willison <4timmywil@gmail.com> Corey Frang Digitalxero -Anton Kovalyov David Murdoch Josh Varner Charles McNulty Jordan Boesch Jess Thrysoee Michael Murray -Lee Carpenter Alexis Abril Rob Morgan John Firebaugh @@ -107,12 +115,13 @@ Timo Tijhof Steen Nielsen Anton Ryzhov Shi Chuan +Matt Mueller Berker Peksag Toby Brain -Matt Mueller Justin Daniel Herman Oleg Gaidarenko +Rock Hymas Richard Gibson Rafaël Blais Masson cmc3cn <59194618@qq.com> @@ -124,6 +133,7 @@ Andrew E Monat Oskari Joao Henrique de Andrade Bruni tsinha +Dominik D. Geyer Matt Farmer Trey Hunner Jason Moon @@ -132,164 +142,180 @@ Kris Borchers Vladimir Zhuravlev Jacob Thornton Chad Killingsworth +Vitya Muhachev Nowres Rafid David Benjamin +Alan Plum Uri Gilad Chris Faulkner +Marcel Greter Elijah Manor Daniel Chatfield +Daniel Gálvez Nikita Govorov Wesley Walser Mike Pennisi +Matthias Jäggli +Devin Cooper Markus Staab Dave Riddle Callum Macrae +Jonathan Sampson Benjamin Truyman +Jay Merrifield James Huston +Sai Lung Wong Erick Ruiz de Chávez David Bonner +Allen J Schmidt Jr Akintayo Akinwunmi MORGAN Ismail Khair Carl Danley Mike Petrovich Greg Lavallee -Daniel Gálvez -Sai Lung Wong Tom H Fuertes Roland Eckl -Jay Merrifield -Allen J Schmidt Jr -Jonathan Sampson -Marcel Greter -Matthias Jäggli -David Fox Yiming He -Devin Cooper +David Fox +Bennett Sorbo Paul Ramos Rod Vagg -Bennett Sorbo Sebastian Burkhard Zachary Adam Kaplan +Adam Coulombe nanto_vi nanto Danil Somsikov Ryunosuke SATO +Diego Tres Jean Boussier -Adam Coulombe Andrew Plummer Mark Raddatz +Pascal Borreli Isaac Z. Schlueter Karl Sieburg -Pascal Borreli Nguyen Phuc Lam Dmitry Gusev -Michał Gołębiowski-Owczarek -Li Xudong Steven Benner -Tom H Fuertes +Li Xudong +Michał Gołębiowski-Owczarek Renato Oliveira dos Santos +Frederic Junod +Tom H Fuertes +Mitch Foley ros3cin -Jason Bedard Kyle Robinson Young +John Paul +Jason Bedard Chris Talkington Eddie Monge Terry Jones Jason Merino +Dan Burzo Jeremy Dunck Chris Price Guy Bedford +njhamann +Goare Mao Amey Sakhadeo Mike Sidorov Anthony Ryan -Dominik D. Geyer -George Kats Lihan Li +George Kats +Dongseok Paeng Ronny Springer -Chris Antaki -Marian Sollmann -njhamann Ilya Kantor +Marian Sollmann +Chris Antaki David Hong -John Paul Jakob Stoeck Christopher Jones Forbes Lindesay S. Andrew Sheppard Leonardo Balter -Roman Reiß -Benjy Cui Rodrigo Rosenfeld Rosas -John Hoven +Daniel Husar Philip Jägenstedt +John Hoven +Roman Reiß +Benjy Cui Christian Kosmowski +David Corbacho Liang Peng TJ VanToll -Senya Pugach Aurelio De Rosa +Senya Pugach +Dan Hart Nazar Mokrynskyi +Benjamin Tan Amit Merchant Jason Bedard +Veaceslav Grimalschi +Richard McDaniel Arthur Verschaeve -Dan Hart +Shivaji Varma +Ben Toews Bin Xin -David Corbacho -Veaceslav Grimalschi -Daniel Husar +Neftaly Hernandez +T.J. Crowder +Nicolas HENRY Frederic Hemberger -Ben Toews -Aditya Raghavan Victor Homyakov -Shivaji Varma -Nicolas HENRY +Aditya Raghavan Anne-Gaelle Colom -George Mauer Leonardo Braga +George Mauer Stephen Edgar Thomas Tortorini -Winston Howes +Jörn Wagner Jon Hester +Colin Frick +Winston Howes Alexander O'Mara +Chris Rebert Bastian Buchholz -Arthur Stolyar -Calvin Metcalf Mu Haibao -Richard McDaniel -Chris Rebert +Calvin Metcalf +Arthur Stolyar Gabriel Schulhof Gilad Peleg +Julian Alexander Murillo +Kevin Kirsche Martin Naumann +Yongwoo Jeon +John-David Dalton Marek Lewandowski Bruno Pérel -Reed Loden Daniel Nill -Yongwoo Jeon +Reed Loden Sean Henderson +Gary Ye Richard Kraaijenhagen Connor Atherton -Gary Ye Christian Grete +Tom von Clef Liza Ramo -Julian Alexander Murillo Joelle Fleurantin +Steve Mao +Jon Dufresne Jae Sung Park -Jun Sun Josh Soref +Saptak Sengupta Henry Wong -Jon Dufresne +Jun Sun Martijn W. van der Lee Devin Wilson -Steve Mao +Damian Senn Zack Hall -Bernhard M. Wiedemann +Vitaliy Terziev Todor Prikumov +Bernhard M. Wiedemann Jha Naman -William Robinet Alexander Lisianoi -Vitaliy Terziev +William Robinet Joe Trumbull Alexander K -Damian Senn Ralin Chimev Felipe Sateler Christophe Tafani-Dereeper @@ -297,29 +323,35 @@ Manoj Kumar David Broder-Rodgers Alex Louden Alex Padilla -南漂一卒 karan-96 +南漂一卒 +Erik Lax Boom Lee Andreas Solleder -CDAGaming Pierre Spring Shashanka Nataraj -Erik Lax +CDAGaming Matan Kotler-Berkowitz <205matan@gmail.com> Jordan Beland Henry Zhu -Saptak Sengupta Nilton Cesar basil.belokon +Andrey Meshkov tmybr11 Luis Emilio Velasco Sanchez Ed S Bert Zhang +Sébastien Règne +wartmanm <3869625+wartmanm@users.noreply.github.com> +Siddharth Dungarwal +abnud1 Andrei Fangli Marja Hölttä -abnud1 buddh4 +Hoang +Wonseop Kim Pat O'Callaghan +JuanMa Ruiz Ahmed.S.ElAfifi -Wonseop Kim +Sean Robinson Christian Oliff diff --git a/static/rmarkdown-libs/jquery/jquery.js b/static/rmarkdown-libs/jquery/jquery.js index 773ad95c5..50937333b 100644 --- a/static/rmarkdown-libs/jquery/jquery.js +++ b/static/rmarkdown-libs/jquery/jquery.js @@ -1,5 +1,5 @@ /*! - * jQuery JavaScript Library v3.4.1 + * jQuery JavaScript Library v3.5.1 * https://jquery.com/ * * Includes Sizzle.js @@ -9,7 +9,7 @@ * Released under the MIT license * https://jquery.org/license * - * Date: 2019-05-01T21:04Z + * Date: 2020-05-04T22:49Z */ ( function( global, factory ) { @@ -47,13 +47,16 @@ var arr = []; -var document = window.document; - var getProto = Object.getPrototypeOf; var slice = arr.slice; -var concat = arr.concat; +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + var push = arr.push; @@ -86,6 +89,8 @@ var isWindow = function isWindow( obj ) { }; +var document = window.document; + var preservedScriptAttributes = { @@ -142,7 +147,7 @@ function toType( obj ) { var - version = "3.4.1", + version = "3.5.1", // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -150,11 +155,7 @@ var // The jQuery object is actually just the init constructor 'enhanced' // Need init if jQuery is called (just allow error to be thrown if not included) return new jQuery.fn.init( selector, context ); - }, - - // Support: Android <=4.0 only - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + }; jQuery.fn = jQuery.prototype = { @@ -220,6 +221,18 @@ jQuery.fn = jQuery.prototype = { return this.eq( -1 ); }, + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + eq: function( i ) { var len = this.length, j = +i + ( i < 0 ? len : 0 ); @@ -353,9 +366,10 @@ jQuery.extend( { return true; }, - // Evaluates a script in a global context - globalEval: function( code, options ) { - DOMEval( code, { nonce: options && options.nonce } ); + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); }, each: function( obj, callback ) { @@ -379,13 +393,6 @@ jQuery.extend( { return obj; }, - // Support: Android <=4.0 only - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - // results is for internal usage only makeArray: function( arr, results ) { var ret = results || []; @@ -472,7 +479,7 @@ jQuery.extend( { } // Flatten any nested arrays - return concat.apply( [], ret ); + return flat( ret ); }, // A global GUID counter for objects @@ -489,7 +496,7 @@ if ( typeof Symbol === "function" ) { // Populate the class2type map jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( i, name ) { +function( _i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); } ); @@ -511,17 +518,16 @@ function isArrayLike( obj ) { } var Sizzle = /*! - * Sizzle CSS Selector Engine v2.3.4 + * Sizzle CSS Selector Engine v2.3.5 * https://sizzlejs.com/ * * Copyright JS Foundation and other contributors * Released under the MIT license * https://js.foundation/ * - * Date: 2019-04-08 + * Date: 2020-03-14 */ -(function( window ) { - +( function( window ) { var i, support, Expr, @@ -561,59 +567,70 @@ var i, }, // Instance methods - hasOwn = ({}).hasOwnProperty, + hasOwn = ( {} ).hasOwnProperty, arr = [], pop = arr.pop, - push_native = arr.push, + pushNative = arr.push, push = arr.push, slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native // https://jsperf.com/thor-indexof-vs-for/5 indexOf = function( list, elem ) { var i = 0, len = list.length; for ( ; i < len; i++ ) { - if ( list[i] === elem ) { + if ( list[ i ] === elem ) { return i; } } return -1; }, - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", // Regular expressions // http://www.w3.org/TR/css3-selectors/#whitespace whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: // 1. quoted (capture 3; capture 4 or capture 5) "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) ".*" + ")\\)|)", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), rdescend = new RegExp( whitespace + "|>" ), rpseudo = new RegExp( pseudos ), @@ -625,14 +642,16 @@ var i, "TAG": new RegExp( "^(" + identifier + "|[*])" ), "ATTR": new RegExp( "^" + attributes ), "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) }, rhtml = /HTML$/i, @@ -648,18 +667,21 @@ var i, // CSS escapes // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair high < 0 ? - // BMP codepoint String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); }, @@ -675,7 +697,8 @@ var i, } // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; } // Other potentially-special ASCII characters get backslash-escaped @@ -700,18 +723,20 @@ var i, // Optimize for push.apply( _, NodeList ) try { push.apply( - (arr = slice.call( preferredDoc.childNodes )), + ( arr = slice.call( preferredDoc.childNodes ) ), preferredDoc.childNodes ); + // Support: Android<4.0 // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions arr[ preferredDoc.childNodes.length ].nodeType; } catch ( e ) { push = { apply: arr.length ? // Leverage slice if possible function( target, els ) { - push_native.apply( target, slice.call(els) ); + pushNative.apply( target, slice.call( els ) ); } : // Support: IE<9 @@ -719,8 +744,9 @@ try { function( target, els ) { var j = target.length, i = 0; + // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} + while ( ( target[ j++ ] = els[ i++ ] ) ) {} target.length = j - 1; } }; @@ -744,24 +770,21 @@ function Sizzle( selector, context, results, seed ) { // Try to shortcut find operations (as opposed to filters) in HTML documents if ( !seed ) { - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } + setDocument( context ); context = context || document; if ( documentIsHTML ) { // If the selector is sufficiently simple, try using a "get*By*" DOM method // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { // ID selector - if ( (m = match[1]) ) { + if ( ( m = match[ 1 ] ) ) { // Document context if ( nodeType === 9 ) { - if ( (elem = context.getElementById( m )) ) { + if ( ( elem = context.getElementById( m ) ) ) { // Support: IE, Opera, Webkit // TODO: identify versions @@ -780,7 +803,7 @@ function Sizzle( selector, context, results, seed ) { // Support: IE, Opera, Webkit // TODO: identify versions // getElementById can match elements by name instead of ID - if ( newContext && (elem = newContext.getElementById( m )) && + if ( newContext && ( elem = newContext.getElementById( m ) ) && contains( context, elem ) && elem.id === m ) { @@ -790,12 +813,12 @@ function Sizzle( selector, context, results, seed ) { } // Type selector - } else if ( match[2] ) { + } else if ( match[ 2 ] ) { push.apply( results, context.getElementsByTagName( selector ) ); return results; // Class selector - } else if ( (m = match[3]) && support.getElementsByClassName && + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && context.getElementsByClassName ) { push.apply( results, context.getElementsByClassName( m ) ); @@ -806,11 +829,11 @@ function Sizzle( selector, context, results, seed ) { // Take advantage of querySelectorAll if ( support.qsa && !nonnativeSelectorCache[ selector + " " ] && - (!rbuggyQSA || !rbuggyQSA.test( selector )) && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && // Support: IE 8 only // Exclude object elements - (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { newSelector = selector; newContext = context; @@ -819,27 +842,36 @@ function Sizzle( selector, context, results, seed ) { // descendant combinators, which is not what we want. // In such cases, we work around the behavior by prefixing every selector in the // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. // Thanks to Andrew Dupont for this technique. - if ( nodeType === 1 && rdescend.test( selector ) ) { + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { - // Capture the context ID, setting it first if necessary - if ( (nid = context.getAttribute( "id" )) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", (nid = expando) ); + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } } // Prefix every selector in the list groups = tokenize( selector ); i = groups.length; while ( i-- ) { - groups[i] = "#" + nid + " " + toSelector( groups[i] ); + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); } newSelector = groups.join( "," ); - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; } try { @@ -872,12 +904,14 @@ function createCache() { var keys = []; function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries delete cache[ keys.shift() ]; } - return (cache[ key + " " ] = value); + return ( cache[ key + " " ] = value ); } return cache; } @@ -896,17 +930,19 @@ function markFunction( fn ) { * @param {Function} fn Passed the created element and returns a boolean result */ function assert( fn ) { - var el = document.createElement("fieldset"); + var el = document.createElement( "fieldset" ); try { return !!fn( el ); - } catch (e) { + } catch ( e ) { return false; } finally { + // Remove from its parent by default if ( el.parentNode ) { el.parentNode.removeChild( el ); } + // release memory in IE el = null; } @@ -918,11 +954,11 @@ function assert( fn ) { * @param {Function} handler The method that will be applied */ function addHandle( attrs, handler ) { - var arr = attrs.split("|"), + var arr = attrs.split( "|" ), i = arr.length; while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; + Expr.attrHandle[ arr[ i ] ] = handler; } } @@ -944,7 +980,7 @@ function siblingCheck( a, b ) { // Check if b follows a if ( cur ) { - while ( (cur = cur.nextSibling) ) { + while ( ( cur = cur.nextSibling ) ) { if ( cur === b ) { return -1; } @@ -972,7 +1008,7 @@ function createInputPseudo( type ) { function createButtonPseudo( type ) { return function( elem ) { var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; + return ( name === "input" || name === "button" ) && elem.type === type; }; } @@ -1015,7 +1051,7 @@ function createDisabledPseudo( disabled ) { // Where there is no isDisabled, check manually /* jshint -W018 */ elem.isDisabled !== !disabled && - inDisabledFieldset( elem ) === disabled; + inDisabledFieldset( elem ) === disabled; } return elem.disabled === disabled; @@ -1037,21 +1073,21 @@ function createDisabledPseudo( disabled ) { * @param {Function} fn */ function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { + return markFunction( function( argument ) { argument = +argument; - return markFunction(function( seed, matches ) { + return markFunction( function( seed, matches ) { var j, matchIndexes = fn( [], seed.length, argument ), i = matchIndexes.length; // Match elements found at the specified indexes while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); } } - }); - }); + } ); + } ); } /** @@ -1073,7 +1109,7 @@ support = Sizzle.support = {}; */ isXML = Sizzle.isXML = function( elem ) { var namespace = elem.namespaceURI, - docElem = (elem.ownerDocument || elem).documentElement; + docElem = ( elem.ownerDocument || elem ).documentElement; // Support: IE <=8 // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes @@ -1091,7 +1127,11 @@ setDocument = Sizzle.setDocument = function( node ) { doc = node ? node.ownerDocument || node : preferredDoc; // Return early if doc is invalid or already selected - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { return document; } @@ -1100,10 +1140,14 @@ setDocument = Sizzle.setDocument = function( node ) { docElem = document.documentElement; documentIsHTML = !isXML( document ); - // Support: IE 9-11, Edge + // Support: IE 9 - 11+, Edge 12 - 18+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - if ( preferredDoc !== document && - (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { // Support: IE 11, Edge if ( subWindow.addEventListener ) { @@ -1115,25 +1159,36 @@ setDocument = Sizzle.setDocument = function( node ) { } } + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + /* Attributes ---------------------------------------------------------------------- */ // Support: IE<8 // Verify that getAttribute really returns attributes and not properties // (excepting IE8 booleans) - support.attributes = assert(function( el ) { + support.attributes = assert( function( el ) { el.className = "i"; - return !el.getAttribute("className"); - }); + return !el.getAttribute( "className" ); + } ); /* getElement(s)By* ---------------------------------------------------------------------- */ // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( el ) { - el.appendChild( document.createComment("") ); - return !el.getElementsByTagName("*").length; - }); + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); // Support: IE<9 support.getElementsByClassName = rnative.test( document.getElementsByClassName ); @@ -1142,38 +1197,38 @@ setDocument = Sizzle.setDocument = function( node ) { // Check if getElementById returns elements by name // The broken getElementById methods don't pick up programmatically-set names, // so use a roundabout getElementsByName test - support.getById = assert(function( el ) { + support.getById = assert( function( el ) { docElem.appendChild( el ).id = expando; return !document.getElementsByName || !document.getElementsByName( expando ).length; - }); + } ); // ID filter and find if ( support.getById ) { - Expr.filter["ID"] = function( id ) { + Expr.filter[ "ID" ] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { - return elem.getAttribute("id") === attrId; + return elem.getAttribute( "id" ) === attrId; }; }; - Expr.find["ID"] = function( id, context ) { + Expr.find[ "ID" ] = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var elem = context.getElementById( id ); return elem ? [ elem ] : []; } }; } else { - Expr.filter["ID"] = function( id ) { + Expr.filter[ "ID" ] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { var node = typeof elem.getAttributeNode !== "undefined" && - elem.getAttributeNode("id"); + elem.getAttributeNode( "id" ); return node && node.value === attrId; }; }; // Support: IE 6 - 7 only // getElementById is not reliable as a find shortcut - Expr.find["ID"] = function( id, context ) { + Expr.find[ "ID" ] = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var node, i, elems, elem = context.getElementById( id ); @@ -1181,7 +1236,7 @@ setDocument = Sizzle.setDocument = function( node ) { if ( elem ) { // Verify the id attribute - node = elem.getAttributeNode("id"); + node = elem.getAttributeNode( "id" ); if ( node && node.value === id ) { return [ elem ]; } @@ -1189,8 +1244,8 @@ setDocument = Sizzle.setDocument = function( node ) { // Fall back on getElementsByName elems = context.getElementsByName( id ); i = 0; - while ( (elem = elems[i++]) ) { - node = elem.getAttributeNode("id"); + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); if ( node && node.value === id ) { return [ elem ]; } @@ -1203,7 +1258,7 @@ setDocument = Sizzle.setDocument = function( node ) { } // Tag - Expr.find["TAG"] = support.getElementsByTagName ? + Expr.find[ "TAG" ] = support.getElementsByTagName ? function( tag, context ) { if ( typeof context.getElementsByTagName !== "undefined" ) { return context.getElementsByTagName( tag ); @@ -1218,12 +1273,13 @@ setDocument = Sizzle.setDocument = function( node ) { var elem, tmp = [], i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too results = context.getElementsByTagName( tag ); // Filter out possible comments if ( tag === "*" ) { - while ( (elem = results[i++]) ) { + while ( ( elem = results[ i++ ] ) ) { if ( elem.nodeType === 1 ) { tmp.push( elem ); } @@ -1235,7 +1291,7 @@ setDocument = Sizzle.setDocument = function( node ) { }; // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { return context.getElementsByClassName( className ); } @@ -1256,10 +1312,14 @@ setDocument = Sizzle.setDocument = function( node ) { // See https://bugs.jquery.com/ticket/13378 rbuggyQSA = []; - if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + // Build QSA regex // Regex strategy adopted from Diego Perini - assert(function( el ) { + assert( function( el ) { + + var input; + // Select is set to empty string on purpose // This is to test IE's treatment of not explicitly // setting a boolean content attribute, @@ -1273,78 +1333,98 @@ setDocument = Sizzle.setDocument = function( node ) { // Nothing should be selected when empty strings follow ^= or $= or *= // The test attribute must be unknown in Opera but "safe" for WinRT // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( el.querySelectorAll("[msallowcapture^='']").length ) { + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); } // Support: IE8 // Boolean attributes and "value" are not treated correctly - if ( !el.querySelectorAll("[selected]").length ) { + if ( !el.querySelectorAll( "[selected]" ).length ) { rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); } // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); } // Webkit/Opera - :checked should return selected option elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked // IE8 throws error here and will not see later tests - if ( !el.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); } // Support: Safari 8+, iOS 8+ // https://bugs.webkit.org/show_bug.cgi?id=136851 // In-page `selector#id sibling-combinator selector` fails if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); + rbuggyQSA.push( ".#.+[+~]" ); } - }); - assert(function( el ) { + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { el.innerHTML = "" + ""; // Support: Windows 8 Native Apps // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement("input"); + var input = document.createElement( "input" ); input.setAttribute( "type", "hidden" ); el.appendChild( input ).setAttribute( "name", "D" ); // Support: IE8 // Enforce case-sensitivity of name attribute - if ( el.querySelectorAll("[name=d]").length ) { + if ( el.querySelectorAll( "[name=d]" ).length ) { rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); } // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) // IE8 throws error here and will not see later tests - if ( el.querySelectorAll(":enabled").length !== 2 ) { + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { rbuggyQSA.push( ":enabled", ":disabled" ); } // Support: IE9-11+ // IE's :disabled selector does not pick up the children of disabled fieldsets docElem.appendChild( el ).disabled = true; - if ( el.querySelectorAll(":disabled").length !== 2 ) { + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { rbuggyQSA.push( ":enabled", ":disabled" ); } + // Support: Opera 10 - 11 only // Opera 10-11 does not throw on post-comma invalid pseudos - el.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); } - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { - assert(function( el ) { // Check to see if it's possible to do matchesSelector // on a disconnected node (IE 9) support.disconnectedMatch = matches.call( el, "*" ); @@ -1353,11 +1433,11 @@ setDocument = Sizzle.setDocument = function( node ) { // Gecko does not error, returns false instead matches.call( el, "[s!='']:x" ); rbuggyMatches.push( "!=", pseudos ); - }); + } ); } - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); /* Contains ---------------------------------------------------------------------- */ @@ -1374,11 +1454,11 @@ setDocument = Sizzle.setDocument = function( node ) { adown.contains ? adown.contains( bup ) : a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); + ) ); } : function( a, b ) { if ( b ) { - while ( (b = b.parentNode) ) { + while ( ( b = b.parentNode ) ) { if ( b === a ) { return true; } @@ -1407,7 +1487,11 @@ setDocument = Sizzle.setDocument = function( node ) { } // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? a.compareDocumentPosition( b ) : // Otherwise we know they are disconnected @@ -1415,13 +1499,24 @@ setDocument = Sizzle.setDocument = function( node ) { // Disconnected nodes if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { // Choose the first element that is related to our preferred document - if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { return -1; } - if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { return 1; } @@ -1434,6 +1529,7 @@ setDocument = Sizzle.setDocument = function( node ) { return compare & 4 ? -1 : 1; } : function( a, b ) { + // Exit early if the nodes are identical if ( a === b ) { hasDuplicate = true; @@ -1449,8 +1545,14 @@ setDocument = Sizzle.setDocument = function( node ) { // Parentless nodes are either documents or disconnected if ( !aup || !bup ) { - return a === document ? -1 : - b === document ? 1 : + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ aup ? -1 : bup ? 1 : sortInput ? @@ -1464,26 +1566,32 @@ setDocument = Sizzle.setDocument = function( node ) { // Otherwise we need full lists of their ancestors for comparison cur = a; - while ( (cur = cur.parentNode) ) { + while ( ( cur = cur.parentNode ) ) { ap.unshift( cur ); } cur = b; - while ( (cur = cur.parentNode) ) { + while ( ( cur = cur.parentNode ) ) { bp.unshift( cur ); } // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { + while ( ap[ i ] === bp[ i ] ) { i++; } return i ? + // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : + siblingCheck( ap[ i ], bp[ i ] ) : // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ 0; }; @@ -1495,10 +1603,7 @@ Sizzle.matches = function( expr, elements ) { }; Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } + setDocument( elem ); if ( support.matchesSelector && documentIsHTML && !nonnativeSelectorCache[ expr + " " ] && @@ -1510,12 +1615,13 @@ Sizzle.matchesSelector = function( elem, expr ) { // IE 9's matchesSelector returns false on disconnected nodes if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { return ret; } - } catch (e) { + } catch ( e ) { nonnativeSelectorCache( expr, true ); } } @@ -1524,20 +1630,31 @@ Sizzle.matchesSelector = function( elem, expr ) { }; Sizzle.contains = function( context, elem ) { + // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { setDocument( context ); } return contains( context, elem ); }; Sizzle.attr = function( elem, name ) { + // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { setDocument( elem ); } var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? fn( elem, name, !documentIsHTML ) : @@ -1547,13 +1664,13 @@ Sizzle.attr = function( elem, name ) { val : support.attributes || !documentIsHTML ? elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? + ( val = elem.getAttributeNode( name ) ) && val.specified ? val.value : null; }; Sizzle.escape = function( sel ) { - return (sel + "").replace( rcssescape, fcssescape ); + return ( sel + "" ).replace( rcssescape, fcssescape ); }; Sizzle.error = function( msg ) { @@ -1576,7 +1693,7 @@ Sizzle.uniqueSort = function( results ) { results.sort( sortOrder ); if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { + while ( ( elem = results[ i++ ] ) ) { if ( elem === results[ i ] ) { j = duplicates.push( i ); } @@ -1604,17 +1721,21 @@ getText = Sizzle.getText = function( elem ) { nodeType = elem.nodeType; if ( !nodeType ) { + // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { + while ( ( node = elem[ i++ ] ) ) { + // Do not traverse comment nodes ret += getText( node ); } } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements // innerText usage removed for consistency of new lines (jQuery #11153) if ( typeof elem.textContent === "string" ) { return elem.textContent; } else { + // Traverse its children for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { ret += getText( elem ); @@ -1623,6 +1744,7 @@ getText = Sizzle.getText = function( elem ) { } else if ( nodeType === 3 || nodeType === 4 ) { return elem.nodeValue; } + // Do not include comment or processing instruction nodes return ret; @@ -1650,19 +1772,21 @@ Expr = Sizzle.selectors = { preFilter: { "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; } return match.slice( 0, 4 ); }, "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] 1 type (only|nth|...) 2 what (child|of-type) @@ -1673,22 +1797,25 @@ Expr = Sizzle.selectors = { 7 sign of y-component 8 y of y-component */ - match[1] = match[1].toLowerCase(); + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { - if ( match[1].slice( 0, 3 ) === "nth" ) { // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); } // numeric x and y parameters for Expr.filter.CHILD // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); } return match; @@ -1696,26 +1823,28 @@ Expr = Sizzle.selectors = { "PSEUDO": function( match ) { var excess, - unquoted = !match[6] && match[2]; + unquoted = !match[ 6 ] && match[ 2 ]; - if ( matchExpr["CHILD"].test( match[0] ) ) { + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { return null; } // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; // Strip excess characters from unquoted arguments } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && + ( excess = tokenize( unquoted, true ) ) && + // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); } // Return only captures needed by the pseudo filter method (type and argument) @@ -1728,7 +1857,9 @@ Expr = Sizzle.selectors = { "TAG": function( nodeNameSelector ) { var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); return nodeNameSelector === "*" ? - function() { return true; } : + function() { + return true; + } : function( elem ) { return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; }; @@ -1738,10 +1869,16 @@ Expr = Sizzle.selectors = { var pattern = classCache[ className + " " ]; return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); }, "ATTR": function( name, operator, check ) { @@ -1757,6 +1894,8 @@ Expr = Sizzle.selectors = { result += ""; + /* eslint-disable max-len */ + return operator === "=" ? result === check : operator === "!=" ? result !== check : operator === "^=" ? check && result.indexOf( check ) === 0 : @@ -1765,10 +1904,12 @@ Expr = Sizzle.selectors = { operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : false; + /* eslint-enable max-len */ + }; }, - "CHILD": function( type, what, argument, first, last ) { + "CHILD": function( type, what, _argument, first, last ) { var simple = type.slice( 0, 3 ) !== "nth", forward = type.slice( -4 ) !== "last", ofType = what === "of-type"; @@ -1780,7 +1921,7 @@ Expr = Sizzle.selectors = { return !!elem.parentNode; } : - function( elem, context, xml ) { + function( elem, _context, xml ) { var cache, uniqueCache, outerCache, node, nodeIndex, start, dir = simple !== forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, @@ -1794,7 +1935,7 @@ Expr = Sizzle.selectors = { if ( simple ) { while ( dir ) { node = elem; - while ( (node = node[ dir ]) ) { + while ( ( node = node[ dir ] ) ) { if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { @@ -1802,6 +1943,7 @@ Expr = Sizzle.selectors = { return false; } } + // Reverse direction for :only-* (if we haven't yet done so) start = dir = type === "only" && !start && "nextSibling"; } @@ -1817,22 +1959,22 @@ Expr = Sizzle.selectors = { // ...in a gzip-friendly way node = parent; - outerCache = node[ expando ] || (node[ expando ] = {}); + outerCache = node[ expando ] || ( node[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); + ( outerCache[ node.uniqueID ] = {} ); cache = uniqueCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; diff = nodeIndex && cache[ 2 ]; node = nodeIndex && parent.childNodes[ nodeIndex ]; - while ( (node = ++nodeIndex && node && node[ dir ] || + while ( ( node = ++nodeIndex && node && node[ dir ] || // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { + ( diff = nodeIndex = 0 ) || start.pop() ) ) { // When found, cache indexes on `parent` and break if ( node.nodeType === 1 && ++diff && node === elem ) { @@ -1842,16 +1984,18 @@ Expr = Sizzle.selectors = { } } else { + // Use previously-cached element index if available if ( useCache ) { + // ...in a gzip-friendly way node = elem; - outerCache = node[ expando ] || (node[ expando ] = {}); + outerCache = node[ expando ] || ( node[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); + ( outerCache[ node.uniqueID ] = {} ); cache = uniqueCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; @@ -1861,9 +2005,10 @@ Expr = Sizzle.selectors = { // xml :nth-child(...) // or :nth-last-child(...) or :nth(-last)?-of-type(...) if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { if ( ( ofType ? node.nodeName.toLowerCase() === name : @@ -1872,12 +2017,13 @@ Expr = Sizzle.selectors = { // Cache the index of each encountered element if ( useCache ) { - outerCache = node[ expando ] || (node[ expando ] = {}); + outerCache = node[ expando ] || + ( node[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); + ( outerCache[ node.uniqueID ] = {} ); uniqueCache[ type ] = [ dirruns, diff ]; } @@ -1898,6 +2044,7 @@ Expr = Sizzle.selectors = { }, "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive // http://www.w3.org/TR/selectors/#pseudo-classes // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters @@ -1917,15 +2064,15 @@ Expr = Sizzle.selectors = { if ( fn.length > 1 ) { args = [ pseudo, pseudo, "", argument ]; return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { + markFunction( function( seed, matches ) { var idx, matched = fn( seed, argument ), i = matched.length; while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); } - }) : + } ) : function( elem ) { return fn( elem, 0, args ); }; @@ -1936,8 +2083,10 @@ Expr = Sizzle.selectors = { }, pseudos: { + // Potentially complex pseudos - "not": markFunction(function( selector ) { + "not": markFunction( function( selector ) { + // Trim the selector passed to compile // to avoid treating leading and trailing // spaces as combinators @@ -1946,39 +2095,40 @@ Expr = Sizzle.selectors = { matcher = compile( selector.replace( rtrim, "$1" ) ); return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { + markFunction( function( seed, matches, _context, xml ) { var elem, unmatched = matcher( seed, null, xml, [] ), i = seed.length; // Match elements unmatched by `matcher` while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); } } - }) : - function( elem, context, xml ) { - input[0] = elem; + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; matcher( input, null, xml, results ); + // Don't keep the element (issue #299) - input[0] = null; + input[ 0 ] = null; return !results.pop(); }; - }), + } ), - "has": markFunction(function( selector ) { + "has": markFunction( function( selector ) { return function( elem ) { return Sizzle( selector, elem ).length > 0; }; - }), + } ), - "contains": markFunction(function( text ) { + "contains": markFunction( function( text ) { text = text.replace( runescape, funescape ); return function( elem ) { return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; }; - }), + } ), // "Whether an element is represented by a :lang() selector // is based solely on the element's language value @@ -1988,25 +2138,26 @@ Expr = Sizzle.selectors = { // The identifier C does not have to be a valid language name." // http://www.w3.org/TR/selectors/#lang-pseudo "lang": markFunction( function( lang ) { + // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { + if ( !ridentifier.test( lang || "" ) ) { Sizzle.error( "unsupported lang: " + lang ); } lang = lang.replace( runescape, funescape ).toLowerCase(); return function( elem ) { var elemLang; do { - if ( (elemLang = documentIsHTML ? + if ( ( elemLang = documentIsHTML ? elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { elemLang = elemLang.toLowerCase(); return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); return false; }; - }), + } ), // Miscellaneous "target": function( elem ) { @@ -2019,7 +2170,9 @@ Expr = Sizzle.selectors = { }, "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); }, // Boolean properties @@ -2027,16 +2180,20 @@ Expr = Sizzle.selectors = { "disabled": createDisabledPseudo( true ), "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); }, "selected": function( elem ) { + // Accessing this property makes selected-by-default // options in Safari work properly if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions elem.parentNode.selectedIndex; } @@ -2045,6 +2202,7 @@ Expr = Sizzle.selectors = { // Contents "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), // but not by others (comment: 8; processing instruction: 7; etc.) @@ -2058,7 +2216,7 @@ Expr = Sizzle.selectors = { }, "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); + return !Expr.pseudos[ "empty" ]( elem ); }, // Element/input types @@ -2082,39 +2240,40 @@ Expr = Sizzle.selectors = { // Support: IE<8 // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); }, // Position-in-collection - "first": createPositionalPseudo(function() { + "first": createPositionalPseudo( function() { return [ 0 ]; - }), + } ), - "last": createPositionalPseudo(function( matchIndexes, length ) { + "last": createPositionalPseudo( function( _matchIndexes, length ) { return [ length - 1 ]; - }), + } ), - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { return [ argument < 0 ? argument + length : argument ]; - }), + } ), - "even": createPositionalPseudo(function( matchIndexes, length ) { + "even": createPositionalPseudo( function( matchIndexes, length ) { var i = 0; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; - }), + } ), - "odd": createPositionalPseudo(function( matchIndexes, length ) { + "odd": createPositionalPseudo( function( matchIndexes, length ) { var i = 1; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; - }), + } ), - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { var i = argument < 0 ? argument + length : argument > length ? @@ -2124,19 +2283,19 @@ Expr = Sizzle.selectors = { matchIndexes.push( i ); } return matchIndexes; - }), + } ), - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { var i = argument < 0 ? argument + length : argument; for ( ; ++i < length; ) { matchIndexes.push( i ); } return matchIndexes; - }) + } ) } }; -Expr.pseudos["nth"] = Expr.pseudos["eq"]; +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; // Add button/input type pseudos for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { @@ -2167,37 +2326,39 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { while ( soFar ) { // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { if ( match ) { + // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; + soFar = soFar.slice( match[ 0 ].length ) || soFar; } - groups.push( (tokens = []) ); + groups.push( ( tokens = [] ) ); } matched = false; // Combinators - if ( (match = rcombinators.exec( soFar )) ) { + if ( ( match = rcombinators.exec( soFar ) ) ) { matched = match.shift(); - tokens.push({ + tokens.push( { value: matched, + // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); + type: match[ 0 ].replace( rtrim, " " ) + } ); soFar = soFar.slice( matched.length ); } // Filters for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { matched = match.shift(); - tokens.push({ + tokens.push( { value: matched, type: type, matches: match - }); + } ); soFar = soFar.slice( matched.length ); } } @@ -2214,6 +2375,7 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { soFar.length : soFar ? Sizzle.error( selector ) : + // Cache the tokens tokenCache( selector, groups ).slice( 0 ); }; @@ -2223,7 +2385,7 @@ function toSelector( tokens ) { len = tokens.length, selector = ""; for ( ; i < len; i++ ) { - selector += tokens[i].value; + selector += tokens[ i ].value; } return selector; } @@ -2236,9 +2398,10 @@ function addCombinator( matcher, combinator, base ) { doneName = done++; return combinator.first ? + // Check against closest ancestor/preceding element function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { + while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { return matcher( elem, context, xml ); } @@ -2253,7 +2416,7 @@ function addCombinator( matcher, combinator, base ) { // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching if ( xml ) { - while ( (elem = elem[ dir ]) ) { + while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { if ( matcher( elem, context, xml ) ) { return true; @@ -2261,27 +2424,29 @@ function addCombinator( matcher, combinator, base ) { } } } else { - while ( (elem = elem[ dir ]) ) { + while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); if ( skip && skip === elem.nodeName.toLowerCase() ) { elem = elem[ dir ] || elem; - } else if ( (oldCache = uniqueCache[ key ]) && + } else if ( ( oldCache = uniqueCache[ key ] ) && oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); + return ( newCache[ 2 ] = oldCache[ 2 ] ); } else { + // Reuse newcache so results back-propagate to previous elements uniqueCache[ key ] = newCache; // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { return true; } } @@ -2297,20 +2462,20 @@ function elementMatcher( matchers ) { function( elem, context, xml ) { var i = matchers.length; while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { + if ( !matchers[ i ]( elem, context, xml ) ) { return false; } } return true; } : - matchers[0]; + matchers[ 0 ]; } function multipleContexts( selector, contexts, results ) { var i = 0, len = contexts.length; for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); + Sizzle( selector, contexts[ i ], results ); } return results; } @@ -2323,7 +2488,7 @@ function condense( unmatched, map, filter, context, xml ) { mapped = map != null; for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { + if ( ( elem = unmatched[ i ] ) ) { if ( !filter || filter( elem, context, xml ) ) { newUnmatched.push( elem ); if ( mapped ) { @@ -2343,14 +2508,18 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS if ( postFinder && !postFinder[ expando ] ) { postFinder = setMatcher( postFinder, postSelector ); } - return markFunction(function( seed, results, context, xml ) { + return markFunction( function( seed, results, context, xml ) { var temp, i, elem, preMap = [], postMap = [], preexisting = results.length, // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), // Prefilter to get matcher input, preserving a map for seed-results synchronization matcherIn = preFilter && ( seed || !selector ) ? @@ -2358,6 +2527,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS elems, matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, postFinder || ( seed ? preFilter : preexisting || postFilter ) ? @@ -2381,8 +2551,8 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS // Un-match failing elements by moving them back to matcherIn i = temp.length; while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); } } } @@ -2390,25 +2560,27 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS if ( seed ) { if ( postFinder || preFilter ) { if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts temp = []; i = matcherOut.length; while ( i-- ) { - if ( (elem = matcherOut[i]) ) { + if ( ( elem = matcherOut[ i ] ) ) { + // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); + temp.push( ( matcherIn[ i ] = elem ) ); } } - postFinder( null, (matcherOut = []), temp, xml ); + postFinder( null, ( matcherOut = [] ), temp, xml ); } // Move matched elements from seed to results to keep them synchronized i = matcherOut.length; while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { - seed[temp] = !(results[temp] = elem); + seed[ temp ] = !( results[ temp ] = elem ); } } } @@ -2426,14 +2598,14 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS push.apply( results, matcherOut ); } } - }); + } ); } function matcherFromTokens( tokens ) { var checkContext, matcher, j, len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], i = leadingRelative ? 1 : 0, // The foundational matcher ensures that elements are reachable from top-level context(s) @@ -2445,38 +2617,43 @@ function matcherFromTokens( tokens ) { }, implicitRelative, true ), matchers = [ function( elem, context, xml ) { var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? + ( checkContext = context ).nodeType ? matchContext( elem, context, xml ) : matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) checkContext = null; return ret; } ]; for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); // Return special upon seeing a positional matcher if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling j = ++i; for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { + if ( Expr.relative[ tokens[ j ].type ] ) { break; } } return setMatcher( i > 1 && elementMatcher( matchers ), i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) ).replace( rtrim, "$1" ), matcher, i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), j < len && toSelector( tokens ) ); } @@ -2497,28 +2674,40 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { unmatched = seed && [], setMatched = [], contextBackup = outermostContext, + // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), len = elems.length; if ( outermost ) { - outermostContext = context === document || context || outermost; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; } // Add elements passing elementMatchers directly to results // Support: IE<9, Safari // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { if ( byElement && elem ) { j = 0; - if ( !context && elem.ownerDocument !== document ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { setDocument( elem ); xml = !documentIsHTML; } - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context || document, xml) ) { + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { results.push( elem ); break; } @@ -2530,8 +2719,9 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { // Track unmatched elements for set filters if ( bySet ) { + // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { + if ( ( elem = !matcher && elem ) ) { matchedCount--; } @@ -2555,16 +2745,17 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { // numerically zero. if ( bySet && i !== matchedCount ) { j = 0; - while ( (matcher = setMatchers[j++]) ) { + while ( ( matcher = setMatchers[ j++ ] ) ) { matcher( unmatched, setMatched, context, xml ); } if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting if ( matchedCount > 0 ) { while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); } } } @@ -2605,13 +2796,14 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { cached = compilerCache[ selector + " " ]; if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element if ( !match ) { match = tokenize( selector ); } i = match.length; while ( i-- ) { - cached = matcherFromTokens( match[i] ); + cached = matcherFromTokens( match[ i ] ); if ( cached[ expando ] ) { setMatchers.push( cached ); } else { @@ -2620,7 +2812,10 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { } // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); // Save selector and tokenization cached.selector = selector; @@ -2640,7 +2835,7 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { select = Sizzle.select = function( selector, context, results, seed ) { var i, tokens, token, type, find, compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); results = results || []; @@ -2649,11 +2844,12 @@ select = Sizzle.select = function( selector, context, results, seed ) { if ( match.length === 1 ) { // Reduce context if the leading compound selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; if ( !context ) { return results; @@ -2666,20 +2862,22 @@ select = Sizzle.select = function( selector, context, results, seed ) { } // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; while ( i-- ) { - token = tokens[i]; + token = tokens[ i ]; // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { + if ( Expr.relative[ ( type = token.type ) ] ) { break; } - if ( (find = Expr.find[ type ]) ) { + if ( ( find = Expr.find[ type ] ) ) { + // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { // If seed is empty or no tokens remain, we can return early tokens.splice( i, 1 ); @@ -2710,7 +2908,7 @@ select = Sizzle.select = function( selector, context, results, seed ) { // One-time assignments // Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; // Support: Chrome 14-35+ // Always assume duplicates if they aren't passed to the comparison function @@ -2721,58 +2919,59 @@ setDocument(); // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) // Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( el ) { +support.sortDetached = assert( function( el ) { + // Should return 1, but returns 4 (following) - return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; -}); + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); // Support: IE<8 // Prevent attribute/property "interpolation" // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( el ) { +if ( !assert( function( el ) { el.innerHTML = ""; - return el.firstChild.getAttribute("href") === "#" ; -}) ) { + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { addHandle( "type|href|height|width", function( elem, name, isXML ) { if ( !isXML ) { return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); } - }); + } ); } // Support: IE<9 // Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( el ) { +if ( !support.attributes || !assert( function( el ) { el.innerHTML = ""; el.firstChild.setAttribute( "value", "" ); return el.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { return elem.defaultValue; } - }); + } ); } // Support: IE<9 // Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( el ) { - return el.getAttribute("disabled") == null; -}) ) { +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { addHandle( booleans, function( elem, name, isXML ) { var val; if ( !isXML ) { return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? + ( val = elem.getAttributeNode( name ) ) && val.specified ? val.value : - null; + null; } - }); + } ); } return Sizzle; -})( window ); +} )( window ); @@ -3141,7 +3340,7 @@ jQuery.each( { parents: function( elem ) { return dir( elem, "parentNode" ); }, - parentsUntil: function( elem, i, until ) { + parentsUntil: function( elem, _i, until ) { return dir( elem, "parentNode", until ); }, next: function( elem ) { @@ -3156,10 +3355,10 @@ jQuery.each( { prevAll: function( elem ) { return dir( elem, "previousSibling" ); }, - nextUntil: function( elem, i, until ) { + nextUntil: function( elem, _i, until ) { return dir( elem, "nextSibling", until ); }, - prevUntil: function( elem, i, until ) { + prevUntil: function( elem, _i, until ) { return dir( elem, "previousSibling", until ); }, siblings: function( elem ) { @@ -3169,7 +3368,13 @@ jQuery.each( { return siblings( elem.firstChild ); }, contents: function( elem ) { - if ( typeof elem.contentDocument !== "undefined" ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + return elem.contentDocument; } @@ -3512,7 +3717,7 @@ jQuery.extend( { var fns = arguments; return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { + jQuery.each( tuples, function( _i, tuple ) { // Map tuples (progress, done, fail) to arguments (done, fail, progress) var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; @@ -3965,7 +4170,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { // ...except when executing function values } else { bulk = fn; - fn = function( elem, key, value ) { + fn = function( elem, _key, value ) { return bulk.call( jQuery( elem ), value ); }; } @@ -4000,7 +4205,7 @@ var rmsPrefix = /^-ms-/, rdashAlpha = /-([a-z])/g; // Used by camelCase as callback to replace() -function fcamelCase( all, letter ) { +function fcamelCase( _all, letter ) { return letter.toUpperCase(); } @@ -4528,27 +4733,6 @@ var isHiddenWithinTree = function( elem, el ) { jQuery.css( elem, "display" ) === "none"; }; -var swap = function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - function adjustCSS( elem, prop, valueParts, tween ) { @@ -4719,11 +4903,40 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); -// We have to close these tags to support XHTML (#13200) -var wrapMap = { +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; // Support: IE <=9 only - option: [ 1, "" ], + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { // XHTML parsers do not magically insert elements in the // same way that tag soup parsers do. So we cannot shorten @@ -4736,12 +4949,14 @@ var wrapMap = { _default: [ 0, "", "" ] }; -// Support: IE <=9 only -wrapMap.optgroup = wrapMap.option; - wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; wrapMap.th = wrapMap.td; +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + function getAll( context, tag ) { @@ -4874,32 +5089,6 @@ function buildFragment( elems, context, scripts, selection, ignored ) { } -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; -} )(); - - var rkeyEvent = /^key/, rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, @@ -5008,8 +5197,8 @@ jQuery.event = { special, handlers, type, namespaces, origType, elemData = dataPriv.get( elem ); - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { return; } @@ -5033,7 +5222,7 @@ jQuery.event = { // Init the element's event structure and main handler, if this is the first if ( !( events = elemData.events ) ) { - events = elemData.events = {}; + events = elemData.events = Object.create( null ); } if ( !( eventHandle = elemData.handle ) ) { eventHandle = elemData.handle = function( e ) { @@ -5191,12 +5380,15 @@ jQuery.event = { dispatch: function( nativeEvent ) { - // Make a writable jQuery.Event from the native event object - var event = jQuery.event.fix( nativeEvent ); - var i, j, ret, matched, handleObj, handlerQueue, args = new Array( arguments.length ), - handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], special = jQuery.event.special[ event.type ] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event @@ -5771,13 +5963,6 @@ jQuery.fn.extend( { var - /* eslint-disable max-len */ - - // See https://github.com/eslint/eslint/issues/3229 - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, - - /* eslint-enable */ - // Support: IE <=10 - 11, Edge 12 - 13 only // In IE/Edge using regex groups here causes severe slowdowns. // See https://connect.microsoft.com/IE/feedback/details/1736512/ @@ -5814,7 +5999,7 @@ function restoreScript( elem ) { } function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + var i, l, type, pdataOld, udataOld, udataCur, events; if ( dest.nodeType !== 1 ) { return; @@ -5822,13 +6007,11 @@ function cloneCopyEvent( src, dest ) { // 1. Copy private data: events, handlers, etc. if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.access( src ); - pdataCur = dataPriv.set( dest, pdataOld ); + pdataOld = dataPriv.get( src ); events = pdataOld.events; if ( events ) { - delete pdataCur.handle; - pdataCur.events = {}; + dataPriv.remove( dest, "handle events" ); for ( type in events ) { for ( i = 0, l = events[ type ].length; i < l; i++ ) { @@ -5864,7 +6047,7 @@ function fixInput( src, dest ) { function domManip( collection, args, callback, ignored ) { // Flatten any nested arrays - args = concat.apply( [], args ); + args = flat( args ); var fragment, first, scripts, hasScripts, node, doc, i = 0, @@ -5939,7 +6122,7 @@ function domManip( collection, args, callback, ignored ) { if ( jQuery._evalUrl && !node.noModule ) { jQuery._evalUrl( node.src, { nonce: node.nonce || node.getAttribute( "nonce" ) - } ); + }, doc ); } } else { DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); @@ -5976,7 +6159,7 @@ function remove( elem, selector, keepData ) { jQuery.extend( { htmlPrefilter: function( html ) { - return html.replace( rxhtmlTag, "<$1>" ); + return html; }, clone: function( elem, dataAndEvents, deepDataAndEvents ) { @@ -6238,6 +6421,27 @@ var getStyles = function( elem ) { return view.getComputedStyle( elem ); }; +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); @@ -6295,7 +6499,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); } var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, - reliableMarginLeftVal, + reliableTrDimensionsVal, reliableMarginLeftVal, container = document.createElement( "div" ), div = document.createElement( "div" ); @@ -6330,6 +6534,35 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); scrollboxSize: function() { computeStyleTests(); return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px"; + tr.style.height = "1px"; + trChild.style.height = "9px"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = parseInt( trStyle.height ) > 3; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; } } ); } )(); @@ -6454,7 +6687,7 @@ var fontWeight: "400" }; -function setPositiveNumber( elem, value, subtract ) { +function setPositiveNumber( _elem, value, subtract ) { // Any relative (+/-) values have already been // normalized at this point @@ -6559,17 +6792,26 @@ function getWidthOrHeight( elem, dimension, extra ) { } - // Fall back to offsetWidth/offsetHeight when value is "auto" - // This happens for inline elements with no explicit setting (gh-3571) - // Support: Android <=4.1 - 4.3 only - // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) - // Support: IE 9-11 only - // Also use offsetWidth/offsetHeight for when box sizing is unreliable - // We use getClientRects() to check for hidden/disconnected. - // In those cases, the computed value can be trusted to be border-box + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected elem.getClientRects().length ) { isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; @@ -6764,7 +7006,7 @@ jQuery.extend( { } } ); -jQuery.each( [ "height", "width" ], function( i, dimension ) { +jQuery.each( [ "height", "width" ], function( _i, dimension ) { jQuery.cssHooks[ dimension ] = { get: function( elem, computed, extra ) { if ( computed ) { @@ -7537,7 +7779,7 @@ jQuery.fn.extend( { clearQueue = type; type = undefined; } - if ( clearQueue && type !== false ) { + if ( clearQueue ) { this.queue( type || "fx", [] ); } @@ -7620,7 +7862,7 @@ jQuery.fn.extend( { } } ); -jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { var cssFn = jQuery.fn[ name ]; jQuery.fn[ name ] = function( speed, easing, callback ) { return speed == null || typeof speed === "boolean" ? @@ -7841,7 +8083,7 @@ boolHook = { } }; -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { var getter = attrHandle[ name ] || jQuery.find.attr; attrHandle[ name ] = function( elem, name, isXML ) { @@ -8465,7 +8707,9 @@ jQuery.extend( jQuery.event, { special.bindType || type; // jQuery handler - handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + handle = ( + dataPriv.get( cur, "events" ) || Object.create( null ) + )[ event.type ] && dataPriv.get( cur, "handle" ); if ( handle ) { handle.apply( cur, data ); @@ -8576,7 +8820,10 @@ if ( !support.focusin ) { jQuery.event.special[ fix ] = { setup: function() { - var doc = this.ownerDocument || this, + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, attaches = dataPriv.access( doc, fix ); if ( !attaches ) { @@ -8585,7 +8832,7 @@ if ( !support.focusin ) { dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); }, teardown: function() { - var doc = this.ownerDocument || this, + var doc = this.ownerDocument || this.document || this, attaches = dataPriv.access( doc, fix ) - 1; if ( !attaches ) { @@ -8601,7 +8848,7 @@ if ( !support.focusin ) { } var location = window.location; -var nonce = Date.now(); +var nonce = { guid: Date.now() }; var rquery = ( /\?/ ); @@ -8733,7 +8980,7 @@ jQuery.fn.extend( { rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && ( this.checked || !rcheckableType.test( type ) ); } ) - .map( function( i, elem ) { + .map( function( _i, elem ) { var val = jQuery( this ).val(); if ( val == null ) { @@ -9346,7 +9593,8 @@ jQuery.extend( { // Add or update anti-cache param if needed if ( s.cache === false ) { cacheURL = cacheURL.replace( rantiCache, "$1" ); - uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; } // Put hash and anti-cache on the URL that will be requested (gh-1732) @@ -9479,6 +9727,11 @@ jQuery.extend( { response = ajaxHandleResponses( s, jqXHR, responses ); } + // Use a noop converter for missing script + if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) { + s.converters[ "text script" ] = function() {}; + } + // Convert no matter what (that way responseXXX fields are always set) response = ajaxConvert( s, response, jqXHR, isSuccess ); @@ -9569,7 +9822,7 @@ jQuery.extend( { } } ); -jQuery.each( [ "get", "post" ], function( i, method ) { +jQuery.each( [ "get", "post" ], function( _i, method ) { jQuery[ method ] = function( url, data, callback, type ) { // Shift arguments if data argument was omitted @@ -9590,8 +9843,17 @@ jQuery.each( [ "get", "post" ], function( i, method ) { }; } ); +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + -jQuery._evalUrl = function( url, options ) { +jQuery._evalUrl = function( url, options, doc ) { return jQuery.ajax( { url: url, @@ -9609,7 +9871,7 @@ jQuery._evalUrl = function( url, options ) { "text script": function() {} }, dataFilter: function( response ) { - jQuery.globalEval( response, options ); + jQuery.globalEval( response, options, doc ); } } ); }; @@ -9931,7 +10193,7 @@ var oldCallbacks = [], jQuery.ajaxSetup( { jsonp: "callback", jsonpCallback: function() { - var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); this[ callback ] = true; return callback; } @@ -10148,23 +10410,6 @@ jQuery.fn.load = function( url, params, callback ) { -// Attach a bunch of functions for handling common AJAX events -jQuery.each( [ - "ajaxStart", - "ajaxStop", - "ajaxComplete", - "ajaxError", - "ajaxSuccess", - "ajaxSend" -], function( i, type ) { - jQuery.fn[ type ] = function( fn ) { - return this.on( type, fn ); - }; -} ); - - - - jQuery.expr.pseudos.animated = function( elem ) { return jQuery.grep( jQuery.timers, function( fn ) { return elem === fn.elem; @@ -10221,6 +10466,12 @@ jQuery.offset = { options.using.call( elem, props ); } else { + if ( typeof props.top === "number" ) { + props.top += "px"; + } + if ( typeof props.left === "number" ) { + props.left += "px"; + } curElem.css( props ); } } @@ -10371,7 +10622,7 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( // Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 // getComputedStyle returns percent when specified for top/left/bottom/right; // rather than make the css module depend on the offset module, just check for it here -jQuery.each( [ "top", "left" ], function( i, prop ) { +jQuery.each( [ "top", "left" ], function( _i, prop ) { jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, function( elem, computed ) { if ( computed ) { @@ -10434,25 +10685,19 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { } ); -jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + - "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + - "change select submit keydown keypress keyup contextmenu" ).split( " " ), - function( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - return arguments.length > 0 ? - this.on( name, null, data, fn ) : - this.trigger( name ); +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( _i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); }; } ); -jQuery.fn.extend( { - hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - } -} ); - @@ -10474,9 +10719,33 @@ jQuery.fn.extend( { return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); } } ); +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( _i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; + } ); + + + + +// Support: Android <=4.0 only +// Make sure we trim BOM and NBSP +var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + // Bind a function to a context, optionally partially applying any // arguments. // jQuery.proxy is deprecated to promote standards (specifically Function#bind) @@ -10539,6 +10808,11 @@ jQuery.isNumeric = function( obj ) { !isNaN( obj - parseFloat( obj ) ); }; +jQuery.trim = function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); +}; @@ -10587,7 +10861,7 @@ jQuery.noConflict = function( deep ) { // Expose jQuery and $ identifiers, even in AMD // (#7102#comment:10, https://github.com/jquery/jquery/pull/557) // and CommonJS for browser emulators (#13566) -if ( !noGlobal ) { +if ( typeof noGlobal === "undefined" ) { window.jQuery = window.$ = jQuery; } diff --git a/static/rmarkdown-libs/jquery/jquery.min.js b/static/rmarkdown-libs/jquery/jquery.min.js index a1c07fd80..b0614034a 100644 --- a/static/rmarkdown-libs/jquery/jquery.min.js +++ b/static/rmarkdown-libs/jquery/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
        "],col:[2,"","
        "],tr:[2,"","
        "],td:[3,"","
        "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
        ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
        "],col:[2,"","
        "],tr:[2,"","
        "],td:[3,"","
        "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
        ",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","optgroup","tbody","tfoot","colgroup","caption","th","div","buildFragment","scripts","selection","ignored","wrap","attached","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","parseInt","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","hover","fnOver","fnOut","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery-3.4.1.min.js"} \ No newline at end of file +{"version":3,"sources":["jquery-3.5.1.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","flat","array","call","concat","apply","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","support","isFunction","obj","nodeType","isWindow","preservedScriptAttributes","type","src","nonce","noModule","DOMEval","code","node","doc","i","val","script","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","isArrayLike","length","prototype","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","arguments","first","eq","last","even","grep","_elem","odd","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","makeArray","results","inArray","second","invert","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","_i","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","a","b","pop","pushNative","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","nodeName","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","testContext","scope","toSelector","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","input","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery-3.5.1.min.js"} \ No newline at end of file diff --git a/themes/delphi/layouts/shortcodes/apireflink.html b/themes/delphi/layouts/shortcodes/apireflink.html index 8b530ba4c..8f4188841 100644 --- a/themes/delphi/layouts/shortcodes/apireflink.html +++ b/themes/delphi/layouts/shortcodes/apireflink.html @@ -1,4 +1 @@ -{{ .Get 1 }} +{{ .Get 1 }} \ No newline at end of file From 70f6313713647d1e124647a4d2788cbd6fdb01b2 Mon Sep 17 00:00:00 2001 From: Samuel Gratzl Date: Sat, 23 Jan 2021 13:50:29 +0100 Subject: [PATCH 08/21] build: upload the blog files as artifacts --- .github/workflows/ci.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 553f03bdf..885295665 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -55,6 +55,13 @@ jobs: run: | npm run build:blog + - uses: actions/upload-artifact@v2 + with: + name: blog + path: | + ./content/blog + ./static/blog + - uses: actions/setup-node@v1 with: node-version: "12" From 8546976929a4eb1bafe5e1fb21dfb04217ce1e0b Mon Sep 17 00:00:00 2001 From: Samuel Gratzl Date: Tue, 26 Jan 2021 09:54:02 +0100 Subject: [PATCH 09/21] refactor: move files and add white bg --- content/blog/2021-01-15-causal-effect-mobility.Rmd | 4 ++-- content/blog/2021-01-15-causal-effect-mobility.html | 4 ++-- .../causal-effect-mobility-bigstates.svg | 2 +- .../causal-simple-confounder.svg | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) rename static/blog/{images => 2021-01-15-causal-effect-mobility_files}/causal-effect-mobility-bigstates.svg (99%) rename static/blog/{images => 2021-01-15-causal-effect-mobility_files}/causal-simple-confounder.svg (99%) diff --git a/content/blog/2021-01-15-causal-effect-mobility.Rmd b/content/blog/2021-01-15-causal-effect-mobility.Rmd index 38f71bb86..d960963d4 100644 --- a/content/blog/2021-01-15-causal-effect-mobility.Rmd +++ b/content/blog/2021-01-15-causal-effect-mobility.Rmd @@ -159,7 +159,7 @@ age, increasing $A$ would *decrease* $Y$. In this case, age is a confounder and the $g$-formula would correctly recover the negative relationship. For causal inference, this is the correct conclusion. -![](/blog/images/causal-simple-confounder.svg) +![](/blog/2021-01-15-causal-effect-mobility_files/causal-simple-confounder.svg) Things get trickier when there are time varying variables. @@ -505,7 +505,7 @@ stay-at-home decreases deaths, as we would expect. that these results are preliminary.) -![](/blog/images/causal-effect-mobility-bigstates.svg) +![](/blog/2021-01-15-causal-effect-mobility_files/causal-effect-mobility-bigstates.svg) ## What's Next? diff --git a/content/blog/2021-01-15-causal-effect-mobility.html b/content/blog/2021-01-15-causal-effect-mobility.html index 561bdbd70..3ae20f4c8 100644 --- a/content/blog/2021-01-15-causal-effect-mobility.html +++ b/content/blog/2021-01-15-causal-effect-mobility.html @@ -150,7 +150,7 @@

        Causal Inference

        age, increasing \(A\) would decrease \(Y\). In this case, age is a confounder and the \(g\)-formula would correctly recover the negative relationship. For causal inference, this is the correct conclusion.

        -

        +

        Things get trickier when there are time varying variables. Consider weekly mobility and death data @@ -463,7 +463,7 @@

        The Data and the Results

        stay-at-home decreases deaths, as we would expect. (We remind the reader that these results are preliminary.)

        -

        +

        What’s Next?

        diff --git a/static/blog/images/causal-effect-mobility-bigstates.svg b/static/blog/2021-01-15-causal-effect-mobility_files/causal-effect-mobility-bigstates.svg similarity index 99% rename from static/blog/images/causal-effect-mobility-bigstates.svg rename to static/blog/2021-01-15-causal-effect-mobility_files/causal-effect-mobility-bigstates.svg index da8f42919..076486c93 100644 --- a/static/blog/images/causal-effect-mobility-bigstates.svg +++ b/static/blog/2021-01-15-causal-effect-mobility_files/causal-effect-mobility-bigstates.svg @@ -10,7 +10,7 @@ xml:space="preserve" width="672" height="672" - viewBox="0 0 672 672">image/svg+xmlimage/svg+xml Date: Tue, 26 Jan 2021 15:56:32 +0100 Subject: [PATCH 10/21] build: create an gitpod.io configuration --- .gitpod.yml | 10 ++++++++++ README.md | 11 ++++++++--- devops/gitpod.dockerfile | 27 +++++++++++++++++++++++++++ package.json | 2 +- 4 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 .gitpod.yml create mode 100644 devops/gitpod.dockerfile diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 000000000..8add1bf12 --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,10 @@ +image: + file: ./devops/gitpod.dockerfile +tasks: + - init: npm install && RScript -e "blogdown::install_hugo()" + - command: "echo 'run: \"npm start\" or \"npm run start:blog\"'" +ports: + - port: 1313 +vscode: + extensions: + - ikuyadeu.r@1.6.3:SrD06skfmg05hLAerl2aKQ== diff --git a/README.md b/README.md index f6c41eb43..84fade82b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # Delphi Website +[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/cmu-delpih/www-main) + + Delphi's homepage at https://cmu-delphi-main.netlify.app/ This site is based on [Hugo](https://gohugo.io) and uses [Prettier](https://prettier.io) for formatting. @@ -38,9 +41,9 @@ In RMarkdown things are slightly more different since the R Markdown parser is u **Examples** ``` -[Facebook](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey")`) -[previous exploratory investigations](`r blogdown::shortcode_html("ref", "2020-08-26-fb-survey#some-interesting-examples")`) -[public API](`r blogdown::shortcode_html("apiref", "api/covidcast.html")`) +`r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey", "Facebook")` +`r blogdown::shortcode_html("reflink", "2020-08-26-fb-survey#some-interesting-examples", "previous exploratory investigations")` +`r blogdown::shortcode_html("apireflink", "api/covidcast.html", "public API")` ``` @@ -53,6 +56,8 @@ In addition, there in the `/data` directory there are the following listings in ## Development Environment +One click: [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/cmu-delpih/www-main) + ### Web Editor Only 1. Install Node: https://nodejs.org/en/download/ diff --git a/devops/gitpod.dockerfile b/devops/gitpod.dockerfile new file mode 100644 index 000000000..f66107836 --- /dev/null +++ b/devops/gitpod.dockerfile @@ -0,0 +1,27 @@ +# docker image for setting up an R environment +FROM gitpod/workspace-full + +# install miniconda +ENV PATH /opt/conda/bin:$PATH +RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda2-4.7.12-Linux-x86_64.sh -O ~/miniconda.sh && \ + sudo /bin/bash ~/miniconda.sh -b -p /opt/conda && \ + rm ~/miniconda.sh && \ + sudo ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \ + echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \ + echo "conda activate base" >> ~/.bashrc && \ + sudo /opt/conda/bin/conda install --name base --channel conda-forge mamba=* && \ + sudo find /opt/conda/ -follow -type f -name '*.a' -delete && \ + sudo find /opt/conda/ -follow -type f -name '*.js.map' -delete && \ + sudo /opt/conda/bin/conda clean -afy && \ + conda config --prepend envs_dirs $HOME/.conda/envs && \ + conda config --prepend pkgs_dirs $HOME/.conda/pkgs + +ADD ./environment.yml . +RUN mamba env create -f environment.yml + +ADD ./dependencies.R . + +RUN conda run -n www-main Rscript ./dependencies.R + +RUN echo "conda activate www-main" >> ~/.bashrc +ENV PATH /home/gitpod/.conda/envs/www-main/bin:$PATH \ No newline at end of file diff --git a/package.json b/package.json index 6fd0e5cd9..3664f86d1 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "build:blog": "Rscript -e \"blogdown::build_site(local=FALSE, run_hugo=FALSE, build_rmd='md5sum')\"", "build": "hugo --gc --minify", "start": "hugo server -D", - "start:blog": "Rscript -e \"blogdown::serve_site()\"", + "start:blog": "Rscript -e \"blogdown::serve_site(port=1313, browser=FALSE)\"", "format": "prettier *.* \"(.vscode|content|data|themes)/**\" --write", "lint": "prettier *.* \"(.vscode|content|data|themes)/**\" --check", "image": "docker build -t www-main:latest --file ./devops/Dockerfile ." From be33e4fea17d7e431f33196a269ace4ff266896b Mon Sep 17 00:00:00 2001 From: Alex Reinhart Date: Wed, 27 Jan 2021 08:44:58 -0500 Subject: [PATCH 11/21] title case title --- content/blog/2021-01-22-holiday-surveys.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/2021-01-22-holiday-surveys.Rmd b/content/blog/2021-01-22-holiday-surveys.Rmd index 942037c92..97e5beb8f 100644 --- a/content/blog/2021-01-22-holiday-surveys.Rmd +++ b/content/blog/2021-01-22-holiday-surveys.Rmd @@ -1,5 +1,5 @@ --- -title: "Home for the holidays? The impact of US holidays on social behaviors and preventative measures" +title: "Home for the Holidays? The Impact of US Holidays on Social Behaviors and Preventative Measures" author: "Leanna Morinishi, Kris Barkume, Esther Kim, and Alex Reinhart" date: 2021-01-22 tags: From 5fcf3306cb5f7a527154a6ee09b8242032650aec Mon Sep 17 00:00:00 2001 From: Alex Reinhart Date: Thu, 28 Jan 2021 16:49:43 -0500 Subject: [PATCH 12/21] Change survey media contact --- content/covidcast/surveys.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/covidcast/surveys.md b/content/covidcast/surveys.md index 63cd975d1..fcf64e2f6 100644 --- a/content/covidcast/surveys.md +++ b/content/covidcast/surveys.md @@ -69,9 +69,9 @@ Getting access to survey data for research: [complete this form](https://datafor ### Media inquiries: -[Byron Spice](mailto:bspice@cs.cmu.edu) -Director, Media Relations -School of Computer Science +[Stacy Kish](mailto:skish@andrew.cmu.edu) +Associate Director, Research Communications +Dietrich College Carnegie Mellon University ### All other questions: From 4d703259cfb3c426f4b1504b24b74b0987ee2342 Mon Sep 17 00:00:00 2001 From: Helen Date: Thu, 28 Jan 2021 20:47:35 -0500 Subject: [PATCH 13/21] correction to table heading --- content/blog/2021-01-21-unpack-cfr.Rmd | 2 +- content/blog/2021-01-21-unpack-cfr.html | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/content/blog/2021-01-21-unpack-cfr.Rmd b/content/blog/2021-01-21-unpack-cfr.Rmd index fe659e129..57d8b6591 100644 --- a/content/blog/2021-01-21-unpack-cfr.Rmd +++ b/content/blog/2021-01-21-unpack-cfr.Rmd @@ -344,7 +344,7 @@ td {font-size: 13px}
        |||Florida|||National|| |:-:|:-:|:-:|:-:|:-:|:-:|:-:| -| **Age group** | **2020-04-01** | **2020-11-01** | **04-01 to 11-01** | **2020-04-01** | **2020-11-01** | **04-01 to 11-01** | +| **Age group** | **2020-04-01** | **2020-12-01** | **04-01 to 12-01** | **2020-04-01** | **2020-12-01** | **04-01 to 12-01** | | aggregate | 0.23 (0.2, 0.27) | 0.16 (0.12, 0.19) | -0.33 (-0.52, -0.094) | 0.34 (0.32, 0.35) | 0.13 (0.11, 0.15) | -0.61 (-0.67, -0.56) | | 20-29 | \- | \- | \- | 0.025 (0.019, 0.03) | 0.0066 (0.0014, 0.012) | -0.73 (-0.95, -0.43) | | 30-39 | \- | \- | \- | 0.049 (0.045, 0.054) | 0.019 (0.014, 0.025) | -0.61 (-0.72, -0.48) | diff --git a/content/blog/2021-01-21-unpack-cfr.html b/content/blog/2021-01-21-unpack-cfr.html index 9dc66b905..5cab7fd20 100644 --- a/content/blog/2021-01-21-unpack-cfr.html +++ b/content/blog/2021-01-21-unpack-cfr.html @@ -471,11 +471,11 @@

        Age-Stratified HFR

        Age group 2020-04-01 -2020-11-01 -04-01 to 11-01 +2020-12-01 +04-01 to 12-01 2020-04-01 -2020-11-01 -04-01 to 11-01 +2020-12-01 +04-01 to 12-01 aggregate From a1a6af2a8b1bb40281cfd1ddd97608b66d4559f4 Mon Sep 17 00:00:00 2001 From: Alex Reinhart Date: Fri, 29 Jan 2021 13:44:26 -0500 Subject: [PATCH 14/21] Fix US region plot rendering --- content/blog/2021-01-22-holiday-surveys.Rmd | 16 +- content/blog/2021-01-22-holiday-surveys.html | 22 +- .../figure-html/traveled-recently-1.svg | 1466 ++++++++--------- 3 files changed, 740 insertions(+), 764 deletions(-) diff --git a/content/blog/2021-01-22-holiday-surveys.Rmd b/content/blog/2021-01-22-holiday-surveys.Rmd index 7554a6878..b47346e7e 100644 --- a/content/blog/2021-01-22-holiday-surveys.Rmd +++ b/content/blog/2021-01-22-holiday-surveys.Rmd @@ -67,7 +67,7 @@ from airlines suggested that travel reached its highest levels since the start of the pandemic during the Christmas holiday with about 1% of the US population taking flights in just the few days surrounding the holiday. -```{r traveled-recently, message=FALSE, fig.width=10, out.extra = 'class="wide-figure"'} +```{r traveled-recently, message=FALSE, fig.width=9, out.extra = 'class="wide-figure"'} library(covidcast) library(ggplot2) library(stringr) @@ -105,8 +105,8 @@ travel_normed <- travel %>% regionmap <- travel %>% filter(geo_value %in% str_to_lower(statelist)) %>% - mutate(value=plyr::mapvalues(geo_value, str_to_lower(statelist), regions), - value=as.integer(factor(value))) + mutate(value = plyr::mapvalues(geo_value, str_to_lower(statelist), regions), + value = as.integer(factor(value))) grid_label <- textGrob("Data from Delphi COVIDcast, delphi.cmu.edu", hjust = 1, x = 1, gp = gpar(fontsize = 9)) @@ -119,7 +119,7 @@ g1 <- travel_normed %>% linetype = "dashed", size = 1.5, color = "darkgrey") + geom_line(aes(x = date, y = mean, color = Region)) + geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region), - alpha=0.2) + + alpha = 0.2) + scale_x_date(date_breaks = "2 weeks", date_labels = "%b %d %Y", date_minor_breaks = "1 week") + @@ -127,12 +127,14 @@ g1 <- travel_normed %>% title = "Relative out-of-state travel by US region", subtitle = "From Delphi's surveys, conducted through Facebook") + theme_bw() + - theme(legend.position = c(.075, .9)) + + theme(legend.position = c(0.095, 0.8)) + guides(color = FALSE) g2 <- plot(regionmap, - title = "US Regions", range = c(1, 4), - choro_col = c("#F8766D", "#7CAE00", "#00BFC4", "#C77CFF")) + title = "US Regions", + choro_col = c("#F8766D", "#7CAE00", "#00BFC4", "#C77CFF"), + choro_params = list(breaks = c(1, 2, 3, 4))) + + theme(legend.position = "none") lay <- rbind(c(1,1,1,2), c(1,1,1,2)) diff --git a/content/blog/2021-01-22-holiday-surveys.html b/content/blog/2021-01-22-holiday-surveys.html index b046ec761..c050bacc7 100644 --- a/content/blog/2021-01-22-holiday-surveys.html +++ b/content/blog/2021-01-22-holiday-surveys.html @@ -1,5 +1,5 @@ --- -title: "Home for the holidays? The impact of US holidays on social behaviors and preventative measures" +title: "Home for the Holidays? The Impact of US Holidays on Social Behaviors and Preventative Measures" author: "Leanna Morinishi, Kris Barkume, Esther Kim, and Alex Reinhart" date: 2021-01-22 tags: @@ -29,7 +29,8 @@ toc: true --- - + +
          @@ -111,8 +112,8 @@

          Travel and Other Social Behaviors During US Holidays

          regionmap <- travel %>% filter(geo_value %in% str_to_lower(statelist)) %>% - mutate(value=plyr::mapvalues(geo_value, str_to_lower(statelist), regions), - value=as.integer(factor(value))) + mutate(value = plyr::mapvalues(geo_value, str_to_lower(statelist), regions), + value = as.integer(factor(value))) grid_label <- textGrob("Data from Delphi COVIDcast, delphi.cmu.edu", hjust = 1, x = 1, gp = gpar(fontsize = 9)) @@ -125,7 +126,7 @@

          Travel and Other Social Behaviors During US Holidays

          linetype = "dashed", size = 1.5, color = "darkgrey") + geom_line(aes(x = date, y = mean, color = Region)) + geom_ribbon(aes(x = date, ymin = mean - se, ymax = mean + se, fill = Region), - alpha=0.2) + + alpha = 0.2) + scale_x_date(date_breaks = "2 weeks", date_labels = "%b %d %Y", date_minor_breaks = "1 week") + @@ -133,17 +134,20 @@

          Travel and Other Social Behaviors During US Holidays

          title = "Relative out-of-state travel by US region", subtitle = "From Delphi's surveys, conducted through Facebook") + theme_bw() + - theme(legend.position = c(.075, .9)) + + theme(legend.position = c(0.095, 0.8)) + guides(color = FALSE) g2 <- plot(regionmap, - title = "US Regions", range = c(1, 4), - choro_col = c("#F8766D", "#7CAE00", "#00BFC4", "#C77CFF")) + title = "US Regions", + choro_col = c("#F8766D", "#7CAE00", "#00BFC4", "#C77CFF"), + choro_params = list(breaks = c(1, 2, 3, 4), + legend_position = "none")) + + theme(legend.position = "none") lay <- rbind(c(1,1,1,2), c(1,1,1,2)) grid.arrange(g1, g2, nrow = 1, bottom = grid_label, layout_matrix=lay) -

          +

          In the COVID-19 survey, we see an increase in self-reported out-of-state travel in this time frame by surveyed adults. The figure above depicts the normalized percent of survey respondents who recently traveled out-of-state for 4 US diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg index aa13c1ace..dcd3b6017 100644 --- a/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg @@ -1,5 +1,5 @@ - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + -25 -30 -35 -40 - - - - - - - - -Nov 16 2020 -Nov 30 2020 -Dec 14 2020 -Dec 28 2020 -Date -% Spent time with non-household member in past 24h - -Region - - - - - - - - -Midwest -Northeast -South -West -Data from Delphi COVIDcast, delphi.cmu.edu -Percent surveyed that spent time with a non-household member by US region +25 +30 +35 +40 + + + + + + + + +Nov 16 2020 +Nov 30 2020 +Dec 14 2020 +Dec 28 2020 +Date +% spent time with non-household member in past 24h + +Region + + + + + + + + +Midwest +Northeast +South +West +7-day rolling average +Percent surveyed that spent time with a non-household member +Data from Delphi COVIDcast, delphi.cmu.edu diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg index 7cae946ca..19cfb9c76 100644 --- a/static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg @@ -1,5 +1,5 @@ - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + --20 -0 -20 - - - - - - - -Nov 16 2020 -Nov 30 2020 -Dec 14 2020 -Dec 28 2020 -Date -% Tested in past 14 days - -Region - - - - - - - - -Midwest -Northeast -South -West -Data from Delphi COVIDcast, delphi.cmu.edu -Percent surveyed that were tested recently by US region +-20 +0 +20 + + + + + + + +Nov 16 2020 +Nov 30 2020 +Dec 14 2020 +Dec 28 2020 +Date +% tested in past 14 days + +Region + + + + + + + + +Midwest +Northeast +South +West +7-day rolling average +Percent surveyed that were tested recently +Data from Delphi COVIDcast, delphi.cmu.edu diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg index dcd3b6017..ff50fa6bc 100644 --- a/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg @@ -84,7 +84,7 @@ Dec 14 2020 Dec 28 2020 Date -% Out-of-state travel in last 5 days +% traveled out-of-state in last 5 days Region diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg index 2e4b5e382..bf397d724 100644 --- a/static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg @@ -1,5 +1,5 @@ - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + -48 -51 -54 -57 -60 - - - - - - - - - -Nov 16 2020 -Nov 30 2020 -Dec 14 2020 -Dec 28 2020 -Date -% Went shopping in past 24h - -Region - - - - - - - - -Midwest -Northeast -South -West -Data from Delphi COVIDcast, delphi.cmu.edu -Percent surveyed that went shopping recently by US region +48 +51 +54 +57 +60 + + + + + + + + + +Nov 16 2020 +Nov 30 2020 +Dec 14 2020 +Dec 28 2020 +Date +% Went shopping in past 24h + +Region + + + + + + + + +Midwest +Northeast +South +West +7-day rolling average +Percent surveyed that went shopping recently +Data from Delphi COVIDcast, delphi.cmu.edu diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg index 53f64188f..de7c2a27e 100644 --- a/static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg @@ -1,5 +1,5 @@ - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + -80 -85 -90 -95 - - - - - - - - -Nov 16 2020 -Nov 30 2020 -Dec 14 2020 -Dec 28 2020 -Date -% Wore a mask in public in past 5 days - -Region - - - - - - - - -Midwest -Northeast -South -West -Data from Delphi COVIDcast, delphi.cmu.edu -Percent surveyed that wore a mask in public by US region +80 +85 +90 +95 + + + + + + + + +Nov 16 2020 +Nov 30 2020 +Dec 14 2020 +Dec 28 2020 +Date +% wore a mask in public in past 5 days + +Region + + + + + + + + +Midwest +Northeast +South +West +7-day rolling average +Percent surveyed who reported wearing a mask in public +Data from Delphi COVIDcast, delphi.cmu.edu From 365877b3119e03f7e64d4c89f0d6b52935cbb3b9 Mon Sep 17 00:00:00 2001 From: Alex Reinhart Date: Tue, 2 Feb 2021 11:06:05 -0500 Subject: [PATCH 16/21] Update date to today --- content/blog/2021-01-22-holiday-surveys.Rmd | 2 +- content/blog/2021-01-22-holiday-surveys.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/blog/2021-01-22-holiday-surveys.Rmd b/content/blog/2021-01-22-holiday-surveys.Rmd index 42eb9309e..4f0ec7cc6 100644 --- a/content/blog/2021-01-22-holiday-surveys.Rmd +++ b/content/blog/2021-01-22-holiday-surveys.Rmd @@ -1,7 +1,7 @@ --- title: "Home for the Holidays? The Impact of US Holidays on Social Behaviors and Preventative Measures" author: "Leanna Morinishi, Kris Barkume, Esther Kim, and Alex Reinhart" -date: 2021-01-22 +date: 2021-02-02 tags: - COVIDcast - symptom surveys diff --git a/content/blog/2021-01-22-holiday-surveys.html b/content/blog/2021-01-22-holiday-surveys.html index e95045f6d..0b3539fa2 100644 --- a/content/blog/2021-01-22-holiday-surveys.html +++ b/content/blog/2021-01-22-holiday-surveys.html @@ -1,7 +1,7 @@ --- title: "Home for the Holidays? The Impact of US Holidays on Social Behaviors and Preventative Measures" author: "Leanna Morinishi, Kris Barkume, Esther Kim, and Alex Reinhart" -date: 2021-01-22 +date: 2021-02-02 tags: - COVIDcast - symptom surveys From aa71c95d18884169ca20799932f77fe17c76b7d9 Mon Sep 17 00:00:00 2001 From: Alex Reinhart Date: Tue, 2 Feb 2021 11:09:34 -0500 Subject: [PATCH 17/21] List vaccies post as related --- content/blog/2021-01-22-holiday-surveys.Rmd | 1 + content/blog/2021-01-22-holiday-surveys.html | 1 + 2 files changed, 2 insertions(+) diff --git a/content/blog/2021-01-22-holiday-surveys.Rmd b/content/blog/2021-01-22-holiday-surveys.Rmd index 4f0ec7cc6..3bdd6e151 100644 --- a/content/blog/2021-01-22-holiday-surveys.Rmd +++ b/content/blog/2021-01-22-holiday-surveys.Rmd @@ -17,6 +17,7 @@ authors: - ekim - alex related: + - 2021-01-28-survey-vaccines - 2020-12-10-masks-public - 2020-10-06-survey-wave-4 acknowledgements: | diff --git a/content/blog/2021-01-22-holiday-surveys.html b/content/blog/2021-01-22-holiday-surveys.html index 0b3539fa2..e5306acba 100644 --- a/content/blog/2021-01-22-holiday-surveys.html +++ b/content/blog/2021-01-22-holiday-surveys.html @@ -17,6 +17,7 @@ - ekim - alex related: + - 2021-01-28-survey-vaccines - 2020-12-10-masks-public - 2020-10-06-survey-wave-4 acknowledgements: | From d903a5cf0ea3a5ccb738f289d35ef2bac8535115 Mon Sep 17 00:00:00 2001 From: Chris Scott Date: Wed, 3 Feb 2021 09:57:52 -0500 Subject: [PATCH 18/21] Add holiday blog post hero images --- content/blog/2021-01-22-holiday-surveys.Rmd | 4 ++-- static/blog/images/holiday-gathering-small.jpg | Bin 0 -> 24242 bytes .../blog/images/holiday-gathering-small.webp | Bin 0 -> 21288 bytes static/blog/images/holiday-gathering.jpg | Bin 0 -> 136480 bytes static/blog/images/holiday-gathering.webp | Bin 0 -> 114166 bytes 5 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 static/blog/images/holiday-gathering-small.jpg create mode 100644 static/blog/images/holiday-gathering-small.webp create mode 100644 static/blog/images/holiday-gathering.jpg create mode 100644 static/blog/images/holiday-gathering.webp diff --git a/content/blog/2021-01-22-holiday-surveys.Rmd b/content/blog/2021-01-22-holiday-surveys.Rmd index 3bdd6e151..2ed398a0f 100644 --- a/content/blog/2021-01-22-holiday-surveys.Rmd +++ b/content/blog/2021-01-22-holiday-surveys.Rmd @@ -9,8 +9,8 @@ tags: summary: | How did Thanksgiving and Christmas affect travel, social, and preventative behaviors in the USA during the COVID-19 pandemic? -heroImage: /blog/images/blog-lg-img_hello-world.jpg -heroImageThumb: /blog/images/blog-thumb-img_hello-world.jpg +heroImage: /blog/images/holiday-gathering.jpg +heroImageThumb: /blog/images/holiday-gathering-small.jpg authors: - lmorinishi - kbarkume diff --git a/static/blog/images/holiday-gathering-small.jpg b/static/blog/images/holiday-gathering-small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a8e307d26a46f9e1e06f6bacca06074ecb8f440 GIT binary patch literal 24242 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 literal 0 HcmV?d00001 diff --git a/static/blog/images/holiday-gathering-small.webp b/static/blog/images/holiday-gathering-small.webp new file mode 100644 index 0000000000000000000000000000000000000000..11af03bf7f83d4ed2800b38c969bb8a14c91c963 GIT binary patch literal 21288 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 j(3Lt_G9$~pvld?=!6+}$z66L4DRi4{I literal 0 HcmV?d00001 diff --git a/static/blog/images/holiday-gathering.jpg b/static/blog/images/holiday-gathering.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3b4339f35d322047e7b7dcae1c1a0737852cc309 GIT binary patch literal 136480 zcmb4qWl$Vl6YehVvbeh~lHi`;VHXxz+=E*dhoA|rA-KD=8F0Kk_G@NWem4?smh`JcWB+KZxN zp`)Xrq2pj;VqoFn;Njuo;Ns#FfQax3hzW3UiO7kFNl3}a$nXd$D9K4FL8N4)|1$za zeYpk=9UC1Tn-m`xpY;D*{&fS0v4AaT?@@uw02E>%Dlzb1KY$(p0AQg0FWmntC@&FW zU;=O=q_3K|+JIvOTA#!Cd~Kp+Y#01cfO1H{CSDXWP^!fftJDiD-F#v)fx z*K>(22%p{}XSHw(zM>G4Ph@j1tY;V2(zc{j2uYgheKAP;a$8=E{67xSUM!+x05Gv$ zM&A$vfT;gFL`T7R@$;gdX1WsKkJ`fa`8&oRV7&iUaI-oj3+v2{g%7ilGmaoUa|xq$ zGQMqa+f4_XG|xy>qCnNhrP3(h`CeP+0vXYbF?6#0PG4PriMzu7PVJ2N6r))?Xupm# zb$S-_`X|++Q<8L;X@7c6y-`BR_{S(7Xn{}sAt&RpJN^eJq03{HIMk=N76d%PMp=ad zE7jAfVX*J(#gY{%RwW#6C_2~22r^yVG~;lVGML!)9(=YS;I{)@JH?H8`4EA7m_B?e z-cN1Zht@*;W+m|0Zy?Ng)!20Rq^9|c5`c{L%Omo?k7}9+}%pdvB1Y%jD z!B;1gGtogDhUSZ;iA}v(8YVOO8XlrJ5*K4M{ev`?5^+RzN#4QblqO0D1Xu4YQ$rST zh;UI1l>eoQ$2+e2;>elQSaM8(hIsPG(RWR$C8qDxEI0{T&KLQ&s`z)_nvJntbxPm| zsJ4(aqQmsB*k)0B9L6@zf4aVI$y|ZFc%_*;J=5=@H93JTyB@5kcrpwo5hUrEVfr~~*=52v z7VwjyjP#+B(*6gJT}(;0Xbt0E)Rq*?2P#Jy5=Lr~QTH|iY|=?vXY;yq&s5u=m|!}N z`VOHx4Xw^qp1`@Xmhtq^hh)-9w454`MOT`>bZ%VHI11P{8{8sR%|cU_}lZRN+1yR&CL3 ztk0K%Fz*?z|0kZKc%1PDq-Ne>E3NEio~FkoP?~I{)5Ey5%u+8rG61sIG4MG^5L&LU z-zImrhRZPDA5r&d-HKG^E;rM%IhiOboWq7g41ZCnQ7+nGSY2H<>0XG+wAO$UcU)8I zX9r^!aa=`Ihg?ZOD%^7OvbzkyV-(8j_d>TE*<9Ow(I2DIGaN+W6@(=J0ItFIfG0}+ z^AD`EO6p9f9kp?P2ru3ob*?#LUpKre&pY3xRDhkBc!tfZV7reYynW^?vx*W(+e;sf zml=?e&(A4&o?r+|TDHJ+c(jDS`LPbVgWDkI6t2woW6i0*K^`b37@CO`E*e>sAF>$B z&1OhPIND1_^0POz6EdHAsY-6T{_adtu80LTIf(*^>ffbh1j}_8hc(XN!J}n27?McI|CW~aqcAa^^K}`BB4#N?m6StjoTAy zYHrJb$l$rkIG80w6CQSVGec*!Qqt4c)J(g1m+Iu-if@jii*PhHyd(0Z6Zg8kj#P%D zq_XvG(HL#v(s&)IE#m?^yIdCNM|gOg176{*xNGp5@4q<=8rKpY9%xoJIhR-_73FtN z23q(~Iv`dmj$7W;R)cQ=9ukI(yzs{1dA>EHmyE66u|5Hs|0X|b5Dfz*A(5mp?et9>)GG6>Uc|%vk#e zkg3bES}*7v_HStk6F<$ln;{;}JLuqqG!|a<32P7|SFc%MXxvr?*wnY7%6ck~y+3c| z_+Md1L({7iTr>#I9HC13te(GjuRw<-4#gUcOARS+`G8v zcZ8~Z8B+4~>G{Vp`4La36k{S#q?N^WftH3n%zR$@@(0H^BU8ms>)&$;F zuO`SfYb%|QY8{7m#4f^(J33(1-!tIsl%#-twmHfBECf{k;|f2G@tL=tlCOg`7S7l& z8WS|aFZwcf=VuLgB3XtD zJ3Pe_#g!dH@qqjK<{eZMZ6AAD+QHEfa<3moeBSQN10TLwMc}(+g$Bf3J_$>y-E^9f zpkWfF)Gwr2C zHB5!q+&~=i<}`d?2kP90hL7S`Tf(_f-kj~$E`?iVIp|s=(JSV8q)Nsjv?Ht57Tl!F zCGNK0+BgHN0cb2tFa0(Nt_W*v=7=gO&eWL4!fiZrJS!HS^JBl#if94VDfLk%M2F$H znobKVry4-l^_!4m2`vC3vg*LP+UUoCC@q!PGXhcC=bXozX~~_V3G&81Q!t^7J!~8j zQlQ!<`$wVTnZ~WPL14CoHnm)(U>C{9R#kyR&iK27$7de<=d>SQ|FTqRNraDO#aeAJ z9~tj*QrN@Sgur9UV5iKwciBl72AR;{84%(^Kf4*t@UHW3QONF^97%E+|3e7f`0`t7 z3;S$-!`|z8@!=@UbZpfi7bK8LuU_{4U3@d=&hbaQI-%83^ES(7!@#k2pnGYlwEBaC z$vjE(IjYq6E%S;Ygz}#M_{c&2N#a+oO$JSDnp2Cx)7yTCDfyL6LL`Tss)d9fXF%Ce z5-XZiN<;BEJReIF)6&lV; zdv1CXwaC4P0L^h)?;T7m-U}MEP5q@)w^b)MCBY$wga7r;neunHC@Z8wNkdYLG9&Iu ze&~OXD(^Qq0meYb$H8~5d3DA2*s~FfOi{)Bj-CcguMgvuA*rTmN zmOqHKmK4U1n|P`hgW@juI8$gq9-Z?ap7wx}rrZ7qUZJ!QLc4=> zdX5YQe>VA|I{RU_5iP-ZNu(r+-+xzA0SVrIeN{f%11j5irA)|nSiI_*K%88%=N>FM zV^{@dal6jj7 zN>fi#Br?hq+H&GUsy!180hH4?#Jl6mQV=y7DSbc~N-KbXL_}xg9CNo828saNz zI7Vi31{<6065~cRlmBRcC#)2VZF(0Azw%RTImGQw(84eeTri%%u6kT&dl>m@4CQW)=;P$QQ+(>uYyQ>;Db zMak9Kc|{F=IadOa&5C2L-OwOD1NP*m06gl1v@HzY?^*JGGM=@wW}FiDvOsHr{#DpF zSCl;2gvzdn5<3A4CB>#?sDKD>E6TA5Hia~rBDomlrZJY`G2-)2;!cFBK0n4~47F#-@_*Z(9vGb+u-K;?^%ovsd~czw&Q`pL`Gd?B7RoFt>qh3A!>LjbvM9V#t0BiH(@W1$hsvx^&g zP_q~cMy;LNrh7zUCJOI``vl3zKfoAgZ^U5uJ_+>jv5V;HI(g8)=anXvDzI61Gzd{% z@III{$pVkMs`Vq2aeiqxyj!#0x1U83Ozf({TAo%=?z~5%feo+E?n{W}^k?dE zGh$3wJ@)DS(kFdWyUwaFh_9l3B>gmA4V{n~1reT-iS0k81wf*aj)k#%HJepM#R;bb zv^rkR9{?Q;Jm1RGHAFR)m1)i`yj{p%bDESPt|Fq*slJH)o(1s`T_+NI7Qf1q!wTA6 z)(pQ>9LbfS!fjXT(VOq!GVTM-{fQnRFMwDSPJe>@I?}1nNbPCz8VSUO-L$lXm$4he zQB8{_18RSB<4kLt%3+0-u1WCD zoon~26xI_ul`nPg2(K^zJuRQ&dhI0?Zb1gT6S^~(ujc3&ZH+>icgfb|1!BLMzvm?# zTSrgO9<3Bm`*OnGO@kGd1sBIAuy;;O+O%?%?|ds>aa^mPgd7*-xy(pK46rpP^3cL= zM1B)}k$P3u%k$%uHh73#@%qhcOG*MoDC&|~=gm5<(`;BZU}IXr&f2vL`nLDffGM<2 z%M&L@Ji01SR-wOW_=op&t-iV<>3aWd#Ke@&S1Miaz}8$+EpYM|o>txODmrAI*s*@S zanzBrm*>v@E4WyuVgc-nUxv6Xc-@ak_;BA7(7lZ-&e~?p{w-!Wda=lvl43LBX7(z2 z@tJ{7FZzi4D1)n#G74n@(+qdthbxx$sg9~KY;s>EJETC8xJ<0!0qxL_R7~(gR?kBk zV0t zKGdT0;g=KExTBfMx}=?6pD<1L+}CKRgzW%)P%<-B&F?(NQ?Uo*AK+tmznZ#%a5E@zvMTC;;1< zN5lk)OO12PLt$7ra^BEdq)03M&Pzw@bK3`y2Wy~uH;VZn#a2|?1WUlQy6X+=FYe(E z#21|FUX-Jlk>r&;{hQJS;f5+pldx{QYbkLa+#}QDh?b_!r15uR&3y;nuzu)1aYm&U z_jl5?|8j;Or3M3dw(EoCbj-^+z(Eu^(4b{z^!}_9yC1F_=*V=~@k>(u@>jAcrp`=v z(IqV)Ey+1gWA zJvjuF6q4KnI?btj5WOkEDaA|0F~qx;r4QfCXX)5Lg3Dm-wfhNs$LBp%SJIc1L*=Ww@5J4MsI@%Gi4 z_>=fAbMbpl2COS3`kt2O1f%{3AIge2)-BIvl^QhW_o3MZ3MDdum7qi{kvcRIJRO5S zz9qiCPKK~H|AxK^iPa+3WPvb{97wGgAoHLY`P$E(;ct1!vq^z=IANNXmB? z*ce~p9rXk1SnK-2B2Sy?svZuuGT!L0R&&b??d4AzSPDd1Fcyi8 z&3`$Rf~rP!4(rcnE8rvC7S=&2u$-DV4?fFd{#N~hO?tB`F*mb4N^7~>?&2P|s`_^y zBeR)HbiEZ#@^Xr`e&t;p3!%Ni#q~$y!qtV#4Fr=4vnb^B>#~V9hYpMz7ppIFWapKu zbZX`XIC%caNHq4GFJDdJOoaSqr%|KQ=lBP}2 zM^{@wj>H`ISX{lDb-0Pw~i5Z`Ra|Va-??}GFK}C9-5e3 z6c|4*uQ(L5%UU;7pfx6Q$K*pyawOv6bgtXm$UTLn1C3`_{$=8>t!|^v*BTvo-#+ab zPO5=zoXiKxk&cGRC3H@Zx&9O!Nbj&(UJJ`r#Qp2`0f$jFH15BWy*S~t<#o(|R5KH& zAR_9&!aR-P;SEH*b8HBqgtdOt|Hw38MVj>z-Il84Rt2$RV5_qk(0@fZ1`J|R%UlK( znE&Z)R8cuTc8hwN*1k4JZedIIl-+aR{M~Gz>!)ewzB$5^K+0)CsY;FLlo`Cg9-OXx zMH)*F^5|5~k?I{qSudpVs40SWtXV@GjnU~%yuMNw#$8n5{@3u#Eb%kqP0VQh%6r=; zB(>QV<&SMz3|EfkK;)1Qs9K@}bL&rKrxhria7mFxU_@el_AHap{Zg1owo^#a( zdx`|hJ5RocSI;g54=5Um`{wTo*?tC&{c88uGXx#nm$;-^wAMyP@<(~o6C>M9t+2%M zv&%n#a%o$}KD{Rw+`Ty2Nahu#%zwXr65^Bp_!t>;sha$Y4XoKvoVYin(X^baDP*C! zC9Xa}5ns|##zob%%t2tT%3#tno6<_%uC1!YbFnbBYVTlUPeCuD3#?l|;z;8iyT@?7 zOW}|!HvghKUi56nns7V4=C+ySEL)%mP0a5IThjk5LA)9EZq23i`1PY$tkqUaXhE&gXuQct zt#Yx|1*;NG?fA5uyYP|<-oP{s3XhV0))mbbj46rG-{+PGt}rt8;D&K_2SY;xt7g7h z*-Mg|?f>2o69cl6HT)XvbWOqW*@fDi8&EBF>laLdu}0?3=&W z6ICdnrq<(4`SX6?gUi+eJrHH#=u-l)U#t!JwM>g&FW1YdxYRApxN$I@yp~=@E|Z-h zyNVP#Dk}I^OfhlveYHx{F0gBGk90z^Wy~L&7X4b>wtP{Nb_Qd$3G(K>7>QHoGq|m0 zYXGM5diF!h;gD`VNmFgpN2i(B@#HM^~?nY=aM9>gsCzIGx<`G7)= zW}63-faPi-*sL^o_x1g_i#j~Ae`I;cf#i!@8`3`Z^BDt*d7iLn-R)lJ~1kDx^QcF%&^tp z9?VL>k84tXLEaQS%DT^XJ{ZqB0t9xP#FH|%!)&eMA>vne=f;u)b0xIu{XLS{_n+@6 znUnqjSkoy;b@C$9!%S?AH~#(AQx(xk@7U^ zxJS%hvcd(M;Zs-kPEEA}ZmO-Z=stSW6zK+hhkCmCD+zi31I*cZUiRdzV8WsT^1Vce z5>0hYAk7|u{@o${SriPqvA#ecx!l`EQaY~ZUGsq&lFxREld^U_F|;(QqOOfe)F9QY z03+W&Sd-T89pJxEXQ;v%uGBlSr;8{h2>|52#=3-a0qC}tn!WAbYYZ} zV*Bq_qV$)g4e2TTbE1?b1>Y;7Kwq>T~s&ig{4 z`~%P2A-gY6sIJ4|(4b>V?~zH4zwZy?jH~XYEQpFk$$ZdVdWeLFsSq~AUR*d&R>>W1 z{R5zLn{fPL8~XXp=-J^p>b33Nubqx*j=#;JkpheV?f57)w}i|fjn-6bYl;=n6FvuL zOQ>Hf%sblGK)`UArjp*(yBbvANRhd0k7l};XS#b`W6;1p@Ubdt{sW*Cx$IY!L0+^K%n zeRE1gD^_jHa$d*nYo4M1WZ#}X_=-W@=my`^_25?9S7~ zZmj2VOh4Kx_YGfcJb$%PsoOYf2~iBeJ7330^q+%wul@3jNDS`e&iI5LoF@h?)y+C` z#B$MkkAl_M`qkyD6_UIwFxS<8kR-9hPiCC9x4N@UuHoU^f39$V<8>VcYfe6S zU1N<`-SVZoL%oM&f-3@nrH5XdVvO&0ON7LtptsdRXEk2_xp>sUCDZoj7;}OJtUW)XRNlOU{(_SwB-4p3kT$ISH|^)>UhwB{A?6Fsc6dJaumT#|{9+q| z{PfdqK7Tr!1TU;gKf!}uk7oT@SE4`DEc7=PBSuNDbN6o(OreMM5ERp5xZCGO z0{RUn!R2e^5cCw$`75s>+x*(Iw)2#i@&em~{T^T@-x4A2X@Jrl44{szjD=}RS;aqf(^4Y7wO7cOD)PPU|Xl&tv46{@~UUS3-tNeoDXknk;_e}+H& z1H@K%c$QD7@M^&x=y*brxq50w0r%mb&zgh+d~*7=Dlt!^QiAR&MZ;GGY8E&>E(fId zINIx6AtPD8TSbVS;bH{+Nv6|ANRd9sylg!HbzG@C;Igi#i92_@_f&K)5i>(m0+s`v zc6l{~o1&(!TPN+z_^4)Gg3q^d?%nBRF~0eU{HL4FjSiU1V6p&(Y`sxvJDRQyR)xL$ z!QF?>a{+qJzV(a>D^7<&5e)VXAH#Pn(+{P!h-l4!N|Xw)XAdCV_&}r}M7ohRcit-F zLrK}vIf?e%j`#CI)}K5N$t+&)wLSv!Tt509nU)YyZuqv2u7fg==VXElokQ{D!vEt# zznbfSsK$G<-V%COo`DwoY+-IlWvg~-j$na7$=+A%Mo0a;ytKh&s8>Zdr$>n%>{I|` zIa$f(sd}Csm-SZaxzb3PdMR^(CMYcx`ZiL`fW@>j>V8e%6EeJYL}MF9`o{whL6JXI zZpscyax9k$&rJ0w|I)iXWwkR4;=5NLQf+8AV~I^pB$T%3oEL1su$ZQ@SyPzpgAgMP zIFQO;q=XVCQrPB?KcGSSACnrscljbPgx_ojN7`G<8rnC!yCOM>lIRiW?3w${JU6qP z;iNO0LYPcj!BW`T%hbEf_~kl1Xomzum@;$o^W|1F%~*+ST>adnGx3|K)!;JKS3e=bE8c-R^`i!;638M zT79&$S+P~l`4ii#&S{=)HSV-ljv-akeld=tZ=&gI$l>EbS})UHLaDo|9|I5;k@ z)o}(r*uQ)3UL2tm?@y{A*JR&fmm1?uDyMl@Emqa>MHud810w+qr@5-tr(sRRIAq1v z0Ezd)nKR4A=WR_(hBL4+Y1yKzTi3~_hsccdZ$EFg?)tGip1V_3ecE{6;q>Eep~b>o zY=WohVuRD7K~MtXN0qPVg1FR{)LY5OW7sTmj0!mzh2M|})U4wO5Wygtv!+e)**BH7 zUzmdzbLyAK%V9mpJ)(_`g%sN8+_RO^XmEO#Bv)gWvuK#(9VhQpXubeZ5XtWRc3&Ug zH8uH4Mn7r}L2ev-*W6>)wI@MY92K%xSl5)N`*j<%XR?Ge5;)gNGPQR0A zDQ8Fvhs!}Ij<9k>b-v+3A>;?wp-zXD3b1+AGxDstBMh_jbzFP)rT5)q~3O~1~GiVA^U`s~Y|VVGU?+TyuRVHsl-J518O)c9E z%GAN@%iBh|06ww^QLr0nEpLGTYZHYvD$v<&>mK?D8xSacs2=^8j%T{q#vN@)l>!E9 zK`6RHWrH$oPT|X#3FM*Q>S;#G=v_N{k64|gI`UNz-{Uiqnl;3p5U{{_qm@bm+S5@?B;U=sZgriLJ4q-BJ382WX>n$ zyC@iG5SmBgESe&7!x(86=t?_DQ0FPo3Epu}0ui$P{FS3-Ggr_!(DTQTR;)elxWjxP zZkxLQn9U|f&IoU)h(%eM9Do8jaf7_YI*t6(`R0d;>muuD$D1X$rskcI5q2WM!{jUv zV#e|-ZqT?nm$A^Th22z%UIr3xS12p%spDRx^X#)&cmP$3;XJ$I{Z-5-BJDLcCRXa= z-f!j~x+A?&9*bSNtn6~4pZdGVs*{?gNzx5-t((HSjZ)Qe{p9AMe45T8{ZBF6jGS%m zq$_1=E}3@1JZwGL2o>l#O4yLp8Odvm>?B&qJcKG4%bpQf#%&KwLvZow1KhKEwTH2* zn#;Sex(Z}a_egj&dpTU1aQf22JQr*zYuE;wM%4mOd=UP9ZvcShe8rx6~#+7xwh-t*Iee@J#G)X>kA_4J%z|c=!Y=EJ(57) z3VV)3kOt}RRzv{`uA!ETOtWMTBhtZ_ys>;t;%lmYXY-;m*RTk-hU!W*8{sYKi4Z~^U}ELK)Ybh) z+!-Evgr0h<+4)ER(+|DSJdNfLy0uw$&K4i_W~kijW25an}#g(Z6iw#^d6Z@TQmf|WI!chCaU-R1GPuz?o+hW9jb z;C$}VaiC-Bd`Z*PK=dLN`_dNL24PoZF*ry3byS&y+UxJq8DJb`0-MH$CZq)CS64mN zQ5CV#;e|iSUDotUtkJt`zibLzMVLpE7kG+J03rKHiPm$m!9!1*>389W9T~q!nJyUg z;gd|&1>*E9Wnvn`6m%A%cEvX3UfTXSwZnRZ!tZI2lwAv==-~{ z;Qt7>h+CECe&97x7$icLI+os&MV^cij8(;affZn78baXl=SXt2rI?cjcTo(QBFX*^ zp)WFJ(~81Wt|Cask3lt8;`JLU%U8?UGKHJsJdQkKpW)@5av5s2G)RGE z(sCc0>O!7bJy#bz{@&dg(S`D0H&s}Qei1V=*(!1i!BdCx7h(2DGe7&-4(t7=P?cS{ zf)?Ao=*`xJy;H#0R#<>Z*8Z)0@%A8DPf zoLewsI~o~{s=GDX{1lE@D4Ow}1M?JhM#-nPai)aHClN9Sc1yGZLqfS4$?^3ol)Xn=h=fCD*z_ii{#0*>X_^7wJ@%%gXE73L^3tNKW|rrn{xRpFutj()T~x+MoE zZkuB#`bjK_z@|2vLswTeeH9$sbec-6vgKrSW!><@w#^2jM_Uq0B*hFA@?H11kY1fX z6FsrjWtdU<#md&K<57}BIkqiLR81eUBKN}?^V=TJcl&wAVWd~7vaj=hI`1V4|T7WV_Zj%Vx#m`Aoy1VKg?& znDKX!N(z!dlNkthDKwBLxj~4wVTQ>c%5o_0v2vpHLo5xF@*f4K2vc#Krd_xz?Ms8s z-N8EUGJk{Rv+{+ZZ_*=Xt8U!$9ySG_9G?lwHKf^O%lqt(opVpU=o#tpu0yTQ@j5ms z3Y9Ix4sAb-OWFG8x%SyVz;8SrQfx=!j0@AtKA|SCeb~M9NKLS;wD~W}KtF!(@A=2? zKQ_5&SNXHDe5Fm&1R!?~*1`B{lnGp|7rvh^dx^g+V`KiBll|QR)IT@o=1SF@U|O4} zd$nJ@u0;TuGdDo3(c|&0>Yf0_i?lob19bFRxSpV!U5~c@CT6VBE`5D-n%vP}^O1vE zew>ttCJgXyRrVn=thb~FpLO+ix6HoGh1E`iHM+N9H|Cz3_4Aiyk`ePLHlg6sl=N6N zce`e>w4N^py`QMIq@2yt5)`>f^7(X9*`ay10)qKsiSa-#v?4tH^7LL?OjGg@jt^Ugf5=t~`HQ&g9!l z11tNJvJK+>tE9HiAE6BkKSlp*@<5T!5!tH}>VbPdmXK)0-4rVY!8Fz9@_l+D`)=+= zqVA+2R{K--`oWDma!$|C!Eap46-?PPA`{8pTY{> z46NGW(~yDy_R(kzH|MaAMp1{)XzD)B&~vS7qTHSltC0YoxS|izFT<a1N3?{W%g2s zon~#gci3BsS72jW6Rlm_x5Ng6+Sh;bV{$I6*A-MmkrP1)6%P1{%e|YHcf9p=N%OGS zyF)&Y(Cki_zPx6G?5_;?12+V{yormf|4{@nuD)HqHYBp+Jr;M^k)+=$;E- zL4buoE^+lf8n8lkWKAi($EC3ejb-l8tpGm+5Trq(C$q%+$OK90OR=d-OknLJfGDK$FgND#J=)?ESdNR# z(jPDCyWJT+QUFyq7(8uYE(woHL?w&!;_TZTr|@2F_tJZ5sm3F3Q398RAEt1HM)5(= zr?sktD+&MYp3OZ_2v_j_Rf^3l-0hgl9-S(wBSP3fjHw)fW03 zW?<-vn_G*G4DY67gSBoZsvCl!h;;S?VS|6rm(G9yPoq^fALd7wYbx$G2dEu2E;aC0 zB~4UpJMuii@|n9=Z#9eQt?ts5XK*-ssT2DfIlvuf$sR>I8b0h%k?O0~e4 zkvfS3JA}jsIwXFvEZ6wzC*c!K?8h%;k@dfB5npJThQ_!X_^Zgy#xDR)+<}!JL;8hl z>mn;!e#p>BZM{)`jS!6zYCBVdLp5zXe7cj7pNQQTM_4?i#wpyf=teYTr;sXk8AAeX zp-1Dd9gH#?M~^t1y=dwh;qDQz5pk2^u@QdZ^wBW@c?4oA=EO!)ucb@tL z<+4w)6T8Tkka92Itf#mNVQ9rgV9}3Yd~-sK8NbZ}MEx?E@+j39CQEdGf06c|d1O9YdCmFkXu>1DCDJM78u8}pR^{`0Dc7V&PaQ16WX)$D*_jC z%S1-3cXfL~qf{Ov@633^6Lv$7aI<`L8y89(Pw2n@rJ&h*2ya(u8dN#yv25DOzUw#T zaUZ$gO=6;0JiQ^ZlU@3|qx`~?@om+h>k-wdzR)--T4*EJPuj~>%TmK}N}0O7eJtaF zV^#gGZF(4@@QfoE{hn2bg*vCA_yrlFO7&#Pgc9DaTU7eVu|^ zkGr{gp-0q5IMxH}&gw@XaizIBNbR#m)Rb)4v2s(loM?l#!kTu?G_YEg+LM}+Hy`_8 z53}4|w6Q>~GCVROY<4PAsr&gxn#p~+Y^;|&lEgAKfyD#NaZD23N+VO8VSnFC@2|ob z@{tr9b(7B$O3yHXtr1!6YAupcAXZQdk95#z zXrH_Aq*)o^GUn|!cvPZEO0i=Unc=~vciH;~Aak&CFaYGfdmPNv zK0QWq_zi-*Z;cMQk-tc&y@5SO3`(^LTkpyumwIN#>e#O-)HRpze=WVcUxasXK_s_(qF72O+AP;8WA!U=|Ce==0_H(Y zXKCPWs#uKSE3`D??O8kGZCxhW5jr_U0hOxIDe@wN-u5@I-)xQinD3kL&sg%KcED%6veroKKDDdm1kxkthTRlz^7cl`UM&(?%2yWh}N zL~}589IM9|R)rnW0)2Axu!?B5*_m9yV~E1rQ?)_u$s!KsBhU>)Ge@or_eQKVq zu{L!sTd}RZW9(RCd?H0MLO1%8&LCQ>^TI;=NCc`D;+}uf=}Lu|L*0&nGxahgMl9aa z{vA!O5n+AJ6+yFO@LL9XygX|iMciV03ZT2l7m(CzRJUq_W10qu{=dmLA&FWDeQ~}g zAMzx}mrj>hJSDhQrn+ydO>!}3eBsjSpZ<0-3x^uveyv->{^inRL2;GIU8tY|6N^G1 zdLRvfCRRCTGb=y@nkp9&&u;{9MWt^w9XbF3Sh+|Lqa90dq6F6(%{>%ryj{1md_Yml z9x1{(rg4PL!a~Wc{hUT8X-l+$+`A`|C!Tc1or8ZiBPOBlSebyl?zmEIHV`!H-^Sf} zq{I%YWaH92aQw4!{udWTCfP=(9L6^{K^ae0D!aJGt1eAta9{n;1{kAiQJx<*&`)}atZqMG=W2~VWKQOvmnr;_|V69ow9~SEndw%pb7PN_`C1m z--8IZX4Z|k=s%SPtv0%H^2)93!vJSO@4j&1RT^H_J%I~@FWRQayn~>Z9vt>vd8L7!+cl>Xb~?@#)QMJ#I-mnAZEkGckn_+a%=(<^PsIPMPuv(btn-Fuo4 z;LFbgi`f8IjBoju&YcB2){|pCrT+l@p$<5W3w>&bL~CKgmyuxebqKIAA=JgBvvx@vCe?F*BVzJ0_mlpF(&^+=LIpTvw7TMRZ4B7Tq!{h}^gW_` z{FN&UyuSN-66F}HRhmEyY2a#)4$MlYZ8?e^vjo#2s`J8HYKEaRz7pU1d-XNnY~4daPflC!+X)7MxmRyrfCo<}$PVUjP?t@Cs%)BJXU zSR9`tJ`6AR1?<62#D3FJAdkw=QvNnnX^&fL0t4NNs8^(lsPFjHF4dmA-tMY>uAEJuS|%D=64Cw~FO@3|=>+bSc2S5{oZPa5r~9DXra!cJ1Qa zHjxYCiUdz;=aeBqZZSUi`v~#CIt@ViD!z{UT>o9vz$fOJ(z3&b<(*!W+YDRl1n@|E zj~j~Ykn%>Fe!uiCvHQmJkI%wLyLds_m>;j43y~Y1(nq>-`NleP=rz9bt;wFZqukXAt6w(U*ZKpNh_#vx2pxWo}wtlHf9FG~N9=9VtnLS7G z$*bZ(6kRQktRSZZpREb9Ew05k36(n|CL%djV!MU(1TZwx)xezJs3ldOIq@gg#jB~? zM<->s+aOe^{E|~7r7&za^j6?T)CaJ{VKLpfaV;(J4ySdJ#6X4-X&=k#S+2v z$NJ6IXB1Yk3_a`R5=68X*8A#kb}W_eU{P`zR%2Y_gwK20I|O83cq2J7FIGJ9C5q9T zDvN{sdR|M(g9{;vbwzlV$`tq3p?hceg^cyq<)A2dz+=b9fh6|2o3<*eePemTqr4S?U1cos*{iZCzE;hrY_ zE`J9LKU2Ej#`LI8C+C6z$@-=!S_ha`?2muF0?Ub8P)!QYkJF2HaY65-8QXmvF~qHk zkqT%V*{pYWnV7r_H8Sq}uh9+*S@AUosBgX&Z>rnk6i?vy{Z*=AhUoKox&Mk*=pn&+ z?49x`?GcxpPFo+ZK0{b0rolZb6`4?nOj$|S!4_?bM4G#mzdyhe{{b3GReA0qUJDl} zUN}t|;Z1=ev2-wP$+nN-N!1r+G)D6CFcmFQfrt)c^yLo6-nl!M0fWpBE6S65?6A4LfBlz^%Uhf+`Dw;4`I7ss|?ay{FzuzhB78##IEeyTCxmSRq!CgNuq)zF$; zF6{?9J-(`9`>FMR01q3Q+T){qye>h%XA^s+rP5sEci+?YqkYunV7^sO1d*$s!zt_5 zs`;dyEsOd3^fOcRDzxb>5S)a`)+*5>MeilfuC5-zM z@QS`*Tar=At7d)#wHun$jDfG{a`|a{TmmGn{|Avk zZojbypnxSLtEfEs!HBsUXnKe){Len73_uj+B%Li{qtJDQ$w;s%zJuWiB#($24u;&J z%{sTBy~oN1cBqEvhT3kSrM0&3YC#GoTXOT(3vTxt<@4wI{!nr(k+36c2#BcyHMJ9| zSC_0PY#hSi6LHcAWh$^xP#VIf0n?%0->o7iDMD7lZgn>(*1&VTEkaIkY(X0+9kzlc zS?>uqz4=@4g|hPgB5$b&TWh}N1#v_)DP{ty$fe!pACK4QU=hAc{!Tn8}Q$|ACbX<1dSPMhx#4VN8V<#UKq9isYg(`!Lqt#)$l zSAwWiDV!~crWu)|O}U*b9zN|#upvo5XFzn+5wX6Paxhm0alu=(yg?~0;?M5UIFuiP z9Pvkz90nLdcZqZsG4(=bm4y`QgzVIsPkMooMFPPpHZBALK)4E3t+; zgeo($Sbe#IBww2FxZ*4|BTWgtv<|p3^lCMjIj!w3u-`3ZUIjNjjuFIh1s6Lw=09g^y z+&<#QB9y~)=hIo8Vbvh!$uP8^c#cQPE9xVnr?Z_0lZqlURW3qbFuLOm_Hv%2VDX3M z-;s5Y^4=~5DBP)~HVGMb7YE_-f*kC}g{a9(wVXuUvwZX9WFLx^5nKmO#yFpb)%vAp z7}Xh+s3k^K*Pie&+Ce2(RnAju5(wDzj!(d~QHtv!>g4m^Mdwgb*0lk04p6lN;TN{I z_3HsWn?9Qp%{e@CchD&!HB%fSTXzN9Z*c2^^htjDYPiJ9Ng*XkoJ*qp4nS;TM@-?b z38&@}CdDzOyz6CY4|na{4fR!p?X9=4Cy|b9pz#TE+%3eC*lP;SRw(qW@}jQOgV}q< z>Y}UtV!N`t-5`qqNds7~aR(6ikBpd+rB$g-NKueQozr8dtj`Gl}SOU7Y6$@Mb4yCk)ivW%fY`U^$&64etTQ!0 zsm;htpf>wt0xzKlP)DueNy2O+SgOxa)hXVi+0ugS%5RmjIp5*8ID6yV^A#Lq;uryb z&e9oiNjt0(PyXOO5lOV5r>USd!XX>OfXhc;km#+bSZ>qRhOJpw^T;at9>(?=JDa=u7`Njgj-T_y0wF)fpAi?=esFFja)!-yW{8=WDWNIwO@Nh?&u&|N z{!nCl29cJI#G7lu0`09mi<^WC>BlwEGX18g9?;T6qxK2_Ty3mcTo1?iON%^BcMDc4 z^0+;tF6+sks4XaM#iRlo1w)Cu9N%9M?N*RE8Wb8tMY>UL0{3hxo&Y7^@D~@y$05 zQ)tc1s$Q`3pWWxnYsd>Ek(elW!bgchzyr!L!YXYBK}wWudx5-1(b}q2LhGfe1FCFw=@dpR%xg0_fdM5T4@8J&OJQlZ z;}gNKsCR88x67KAU8__cKt7A2XFF0RZdvJe>17Fdr64Q#ZY_AAoGDw2Q5FhOI>D5= zN2cEhX(dHFkU2)CrHe~iZDNvB7Id_9^klXXYwD}&DkZ4^$Zupy1@z?$B_@qH(p009^Sx6O6h5$O|Z>W#mL5XDX)XP%!*YM#;?^;l zgk@I0F%MHnIrY~1*z$&{q>oYrTE&(6s`(AlG^XTf3niO9;!jSHlmIlgogrkhzO({# z=h6sviWZF0$Cz3Yl2Sk-;NN&}c?RR5hwq~v$kCWmWm!=JJL=dTd3U#4GQgNG zid60(*7%K&WN@^t2AE8goWspF?Az`k%P9$2yMZ0wxPVkki5DFCt-MWFov3>(tD(ZB zcZj7Zhmt(t4vL(&njD z_P};c#f-{Atm2K6Yj}cBP&SIqwLa%iGn|d_p~)NCT8RUP;3IqiBHZvrH0wBO>nx6 zNN~G{nBxyrWF~7B_Bg#(oKtvqmnkdWNj}m5xp6@T+V`21R*;a8PJrK-v8t-rM-xxc zX4D#-r?_RGNFM8n(L>-t5b2EZZD$E_PGYM>sm;I@Q4kDw1wABz$5U zTdB>~=9N*OnRa%1X-aYVm)2I}t0a{zN;;BBxh6ehW>L!+Yvg_=Iin-M^yzDJ&o$-s z)h%#&=h3FHNY(0ljo})b3LQ>wDh)7a_ zaX@NPfT95efC#-`NuLy|q@3xOVsJ~mhrOO<8QOO$fy%V=NwtXP3|!Pc);OY#im@F* zl)X)%S5o1d!xTyPq^YZUO$NiNYU)ajfG02{oru!bHEorxBAOsgiO-(_;0DVUH|KHd2*x9*sMt&@{!yyUQev`Nnwxb`Oe*OsR^$z# z9Gi)4;8rw(*%NSG%@YkB0m> zdcDNAaNii1Rvp7M)+Q+nsIzIB?9!SAY_y*N06G+$!78?7?g3m-waMvur;=GlP!qlH zb9iXJu>{m^nZeP>S(bn_jX}O(=U_)bPZh#*9!EbCt}Z?C^*mgu&?YF@W>W=HDOA?! z^7P3kOR4bt&M9Rnx|B)Q+=aXDgR0D%|d1N6|?x@smg}I5=1~#9vO;_zUpV-=dY3C74{maRNBpc_s7sj(TEs z_e;u7cNDC)8eEfTn$j9GG|5+2WhqIzj`3VfC@NvXHYz48+5om6l(wX!`NGyUvBumY z$eK4f@;ec_t?D2N`I~LttMM?J51hZXzkTzoe^??doAQNH@0g=i@2l1nFgDWngzNX! z>S03$*6R_wMJqKya9UwdF0rRS<`2R*&JjDB8h3><-tYrRN|XHIOra&ja@HeuidO2R z{4he*jcFkU%MXPQPzn5_tY|Zx&0bwkrB2(%q_{HxPsCo)&Rv|ODU~iO(O9dx^D-aa z6s53`wS^{K)gwYh#&DbKwd22VC0m7v;h8{cpg4s1Qw_Yf(q-(kmfM}v%!}X3Jlpt{ z{{ZqZfunEBiS^4xxY&mUIW{Klwq3)~Raj=GiXCo3rI)-+q|PW z?F*!6k!xJvPIlTTx~gaDxRP`w1U8pcoTLP+L%pLWA#9Qm?1&t0HOzh1kV?|rP0xb2 zIJw6f?-px}8vEYgF(f;tT|+5kr&4Tk0exb~k?je@bk&)woJ6ElrsdNqFzRJk8Jh|u z451d#pLhU#;*Xi9H%!Dc3@YLDuH=glcIo94v{U9~-lQm`DKDi30{$Qhtq{vQfe#Kh zIo{^v+gqnLo)X*zg2NyzEo7FlQJR^kE!Tdv>4#LMl0D;ll74Wh_R4Dyyx1TwQjnuz z(!wMdw}%*tgDoplo~2DnQzk*~W}Rq;)JZn+ZF>Wu^@hpWS0(1n(zGamY@xWcSCRk& zOuopbI6LJxOOq~Lq{})krxc}KKNy}+a4lC5)G3T%`eNq4x*^B1oY{?rW3S*k!cHI2 zX*iN*LQ1b$W{WOdSX1saSCm@!(%YL2`NOq&FJK%-?6n6HE^U@TOLNq>)YwoUX>fG& z)a@1JrPh)E03daaV*K(N>7li*qkNsC6FzHPTpM})FLVwy;S4Q?8DP-rvlEpEl2bn^ zHo}m(S3nwS1+}=#xVHMmKO;<2uggia&?QMD-SMqwYZ$X-C{p;&rBH6aiIYeQXv_)8 z)T!e0x_C(j_aKvV(h$_~k)hOZr1dg!skyo$5{BOH3PC7WhTwsH2gj@vy$&F;whrZd ztU8nGb<-rsgP7gfIGi|~zLxyWQG8sXO;ewiW7*zJz&6OX$WSMiu+Jq-o0p{q9zjA; zeHU>ZqeSfmgt&!>8>i#^H7h+*oU-LAO|}r0N)u}+Ui;sz?_;H+gW|3tqSUcHMKrl| zH7MGYlp#6`MbM}$!3#S>Gkn1rkS;U?>ybU^CgXeEylxUL)Oa7*FEw#uNX9imr~K0P z{{S(E^o+6%k1b(?68Q0rOPBYh>Hebb}HU8l^}?s%^gT zvQ0<5*Tv2wkY4DxvH@JQ*OaIp(`d_4kNF-d`lSAkf`zaCjrlA?yGL?-BGAySng0Md)*V~ek1lbflR&8>;+F8& zj(FdM^!!;y!qu}%rs8HqwN-&E%f8UsLx}@3h*3cS*9Fj0d|T)tJeqHYURSR08Vyqg zOJHi$toIqu?WQPm|ywOA3VNdyo< z1QG}!f)I1B5hOIakHlZeoj0#0+~yIp>yx-loY_l$5BJ)nz2*SW30qLlLZH zj_bTd#k1I(5>y?l*JsuonVf#XP7sihpa1|8kN^U}0T#wH;};bBP2t*nwkED7txCbt zpHP<@ZIFbJ6PZOR8P-Aox~_EUP1z)~M%Fq)&_BCfdU*3rWO&_$g6gZnICi6n>v9x& zT&t7SN%@3JO3Jh|E!S3{l%x)%kO!<IgRx0>Bu?rNiuBM#Qv-5Y-sAp@0FQ&_J)q3&$h~z(voCe<;~Wz4w3%^w2=BazHTD^rB9A z**DPQ93e?J0E>a}Iz;}Rh$nF*vSsE{mAJ!UNGMH-NI6aV^41|#ifX5y7tyqg%U6_4 z41=^;390T60A@NZj0% zf}4V-YD_8Att`v7jLytDEQFKpj;Hl&=nG|E56n_lgsn|Fg`_PiX~d{l?Xl_nw**9& zhg?NvnzAKpVab|vsPXmS2Td>K7e!i?hbt8MkxhAW4LA~3rc;?=9`OW`%OX-W zwTT1XHx634DWt*1guvuZa4=E|U-4}{q3epdqVUIxQXDIr&}uqNW-{Wpo(J0}>}pnNZc;d0fKs|8!v zq#Z6u%B_gdTyOm2Z8AbsqD`!AV+xSjR+bhTA2?E10I@9P15NbtZRrYG8r+>N(hF=0 z3#gOj`ND=%oZJC%eYwO(H6Tjm?vgL3E_>;@{eAG{(8{FPYkPoB=gJbxH*yj{%ngmj z^oKSP;JF}j7CRr;;R3l7(3`OvL3D-qfH~4_Zjljbt1J+ZN0yO0#7z}Y*KJf3IbY!s zi3tU`?}a3ueC_ay8b?|(t7?bp1frWLr>2=fR$S@{C!VL5>y%0B0mW6OR7nadus(LR zpm=_Wx9Sp?Y=oCnoEwb^5c4@heqyaN-z0)uI*oL{-w5}D{{RGyZJFYlC9~TwxX=Jc zDCm4IFzfh!lD8I0mo65fHMz{Ke+a4MFpR^=CANyvb~cWZz<3sRa*0S~sW)DG+0vYi zq?51v#Rk(jn$S6`Dno#hRj-CP`GV@aE|kGIf}J##%2XSdnwU}gq&6JBbf_G{`hoz^ z6&v0jX;nNONM0nsSYn|_P9Cet`$Wnm-40}VUIznj6%_l3Nh#EVZV1-e;Gbnlw`cJr z-YB8um!5pCSu<>Dr9e8JwL` zl!Tl#? zJB@oxVg4Ip3SJqIke8%MK7ggoWk^iD!h%6`W^m5-vwP1ptQ9l3v=JCSYUr);l0s5R zx^5JfLlSF23784WZPh93=5_K0DygRxF!Sy#=22D3iMcTKim+`n2#P9cb!Mt;zQw?5 z-ViKC#OQCQq%l~M?w@Kg8)CMus%$j}<?x&J6a|ZVB z(0Z!knJD9Rc7l?ow^|B@{+ElkkBwJdrO4qXWJ{GPrxPgA770;MJpEzMiCi~fG`dUD zZ3O!o13;u|wDS1GBBvy}9bSy%XSi8e9KwOft7-Z2i@$x&99IK339cx#BbABDJc zQ{js;HOgzMQ<$or;sndpqQ97$7EZ=`Rn<@9_@KTfr4pZH1Rco-J1&zT=U~~9FJq1Ky8R8 z^TAns8l;uGQJX^um~ns>60JeDwj-GGhFp7!QH-lq3aheG(lZlN1xsp88Cn`!L2`Aq z&r(U}4Ol|GQ>RY*Ej7%lnmySEZ`Gj$;tD1lNg$B23FLQ%2nWO&U9Gb2{0c`+ctmX( zaqmHGt#a*uz7J^z_clFlbbuke!(uuM{m`kTl-yeP7tnHo98jPsMJ24Xbc^_Ibw04s zTWy3*EHG5Iw6c~gc8BQ}0w|1}x{!Re{TO4Yp-NdB-%EK#Tu1c@R#Fes0Y;{fE_Tp- z;i_#3)*k0m;_G-;V5AN^M0>wnfUqwifgLSGR1TmcJ8aSYs}| zxF}!%s3yeUVG_4#M+mZq=MW81Y0QRB^7r>jhw&Z2<-e3!J(&1p#wn>)F*Qb5PDoL} z3`;D4mu5)JGZUqfkX2*8nvKIAKf`ZK;wjmLq1P6rsY}gbb8|WYq2FkNTE=hp7t>#| zo*GBGJ?I+fs=2wB+*+KNb!t+z)ZYH45xC-s1QHFQ-g=zsTu@pHR1LEjZFXHq(D+E@ z`sEhPb4bYpBOKFWh(0||{!m?%o_ax+DOQ?BDLQMfUnrXBdn1^eBzJ2%9hK4mMW)ex z3??9;`ErGl>GqJ7U&fEZ5P;m*3%eqmEI=HhZ^E1`E46vK*Nvqqtp^SEQ-s+G`P}>> z8WW)EL|@oifN)j~m6Uk^O;6;Td0s^~N`3(R?-~82QMrV*y1OCuS}m1J@f84_8<|kt zMTVuHbxxLsa5qS`;vrI@Hh=WtvbZEw%2;?hPE7{I`pcNqAjdzppxwuSSq+IrHPJ+=Z;l~WI9~SX!jvB)h=PFfMwOAzs zz}jzOB58870ha>O96`0xq4Vq3#wHaInM?u0 z9j|NWZ7*(DL%EI(#zslc81Ro7@UEoHt}eq>EIlzXEM^%@^932uQ*c4r`sz0aLIH^7 zPYhNll=^i2LX|rqBT{U;B{MTFw%eLOHY#mI0I&_U7v3xipJ;r0jIys5Vkx{?FD#b8 zVz8k2QUcO)-9VcgSouO;G4az7ah`IXii%i~qEe8isZ@DJkcMQNP)JfzQjk@AfZbk# z!omTDO`*JNW@BxhA_?%YBKJ4W`2Y@gutiA9ZPnW2egfWk^2@ze@oDyPaHoiE0nMd) zMOkRHyE+WKKy60$4V|J*t8amqxToyT`;m99uw{IrTu@eQcUAIqh>pMi04&J=05OYdSAqEBjod`V z64)mX%vW8eAk9tpOF|OUcd+p-Nd-q+AYDerz}VR*9s4@tJ^)QqWU*B(>0_)iBrq`M>3{r>>c2@uBUob6MyIG%l$>CI zOmT=Y^>tNjM_He()H}Ss(NLLN>q-(1R0S-O5;g+*M0O68{{We6ZV9o7%uH`+4F3QM zkVy9s9CAd)M%0@UH-{w6Q~icnwMi(&~%($`l zO1ASq$`eOUaJRJX1L2O z9Llw3Ss+*wv_S-tNqlU>fGOEwu_lLcj`4Mn!0m(H{Yl|Vw46fh- z%#B6umU?lvsz}=qAUXM8fIqUQ4yG+kI^JpwmtOATDzbADd6>5FvPaO;78+z1gxW^Y zx4jdyh2(c~tgC1Z)#p;35*}5r((r;G@!KL_7SvFYU>pPk<^hHnv4z;;Yq@}{=585W z-bAAoez9J#b0^FQC3-lnM&=J-+g?zoMa|V?+CEMBMhjccHub~3V^Gcs{7Mic4>(gQ zeziRH8p2_vzUWZTzLU!E*Jz|}s=(lLUGEWTpc@qT${wMY2#%h?lJ1JFH7d>Hn`{h< z2~qKl0XhR5&%l{+F~nIW)nJf^&CmW)_KwxT7!wE2;f5-8E+NU#s*TMC%_Zt}!=|I(sLZL=1+P8z*5>>ezd9V}S zB?|D|0b!u!)*(}%rfbFuR#KHHC~66`FGhJJQq?Ji-XT=MQnktwT44X z`g*A&jI<5myN4TDN$a@l5!V#`K6bS`HA+jxY{|O%)XFVz3Q|pnJ%HXMSksCV*ye>u zr_R#p%$jRSX{pI(3LkL+HUVn6xYLjv;=A_bCS~@5$9RR1M=QeD=AA=`9nN$q17A`6 z;u7b9hWQW&fVI7XlXDp%*34!+bxv{$3PNvur0HmSrBlsHqSU+Sd%JLe;^oj*q@$XG zd5|uC5SI^7DwXvz)jmn-rIj45u-RIP0_0eEMAHppisl1wigPT|r`thg$Bep5su$EN zJ^ug*tb2fPzL(D2J+tX_uP(6>+ZTWP_DMLUNW!>sN==MARh+7)CyjG$6z#U80)A0g zQz_GUqH&2DdkUC-ZDE$%K^IcWtN`Hfj@Xcnt z+>6+G3i?gA3fh)s+^?jh-#UFd!7%n>#zn4u{L+S)nP)pNH9uVxUyC>vvBTQjgB2MG zid5PVNJFD=Nf!#(jW+~{gCmOh{oi9;#Jpc$tQZDs5F8 zaVA|^Lb3v|IjHS@1@Ej-(o^YMFQ5wrBR0Nw=NcG(OSBtbE86zI8!E;~WC73D$I|PC z>nkqe$>m#lm7o1aC36Yx>EPI3CE_JB^|+pB{{R!~KY59LQ1^7S?|hN$^JTklK)li% z@t&$JLN|5O&heF_cTgjAAac2Wuw7^O>E~CnC)Q8Fq;p5`9uC6c}k!$nCL$U zj^mY{;f{VY`9^Y?wyE(d=67BX0HTf$+<)eNQ0&f$R=QdmiMpl6hsXItvqH&O-oh^= z&?>fZNHFyVpH-z)-EwKxs?9o{;gEt*>Q4Idx1F~e#i2>;`@{+E4^%PKz8_n-N>$Rs z)fCJ%WUlE4>dNzxbth1gJoGV4NKHDzoyg*obseHa#}RQ%o*bFO>|#2jG#Qrz&(hnR zaWbx~TFO&b%2X^hBKipF;+@X@Hw{70Ji1!nR6K8tG+ZhF01J_W(Znn|=Mg9~v$#50 zrMFR)q%0<3$WK$r|>C9vTK zE^M~Fj63izhqAm~#nTju#}Fwv5?QGiW|2^>x|B5QiLgr`sc0FLRo3ei&G2&MU-`WF1dvUSle&s22Zn1k!ycG406ykQU z{LNL&GdkraMek*qsiIkGmTBEQ3UmyCUL@&z_=iyqtw8C8qTkbBzoTTp! z5Y+a!gmkskt(HCjsZ&%(Tv$tT$ST}e#I{id4I#C7RFDUxN3muv!_|sK4Kyk|%@(IF z*-Y!Im@Xyda!}jXU`C?nNRd;*-Iqnp)Ic{kxiL>uyetloTU?I5F`OWP)r?IiyKt zN&?^S18!MrIwZrSthac*MS$c4NhE0vJcOtxZ8ZEX0!dIK)f*KdkwiU#R|5AwP&R36 zQj=kE784kCwKfPsPoLom+QO(ML%TVNxFt8!ptJ(&_Jw5Knp{Fh!}=p7YI)YPlvs?z zPhOE>c8J3Ab2t+R;@T4kk(HQ1q}AnG(X>voGdAspgS}~2u=`CoVYduZJ&CUpN?gA* z`Tn(uWp+r^xEaI-6ooEcNisDSz&8Qp%%za8{{XG`hr~rIYKg3CuaP$MSCdeN&>XBr zYnc1O$jFg#`1!y~skVr)Jj`Mxi-4$`0llDI*+M*qn#Qvwi?f0oE~O4>p&DruTqlj5 zqfW9PQ;y3eS%YQFs8JgQ5w2U; zI9_T=lu1j;u=B-o>XsMIEp>%+7R-PFB->p!jEe`t)^0SueHMYv6VvZGDm@4UZVHaN zAJ&=}P~U}DHZ~h(HZYl#cY!?3iO}8_gcS_HT#zo4rT2@Ht3uiuDkkTBKOfG}rdnH2 zH9B6z>H714Fp`iINg2*-olUI{tS03|fp06@;So5Hq-X^WS+a!{SgW0sH;1V?Qm&vK zY^^_B;E5&^aGa-6dn6NY*Yk-zCWxtrQV@*lBppV+mi*vH8=_h)km5ROUZN-^1tls* zr`PY=48WKv+PwR1rJ1g-?(@=ya>s7C~`9XAymCdkih4ncq>bYYNz3x>VDZ-oyi7+M? zrBU#GWBX#rNuHWu5|_vbedBl$jb`+~s=Ny@MAB9n5aq5HG(kgtdzXEf(+G28Ft)Nf$*UKsag@KBY#-t4kvNTAH7$cqE$rIEVk>6 zskvZKg@A40BimU&Scr*Y1Bs{3?YfJrBn)ZjO5^6qaq5_ zPf=*M@ZV<~aWhYrL8tpM4J8XR3kV?FT?qyOmZEW$Bw%+7pEOG%i03=~Y^If-IZorO zSuI7Q*OcUg(k;CDDPS_<9w9|-B}81103|mz)NUdN#l8v7VP(k8ds^P_NLm(^6}X{e zaJ%!l8jpvRl8M-|w%2~Ss?XG5sku(M@H!hMaxJ${m+aypfwI z^aox3b`fG>E(z0kWm5WI5cf_?yDYhM=9gQEL!^Q{AQG<#P`MutW1?p;KL#*V@*JtW z%hN~!#0Okj?PItNfH{58bKH92(xv8CEk~NF%gX!D88of5o?a!Ji}{G>Y|chvyh`IZTV%%OS+jw1KlA>H%f1yBhn;{@cOqh2}Les<~kD6fQi!_ zd6jZepJ1aQgt&~&-OT|104PZOVX}9QHKz$nEK0Lwd&xm0{K<+J?ER3#`jrlM{{Suf zt47sVxOQR#y#1Fp@wbQd$~*5*PSfUP*zVMnJo7{#n{9F<&iCmLO=340ZGGFF^1@fD zY;zd*3XNHu#+V}$e`}>!`UFa<(+Y1XSP4;Cw#O}!K>%3wJ9%3v!>WAZD|NTsZJ{qV zzT|_2BzQ`r1m1;sk z)E=Lo zmhb3tl1r%66it9_3kM-T<2FwG{Gk_Ud{qAc8o0=0jnjvz${`H2EYe#?g$V;-4=*hs zIU|ft9?^smb8hVZ%EC8EBxWLRLAS17a(O7uKkXTexV<*xj4)+sM#yGOft4sl?f?Up zf+}jR8lRd{mZlWKRBoc6E-$C!7y2nOl1(M1C6JH>fe6rnrsLKbYZ3@h2nexJ8xNdC z7SIfL=`z6_?VX91k=HAp(@!XDq_lg`GbE@Ro}=XgVq~lamO`6V@?3NmApT$N6TC-7 z3{+fMvJ$1-DL-X?eF3+^Bh$2@a`F0?w>(u0l&*-7I3!Y~ROiy- zb0iBJ^z$BI{Pc?p7ZRPN~W{ z*j!)J<)lb(l~r_^rk%M`TUl*jomSaRl#)EsNP*`zB3As(QpDS|#_bAi;|BwAwg!`u ztkkFze?l%%g&M58N^)5$Qbm%t0J2qb1&y!D;NB{H>NZa;zh5}$mitC=7Eb}<{uEQ+ z_R1b4nn+x;jVbw-O~F%aC>;{Ksk%s3+GQm~({%h1KUJS{p3JJu`(DJ zPl|JayG~m2CdW-J-{7j+pO z!bwplQg9et^^8q(+AALBt=7tj z{3~$<2&-XPdBm-1YyzRbUE;Q`VV9%|(C3W;f*xMEc_R~Oq7K(R=_+bx8GgGJ|GXRd|wI6)- zK3|MZsxz}p7A6#2RJkJIBan<<(JY!)vAVYZ0O@)T$AR!h>7S5r79UjCIam#$VehM6 zqQ)3zTlR~%f^M)xO>qT2M-$7aG2od>E)A`56|&2+PA!%0f~J)`Q5yEHP%EbB84` z;eQ#icLpj|3Wg7=3RLX$qNJXG+1hno+K4AEbgL=21SnXJu?v0oCSF^vtxmeN6)kHw zQi(Sto@Owh3-y55-WteaWR8`s0nW9}vo_M_jkqY>=eP!wkkKfT_htds?VTWiG>HWh z2G^=Mex-;dXtfE76pz(SRN9qVrI=cWg)49jsV3sUoo*t;ruI(aH2(kv>ikn(A-NnS zPieQq)2{~InQdzb&e9Ix5;wKM8FNGu)xis`Bfz->UMGiom_+w95EV9*l^YGuDC=rR zWyYl@Vaz00f=I#nMVmlw*?{NxkhBZvz6=jv6Xa zAg0$=x70;;*krG!b_d~T2IAKzmV7*o`YR2Wg|#d$ZS!4Hq@QSX+jNWi{=Wz=mhM>+ z6mNXi5w(zCdvJ1Z5%tuZMLj*yDOPd_1Zp?5c_Ua{EWJU_0Nr!dPl=ejhgj1RGlj7w zPY)uemATKOW|qNu2_&Q_q=Ti;%#DeHc%R3Nf5j{>LZM>3OF3Jn($wU`37Sw+)a!)i zamOv0)muPTPEbe|xw{54yV%mCqp1tFu-Q>--L{F!EIJ7F_$lE1DP0&Z02|m|_O`m| zmvZvyi^-4zY)SV_ghPcghV4#La$yTXQ7n|HK}N+_AOJol61dfluv%1GP$NPO?jq&H zxOPpINCB?x3x#uW=d!*w?Dd6kMN=3{Ga|f6EaU9SrPQs~LP}0o06HA2LANW|>I_ob zM7J98BNg!-nJ2MMB&%XKq?7FIIaQre5gq##FNgY!%{TrmLR4|Rq95MOMYdx=BfdOJ?zaD0Jl4|>b#=o zDAd}}$lm+~(ze8K8T~$soYt3FhW+^@v*Rnt9D`}G>!c-%GaTU@4xD9Fk;0hB&*A1~ z5XCO1QI>I|GTBN>l(0~ekd+k+l&3*^M!4C)>COsbT0I^7Nr&-El}dY62A{*zzS7%i zaY_k8im=MR4eTx~q>y!pBCUnRv73hxa0nwyUs1yO`6*?A?d|aBK~Nq+niJP_+4!+cWa8AdD^cBXK;W<;^9`y-yn9sUmX*>ibb`oTt6 z%WfPjqY=C~0xY8rBO{7V_9R8Qh7*>LPdC4STt!5?m7DK)xUkjHN2l#x^jw7B-=>rCUFYL15Y!Vx^4q2s+l`sgQLj z$3J+lQwOqtMhJ697wTZK94Lk1#w4g0u zV1!>zuybc$#v0`#RkPW`K@|=v$+G0aWZNxF6+XM=Y%dU1?t(Hq^1|BXxSt)iM;#M@m zG#cFomtC5Wr`4V+oMnwW!?p8oY_n3f!x}%#id`Uhlj}^R8N7JPUNpTBPZYYI?r1*z1V-NCe%*{$l3Av}H+zt>H>d7MN zzcON`O)%dsJxArdksGHtw7$mOIP)3gwIM@YHn&%C$DDOj6Do7-bqL!*zRE11U+eIZt! zM9j;{8Qw!lNg*HrY>)=R+e6IJU@SpDXpJqrM7Xho zE7%tkQiS~_REHk{NofkQN^jz^xd+f~9Lv5v+gwX-Ngvt{U>$WMi35ntC_reOmxhOM zKio$i91kK^o559VUh<7HQ`^8+R3ViP@TiOE3H5}OHmkS;5jQNhr)X74Z*>4Emzuwx zgj^rKB@4q9nuSS+u++5SnvqX<9H${=#>eqp8jn~&O-Z~_B|VFqoT?JwTj-scS9kQ1z%sVwSyO$n$Wour53zKuO ziq1{Np}d3}mdtjSX`T$xTcF|Ey(zg#KW{oqw=}1eE}X}Gz}n-Pj#8}9kx80;uu@bI zs|4xFG&Ih1EEMvKJZI;aJ|N$pHCD&6pl@Q++SyrfVpDueFf>10zs4pQkcR2mZ>UG* z5g9SwVn^@I)qXK2#l*KIYkipZiF1-Lyxtt6c}x@p-d#r9n?h>3uQHo&XkCZVmQwu5 zFyB`H0Gt5mV20-@Q2zkq2=yc(2+OY9^n;p5j1=pv5KYpaaHd^Z7MqA`v_&*44-BlD zDggwLNdAz=jfq=Q{WBlRA1DUYHqE?7_OSDY9AvAaTwdofV@sGhK1;HwtJgAy!d z!|DYxV+$sf^R6lNkv7Aq(H2#OjfdiQ8*LK~$vh>lac)kdAwe>xWyrQ2K&zixYAG090w`ltb1gP3TSn2pQ5f^@fSjd|H5a?{o)o;Sl?Y(`p(3pFm*0 zuYVGe&wXL8J-B=njUAbMR4pu$4wo0!{Nf8VlBt(Ty^7AC7_pl`QD05&A~8En%`)IA zwTV{SgBR4&hLd$kG-be9N84#g7aHpeP~w%LPu&X9Ba>SYJmJcjNi$D`fqR=?3Vh81 zIrEdK>1GI%VDvEN-4pK@V8fZp%Z1o1@27~c@y30sL(m1L4Z-^$ zAnL5h3fQGdDE|P}@PaUL1JypQz_7>6Dju6dRLr|!HcFH)eZbQ9`=K-Va(-2pRJmpN zNjZQPw_W1mk)=wo5#m77JRo0at_k>v~N-Qio4pD6lTW5J_DuSYk^z05O>@PVrCs>wD zq{^xDsdxlUp~96U?V^Uq&wn`Vj@N9?qY2<;Ov%3LQ7Bq|dSStJOf4x{r6}F_tQL+Vt}Q9xN7s4|bl*+wU@5AdzOG{!K21+}Q@}TL#m@fi6*|dHj+Z>Ov@L9e zTmz*~KL!r3U{1#H6J^8$}C;exc+n+ywi>E%g3zW?`I0%_U90B-@hn?aX(r z%%Q>xK-d9m-umAE0L}w!xFrOOghS)U5dhe)N;siE#J6VMqu|<8ay0azEw?(1nUpQ9 zi8eqRZGAV0e+zgs#2hz?W-HZqsq?e1vRQNKC)DXTAm+MmZVE>@q$N9N3 zxY|HV&r6`WZbX|{`k0N)cBIDGhGA)c5zaCRH%z+wq3L8=F3nU=cJLP;ES7uWrD(uF zUV(c&y&ik%Dun#KKRN($knUENy^4-vFUs0{;v0_MUqpk_h%-UNl;wL{fDe{i zk)`i$u(E9@7YOiVd{Y}l26xR}_0HM!dOK^C!`OK(wvTmBs39Y-fg|&V+J|X8S5uW{ zVTp!hTY0d&tTK`X`V|6x_~ptZy)LCvwN=+8Wpb093AxQ}1+0AeMVCyJy*^D1T}`2s zr8gENdPZ`xzNYv?$nMM8T){~Q7>hymOX!`Vu|%FEesZT!o~l#jrd>m_s+dqoZz)M4 z`dnNQ<~}ho!o8rS@qRCT4#}pINU}pS4-?-i!s9svqyk4FwTGNm*bf9r*6S{si%+Uh z&gWY)=p}C_HOfbxf;#4#!I~nfFHF;@D5l9xw1g|#5(=`|-6bly0Nh-8YZWuoOIdK% zmpdWH{UQXBQ`-41OX5@07{ebt#S&<`%+m6Shb|B-k($@k079){w$X4&@cG;y!1+l| z^{SimOL3-~mqAL#WnVgmx3Lz!nq?kQVbZu4f^ah zh&%jdu3|PNoNdu0%jnILSY@~RxBKEJH8(LgG~$-EF6tze6L_t4X3n8M@!~Q+o3!#D zRbtwDx{>;?!ro2S%{p<5j}26*RSY*NB&j(mhP$Lbmuyg;WTXv6w6H%oXB8M&f|T|;Y3y6moejf@jbQBkxBmRII2mkoM)Cq4+NLs=NGy6Fx8P?d!{JmTC! zf)P82W<;YZ09-WMb^FTWm+4hmSsL{8v#-dy^43eLWnj340!CE}od()`qr0BLY+x<| z&?rcm6&7V#n3+@QMo#c4YF2{hk?YDh0obxJBvy?t*u66b|#B&ek$kT=)L zA(sQCbaESHE$*!8F_zx!;QvHVTcv+fR?qE^Il0Dw4Pg zl}5&Osrsypg4Xn{4O2wQNEMr_CD>$KJHbeV+WU!}Fr17{S=in~NkXw0UtMILJeYnt!`bcC?I#G8KE=4M7Ke zZx58*8ff*m@g5+mDti$+`sTCAD6-mIQ6#8k3ArTf0#Y`y5i?z2x>cEF#altk)+1E~ z+F-uuC3m_Ly~pbMz~2=ty_WzowZP1dSLBb5f*4LSbDi@!U!9S254xwGs5zJxd&d*@dVy|c{{RnNq&R}E;<6xJZmb(8Fz_bBRSR2RTY?S8 zSgX7}t_(JuOyrvWiFwr_6GVa(ph!P_SW-nB2z0~_1FEgAs&j#kpTzP}*3o-dfPP;c z;cIDCuAX-BS_y5Pudvegh0HP(wAcU%0QnC+qV4WkrZr0@lB82vNCQ+2dg&2~kW!@) zU~Q=B6Kb;x5{(iKf_dH9HUnw}|~k2}vXy zj<$(CMYCdTMw>)#d~a(DoBU%z0nt*-7e{cniui_qgfv!XY0@<;HHBw|G4@Le_KBuu zJI4^5=|RY(6grT+*ZR~9s>`f*iqev@b-IMCtLAoHhg?GeCdqLrQOb84fq0wnu?oT6 zoG5QCz?4=h^OYX$HVRXX1Tx7da1d^=I-fX&E>d2w@|IMW6@5~z^yVWmQua2j&H~mx zYiF~fd87cHbWnOddQs+5CS(^XwP=}!RIze7YDm7lOgYXFufK-29glcH#5ynH7O1_lKAT3d{(}`t4W8K*G zfk`QpPfMz0DqOl&l{l20REz39P`-JU$`@F0f~LikNAW{j+7aX;*{2v(QZsb!<{M)N%A0RV-FZ&O?6rmKG2U9ic}9G3DzlI7EG|Y*{XZfDV1Et zMKq<70+f^P{BIY%0;}v3D5uWZx0E!@ZFABvRq#5Pn46um9PRa9rLwA6tH`r07?2%x3k0`6^!t;(ROY7%z7al1=nAIadJ<$~2ASH>FTK4=Q`#hH(tG1g1 z2SpdDAxK%c8uWotkY1cf%bvifjlctVPc-pch8^(RYjJZeGxckAqK@}1@(!`6dBYL9 z#xMuWES)KJ_G|SKD*J^Jjy6z~$D zjL9Gm8o2;JIFHS~W?pgC`^zOnm~0Gad30y9WcsNb=z}F4tE5Y8T#_$+q2~$VIlA29 zR@9Tzp(+4Nur9THI(fp3A%~5AuE=%PrKDPM24Z3JWFaK&YmCI}WP@@6=t%VYg&5O> zm^$;WN*TFSzSy3dVnIo0C;%;$C<#hH0055w8B#5=&R}IxA%Lr9;=cO z*-`2ID~Dw1R9VI2db{Z?$(GzE#1f&GErL=3H{VO_4Y{isVQQ8Z#g%F`T2;w9oP^Vo z(+oP26x)bVN|Hh7M0%0hzqj5M!q~G2%<#HV4_7F`_e|W}pLW4RjTXWJO_X#h)Pb$H z);!SSCOWEdCl=LlO=;xJ)#|fOP0c)n1O+&GVLTC07k~z08PjM0iY1YCd!pEk~B#18}yCK zOXhajNj(6(4k@YH^B|03Cik$t^uK+$se_*OhGNMlX`L*0F=TKtvb<#3Bm~=kh=^?D zuX3hJ- z?99%CC{EE4Qu4^8jq{xcJ>uZvEe8Zq>9lE_Cy3@NGt-PMQ}U0rP-MuqQJACyd#GDq zcKpTZf~V9F5LU~=L7gh!k#Ko z+?dDQLZ|TFQj;jRZ*KZ-qN1asQK1=ZG#QGsSOH@cek5fM;z`Tt^@q|D&rA3j%c?S3 z-ghzS<)%hQXAnibmLQ8`9RBJ%S7C(Cyd`s)e8;;k3lctN9V*-{#k4vF4!KanwHYc^ zbd=KOo|aNmIct9E;_3%5u^Jv%v=K2Wt@j?0cW}S86>ksm0{~Vr(3{6J3=+cFq)`v2}y|wq~=oCnQ2X}Cic}N1IWW~a!;gL{A%JgLyS1?cN5eQ+b_-)I2dSIwh&gO zCA8=+5(pRPYs3sobsCr=nrR;kT`}hCsfT4zAgRzMW%7gLbr$fXk)iWXSXrv0g}0E}{{ZbQbgp@` z1=UPiJtIZ31Yej(vIaWE*hd>;jFL2J9u<^a+w+xIRLW;ULWoSU%0q=&bTmhPz&IQgelJd@!2C!e;`?wh+xFauU`^N{Z4u z(BF7$twq(+DOGI-N-HG8XU;lUqm{OMK}j5rV}S(}btLsMa!?g&G?5&TBAg(k*zz%O zVekzeL<8b2ivjxbip{6;HCgQ6oys}JR0QG~A}ntvjfa_t3|M??7O%)}e`HVMV!Z1F zY}0y3`;gm1DyR3MxudG}Fnb$_AjMk4OkQ^@a@; zhg3drYhzF?1dR`uNI3+BaxjHFE61|zv3DL+)|K~bZjmswoi!&epDV<|kj+xFI>KFQ zOg5*ockQUA!#6Q)A)B$%rCQ=#f zBa0;-VydvYj6Ud4oTodwl5R4o0ZAh_E8^Ki>mt3q($_%N_;*{N!VZQd#C)Ca+Okr#ooIm}M!xcR4hklix zrU$25Rgwrxg<1_SYiLwsK5dpEdklr`*Df07d8?5g?3Y9{Cp4N_$3B$q*eP7P5|C6? zbGDW-dhm;bvb;p2y;PsXl5|;VNwC6YRtJ3U$2Oz@HPD;vc8YptWYsEc%&94tQj(P^ zwonp-anOEHdsSmq?YajfmTmzp4&0jJk*aIVWi;ql68jKUxId? z@O842%Hw4Xh~#2bg>n4$3Y}(ti7PEDQA;@t%gy(yHyV%?qD{PvSF-3*-AEu05Vp7b z;zSA(w3VznthNH%SZVn{GMp|BZbW82iEsxq1ex>dvHV?#pQ%pIOHV3ZVsZ66^Q@pW zqOxvC$_8C|3qo9JPOf8BNlm#{T-^I9)!DaH;XYR+pZ9~ALdr=<3M8G*u{xme=CG_e zFNsqo-A0zrj$tgjbu^G}LdNOSn7xLk2Xv-0iMspc#Vd;=0J_6~`zFjOj`4m9qq{pQ z^62xg0>g`7XG+3<%q@O>MdA-NR+^buesR^h;)zn0vzV-%?o3a3(Zs4{enqcfr=o)) zEG}3>g+L2xtJq)Vc=PWX_NT;eV)QpfC`~F+)gcTm7c&C-l@qA^qVr|!+O4UHky_2a z6JgzbFWug&r>ugA31@B>I^3`0ZcDD`XXmEpDa}cTCSQF@ZLp9{i8@0TA;NQ%>A8V6 z+S2kGQC4jTHr6CPnY(IWx(u|MDmZ#Vr8zd@Q!uB9@9F9Ui=yc{fd>8(J$H$R7`UZJ z#dB3TnF%)glFN%riRLn$VmV@{p_P%ASex8f9fhw9lk3kqqj({M^&C`A`2a_u@TCNu2Ut?V zvp9e)q23ylq7H)IaJoSyDg>Bw+m+OebJ@0%vN|gPvG_{rqg9`#XZMoWGb>!N>u*l`b}2aQS0 zlwQFpI$XssjO5bWq2`sHuu1~$YuXUYg40s(i`@#=C9|?0N@2OOl!Ym@_ki>B`=AjN zbhDXRka5g#zZ2udIk%E6-Ln~|o&!&=S>WzOxEYuW%CU5v28YPnIzP0B8znfcP{Qoe zuvI$>OEU6O>k?{8lJkHQoLLA7)5xDaqAA#M?iSSW-G2+>dJO$T8`dWgD@UoOV6`VD z-XtLkaEB9=2M%Q%i_mSjFa4wVPyYY~vHdR(uCpaucsSer^oocG%#{p_PPtW~Ho4HG z^R#7lh8JxUiMnazRn;4sU~5mzJw?U;01At7kA@hWa5dax^gE*su4OEV?CG{(tiJAS z*32^IwXdb`6iy=G2N3X=4rsXgv4v-3u!Ud)Csa^LZDC&NPz0#~KwTwZ1r0^w*yDCJ zt}(*@0HA)Fs2VAnO2shEEXyTYoZZ#(-uE}ORCS)vJVV6%HKy?LrHd*PxIUhsscKWp z1r6o*Q<~X|Q}$3vN_4Om7QNWbm{VQ0wl2D5>Z`VyJO0-%^q;togE(o2D40HL1!Ebk zO;MeaOO=UdrIgr|n6hq^-3ik%Sj%-0lKF@r#DYn?w1kg)D6!j=QZ&>QzKbjE2)$(y z{nZM+^cvq^x*4>XVrv>)U9M)=^Z^yKNO5rj+9*8W{{Z6jSQ0zasq#pP1}1F%2%)gf zn;2r4KvpqFG2b19zQ~CVCPr#G(Ejlv-1mrNJ-B;DS{DOFkJJ z7~|}co}U|B^TAgLrw3ffq#xHPlwtZuv8gM|aG*`^<iY+ z>6+wkzt80jo}{>81zA$k29WX+riz8ZKw14soT5jE zX434Xvspnzq!2C%h)eUvc4ft8Bp$zT{d&Zw4NNuOWbZR9i-HA#BhU5D51KqN0m)X= z$%=B|byE65gr!PZZxEJ)fGX+D;lB1a+tL|ovXg6)o|R@`H8n22_$t|wqKn*oMs2q? z5ctHR=O1cal;%^a2?G0*Z;AUSePw0KHIrmcOmz~WL$+><7-@A zE20j~;AoGj!SXojncGvVMA~Jh0>QBkBftqL1b_vsK_p%qW+de*PqyRebgI`WOG3cf z)&T4-2>3+0Mn*{pvu-fE<|-|y9J-rd&(0fa4K%0Hxp%WDUoujg3w(F=f?=p3#|o=` zCh>zFY43-$3MaM+R~~v*>E{rJ=O;d`sdW_#t!P3PN^NoB@pIQ=8feQQn2EkQbmQut)|~7zBr3cnnz@8IWbAd>f~w< z%uTYT3j^KeQpxC)UjAeOsQ|IF$YuqnG?frV93ijyPy1EwC*ut#hI}qKXAM%`VyB3^ z$LC(1P%1+N6bz&!5~V3R<|-fyW>B#l^h%!!aZ1dhHCf!4QI4^y@wOpM(C-r^EX#6o zjH<&UNgXb7m8h*`T-i=5Q=}x8QA$&De_nR|ZRHvYdVR!s{KqrivD3^Yl;HVBoyl4m zwqgj<`VG$e^!~85k_uDd9uc7I0NKUsq zj%Qs&Jk#4sT}{qwYzC0sCV}pfJgj%~^oOYy$_8LbP#S^y+6Q@4u}P^?C$C!`>zaVb#>7X%yMPt~E0kC`B4-%Y^&E5xpyN?gmS2^n*2Q@>y5q*uJz7Bow$ z0IrhgN;z(me=kUErLf|h%&UMj%2lcTZx(hF;eBfr2W4s0`HAO?WkoEYufjR$%lbu? zfV(DQ+)UGJa!c4{m2a+^`m~YO$5ZeTH90Trv|ONS3tDbUq-kxw5T5}lAc3bSnmLA_ zsm-COW)`==N=iaWB-%Q^4fb5Yco_{V64kw~WkeK7vU2A)*(n!V{{Yefg;icS;GP*g z50xIB%XC(^KRSB78uI+E22k@PB1oTVL*${Fl+} zD1u#^`oE4{&%hYJX*>$T*eXU{+(%bIOHHH(%EM_k7B;@B_yA(0uJ)J57@spV?6lV0 zvNB3HWgkTws2@ThbvK6C(;T>$o|c(&IzcbZD5Mi%b9Ehc^@yBl!+?%6Bf9;9a59i_ zyfk!Hw1*b3E*wPswiTwOAI-6_GDr`^NBrZwXZ6aB;)>Aa5jN@c3 zU%Lu6QZIYmKhK_(45r!9IoPGd;jR#U&Pc;OOqRmScd4Ek;7wJD85GVw#Il-fB}ppG zq4LoD;!`ccY8;#4x!R_8R(vg_rL`YGNhT_G@%3)H)UxKPQw}BM=2A0|l7GrHg>-7% z-7cah7;yLPsFdc^YAit?6BNd~WyJ2qId@kdpv%=-d^L01b1k|7^;0^$rwQm24x*-{ z%uP4%2Lq*Aa?k+~YOiVT5m2QSO=Ao{I?7LX+!-cIXIqitQNLZHACKIrV*2aWm+z+D zSG?0_GLIo)0^v_&TExTC^LUM>X_9kf9M5>BP@Qj;KV;kZh_?1Id9&+hsR!ZUXzp*h zH$YTVMF<9>QcrrZ_`H*gFaqZ(l=VqAsxX>Fo=_CpN^=z1I$R}Iu;(6iV)VQy^0Q4g znTdxKtjw)N8fQ?<4UNUE=W%Oo9 zHm5Cg1DGdU8ygGr`9LzodpNB#BnKplu`}HukTnLv`*ev%2&f2k4%X%y&fr&c$EVs? zuC^Z-hS%Ip(%4YA7x0bzyyEGiNGA^AdUT;qS6OK}!nP_R>aoA^6Y#V$rT8HY8lPmw z_T=tOIKp|xSPE9HB$KAUoJXltO7=3QRcciFbkyB8mfBsMeU`~>gsR~sWP704f!5JJ z#$utw5h+ig;ismmXp#*&#WAJ4xq^a6d{B@|d?f)^(&GAF!MC%=5+319-ZrIGX>$|u z*oKh(DfuKEi%aAl?PM!#hcG)>DDxICp@oiaDRLasXOZkSV7cY_=%cgzI-O|J1gzsz zi>T7oQDK>6sZJ)vU^Jv!;bgW5BH)DssDyYMgV=+Lvlz0d#Pv3hhOnAt-kpARhDGMMRxo$`VfKOPY zJ4wn>cw507d4?&EKPOhin1Q7{+tU5oJ&AxEN?TG!QUd(%<2M@I+f&o-n%SiwwZPlI zhl-}2tMx&#ywyG1vkBn(4mF`scz;S^5)_FBMDw9OT6ttF@ zevwf?dSyx>N=v9^3QLQ~5UY`J0X+#%Iq?S<&*NN4JyNJj$Vfixs!^AxNi{0ddh8H{ zjlAxCOjt3^k>=oQdvfHeo-nrHod=IQsH;i3?lryl=?>JnXJ#f_LQ=OB6PTxR2KW7P zgmQAu%}p}HU@1 zY=L7g82(qAqm@k&3z~+ZZlr)ZF)@>WOi&;F%{@q@%=l8UT5IP=b$# zXK`*KkfT$YRK)D_>0zeQH7ZfCv_DNXEU8C|^LNQ3Dh;jiF>Q7x!fjW0%x5Mg6*S#C zpD{3tt0+UD0EJ)3sBO%SSBr;KZXtZ5`$DPRZzO9^71RjeZXK@h_EQG8HffWXeqC=d zQDvgy+)7%zs4bE+p9^ZSvAI^GP&o=0nOY_$$L#jw6cFUPtjWkIK)j$i12aTLJe+Y3VsZOWWWtovvs&-wb7FOeJ ztHhA8uuud8Z7vRiGB7#sW#u*}JM+5R(zrFoF_;<;bk{L7S(QjPxEua)2*e6p(n?YY zu{whiQ7*Ywl-tg!^M8HQa(+m@M^$|1{W3tUy&)a2+uBvEEx^k&N8*E}G zy4&(oZ>g;aK-7&dnL3{>4$&mU4yorBhR$ww-Xe3-UKJ$!_XTObpmG~|M%I`W&vzcz2sKRH{a-+G0a|{;TNGCz1#1k@tl`iA#-{Ti8BP%T2fSZzy z!?I6QtCZC7GV(kf0I%OuZDPZVcV zn|Y89*^YquX>;(2C3_z_sRt#SS#`zuO4X>#YiauD6m{*AdBkyzKEJZk?1#fmPU$5% zojgBvYPDaMnUZM>SX$JbN_L9J6t;&HrKjA?d_#C-qTHUR`A^8zYor;bUt zk_|kvR@C(mWE-f?x}G_rg!A;ab=*SD0pwqIyVCFABS}w&N!PK zR=AxbPR5KrrYYD(85H}#WwMlv*~nI6LV|LPx{^(k&MR;!(53k7V2EU7j&NYp^XPvp zt0if|F&xl>a)6~Igq^R>4et;RR1X)d0&l!|LEBlqk|5S)6q^N*3D5o-l$6b)#(Ii?FaF?Swy zZmf%DaYaYwVspYoTNE^)n}KADb%=YiuCzcY04rh)O?XL|Viv-@NeB5r)y};$?a3cZ z+f3W*b$6MD<&`$;>J7FBiAq(XJxIp%S;m(tiKL~}Tmay;{UPRKxLBJrAw9}sD)-VZ%uT_%%`<~E-Xx-&Ca~1;5^7s2BiSYmz$zQq z+kLJ;<|B11?55o@=Gd$UeYEdcDD5D7@20AZdB2I}XiOPem8iF@Dw%XJyBj9`Olnm~ zb?cP^IoRuHvIK#2CN{X)05GF1bNp6M=LLHr&nU3vczZL8s#3C8Izp+4Y`|LEmXuqr z2Q77ssZH!U`5j_1{EMtSrkz1Us3j^&hEfPN)N+U;s1MU#TvYCew5Aa*tBoM$8d_O) z#>!2VcyR88k0Lo*2P()>a^P5?>1|+w?36e&QvN1(gvY#I!gyN^;)=p&==f$|*{QPV zmT9i-IZ%_CNJuMIR?se@cE042M+x}#i#Q!m#WMI&a&nL2DIp^>I_$V|VTSHa*;)4q zx$CetxCB9*akfg6G4(DWkWj1X1iLXRrmxHQk{t zA<~cnZiE1x0!J;y&bq~n^&5jYe}GhatveJ{YusR;oy$2#a!G8-Qsum0_=+s*&5%Np zv+seFWjF2YjE?VZ$>1~P$1Od$C=5(80MnOWwtwwW>i3QJyj#>2kD?^AY#T_^(kc}k z%PQLD_KRkQpea(;)P}?fw1wEzUe5X4n|Ry-t5TE&ft0rXaa-Oj&Nm{{v~zodEJogO zS;V_9IynCTIF%04{{XiC0L}poe)_#&)(;^CFIN@o2D8>I4u}@&jeG2JK)Q%!CCcsRTAnud0@9{{Xfowe#(h zOH!IoavaK1ok$>_eSe%0*j||}Q8=X&PYGt8GOVfcE)WlUuihfk;)e?4I9ZC!td1t4 z;yEdi-lgh1;$||Nog4$)R-0?5IPzVoCH9oY-!2j67o+UlB910sGjr;nunrC3Epatv z*YUklhfqNVR69yr!AjJsTi0_9c-18v2;;~z5aOtO-Xt4b18b#I{Q=M-S%-k0(3?%`lM z-C7vkh}q{p8C%-<_xC5NTWeY+moR{ZDU>J#AMl8hOQ@^4K)Tf7vO-4wkuyy93;zJ& z>md>th1^QHM#>(}(q)=-CdS*6i}g+X#7A($^f_h7eJxCWeU(gwEmF^x)`s-B8W3;l zBCB^D@$miz;e$S9Q{NxCDS9zKc|yla`!A6ECwU@XG6LElEp>17!egdG8JwHH<9u zg+aVP{X$k{Nl&poB$TPNt6bgSI@{f~yx@nV+NP3*CJ{K%P5aa&fPHTjGMj0~@A=@R zj=*lnCfrXI%pI+(71lBd&gby6NoaLLBZ3s_Z~x4 ziCITb<11LY(i=W74&piE9pLJg81@<^YY#U}nw89xKH5|jFce7&T8SXrVQXk2CsU== zuw7;3%g%u7S3sJOe(73Bv9gkN1QI;&9*b8?2G^%+1FY>@b^HZnAf9cVGn_@+p&EW! zJaFbz%woqt*3K*OFlQ5dGwvV|P5DA@7*`~y_3)|ZJEXWQ99E+Ka6Tlum#S_p3JXe= zaG-7ogNt49!s9C;fp5X&bGjlyIcd%5_F;w7nt502Xn$(LL9wt2i19z)Rj1m5;>@_A z-=jhkY^mA6oTLly4gh6XNZR%W1k%WGXb%4XglTKChPq#P=Qxt4Xu=fd4k(&Uj`@r< zVxyT-`i^krhEz=`n^{F>8nH*d#q>8ZPZ+g9R!=vGCY|4w7Up?Fi8)$u{{V#YhR}b! zOMG_tLz=W{X5VDm41WYWG$|~D?aWH4yMRczCM*sgEfpyT7+4DmNo{|GRP?vPlC;}I zsKv+G`Mf_m^yMOIa%HSbH9E^w<_=WLDJvl)t!HZ!t;hgtuC^CxFtP`@1C_K-p?Gwy zxv(oZD=gI;7}Oe`WyfUY=8^3UG`x#jckv`D#>9YZV)o;$QvzZPT}+w4Gzsbj5esQ9 zGd$s1%f2g}R=W#Z?Q-R`L->!w3H}K2lD$H!zbNG6lI%<$Vp^1qLFxeq)DF8CPf(oi zWTi5N5SgSb*(X7+{Uae$C&W(K+o1#5XsM%XBDM6tx(5=ZDKpX(wrg{4Q|Rv0Wzjo0 z(mU0#!Bw1bDf>k!Dj;(r(O>q1;r{>+u*NuO@RqY!#aJE5bP-mm$}PK0T|vge%T0w? z1e=77NgCQEJZhNla9WZsPkf)xNU3D;mLjX+*$g%Gjp-7rQkj+vpb$wnx`J~nbD<_K z_ETjLHby%jO~E-@+URrgRhvfxsx0nVTbgtx0RIJ_;tTMEfu9Jhx2oYT+*hROKgy$2shW^6BOc#e7oJ+rVvz- zVlQn#i0el5fg6j+CjBqNL6Rbf?yh73x3#*aCF_j^w(pcb^oX50gt19>X~SXeHVwwM z)Q>@@#vw8ia}~T^h08Wp+FVlB@7O|YH6|pu%BzvIOSA&nX(1pa>!#$7J$b;@4aWH6 z9EH(T=L;V5&m~{XOFJOy-={bw-Og4}orxfi!$>Yy7tJB>uTP9=Jgbzj?NahoZH2M|frf>IWgx_-ir=g35b5}{d2 z4&wU7Btxv)C>`@cZmy{|i+)Lkx~n=} zpb|GEi(bYf__|@ac6+h`BwsbQ{eET~sQ8LPu-Zcpq>wIKCd75q^|UhMQj!}|4n-UI zhWEGfipUs5!LJJLqDGo><{PN&qu~frjl4Fp5MY*}jxu+F6uYXWY43^;KA024H}SR}Za*>#6n z39t)5O3IUc!mbfx=hhvkC1vZ4B6*8C!=mdJ)bb$tjY0H^2RzfsyLjyWeHG3&)QoIB zt0JYar9yd*{!~l%DnVX!yO=3H6S&`Tw?hEL5#%*n-8?JvQjl9k63{Ag2W5PIL<=9EuESi{WYJV ziL61!?fNhgBSBQf8k_lyYhJO_JL}=bul<$~#Mky^B49Rk^%RP;Nm98P?NeDPy0B zUg-PbllFWfnk6wmb?pBDPoXy)Wy6jN%eut{pQNYqWm@Hz-W6+m zDb2V35fIvk8Zq|}UR<^xkak6dXat)|Qu`I;AEy2jEs4%+pN^BBJtZ(NPGP;(T;q8wTxs&t= zwna3fH&}EFt){r=!yX(qrttMCGfyB`ILl!G{{XFbSKSS@uF&RX>mU66KB_T>dI@p~p9+q%IU5EH&$r6nvSzATapxSdNn`?DuH-ccA zqPXsu`~#r;_f3*GsfIT<5$d@^jod<>o2k@f>9~S+yv(DZ8N#bH<;A=KJ{tpZa4n}h z-WOrot}x*K2AiuQVw;|(+5^&$IhtXBLCCvluZwHxapxVOHBC#hxm4mvLAunYP_m(Y zt!sVPi1lZNI8P8T71=%5T7xrDdhA_c_v==F^b`YGJb#`vxG!uDgchRElW**+X5}SqTE+ z7SI!OZ#{%`;yWea<|-2vnc3k>qBujXN+o$iX|O&g98o=Yzo^(aKgG@z@Zk(d&}5pb z&9E{wSZd)XZ+$}dJyH$gxA|V~LoCn2I-g*U_|V`P8*YC%rW^&sI^9;8OIVUyXbhyO z$9xI<_xMGhBf`pU8M6ImqJ*TIp#hHJi+IU|oQcAru9-dZ+ z)YW2UqU(-6`;RzPy3|Se#%fxfkw)TUjLPn3Ci!vkR;`MYYohHva&!OQ@x_DF|DchJ`?C zPWA%Vyd&Zh`Kt;|$GUHSO(Tu*%BFsro?1%n-l$zB!trfGwC1fiU1qd@Xch`7Xd{4P z8MyH|mFYhO@%9>?#hAkZVd~kh$x;h*lJlMSev%wFaS3pERuG~R2s;aMx#G?`xYbvP zb+?p^id53l5D5Vw8v(x|VSaIXe$Or%PGO88h%wDxSyIha2x3jw>;l?vFj9w+T8O{@ z0F3f65$zvE!&TftKR-)DtW+Gb*5hjMI;(0*PQ;#;>O?nb7O=9%^Y%q-gK1tZe!WyX z3Su4yO<|cjW-7u}x=mT8!XK^B=X>Qou4+?m=s9Sc#V?PYq0=#4RXBR0?P`NAO66vz z*eof;U@?+^GZuWhq(h z<)cd1U%ol769%+_e6s?@UC4J$bJ|adzrXrXU#I6CsEMT7%{ksC=>!cy0FHkc=qz8_ zs}b>ohqS6B&K0J)iK!$Jh$N6w>$1(ZL2Yd$SpAh10szWvk*SJ%hkPi+{7tAiCx&R# zwYi2HE;uBaTe%T%GY|%XnK&kk`vRVLt`BH|5G63aV-YBSO}u3-)`%&jpcD}9uwIc5~@@97~02PN{UotR-H~rt;pwVBbq5sEdnf*i_~v=2&TIQl2SD3lAg( zgKLb#lB{+0f~j_Knli#{4-NwSy7e3o^_x%O+|mWe*TaD#{zpT>Q@xt_Z&cxy8=aMM zW4(5MT2g%}m}O0t)}*hzLXo&qRj12nJB}O)q+^Z}SE(jNbqUFgub{f6DM^?X1=J04 zl>uUQ%f6S3x4Q*bBU=%?LioRk>eyoiPR!9|OzlO$7-C%r&bJ(2g&`vP*pN>81EgKP zmMVH;(|Z7I#EbG-*y|>!s}F8P#9xuOHRVPh#I^3qoJyab!HSc9Y)LMkGP$P9t-2MJ zN>WpCYbhxyH`dzds}5(xOPiRiO}#vorg6tg-42T@F*hWRQGan_W@eR+>QtOTEA&Nj zRmG}dgp{ZSk($7x!|)nK2Z(C3mCCft?LukU+1Z7ayD<97+*#^L-ZAt7OP%1)^X#=% zZH#8lDZQi3pve?WB@abYXeBwug*ea~Dec(Jm z4n_^Ab(rJP4FJ2qPFR!$Jgb0^Zf*RcDKVkHA}w$>Dy9}w zs!EI5fVWhQN0f5J*cm_sSe;T%qnujZl=#g500_8}(xwNDe}drSBN7M%Wh65`iw zE>Z_LGNp!UXU5(r2+j#w<6H?BhO@((&iv{X=m90TG-_rKC zcEhi36*R%)L~TN4vTNp#Vrk95&>@&PWWXfAEJ z{301oaSv5eW^S_T906mIDIj|57p5-43ZBBV-p+yTEROUh_A5^^FS*otMK?JhiCIZ0 zm0Tn?w2(iDAL>5%*U(PcV<(BpWp;yH*#H^@(>pGg8YAtE>~CmjnFUPiqLMA^3fY`4 zOs?bsrL764liigk_(>XkE%?TQFj{O?6qazfLc?{1QYROD%3;)$IFM~|4i8B?IESB- zZBMk&x{3wz17WX0c#R`Rt~N0_z|}O<%|WI6vl7Js+T<$Y*8DZ=2~aRzR*cki(h@gL zIVh8ks$8h36sUF55W70-qS=TY1W2(Qf@i7)Osp;3zAz4#8^mR87Sut|h%zfVpq)@N zz4ss-k!mEJP2*OLpD5L!pnxk;xYT4SFFzE62)AQ!dnEo;T3<`tQee92BrnOUF# zC{Y=cad33pMI}t4mDq2tdHSslBtI6+R?{q$EHd#-vxJl@J(NM-(A83GO3gYJlgw!o zmn0lv&tr874mRj>KbDaetF{c{e%-=}xA}}V39&gkqMrkA#U__*O-o9&tvp1i`9gFdHcqlMWi9!+cfNl;-Na^u6 zF>;xuA3`1oQC0Qwso&I#g1klVfz9FJq`ND#d+_>-a~9zuQ+QCm)hp+GX^aL^g)fwPnm4OUft2 zK=(!OzQEJ~m_TR0*j3ZNKFzLrd8;Sof$h}zD0K6m+hk3mU20;KmE}{3J|{rrJfgJX z9X4K?nJF53A&&JbTkid(3)l}Rw&bN6q{%rb*|SZez!Q59IHz$d-37%(pV0;W?0`05cC4 ztZ9xHyk&A0X}Fr(9TOc^N!;Pa!CPqnWgLtpmzA8HaUm#ENE@D!E^R6er3F4Nr<@(^ z&X&#G)1dq!K~aQR5@`e7it5zhM`)~L*|K74ZwJ&RnwX!L4NQrNWIUB8aiWHV9-kPl z>-Cx3S6ZH`)E!gvv#+jY_tq?2acU}3tTfb{?G80;Al)vTM4y+aH#&)?RJoKRAu?(T zwUiRFNBV+1g{)zLPG$t9VM)D#1AjQKhXd~RXRq(=?5rLO4V*2akyK6-{>f3N zNS7Qn7v3rMa)WGvyDIu?dxY<~`!qQR=>@_hi?m#TV zd-F_mjVA6HbX6@`ef+zQIs)8rL=r}%-&ji1Nitr}lnqW{)C*n~RFIcL-O;#hMK=84 zge1v$x9k!!|%)%rjS$JunERI-Ye9>tc^qzzuqg@kV^q-R@?wg5cB5Vaq=@oP-* zQy0|eDaEYPT9(7EJf!_9{L5{$ETWTq%FSznHj2x!Npf3;_=aI7*QlizB!T;}eSg&t zIKH7W^vt}Ee6&faMON<#Kv$;1@#4Ekmu*UbIgenyK7cq-#9R59PZKiU&p7P2e%sy4 zfla#6x*Qhdd4mMbQIy*3Qe!feD42Bv7UHMu8>lDSz`lot+DZx!^hvG_nTexusZ19Tj9(&t>x zrrrT3^cd$jmuh%<4Ly9+M-Egdw9HV6s{JWds%jLVxiq|5&8CMi=xlAy)`ittoV@(% z)g>UBT!(n2u_}^OTS?dzA9%uECd$gwaZJ@Q7-nk?KFi@<%*@iAS!~#i2)CWVJHmWX zGwlA%fJRb)2u}LM^0mOWCpN@izlV>3)6F(8ANru`2OPfMDw6FTFE299Ew>p+;U1B}g0HH{VF^ULkPH4PuN9O`n;?DW_FYG?v{H zDEfw&QovJ+R+q3O+WPGk2M}=f6u~RRbi65y5sYc8q&innOroXI9mu<&1rwV<4q$9= zgl$WG66eK?d5Y8u%lgQY0KbmkrNTLWx^j^GW3h7W27M+lo<2b_ZKUlf zyk|ssm-~gwxKfu&ZY{aJwJ=6G;pDy-ak)2VC8s9Vkm4sKT@EmyKsiq^p?eX^(d!MZ zh)Q5_?FE8$B!)3FMnyF=`!f{ODYb=JI`sx4NY-gu{ip+onWer`tj#N*LL*YH=6hWf zV75nq5)HvanK2L!MLQ){%gA2PV$pC^2q_0xNC8U4_UQ){<{BGbAt4wFnc;_TN+2CV zje<7j$;;t%S%#Aj^z!hL|(va7Y_*g zPvTw;Q}Hz}g(FIwlf-PIT5-yhx}H;M0l*3@w2hoM3JM0o;yD6m5L6moQuWB@28Iul z#+61%Pku^IE|F6v$PaGthLxRH{|0FSIziV6o!Eql|Fd@-M`)%1BS$)RO# zx(28h`Cb*!CF-?C)i&h7W=WM&$s<^Z&SrSsJ_I6Y67R{8i&i#H61Dz~V zyK!tsQ_J$|#gM}G;*cAArBjn~IDSw_NPyT#*2d*WVoBzILL(DzDc4JdSHB~$g7dWT z&R$u*rs=)DFk+cOu*?=f<@)uGjxio&+?`ae_G+vJ^E1CdcOwLc23Mz+z}A_WsKDQV(B0*09ik za@kvNoAUVDBn{K0sq*qOEw-tJxZpWdY>+RvTf~x<<#C?`u@``FoVcc0**6++US0G8 zJ@qs|A_j~rRjZ8BRQFY3?-7)I&Ag)V;q^|RiRY4v#bi?D7M#qaF@E&k#W}VFbT-=B zX$!ITE2U7Xk4R7{g|{WjZ!h*H0>s=2HnbO^>zXZ=xj9##@cg z%hgtRK1J*l?5y2EwEIKzC}c~xZ)B5lqhqzLYwvJ%5NhiaR62{ZH1d}iQog=TdZhmV zE_#nBZ^ToEVdT7CFEr{<>Q$6o3%Zg5hyY&68g48GwuZOr1^2tqNO0(H%>Mvi&IvG? zoL=#J>&Xkg-3%-?wu*4hD5p)H{{X!bYdWd7jf#Fd9(ss1c(RbruFVT{W9t-bHWugV zK)*<>oO`?kEj}$p{`hb!)dpI^)XFn_Q;k zrXp0?>pFxi6D*YlsTUwB-><$c$%d)ibHmKFRID*X#5Bj8eAFjXmRZJJQbCsi2`U8{ zP*Gu*#-Mk&orSdT2G(k zkPzU=Af#HvY0saZI3iu4aiQB@MjRzt4H8DjUZVXrft*nd1uK#lC_kz^t4Piz--FWr@iN z=OiW?7elh@C{j(1po4K1C0C4?pAjLkQLWC@a_BvxVM`!+T>3>jO_p&A2~f?_!(cyO zcbrP;w26mB$`o#L+e=&F0X|1t4f0a%+D;-Ajq1$A%T9e_m8HqO!QWp#Uvx7!Hv8%! zN(!;&Hs^0!MB@rzx}`zX-8{{T+^ z0CYA6zCuG9N`_a)!P+)l{L636WJ((kc!pG3{-*4mt}RGW2ekKNoMH}b!UTXF&)Ciu^SaGE>1B{)qw*MTl20RrFWH&OXS(o*io zbxeVSmZ!)en^BAr0}GF*n&k{V*=HPLl!Z4)TMaJ9y_g}Sk>#6s?OY9q=deWXUVR&Hn2|O`g`2z8zs| zO-mIsSF6m5tiUUl2ysOLqs?nh-QoqI)YWuNlr|Dc=5iYHNi8j0jJv?MA+C$CQt#IH zdXv4)qAQFs66LV;K=(19M(vnp;a*zi+ zqU!mG%oaL(?!j?axTA;XHdA~tj%w8m5lW-JrrwuvDRECN7k1-YUj2Np=MIum4?LxW zp-LrM03ySp@S_XhSt&GDs;G6=8wm{sWC#5s>LcX~DjZkCSVmFh(_~t0mPgjjKD4mf z6V*#sE7)spLNkuoVXprGnKN0_=68@qji4-k8Zz!@LFQFX{{RGWE+wruGR%*3(oMsY zUIhB%D97=5>iXK#f`}Z$-05ddlC&}jr(ZQ z!X{BIh!(?01ZJnn42vB@jw?7jjS=&T#+}-FM~E}7Qka~oOR}{Dp>lQV6LUC#fQkE~GZyfi==Z!K& zKrA*z)RI(41DsN^&#a#mnw6@KCQ?IY41$Hy>SCznNlPJCC^NL01dcrTVn*_^oo8AG~~$)T`fmUy;Tle=2MD7{;&-QUO;cUO|E75nook5hl_@= znx%Ig)~b1BT*Ho~N|~H103@`floSL6jTTd-icY}!l9v?J!b$L{D!t<7z;paV<2E{& zuEMS#0Q3=MERHQ0tVg$Ye)mE|0dXSWo?q+Oh3aB8Qv|U6;vduRoqo9=q^c2vhR5D4V~L>Dy)?2lvrpkEpZ*4!rs)l zbB$Cf>XYeqnyfliGf_&?vo9>lQ={ux8CIiZ1h-;BwXw@^Z5?@)&W-t7<;yD%ORCE4 zn}mrNHO<-F-1q0N<=00Fgt=PK9YJvx3P4c0Z?(rLkJYgh>&>YYRLf0HEv34{Gd>LE zJB?Hhyody9FQEo2Tqxy#8sIwKCBkN&nXF3jn5Vfig|sDELCApWY)Y1(i=Q=}z}2rC zS86XNsMFOtgT__#2Afo{W>ok}R1$Ir0@AdSE~^lrMfZo+?ITSImO)`_<;S@9XQvQ^ zr`e&>-~UCObs#iup zw!E~^Xsgz|7Ea0<9j_A%4#K^yM%hpS<$LL;UQsTX?9qwo2xaHyX^pn(QlO&gDK{6f z@bedoABFvwafUh$)M>_%DJ3(VX>+|(Y_={%lXR17f;q%hHPA@H7~pQ74K$HE6oS@N zU3%_Kl%y3Bd>|W>`n)hdNSq5&1iQJ0mMAw7&=|*t(mVv>BeZTH$|kg4rx~V2B4t3b z;)xBe`RnpX!C99?Ct;tw@DnoUpQfyQE%%9B0`1vTF3RF^p2?Fds0S^5mlGPIqc- zSO#;O5Hz?V!W#G+*(Vusix|k%+rsmcSSeK`w>dnOp@!7RbO#iS$HoPX@?T;vc(lYs$xGTfn7f6#rnWW*hx{#-t1H749 z`i%}m_;Z4*fULwOIz5Hs{=fq-`rks3B zqj0hBy~#(@NZDa*qfYB+k=AQ-rn-tvJ+w?#W!ziJ&YcU3QkJ`u%|lNtiLte!+QoH- zaRoN1F)uQSS?R`^?U%%U^=YI*r|7g*_9skZn%6-tnQ=B zQGI;k)x|GVlYnN!E;iiU%ZZaq(q zDL&Cjr#8Z^GV|z4)DBdyFc#dO;WyWxoO5Mftt|Tw%BfaaSyq~YFQjx^_-%6&k}FKh zp>*`Tw7R8bzMb#g?t#z<=3IMBG^|Ma5|A6wZRPh$N=`GT;NO zqv%O(!}hPSfy^mxzCu7ZR=Pl$Mq+FQ{I`Wjl}lrl<6c|=RB^&w-if8jKmwGWTG$wo zVTl!{P07L)s!w-u$Zmfj1jy42{K!S}wvm~|^a2;v>j`RK*`xcJ%28UnSQRpb5E!uQsO?Nj4YMm`38V_)+mD3u>%zvQ9_B18rbr z6B(566WtC%1ZoCgCwNerRv|?y1RD{kF>&E)^SJU+wv@FlwJv}Zr6`i(MSwnjpOjOO z=Z5Q#VcOKKL4#$ou%bGSW8xydwwvN3?EJ$|&Z^3StkTJ!%60qqh0qkd9Wy;qVqxlQ z&nXEZ#*#hp&JFDg*-sE~TNlVM%dJQe1NDPzebHo%D}36_xbUhXL8K1asx(pPKXuDQW7M zJ6&$M{WxB~5xXSoa><)=n=$N9sYye{1R$tx0=6VvY3CPgY)+I;;b#khp10;W=&7Z}hX8g+ z+y`1kBCye!O4Q44CBl^GZF`$Xr`W5AI5!^lBE&TuJtpEMS$bAPxT%FK`#_jsSx#U& zgP@Np8JR4tXCY3OzFln+3>S!MFIG`YZgy=naNw9SUGlqyIun#QQGB`bn`X7_NQTt! z1XAv-1BQ3y#@$nxLySSkFh{zxm2`=Lt*mY55K5&kQh|hOa|u^+^ZAq}5-ziIu!*y` zQf4l0Eve@f9}?;%**P`=aG|@Y!*2=cuQ;LE(Yjef0kF8gg0!!DV~D(r>}}$q^7R)Q zmuZ!`WM|D{V&35|3oyqQv5cKQx5TP025Hn4u5PXZP>`L5Wi1IL^voiKec=1RCsg^v zpLm2#%d2arFw>^dwW+6b+xl-TJirIs6^w#Wo*{oVHN>*gR4heNk(8@5Q9YRz9BKp|G!i&S|#b1Y2ENs-6RRW&+WnX{2NFl{rEt7o2T}js5{cTaz zF0jhdm0S-IwY7=23366(P9LJq&$CXaPE;9T`I+VAmSHPUNp-`p2?`{hLh)Tw6T~6x zc4J$OK-ZRM(~`G>pb1MJGE+Ve;`#;<;ypTh7gHar;WdJaoi!@63?kKj1(<}`5dv?8-t-r@o|=^=Z}0uqw!mdwTw+c z!m@ZOkvz7&o`)b4-Ag4cp%xiZk#m|=UC-hI;I5Es!|J{w2^ZAF zV?`^qMh&28A`2UcH5zh`DO$V#0QP+1iUt(nJ}{iC(0-npRX{f?hgJhk64F6Zl0nV5 zwa3eNW5ud!W_?outc{lzq~sbWQ=o?K#iu_DaWi+h6*Lt3meKs8)sdUP%wejkE0n6m zLcQ%o%Pv-FrlnGgCfTl%tKT*4<+icnTSSKKN{3r8exJJZ{hZL+COBN)-<=d3u%+dF z4Hny460aEBL99H>OtfSgDoAlC2f8X69ZCHd4k4<`cdD3|lvI?WnQd&#m%HPXq*!Ls z{{RpoRB?S7d?}|=#uS!CVJcgKxTn+{Qf_=12Zv3rZ}ZkG2`&JTt_j0n1=Np*{9LPG zC)k>lmY1JlQvK58stp%dSWxDhkGP0WSj390)E}t{S$Q96c}^*bHv6`lB>SjM^aG{g znr@Wrnq=8>VTT=dRi^-9z@UuD1SMA4LiRq8>n};DqK@3!G~ct$HXLaLW@SM;4K96PXEsL`yOsX{E|slukh$7uGx~5UTZCxSHF+~Ghh^Jd zbf6*kLJEn}$tQT2*Xfv(hY!ojOgk}2nhl3rGSgZp5^SJQej3>674jN#W=*qVP}+ei zI|KS3bUKCvth-BE{7$C%GTSb;8uR59&j7mTTjlxrWbzzcZX89wJ&-Wp5FeuA$E#Io z2|QB!sVz8~+DyQk_%WCmIlK5+Q(}|_OZeFr#Mpn zHBClEiA1SL?p=1y1AMy?Yx!SoW0&f@Qwxax^H#l00gsGOxPd#&Rw+_o9_Vga4+{ZMGU~p~4^HqVTBDX>8X`)dg5GL4rBWMx(LK>VQ-FREQ*m8C3OvtP<{$(K=1gmiY?iyc- zn(+w1IRekqflr`+dzL;*{Gq|b-c|j*!wqt?4b9EV6e~5-PF`bZcYOp&Ob|Z7fn>;l ze=|j}+!7NcmRza0xVFMB9w_k_1o0~d;2bZ5cx5exF%3DiN>5dqo$nl~JW`ZhK&3X! zyQ=CWi`WnbwLj7GGA$u*u;VSbl3QAnV4>u8FqZaORnU!MM=`QEKKf~y`f7x+85J|* zCj@a%12JFra~Mc9CsA7onLuUax|KGfKp{yzQlVq5#8z)h7MF3VPSMcarTb1Z+A2o~ zAM8ad3eQkv1dPPwip!2q5R?F=5|ogEl$4;A6z5ln-WxkBaMJFxQC7<@Er}Q z2WFd}nOkT}&!nU!obC{mlbK7`e(a=bphF;`@2(dT4{GnXD&;uzJ>us+E7S5-cybU?q3C*qg57$VI)+yi+ zm!U+YU&3v@{{RR%O$Sgx7b=9U5a0QZ_vhye8AwnTRlpw&;AdotZh0uY%$vA!c+Rp4 zrB;5qz4D9hB0}2G`$%;*QWOG$j>I4Lg+-LDwWUEi^0tNK8OLc7M(c8NDZ2f}|}tsttKt8JW(5`?2uAhJ8Bm1K28oUP<}d5%#j zT!QLFD^kz3B_Rk}jlzK0D*TVnQKfC2*+*SlN5+AiYoQ?D@6>!^%cIo&x}7anm#_qc zI!L-u=lF;4s>k9KM$y%5Ejz~X_fXTgIBwm+M`oIGS?8PXhE@0;WyAsA3*T}y*7k-; ziA0>GrFTnCi)m-WpwxvEwuIYLv{|^8lGSFIiMdhTJfJ{nN5qAr-)QqEntFmcf+D;m zsVYec+fqR{^1Mk+Ha6di9-=G;$-Qh$wwo!k0nh-U;<47;;Xsp~LK|^XQw^oSauU*j zSlHU*SW+4-r9lALk9Yxpf#uUr=L^`KdBzsUv^$k$R~d;?RI6qn?k}i1*z>#=UWW_` z47{Y(_G=Ng2a1`ZBH3Q*{HXY;HO0^7D+tZoO?pZ4aA)1Wh zPRW?}3`)5_DI+h4>FwuPo1?xT83xBEzpeiOhAV{A-et^>A#EuqF1){((mHmH#5vp! z8=hu$#tTN_NH!`x1VwSxUk`CoYFebaAf#5c6HdrIX5Sthhq}vT9rF~B6iw}Wl3ZIv zk@}$wc6T|z6V&ZgI7z@(LlP~uRjafubXn!*<#l_h*QTN@nH#5I zl#tdQC+Ik;xn>md7=Xm#z%Fm$hh%I|iqPB3kQC`vfPJEDWJw)B-24P|O&7DL54de8 zhp|OXsfU0HEiHZ8Nb*SWD0)N-9rm)sRdBW`4Wf@MNf&Fx=^y4lia_TS)b=2&S0>zc zY1f^3M3oh&sFS_!cZTn2A^w|jo@Y-b4hot6bA)mWt6$^x2f>XQEGb4pod>%M4Tg|> z$<<2u+9NgYH)5LBVASFyT2Q!dP-P?iTmA7tQt+)-dToR=Ec>o0K=)w;k}nti1A*9z zri3X{rctsiRWNdL>A&3pPgPw~Lm<7mG+25m;)0S3x?5kWtgBTC`N_WZ`IjAeUM)^y zeQyZWDz}_b1zPG)JI6)Kc6X=Av?gm+hS@?r?0_XB{Ytmt4{qS@9pLI>DicZexn-QF zeM(b_TDk(AIUkYf0v(S~dsPk${{ZNzznH?_%s{)iE?t$w^K)+5rrcRp$pYu$5$s{v zzZdZXhEwcH(Pt4-rp&oHEYtGkEzGpG(v<|PpL`So6Kz2@H_|$qqsRO!h0p~Sgq7tU z@W{{L6iiVZTpp^rEu>K zRcbsza#B)eqPB`Dz4BJzZ3#IPpxGn?nCa;hY~K{+qoCr)h4Otne&p_#TM{3-*T)pD!qG`v-^^UF%opykLnxI09ee-Kr1Q?0IgVadl( zoQb}+9W4|yZR)wBEyP=;gKP&|@$SuYHdHY^uCODCIi8l_nrXEuho)r_Jup(Bg126I zS|9;+ES`W|pFtwl|vK%Y2<)ob%pvu%{Tro_1&*K|sI zyK8aGYt9EysG%&l&^ba;Yx%=8f_uW_%hV@p^F0J?;)$&V#41@{O_~bpE(mdMb05>+ zrc~Qom5By>)y(dRhQSF6HraO|TH5MIK=(o5J}2!Xjb5ielMmtPG?%8TE|6PgkWJkt z;2j2=ZOX)o8?%K9rB~uBb@o)IWT@79VBCa0qi~iLYh5a_%s+)Ba}n27zA0h~t`@Dx zHBosobD=)fAePeFY%UU%l!0VjN5T!RZbi&yCfv~0+zX9tI38Uu=oXrt($!Mf>!r^T z&#%<3QN_GC!?W!Yep>o?U60lkJ9DbLz?(c-=%M%TjEs>Hs|L9r?g7_)AOd ze_E-?QmNS2=y_L_R&HUWdr=`d)QsgB(kSqnuE4xUZj;80J3?mzQn3W=?|8yzmaLO(gX2?yN+ky(66SycM?E#=>_(b|li{kQ zyYkPJCC1S(+K@^XGbKXe_9Da{V_!I!_G!g59391)b|=Jh?n_fBEj>~8c2-jC`>AY( zZpRsomcp-~1r5}h@shmTFaKh5W<#lt0WvLfm2raEyhkUeHBxM4~B$5Tmh^K14 z(`v$ULON$E)tuM+b4X%Kd_i7ge5=NrjH&yLN#7eZLF_xRe zZp<@_U2Xcxd$bQ}QWbQa5;6hNHWskj!XP+%6--d;vUO>7e|nX4Is&g{0CgK|p>Ta+ zvqD`FjkOwt9PK-+TCYuA<X6Ay*JM z9f)vt3#D;tl;aLziiJ?7LFs2o-;{GGd8E9YpaMbAf_=k#X?oIO;N-%b1H!d;iN2Nx zQ5BT*5You`VHiWe%TE6Q0uG3YYGrdn9&TE7{NzIQ6Af^pp^fM`c38|ynR=9rw94E| zsV%Ltl^n?@Qbt=vox%DublOp6GfXo`ke5muNSH#3)LbD6u+RcV_ty7~b|^!Yz6@YW zqEwYKD27lg&8HOC{{ZtG^EZX2=oPuiN!2@@xx^s}D!Nx`wcHOY1Mv~(b1>16WNxL| zbG3)nU%@ZOx=2HSuy5A>%01ds1y(yk_L;3yaBVSlDXMg>{RTY^RFNY-%*xQ|m=^AWLCtZ#mO4jO_GZC&cM4+)y>d#X^xaOeoIJyb z0S(<*?42*l+nBg;{u9G=8Hub!#EUIYzc%XEG6^coqCp=h(!(2egi*>~0J$z4nlRqo zb5!$I4Vve`8c6^Kp1JFO881C6+!LF@+*6ywb1H4ggyn4yBi&dh!biY}?A%LJo9w~a zqDoR-Ez~R0j5SS?Lqfs%$5)jk1HFohtuMX67n6rP_H81R%M0 zvlV3s3OkdOr07rY4xu+ZaZ75c#11DlHu8OsIPrIit zgjY3plU=0CDdmp&o3?^Sio(a<=eZvNXeMq`+FtK+l#BB^!7rrB%Qo1yb*kyts2cvd z$Dvcx#{*g;)n=p*mBh)SCQ?K;(IFtKVoso#z{1{jwwq36tmOb5%q(@(%E~Q7STxu+ z>P^3-A4_di`7u1`24(P4*gs@*KbOu8X)ZTSn6d_0C#k2{84^DJ#m%b=#yQS__9rUESu@M%=9%Erg=_ z3qb(c3|n-7vKs)Ca|A6y`a$onQUSSy#1Rs;4(zfBDli@3Ml}+J0a+OujD=jU-p{mS zS;08Eu{Qfjl%T3rv^2LuR^yWez<`vUR0njTZLkp{Q>$J3!F6?7c8+_&wIx#V6q}du zDPam1upsIA#pu+?dgV$`wUkPK?m9ZxA2_Ce7OWX{Djb>7axqLpiy(cm@6+gh%TY1-=Es?R)J2Q^xFfR#gue zY^6AVg&30*(ic;u(`P1W%qSu0w&m2OT2ZxBCC2m*)b%CEQg6Ykd z%bYQ>QI<%$rV*$H`G@m?oa%!6$N{nJ<$HDS?ol#0i*3)UkGX+nA6WtPi**pHiGyY+ z^){xK;#7p(5I2b%6*)7s!(!Zu$Mb=|R+GpFw6&@JF{CT1svIyK4@Dzs;0F-by&9DT zw(@}%<_Whb)Q<{Lj%i40WlC+OgW^g1;F@#IOt&!N9755W#HPncxNu{Q%gC}2grpEH zn?V&7H8Ro*#B5cRFh^6Ag5g!evP}Y3RHbz(g6`yiE-eh|?9)p^^9q#FQ!2;-3Dj@a zIvRd-IO3a02bIRaU#v;E(Zc$F4Y1x9s7c~^D(ltRV>0Vfmb|zDHv2@7Nh0JAaEn0k zZGEEalPUD>PLpTs_}tcRz$Z<3X1OyGaIRijoZ=dMx^1$Bj6|roLTW{&pp+Au;GSYG zTGY;VoCFd~L-QvxfKV1ObxU1PVl8pHuc)GcJUODuHoP}9t%@%gFyzjbOLyF6i7RUd zTZ@Bj;PmBC(A?~QUnrc_$`nGHGNMNeP9nq<9)57khG{R(%~lI(LX??+oW$}1){7m` zLu98_Ym`K9hE$5}R;KnJrc+y(tvK_Jh6=2wb-tZNpoUdA!z0{4wYp`*q2EryD;h7I z)H@i`9+RDvZOntdQb0HJ{;?(g%{tVuaUmfo00WzG8sbeC5mB)`l&xZznJL*PKDtfj z)`t*Ht(htSjlmjpiBrwhYqIh!vLu3CApoI75_%D6no5^$VsLP=z0LCcvWh4eWRO_! zvZ$)k3S$w=vV|dK;x;=UIFe6cS-F`-qRjLN;81G$M z$QZaHukViDe3+IZhWsfz92|ptO{uE;VM0Ham6i7&ea=Ji55wQD>~8+wgejw#vEaMasepI>(MJDF9z1>nz#6KRFtOEC!LtWU)opP zX(?gS;(}#VLGcu&BrfEQ4Xu}bVubCR#44pLgl@erFy%gaVr98Z>=N40o03v3sL?k0 z#jSy{Rbvdvwz(O%B<7h?RhbqcL;^KQ1QF^CP@l9<8C0=$4a3tFS%EP>GdioSEupYd zgji^hI`oI^SQ|Fgfsz1h?p!lD^ZR!y?WE_!Pc)6q)6##vzdS+t# z_pd2miG(EH6uls}7)y)OHlRRXlq|NDl>>fJ^lNYon!Jg@=Qkw##zyTMx5gw@7)CQ`$tPP>V5@9*~El_ryRB3HYBW&r* zaCRd6j971D4h;u0pHv`LlVhDtihJEz6grtPj|@9={eQm5Wfb>I|5^Eh`sA;i*D znH8_OF18MfN%1G)(iv8ahWFAYYlH7)1Da#C#z|_KnWM}lY2T8Dpoo;oRS{FBzNCVc zp$6jGU)C6?6G?Jqw%%S~0UkZQB4ta%(-k+FrBWoFo1dR`GV;=_Ag#xpT7po7fvHg> z06Lhjsc-}bjQOh?W}6o@_IW7>5%C2fx;+;UVXR9vi0G2i$alP&mF`r_>KAbW=t_tN z_V<7q1rZhMDf1I49m{1}>6An6HsRhS;YK5v!}zj|GefM)p(4l}%B z{PR%D8^1hb=_f-lY~amNvHw~5HcIJ#b(a~7L=pGj#_ z?JcwmWeO@%u0{1EoR+TJ2UN8)}^PAgKXHR+RbLKTn!jo(0Hczejh>WR1%)Q~dkId*G=2WDr#`Xkh)Y=OG z8HbEHB%4{sSPS+#vffWZ0B_VsfQK+0972m zBGBmbB~287N|Fd8{6EuwiGr&X?`~i?$ql~Rv$VA7l)&jzs;EjO;*_RgrDS=sHdx*s zNGD9D_slw4!1^SP za6DBd-7U9(`j<5WrsAgF{e>ji4jXM^a+A=+Qm-lO^NJ-QpzYU|-r>0gK2}gW@`*Jbxb&RVl~P?` zJjnq-fJ1-_5Pegj^)Ttg+DxqFE?*Hyv>0w?V79gsau7-qQb${qswyFQWTB^zx;kcJ zj}YLiqy#A`u^vPVA5Zp!nr!G)E#laYeRYD6qB0BIUu)9 z{lO{7pb%_Qg=@=G)9}(2(;Uw(r6ojyN~~?5^&beMb=)phgKQ0v*s63YyDZZ!_vJ_d z0cObxC*D7!3NWuW#^FQb3*_rkv~riG ztOH32M6el(h_<@ve_f&%M|Rj|Rm^s4K`QgWSgvwK>8UDxP3H{re$MM{xI$NRqHK}@ z=r4O;O-03vhWIs&F)cy%nWjz7B@Pq`j_mhp7d{}frHz3ROYrj+F*!XeI)+r!O)V?R z;RM(l^7zMG;$Gb|k`EeXCW9wV?pp}@;#?@w!zdX*@&s)K&^9MxZ9|B+3t#pMhiZu$ zTId=L^(pTRc1EpD0C_-$zck6KPD|60n_V~WSNCc6#Lcc8@S}!FPt#Qv>JzBlwYiyD zhQ8u8AL=%aSjBy(F@7uW5jR(u_H_)ZX`|h?M!TgJ2X1i$IKFbAr73Guo7{_^zAX(! zG(Xac=bOITDiKXlC-o$^LHAv&SM6hju-eNsDj9H;+q_m*b>*N2J66nS*JJQ)O1EHq@myl1WdLXLhdI zs)em<9bj*e%h?}IK~B<3#m`*TDUC6`O0P8Ak54@M&Z<(@r6}~&pVgx)xazMxhoofF zGVjst9O7R76s+z*<$e6FdYI@6HWa4S>TJn3BQ6x-I=GQxYm@f~KBGgU$V|B^sTpT` zr4(HV7Cw=fHIm59>1iVNz4bb)Khk6OU}vt2l%?ieT|u)j?pDYm>KTFw2FkZP8yjqG zW2NGmovX7kSy(S3YIa@Ik->b~f!!pF@*kXb7aM4`g-~VHhUrW8M-;ZFRVc|TAxX-V zk~PXfRmYI>j!&vmyP5LSvd+ss(}hkjQczTN_ks04GuAFC2{DJfTIkr$E8#`d>k~8B zZjVMqBACmvCFQDWR#7cZOotQ|XO(*^E>II-EIRKKE&dG@KB7i6tHz0V8zFgpm%xKiB%sEYvO){X%sBsf= z?<_0?f)1J{tp2d>YOtUL0nhqosxZ;Y*9JME1Aq7_z z((s-isbWc)X41tegET^{Gbj)coqDZF9+!&t?Z!g!7SE;(I$}Micjuy`bpzySePpHG z20?OXZcZo9;$Ar7Dtn6VS*FUONu(s)WwJ`_d4g20oN{E-K{Dn1;M|=C_lZ9c@w1qw zsXtYjbiFw8z*C&mE_C?;=M}`wNW4#AIId@g~n@%cox6N-4t-NW4_JO-iRgO9Shum%a1z&J)m zgD6t9pl6zV58pnkXJ4kkc_c%d?68(5TS~IB#JjG#_L^A-U3zH-P0kr9f zcO;&1RD`Kcq@XCQY?Om@1DJa%NeJE(Q>)cXJyn;gNKU&>n_)#vyuylBlWQ9vLvK65 zp^i5^P^LggzMT`T27y?`wKP+xRO#Bx@{m*|WF^$|xe_i;RDx_TyfxJ&=IIl!$*GNY*I~i7J3;&DvY-WmAa0Vlxta zX5@{cc#9C!@jY4UonoaoR;a&j_HKFgyz7=08J4n1umEa#LNT&p?Ez)aba;C=x=dHG zJoVl+-;v_Yp*juWI-I#0>D0#2rR+5@MimYv=r3aITQ7|JCGnF4)#(#8_obLgqsj?K zCX%Uzw)&e0N)k#+Tu3EX(>i$#d7(Tksp0CpgBbFWUBdL&f>NooO)FSAbh1=Z3B8BB zBcyu=@rr8<@QSNSl%r2%r_U~8W^z(Z#i8W5l-lb^J|yL}kJ%&6&h?(tGq{4SHfJ4X zeo1R6602-DoVVD5ZFt93?HO4!qH8{1_o~`aY`=+wN?nonuo_#ZG*<|?^aGU=GxTUpwdF@Z5FQ@QDir$0KCA;#pEQ{LPVY=dwOj_?QYrwFCw9FTsV z{G~zFq1AWq5FS{*T*~ADR>I$WXUvrH5^5Mpz5f3Ioyx=DW{dhZ9d!Kv0BYv!osVTJ zvX9p5lzMY>56Up>O|>cqaH8zMPzq5hB&98rb9?lTkeuTE6{#aEQ(VWD&7SN(H%v!$u6nZquj}&8cN8RL#I&JAo80Y7A&PZ4su6E~~ z>@Bygh}>1M#Q>*|`?c;G{SYiW>9LWg*H5aRaXXI!LXkN~qooFaIc8#MuW%~X2v1u9 zbsj(gy0qn)x0V*>WvOaa)Z)}`R<38~4%IpKn?f0u3QH{l+5)#c)T7j^e=A#%i1}7` zx{WM9C?bZHkTl^5(>oCXZLr;(acanh!M%p(kPybFy}qWUo7ib#>9^fzajCqNGBRAJ zbFPrpOz@>{8yoeD$c36-t7SKPSe+*%%=4_u8-|MWy0P|BH9G#cg%fTG$-AXF8EH9F zsj@(WCzhER29Pv$@tIugkWIJq))73fWv1pg4nLp=e81KRgmytxHPU04fuKzj?w4Lx zqbS(saG0$K}3_h41kycFi1fg@j<*~WMoK~wHu8_M=nOo zIo!-P;5wy2Un3nSAm_BUhf7K!X}U>h+=4g1#yOyFBfqex80EjQ6f`bMpWX=;0?9&d zNJ4I775qyh;%rWhn6GiIxh;qA@N1nTTtXn_c)`0XUu`=IAAGJBK)$Z2v-%B z4volxerXqica>!Pr_Ck`U^N~}2K^D1k=-!T*hyAmmeNym=N1+Y#L1VFM6>zOrp1N9 z)IkS|$pjUqKohO3zYY;Qt6_qRG zf0QxQYpn!jDp4ULOB3oK4sjtaA!%A<$vfzqi@?Va+fYiB+=(Ds%1U4c(@5P}>-!@N z>~@Y(Y3jk9a3Qpn_dF>2t&@-sJk=;&f_=H+a@jZkRuHv38un0(nN#fg0_(ZKb z`fh~5&6;?!WPZQ05z)mb%>MvIQ#Xe~LVm5mt@To%^FRm$fanKJ)o8Sn#m0as_DX;K ziM_1=bBhw|I?7Y_)4-TtimE5%^++J6AKmDy6ws0uPu75WW>jcW=BRa9D%}=g=^D(7 zseW2zwGgDOCgb(_MXOBWjG=wL@>)P7k#m(XKbFVT7bQ|xDNjwZ6I{8uhHkhT`Qc!|oA3cd^s3fMFO+9k7kL4EB`&J^x zG}7A+ovgd9Z53G0 zCtK{1epcQuIgD3JN$^tX>C^1CkL3x*E0kLDrbbC13wTg8gXG$ddw)(6)Bgb1?1qnL zhCB5o#5=9^P*-U3uC@?!SX)%AkIn|oK3S!Jgs%4Y`^A4axM($+YxeIXWfpwUopsVD z^qM^iwBsx$ohp}>pe%$Y;9qeW>2{;y7IRIz)ypVa?7<#OnVO@?jHe>5b_Kir?I{irBM{J)U3Ky=paZo z+bRv2btl0zw-ZPqaz_|xlG3yZcNzpQzXMkaxgMq|=;$6kDVH$X0vSVP4<}TM6S$6k z);(upJjqB2=2x9H*U){{YKZrtHFg1~cF8Q?*91I)qZ` z-SehdkX=hID(Odg;_!|`pQ$k6h^Ng91xQpT9c`%wmhu*Fu4~+br$U})1zw{npG~4v zJBJ)x#FAEq)nS_{$WO$loI&e!JbR4ryzNe(Kv(v5i0V~Rm_b6;z;!?*loN5HRj40k zE2-jbLz`j%2R!Y~SkEx0VR6@jwD9ZnZYN<1O*;+Znp=3dw&Gc)P6aZzR#vRGab6Om zrIH6R5qc+X97VvoC2J4N(5O|ZiHVP9ep;}}m}wTeTp%TBzSiEx@k&?ebn`@%ev>>} zoI}c4Ze*L3X}(dVh~{n2O(BKu9Gb2G#T8fOkuywbkM#uLsfDJWj_K_#QdhoiYM7%pDL$eFn?lkwR;N>?fsRPx{{R*0+*5Lznw!Z} z5=pyFHk)cd3f9__YoC-&CaLsXdBdu-#Vz`b_A8g2X?b0kPqQtBAz6xB3CtImTzIW( z+--V7u+pR_3kA^WN_V!z>PN#^tk|162o8D3%jy6k{=9hjBKDnR@;2A(I^1$L^zuli zP#$GSJ{5hCAt%wGvI^Zft+ycst@W+TUdH>F8?F_pKp!aEfLo9&EpT;OW>pE7TAa{d zcsiX=m7SMSGeI*Uc1r~+xlOmdt>wG{=aJn8vjRE+3MGK0Q`az|_0ITEI!6~9bt&uu z`HX_MBv6?w9F~%F4DL48E1Wpde-KQoa1QZdr|K|UC@MD$Cgk(dA$TdaoSm6kLW;>% z@7KyR^v2AY-Bsm4yW$DA7c7O5uqM&f{g)*M2<**|@mj}r{P0w>3q175E&in{IWHD2 z^La+6HMEY%$7mcq?014_mhPr1ffG)rp2fvq;-M9LbmOL{r62hoFWfUe$c>sUJd=Nm zPnle4IXJfKPd?hp9YeX0q4r2O1Q@+|(JYQ2@YfAvxnv~18xqr@BV_|)fAs_RM?O6; zr76My@txxM?B`W)6k*&;fag>SXIV2+fk$PF1p)F&_!zX>Ofa@Ow(A+s{{WMb`}ip6 zUL|ws&-aYG#$i{Kahgu$78`0ehPk{kFH@{b%b{Xdzi=S0?55_|hnaavigVL)6DTNp zS;E;I^f28~H+>ed(|DPVA>^>?p>rDMfbfapR}GcJ_hg)EbWTf6f?8M^R6yr$kiQMi zRxsR@wPH?r$y%I~iJ6yvT}2Pdx`GsigP{Zv2qS1f;Z*HPR7@>%2}5NlOR6df8f*^G zvc9Q@=x?;rQF20*>A!iDU&0OcJt6qs<}xWxBgEUPX6cP{VJXe$dUu_@^grk-(&fTECh5jDX$l1fpo z?rmxgA$gE(aG?{;35GL+G0W+a771G;!%t;g9h|rsJ=z=ALAb>#; zs_r(zv()J%(`8<#PPRY1xEv}=is}b1y4U9kWpOqeO%i#zg5$I9D0dHLAS3v+iZJ=f z#$z_p)*UmtxZN-t2|{$?o1NsvP35g?ux%;N(&za`rvY|(z7?l=ivxLo_y>?J5S5mLg1++8;iqYnh8#Te!tocjDi#|1QoW4NxiSu zK2Prnbn{)n9lot|wEvZMHwYS6JvhKzESg)NtqEbDHiEv-Ec_wwEysliiJCRdn? z0+SLD1Za)F`3(f}ti z5849WhvNe&P*5X5sW9VTqzQL~#GomXaDo$KWG|X;)0pxwTXKq0P?RK)MZ!{>->%VM zBx{-+6;X}NI7-yHS`bxyxovO+SzIoXNMZTs5~Abhx@e?a0_wfRS<(bkke( z(h#ZV3u`&Dl`RUpHa(rY^l=MP^h7n!3OqHlY0y4 z^MgIL4bLmOT1$%6NeUN9J0H3wlqnSF?|``Ke_Fyh#uJHKL|5CubBZm^XP1!{{W0#eN$Fij;qtNA#9+=#KdlF%uHW1gp9*O z^MOrO4L|*QVSZ;nML4CYm-^Eibje+uSnV@T#1uKI1wM$Mq9y@p;Qx68ROBe~FXBdw>&>#nyVFg)*jm&DvXB5yyZn5i6V$g%yQFGzlcz{-mU3#H zTBpp@-EpbrCR%Zox4Kpq2v@*}3VO+^jwhS_5%EIWM&XMux@zL54_@K@a$-huafe=H z+@-K@Vm3AbHx?lI^}JJ6SI2y(NYE<49$(5WE;?f8WN{@1lTi+d#ZvvH>4%m|om-Q0 z3c9XtO^7%1_?ll8*5xVG>6Ni42eb(Q~9Zv*+v^ZvM>aD&YJ`(30K8vEh zlf+D!K~Jd7eIER*yxfyS1r)OLD0Q@xlw5?ZAnCX;J}_4+xF3Nyfa1?-Zfg>jWNC7< zDDKH^3ro*F6QQum(m~kgRkks1a6gUMZx8l6XBX3{^7ELZ4@&(W^waGjN^MOk32iqz zi!$SOAX`E=7LE$-E7~Tt#~e!B^-gK$Sd?TlESFT0TTRN9aF7M_6Q~1AMVxys7SGJ< zkQsNKZ`?dqZT0VaEo%<_ZOfvnr)n9Pa>^R4YJESfHZhsv;?fB|=p*m^zHkEOX>zbq z266?!17ZB(%8lL2$|du@r}St(XTw5+lc%MAYj0u!L~+S|oH*`p37LW?zAeUK(<3bG3K zOF-xboXyGW;prDM@1F5CIvs8_)-gLypvx}oXy1M-VYA>7$BgQIxGY6IQ;sAofNy(4 zCM=w4ex%HjN`n#>QAZ^>MxP*We>jp$yoz+Av(pMWQk&&Yr*2=X>kJaqS10CII{EIC zFs%L1_lF=pT3?=#Ob7<$T3YLxIQLbNYZc4NC8Yabv!zoG-uAihr9+VbUi}oFQB%w$ zBod9fdj4C(hZk!rtnn8SOk4zeTG&QS07HLPpSdIF5jJPm(|y?)(bt-NKa_e!B{_}; zTU!N!shb?mCz??(^NI?v2h4~-;mk^xs)nasVMCJ*xGq$b{luP-oHi7tT|^Cb>&g!q zAvHvklK1#QYBtNhg7BrrQ~@LrZS=L^r82U07BL_paR{wQ>jFZ8ho7F1a#_<`1AcLa zRVg;jrn(sHK_~<+%i%{9>sT*=_(Dd9nwcQ?v^eXbAPJX)%FcD(!zlPdY)w<5;|Ygm zr)expR$UiV^nyccaP=c%Vkd_l_U;VfmnRa2>C$D{X4+nc`P8DnAW7d%N0=~#%D&2w z{EX>aMOO$|3rE239(?%PWqX0K#C_MQ(l~rPV%NxfC+6v|P|$^mx8EST@=sI^R(afu|NHYNekh z;Ru9QCs_c8O|6wdN5Y}d`FTP)MpsIzeIrb(%~Dp7GNkv8w40qqL3I(%!UZ@0T97`; z)Q_As%uTLchaB%R1OltvXb0==izc@J0526mI1U}I3dq7Z)~3xt>_b__k5wh863d=y zMN$sSHtXP}GUDq1EceT8MLPHpzE?3@RBCfrmXea7S2s|e$?XepizNxn;9vMjTWTkk zNG}%g>Teg|sVpq>DQSs$gudj`POp?CrMru1lr4K5a}6|vwAr@hu$Q$Ur@TT`!&?2N zkX&B(2OvT^8>^Utqos5pNcLfM>;_&M0mq^S8QCq^$J}al`jVNdm2@K(N_#TYiE463 zaFPY|JD!A_lWi_cOX=0V@{dtw zlc|Qsik(R}2@2evkvm&`Q0{exNVQCrt11P?!tt<@5p`Qg0u+`~a)P3M)u0Y3YdY-& zTaps|&=hV@NCXUmEpq`eAW)POv}9ytJvC%#>l=+nBwHKA?q9t`t4Qw`V2}XJbg+nJ zK403WS!fI9Py~5I?6xc{EDoA-ips|efUPLotC2aJx4x@?nlkR+-%uW=4h@_7z{_^i z@4Q#sD=Q?|b5E>Q{a`*deY1b_LbWlifWMqzYU6HDn3q{2C|>!`&JJKC1qV=FzQX1V zQ$zEN4U=(k@Q%fG)<0@krGqo~2JeD&wTM%FAlXtBZqe zA?ksOs~A~Ns*hBirYZKzPOee)G+b<(l&dKh8VwGR(J)r>)TJA#T9S7$8w13J#N>D- zAYrgbg50;ftvt+ZDa&6v{$>>SH@=#U?qDIUH~2v~f{O|usl&U9{{Xr)OP2T5@i3sb zax{!nepWV)xJzW57jNNO{{ZfRhvpORyx{a%5NSrYwYk=REvo zG^d|G^;{q7FnC3eLmDZtzm#>yCDtg8`Skw))pFnFF^P6#bh_a5QH22(*Kas6EZExG z^U^yIU4*2`o1IU)H1dDS;SjD~yIPfSI?Ymbmj=s3!hs(UV`T)5ZEn3IXh+Y=7;v3H zP8f!TE>=Fp#Q_HsRn&o{jPrzivqNm&AgsQnht=VP^(>aM8DlURhgfp>z4gyTnQ$40iCJ360G?!6S}Xqm+1*~l zlsCA5y1fy~#Ys}~e!`Of0CvN6Q@P84YOT>>wSup>i$fTeC-GGL+wu)cvpBRmmRJNK zzX;eJu6YRYZMk;sdAfn@7pH7eT}Hr0m-i|~PRG=`Khd(dhYUA~s7aAR5iaB2%HUBR z`W;9r8s9<))*yUqo3E>d4@=;`q^VL>I)jE{n2FL-<0$~4E+_=&%X6xd2SIpro1!}E zrOOBkWU`RhJhlG-czH5K`co~qf~j!&kWjQ}bWQDjc||NTHkw9Az%n=QR?^dnn&y&o z7XJWT7cus7!FWR$;_2o%ql#uQZWxzkZaFeir&hNH&DkK54UNbj8<7^i9l;zloWZ#2 znInqv1x{TrBv9shw?n||_!S9{FwBk_#WNDrb(f`-E`+~upb6XZ_=tzC4h4X`plU!0xe?er zOrdbEiFkh&R_POXiTq^EoRg4lO`_AbQ4T1SsH-5j*OYRc-6c*_T$^bmmaH7Ur6ijR z^47+~$~PM>yW(LO!44J&7Pna%>TT4g2g+_mw6a-(v0J!qqk96|ga<9}SOPTG!+*Nl z6AX2kp7x^Z!OfhT5o>|)ge|n0n>s2W^>3LQflX0oGiAvuu zWdDhXp!Jr6SKfH8=d#G z;E@$yW$ZA=HE%F~LkMzYqIGarXbgJPEFwxML$Zh%fNpa zTT~%;B`W1bD+EF;Hih7hFU3>asE z*_W$0+sw>>r66~Vg=PsVN~}oS18Z9K-Vx#6EyVN+-Cl=>sufygC4lWlZcjg^p z%Xs5(*FHIM9TjL}MTrS-7dVPIvyQ6xoj7`vg~aoqnr#uD>RGEKCgCKVO|DNeNwC@< z@Hc1NLyovni+G1AGa$tW3@r^zB4O;Vy0rw75G}|lJCT@>1yf{;;6K&I< zluXOWl$docxh$6mZE8)zR8xBr0+nJ$mpx%*iOh&H1BTY&e7KJ+liJ{2cMGZC4zbmK zlD070b;^raYIbA1n4_X?!6xgaIa1=8&5)=NpAi?(bcvJmDoWf({X(l|198ve6&)Sr zO4THvM(w*5A>k;Ho+-Ds#Eh8GS;-43fHlqCfQ z<8nkYE>x0q({X5%zT#);jm#lALy6Cn@;20dKPX~bVK=>j9(uq~Jle%rO2AFRK-)(( zyjR$32KPlE1o%%xo%Vz5oWOD(kYGj4lYIuD`f`Gclwr0+wA$5^#z|H6Fr_jHUaD=i zk~dRe{=cjVB!Uuet+gMI>#QEtv}ZfXwYV>3tgSP({)-PcdP(kllq; z9i$c)e8|3?dj1h7%at6)nw#?F5Xm-P2TNr-AHLr+1Y+4CKR}snAZE#&TOxA&HSRiTMCk%A!jO*q7|*}uA(IPQe<}yOOtgn;ZD5)v=LU^ZN?DvrvtDQ zLkaE7N!tD3v7^6ZeWA8x%tAW;$`Pgx;xMn zdtT>b{QfZOA>Gf}4k?_CHseb|N|qMg&S95frm+gF6}GapsVPnJt6j&eI-FeDMLt65o}oyn zN!CSKhW(;V#3d_3UL^%>p#0)}hHF!m89wQXOxunP2`rQ#d8tQ0B0q%Z%4Z5&vXBm! zS37O^MW-V3lPv~rkU<(Ay&}5d zt~hrEqI*B?`(x3ci-tkc$$3ht!_c6RVn)NTp+WSu&KVE@p0^5CBS5eNsTu z{$l$R9Z4}H#tFN*aaFaD+1tkqhwP}iO8rW^G78^X!n9D#bmXK| zrK%36!}V;b)7N(_m_5GJcxqLUXjpYAK^IDnMzr)uKa3A86d-=I?H$)DNb2Q3(}r zbo#46%u2N|rrUjOf>IU-zoA+{Jk}x`IXtknX1Lo;{{UaoG~?=Nz_!jsq}?QbFp=j1 z)~j0l(|E9CVWf~XK{>>WBZS4Jhy;7a*5|Z3NlY!tMp!`!?=m2B-*{k3yb8Dg+{5M_ zC3CdFsU7M`9)y1==|^Vi@f)}W+t@L*Q)n_$%__)gq@)4R2$8lB@^a=Wx!j!rh(;ZK zZb`JAtc@?v$|RDGhjc0f$QxQbwcz3;uS{)#04Ws0(9;3D!N3lQ+!(~TrAoT6o4Al{ zPWxIL(BcrB#N3M!{?MAQR5CbjsWt{wwJzfCZOBQm`=ER`ASV-Hb?4;MikzEq_ij|B zsbxn}P4B%0>w66ctQJ&lrt#}wTFcCiXEd4C!ErY5fOIgC0U&4;G#ik2)WnvNHASmV=cLV}+D`0`t6IFW9To7rUvoGI4Jot# z0D#kwZT|q;x3|hUM~$?$D46nTsU{I7(MlGCGLV3iZa`Yv#y*-@HjJf_G_czJJeIW2 zQ?p_P>w~HiPbs}5Z z8)9YV3Q}280)^f=gTY+KfR$K*3+a45sbX3cPOl=%uA-RA<|bvsYg36sX$o|v!o(mc zHzwB1Aq-D}`?qSYW37s&J?J)22dv!F=y_!4Af%D&70(c>MGH+mrSiLhI(i7R=ceT* zDUQrBGJv$SR+KoB3beh2_xKyfK2&C$o11m#Nh?~4lw$j4MZ9@?zqj3IcGX7aAsc_Y z*(c6H2LAxk9Av9A63iBZg-nxtire80YQ6mZU`Zo*)VYDe#4JN3bZ*4cWbaL~XC9a* zGL~+U)6B!!oJmSXYukIoO^3)(KO;1ib$;wi2OtoC@(gWbSX-er!5V> z_}i|44={AJZkDj)uATBWRi}{=J3_Chc)(MIMPgQtQVo>q@|5kOMgIW*0I#|uPLpB| zy&>woF>c|3{{T%EP#aw9{GpZa4sv!)pr&ZEZYdMQn*A!M6* z*nQ;-a!!}OSVZE$%sy~HI4KyM%fgm?|lgPz*K{qlqga; z4SHGtq>-^YZ>%NKq6#brTm0Y!8MYeqg(^!h+PCi(*zlHX?H4GGivM#^*tZ!^w1>#UQhyBlrMS zcw3Z-GMc@=2;N=Jw}Y~D8b<66*EZ)1be2RG{5AsL7|}(A;Xz3Wzh00WruN&Ub<(0c zz3pobQLx@^{{RmtG$$$Pc*LhuVXSr6Sr&xY3u(>=kdIgxNCQp82`L)GZj}~WHwS$q zWfstz>9B(ifO&kND$sNOaF<+)DLRX6AfnyQqVS-LU#~$0s90NZ(jE#z6J>3%s$=%t zCtoW>Bt-J6fU11J1MC=q#l0Eqkg6*OXd@og<@(0k-)PgnzFxfJZSS-f!3H%-hwjzs z3CBoMjZmNm*)W)BVm7Iqwm0VoAnYKW;M6B#3@J$6S50;%d^dhr^zDr!SwPn~4kv zQBG+~mXH#PP@Zi|&I+6Y!r92w{gNS%A8}lZ#H!vFB z6=G&w(;iE64K@_faiU6AGZW!DSaZ_Q<-^t`_)j5FnWf>HZD^L1lt@%rFCeW}vW3(v zd>~(;F_>jcSTJZ!uh%n~%-dcT3eyGyyv@X1j+fv+b=n@1y(RevTl0?k>y*-9kojKGrQ6yU9Tm6xLIJc+U@lZDb zU?gaD&%c*)4yK6J97W^L7FN2Q@J3>3#@3!1i}U2E;*#3RN`38ZXeq}OMXzxOt<@x5D$22R*mN*aZB6AW zNlsyLak!5`2Z>n%I0ce&Z`3B(m6mC96EC=ynrXC>rL9K6Aaf*;A@Zk#D%eL6Owy~; z4^t=P&7PN-PE{nsWh$XFNUBNC$U3QM*;kPJ4>zKlaU>}!9$buFAmjDGv(I5fn01*U_lNf7lgpV8jwM4}nSPPweK=@nko91w}a;Jx8F-j?u z3!pPI>}#J0`lLHxaue3dN%)9Gg_tuql9e6<-#`cDe8p(TBI-|FJJMd4y6A`)cG8qfN7QMTz?w`A3rjG$8 z_P>4jD+h_r7UY!K_eJe!kKv>SaOt?!KpVs77hC~KK)#7k*VY?pfh}RwB=|`J=gKH) z{{ZSUsaG?9*>^y?53sEnGBtd2j2}*6{LkwU}&uJK1r!!QQ#S=^g%+0giFEYwf;&Rw%kcD;iJI4<3qNnti5Gv0F zW(DOeLb3+3{FJ?^b)neh8Pk?}uV)CFlN)1QHot0l3tg z!Gv8mk3=Ve%PU{A&LmX>8h2AGNtUQ5+1yFm=iU4C_?S(_EHrS&H=dKWR!Y0Zk5nsB z5WG0GGd889lr10>l@u zYnLesB)~XXz-(*Ac}zhygsB3k#RgbR&#&4WZ@NmeWdJQesGN(i7xzu=7S{%QIZO7E z!_#WO73m6nYJ(&V0pcM|AHQiFZbN)$-4Zd7y@@n!Jl=65R&dqb&0(wx@{3E1nl zoV18w#Qo@m+4s4`H06-PagnxtZiRjp5DB>GkvcLUAZoHmx0F3lC{xw>`5Ij^QR(^l zr;^0HvnkBCR-&k&6PWPOk8i637=`5>-Y+b5ip%52z`#qLQ>Y zk_aP02>2MYnoKr~e8%=niMWA(0G@EGRSpC3f|C9#!jjcViX`G5nxNGzre*;9Dk;p8 z4mxYO13NagA<}ud=D8n-W)+QuWvf)BYh#S~nRQ>n)!bz4C6|J-< z))7ihDwS13sUs_H>urj8kCoyoi7ArqRkiPHmD^;RKL*pD2e{(q(ZzZcerd z>C^IwY_Td)I()C`_{3uxAf|p*;s=Q(CjCJl&K*i^E*@b%qd2j0DbiWXgn^+N>ubT1 zhbkMfy}%>$hFKY;t+K0<0#5wl(p;oVB-?Rwf1kn}_F=dw%zi5not#K|RY@Qaq>;2$ z_{M*7AwyY)j&Hgdr=z z0g|^+RF@gZ1k^kB{{VFO?*+Q^{dvQE8f?l|>{K$mgsgNtzbIQxnqDEoh;3>f()*iE0I7%vk=qz*9u)Yv=S+HSIRA9v@XV4|_|? zP(WRV$|T>ekp{)@mL5ubyr@>CAvOcjB~p{kPK_J|B-mR^ecQx888qpd0S94g1lV7h z>VIBv%0M@kDk`FPX=WOiEwsTG2R32==X>5Px@*D4vV|0-B->G?>@>fuLGXo(GT~NL z#$$blEB?IVYP5+-%eIo1)Iqaje~0UoLsD@(-APU`uqmB4>v9yFx{DrTm>+~sxP6N! za26z!tw}7j^sB*Rp&A7wo`hTP%0#ZF{V>hcJhW?ambC8gfZBQ5l|g<1`iH;PhY8BWZ! zu(#H{!qzI~)-9Tj9hl8{}=TQxbd+*q0F1 zl80)`YLPCY6hr4Thy5dCr158b@s7vEm(7gr;#;Zf}yf^e+2 zafT>KN&w0gkt~lZ+T{F5iDjW{NBo%sI%<4^iIr|~{T3H`1zut924cF=N`*1TTjrMFH5#K5;0>8cSsyz@I=9-J5>ytX$*NvK1X|3t3H7?JL5l9L#X8-5 z4{WJSzim8j6s3VxKG2ZJj&HouC+2yd};QCC)dK8 zsu51{qlO$g?%2bW_G%N(lj3EviyL3W;>K@~KM3W@je2FtS*yCO5Nt_0X%O0M!G6Cg zr(E%+WLT>CwEqBjR_!LRABTyp>#6f8rhvGO^o8DmTHUZ}DdV>SrZEv=4AgM+(eE3V z2g5F~0XM$d=Rf%;X!6#5u$NXf(A&f;N&Q|uQ^C^`j#4Z1ii-$cE~3H_I+fbxlbMxe z()R)E=lm#8=N@YDM+ePdd|_6jPomGsOs-vP*3M-%3mrm*ln+G+Gi6o2cf3k&&1#%;Z=)*NOLZ~?u#m~B`kdAHN`_(rX&pr935wFrE}j+9Tx zWguBez5QW{(Ps9xu_D8g*=o|D?3HS5Yg_%HviyZU9OMhAskJ*xHbJtIkSuQ!T0Lkw zf|V$xz&1L6zR^!pYl@k52uhMdbhtdad2RZ%PpEPp)cak?EYZA)=P3!4C(Kx4ny0(P_sOsD~J z2RKVDFypTfr3|22!9R=p-U)R+V%tYwH0xxN1lb@FucRec)yyd>_f@T-a*{OV31?7j zg^dm3cAV^(;g!*i658^ek0Tx9!Avbq!n{AFdlCS4dR@7>hyK%xQg6Q?FJb)2CxhkE zr^+&dRkoYQesJks&H%%Wg(t&KVFg1_Y}!Tq;~o4;;vr)})aJCC5unK9ZVE#(;2?r+ zrL-50Q|%_on#QPFfwPk7@d9}m>RE?_i6jB8r%mIUyG=Ketxj_Kt)dN+&hbI8&KkD$ z1zT-VdQ;$o!6|+hQYPgpxU!*CsZ^B9tNJRIwJ;ee%n+AcE$S3G{(0znsvDtOC7 z!u2|%w7EIYQM4+m zx=w4};2njn`qDNt(}^bS60>m5V}{KN?^hJKbB|_cX%m#UDV4gi)|N3nY4o)&%gQ<} z*5%TWi<5G*nIP(+VpN!RKJ3v^qsl3%u!?RYWlp8ad&)>#!6y0J7qZiogP8>LBxSOV zH#lsS5=NaO$*NKjz!4MTAYWz)G+RVr-FE@^V}Eh(o^ZIwdT^Ms28Bd4rdvo)H2 zFi@w~kleLJ4W$iFizNyn006t%#E@>Q*pscdh!t{*x@Kg&5{0&)kzt~N*5LCSYv&hG zR2TMMEbq+~JzXB)moVMGnH1R1)r;QO5L3_Q@F#2U)(dfEN1|gvHva%I6jr)3CUilQDQ>`u`a3JFO(;O5_32|yMko50S2q}(f5c7%)puFM4UG8Arh z1FR~dsU@kjB|&N-9wTr?)BzC3F*3KEC_;YLW)mJ@$L{bEj_ZgnF1UK((mud`6t zR>jM>ZRUTVhh-=LZRSm*F*(I6iqgO^#L%^CD%WlU4vvE8BA#17bOJfgSvgv6lprbn6JY2FBxZHh_zb zPox+QgG)weY;Abu$RBYLglY|ruq6O@fZr*&By@#bwYVIw%V-Y$PnnI{$Eo?o8-h;u zHibyA0kIyUH*4;G9V1G(+Qg61jqY@?8})=-wQY|+P%cAXIM$Z{^Nh?dwf%O4O0{d; z9q(w-HzREfZViJMWdBnX01bi_v`gACXI{*@82)hF}>jK2oLT{6Kto@ z=?Q_}6t%CUCcd3wHt|zCg3h|Z$hKXek*plp_`;NfRn@<vS3ae!1)uiOrHtGU|0}H#!>-6YB=ha9pD)OVu^4az*qZ#WJ9Ur8}sAcQ!oX zuN`8C08fo_ zPT`=n_o;9Zb7PcR_af2E80(95X=$0Y)8$!Pz41e1DP8QxTC zRh3mdOfuQ;XWH*dv_@Ma!Ufb+Z)@0GMeKVZ(Me4=6876X^#s^^q3Wt*a~~61dxL)? z=c4lo#i4IE-M5eifHya}%c=Rnb5{(?-~RxnPyVA056G#ek(oJFkt0!S++2OoYm~)L zQIRmxZsfYMECKdO(O)xY_pReaj|Jv?w;PTr4K)B}m~-53YxRV$%qjO&wQF+fXGIt>!2$;(ynl+fLzjL9Q_0{1IM*mv{E zowOchT^N>{oFRd51{>Kls!Ox)0nJUa5DEVPQpxy7oVcE7&sQfN+^NNWG3Z|&>iyKl zKAvq~S4yPI(%U1F+&R_VtYHbo0>wd3*k^~Z4TC8yMwHe9o*b3?ekqvd#^+7Nt09Ko%wJI0FMie1av z;?ATEbckb8BQdp;)!JsV5-Z7 zm2&Sn{NlG%!!|{nPrNnE3`I{q{w7E@wtf6mvqQO&(Vaeti5OO*5aLo2Gw4WFw1;;v zG^==7m9XQ^S61@7){VQQqm_?S@%Tg2bIe;;QGfFYTEycww|JX>nja-x`Ebw8M#@-J z4B#rhWR$X>`-CcU3fE>7p7E6|p&~LvsmL!LhmcKou3z%)-YsBVePB7l*W!6{@n9r=0&>ONYJlq|)vDwmsWX+cVDe90WG{RA{p-b+)XKkl3b3%^7Bjf_UuZz5~CBFMn< zIikwVfw{K#>l!LI$_OWLRSq-q1qxQ4>Cg>r4asSFvIfeO2GJv294-?a2+0II=277V zSI`0YebA{hP0BWvJOT;%!7jF@6QV+udkc*|P=(1Qp|@tHd}~0u5~GxS`3R5z?NoT2 z)b!0kb0j6Pl^Evcr|%b;wpmG2TJ9tv$fB2q=P(hHrS*n~6>BH*bMimshCCznr* zFyjdnxZ_W52+DmwICzjZN>ZEZFLF1Gt}q@6Nl!hzqP90~<+`(xyU46mFAmQtjaN=` zeVP9Nt9Ii|r2bpRV)-=71u3+WGiDap5Nt#Wqa;$IokEkYkgA}QRl}ib)#N8z^B`OB zv|C&W8!tSHr^0t`i15rM*g~KtB}*&5Rd`72ec_T?c(n0sfDP>ZK%HR_a{1;n-v_Y=nd}>8Atn- zk`;gD4-6MWq0HcrbQk?zE9HPAVw~E_cP8jVg-NWPuk_0FQo$R zq0^G3K`S zNx#}n`sL>n2WYcY_Y&L8=R=7LZPwHlhkU{2Kb4J+kPPo@-H0c`$1%8Elv15vv84*K zj$4GCEN}WTBBZiZKyU=4s@F)>T3Q)tGOKa$+7ytGkWO6_`2MwtRFZp!Rzb`Mgan;> zKu1(b$z7eCIF&Jgn#EHsFo)EdQ`3n;!BA4#@eX54X68RAg=4PP*uxbEP~}C*S!V$P zUR7Pv06dMYe~sXYmZs<&8?Dx*(xlAQCR(FQC>=mIb>cMs6d^u&h>Chs4o=N27H2hw zhyi_1>+p-%CXuiz%}*3hozh!0qNR-Ir`%JHy0xf{luzFhoG(86)V7MrCg%F{ zzw7gZu>Sx9aTX>20Oj;q*{hvPY^aO!xr@64_DIGrNwkTnM&uB8FS-FA0k7Q=z8NQN zqG3J3b7qPo+i(h}L0MJJ&Hn&j&J;H$`?{bhRvHNEsyAgCZ6aUVE7i7|Z91s708hng zx8V+Ir0{D50wyMzsJ__H7ZmmX0PXPn%qZCtfq6(^>QfHVh?_8n>^Rm1EICAso$hu)7_>pei=u1hj98-K(Jm^ zGB5s+N%@Gc>fNhxO>$(jD7k85L>~;ZcO-SptB`#y4iHem{YguYCXcC2GgZs-M~A&x z7;Cefjul7JSc1622@JZ+t@uNETx_7-YPa!UZNQEM?aji5>2A_1sL1l&TBH>;*$Pa` zTSzQBo0(H*E&l-gNgIg2F%~$e)!7cuPCqpAxxC>~>(A0E-Xda}6?+OjgR!IYQgj*T zd+7?at3CSZlL^%3K-F!iDBKH>MZobABNY${;}p^1w_B1p{nL#+*c|zvi@|U_^*h

          _RSAa11{fFG`1M06rJ1%+x8>29CI1Xt6WJB-sPvwixT z7S#!PEu^a4l(01Sj83S$8pT+mwNIpQ>xZ>kG?EsXRo7Z)kE2YlIQCV%!y!|28)jsW%ypv7C=vWkiApP zefERF#L;yK1Qlg)%1&~vG^bVzY$-y{FH7~bbgmVXW}hN}+Ag(fr7Lq3R}G#O2c;#_ z0vipb#oKMRi}Fe96gJ8T)Qxua5rf)qbEP9iyr5uYLp!Io)STwzsF+2H%0&Wk4iV#R zNH^4*=?dl28%SADacB5`(T3{esD4e?A5kGG&FCVOWZ+O9#BGvzN)s~zc@oM$x5{Z4fciy0#uj{lWNgpq0m7~Mr06q^XCekYbv%q zZ_*0xROu-~N|kHaYHT8KQww+`)QO`dI@0w{MFVgyM!dY^qA&(Et;lfo#j2#X{*Hgy z8)0Y$)*6COA+Q_AI=GyU=GZHzSiZP=+`4chsP+}jxa;X#M3Z2?={br208uefwc5u- z*EnA=tTu6TWFe;66*s2wcB0zZRYioVU1TJ@gR#E<0I$L#eWNB=sLN93m~}2D#CT65 zvGRy@ZfWy6^997p7C|X%HMQxk(FUkiCTH6%I;ANICc^jE$}8yhb6YcKW>(?eh^en} ziO|10qbSp@O4OF})|S)U5pmYy4y#p|%;64&6>13e{{VQ8-8+y*xn}U4S?^7J48jg zWYcXe?%~qHY!vQOmsmDLu$i=}{K`N=#gJ@nQb4!H(KF*~m|7P?_eU#UQ?+ebF(cti z3(T@J0botxHF1+PnMroZAY7|k*qB#|aVPeUxiwaGhUH$Ebx$b_+#xC^=O{XXbIhMp zyfjGFM72Y`Si5SvRpowg$e7?7NX!I%RYMkpYK1GRS_p zD3UG$vs=&;`9mJ;EiUAq#^P{qHDb%MnQ3;J8V1r6@)3$RARV{f2Bm3WY+$mpZxm&- zChJd-TN+$j@{B6E*nFU(q7OlR;|i~1eJ{=y$u5semKxuvxr_xmYAxpkl6BwZ0nM0i z356}us&E0P$^tdy3F!dMzOkUAZ!VUFvP+{5q}xFn9ItEnhyh)OmeAW%8Qy$EN8BftBb2kTR|Gnt-1Zt%aMRznT=Z8U*a}^1>4BRvx}RU>n=hh z?|9ii?*YxPSi*09yT>kAZWL^N3}}IEts5s}$o?^+H6wWC$R$3PfRvNDJtg*v-ri88SOYK>cNmGm%n_! zSQB~?&I0%Em;PfLM@X^Y6>s+?jU8bxGt%&(le7@AWh>Sr8mXP2TN{tU4MvF&M(}bx zuL@TMWbj)Z)NloEetMYeOw2nbrb^swF2JcLKzZmRr7GR2IGuxJsq)l3TTrI8Jto7m z2$#y$uAAsUxEkDBk&bBK?RJYsoUNv>hb3_e=4tC@P|i%e$|T+^O`id!q^&?^0V+9s zS0LKaJH{A^HB(J+0^%8`OEds&C>c=DPNZqAuXCxr%wl$xGaX#naCW))TUD;0keXL9 z$1mMjc*?VhIFo@ewA(1C)xCjJ393&awY~L=eQQW{c}~6AMXq)t+eGhxoGX*!JvOw= z-Zi3Nme^Bj_KL&lWe$)?C<-KNay0dd>w!FW;wK2O?jw5$PNtN)lZ}RE96j)5Lg7nG zOA2X3q$FKQKIpOD8)cfT)v4H~r&XyMgxx{J%*;3t6P{&G73Z+F_g=!<#&z(BuMr?L zJ0LjRf_=#FR}6FHIGQbSuXjWFnv`Ps8LTfwpPXu7RcXvroRbwPY{p&XAt3lvM=+pm zy@-s!m{$;0X%+lMN~Y9%q)B~a(#cYg-n!-~+UX?g=Mp{{@W!je?hVgUrZHX{!j#Hw zWy!_8U#Tu#PB^9-0WF{c6i!~3y~nKgf)(B_NpPPQ;p_?~>U3k9+dYC&E-vd%Ras>v zNxBo|&H%eZOD}VBG8f2ZGPoM+$Rc-+CgRy!Q(>R&>bXKm^3`RA+HFq0>ieW212H7W zN_L@h6}^J6-4avM z+U67j+(MPRZ71z7s*Zv!Tvx;ioNdB-Tkkq1rHUT*IT?|xt7A8WTa~Tz-Uq6x52=P| z+i=rso+t1XD`0j4#~pnan>E_I^N*=Zb2WlfmiHpSC-4y=z%3$g={D3*B~c>t&Mjue zBqzgbk*Qu$ZFh#=B1^R|T$t`z?oz7~jJDUFklRmnhG^?5X>QE8;0@*2Bwsh;nDx@p zEil2A?7Zo&F;o)l?R3}OIQrCbl5b;p7?es9O4JGD0f#2o4;K~+hP!#j-e3l9s}p`& zL3_;XgDv8l8R_R9K(pjs_12uV#YZhi1i zvLGQO9&03#Z$Liyui8#6rgMR^u-V`l+R_o&;#fP0sqC96Ma16TLulzf%J^Xu{9#1$ z({^c63v%RawOJsKhG^%yt6tm0NfcZhsw*bev~_O-CL6+hJ>nKDbvX-6sgx|A;Xyx& zqXD+%b7)%|HFItM0QNTaTDmB~o$fpjuu(oZVpPAt>_Jru9p!rwOb~CoZIXfi0JKLA zx(b%7?R_JrILkP;xGBThQCaUMW!#=|Cz_pESLYR0Kj1bv;iep+SMeqtoTO4~trw}& za|r=62(UL6I%uFkHn<>-BSHK;##2+c6RVwW;A}mWcGWJHMw@5{u4*TSX>CqS-eX4G zyLUXa-{GV;RHR&{PfSWYGPu&pR1cIq(}S$bFmnX%MTWb?w~ZKWEYmQ~BbG<^YMhuu zioU(;dK>xL#xD&{3YNy>lkNw2&(vK8De==fM(W!i1NJshx*`F6L|o~tNTleqRcWL( zD8rKuF2N{mIf>Vxh}Ih;+K5rL>@|;TyC8Ndr*?6~0~6G%?P406vSp^olJ11Elm=xa z=20fsP4v*18m?X3t!4G+pd3$vWJRJf_i*9N@?L4sC6$dhOH{-2Ed|wRs`iEu=(4hF zVfQF}1XF6JK0ykSWPh$be&R=B$|Y-x7>^#)@dVVI)m2Wo{E1-&gP4^bhWFO@=3~r` zB;l3eOlMT4q=L(DD4|_bb7;=d)nJ}To1xF|Z*_Mo8&L}-2QiWQeU)&UW2awYWd8uG z`oXBDx}D@&*K05O!_rXVR1Yoh*Y$W9D!B22JcL{s-T8D7g{hO+UCckYqju;+KEU62;3nL;m@1Kq6FoEHxLl>JnRNj84N@0YlLS2@NmLF+a zpSmJpIW^EEo%)!Dm6im%o`|X4pbASunG^Cwl`8WM3k&_E@;?heURFme5;F}*BT@Pg z!oowPC1GXt@3Dbc?ew-Af5%A%wcpaKb0 zM3xtb=3I1UGAx{}x5;N+PnVQPF++-Gki@$~#`w9m=kz}qE<#;0l-628N>rag&IpOv z8IOs`DCBN8VBn0UQxPT{E?LJ^0C7qHi*&Zu5amrtOMrk9gruY;AOHs|0STEM%U<== zcO>r%8F(ikvDZ$c`oQuyy6A=g&=K`I6s>YxH#81$qFqIjM&3}vHHT&?X$oxj%#R6J z8jn#DMyAp--9X%1ZO`Kh1NU$nW=}hd0}wK4Bkb_xrF2YxYl@4>FS`I-5(cE0UiyOD zSh2Ypn_kfEH$;|wLFNZ=vURcWpNH~sF0-}sQ2Z$__ zrm*WRJ8_t(fJn8qhNa0k!mOm74xsKKOpqX0*bN4-$A*z~tRxj6mY;BBxy+C+;{I^; zEis(taD<(%MXmb0Mp$$y%P0Z|GIjEYS!aMM1QLX8Yx5S; zB=m~Yj2`iameSL)O3G|UrrN{?QDs2bkdj6Gq4GiWHtT0Ph`yv)T<;Z9#0s&FQm$Mj zjZ(LR6$g;CD2urA3RDJ{R&?C#2=OG1V)VfrJ9`^WQ{^brGSjAE(2onr3P|Qi-oocy z>@Q&)t%cZ_s?STw$V;wrZeeL@rV^aaEkxKQAVs-MreYieD=Sq}gKfFpB?=0%vnd(! z14(mI@{j zU~Q4a5TU8tW6mr0X+s<}GdYCQFxW-a^kq_Ep!$#iIgqeISFQXuzJk}jnl|kS?RcXN z>P7ulRr@kfPW9yXF2t|)_?DId6iO7cEhHUgTq+09CoR7CgHCqC#u%1a-tK%!Hl=8p zWCrc%t7iM-jpxNujQMJ#Cj6tBid4(Zlo9F()AiCMxI%2bCPGSy%zQe27W0PGRaCi` z-X9FTlcA%5r{(ikbytaXdfTdgZh85aRjE_UDk}JxXL7Lf>p9#fpuOR$n@5|TAuY0{ zgQ!YGSr}u0*uN7c4ocCcR@#Wl;?Pi!`;CX+6qp|=?1D)Jn<~e2XO| zM%N`Ilq8*RpuAmC?3pCaR@;^G^wn0>Z5WyTGk)dC6>b++D|ou8O{LS-GMRaY8v1~TGU=6`KBx!whj)vl9C8=OcGchwmqWfM{ zElN`Z_XfoGg#c|uIC5{QwfPR=&$*2OH#xaa{1ut`1Lw@|qeLeBpHWO%j2RZPv|CUBKa_E5G1?SFJr z;TBU%At?-`>aamr@eob)ikFG2GCViOvmV!x*(oG6+Szmv@|>DwrGQ1kfo*PWxYyP< z*H4Xt02s~v6vT9fa#PC%yZbbTkCzqW^IO|{&5WZKANDHJ-L)bJ3^uW8rNhO zZPGhI;91guD`{!VYu~ivb{c7Q06zG0sPQWa)~S;WOX50dAq7MUlw1y{UA<$4H5}qa zhjHd3!gOlgDvei|rbyQrOtne5RR+w#Eh)X|DR6B=K>ps%vR~t7<)0o(U(1?)m>V-Ltv0WyEEX>^M=AI3-#IjW4?oHHE zk$tz&9l7lhI(x}!1i3Dk`^Jg}d))@Z#4JXm&rdC4;o(jhsp0HDPU1Zpc~aF1MRmDD znn*q+?$L3%kW>l|QibStAt%z#TQQa>C@F3QIQNKsb=P0OUejaVQVN#aw^2C={^t+g8K`=50SL;2#+p0`Te*n za2+&6i)+K^ICmZ^on~9Ij#2uw6)O0ZQ_BfnWwfTyq^~Wr3mf$oDi-sHI;^Ut-%?1n zy9m3xJ#hm7(C{A<=~%9jMNS~AP@H0mRH(?AmYIF9Z>Ya5A#A%!oIq`~IP30mLQ0gS9-qz!t)*>SLtbnFy6Sp^O5#{9PDyqu ztxRIfK;n?y)a%79ve?{{r>TotpV_^(q@|syyjNLtxwizE?yLf#ngl{ht-d_!Dl zdrnO3%Q$__^*(T}zr_W;RcS5e?t__Dy}&%;ilVkj93i1Smg;%;EmqIjQ8lKcXbZX8 z1Hm~;@M{fFm_n5(CYNu0-A~^L+ojOtXM3bbGJ|udP4wphn8!$+VIVH#fKIy}Uz|3} zIPGD@hLWYI^s%x0qO=L!b2HDH(FiHoX2ikdlw$TIs<>*eBHIXQg2I%Nlv>IFsV4rQ zM=dGbsy5U|SWn5ZDr;lb`cm}!O*N<@hn&! z6Yb0*oK|~yi9T_xzygz{`T4*>7vG++6&sGEZ5pMAB^(|OBsS+QmC_4wl{R+0_8`C% z2nkreyZXill!N?9Jd7>5Bqy3Zw*u3bqzf&yHn&(L1g}&pUWa%RTstb_+~KxP2bwKO zC{^PIw*ZJxq-PmPze5SslG?~R7*KASMUY$;%NhU#m>Z(to&4Yk8d@9^PN*sOV-HBe zIY#pDaSpm=mLy+z0@cbfYQ6NZfNu%{LRR_j8s!-o4ozB(#zvu2Rzubi7p^npl^?jn zEIwfama3&4gJ++Z5d{AL(|2;7AL=)~PS(2}ZSaCr=BH5wE%FKJ>-zJ8R{nq!w^+}H ztK#IVz0G1k-ZWgb_2+m@9P`_(Xu2(_g~F2P^tvy;(XhV}<_}0pRskC9V}0(!p@qV_ z=>GKW&NNk_*KV+#PI*SV+{0TKTq!P;7cXmQBVo{?eZ3(sd11L4Y3CXaTb`XS9fft$ z!seUu(L+xZdV4I3uv7x;(f+B%OCU#&?=p`$BT%g@BD_9HX$Lx>1~4 z%baMg-AA7&B&=rM;xMdSYrgu&SuN4&Ubi}01{}Sv4!q$pa1pkUEcQBSaS3JDM`r-~ z#>KCx*UwwQ8Ob~E);1NO((sl}x<1}U(Sb!?uvl2IvYbB zuymZK`9plN)Rmm5&v9!JcvMnB=3C5&m-*rO4EUQ4PgQ(OI z^Y}&J?+@sdJ{U^lO13klE~u2Wuk4%7lQt6IC8Z-(cdE)Rp=5^kI@W^j~*-9gr#sLdq0nRF$jDI}pf>P@Y-qUSva~Kcy~#m zOg7ru0S4h=cDW>{P;H^!+N6?plZfk>m*@q|N>f7)Dpp>jHj?@f7J>#~5*Dp?18ejq zFm*7yc<|hs4=dkJH~jKjDtWOM-!pEX?KWZxq4s9lLh_WlqEoku!(03!{{Y}$7sd+U z{ZTTn&Qo1(XwFa7WhxFg-!>8gSW{qtdD#B|i0KdvJA~0EjT3JfU+i1PO*O}&d#rrRT zu?7|3%?4($gY-Xi>k^JDC9{%FXc6PZ>ZeCe#w%e&!bUx9|;Xpk} zu>SyP=-Ek`dhY}){{T+RPyIO|I*}$N$ug^XWGVCzqoza_!6~)w4UVw-;#-0+0BE*c zzdorM+3k$U*Yoo$t}X2=OQ%Rzq!Uj=d7hO^t1X+I$kcL*zE}Iaizq<)>zv8_{{USh zpzHWjPZDF-+Hz5K62(2FsVXHX&Z17FUrSmdGt}B$7QZ(oJ0z95r0P_O$v2XvBqi1qkgIM%wTRnM9lJ`YVfr+MHK|4#mzS4XTw5|tgeKhW zu)I2P^0S2a$HU3=u&L@IXmpvGwLayCc(4(b7EWTU$4hv3)PZ=Rhxn3rR<<(_>A2ee z0OR+%v!7wb9X25Qyl39L>v8ohJ>`OKqMHs@xATbx0hpaeBbQv1%aZOD1Q6NKgUZKv zYA?3+1rp`=6sG1>;#mzRC<;nJQC|1(fo-(&Fd7wA`YhMCN{}9wb+;3Jjg_(T(mfVN zZzFR+&qa!j*d%L->aSH(rJJo$Y7MDsnSNQvA1hVHV7$5xTSf20N!4Jk$H|umB-M6g zAtW0T7QEm4Z5;cCXOU8*(`VgzwArPjCG{6sKb%<{Y2qy}h?E=|NT(%owE7~_k!P+aRnkyoj)fhHzOvHmKb@2DGh)uEC|ygbZh3gs5N7MGpaNE%JmXy)51Nh#9z^<;Q0W^DM6K=~ zfftUcbU8^$S&Dr;N>46fVaHIjl}O5*qb9<}=KgW*78c?%C$P08^5y&4Mwh=-gB~%i zflUxgy#+nDq}hfHFLTo)vl&~m1tQ}2?I-!(kgbu&yFZs z$6dn}^UsBmG*ppPzDG#gH!Ee|b&YoNlWh*)KU(fB%w;N^0|&klK%j~DV0feKQlcqJ*pa* zV6@^1*5E6Dhe#i0GE(C-nu}YzJL&aPRWcYFB9B9R@a|EYq>*Ew{eHb;Ngxw#QelC{ zoo#kA%RvUkDo)Uxzc7{G+m?UP8?goSKI<{QwxK&!smQ6aTTuWLdyT|5QZV?YPX{}~ zs~yY$&CMVG0C=K5^8Wy=X>*RWZn@xrZ{Q!!2y0|(O9Qeh5?JR4mgc63ba!AAaz(bc z;RiJ=mo840wzs@MlU;EJ$(}17O<(hc)a*kz^3{37HrL?2i25}$^@Uv5+OEK$g;1oI*1cwq+8xm>VEj*E|gp+hGvkIq%4wcxL4}& zqfiVe_jfl=Q>Oi4y`WZ-2sb}FLCv;Gvk_oE5IzQtRN=1O)w#WddAk;yV zm`+vJ+;W_-%8tFmhr*%cd3qn5C0mI|(^Ylrv@WI35Q5v5wMDp<_Q+WqXZ!>PBK7q-VkZ%A!op6t5v zSza3e4fH(p`NEkP@sYZft#f!O=LT_nt_H{S>df0uKEn#P_jiI65}{=u5*2Zjt4nj< zJuu_15%2{!g-y=;QYD;Rid>a`mE5i3%GMI4vQ=!!3PNtA>!3PElq@piD@X$N+QJ^O z4k@e8VTR;qDpPZEQVclMoV(8zw=5KHLIE~Nx#eLT$x8#H1LnyxSVWF%$+jHOBxhHO zs~+6&Au4c&T01t9Z`AU?Shwhs4$~xMrzKkrvbR**Z=~y)AtgfF?6my(#9xJ&K3j=c zu(c}N7<~nTWo6q1O)dQZZ!(R>bDGCpY!2j)LHJeK`K&p?n*B1YkQRz&$s-6Y zH}wkH)bPkGTWk0g+frO$;g$uWDf~Bumbu28?-Idj33lB(!c=di^t@6S%l3{{A97)e zB|27?l#&p)QeAXw&ia4piiPY&QjwTbia~jYRxI)XvIj%xFA;7jVLBZ`O<1LtR;5ae z^K7xFel!C7t_it4FVIGcpKMI>B6nmRFpDhBR>F!V?_=$Axw^P%y`?dC6C47gRGVs6 zWx&WoYbZmiJ0&O<1jkO`jBovb!#IAL^ox?!X_@rOOavh_3NNUIqFCi1rDdX2NxD)} zK|F_+Sa%gp;tX9Nr_>vlY%DU%V##ee6`&t2;#-MpRXKWUUXYx9iJjp9MQ_puBxQ==tcX3MU5hlBzW{whYxs$+pAJxVvUTvU|x$unJYw zPGg|3iq8(x@un!l%EFYkC#PwX6Um+uO(AO?_-##vBn<&6U5=XAbdI6nFJPQqQm4te zRZCcTwUFcMnKyWg`=J9-r&~c2we@be1;piHr;34+#Y)^DfCrl9+3WBf|?;mD~$%Gi-X{<Xo|!K{(V3ao9JRngfw8{n%fI@eqM$5I&V!ZV z@E++?p+P<-f}}X-9bKvY|I1T}P1WVGvz`v>27# zZbUGJD|)M!2jE;gOUGtg5o3A`tv;ITdDSe#)h1^XlobZ@WD8A>Q)Q)By{%wl(ToX2 z;0(8Co+Q7+>f4fX@5vz7Qf8Kf%N&m(00k*!0m7G3l;=@abfl6L0pbq9JUGLAN#i?* z8Oh7kaK#pjJy@vA%q*oUX{O3SBoKTmS{0%DF;h~polgk=0B9sA^##dDRi%|9ILHZ7 zUt_#Wfg~s!SxumY3lVL^RY?&bf^Tte-CoA_v8`|x&iQ+1-R!+f>~XLT%J7Np@){2?%JLkP?yJ5vJ}EZ((ku z#(%T}3{`RU2(r~?YX&ZUd8*YuZ3swuQTGz-PBs#vQu9k%>_v~&Gy=6Y0gjV$VRm-X z`SbL)NXN#*J8D>M%nZ8uli|&BZZ*MpOWNF2rXUG9z10wHub}zGe^9}4EZuVTrXM=^ zbo@e(;TAt@syi5Ki&GLZ)L9xtvZa}QiJD`j$y%c>Cp&YkY?P(cDJsf<5|Ri2Sb;

          4tKYPs?%V)2F&8{F=cE06=B7!aaXI%rHOeL5Yyfk!UmQdBDSSBH!*Y>Wt0^h z%dy;kadKBR?|+_Fhs^J zjL>6#@V_odj5$JXbfnBmhQJwAQY=hLS1m6~X-HrMcynKvhPEqGthm#yEEd&ZtvMZ! z!WuDlDwbqrGYFPRx^AnTeFe-gwn?94Ns=mP@e&gzG{tR6u%^5TG*4 z&4rxlQmjwH6uUr`TMnft%CesdiPa|j>>)(T{{ZnRX2H2t)-^M!y7bp%_MkXe=a z8=;#?0mRVIqpV@IB>+4?Pd>0*))xo&Do{4rTSSpSrKF9{`tyx4jNqtp`@S&05hk}y z{#{O6hY#ID{{XXdAz%WMH@GmNszQQKdb``pSbZwFB!g|i`9gP3sT`tx``xM&`E(4- z1j^+l)F^i+yad|aVKb;uB`+YQK<{Xl(OK{6GRWi!SI9(md1X@z<#J3<9EI5xQ&j^Z zb(ovf-d`|ar6(zcX;N&mK+qEi*6=3zK!SzUYpfQHwSf&ny&${hFl$@e${bS$X*m{+ zZ39^G7z8{O5y@&YGBO^TwHX_X*heH;v^wF*w&f=lrw&l0We4L8F|ch6dvUb1r?J=^ z9H#1@XoK~MJvD?=HHKxy!h?$B1VwWg)Ck&EjY=%kk}?Wj)m@iR6dVcDW4sAfCQ@(S zqdq!Rt;akmj#W)QVrK;--c}WK-+6tOP4;#u`VaeSWMMrmAp_5hb0rC zh}Gj!!kN5ELsISmOhn^kXt8d$f@W%sOCse#N1%wVVmZcM@Pe3MGL+PtWE8cUi%%sg zO2^L7Vy9adyQv=-hThS;#~NYHFU1>Zr7c#NapgCg(MMwn#L5rb1bW0OH**|mfzYHC zM~G7CnyV7+l2i%ko#4i2n|UEgSRm`XLoayU$meM9g>AJ;Dvk70Lo(WTT5anDqO8K^ zJD{4nnBGP(SqLn;-J}fmh#e+AgxD`7lRCue7-}d zL#>PVO3*aWM5-vNLD{Z;8Z{D)uO1>Ac zK9JsBF4^SYGSl6!*YqL9*Am3C5a0(W*oYoSI^lCj86>hn3{I=OD#(;9_|s(q5=hg` zfIcxec4ebF%=Jp6Cpl7jRksj{Riw2hf`O5;MuA`vm})`2^}JV4I;W4-+<9MN7WF%X zR1zud&efFc;+q+zB!*{PQPiDDAPuiz02e)CzPa&48tF+FzJlkka8|TUmO@(?2Heep zZfh9G()X^SUy7(w3%Tj+?{Szy24ypxN_GX zAP}H6=3;e7!uV2|g(YzG%_W)H32BwiC%?*FF0Cm^DpFIKLdgIEY$9WY=V(+!DKeC? zCcq$s%E@S}bvZ<1CEAqj4#5d_d`+*K)-z|$@B`!kTYy!qM~>LDiZbuLO287bPp))K z0ZNlBHl6eb_(!gh(Aay5^;tg7)r=vGsRfz(u2iYnbtU)PNKqj`+=P>$@okp;^kx45 zh%!v1hN+5JNV!|-Q3K!vB$(n{#QeJDrP+{{VOp!cQ)o8yDkSgHGPB4h0g+RNG#lzk z^FL*9%5Vqj%3a_9^!uuoVuspYm2#ap?Ex}VDVdkZ`FYY(e%T_*B>Vu-1AE1moMA+J z2v#cZJ{YK()t99Zl9v0f>9gM4Cd8>($Gv|D&~FeNMKHv~!qie7aPC=12_JMou^j&Z zaN1j2CCL)3>uD|om65gg)1KU-*^nB-(DV7nzr_tCji&^)1)eUa2h7h*Ow!(Zex+xw zrKJHak!HZtTLJUDK=FqWrST;6q~ND2USeB7py^g*^f!cf^0JD}NvF{+;|WV)85F$s zx1EGUUvoCdB>G1Fl7bOwi)`c6_gh{|BU4uU7{jj7)5Uhq9^?KEYKbQN#tlkeb%ZTI zcWSX9Y)y~G(F)>^7cj;ylS?$p8mX=!x0`iYQZ5#o4FS}G0g5Gx`$&>y31LcF5EJ4i z(3*0v`{-5DR8PVvq1Z4*Hua$1{LkH3%e5qYcu5{fZAxB?F^82UDCGJkeW5P^%0M;0 zcas6NCB+okMB2qW4K@C7_GH!-Ho^!|BYw6p;^fknf`v4t3)~F+;I%DlN)mHcW_yBizwt+`jkITC9Pyt9ty}$up2<~+&<(y2^!F5M=|#+_2KyH_ z`=T33ntUV$EyOjq)she0{Gwe@!4s0S**W=^5h%pkLgm#u`ckKpYvxE%xf<_lMq+qr z_m`ETp?FAl)5u>JHYXe%`xh(xli{49}pEV<)aeEk2o@sLOOs!}) zO_6SXQPEf*x0e(sR5^-buvI>GUTVk=WN`#_vCJ>=zvUdWD~f%MK~1t$p|)jMebFSA zUQ7JTmRus-VE#2urm z)zm-jIBm%guypT|s~zorUjQPYu4CH0MNTDCiIHhUp6QcydJ_>^mL;fGW)}TIec6Sq z-Cg4Jzmj$z0S(HVU=lmai{2%s*>J&_V82VBblQsfCdj;z*2CF3xjd13DQ>8nl{j@K z6Z>PTBPv2|@r2&i+m`OYu;xr*P$<#BJr2=o7zYFe@5Lxvt}9izQl6?dgCr^Is+D&N zONmFktL+SPmMH@Hjr!gs_!KzNn9K?rR$WfS-a1jch`ef>8OI=D(Jz$38BO1q3F;7^ zD3VgBvJ~>Nmb=oe32+4+IS9NwcbkWP;jOVQLB zZ4EVW>arvZ%DCPlvaA`Gia{qaH}lpcwYiq%sEK4M%2rUL=1uJZqDYB$(CX3@ZQ=9y zz;VBK8=cIf9^7vY)f4gnN-_YCUvoKl|Yhuj!;t*Q#AKUVdB^t*d0D2XkP1X7jpMW z>PT1ggb%#hZWhytJwOKEd|kBS$mXhu!frBB8g45ucqW<(zuQ39OCuLCAQ78=~=e_R|d@WLS62auHNX~8uHY8tf*I2JA z6TZhF>WQ%e!(DE4iCr#bElM)gzyTm$-au>e5d_h8E{dmh+*OxGof8gan3is31d)-% z*!;w8+&0VZtjoHjxNl}0R$;!t{!t#F&lVjaDkWdxI~bNuGPcmn+=yJ$YZrC29a5pp z4v|nx<8^^nn~0@uV>M)Ue3G3Qo}o;VQ;pOoX)}_t>HrcRQ!DPs3L{W$xdY5ao5K#p zwLT-!ku}5`B(5Hvu_>OA31R1S2_59PNkQ0>d<9vxy`r+IZu~y>P-P_C}k2^l7~^rN>~?F_p$j#i)X%>%pzRf zf0v(+*<$vb6;VxivTe2flLs9;E=yoKtBhexK_QBRX+8YBvXkvH_5_^h3OWFlYjbNG z+e`D-AfZglQ|Fm=g);C$i9>*ca4tD|Li%jodlA$W`!h}<^c$JAJCGn--YUL>Qx*)q zJx_dws)$xDd%RbDIzmxmZcUU@OP3^Sp|AiOUhb8oKNMo!Ie3-PN<%QpZ`V&mkF!%v z3cWghw4+9(DR~z(@(QyX=vzr6HO}_i&OJ)OTvfujqYwK8ob!S9B{QwGwo9QPSgZgE z(CfCB5$0VB0y9{|#}XOWD$*t$ktFS5LK>eSJO;LW5FRtaP~2*)522qIZKmSC|k)n!jrx2zOiJ|s8v2C zVLGIi9-zN6mzpx|H7e0siBfEDYueX3#D56axMhKTzF!>TDVoaVSKZ1pg;GKsvG<%? zsZE83$xZdv+Z#?>_KMLkl?kd|2Eh`PnMSp|+vU=tMyfeNZmaVo!IaxEk`XMf!Uq5e zKW|l4UA3?S90L(N^ikdxe$V`Ls)V%dN>*N&$x4OhT>(kDZE}%w&!luEGqI)v!IZ?! z<7)G2mqAHTQ;C;usgOW(Dy&)!~8_P%@;kzqb zrrM}m_=)En^Fv(CV-m?AjM<$^h&xzo`t*nSz8qpKe~aH{mrI$Sb;adFY&NBmHslNz z>7HH~=UKMUWE4z=jbV5fJj!yZ;)L*A*M@#o=H${)u3_ zMzrL*%dq^sonEcQIeEsInMeFPtEmWm0eMsqf(X6rLDuoiGn1LtuOn|r+@)4>luG3$ zo|SRNRLa)M$_krWa;+xYf|5ZT!Lf$t9n3!X7%>=SyFfynnQ`SLt-`X95DK->Y#}iu z9+r%CSwRG72RJPXxxL_!ED+_yoYRbhXnvzAl@r~m#DWJxVa8t_3S{agrHjqYHljm= z@8`DqdBR!(ifYo%r&7y_cR{s?B-`N((^RR6cF_9UJ=3EySA7VE2C?L|>92d(1DLM5 z9~Rui*g?u<(^r|7DoR}&ttvMc9YH7IXl}&VuusU#sm2a=0(1(}<7lcV^+zc4CC0#5 zR)q@Kh?JV-wNjS)ZW?$d z0V9b;%6O)kPMRnk;zY<$KwfL8>tnny(vVj^*s&*4eo-PtiMcjAk_Pa}^#NYdj>##o zIA*a4x$vQ&EDg6h!;+FOaIJ|q=3%y)vh{X#X6gw_Qgw#}-6Rdg`b2VMK5=*tkrX_^h2sCX+wLPYYB=-7loxc(0Pzy zGvdh~j2zR!Q@n9Sr1P{G*&zABNiZRPQ1X}x+oI|)SrBT@WZ#??b&d%gsttr>Z)gqS z$%`*&!xtJ?kqV$P@%QjSz|*9;h>!EoIn<`5)++4J6;6yUDER2 z`d&2Avxz=%DTNg*U!---(%50TDmD^N!&uhvVm-swIGZGBx-K@9=THN48i6)!u?loZ zHCu7A*|9f(L655H5L_V9DF75=SW?lL5oj(CZB}TAA`lXlzzbPzBQk&+m=lc_h`9#+ zBTbt)pI98h%%KZ&bbt&uML~#VP9UgS!>ktvwyQKiG0r4tm7o)vA~ptNVZ3StjTSv& zN@~#-5vV!)ctFw#jt1#Sv9eJsD7VgJ*d!fEi5eX6`Dv^(Q%##bu;PX7$az3A-NwaO zKmcv|rKwi%Vil;d_+ApFU=4mE`@!i|z!tm+LMRleD>lBD>jOfLTM`BLf)Z>x7#d06 zc!-4{N)mG6u@>g8fS_>a8AudUi^fxNsW#NoRPJej z4z^XT=LDPr?$R(wDQK263Tam>3RjdVZYNw78%P?2 z352PKERsDzgCy$n)Rz>wIhUmtp_NN%Wh9P-h)SfWxv^0v=NPo88)YE*h$jdl&do## z2JOi_F^%yAvaZ!?eY4dw3Ll&&>>9-aK%)w_ESJ!f?%|S$)o6M}-{Naclblw%YCj7Qg z^DZ(}0+Jj-O~KfU@`mnWZdgZwFgOxKd<%^E3X4dg2og;cE+>vis(t>U>?X-4B zg5cY6M6JV`>LmKYhG!a9RH&4VuV_y&ERaU9lmb)G-XDZGD2t07l9x)RinV~ZCS6so za-<}FFuk!tY=9*uRi?LC-XfHOQtGeL9#Ei3KPax2I~!s?XxQY$Gzd6_*(XXHm6i5# zH7Y8(FvU2?vMtQRg|cIm3y!mPy{NcIgZPJZmLda}f)xqRk^s zFMEiZVsmA-(6~wx1%|fM_4A0GPymn#%c=9_{_xr}kUZ3t0{01`S+KP)H;8}*hsG1l z$=uwg+~Itf7F~z~Yx3F*ahtX@)jFGWi)?msufcYvR;3WMpP|q$3LAct-O@^?k#}Zn-$nz%J zKo4kfN3qswa5HTro7&r(?*%~%ORy1ppz0@cS-cLly;Pn@7RXJw!)?En*AB`Sx9jH; z4|v;`u8~vGs?=GTiFYPhdPzw)S8{V8+iy6vsq-yVB)z6tLFsZx3rNrrV`BqVz#t;P zj{g9XfFJhF2+b&9|5ZNHKO~~^}wxR%)&2s~JD=K&3k=Np+5_3xlD@ujH z-_{@Ln3ef;BwXD(Ys;U;BCMfTK?};BSLqAclV)+mmlRU1u7!{UR=JIE&1f3(21?(d zW64>Bp^3)Ow5VG#79jZ;u`t<}#L7(~O}A$R+PjZrBfUzqX`naPUBq*Ao*0-}&ed=w z3E3`yqZdaC`$50iqEdPEN=a60RWvr14C_QGmXcMOR!IZ}8)Ka_i zl2jT6Rx7aIF8=_^Bs_KD6!!7tq;nHY~!tQ>9I8y@19R?GF-rr1(QQ&P+Bl0~{80Ds;n994;`H92L4 z&ARedtoa>qsUzpN_1YH8;aS>+iV#Y<1oMe@7~lpj#!e-gWg2pIX8JVBm8ZaMtPTrH zfpNL(nw#Zqnk*GN^lZzLt8_H(Q@*zY`Tqb|1dNQs#1y4g*1!nvt{?u-99>gwrzJr4Y$yF_6Ysb3bKb;Eu!GKj9!^v5qk#F1Ub5 zXt)??o_0|=mGA(;c)zyK47fWc?K6k?ajCb`2oHw)hLzD*_t*ZcrZ}c+i#6I{h>Y zvhiPRY;%vWqZ6jAs#9}QecD*3eM&+vs%|wR-ARskT0yz+pmf%vIUM?th?i!6Jr#@C)Uz^7F6m~ehv?Si0sl&bVaN>MzSpx z8`E-?p#lM7bvo<0g(ye~P*Y)LTM~5!0$NBKow-4GP@5t^zJ@j%>joUD&M%o)&$_|-u zl>xSvv?L^(>k+gm*4$O}*m8ijZ-2S~;jzMTm&E2-vP@zspb*1+#Y-pF+$nmGB{X{N~@_GC5<+|puq@OLvEyv zNe(QcaHIkC4i+SofvL5}Qw@~>g*I=br&>;9!5{h}eNH@=sNMB!67L0WiSof_ZxP=EgbaTpqdxi^EM(3O^}&Qh{o z$x$6(sm8oF8$r$ZSJDQgg4s#e$|t>w1dEF%p`n3`0kmn<6ex%W@jj?s5X!kmpd?x{ z9b}6{#zx7!YS5{rXGqj;H43?A@sW|7qn9I4ex*VRgA@Cs1;avd;I^N5K%G7=uo3SF z+Ruvd+*fcxfrH>M2oU#7aYztjV|dhTZwgW^tlWqUZCl2phKWisC%|C15Iz_TAWCyv zPrM*b8>#}6WeD2!G2B;hL4yaSx;BIap5Q9Xn z)i_hln?A6)1l$f#ft!`9p3Y8L9q?1{N%&2_^oSQR&IICY~x; z&}b4i1Ih~;h{YnyAn$mzG)By}kwmBlV$76{#7oU=D=aVm#omm8~7o3i9$X2lrg5{{Xinu@51cVQ>;c zLP;B#A-R>OGM$%8trL4KHY3qPU&on z+hdwhaJD8>Coo@9m(i+m( z1xJ|c9TPvYj5W~DPOfPmxg zmjh|$l;4)tw$}5ApL!l`EC$jtp9+FNKOV7QaPNoMkBBsx>8S@y%#8t(w_ES-xn_u4 zgr&VmPGD}U1m;-Q>VT?W96(PY0}npAdZOvt`7a9v@gn$p!dzj*xkL=t zOtjLJ(;y4oO4wLyZS4rL_X_bx52^B%8kGvEO{L8_-OAKvB^+so&8|WmBPx#i0~aR& zyJq9g0Pyz^;Cwv9guJa`;`6g}GTGliD9AzyHnA4m8*6J5cz5j=+RBy39?jTK3Rh*T zGZ^-VQCfuh9z%5HOW8prw3DlWDhT&M8E>5CQcY=^v{kXKU@@I}jz?U@ySZ4R9>})@ z{{VOG-OY1O3U-qICX!AjnyI3SRcVz|3RN>}X^c76NSKp>2)d1^h1e$9}X7~5Rl>$W&~fw0X&O$MP$ zr?}&(1gT6Qs^^`^zVRFF55p`uLBm1GT5}S!4!D%1No6Snb=nkgqMa#4Q!b@*GjkWs zd51|zB2LHnJBR8(%p}V!ZbhCDfY*fE0iQ#6hM~10z#>x3o#|^uc}9B}=$c zz=-u>B3;F{HA+cNhCRxNIk2!e+^;&TEi$-(g4@cRl$T19KBXlIAtOwfs z8ymqRG#iPqC?&;z5iz{^MeTb=f(5f3;9QJ7N19nlcJG^QXnJgts{ssD%OYTMxaALx z8=Js04AHQhvq`EZ?)C7)LPe$#*EBj+Rjz}SHK9YkN5&+J|U^t1S1(FqO9%2{*SCjg^t7|BtE&}> zip1KUcEDWODH;f~YHgWnT*~jMY@{3Mu8~$v%NAWA4>-Ho;iS38Ri4^q!L4Z1id89o z>=E;{T--l%E(~tU)l-YIE8G zbB@{(x<&@Knr#e?jN&|%v6!gL+1{X z)VW67uxkSd5%IV?l(~0 zq;antNjB)2?&{Mi4kQ39Tqj^i7QMb32nfb8?krM6Zc zD_K^16$LiX9dn&Di_U+r%Xp_5Rk3C+uFBIrx$`pQyqL}rf3jArw$n~+ZCPDpbtM)@_xhi6>nK->XNU zjbTpDTp&f}UX`rPv@Qai_L4~DWZ54B40wmPUKYaaIVps2(@1SPAx;Fei}|*X{{Ylj zn7|*aARPy2`YN$Ao&7cw-;$&-Z(&?MLA9 z#_FD!WtQ1f$`=8&BqcXm$mBO8UCqo{sUu7UZnjWMW35HUA9!9FZV-RRPot}26qhn^-SC|SqVMmO!4n*jv->kT~E_5 zF)TqH%#jl5Anp!OFVe>GL)LLcUaTEd)96s*Hdt?E=niB%W-LY_g45&TeH4wE+q^Nbo~I?uTs!PZ#7s#-m}S~J>0$B)dGp->Ih!iPk3eGbqIM0zSUy@- zrNn$#$d_dSu`ZXA!#Zp`#p-nA5)49(`-#E zG{mVAw;dWtYz;>sfe~4yS+!XsZhFJjNyWb7j;%%4Tv1Y%tw|?RNrqXACA*tjm@%Y? zSOBWtZ*<;NZhDQ#UMN z(onmdAl&4O9sJ=74j=r$|WcO)612 z6bH%^8jGP<7R$&H2qQL5GPEZLjrntc3lNchdcr|b&2pxJCzv*kqHRS$243j-* zr*0<{x`d33JmJ2o09&1gzl0F5?|>4YQ#n8u*z%1!qWLze@1F`-wyIj8i^9WnkOBEveBqBKQ*+m7GAx^AnW-PBZh)kD+6h|hK?d+Cm%KJkmxQWXh_H#k zLAcolXab=L?PF*)M3b+|3nC{O1S_*QS~|dBQKJsJV$I`R;|ym=REr}~k%AQ>+-f#s zM`+}zY4;2Q1`mM1A)z>}jl^QNj2p()ye|}-5MV=S3Xsqhj{KQmY_iRU@#%>#}&viwC@^?r*Ry(AuQg|2olb) z7~!Jhs$V0ccfUAVorR1clF`46EgEcKH|ne+`9eK5HuC5pOM2@GkZc4fKpJcCf!v4) z@T>2%7=x|1f`R7)Nih)#;G>40oFlELJvGtN$M1znKN31YRWB5S!+!~ew6*-~pw;{NN$wkG5jm0;zJkR>LS;fF)$LS5-SDiZHiyhY>2-rL!~BAXSP(nG3TB*;eVucUthlQ*fI-bJc2%B3Y*U+oX_`3z7nqqkob32uGYfqr>c` zV8z+z_f|&^_y%$7t-0-{URN+jcc@0um6_>g>=2+1fZw6N z>e1$VPO7p|jK0mjpXqO?X{qBlTHCvt=1hIrf$1DKP^?iNZQ87)_p?mW8&FciMX<2q zZMgAU;CgEe;m;58J`}8?qf(QoQYo_%>MjKZvL@Nhs%@rpW=7hJr>KucXZT+uhtky3 zQ!?`T@155i0`@l6<{=zL!&FJB7T&93NkYEwx@k(8NwQL#Wdi#E5-sqAXYm8fUk?7& z^1l@4YiKGQm4?ApBMuAk*CWQnLgxG^UG1*2o1aDLSOs>N?&!I}um^0I-z>w}-2(EyN&zxpSdP$B2AI zzEMN*(W2%ek*FxRS34%#i_SjK02>~Dv1|M|$>N#8(i0oB2Z!KQJ8VYiu>sl|tnBlH z@TNTCohFNoD{tZI9L>V#m}EJXe`F|MM4fdP^p1}>noF~%7jZ@#;O`PQdZG0ZB+!s#amw z%JF-(sa)|S&w0Uy*mAY+ujeIAvm|adM~6GEt^U>~kxW4fxGB`;u@O}94e83%(0ygZ zw510!DCuA=aS!wKnJKwupPHI=)QqT1qF2=FZ|Qi3;+pGDRm{A)3o__Og(X>z@#oYK z21$-Q&UapeRWWlgyCAC^aVold)Wys+rx4=8`?L|6Nz+U6FdTn1C5dYSc85baVw>DH zfh4)LO*p3#fEM9V0@;)bvf9G-8bXdD)i z7J`(e6XhAG)+Dln7bLbtc9~Bh(jOWpU2hTDGF32uB0$NqZL|q6%^3l>NouC&SZWAb z)}VxDvUMkyoH^76b%gEu{*W45LC0oqwm>0R>@2!_+l{~`^%Ay8JEZc7eJ#|goWhB@ zC=nWcpxa9WbE(oEs16fNM!OOs8jjO1)kzR7eUBwFkXmZASEUvE);_Vj?{1%rGY;NY^6o7eLo%Ynh*Uw_Db}rp6^0 zqH8r~U8ML>hRR63fk$8E4XbRpa)54n#mz0^U_A3xH7yf3gTY3aNp13zYY~0oUdl+r zQa%xHXnX_ymb8eR+5>a?9nGR+Du8gTf{D;hK9lHB&-H_94Z~07imm}-=JH9Bz*d`I zo#9I?0c%-8_rF*JX}AP$eo(ED6>)7ZZM5G=5R^b@N3hTwtzpvI^bq$b)@EBaxJvDB zQT-vMq-R~%a5T^xdPChf2ib8c&2UnqnDX22xPjhysn{1uc6Z}mCE+d`#uGShaZ-~; zmfFyJl(-7hIWB{t2WH)L-W61M$B%f4Gv3u|v-9dvH_qWu1m8dofO!qMK>HTq+%=1M zh}|z0Oo>`F#FWT&PAw=I5YpUHDmMwXOxHVQj@xS;_HE%i2{hSxDy!|BmSvMLy*b^| z6Y_y~W=2@J0e&awpq=58Tr`qE;q_c`Lg8*R#t#I@(xwEr8^m6tUY(tBS)6gl7Jk;hcP+U?@kS3~A>v8&NxPBXG@e;6L*MNs!2Tb!v|;=( znaPH=LX#?lgXf)OsC=Rii$7@O)V6l$cy>-v02GgDTAfmTEtGu3aPqybZCV#BcfYUb z!?cD1t>R~!my?u!Y3EcDlr(~+E64yhhx|;9$T&1~03`T$#$;c;T)4-#4-zo~0$Z;; zBGSFlB80L>`j7$Zyi^sADPoLNN?E@dHzDr6Fa9TnvIa*|d`4h53khj#+bXBy(}g z)iB8uGH$$r;_eR8D^+|{^1~0lpJrIFN{+WqpNw9!{gyH35~QVM*rdB8*M65&{O{DE zASFWj>UZP}U2OKb;f4iEw5$(?%f*BnskW0Y+JGPfn#xkQ`#>0}IF;L<9LzS$6r@Vg z5c-Q{Qq5*?gXXfUA2iwmd^Dn9_sC1RG<`}TvQ!xGwU!*pvZy_gxOu|bG_^~Kb@^vZ zx-<73_jJ*!C!l5b#gj}ph4icE1Q6tUJL z#+Z%gCg&$6-yj7o=M=J|Ze;3A7sK8L<9;C4cg_~KFOHMOMO#hopl3$Q+VczC3b%o@Fx^X z)F&R#hUzUULUnE}ebaNPS|4Rb?tE=rW303Q+}^6k6Xii6pI6Jc5nDz`OOsZP<`oT;}m5oTX1 zDLD#2@Di0-CgcD$H;eY1Bm@|YxuyRAoIc@l>c0KpwI`N?(iN?S&V;nzrrQb`}27UqNbLWL^&SRaHCyKi`KT!~Tgyaw0O z21m*QO|7@a9+*Paj-QMkg!qP#NZ#8)=p-9|v^1wRPpz0YlwBpXA0y$?5>V>x&{H_I zoZalW%ATsZfyp{tkd|7O6nm75fv^B+_kSp6t4TikWr|bYeL+~T8tQ7GTg6*I;ZaUO;Hjy?KyKf~`9_7F zKu*pL0OXrF4%HW=@FxJMlE3pQ6~Cp=MD2p8OgPU_8UT#D$SihHr#2XAb&&CTWVrf1r&!QLW#1k z*K-6c->u9T;l2Dx_Z zq!Y~l04Qo+RQtMtpd>+&v?>b6_J9a$aV}oO69kiM{Gh95H@s-5jf@fksV=$^Cg<^u z69CR*dHkXFOuEZPjAm~r)yGIw)tg46dPWoF3Xx^BjEp8QlM1_uFrjkT-Z5LohViv;9J_+lZdfMCDVq}Tv$^MFljEa3kD3FiVD+{T{$%7;-6;-A4o+zLX-Iv7&af~}d-8&CL+ zpwvvE1Q!wrNzRjNk-nceO8m={4izr`L!?^W#~`W54N8QvQs^N_TYSP7b$Y>)Z7G@b zHc!<$s{_;>j3H%NRu4#WmRMZZcC%uKv!L`hxe*(#0+F^_VpX|P>+g7oQOXX#7)<-l zO}XK^$3d(Han(HGY+XPbdYBptVLYQ+pk`k9w<5EgOO^tvmI&(0VL0ZvksG9-SE{+%Qa=BlUsZY#N zYEshF1^ZOP&da!#{6Q&8dZ)sxl%MjO>@OA7(nl0{-fj7Ba;)hX=^h&1KkaTpNx63y znO7=Rl8fJ!^^1psG|H5`!VxM|hn#U`7dooq_K5xi;YCunTvYOsfhxj^$`$s&TCbr01Xc`mLMgqREm`fUO&2A{^h&afyPsjco;u(${(&rO6skY~(RJ2Pp zNp&wIfUAM=`9~$WfNKFOdU!geCA*Y34aJVp>lY4j6t)_o&Pq9j4OQ_pRELVL3P=|p zJH;`@x1_5zd8ggOtkT+bWGTHED~#~n z8g1G?bnLACLn@tVr-4u@QOlJFB9K78+6SC-)e=?N$)ei{Ezdd$|1!>o%d&b;G zLfz6zg@$gBj*}+Zn(wC68*xM=i)*R0WuO8U7js(a36J1J_+Lc~x z9WU2dyWWR7M!2ehsRdxv~9;rFS*92rUWp3s!0 zDOIw1rAo0b#-&RqK=-B!gJjgvU>IDE7EE_87j9aYZI*7+A%BKqlQa&f_( z-(4Z9ZA4|Tz0SWV*G3gAhRC!e-%?Hb{=DHLfC?j>;c)i>Hs0Sq_Jl7SjuGd)7Tn4T zPyj$a@aY=@=a!Hg-*af*TWt~{lBpE^dQRU6lhdg)bE(YB3Mtz*!{-EGj67=-Dw=xY zNrD2;@u-awKRB}6aV?|-pd|x90I(59TUWbw24+>=9X2-Oc0oa=Fg;QAg#;j2b6gop zz;!uwK3wjGdjNC(F+6T)UtK+IXfZQj+*?3-MM2{O#Na-<-IZ*T~R{{Wa93{A`@d>FaH z?3Ft!Cj8p0(`s1)S7@G_PwB!E(Qk{P;2ZxxU2h@w95eL=q01y1$B-h zr?ZXSwe83ViLA!p6pnTfN{-Gvsn-m`hm5Q!{NZ?N$?qJnDmnwCHzffNB`4e}ACFjc zdQ8uv?W*_E(Q4}p4hpniGsQ&eWj@xM5N@sFPft>g8gHPQSN_DpdOif2#2AH|cyO}g zry^ZiPE@Ov{GmosPN$-tqD;eYtxo7b8UO~o^f5e-V}N5#$Urf!1W#h&aXK;FPKbRcR?w=j`Vg%y`6Rf&R?6ql*B8DaisB%g1WQn+iAsLeW36t#GUg+~Cq zKtsQm=>5?r;9dut$9zeo(4_Kr^RotBIrJVYrsts7Snix5`#0&7Nkq+Jj887gQDr&o zt@uZ()<7RCM=_6*_#1RA?`&jaHe49Qq{PZ{vQ;yd zLX=59k?12>2eXF>KveYnty*aVFiPeO&CjELAN!0Vt9ISMI4V_g_%{ouB2#R|2$oI% z0Lp+$y>1~4LBG_H4(!jO97^YZO@#U`X~KPo_=SmrNuoU{+K0b5Ln*Q6;vk*k?ZSVv znQgR(F%5cJRRKDtSq0LNIb7u*7>44W-2&DerrXgsM~9*V0=e|fmk5lx+{yX`Q(~R*+`hx2 z?AnJIdogf=VQZ(-n61x(Ql+yfUshq}`2&{eh+S9qlCGszkfUJ?F)K@#d1avN%DcrS zJc?4BsY&u7LOkWG&(BS*Zv`#TNmgVN&#XG|m_IYb3SW8@GG-`~j53r>5BePc#DvzPmGfY$5mgNhkTs&h%7K!tOwj7m)hQR;mY$V$4>I#=vYT2+ zDNsE@0K=yg__vAp$%`g&E-tG%S**+@C~{@QB_0%jl%ypfB_IK?1Dr*s6`6KB`R@r7 zn~Q5`&<2a$R^xCOZ;}J9t83a5l6>}q7Lm4^L26h{tUhrlQI)M!U@8GNxqz+9>8GR= zRCOI;_Dw=kz`jr{V1+AF8&Ua)0p275a?!ZcU?V?0BT9{4)`d-5PpQ8sIGm|AJ3%NO zE|!5T_)|QZ-U_)I|1b zWrwK~Nomw9hEz3G$gnX3!??HFFP;}%c2jGpuqV-$^VG8B&= zViAk+)*`Ohwu+rbVs$A|xlefFmIvPvIYFLoWoKKjFHHcnE>c2yjS1QkQxlq3F$Cu& zY9r1o*aKN%+_o>x;{8fiwF{=!&}?>q*cDuYRepSQ?p@ZR={Cc@ofW&}Ki5VZvQbb?l(bmi*?EmjsA`IsSRO|^o6 zRqrW0!pcImu_E8j8yq_eYYJxED^VPTBT?24V6a)5m*aUsQmt_SjhmR(-jO;4=CT4{ zMCk$N4hf}dGBPq8nzAx7GC3;9+EP@Y2Ie&jX)JfMK}O^tX8usu93YhDw-EsfuAGjx zk+M((AcqRi@6qI#Z-z(m1o?h)ggw&%fe&=RVnrEQ8!@Qaj$E}H8%Cpiqml)v$jHc5 z)>vaB3}kXuyXhK?jE+dKZy6aG9Jyp~lxj1Sa^;bOaTyyM!X;R(<59J58jf6+N|BK_ z^Mylk31y9tAwW9$K(5ss&y*z%n{w6_H`3#zBu19EC{o{1v<~2iYCIF6=LR6!2}!rY z3`xGmA|X8*g?!9xi=j|hKOa~cmEj}G8D!-db;Oj}Hw8M6&IwWlw~d4Ky+P6j5+#)4 zSA6?ri&2uOIp(pZ$`^8*fw(ZGg?uWUa~Rc|S`K%D z?nq6v@-W|r<(S3u6O|eChkb}Gw-mFg6MJ*hZhmo`0Io~Zst?UFQQV~p$^p5tQM7px zI3a!!ca3|>^rqanT;#6GHxs5&So$K1G`FW@{q|HfO0QxqxgV}^8^ySt%y8866*Rjq zQk3rkn#pUZUgPDgQkZiZRq0%A#WOU?wJ|f@tyz*T4@-}fI8bV)&H;t=Dm zHtIrh8=!&;ZKi=(X)Y-$(@fg@BEiIX zN>-~&#xlqaK91peN_;~xu|Y{5Wb4v3^sf{(3~@Ifm-kdvO*N1?pnh;%eMG9w(CSRj z$jmt@IWC~%FEp&GLWaZ`=q?cUt>T6lpkfL{o;Ir@UagT6OLAbi>Vk7vCBZeo z8%1-&UeEZ`iu9`N<`tvASzRSb56eoYGq&bJcOYr=5oB;bvo0^hm^Tt*DfuTTI5Lfy zGquUo6s5NkY+Fh$6t!G{LP4>$_YteFnvv{zBo{MYBzb3|$x+8MUdEBxcRdf&RU50% zI_k5PsDg7^{QAL4n0drCb(Iw)9ZU}qO;G-ibJ%B{o0x5O3N2+ylg#;QA+l0sZg+P8 zSb^yk3}x62t==rO7_9Oye&sUk(IxGieoWKJx@1~)X0JJrHb2z1D zRYCPEUtI#pA9N|;Z2thzvOGt`8H!w%kyB`Mo@M4p`^;A~nc|d8T}Q@(2jaLr^MunIr+q+z8>$*h7UYW&urq1O3ny6EJih3a z3w3hgs$0mS$Vo`Gn5B_0`qQXMR;5ZlLc`$>63a6WsVP;`pAKQMh_t>rl@wMam_5~y zJHRh>D!>v?zzac5Vw5o1?v}Bw^dHVL4yT#!ad6bFTV{=|0i{^XP-We+*5biB=?huI zvPn{J-V?b5>>{aO5GR@hOZdOcsA^sIx0En!`iE-kCmPsWqi(OZ zY0@n!!e224!!h0$Hz_88{{Sq5eT;M8_TsA1)@}5gScNQzIld-O$*d_)JfeAr3AezQ ziQ6V~p}LT57+a{a=w#8U^C&jYEasaV{m0e={fu!+A&KVH4gK&zik^eVK-x#QG#qUw zRSP9wEsRg7TwTM}B!wn$vOu{@$SC{v`9)mRRdDLl?vIMDnq3?b*o%V>;$%*y9@(~`b z_JnCmEz%_2?)}pH_6FbKPxFZ&cG3;O7$LpD4^W#ZqP{1PPkKR#xM?+k@bts%PqjBu zX*tx(ZJPvhHz%RK(M-(NC(DGb>)(9@STp=hnw@FHAqp#V-cyRb{t*X#4HbnfSSx71 zp=_)N;s7M7x|c@s1SY{GYP&Rnu0@OARQ~`dKl?^f09z)I`WJ zDr^gABHXewosc2V8C^a%h*(g$ONYu8v0au>2fZmLs!ov?N;-k^)If_NKwEz(h||VY zt(oCWkx`ak{{Xm7UbnUX0F)_h_S{ZXEh`;TMWO^7P~4LP2q4_{fsXa=w*))EgZ^oSpgzi_EP7#baQO7ST~o$g_u3;zJJf5dcCd5ViN$X9r)8)%!| zUnq~iGP%dp>bdMX2twXsZ>%dqLL1cEPO;61N8XgYy=`LP3u<-KoG+wKnKucw#lhD= zA-!%TDN)P`7tlfSQ%Ggcu538Uz4U`)@I7OkF48QJYORbdQIefX076orZdM11``q+~ z{xo6so1K!x5-GgA>U*i14|VkKfAb3)ok`6JsFbN`xfKdz=47}*?w4TVf5LUw_30B@ zH5L3#L#bh@yLa;q=a$ShOX#^l>EhKl^D&>sAe(p&Tt`J<<{4tZMt@aDAoJ4WnB@wY zx$uOW1HVX2QsXYEr!JQetfeQBzM>6j-2mmj_KgWtVK}g#8cnZ$anP=If1JVGBH{NF z*HdZvY(qZmudw%JD`2+bl9E-fV63VdG@CpQSTiNuP_R}gDz!_Hw1LK8bAw8`F?s`7YP^7^CR`LKZO-}{58fpJCx^) zw9_?~l9h$z1M7e{H_%%5H_#Y)t8up*V`T@bwW;cZs?fOe%5dm5)SoC(z>E(s#17Gv z`ZUzor?T}`d7e?R0V*ms^V3f|M|IP52GzdybzMqbQYghwuxbWMCA%n$EguTW8c~l#2Wtqdeu4k zdL**JN|PkW3InK8vnU&MB0B^lCqDlG{Ew+oUZLMBZQu4+#vANAgK#9HbJ*t_u%Lw6kU5A>$d=WZ+F<|oCIPE60# z=4PH*x}15^r6}?woqBH&`I_6$1(h45jWs)Si9>@;;$R(4XV)bj;Jf;cC#HdRrxJf? zek!gP-Vk=YX@Li3SzqS+Ek+9Q7hz3G(AvR)F@n= z5R;~mqF#?Q<7Kp=Y6PEm(j6o)9a3;vxkp!XYb6AaE?%)eVVac>Y02w_D@?^gqV336 zve=Mz@u!qN4ZwO*xDOr9Q`nMOpn-le16Ui$d<<<>ef zXZC(#++##xiiGtxkgUX%xZ;+u4qxC&9J=$0lF22i#T!X(S_Nd;V~(E-+yP#1Qza@d zK9tLqm0VjWx$=&#?8n)29PtLM)l^XxD^5#lNT|&xyKd&&6RNl6cY{{S%*r)-`qVU8kj&FWqbrne(QlcdbJz-5%S6caHl6=Wksj{zTf-Z{UBn8J66 zETU$)S(tflj`hbJbd{BJzGJV?YeuJ%%_D>bnK|bsm{t^?P<6xZ-lC+CE^V$tEIOWW zEONAf$eV;;y!fA@DeyU`9FD|)I4(z0h6vA&TgT!2p~2()5}JMS7M-f;AbN+fc>p@0*tZAal~2|D$+NK}Pj zH@J;$%jFq((fgrOP_LwEM%rxwzsJroM_plTy7?(}4Zvw^0l3T$u4DY+!m!VOg=r`N zT)3bwu<;mY!>YYJg=`!n?gxL2W0TWvOCg@=#WKo@kU~ipyjDoUWVql_@wf)q@gHSp zVJaeMR8%zLL3zb@iy&UdmAxS@Ey1$2l>1|D24)hR%3md0k%)Y*JE%(m-!!Er*B%oN z3*sxY66GD2fkl zbz17At!QCG*)wwSBl(+A-RGW5Rw#9?g{A$)^lrkF-G8!V26!`j1$AyO=ijEs&* zvL9&-2IX^|6tjPaC});r%sz(4+B?LF_u7`1Hc;>j1cUcLv%5xwTn*L5G*%7f5&l?j zg%guTZNRL#Y%OR{6EG0a3W7o$;zAJjOa=rMU`JRCJv6Kv#?JAf8GFYrSsUdVjJzsE zk&%&?v~uN#NXWyfjD$+Flw@V}v}7tpgLufnp^Q4hC0QHg8jarKIdar&Mx!H=Es?Bh zFz*>0l`5A$2vCxAFq&OsC`mf>g-91W?*qG3V>1Zm)u_@Gx4w{-0^U%12_n!tkpU9|3TWp`YUgcW zmo!=RgNRb)61(3jihk&_(#2J4aEWZ|V-CrbMA#(@`p|$%Pdy>DI8*>oNghJbsReS* zq2%0vk^a!f+~}lcK{!sKrXS9HC%aAb+em4B#Y`*_;Xu$P`$CGc%FAj`xUrko15HcQ zZ?i1RUE_;TNJ>Gvi7>_tEyPm%&cYBSkXHBrX1M~<+58xiZwX-4%>>?TFp|?@JC$C* zLmv*f3r50p0a?UNA?li%Dh#jOXpyFz%vu;0oXY4kZae`?f4NW=8Vv~iW6!qU&}Cb9 zQRohRR_|ocKA7W^QaqB(9f=W#Fg`D;%rcwIN<78XG!Cc$n{v1&A$&WQsNvPE3Sq{= zkkVC{9h9x&XNRehn2Q3{X-}txM`0b8JM4u&D`VdN_f(PtiPpJF~R1&&jD zADy7KNs2MN*8c$MKEqhl z*xVF|iDEtnW4fLdoS-9!bqbvtZlL8^*$Rr*Q0&t6TdFrXluo3ccRQQKlZJ5@e9%Ek zMpS}}9aNGxhxOMOVK-WUw^)nfC1c#{=1tCrg}s1X@Q^$X%H!-w*`pguNt7`r#OMa( zu(5OaMRi=l^;{m1-CCafiqLbu&D%;L6d^DD{Z97x;ZI#9Rkbr)A4H zmelO3z|}4QZS&eJVA@h#HcMLQc_>%`EY)z;9;Ng*0qd$tf?llE(8h;ShS8Y)>JbHz zc=u;tJHfTO!r8+#iWx~lrC)v5Qgk6|Rjhsq5ROS!Yp&)tu)~3`dH&}U^d5m@<&ztl z(fyzgsr4v(-qzPa4Z%S!IemOY!>edFO~%^(aLA%UlsWZ-BhKm>ZU9)>Nob=b$*~8d z261;v7i(NWvS`hjT!rAd5#U@AeTUlr@kVHDj^CY;upyeX)v($hI9NCP?+=tACE1mtWVc~%EaIdu>m(uOry#R+*m%7>bh0U#Tn zj)D-Hb9cIyM>vyKX|oiXgVHl>IWIKAiX3g!l&K^e5J841=|?780knca*5=UYq$CW} zW`r~wjKWUcAug`SST@v)!sJMINXh{K>ulOZ;lh3eqDqLmwk0eIe9{4Eq0bO8TVv{c zl>-vZNy<5ygr5oWjWvIv6BPH>fLtrS{3VScxokvS@cynM|uG%q&u?K-+IJNIL2Ah3N^IZpk31 zavQ!@ovg)}O#RtQgc~1(9vZf!S`U303Gmw8AUb?u*shc|*&v3} zHL#4ZzWVj)25+st5E7kCHtE(u3BQ~P4U62`{bLdc^?{Ffds}$xr2^ZS7;=`) z?Y}rJCg)pv#ya?Ar7t##5X{PUKwTuymBj(>g9=(*#)s#$F#Ai$Sy8#Uye^ffB%2eI z`N1xX*#^mhHYxH(p!GfEy)NRLaW*-V)LJe~4aA8m?Ch#4E+R^x-IAG%wo3hc?l=Dc zc%xMDDY^#y$c;1~D!NUG{vG17qLGyi?PPhQqo{O8C2n!!3Mzw(kyCB3Bx?zp6^ zGVtaaluYI^#jS?h%3MskLv4$H`4&aKQ3NrUx3bIrby3tx82sI3=Y*@ZIkk&8;WoHQ zF!dvatCcm`rY0P@wp2Dv{^<0O;J(Y;94kcR+^u4DqkM{aQz|MOkE^mTs$(T zV_z}`#Art&=@kwl?ajq(K>CvAA(@v!&jBz5? z&40CFz+1v6g&WuuIf&fj(B-Elah70xbVefg=mmq{yIg-Rry zZ*$js^@+C#_&tfLQdPuB(x+ygm~AZ~4Kk$?b9Wm_ z`?Dzh(Az)zM`hf@lXG})2};wF!oz4x+oiy(f%Z@lZTj+t%GO}Q=>Q!8KV>9tlNH$> zeM+Tezh_4fxQxX;xt3U=N};foJ5XLyKhT@2<{}5$Z-fZ!{f4VpExGpUDyCtkTU*Sh zAS!mC)2bwIyQiMsT0@^2yMFOLsQHqVtNRlQMbwETcSBxY9Z2;iDPB8q4xwI;SFKgW1@CAY9Jz_+cMJT~%*GL+*^MG5f zwuu5n5^PKc_VV(Lt6oqLVM1wJ8VCxFxyH%T0!K)4LWB*#fD@^Wk0=i2IUy=bhZSiR z@+HHsz(vo2YAv^e&$w2-;$|n?=r8Pj62~Zj=+n>I7 ziVdR<^kF>yitA^~x^^y~P^a?~vdx7RCQ-t5xo8+?sMREqCh7xnX*mcPSr^-sL|>hG zAfURlVb&42;)+#u6Q?tHtz{S*m1O#&bP7JTI5HN$dz@vrTf?-A6LRQv$+c?og@;_D z`6?Pxezmij-ZA*Zj&j+VKsx2|f0&+M3q{nXzz%3S2I7|&B$4H3nqfD%KvC1~{NY9I z*7n}oh)UmzZS@5o2nhSH`ND#7rrV#!2X_FpEIO1cXE~A5Hcm{}AoKJwjEs$D+WKYq zMxSt>d!I3(hH7l3;dGJWkWKDSq#$&Hbg|_MpHTGa2$rnJU7)rE46eE@T5{GBx^L1I zD`E}dEYTSWf?2Aqn<1^h$O&Lc*ry|HMxz3K~cWkwT{FRU?me7&JI%>Sct^3 zJz;SL*a{{x4^sl#X#fpda~+5-!a^=G4-Ahu3YoUXI}lu2QBja^WOKY>WLVnZ!eR@s z6ij3cGu1UT~~(h@9ccOvXD~*(6N+i2Ebu7%EQ!H3WJ>-~qmu^^K-gl5SfU zyhn+=LX!jdIVTl`b8H`s3|57;X#C+&WwW7eKPb;;X#W7yO^1{+?Bt}wC;1>ZS!HL$ z3J+bxE$@=!N>WH7+lWNEYYwMGl%Apxw6(}g7SwK&q5g1~8vg*7RoLFopG2v=F;|Z_WawuN6eJi*X&_ zbX8ps!vN-+@IC!HD#aVZ+}Y&9d4s9){az9&8CFKtJ3^*GQWiOpc(ZnSs`h1)SvaOw zAue)VVW6A&?fFIT*^7k6YHVVfqc&xuX-3wcd0)loA(Mjq9ysy2DcRPPie$RUa^l_T z3O*6@j7pCLgjb1s`-oJ^&q7gTvHsN^K(7lvFrF6{DIr?Ry;^N(e1 z1ZZ!k;}%C0I8TVUOH+|V^G&Ea#oL)+l7|Sj_t=dz^M(lC=DFZxIHzM{OIS{4PYqD0 zoIG~FD2Ej=+gZWx$MGl|6#By*a+<~)m8eS2f+od-Y6n1h-Wch%x~!|pLLXWYe)A>l z0=mLVq{QWE!nu{LQoQrtx7?>2JCa?E1z*vwY92R@^CLC1R@l!a-0uTPpiLkvFK;-kNbOGNJ=!JSHQlXu9@Wl%$PF-XxP6H0P2|zbHj5OdiV2$#n?|xXMPSShJ1cfRcidh2#X- zmi>{{p(LmcZbh%O3^VOYQWUU(n|of+Z2Ym8nnBD6S}$?y8cKe!fNX9x>8ufZi-iUo zc20;#51^!}GiW2BNrKlxur`=M>7j+LHtR|$Dz&-m8f|6O02gb-Vei)JLj*@FCgDV1 zC)*_QH;bFIXJ@(2J!2t}6a3=7zM@7`IqW%$dxUKbG+Xcp=k0aTSWos=U`APOHEOi<(}LNo?odp2e`f9p zP&f^RX7KhOD)u)X50K*XD>bZcegXqJ@>6YX2^*?CD!k1+w$-)Jq6}rA+CL8{l0sZZ zGOT8TN|=moA)xXDhpMaix!5a(+(pLKYW+q{O;1ler=2XiPzsf)(0Ro}U;UY!GhTGb z%uX<^?jI*u>Q^UJ^2*lXQ9G3zmn8M2VFl1J9qFKjA8yQuQxq zbdKU>J=%fW$|T?Lc4B%+nI-p=Nf%RneLBT?J5QOU&Z(EsS$(By2(bn&8!Q!J%ww}v z?v7ew9OmSe)nykKsMjy>AcFP}=Gfg`~CKn66%}o=s4!$epu37hL7tiHNTiM@RWC3D!hUvQZtBYO^b3+UO0rmHM{`!KMUUmhl@DD$#Y{Gbnh%zPLYmWC>+rPX_)$Uk+WZ;NLl zq1}J%J$}p0%h-`<75vEO);$@S{g%`RG-DS}H~wale<*C4{gw@z`#v;SI@mcZKPY#_ zGm%}p>KC7PI-B0!P*m=+t0!9ktxo#Kc+LLHI@5RdTw^M}fyr_|IE_|6W)40>E+$g9 zN|`pW&zT)PVOvuj!9K+!qHzQQJl7AUIrg+|QlVO=z{gHkKWBFs=>bY=lPOS2fBR{W zN%?^lRxRxL#9Ravs?HLr$~2wbOC`h)Qk%iTqBEm{2*Ca=RmwZo00~hertr2_ptg!g z0^sf-vQ~u@tu`Rof;vFMX;#`B?Ra~v?Luo>Mul9Q6@Hyn#WE{lVpgrP~z`?3=aKQ8K;d9?+hXf`Pz+z>{@ zMB^LcCF7(?Vh2zYJXu7f`qTE^K(bu078#NO^$O_~JEuiHFncZ*?jujCEzS>$#AXz6 zmDt;)O?YJ2dyHtngL5|68E^bTAc$Ei1dHEoB6-5a_c+#u;XdTb95(2aoAQY#{+qj$ z5&Yp?TnWTgEHT9=evF!SMt$kFWd*VU)7o;}d5y=yJ7TT-NL1@7RU-{b%Zv3ngk`uw}A~KuD_6uvA}<`;|kJSZR|@u zF;|)0O*VVB!RRfol7 z?9{~7Frm_$CB++Se|9|~!+oCkdxM)Prs26Jvj7yOChAqXo^bf*4RDjWd&&hp!jWN} zkZtpd&;x2W!M~PP7%vX&pB3X{^OI^McgjdUWFJVdaOA_S@Z&0$R=20pl0oSnsU8;L z7gQ7dou-nlKjqT})G!Vapvx`SuCHZOq`WlPq|K__|YE?FBlw#DaNCcySL*fpG@VAG^Qv`W)Yzp&B_~c= zAtT@*YHhJgDQg(;Na3fy*-bvjtBkqwuz+~#yi;*kI+9~S8SFag9>Y&|6yWsob;9Uq z?RK70Vl7eqoSZ3|UTJn}GA8#O)X^j4V)$(ae~I)}KLG3e!_|2<5JD}rw1B9Pn+w=$ zc=THue#?q`%{=BC#gDS`iBN8RproHGrp7rdja`%YgTW%XinTM^=|GSw5;t+He~X%a zFl1GcNNsx_s97lHj1y~)ikT|pOl$6p0N-22lt2SbVDthlN2F_}k+ln+kS1AM?xCi^ zTGpVHq;n@|c8R)_1H1+;>}%QPse>t$_a-J=TtcGq6m=k2 zjl^P5VD{=JdCWY4M39zyf4|oR$NAWDR0HEiUBL^t&x5ym`lxgd}cM zQ~(3#5*nMTZfb4AVxqO53DBGJiDvnLMeO18IVP7EK~??YPMrB`@`0~0DJM(mybTCT zO`#fC3lkbzf}8-7G=cAOuRyRymkLFJBbhe8q!9XnLH<^^ln&y=BwU}eVKlJ-Y#=#_+SBqQQmEjtWhQoL{<=sSb=?Ro>4(HcMHKA5W?A9CG&zvKiQSQh$-)L05 z3?rRB4~$O1m{rvW^vXiBp@MG%QPKg<4+}Qpw0xr@ImQ@zV#w5PH5`#-WMpJ=Rgfen zI+BsOHh{sbGN;r+bhfvICc^1Jxv)#VjB4KbylHf_1EYuI1p6DG#~L!L8fUx>pZOx~ z{{W&Aso-AA`=APvvG>FT%cyRs31vg=L+*K~$RFZ`?7!n5C=atA;t{Uo{{R$cbfNad zJ3eW)9FV=3{{RqxnRO0h;TrDLKG2NFui}OANny!vxL23XHQg)pV=^oFuNWIA?E&$Q zzf_j!v$|F7`Nnr^zx9n25zI#Wv;0C9>#fmiBK-bwg${HgGrKn2MrA!jBIUa{I>x@R zb&Lo<#6EGE3FivAW!L8$%;!@Y?$kMtoMu9P(2mI_Yk8OF7#85`8t%yE2gWlY>OOJV zF3n+D{Nq`bd-ILtJx9(r-K(hi$7H)To%5F8?u_r(*Y1q&)z|Ng4J`8?I82iEkiDVK zzjSZf-4@sGjRqXH{{Vb!Fz+Mx!gf=;eOA*r>Q01T(l#fb9X?U7XLtCA&NuAuAGQAg zsuQx8^*W&ni{q!tH}sqT0O9#SeU^`<(iFFQiz#3Csp1QAb?fx zB|}RdamAc!?7_t@BXI(!h^A#&d2>zxkFFQW00KM90O7ejK>LVw#j?zRN*XCuj+I}UGN56JuDoQ{LQnx3pM<%ND zu;@abWqHT|Xi2`%WA@ESVPUn(5n})?7jC z?Map3B`UWh$d|23%eOHw=>Gt$mo*@dEXnyo{5!$9Dx{L8XQ{|bi?W-`qJZ;@qZi07 zbAojWb3^NqP7>$}>W~6S`2!HqQZ?+9&8`whdXloVvGBGdVTc3Vyttp4O(L$|V|=a! z5INYyvZ*eiIN_CRy%~2%Kgt08zK-$ULB{e)zDOQ$cw4|?^(4nQ` z@{V|7rJg6aUBFppD`k=OFv`Xd7*El8=9)C)@2w_T*=I*5TPU#j!)(S`Ij0cnl9HVW zHrhM>p@-=;rWVxAJ*N_(%>p>*v`-G{xIY%9Qe|yR%`{it-$arA@tLW6p>8aQS~?nt z>mPtz6(*tU??Inw77O_hX!v70!iNAPjOLDVHi>T@#G zH`W{8nQBm3wF2(eJiTFMLx>2gu`@EPt~Tn5kTxK4h)x^F^wEl%MQNosE~SK*mY)h! zeM$5YW4V-zkbvJt4X&*I9pHM7J;YS{dI4z6zJ`MBa4v0lyZF1=*l?a|Npe#TR4LOz zRx3}5Dow5r%ov?;Zi9tsIF5l(r%s|}w;Vx2(x6gGhlKs{EA6Spigyce1v+iiu{Tk6 zZp=zJp_xg@tjf1Qa*v3E=_%o*dz&13n@>U^Bgw_@7L}?5)f^>d>ajvLjUvdX7=*V=|=!J@mGU z2Y3xpYIdHs%8E^`amoT8#kHUTg}z_9llc`PcVwLM*Y;jBOYq{qQ>?X25-)pGXDZsr zZh?JGyrJ2y4%E?GT!g~YF5vLyR@u6J(bzmy!1HuWN~-N5b(wju5blykj2*!r80XAK ziDu=hFFjI9+(9I%#ETHFUwmt+cHKpNw>BAR#_F1Fl?4zkm=j~@p|uVaR^?_^)3S;! zfpod9RgWl-{{X|9`W;_$OPQERC&bf4fflrv7MxWyvf>QG$w@;!;kZaKaCUy;Jwpvj zJtt9S%uXz*E!M%wrr@1L^os{pR#V4!G!m-W4J`6@Nw>1(6G)$BeZ#V^HtKgu+aUfC z(Vw%fbyVKauAynjS0LhT&)-a3_=-xO#3}PmOHwFzHeoV`!d33jpI< zRxG8|38|2|d8u62O^F^LJ_F|fRqa6~GvkrAF4D@vmWK@OdmV5-)?KAhsibAGlmC+P>HwBUwRG@d%0JVK-T- z=o`H+XzdFqmK~`XR~vC-T-q3p@rMXV;yQy9@~RTED@EKPH%gCF%xX8ZO{tg`uQ7*% z>y%S&p>|MEv_`8`y1bQESue6wg;^;ho%A9If!HVB#_JJuJk7-p?d`ZWRi!5j&aq9M zkbMEh92wemvJ^9j^>_AhaPtn+dq2@?t<#t_Nwqp=o^b;?T3k|fJMt0F6pkNo(*odz z>(jE1KT~lbYGG>KT`VH$;BO!3w7d~fnUa@9E}JOn`lhzN|zXS-36$BE7`b_WqYBZD}jD$Pp219IfLB)hJ{OTLZqjZ6NZ|fa-Eg*^= zC9dt(RLe*g?$xHzXeGw{Z#Drlb{gC*8I>zdNDb^DmvKy^D^q2_R-M3#7ZdTOR#g+T z#%;NJWQJtA=vD5a$XYq-mD?(&F+gO>$(aY=)^X(!LNA~q+IqoFoXK+-xCm!L*vJny zy6xOW#Yt>CS(2B0eM9;wf5YZ{qCro`6soM(v&+r2>)CS_(xGrYBaX5686+!{XqZgP zOKGOjLOe_*{IT>Um3C8^EZZ++g2OxNWmzsLTXDVW!O6(-J_Q?q#K$592~g zlkw1x^+OU)US5}nd^1&54!=*I2+i!%2zM#jR!}xSC_Ye2O_0pB^GVX8hcfGZi02b5 z3hJ4}EfntC4=7uenq9v5XT@}(M8)+9B;UG2$}JUcq!Vc;8e+q)AW8OQz}S6QkkqVPzgH_R+oPWSxv1y-2$Z*TyoY6 zq&+U~HI*+QJeO%t0db&TusD<};GmQ6F!h4)O!g+J%G0T+T*TbNiEXA3jLKSytP%$@ zblNH>wibe{AqNwPNznS7US%{@bN00zAW6(oWU{N?_XqlUM|1H10QPOwpOa!|64xbZ zj;SE2hFdSK9!F50kuhV-_DkTF1PU075{bE{G|%PMJC%4-A83cvQ7FE>EgZl0NuHn4lP@nV@vLy^|Xx(;P8E zN$X&|?!tYL_?e0FnS3iy?v<)td6L>S{{RxKBILp!vu_nnzTD0yosptbTk*c0^f>8A z+zhuLe01G&iu_Zlf|_eIdQ&&i)G}Oh-|JCN-3`Cn%u`OIxb`G|ZnEl?nMIVPErH~O zfIjFD*X-f*NKc^pl{lrZKiUVWOK`puqwxBO#WIsD+^nl9$}%JZt8*|pn!&jV`=N$k z8p&c66idC8z?-SHXrbyLnflC~H3d)1AQARS)*bON7UFA#yU{zR1KJsEmi4ua@9 znugP1#5FclD&|zQDFJ09iv?^)oJZxPXR%a;Muj@-u1~lXmE&?0gR#GmiB&3)D%Et! zcgbflJ|hxY&K(+i&CN;ADKpF*$XM9<8*U5;=v^~zG)0Nq3#@fqkv+gV{tJ2cOoZJqA6Ubufe3auTd25uYpxHwCP5%Hm>BY>dcM&)$>=|WbvB*3s^Snd2y}{fu ziEz~P?5wS-Xl$*wQY>$1%U0}I=R4?57X_@N+iz(RRSZD!Otda5y)06R)R$#Xy6R2H z^$}rHu?)RYguO24aS9g(IMWJZu}O7ORRZFa)zVN;F@2z_zi7I(0rg7KB#Kbdt`ww@ zR6O8apIKiNrWwXIjyzG7yE2ky?;s(k(RTZDfqE-Wke;telde^yVX(1ccLyvL)S7=#&!y3lQ}0A40X7T^7AA zma0_Qd6rUh1iS)(J#`SwFzyJEWlK#SnvkAB35#gpAoP<(ttm7bgu|_ONZ&$8QH4+J@sNY9q%Qyuu62Xz4>Z(k4v##8kdTa zi5Yw|B+Qb|lPhok0BDFsU$Xr*=||s`noyd^NN)E7O`|!qw)B$?)J-69Bk(O2%-HZi z;VkaYfGdh>6DqE%qcrnVm6?WE?hxAysltSSa)1Cfj&Ppg9yy<%eb(@OY^7=|AKV?- z?e=;{rnpBBOmOCjJvT~CJ=vz#L+#Em3V|Ey2#YTQ@yTvUHmdy|QL;yc=|*!P+sknS zY~8s}OkHD{=8oE%7Fv)CMcO%krQ{o20^&5m0lXDjQ78WZvtROsZT4&8i>k_;4Ovo- z)|NWQwKT3VQ0neH+?1MJaie7f%a7$21|F+Z>P59Au$L9CLX?6&5uu0pg_FsCL0mO>@7Uc zG9%yW<15PnX(Lb&tfgda z4k5rF&Ovw8qA=Q1^y>~63qge`@S({_Nm56|qz{ZN zbx12|3AoK-egfz4``{EN++~WxpaR)SB}%!4DPdyY29!QAiEM|0)IqXrk>$_zjP%sgno|2>M9zIK1#k%`{tox(i)0=ianB z1P)3z^ME)!W2{#R9IZ@kO=_gy?OF*ma&}xi9j^f?(&i)*xF#5z$uh2xK)!Jr`WZw1 zpofBss@bkLF_|oGc870VnYnKy%xKCdMW^K&G-ZSDrXB(hE#nGw8eH;)-#eO3!#O5j zq1TxBhMfdyRE3Rm2zo+E1fFL4#$~aw2K`}o&PljuB*rOD5^PhZ@uNz1`wK(xMTyY* z#*{a*VR!CH@a#-xlIZ52iH&^_=^tj^u=(BUZLDuCiPG`g_b&K$CKE|;Y2oy|Xj2@y z+em#V2WTY-1ghKK942ya!?83PTceQqzN1!U`E`dMIenn_)Y0ux(Tp0ur*15cS)@@k&)!@CN~h%)p|PslT`%bbwag{5M-#+NS2pLvX-;G zq6@=564jTE>2BAt5OK84B&Jn6I0m-+qaz}!I=OM-;8nw^;}P6&UWG`_OUp_!%V#PO zkN}10nM1&#PUc}k#Rr^ZWNTR~v|fKKU>l~2CZ6q^)D= zV3X!xQwa_wdtxqLOViJ9WHI-r^S(&+%DByW3uQCQAlpP+Fx^qb(4%ZAE3b&QOSWiwk8@L+*j~& zTKYD-IWC45nY1+ehEu+ljpGhF;!Y=2TARexiHfw-ZHAKT>b;US1EgeRSVd0}?coRaKE)*^$ zq&=p@F7)i{+X|nK>CaNJ6td*%(#?ehBgBV>*9VcmBNjbhkF+^PW>WmJkf4$q1w&t0 z$jI{zqq8ZXt#na~HzRKK>f05@wvn^V^AdV!xSxu6)~hv%jYd%}yDIyJ<+JVsF@mP2 z8d{#6d}aVPklZDFDw?vt|N1E1A^M^SK{&m|hxi-+oMni)|k`h%j z+CFM&c#{s)B-{&Bqk&6cs>Nuww)jC6+4D5ZHHs^stsobgNz{S3x6U#$G%$Zfg=cCB z-nmF-guOYH?@tTw3?TddBV4snYPusb+H`&agmVrv=BmsJc0^m#Zxo< zL70=0r4@-uLuXdKlzgoYv|JlKhG?@g4@@|gCRLo0IsSxXWC+(7N5iw_Z{}-rvZ*1e zkW|br;<^X2y)y~9Emo%Dxw6767b@!1q_zgP7aJaW!Si!8$$U{iCr6+5xmH{u3R1UB zWMmC1L3Qn#ma>hEmS;4Z04z8KE2mDBwQYR$v{Zb1;vBXKq)fiIK$>v{EhCvcqaz~H zk~YaJ8tn?hRlKq%IBFF+*;5hHafT|Xw~8t$_O{1+E#8xBb3Z@IE-ujhp(Svx9~gRv zJeQ_iO`UnA1Cc*H%w%L*PfZ)E@DY|?$QWuQZqE_}o__0P|qU!{kXWMo~s7C{j#R58r@i9nHcZXfIqh}SOK zDi!>oTKN%g%*RRaL$my+2(awLkF+XoWydr3>KfYHecya!WC$W{?oozUTL@N5bT(1% zxFGb?B+_*^^Nfs#*aXXy#YSAMGf%~6l3SK(#N8?CVe+ko@cu5864iQh6Y}8ZN+uE% zFY%0wfGFNyj5|9xqbeF3fVYx?R=YNEx~Az97($++dN7aW5o(WOP7hS>f3qwwqBm(7 ze*+mA2OP9Rhq#Q&V#IxbxMzsxTboj5S(rm;Xe}?SXoQ5POY#5+imUc+VR=-}3UzvQ zpJ+x)DQQpw;PW0)k&(ko1DAShot@9HL`eS5{{UdEOH>hv*7#;sa^2d{lbbV3Zu)sD z{-P}219o3W2Dp)jtFEliu_(6#q@zUUZAnVN{{RY#Ps2#a$a7c&+WY1-OmoR&nQV%^ zxPijS>|cprsLtYG?Gbic5(Z$WEs_P2k>T7OMy4n_)edI{&(Ah6>(wbB<(YN1%G6Wl zFZ|;pA^T1SHQ2_bMYCL7+$TVt<*|sR$fZe^dRefWk?e$!Jnjh*7OZiqQ56Q?W^hj> zBgBwJ({C-KBO?#B#`2p1Ib1EC&0`xbAkdoTJ5R9RdF;}Tx|64jfebTUs+LfuO*u(X z8E#i}-mok9NqesE;Y2%D(UfW)*}+D%NWDip&CDOW>q4Tbuc$jHOWZ6*-C35OhF{F4OF z12I(!X{v=DUUA&FQ*N@7m5!SJVlB)E#BM3kS#DONhh}OG1C&0b3LTCvq>Z^^A;$ zh(q0p#FX>H%=p+Vsc7# zbhp}cEG>l;n_p{!Iz~oAPR@a#0dx_pmPt&fQ|08BVjMWSq=QIyq?JC}K<^Z*pT-<8 zO+))K-?L5BnR%n`sH_aXd}L$~Pelzh{{Rsk@pqLxlfGCt5BYn7njB+AP|EE5x`$ry zUL!cBt%Pe*uSwJ<Ak$YV;S^oeOWMn<53K7*ejerOo{Y+$Ja%$N{wiolfU{0r7 zMn*>jwpvgCUz`@LNGC|h$WW0MQ*~a~5G14nv5bs|q(TV*X&Wg7Z=l!KGBO&GYQTZ6 uf;D19WMpzhhWm5%g5Cd(E&=zP0R&EY3ZzFWJnV(zyH||Z#??| literal 0 HcmV?d00001 diff --git a/static/blog/images/holiday-gathering.webp b/static/blog/images/holiday-gathering.webp new file mode 100644 index 0000000000000000000000000000000000000000..262bed51b108bf44853403e1fc77c0dc60ca6025 GIT binary patch literal 114166 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

          8OR9azRs^`^1s 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�+p8SgZu_>ERNizUz7MYozfR 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 O(xBf3Uo`=F&;S59Dffv0 literal 0 HcmV?d00001 From 7646581f2edc68da3d9a9fdaf2c2c9a13dcab088 Mon Sep 17 00:00:00 2001 From: Chris Scott Date: Wed, 3 Feb 2021 11:01:05 -0500 Subject: [PATCH 19/21] Regenerate blog --- content/blog/2021-01-22-holiday-surveys.html | 7 +++---- .../figure-html/spent-time-1.svg | 2 +- .../figure-html/tested-recently-1.svg | 2 +- .../figure-html/traveled-recently-1.svg | 4 ++-- .../figure-html/went-shopping-1.svg | 2 +- .../figure-html/wore-mask-1.svg | 2 +- 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/content/blog/2021-01-22-holiday-surveys.html b/content/blog/2021-01-22-holiday-surveys.html index e5306acba..e42c72c1e 100644 --- a/content/blog/2021-01-22-holiday-surveys.html +++ b/content/blog/2021-01-22-holiday-surveys.html @@ -9,8 +9,8 @@ summary: | How did Thanksgiving and Christmas affect travel, social, and preventative behaviors in the USA during the COVID-19 pandemic? -heroImage: /blog/images/blog-lg-img_hello-world.jpg -heroImageThumb: /blog/images/blog-thumb-img_hello-world.jpg +heroImage: /blog/images/holiday-gathering.jpg +heroImageThumb: /blog/images/holiday-gathering-small.jpg authors: - lmorinishi - kbarkume @@ -30,8 +30,7 @@ toc: true --- - - +

            diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/spent-time-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/spent-time-1.svg index 58c8e3c9a..75e7cc152 100644 --- a/static/blog/2021-01-22-holiday-surveys_files/figure-html/spent-time-1.svg +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/spent-time-1.svg @@ -12,7 +12,7 @@ ]]> - + diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg index 19cfb9c76..bee06edd9 100644 --- a/static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/tested-recently-1.svg @@ -12,7 +12,7 @@ ]]> - + diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg index ff50fa6bc..30ef3d543 100644 --- a/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/traveled-recently-1.svg @@ -14,10 +14,10 @@ - + - + diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg index bf397d724..c88fcc1e9 100644 --- a/static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/went-shopping-1.svg @@ -12,7 +12,7 @@ ]]> - + diff --git a/static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg b/static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg index de7c2a27e..5940d4a24 100644 --- a/static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg +++ b/static/blog/2021-01-22-holiday-surveys_files/figure-html/wore-mask-1.svg @@ -12,7 +12,7 @@ ]]> - + From ef27075c0b9fb9a4e88f4be056f8739b9c611a25 Mon Sep 17 00:00:00 2001 From: Chris Scott Date: Wed, 3 Feb 2021 12:05:02 -0500 Subject: [PATCH 20/21] Lengthen time to prompt survey --- config.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config.toml b/config.toml index 0c184e9b2..a7855a7ba 100644 --- a/config.toml +++ b/config.toml @@ -114,6 +114,6 @@ relativeURLs = false feedbackForm = "https://docs.google.com/forms/d/e/1FAIpQLSeIeOJtrAhdOriEyiRY7LkpQX8DZBY19dl6De8l56Q9CZhmxw/viewform?usp=pp_url&entry.1245962748=" feedbackLikelihoodMobile = 0.2 feedbackLikelihoodDesktop = 1 - feedbackDelayMin = 10 # in sec - feedbackDelayMax = 100 # in sec - feedbackDuration = 60 # show it for 60sec \ No newline at end of file + feedbackDelayMin = 45 # in sec + feedbackDelayMax = 180 # in sec + feedbackDuration = 60 # show it for 60sec \ No newline at end of file From 9cdb387d0acac77a459242d5b405f82847aceff6 Mon Sep 17 00:00:00 2001 From: Chris Scott Date: Wed, 3 Feb 2021 12:46:05 -0500 Subject: [PATCH 21/21] Release 1.12.6 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3f7527ed4..99650b431 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "www-main", - "version": "1.12.5", + "version": "1.12.6", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b82f7d86a..0dbbbb648 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "www-main", - "version": "1.12.5", + "version": "1.12.6", "private": true, "dependencies": { "@fortawesome/fontawesome-free": "^5.15.1",