Load Packages

tidyverse

if (!require(tidyverse)){
  install.packages("tidyverse", dependencies = TRUE)
  library(tidyverse)
}

codebookr

if (!require(codebookr)){
  install.packages("codebookr", dependencies = TRUE)
  library(codebookr)
}

summarytools

if (!require(summarytools)){
  install.packages("summarytools", dependencies = TRUE)
  library(summarytools)
}

broom

if (!require(broom)){
  install.packages("broom", dependencies = TRUE)
  library(broom)
}

performance

if (!require(performance)){
  install.packages("performance", dependencies = TRUE)
  library(performance)
}

gtsummary

if (!require(gtsummary)){
  install.packages("gtsummary", dependencies = TRUE)
  library(gtsummary)
}

janitor

if (!require(janitor)){
  install.packages("janitor", dependencies = TRUE)
  library(janitor)
}

forcats

if (!require(forcats)){
  install.packages("forcats", dependencies = TRUE)
  library(forcats)
}

Import Data

mh_deidv3 <- read.csv("~/Desktop/R-Code/mh_deidv3.csv")

Data Cleaning

RPL_THEMES Erroneous values

mh_deidv3 %>%
  select(age_yrs, PATIENT_GENDER_CD, PATIENT_RACE_DESC, PATIENT_ETHNIC_GROUP_DESC, PATIENT_LANGUAGE_DESC, PATIENT_RELIGION_DESC, PATIENT_MARITAL_STATUS_DESC, PATIENT_STATE_CD, EDU_YEARS, TOBACCO_DESC, depression, anxiety, ptsd, bipolar, body_image, ocd, stress, seasonalAD, panic, any_psych_dx,ST_ABBR, E_TOTPOP, RPL_THEMES, RPL_THEME1, RPL_THEME2, RPL_THEME3, RPL_THEME4) -> exampledf1
exampledf1 %>%
mutate(RPL_THEMES = na_if(RPL_THEMES, "-999")) %>%
mutate(RPL_THEMES = na_if(RPL_THEMES, "0")) %>%
mutate(RPL_THEME1 = na_if(RPL_THEME1, "-999")) %>%
mutate(RPL_THEME1 = na_if(RPL_THEME1, "0")) %>%
mutate(RPL_THEME2 = na_if(RPL_THEME2, "-999")) %>%
mutate(RPL_THEME2 = na_if(RPL_THEME2, "0")) %>%
mutate(RPL_THEME3 = na_if(RPL_THEME3, "-999")) %>%
mutate(RPL_THEME3 = na_if(RPL_THEME3, "0")) %>%
mutate(RPL_THEME4 = na_if(RPL_THEME4, "-999")) %>%
mutate(RPL_THEME4 = na_if(RPL_THEME4, "0")) -> exampledf1NA

Mental health data dich

exampledf1NA %>% mutate(across(depression:any_psych_dx, ~if_else(.x>0.5, 1, 0),
                .names = "{col}_2")) -> exampledf1NADi2

Marital status

exampledf1NADi2 %>% 
mutate(mstat_5 = as_factor(PATIENT_MARITAL_STATUS_DESC),
         mstat_5 = fct_recode(mstat_5, div_sep = "DIVORCED",
                              div_sep = "LEGALLY SEPARATED", widow = "WIDOWED",
                              married = "MARRIED", unmarried = "SINGLE",
                              unknown = "UNKNOWN", unknown = "OTHER",
                              unmarried = "SIGNIFICANT OTHER"),
         mstat_5 = fct_relevel(mstat_5, ref = 'married')) -> exampledf1NADi2MA

Religion

exampledf1NADi2MA %>% 
  mutate(relig_affil = as_factor(PATIENT_RELIGION_DESC),
          relig_affil = fct_recode(relig_affil, yes = "CATHOLIC",
                      no = "NONE", unknown = "UNKNOWN", unknown = "PATIENT REFUSED", 
                      yes = "CHRISTIAN", yes = "LUTHERAN",
                      yes = "PROTESTANT", yes = "BAPTIST",
                      yes = "METHODIST", yes = "PRESBYTERIAN",
                      yes = "NON-DENOMINATIONAL", yes = "JEWISH",
                      yes = "MUSLIM", yes = "OTHER",
                      yes = "EPISCOPALIAN", yes = "PENTECOSTAL",
                      no = "AGNOSTIC", no = "ATHEIST",
                      yes = "JEHOVAH'S WITNESS", yes = "HINDU",
                      yes = "GREEK ORTHODOX", yes = "CHURCH OF JESUS CHRIST OF LATTER-DAY SAINTS", yes = "BAHAI", no = "SPIRITUAL", yes = "CHURCH OF CHRIST",
         yes = "SEVENTH DAY ADVENTIST", yes = "APOSTOLIC", yes = "BUDDHIST", yes = "NAZARENE", yes = "CONGREGATIONAL", yes = "UNITED CHURCH OF CHR", yes = "REFORMED", yes = "PAGAN", yes = "JAIN", yes = "ASSEMBLY OF GOD", yes = "REORG CHR OF LAT DAY", yes = "QUAKER", yes = "UNITARIAN UNIVERSALIST", yes = "MENNONITE", yes = "FREE METHODIST", yes = "NATIVE AMER SPIRITL", yes = "WICCAN", yes = "ORTHODOX", yes = "SALVATION ARMY", yes = "DISCIPLES OF CHRIST", yes = "AFRICAN METHODIST EP", yes = "SIKH", yes = "CHURCH OF GOD", yes = "TAOIST", yes = "ANGLICAN", yes = "RUSSIAN ORTHODOX"),
         relig_affil = fct_relevel(relig_affil, ref = 'yes')) -> exampledf1NADi2MARel

Race

exampledf1NADi2MARel %>% 
mutate(race_5 = as_factor(PATIENT_RACE_DESC),
         race_5 = fct_recode(race_5, Other = "OTHER",
                  Other = "UNKNOWN", Other = "CHOOSE NOT TO DISCLOSE",
                  Other = "NATIVE HAWAIIAN AND OTHER PACIFIC ISLANDER", 
                  Other = "MIDDLE EASTERN/NORTH AFRICAN",
                ASIAN = "ASIAN INDIAN", ASIAN = "OTHER ASIAN",
                ASIAN = "JAPANESE", ASIAN = "KOREAN", ASIAN = "FILIPINO",
                ASIAN = "CHINESE"),
         race_5 = fct_relevel(race_5, ref = 'WHITE OR CAUCASIAN')) -> exampledf1NADi2MARelRa

Gender

exampledf1NADi2MARelRa %>% 
mutate(gender = as_factor(PATIENT_GENDER_CD),
         gender = fct_recode(gender, male = "M", female = "F"),
         gender = fct_relevel(gender, ref = "male")) -> exampledf1NADi2MARelRaG

Language

exampledf1NADi2MARelRaG %>% 
  mutate(lang_3 = as_factor(PATIENT_LANGUAGE_DESC),
lang_3 = fct_recode(lang_3, English = "ENGLISH",
Other = "ARABIC", Other = "JAPANESE",
Other = "CHINESE, MANDARIN",
Other = "KOREAN", Other = "SIGN LANGUAGE",
Other = "RUSSIAN", Other = "SPANISH", Other = "ARMENIAN",
Other = "TURKISH", Other = "HINDI", Other = "BENGALI", Other = "FARSI; PERSIAN", Other = "ALBANIAN", Other = "HMONG", Other = "ROMANIAN", 
Other = "PUNJABI", Other = "CROATIAN", Other = "CHALDEAN", 
Other = "BURMESE", Other = "PORTUGUESE", unknown = "UNKNOWN",
Other = "FRENCH", Other = "GERMAN", Other = "CHINESE, CANTONESE", Other = "URDU",
Other = "BOSNIAN", Other = "TAGALOG"),
lang_3 = fct_relevel(lang_3, ref = 'English')) -> exampledf1NADi2MARelRaGL

Ethnicity

exampledf1NADi2MARelRaGL %>% 
  mutate(ethnic_3 = as_factor(PATIENT_ETHNIC_GROUP_DESC),
         ethnic_3 = fct_recode(ethnic_3, Unknown = "CHOOSE NOT TO DISCLOSE", Unknown = "UNKNOWN")) -> exampledf1NADi2MARelRaGLEth

Tobacco

exampledf1NADi2MARelRaGLEth %>% 
  mutate(tobac_4 = as_factor(TOBACCO_DESC),
 tobac_4 = fct_recode(tobac_4, Yes = "PASSIVE",
Yes = "YES"),
tobac_4 = fct_relevel(tobac_4, ref = 'NEVER'))  -> exampledf1NADi2MARelRaGLEthT

Codebook

exampledf1NADi2MARelRaGLEthT %>% 
select(age_yrs, gender, race_5, ethnic_3, lang_3, relig_affil, mstat_5, PATIENT_STATE_CD, EDU_YEARS, tobac_4, depression_2, anxiety_2, ptsd_2, bipolar_2, body_image_2, ocd_2, seasonalAD_2, panic_2, any_psych_dx_2, E_TOTPOP, RPL_THEMES, RPL_THEME1, RPL_THEME2, RPL_THEME3, RPL_THEME4) -> mh_clean1
print(dfSummary(mh_clean1), method = 'render') 

Data Frame Summary

mh_clean1

Dimensions: 15245 x 25
Duplicates: 0
No Variable Stats / Values Freqs (% of Valid) Graph Valid Missing
1 age_yrs [numeric]
Mean (sd) : 49.3 (19.5)
min ≤ med ≤ max:
1 ≤ 49.3 ≤ 108.3
IQR (CV) : 31.5 (0.4)
11557 distinct values 15245 (100.0%) 0 (0.0%)
2 gender [factor]
1. male
2. female
6973(45.7%)
8272(54.3%)
15245 (100.0%) 0 (0.0%)
3 race_5 [factor]
1. WHITE OR CAUCASIAN
2. BLACK OR AFRICAN AMERICAN
3. Other
4. ASIAN
5. AMERICAN INDIAN AND ALASK
13230(86.8%)
946(6.2%)
638(4.2%)
375(2.5%)
56(0.4%)
15245 (100.0%) 0 (0.0%)
4 ethnic_3 [factor]
1. NON-HISPANIC
2. Unknown
3. HISPANIC
14401(94.5%)
542(3.6%)
302(2.0%)
15245 (100.0%) 0 (0.0%)
5 lang_3 [factor]
1. English
2. Other
3. unknown
15081(98.9%)
150(1.0%)
14(0.1%)
15245 (100.0%) 0 (0.0%)
6 relig_affil [factor]
1. yes
2. no
3. unknown
8211(53.9%)
6085(39.9%)
949(6.2%)
15245 (100.0%) 0 (0.0%)
7 mstat_5 [factor]
1. married
2. unknown
3. unmarried
4. div_sep
5. widow
6198(40.7%)
3236(21.2%)
4997(32.8%)
507(3.3%)
307(2.0%)
15245 (100.0%) 0 (0.0%)
8 PATIENT_STATE_CD [character]
1. MI
2. OH
3. FL
4. IN
5. IL
6. CA
7. NY
8. NC
9. TX
10. PA
[ 36 others ]
14299(93.8%)
339(2.2%)
82(0.5%)
60(0.4%)
52(0.3%)
50(0.3%)
50(0.3%)
24(0.2%)
22(0.1%)
21(0.1%)
245(1.6%)
15244 (100.0%) 1 (0.0%)
9 EDU_YEARS [integer]
Mean (sd) : 15.3 (3.8)
min ≤ med ≤ max:
0 ≤ 16 ≤ 50
IQR (CV) : 5 (0.2)
29 distinct values 960 (6.3%) 14285 (93.7%)
10 tobac_4 [factor]
1. NEVER
2. QUIT
3. Yes
4. NOT ASKED
8173(56.3%)
4439(30.6%)
1890(13.0%)
18(0.1%)
14520 (95.2%) 725 (4.8%)
11 depression_2 [numeric]
Min : 0
Mean : 0.2
Max : 1
0:12639(82.9%)
1:2606(17.1%)
15245 (100.0%) 0 (0.0%)
12 anxiety_2 [numeric]
Min : 0
Mean : 0.2
Max : 1
0:12434(81.6%)
1:2811(18.4%)
15245 (100.0%) 0 (0.0%)
13 ptsd_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15085(99.0%)
1:160(1.0%)
15245 (100.0%) 0 (0.0%)
14 bipolar_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15026(98.6%)
1:219(1.4%)
15245 (100.0%) 0 (0.0%)
15 body_image_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15242(100.0%)
1:3(0.0%)
15245 (100.0%) 0 (0.0%)
16 ocd_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15166(99.5%)
1:79(0.5%)
15245 (100.0%) 0 (0.0%)
17 seasonalAD_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15219(99.8%)
1:26(0.2%)
15245 (100.0%) 0 (0.0%)
18 panic_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15062(98.8%)
1:183(1.2%)
15245 (100.0%) 0 (0.0%)
19 any_psych_dx_2 [numeric]
Min : 0
Mean : 0.3
Max : 1
0:10929(71.7%)
1:4316(28.3%)
15245 (100.0%) 0 (0.0%)
20 E_TOTPOP [integer]
Mean (sd) : 4362.8 (1701.5)
min ≤ med ≤ max:
182 ≤ 4128 ≤ 20695
IQR (CV) : 2148 (0.4)
2130 distinct values 14966 (98.2%) 279 (1.8%)
21 RPL_THEMES [numeric]
Mean (sd) : 0.4 (0.3)
min ≤ med ≤ max:
0 ≤ 0.3 ≤ 1
IQR (CV) : 0.4 (0.7)
2539 distinct values 14957 (98.1%) 288 (1.9%)
22 RPL_THEME1 [numeric]
Mean (sd) : 0.4 (0.3)
min ≤ med ≤ max:
0 ≤ 0.3 ≤ 1
IQR (CV) : 0.4 (0.7)
2477 distinct values 14907 (97.8%) 338 (2.2%)
23 RPL_THEME2 [numeric]
Mean (sd) : 0.4 (0.3)
min ≤ med ≤ max:
0 ≤ 0.3 ≤ 1
IQR (CV) : 0.4 (0.7)
2451 distinct values 14958 (98.1%) 287 (1.9%)
24 RPL_THEME3 [numeric]
Mean (sd) : 0.5 (0.3)
min ≤ med ≤ max:
0 ≤ 0.5 ≤ 1
IQR (CV) : 0.5 (0.6)
1832 distinct values 14966 (98.2%) 279 (1.8%)
25 RPL_THEME4 [numeric]
Mean (sd) : 0.4 (0.3)
min ≤ med ≤ max:
0 ≤ 0.4 ≤ 1
IQR (CV) : 0.5 (0.7)
2455 distinct values 14935 (98.0%) 310 (2.0%)

Generated by summarytools 1.0.1 (R version 4.1.2)
2022-10-18

Patient Characteristics

Baseline Characteristics

mh_clean1 %>% 
  select(age_yrs, gender, race_5, ethnic_3, lang_3, relig_affil, mstat_5, tobac_4, depression_2, anxiety_2, ptsd_2, any_psych_dx_2, RPL_THEMES, RPL_THEME1, RPL_THEME2, RPL_THEME3, RPL_THEME4) -> baseline
baseline %>% tbl_summary(label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", depression_2 ~ "Depression", anxiety_2 ~ "Anxiety", ptsd_2 ~ "PTSD", any_psych_dx_2 ~ "Any Psychiatric Diagnosis", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation"),
        statistic = list(all_continuous() ~ "{mean} ({sd})"),
        missing_text = "(Missing)")
Characteristic N = 15,2451
Age 49 (19)
Gender
    male 6,973 (46%)
    female 8,272 (54%)
Race
    WHITE OR CAUCASIAN 13,230 (87%)
    BLACK OR AFRICAN AMERICAN 946 (6.2%)
    Other 638 (4.2%)
    ASIAN 375 (2.5%)
    AMERICAN INDIAN AND ALASKA NATIVE 56 (0.4%)
Ethnicity
    NON-HISPANIC 14,401 (94%)
    Unknown 542 (3.6%)
    HISPANIC 302 (2.0%)
English Speaking
    English 15,081 (99%)
    Other 150 (1.0%)
    unknown 14 (<0.1%)
Any Religious Affiliation
    yes 8,211 (54%)
    no 6,085 (40%)
    unknown 949 (6.2%)
Marital Status
    married 6,198 (41%)
    unknown 3,236 (21%)
    unmarried 4,997 (33%)
    div_sep 507 (3.3%)
    widow 307 (2.0%)
tobac_4
    NEVER 8,173 (56%)
    QUIT 4,439 (31%)
    Yes 1,890 (13%)
    NOT ASKED 18 (0.1%)
    (Missing) 725
Depression 2,606 (17%)
Anxiety 2,811 (18%)
PTSD 160 (1.0%)
Any Psychiatric Diagnosis 4,316 (28%)
Total SVI 0.37 (0.26)
    (Missing) 288
Soceioeconomic Status 0.35 (0.26)
    (Missing) 338
Household Composition 0.40 (0.27)
    (Missing) 287
Minority Status and Language 0.48 (0.29)
    (Missing) 279
Housing and Transportation 0.44 (0.29)
    (Missing) 310
1 Mean (SD); n (%)

Baseline Characteristics by Depression

baseline %>% tbl_summary(by = depression_2,
         statistic = list(all_continuous() ~ "{mean} ({sd})"),
        label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", anxiety_2 ~ "Anxiety", ptsd_2 ~ "PTSD", any_psych_dx_2 ~ "Any Psychiatric Diagnosis", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation"),
        missing_text = "(Missing)"
        ) %>% add_p()
There was an error in 'add_p()/add_difference()' for variable 'tobac_4', p-value omitted:
Error in stats::fisher.test(structure(c(1L, 1L, 2L, 3L, 1L, 2L, 1L, 2L, : FEXACT error 6.  LDKEY=531 is too small for this problem,
  (ii := key2[itp=738] = 27504412, ldstp=15930)
Try increasing the size of the workspace and possibly 'mult'
Characteristic 0, N = 12,6391 1, N = 2,6061 p-value2
Age 49 (20) 51 (18) <0.001
Gender <0.001
    male 6,090 (48%) 883 (34%)
    female 6,549 (52%) 1,723 (66%)
Race <0.001
    WHITE OR CAUCASIAN 10,927 (86%) 2,303 (88%)
    BLACK OR AFRICAN AMERICAN 778 (6.2%) 168 (6.4%)
    Other 552 (4.4%) 86 (3.3%)
    ASIAN 339 (2.7%) 36 (1.4%)
    AMERICAN INDIAN AND ALASKA NATIVE 43 (0.3%) 13 (0.5%)
Ethnicity 0.002
    NON-HISPANIC 11,905 (94%) 2,496 (96%)
    Unknown 479 (3.8%) 63 (2.4%)
    HISPANIC 255 (2.0%) 47 (1.8%)
English Speaking 0.004
    English 12,488 (99%) 2,593 (100%)
    Other 138 (1.1%) 12 (0.5%)
    unknown 13 (0.1%) 1 (<0.1%)
Any Religious Affiliation <0.001
    yes 6,740 (53%) 1,471 (56%)
    no 5,043 (40%) 1,042 (40%)
    unknown 856 (6.8%) 93 (3.6%)
Marital Status <0.001
    married 5,228 (41%) 970 (37%)
    unknown 2,727 (22%) 509 (20%)
    unmarried 4,095 (32%) 902 (35%)
    div_sep 362 (2.9%) 145 (5.6%)
    widow 227 (1.8%) 80 (3.1%)
tobac_4
    NEVER 6,990 (58%) 1,183 (46%)
    QUIT 3,499 (29%) 940 (37%)
    Yes 1,459 (12%) 431 (17%)
    NOT ASKED 17 (0.1%) 1 (<0.1%)
    (Missing) 674 51
Anxiety 1,320 (10%) 1,491 (57%) <0.001
PTSD 54 (0.4%) 106 (4.1%) <0.001
Any Psychiatric Diagnosis 1,710 (14%) 2,606 (100%) <0.001
Total SVI 0.37 (0.26) 0.39 (0.26) <0.001
    (Missing) 261 27
Soceioeconomic Status 0.35 (0.25) 0.37 (0.26) <0.001
    (Missing) 301 37
Household Composition 0.39 (0.27) 0.40 (0.27) >0.9
    (Missing) 260 27
Minority Status and Language 0.48 (0.28) 0.49 (0.29) 0.026
    (Missing) 252 27
Housing and Transportation 0.44 (0.29) 0.45 (0.29) 0.004
    (Missing) 278 32
1 Mean (SD); n (%)
2 Wilcoxon rank sum test; Pearson's Chi-squared test; Fisher's exact test

Baseline Characteristics by Anxiety

baseline %>% tbl_summary(by = anxiety_2,
       statistic = list(all_continuous() ~ "{mean} ({sd})"),
        label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", depression_2 ~ "Depression", ptsd_2 ~ "PTSD", any_psych_dx_2 ~ "Any Psychiatric Diagnosis", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation"),
        missing_text = "(Missing)"
        ) %>% add_p()
There was an error in 'add_p()/add_difference()' for variable 'tobac_4', p-value omitted:
Error in stats::fisher.test(structure(c(1L, 1L, 2L, 3L, 1L, 2L, 1L, 2L, : FEXACT error 6.  LDKEY=531 is too small for this problem,
  (ii := key2[itp=1028] = 28364922, ldstp=15930)
Try increasing the size of the workspace and possibly 'mult'
Characteristic 0, N = 12,4341 1, N = 2,8111 p-value2
Age 50 (20) 47 (18) <0.001
Gender <0.001
    male 6,058 (49%) 915 (33%)
    female 6,376 (51%) 1,896 (67%)
Race <0.001
    WHITE OR CAUCASIAN 10,731 (86%) 2,499 (89%)
    BLACK OR AFRICAN AMERICAN 792 (6.4%) 154 (5.5%)
    Other 534 (4.3%) 104 (3.7%)
    ASIAN 335 (2.7%) 40 (1.4%)
    AMERICAN INDIAN AND ALASKA NATIVE 42 (0.3%) 14 (0.5%)
Ethnicity 0.002
    NON-HISPANIC 11,713 (94%) 2,688 (96%)
    Unknown 473 (3.8%) 69 (2.5%)
    HISPANIC 248 (2.0%) 54 (1.9%)
English Speaking <0.001
    English 12,280 (99%) 2,801 (100%)
    Other 141 (1.1%) 9 (0.3%)
    unknown 13 (0.1%) 1 (<0.1%)
Any Religious Affiliation <0.001
    yes 6,652 (53%) 1,559 (55%)
    no 4,935 (40%) 1,150 (41%)
    unknown 847 (6.8%) 102 (3.6%)
Marital Status <0.001
    married 5,162 (42%) 1,036 (37%)
    unknown 2,664 (21%) 572 (20%)
    unmarried 3,990 (32%) 1,007 (36%)
    div_sep 372 (3.0%) 135 (4.8%)
    widow 246 (2.0%) 61 (2.2%)
tobac_4
    NEVER 6,752 (57%) 1,421 (51%)
    QUIT 3,540 (30%) 899 (33%)
    Yes 1,447 (12%) 443 (16%)
    NOT ASKED 16 (0.1%) 2 (<0.1%)
    (Missing) 679 46
Depression 1,115 (9.0%) 1,491 (53%) <0.001
PTSD 60 (0.5%) 100 (3.6%) <0.001
Any Psychiatric Diagnosis 1,505 (12%) 2,811 (100%) <0.001
Total SVI 0.37 (0.26) 0.36 (0.25) 0.088
    (Missing) 256 32
Soceioeconomic Status 0.35 (0.26) 0.34 (0.25) 0.009
    (Missing) 296 42
Household Composition 0.40 (0.27) 0.38 (0.26) <0.001
    (Missing) 255 32
Minority Status and Language 0.48 (0.28) 0.49 (0.29) 0.004
    (Missing) 247 32
Housing and Transportation 0.44 (0.29) 0.44 (0.28) 0.7
    (Missing) 273 37
1 Mean (SD); n (%)
2 Wilcoxon rank sum test; Pearson's Chi-squared test; Fisher's exact test

Baseline Characteristics by Any Psych Diagnosis

baseline %>% tbl_summary(by = any_psych_dx_2,
       statistic = list(all_continuous() ~ "{mean} ({sd})"),
        label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", depression_2 ~ "Depression", ptsd_2 ~ "PTSD", anxiety_2 ~ "Anxiety", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation"),
        missing_text = "(Missing)"
        ) %>% add_p()
Characteristic 0, N = 10,9291 1, N = 4,3161 p-value2
Age 49 (20) 49 (18) 0.7
Gender <0.001
    male 5,444 (50%) 1,529 (35%)
    female 5,485 (50%) 2,787 (65%)
Race <0.001
    WHITE OR CAUCASIAN 9,433 (86%) 3,797 (88%)
    BLACK OR AFRICAN AMERICAN 678 (6.2%) 268 (6.2%)
    Other 482 (4.4%) 156 (3.6%)
    ASIAN 300 (2.7%) 75 (1.7%)
    AMERICAN INDIAN AND ALASKA NATIVE 36 (0.3%) 20 (0.5%)
Ethnicity <0.001
    NON-HISPANIC 10,280 (94%) 4,121 (95%)
    Unknown 430 (3.9%) 112 (2.6%)
    HISPANIC 219 (2.0%) 83 (1.9%)
English Speaking <0.001
    English 10,787 (99%) 4,294 (99%)
    Other 130 (1.2%) 20 (0.5%)
    unknown 12 (0.1%) 2 (<0.1%)
Any Religious Affiliation <0.001
    yes 5,804 (53%) 2,407 (56%)
    no 4,350 (40%) 1,735 (40%)
    unknown 775 (7.1%) 174 (4.0%)
Marital Status <0.001
    married 4,553 (42%) 1,645 (38%)
    unknown 2,376 (22%) 860 (20%)
    unmarried 3,498 (32%) 1,499 (35%)
    div_sep 304 (2.8%) 203 (4.7%)
    widow 198 (1.8%) 109 (2.5%)
tobac_4 <0.001
    NEVER 6,064 (59%) 2,109 (50%)
    QUIT 2,988 (29%) 1,451 (34%)
    Yes 1,222 (12%) 668 (16%)
    NOT ASKED 15 (0.1%) 3 (<0.1%)
    (Missing) 640 85
Depression 0 (0%) 2,606 (60%) <0.001
Anxiety 0 (0%) 2,811 (65%) <0.001
PTSD 0 (0%) 160 (3.7%) <0.001
Total SVI 0.37 (0.26) 0.38 (0.26) 0.3
    (Missing) 236 52
Soceioeconomic Status 0.35 (0.25) 0.35 (0.26) 0.5
    (Missing) 273 65
Household Composition 0.40 (0.27) 0.39 (0.27) 0.040
    (Missing) 236 51
Minority Status and Language 0.47 (0.28) 0.49 (0.29) 0.002
    (Missing) 228 51
Housing and Transportation 0.44 (0.29) 0.44 (0.28) 0.2
    (Missing) 251 59
1 Mean (SD); n (%)
2 Wilcoxon rank sum test; Pearson's Chi-squared test; Fisher's exact test

Prelim Models

Depression + RPL_THEMES

model1a <- glm(depression_2 ~ mstat_5 + race_5 + lang_3 + relig_affil + age_yrs
               + gender + ethnic_3 + tobac_4 + RPL_THEMES,
              family = "binomial",
              data = mh_clean1)
summary(model1a)

Call:
glm(formula = depression_2 ~ mstat_5 + race_5 + lang_3 + relig_affil + 
    age_yrs + gender + ethnic_3 + tobac_4 + RPL_THEMES, family = "binomial", 
    data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.1248  -0.6570  -0.5798  -0.4509   2.4938  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -2.398463   0.101451 -23.641  < 2e-16 ***
mstat_5unknown                           0.085592   0.063557   1.347   0.1781    
mstat_5unmarried                         0.307170   0.059214   5.187 2.13e-07 ***
mstat_5div_sep                           0.600545   0.108866   5.516 3.46e-08 ***
mstat_5widow                             0.326637   0.142304   2.295   0.0217 *  
race_5BLACK OR AFRICAN AMERICAN         -0.034756   0.093793  -0.371   0.7110    
race_5Other                             -0.025211   0.130930  -0.193   0.8473    
race_5ASIAN                             -0.325065   0.181365  -1.792   0.0731 .  
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.318876   0.326486   0.977   0.3287    
lang_3Other                             -0.656893   0.309967  -2.119   0.0341 *  
lang_3unknown                            0.472491   1.096722   0.431   0.6666    
relig_affilno                           -0.021902   0.047463  -0.461   0.6445    
relig_affilunknown                      -0.637361   0.119646  -5.327 9.98e-08 ***
age_yrs                                  0.003023   0.001435   2.107   0.0351 *  
genderfemale                             0.587637   0.046716  12.579  < 2e-16 ***
ethnic_3Unknown                         -0.261274   0.150126  -1.740   0.0818 .  
ethnic_3HISPANIC                        -0.014353   0.171759  -0.084   0.9334    
tobac_4QUIT                              0.461568   0.052974   8.713  < 2e-16 ***
tobac_4Yes                               0.510897   0.065784   7.766 8.08e-15 ***
tobac_4NOT ASKED                        -0.904476   1.037512  -0.872   0.3833    
RPL_THEMES                               0.121591   0.089932   1.352   0.1764    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 13326  on 14252  degrees of freedom
Residual deviance: 12906  on 14232  degrees of freedom
  (992 observations deleted due to missingness)
AIC: 12948

Number of Fisher Scoring iterations: 5
broom::glance(model1a)
broom::tidy(model1a, exponentiate = TRUE)
model_performance(model1a)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
12947.846 | 13106.705 |     0.030 | 0.376 | 0.952 |    0.453 |      -Inf |       7.615e-05 | 0.717
tbl_regression(model1a, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", mstat_5 ~ "Marital Status", tobac_4 ~ "Tobacco Use"), exponentiate = TRUE)
Characteristic OR1 95% CI1 p-value
Marital Status
    married
    unknown 1.09 0.96, 1.23 0.2
    unmarried 1.36 1.21, 1.53 <0.001
    div_sep 1.82 1.47, 2.25 <0.001
    widow 1.39 1.04, 1.82 0.022
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.97 0.80, 1.16 0.7
    Other 0.98 0.75, 1.25 0.8
    ASIAN 0.72 0.50, 1.02 0.073
    AMERICAN INDIAN AND ALASKA NATIVE 1.38 0.70, 2.54 0.3
English Speaking
    English
    Other 0.52 0.27, 0.91 0.034
    unknown 1.60 0.08, 9.78 0.7
Any Religious Affiliation
    yes
    no 0.98 0.89, 1.07 0.6
    unknown 0.53 0.42, 0.66 <0.001
Age 1.00 1.00, 1.01 0.035
Gender
    male
    female 1.80 1.64, 1.97 <0.001
Ethnicity
    NON-HISPANIC
    Unknown 0.77 0.57, 1.03 0.082
    HISPANIC 0.99 0.70, 1.37 >0.9
Tobacco Use
    NEVER
    QUIT 1.59 1.43, 1.76 <0.001
    Yes 1.67 1.46, 1.89 <0.001
    NOT ASKED 0.40 0.02, 2.02 0.4
Total SVI 1.13 0.95, 1.35 0.2
1 OR = Odds Ratio, CI = Confidence Interval

Depression + RPL_THEMESx4

model1b <- glm(depression_2 ~  mstat_5 + lang_3 + relig_affil + age_yrs + race_5
       + tobac_4 + gender + ethnic_3 + RPL_THEME1 + RPL_THEME2 + RPL_THEME3 + RPL_THEME4,
              family = "binomial",
              data = mh_clean1)
summary(model1b)

Call:
glm(formula = depression_2 ~ mstat_5 + lang_3 + relig_affil + 
    age_yrs + race_5 + tobac_4 + gender + ethnic_3 + RPL_THEME1 + 
    RPL_THEME2 + RPL_THEME3 + RPL_THEME4, family = "binomial", 
    data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0981  -0.6554  -0.5716  -0.4452   2.5477  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -2.477114   0.111424 -22.231  < 2e-16 ***
mstat_5unknown                           0.082485   0.063806   1.293  0.19610    
mstat_5unmarried                         0.294865   0.059446   4.960 7.04e-07 ***
mstat_5div_sep                           0.600889   0.109031   5.511 3.56e-08 ***
mstat_5widow                             0.310876   0.143180   2.171  0.02991 *  
lang_3Other                             -0.742193   0.310940  -2.387  0.01699 *  
lang_3unknown                            0.445028   1.098102   0.405  0.68528    
relig_affilno                           -0.019592   0.047678  -0.411  0.68112    
relig_affilunknown                      -0.631882   0.119803  -5.274 1.33e-07 ***
age_yrs                                  0.003331   0.001440   2.313  0.02074 *  
race_5BLACK OR AFRICAN AMERICAN         -0.087749   0.095442  -0.919  0.35789    
race_5Other                             -0.057716   0.131666  -0.438  0.66113    
race_5ASIAN                             -0.403297   0.183047  -2.203  0.02758 *  
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.342399   0.328133   1.043  0.29673    
tobac_4QUIT                              0.466778   0.053341   8.751  < 2e-16 ***
tobac_4Yes                               0.514466   0.066338   7.755 8.82e-15 ***
tobac_4NOT ASKED                        -0.888298   1.038531  -0.855  0.39236    
genderfemale                             0.589527   0.046901  12.570  < 2e-16 ***
ethnic_3Unknown                         -0.255225   0.151192  -1.688  0.09140 .  
ethnic_3HISPANIC                        -0.018895   0.171798  -0.110  0.91242    
RPL_THEME1                               0.309576   0.128380   2.411  0.01589 *  
RPL_THEME2                              -0.323751   0.110808  -2.922  0.00348 ** 
RPL_THEME3                               0.201897   0.082631   2.443  0.01455 *  
RPL_THEME4                               0.077892   0.093544   0.833  0.40503    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 13252  on 14181  degrees of freedom
Residual deviance: 12815  on 14158  degrees of freedom
  (1063 observations deleted due to missingness)
AIC: 12863

Number of Fisher Scoring iterations: 5
broom::glance(model1b)
broom::tidy(model1b, exponentiate = TRUE)
model_performance(model1b)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
12862.517 | 13043.951 |     0.031 | 0.376 | 0.951 |    0.452 |      -Inf |       7.165e-05 | 0.717
tbl_regression(model1b, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", mstat_5 ~ "Marital Status", RPL_THEME4 ~ "Housing and Transportation", tobac_4 ~ "Tobacco Use"), exponentiate = TRUE)
Characteristic OR1 95% CI1 p-value
Marital Status
    married
    unknown 1.09 0.96, 1.23 0.2
    unmarried 1.34 1.20, 1.51 <0.001
    div_sep 1.82 1.47, 2.25 <0.001
    widow 1.36 1.03, 1.80 0.030
English Speaking
    English
    Other 0.48 0.25, 0.84 0.017
    unknown 1.56 0.08, 9.54 0.7
Any Religious Affiliation
    yes
    no 0.98 0.89, 1.08 0.7
    unknown 0.53 0.42, 0.67 <0.001
Age 1.00 1.00, 1.01 0.021
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.92 0.76, 1.10 0.4
    Other 0.94 0.73, 1.22 0.7
    ASIAN 0.67 0.46, 0.94 0.028
    AMERICAN INDIAN AND ALASKA NATIVE 1.41 0.71, 2.61 0.3
Tobacco Use
    NEVER
    QUIT 1.59 1.44, 1.77 <0.001
    Yes 1.67 1.47, 1.90 <0.001
    NOT ASKED 0.41 0.02, 2.06 0.4
Gender
    male
    female 1.80 1.65, 1.98 <0.001
Ethnicity
    NON-HISPANIC
    Unknown 0.77 0.57, 1.03 0.091
    HISPANIC 0.98 0.69, 1.36 >0.9
Soceioeconomic Status 1.36 1.06, 1.75 0.016
Household Composition 0.72 0.58, 0.90 0.003
Minority Status and Language 1.22 1.04, 1.44 0.015
Housing and Transportation 1.08 0.90, 1.30 0.4
1 OR = Odds Ratio, CI = Confidence Interval

Anxiety + RPL_THEMES

model2a <- glm(anxiety_2 ~ mstat_5 + lang_3 + age_yrs + race_5 + relig_affil
               + tobac_4 + gender + ethnic_3 + RPL_THEMES,
              family = "binomial",
              data = mh_clean1)
summary(model2a)

Call:
glm(formula = anxiety_2 ~ mstat_5 + lang_3 + age_yrs + race_5 + 
    relig_affil + tobac_4 + gender + ethnic_3 + RPL_THEMES, family = "binomial", 
    data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.1032  -0.7086  -0.5798  -0.4472   2.6290  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -1.405962   0.096870 -14.514  < 2e-16 ***
mstat_5unknown                          -0.004208   0.061967  -0.068  0.94586    
mstat_5unmarried                         0.131968   0.057797   2.283  0.02241 *  
mstat_5div_sep                           0.450131   0.110896   4.059 4.93e-05 ***
mstat_5widow                             0.175097   0.154218   1.135  0.25621    
lang_3Other                             -1.014723   0.351653  -2.886  0.00391 ** 
lang_3unknown                            0.155975   1.092401   0.143  0.88646    
age_yrs                                 -0.010702   0.001425  -7.512 5.83e-14 ***
race_5BLACK OR AFRICAN AMERICAN         -0.202568   0.095910  -2.112  0.03468 *  
race_5Other                              0.044817   0.122971   0.364  0.71552    
race_5ASIAN                             -0.514386   0.177224  -2.902  0.00370 ** 
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.295198   0.318642   0.926  0.35423    
relig_affilno                           -0.060926   0.045899  -1.327  0.18438    
relig_affilunknown                      -0.644031   0.115578  -5.572 2.51e-08 ***
tobac_4QUIT                              0.383760   0.052468   7.314 2.59e-13 ***
tobac_4Yes                               0.443069   0.064492   6.870 6.41e-12 ***
tobac_4NOT ASKED                        -0.374301   0.762282  -0.491  0.62341    
genderfemale                             0.698387   0.045656  15.297  < 2e-16 ***
ethnic_3Unknown                         -0.192395   0.143826  -1.338  0.18100    
ethnic_3HISPANIC                        -0.044937   0.163204  -0.275  0.78305    
RPL_THEMES                              -0.245256   0.088536  -2.770  0.00560 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 13935  on 14252  degrees of freedom
Residual deviance: 13471  on 14232  degrees of freedom
  (992 observations deleted due to missingness)
AIC: 13513

Number of Fisher Scoring iterations: 5
broom::glance(model2a)
broom::tidy(model2a, exponentiate = TRUE)
model_performance(model2a)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
13512.894 | 13671.753 |     0.033 | 0.387 | 0.973 |    0.473 |      -Inf |       9.001e-05 | 0.700
tbl_regression(model2a, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", tobac_4 ~ "Tobacco Use", mstat_5 ~ "Marital Status"), exponentiate = TRUE)  
Characteristic OR1 95% CI1 p-value
Marital Status
    married
    unknown 1.00 0.88, 1.12 >0.9
    unmarried 1.14 1.02, 1.28 0.022
    div_sep 1.57 1.26, 1.94 <0.001
    widow 1.19 0.87, 1.60 0.3
English Speaking
    English
    Other 0.36 0.17, 0.68 0.004
    unknown 1.17 0.06, 7.03 0.9
Age 0.99 0.99, 0.99 <0.001
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.82 0.67, 0.98 0.035
    Other 1.05 0.82, 1.33 0.7
    ASIAN 0.60 0.42, 0.84 0.004
    AMERICAN INDIAN AND ALASKA NATIVE 1.34 0.70, 2.45 0.4
Any Religious Affiliation
    yes
    no 0.94 0.86, 1.03 0.2
    unknown 0.53 0.42, 0.66 <0.001
Tobacco Use
    NEVER
    QUIT 1.47 1.32, 1.63 <0.001
    Yes 1.56 1.37, 1.77 <0.001
    NOT ASKED 0.69 0.11, 2.50 0.6
Gender
    male
    female 2.01 1.84, 2.20 <0.001
Ethnicity
    NON-HISPANIC
    Unknown 0.82 0.62, 1.09 0.2
    HISPANIC 0.96 0.69, 1.31 0.8
Total SVI 0.78 0.66, 0.93 0.006
1 OR = Odds Ratio, CI = Confidence Interval

Anxiety + RPL_THEMESx4

model2b <- glm(anxiety_2 ~  mstat_5 + lang_3 + age_yrs + race_5 + relig_affil 
          + tobac_4 + gender + ethnic_3 + RPL_THEME1 + RPL_THEME2 + RPL_THEME3 + RPL_THEME4,
              family = "binomial",
              data = mh_clean1)
summary(model2b)

Call:
glm(formula = anxiety_2 ~ mstat_5 + lang_3 + age_yrs + race_5 + 
    relig_affil + tobac_4 + gender + ethnic_3 + RPL_THEME1 + 
    RPL_THEME2 + RPL_THEME3 + RPL_THEME4, family = "binomial", 
    data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.1455  -0.7069  -0.5757  -0.4402   2.6568  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -1.513431   0.106858 -14.163  < 2e-16 ***
mstat_5unknown                          -0.006391   0.062271  -0.103 0.918254    
mstat_5unmarried                         0.123050   0.058002   2.121 0.033882 *  
mstat_5div_sep                           0.450177   0.111136   4.051 5.11e-05 ***
mstat_5widow                             0.173772   0.154518   1.125 0.260754    
lang_3Other                             -1.095238   0.352329  -3.109 0.001880 ** 
lang_3unknown                            0.154844   1.090565   0.142 0.887092    
age_yrs                                 -0.010517   0.001430  -7.355 1.92e-13 ***
race_5BLACK OR AFRICAN AMERICAN         -0.256990   0.097426  -2.638 0.008344 ** 
race_5Other                              0.007228   0.123631   0.058 0.953377    
race_5ASIAN                             -0.641737   0.178858  -3.588 0.000333 ***
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.326008   0.321096   1.015 0.309964    
relig_affilno                           -0.056076   0.046118  -1.216 0.224008    
relig_affilunknown                      -0.626184   0.115754  -5.410 6.32e-08 ***
tobac_4QUIT                              0.402282   0.052887   7.606 2.82e-14 ***
tobac_4Yes                               0.468944   0.065098   7.204 5.86e-13 ***
tobac_4NOT ASKED                        -0.345688   0.764701  -0.452 0.651228    
genderfemale                             0.705801   0.045874  15.386  < 2e-16 ***
ethnic_3Unknown                         -0.190470   0.144852  -1.315 0.188535    
ethnic_3HISPANIC                        -0.050950   0.163328  -0.312 0.755078    
RPL_THEME1                              -0.208277   0.126287  -1.649 0.099099 .  
RPL_THEME2                              -0.275089   0.108783  -2.529 0.011446 *  
RPL_THEME3                               0.301384   0.080164   3.760 0.000170 ***
RPL_THEME4                               0.077574   0.091258   0.850 0.395300    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 13862  on 14181  degrees of freedom
Residual deviance: 13368  on 14158  degrees of freedom
  (1063 observations deleted due to missingness)
AIC: 13416

Number of Fisher Scoring iterations: 5
broom::glance(model2b)
broom::tidy(model2b, exponentiate = TRUE)
model_performance(model2b)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
13415.852 | 13597.285 |     0.035 | 0.387 | 0.972 |    0.471 |      -Inf |       7.747e-05 | 0.701
tbl_regression(model2b, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation", tobac_4 ~ "Tobacco Use", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status"), exponentiate = TRUE)
Characteristic OR1 95% CI1 p-value
Marital Status
    married
    unknown 0.99 0.88, 1.12 >0.9
    unmarried 1.13 1.01, 1.27 0.034
    div_sep 1.57 1.26, 1.95 <0.001
    widow 1.19 0.87, 1.60 0.3
English Speaking
    English
    Other 0.33 0.16, 0.63 0.002
    unknown 1.17 0.06, 6.98 0.9
Age 0.99 0.99, 0.99 <0.001
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.77 0.64, 0.93 0.008
    Other 1.01 0.79, 1.28 >0.9
    ASIAN 0.53 0.37, 0.74 <0.001
    AMERICAN INDIAN AND ALASKA NATIVE 1.39 0.71, 2.54 0.3
Any Religious Affiliation
    yes
    no 0.95 0.86, 1.03 0.2
    unknown 0.53 0.42, 0.67 <0.001
Tobacco Use
    NEVER
    QUIT 1.50 1.35, 1.66 <0.001
    Yes 1.60 1.41, 1.81 <0.001
    NOT ASKED 0.71 0.11, 2.59 0.7
Gender
    male
    female 2.03 1.85, 2.22 <0.001
Ethnicity
    NON-HISPANIC
    Unknown 0.83 0.62, 1.09 0.2
    HISPANIC 0.95 0.68, 1.30 0.8
Soceioeconomic Status 0.81 0.63, 1.04 0.10
Household Composition 0.76 0.61, 0.94 0.011
Minority Status and Language 1.35 1.16, 1.58 <0.001
Housing and Transportation 1.08 0.90, 1.29 0.4
1 OR = Odds Ratio, CI = Confidence Interval

Any Psych Diagnosis + RPL_THEMES

model4a <- glm(any_psych_dx_2 ~ relig_affil + mstat_5 + race_5 + lang_3 +
              + tobac_4 + age_yrs + gender + ethnic_3 + RPL_THEMES,
              family = "binomial",
              data = mh_clean1)
summary(model4a)

Call:
glm(formula = any_psych_dx_2 ~ relig_affil + mstat_5 + race_5 + 
    lang_3 + +tobac_4 + age_yrs + gender + ethnic_3 + RPL_THEMES, 
    family = "binomial", data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.2807  -0.8526  -0.7308   1.3421   2.1971  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -1.303568   0.083860 -15.545  < 2e-16 ***
relig_affilno                           -0.043112   0.039920  -1.080   0.2802    
relig_affilunknown                      -0.556523   0.093483  -5.953 2.63e-09 ***
mstat_5unknown                           0.020372   0.053049   0.384   0.7010    
mstat_5unmarried                         0.209917   0.049959   4.202 2.65e-05 ***
mstat_5div_sep                           0.468399   0.099713   4.697 2.63e-06 ***
mstat_5widow                             0.238558   0.129404   1.844   0.0653 .  
race_5BLACK OR AFRICAN AMERICAN         -0.042643   0.079974  -0.533   0.5939    
race_5Other                              0.017179   0.106745   0.161   0.8721    
race_5ASIAN                             -0.234461   0.137644  -1.703   0.0885 .  
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.202155   0.292709   0.691   0.4898    
lang_3Other                             -0.779054   0.248312  -3.137   0.0017 ** 
lang_3unknown                            0.502376   0.841964   0.597   0.5507    
tobac_4QUIT                              0.418358   0.044995   9.298  < 2e-16 ***
tobac_4Yes                               0.461243   0.056728   8.131 4.26e-16 ***
tobac_4NOT ASKED                        -0.400351   0.645114  -0.621   0.5349    
age_yrs                                 -0.002646   0.001212  -2.183   0.0290 *  
genderfemale                             0.597073   0.038659  15.445  < 2e-16 ***
ethnic_3Unknown                         -0.227657   0.120873  -1.883   0.0596 .  
ethnic_3HISPANIC                         0.029399   0.141119   0.208   0.8350    
RPL_THEMES                              -0.047739   0.076136  -0.627   0.5306    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 17249  on 14252  degrees of freedom
Residual deviance: 16768  on 14232  degrees of freedom
  (992 observations deleted due to missingness)
AIC: 16810

Number of Fisher Scoring iterations: 4
broom::glance(model4a)
broom::tidy(model4a, exponentiate = TRUE)
model_performance(model4a)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
16810.042 | 16968.901 |     0.034 | 0.448 | 1.085 |    0.588 |      -Inf |       9.310e-05 | 0.599
tbl_regression(model4a, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", tobac_4 ~ "Tobacco Use", mstat_5 ~ "Marital Status"), exponentiate = TRUE)
Characteristic OR1 95% CI1 p-value
Any Religious Affiliation
    yes
    no 0.96 0.89, 1.04 0.3
    unknown 0.57 0.48, 0.69 <0.001
Marital Status
    married
    unknown 1.02 0.92, 1.13 0.7
    unmarried 1.23 1.12, 1.36 <0.001
    div_sep 1.60 1.31, 1.94 <0.001
    widow 1.27 0.98, 1.63 0.065
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.96 0.82, 1.12 0.6
    Other 1.02 0.82, 1.25 0.9
    ASIAN 0.79 0.60, 1.03 0.088
    AMERICAN INDIAN AND ALASKA NATIVE 1.22 0.68, 2.15 0.5
English Speaking
    English
    Other 0.46 0.27, 0.73 0.002
    unknown 1.65 0.23, 7.63 0.6
Tobacco Use
    NEVER
    QUIT 1.52 1.39, 1.66 <0.001
    Yes 1.59 1.42, 1.77 <0.001
    NOT ASKED 0.67 0.15, 2.10 0.5
Age 1.00 1.0, 1.00 0.029
Gender
    male
    female 1.82 1.68, 1.96 <0.001
Ethnicity
    NON-HISPANIC
    Unknown 0.80 0.63, 1.01 0.060
    HISPANIC 1.03 0.78, 1.35 0.8
Total SVI 0.95 0.82, 1.11 0.5
1 OR = Odds Ratio, CI = Confidence Interval

Any Psych Diagnosis + RPL_THEMESx4

model4b <- glm(any_psych_dx_2 ~ relig_affil + race_5 + lang_3 + mstat_5
             + age_yrs + tobac_4 + gender + ethnic_3  + RPL_THEME1 + RPL_THEME2 + RPL_THEME3 + RPL_THEME4,
              family = "binomial",
              data = mh_clean1)
summary(model4b)

Call:
glm(formula = any_psych_dx_2 ~ relig_affil + race_5 + lang_3 + 
    mstat_5 + age_yrs + tobac_4 + gender + ethnic_3 + RPL_THEME1 + 
    RPL_THEME2 + RPL_THEME3 + RPL_THEME4, family = "binomial", 
    data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.2830  -0.8605  -0.7232   1.3296   2.2112  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -1.387871   0.092430 -15.015  < 2e-16 ***
relig_affilno                           -0.038635   0.040095  -0.964 0.335259    
relig_affilunknown                      -0.546641   0.093636  -5.838 5.29e-09 ***
race_5BLACK OR AFRICAN AMERICAN         -0.091752   0.081408  -1.127 0.259714    
race_5Other                             -0.010926   0.107256  -0.102 0.918860    
race_5ASIAN                             -0.332770   0.139264  -2.389 0.016871 *  
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.235659   0.295217   0.798 0.424722    
lang_3Other                             -0.858231   0.249115  -3.445 0.000571 ***
lang_3unknown                            0.473789   0.841399   0.563 0.573370    
mstat_5unknown                           0.015388   0.053264   0.289 0.772662    
mstat_5unmarried                         0.197132   0.050149   3.931 8.46e-05 ***
mstat_5div_sep                           0.466792   0.099920   4.672 2.99e-06 ***
mstat_5widow                             0.223081   0.130036   1.716 0.086249 .  
age_yrs                                 -0.002376   0.001217  -1.953 0.050792 .  
tobac_4QUIT                              0.429510   0.045325   9.476  < 2e-16 ***
tobac_4Yes                               0.476571   0.057183   8.334  < 2e-16 ***
tobac_4NOT ASKED                        -0.377918   0.646769  -0.584 0.559007    
genderfemale                             0.602545   0.038816  15.523  < 2e-16 ***
ethnic_3Unknown                         -0.218921   0.121400  -1.803 0.071341 .  
ethnic_3HISPANIC                         0.024650   0.141363   0.174 0.861572    
RPL_THEME1                               0.065681   0.108703   0.604 0.545692    
RPL_THEME2                              -0.295883   0.093722  -3.157 0.001594 ** 
RPL_THEME3                               0.239483   0.069540   3.444 0.000574 ***
RPL_THEME4                               0.071322   0.078864   0.904 0.365798    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 17163  on 14181  degrees of freedom
Residual deviance: 16655  on 14158  degrees of freedom
  (1063 observations deleted due to missingness)
AIC: 16703

Number of Fisher Scoring iterations: 4
broom::glance(model4b)
broom::tidy(model4b, exponentiate = TRUE)
model_performance(model4b)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
16702.910 | 16884.343 |     0.036 | 0.447 | 1.085 |    0.587 |      -Inf |       7.051e-05 | 0.600
tbl_regression(model4b, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation", mstat_5 ~ "Marital Status"), exponentiate = TRUE)
Characteristic OR1 95% CI1 p-value
Any Religious Affiliation
    yes
    no 0.96 0.89, 1.04 0.3
    unknown 0.58 0.48, 0.69 <0.001
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.91 0.78, 1.07 0.3
    Other 0.99 0.80, 1.22 >0.9
    ASIAN 0.72 0.54, 0.94 0.017
    AMERICAN INDIAN AND ALASKA NATIVE 1.27 0.70, 2.23 0.4
English Speaking
    English
    Other 0.42 0.25, 0.68 <0.001
    unknown 1.61 0.23, 7.40 0.6
Marital Status
    married
    unknown 1.02 0.91, 1.13 0.8
    unmarried 1.22 1.10, 1.34 <0.001
    div_sep 1.59 1.31, 1.94 <0.001
    widow 1.25 0.97, 1.61 0.086
Age 1.00 1.00, 1.00 0.051
tobac_4
    NEVER
    QUIT 1.54 1.41, 1.68 <0.001
    Yes 1.61 1.44, 1.80 <0.001
    NOT ASKED 0.69 0.16, 2.15 0.6
Gender
    male
    female 1.83 1.69, 1.97 <0.001
Ethnicity
    NON-HISPANIC
    Unknown 0.80 0.63, 1.02 0.071
    HISPANIC 1.02 0.77, 1.35 0.9
Soceioeconomic Status 1.07 0.86, 1.32 0.5
Household Composition 0.74 0.62, 0.89 0.002
Minority Status and Language 1.27 1.11, 1.46 <0.001
Housing and Transportation 1.07 0.92, 1.25 0.4
1 OR = Odds Ratio, CI = Confidence Interval
LS0tCnRpdGxlOiAiMjAyMi4xMC4xOF9NSF9Nb2RlbCwgSW5jbF9Vbmtub3ducywgSW5jbF9NYXJpdGFsIFN0YXR1cyIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOgogICB0aGVtZXM6IHBhcGVyCiAgIHRvYzogeWVzCiAgIHRvY19mbG9hdDogeWVzCmVkaXRvcl9vcHRpb25zOiAKICBjaHVua19vdXRwdXRfdHlwZTogaW5saW5lCi0tLQojIExvYWQgUGFja2FnZXMgey50YWJzZXR9CgojIyB0aWR5dmVyc2UKCmBgYHtyfQppZiAoIXJlcXVpcmUodGlkeXZlcnNlKSl7CiAgaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIiwgZGVwZW5kZW5jaWVzID0gVFJVRSkKICBsaWJyYXJ5KHRpZHl2ZXJzZSkKfQpgYGAKCiMjIGNvZGVib29rcgpgYGB7cn0KaWYgKCFyZXF1aXJlKGNvZGVib29rcikpewogIGluc3RhbGwucGFja2FnZXMoImNvZGVib29rciIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShjb2RlYm9va3IpCn0KYGBgCgojIyBzdW1tYXJ5dG9vbHMKYGBge3J9CmlmICghcmVxdWlyZShzdW1tYXJ5dG9vbHMpKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJzdW1tYXJ5dG9vbHMiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQogIGxpYnJhcnkoc3VtbWFyeXRvb2xzKQp9CmBgYAoKIyMgYnJvb20gCmBgYHtyfQppZiAoIXJlcXVpcmUoYnJvb20pKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJicm9vbSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShicm9vbSkKfQpgYGAKCiMjIHBlcmZvcm1hbmNlCmBgYHtyfQppZiAoIXJlcXVpcmUocGVyZm9ybWFuY2UpKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJwZXJmb3JtYW5jZSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShwZXJmb3JtYW5jZSkKfQpgYGAKCiMjIGd0c3VtbWFyeQpgYGB7cn0KaWYgKCFyZXF1aXJlKGd0c3VtbWFyeSkpewogIGluc3RhbGwucGFja2FnZXMoImd0c3VtbWFyeSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShndHN1bW1hcnkpCn0KYGBgCgojIyBqYW5pdG9yCmBgYHtyfQppZiAoIXJlcXVpcmUoamFuaXRvcikpewogIGluc3RhbGwucGFja2FnZXMoImphbml0b3IiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQogIGxpYnJhcnkoamFuaXRvcikKfQpgYGAKCiMjIGZvcmNhdHMKYGBge3J9CmlmICghcmVxdWlyZShmb3JjYXRzKSl7CiAgaW5zdGFsbC5wYWNrYWdlcygiZm9yY2F0cyIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShmb3JjYXRzKQp9CmBgYAoKIyBJbXBvcnQgRGF0YQpgYGB7cn0KbWhfZGVpZHYzIDwtIHJlYWQuY3N2KCJ+L0Rlc2t0b3AvUi1Db2RlL21oX2RlaWR2My5jc3YiKQpgYGAKCiMgRGF0YSBDbGVhbmluZyB7LnRhYnNldH0KCiMjIFJQTF9USEVNRVMgRXJyb25lb3VzIHZhbHVlcyAKYGBge3J9Cm1oX2RlaWR2MyAlPiUKICBzZWxlY3QoYWdlX3lycywgUEFUSUVOVF9HRU5ERVJfQ0QsIFBBVElFTlRfUkFDRV9ERVNDLCBQQVRJRU5UX0VUSE5JQ19HUk9VUF9ERVNDLCBQQVRJRU5UX0xBTkdVQUdFX0RFU0MsIFBBVElFTlRfUkVMSUdJT05fREVTQywgUEFUSUVOVF9NQVJJVEFMX1NUQVRVU19ERVNDLCBQQVRJRU5UX1NUQVRFX0NELCBFRFVfWUVBUlMsIFRPQkFDQ09fREVTQywgZGVwcmVzc2lvbiwgYW54aWV0eSwgcHRzZCwgYmlwb2xhciwgYm9keV9pbWFnZSwgb2NkLCBzdHJlc3MsIHNlYXNvbmFsQUQsIHBhbmljLCBhbnlfcHN5Y2hfZHgsU1RfQUJCUiwgRV9UT1RQT1AsIFJQTF9USEVNRVMsIFJQTF9USEVNRTEsIFJQTF9USEVNRTIsIFJQTF9USEVNRTMsIFJQTF9USEVNRTQpIC0+IGV4YW1wbGVkZjEKZXhhbXBsZWRmMSAlPiUKbXV0YXRlKFJQTF9USEVNRVMgPSBuYV9pZihSUExfVEhFTUVTLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRVMgPSBuYV9pZihSUExfVEhFTUVTLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTEgPSBuYV9pZihSUExfVEhFTUUxLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTEgPSBuYV9pZihSUExfVEhFTUUxLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTIgPSBuYV9pZihSUExfVEhFTUUyLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTIgPSBuYV9pZihSUExfVEhFTUUyLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTMgPSBuYV9pZihSUExfVEhFTUUzLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTMgPSBuYV9pZihSUExfVEhFTUUzLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTQgPSBuYV9pZihSUExfVEhFTUU0LCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTQgPSBuYV9pZihSUExfVEhFTUU0LCAiMCIpKSAtPiBleGFtcGxlZGYxTkEKYGBgCgojIyBNZW50YWwgaGVhbHRoIGRhdGEgZGljaApgYGB7cn0KZXhhbXBsZWRmMU5BICU+JSBtdXRhdGUoYWNyb3NzKGRlcHJlc3Npb246YW55X3BzeWNoX2R4LCB+aWZfZWxzZSgueD4wLjUsIDEsIDApLAogICAgICAgICAgICAgICAgLm5hbWVzID0gIntjb2x9XzIiKSkgLT4gZXhhbXBsZWRmMU5BRGkyCmBgYAoKIyMgTWFyaXRhbCBzdGF0dXMKYGBge3J9CmV4YW1wbGVkZjFOQURpMiAlPiUgCm11dGF0ZShtc3RhdF81ID0gYXNfZmFjdG9yKFBBVElFTlRfTUFSSVRBTF9TVEFUVVNfREVTQyksCiAgICAgICAgIG1zdGF0XzUgPSBmY3RfcmVjb2RlKG1zdGF0XzUsIGRpdl9zZXAgPSAiRElWT1JDRUQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXZfc2VwID0gIkxFR0FMTFkgU0VQQVJBVEVEIiwgd2lkb3cgPSAiV0lET1dFRCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcnJpZWQgPSAiTUFSUklFRCIsIHVubWFycmllZCA9ICJTSU5HTEUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmtub3duID0gIlVOS05PV04iLCB1bmtub3duID0gIk9USEVSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5tYXJyaWVkID0gIlNJR05JRklDQU5UIE9USEVSIiksCiAgICAgICAgIG1zdGF0XzUgPSBmY3RfcmVsZXZlbChtc3RhdF81LCByZWYgPSAnbWFycmllZCcpKSAtPiBleGFtcGxlZGYxTkFEaTJNQQpgYGAKCiMjIFJlbGlnaW9uIApgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUEgJT4lIAogIG11dGF0ZShyZWxpZ19hZmZpbCA9IGFzX2ZhY3RvcihQQVRJRU5UX1JFTElHSU9OX0RFU0MpLAogICAgICAgICAgcmVsaWdfYWZmaWwgPSBmY3RfcmVjb2RlKHJlbGlnX2FmZmlsLCB5ZXMgPSAiQ0FUSE9MSUMiLAogICAgICAgICAgICAgICAgICAgICAgbm8gPSAiTk9ORSIsIHVua25vd24gPSAiVU5LTk9XTiIsIHVua25vd24gPSAiUEFUSUVOVCBSRUZVU0VEIiwgCiAgICAgICAgICAgICAgICAgICAgICB5ZXMgPSAiQ0hSSVNUSUFOIiwgeWVzID0gIkxVVEhFUkFOIiwKICAgICAgICAgICAgICAgICAgICAgIHllcyA9ICJQUk9URVNUQU5UIiwgeWVzID0gIkJBUFRJU1QiLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIk1FVEhPRElTVCIsIHllcyA9ICJQUkVTQllURVJJQU4iLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIk5PTi1ERU5PTUlOQVRJT05BTCIsIHllcyA9ICJKRVdJU0giLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIk1VU0xJTSIsIHllcyA9ICJPVEhFUiIsCiAgICAgICAgICAgICAgICAgICAgICB5ZXMgPSAiRVBJU0NPUEFMSUFOIiwgeWVzID0gIlBFTlRFQ09TVEFMIiwKICAgICAgICAgICAgICAgICAgICAgIG5vID0gIkFHTk9TVElDIiwgbm8gPSAiQVRIRUlTVCIsCiAgICAgICAgICAgICAgICAgICAgICB5ZXMgPSAiSkVIT1ZBSCdTIFdJVE5FU1MiLCB5ZXMgPSAiSElORFUiLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIkdSRUVLIE9SVEhPRE9YIiwgeWVzID0gIkNIVVJDSCBPRiBKRVNVUyBDSFJJU1QgT0YgTEFUVEVSLURBWSBTQUlOVFMiLCB5ZXMgPSAiQkFIQUkiLCBubyA9ICJTUElSSVRVQUwiLCB5ZXMgPSAiQ0hVUkNIIE9GIENIUklTVCIsCiAgICAgICAgIHllcyA9ICJTRVZFTlRIIERBWSBBRFZFTlRJU1QiLCB5ZXMgPSAiQVBPU1RPTElDIiwgeWVzID0gIkJVRERISVNUIiwgeWVzID0gIk5BWkFSRU5FIiwgeWVzID0gIkNPTkdSRUdBVElPTkFMIiwgeWVzID0gIlVOSVRFRCBDSFVSQ0ggT0YgQ0hSIiwgeWVzID0gIlJFRk9STUVEIiwgeWVzID0gIlBBR0FOIiwgeWVzID0gIkpBSU4iLCB5ZXMgPSAiQVNTRU1CTFkgT0YgR09EIiwgeWVzID0gIlJFT1JHIENIUiBPRiBMQVQgREFZIiwgeWVzID0gIlFVQUtFUiIsIHllcyA9ICJVTklUQVJJQU4gVU5JVkVSU0FMSVNUIiwgeWVzID0gIk1FTk5PTklURSIsIHllcyA9ICJGUkVFIE1FVEhPRElTVCIsIHllcyA9ICJOQVRJVkUgQU1FUiBTUElSSVRMIiwgeWVzID0gIldJQ0NBTiIsIHllcyA9ICJPUlRIT0RPWCIsIHllcyA9ICJTQUxWQVRJT04gQVJNWSIsIHllcyA9ICJESVNDSVBMRVMgT0YgQ0hSSVNUIiwgeWVzID0gIkFGUklDQU4gTUVUSE9ESVNUIEVQIiwgeWVzID0gIlNJS0giLCB5ZXMgPSAiQ0hVUkNIIE9GIEdPRCIsIHllcyA9ICJUQU9JU1QiLCB5ZXMgPSAiQU5HTElDQU4iLCB5ZXMgPSAiUlVTU0lBTiBPUlRIT0RPWCIpLAogICAgICAgICByZWxpZ19hZmZpbCA9IGZjdF9yZWxldmVsKHJlbGlnX2FmZmlsLCByZWYgPSAneWVzJykpIC0+IGV4YW1wbGVkZjFOQURpMk1BUmVsCmBgYAoKIyMgUmFjZSAKYGBge3J9CmV4YW1wbGVkZjFOQURpMk1BUmVsICU+JSAKbXV0YXRlKHJhY2VfNSA9IGFzX2ZhY3RvcihQQVRJRU5UX1JBQ0VfREVTQyksCiAgICAgICAgIHJhY2VfNSA9IGZjdF9yZWNvZGUocmFjZV81LCBPdGhlciA9ICJPVEhFUiIsCiAgICAgICAgICAgICAgICAgIE90aGVyID0gIlVOS05PV04iLCBPdGhlciA9ICJDSE9PU0UgTk9UIFRPIERJU0NMT1NFIiwKICAgICAgICAgICAgICAgICAgT3RoZXIgPSAiTkFUSVZFIEhBV0FJSUFOIEFORCBPVEhFUiBQQUNJRklDIElTTEFOREVSIiwgCiAgICAgICAgICAgICAgICAgIE90aGVyID0gIk1JRERMRSBFQVNURVJOL05PUlRIIEFGUklDQU4iLAogICAgICAgICAgICAgICAgQVNJQU4gPSAiQVNJQU4gSU5ESUFOIiwgQVNJQU4gPSAiT1RIRVIgQVNJQU4iLAogICAgICAgICAgICAgICAgQVNJQU4gPSAiSkFQQU5FU0UiLCBBU0lBTiA9ICJLT1JFQU4iLCBBU0lBTiA9ICJGSUxJUElOTyIsCiAgICAgICAgICAgICAgICBBU0lBTiA9ICJDSElORVNFIiksCiAgICAgICAgIHJhY2VfNSA9IGZjdF9yZWxldmVsKHJhY2VfNSwgcmVmID0gJ1dISVRFIE9SIENBVUNBU0lBTicpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbFJhCmBgYAoKIyMgR2VuZGVyCmBgYHtyfQpleGFtcGxlZGYxTkFEaTJNQVJlbFJhICU+JSAKbXV0YXRlKGdlbmRlciA9IGFzX2ZhY3RvcihQQVRJRU5UX0dFTkRFUl9DRCksCiAgICAgICAgIGdlbmRlciA9IGZjdF9yZWNvZGUoZ2VuZGVyLCBtYWxlID0gIk0iLCBmZW1hbGUgPSAiRiIpLAogICAgICAgICBnZW5kZXIgPSBmY3RfcmVsZXZlbChnZW5kZXIsIHJlZiA9ICJtYWxlIikpIC0+IGV4YW1wbGVkZjFOQURpMk1BUmVsUmFHCmBgYAoKIyMgTGFuZ3VhZ2UKYGBge3J9CmV4YW1wbGVkZjFOQURpMk1BUmVsUmFHICU+JSAKICBtdXRhdGUobGFuZ18zID0gYXNfZmFjdG9yKFBBVElFTlRfTEFOR1VBR0VfREVTQyksCmxhbmdfMyA9IGZjdF9yZWNvZGUobGFuZ18zLCBFbmdsaXNoID0gIkVOR0xJU0giLApPdGhlciA9ICJBUkFCSUMiLCBPdGhlciA9ICJKQVBBTkVTRSIsCk90aGVyID0gIkNISU5FU0UsIE1BTkRBUklOIiwKT3RoZXIgPSAiS09SRUFOIiwgT3RoZXIgPSAiU0lHTiBMQU5HVUFHRSIsCk90aGVyID0gIlJVU1NJQU4iLCBPdGhlciA9ICJTUEFOSVNIIiwgT3RoZXIgPSAiQVJNRU5JQU4iLApPdGhlciA9ICJUVVJLSVNIIiwgT3RoZXIgPSAiSElOREkiLCBPdGhlciA9ICJCRU5HQUxJIiwgT3RoZXIgPSAiRkFSU0k7IFBFUlNJQU4iLCBPdGhlciA9ICJBTEJBTklBTiIsIE90aGVyID0gIkhNT05HIiwgT3RoZXIgPSAiUk9NQU5JQU4iLCAKT3RoZXIgPSAiUFVOSkFCSSIsIE90aGVyID0gIkNST0FUSUFOIiwgT3RoZXIgPSAiQ0hBTERFQU4iLCAKT3RoZXIgPSAiQlVSTUVTRSIsIE90aGVyID0gIlBPUlRVR1VFU0UiLCB1bmtub3duID0gIlVOS05PV04iLApPdGhlciA9ICJGUkVOQ0giLCBPdGhlciA9ICJHRVJNQU4iLCBPdGhlciA9ICJDSElORVNFLCBDQU5UT05FU0UiLCBPdGhlciA9ICJVUkRVIiwKT3RoZXIgPSAiQk9TTklBTiIsIE90aGVyID0gIlRBR0FMT0ciKSwKbGFuZ18zID0gZmN0X3JlbGV2ZWwobGFuZ18zLCByZWYgPSAnRW5nbGlzaCcpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbFJhR0wKYGBgCgojIyBFdGhuaWNpdHkKYGBge3J9CmV4YW1wbGVkZjFOQURpMk1BUmVsUmFHTCAlPiUgCiAgbXV0YXRlKGV0aG5pY18zID0gYXNfZmFjdG9yKFBBVElFTlRfRVRITklDX0dST1VQX0RFU0MpLAogICAgICAgICBldGhuaWNfMyA9IGZjdF9yZWNvZGUoZXRobmljXzMsIFVua25vd24gPSAiQ0hPT1NFIE5PVCBUTyBESVNDTE9TRSIsIFVua25vd24gPSAiVU5LTk9XTiIpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbFJhR0xFdGgKYGBgCgojIyBUb2JhY2NvIApgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUFSZWxSYUdMRXRoICU+JSAKICBtdXRhdGUodG9iYWNfNCA9IGFzX2ZhY3RvcihUT0JBQ0NPX0RFU0MpLAogdG9iYWNfNCA9IGZjdF9yZWNvZGUodG9iYWNfNCwgWWVzID0gIlBBU1NJVkUiLApZZXMgPSAiWUVTIiksCnRvYmFjXzQgPSBmY3RfcmVsZXZlbCh0b2JhY180LCByZWYgPSAnTkVWRVInKSkgIC0+IGV4YW1wbGVkZjFOQURpMk1BUmVsUmFHTEV0aFQKYGBgCgojIENvZGVib29rIApgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUFSZWxSYUdMRXRoVCAlPiUgCnNlbGVjdChhZ2VfeXJzLCBnZW5kZXIsIHJhY2VfNSwgZXRobmljXzMsIGxhbmdfMywgcmVsaWdfYWZmaWwsIG1zdGF0XzUsIFBBVElFTlRfU1RBVEVfQ0QsIEVEVV9ZRUFSUywgdG9iYWNfNCwgZGVwcmVzc2lvbl8yLCBhbnhpZXR5XzIsIHB0c2RfMiwgYmlwb2xhcl8yLCBib2R5X2ltYWdlXzIsIG9jZF8yLCBzZWFzb25hbEFEXzIsIHBhbmljXzIsIGFueV9wc3ljaF9keF8yLCBFX1RPVFBPUCwgUlBMX1RIRU1FUywgUlBMX1RIRU1FMSwgUlBMX1RIRU1FMiwgUlBMX1RIRU1FMywgUlBMX1RIRU1FNCkgLT4gbWhfY2xlYW4xCnByaW50KGRmU3VtbWFyeShtaF9jbGVhbjEpLCBtZXRob2QgPSAncmVuZGVyJykgCmBgYAoKIyBQYXRpZW50IENoYXJhY3RlcmlzdGljcyB7LnRhYnNldH0KCiMjIEJhc2VsaW5lIENoYXJhY3RlcmlzdGljcyAKYGBge3J9Cm1oX2NsZWFuMSAlPiUgCiAgc2VsZWN0KGFnZV95cnMsIGdlbmRlciwgcmFjZV81LCBldGhuaWNfMywgbGFuZ18zLCByZWxpZ19hZmZpbCwgbXN0YXRfNSwgdG9iYWNfNCwgZGVwcmVzc2lvbl8yLCBhbnhpZXR5XzIsIHB0c2RfMiwgYW55X3BzeWNoX2R4XzIsIFJQTF9USEVNRVMsIFJQTF9USEVNRTEsIFJQTF9USEVNRTIsIFJQTF9USEVNRTMsIFJQTF9USEVNRTQpIC0+IGJhc2VsaW5lCmJhc2VsaW5lICU+JSB0Ymxfc3VtbWFyeShsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiLCBkZXByZXNzaW9uXzIgfiAiRGVwcmVzc2lvbiIsIGFueGlldHlfMiB+ICJBbnhpZXR5IiwgcHRzZF8yIH4gIlBUU0QiLCBhbnlfcHN5Y2hfZHhfMiB+ICJBbnkgUHN5Y2hpYXRyaWMgRGlhZ25vc2lzIiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgUlBMX1RIRU1FNCB+ICJIb3VzaW5nIGFuZCBUcmFuc3BvcnRhdGlvbiIpLAogICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbWlzc2luZ190ZXh0ID0gIihNaXNzaW5nKSIpCmBgYAoKIyMgQmFzZWxpbmUgQ2hhcmFjdGVyaXN0aWNzIGJ5IERlcHJlc3Npb24gCmBgYHtyfQpiYXNlbGluZSAlPiUgdGJsX3N1bW1hcnkoYnkgPSBkZXByZXNzaW9uXzIsCiAgICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiwgYW54aWV0eV8yIH4gIkFueGlldHkiLCBwdHNkXzIgfiAiUFRTRCIsIGFueV9wc3ljaF9keF8yIH4gIkFueSBQc3ljaGlhdHJpYyBEaWFnbm9zaXMiLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIFJQTF9USEVNRTEgfiAiU29jZWlvZWNvbm9taWMgU3RhdHVzIiwgUlBMX1RIRU1FMiB+ICJIb3VzZWhvbGQgQ29tcG9zaXRpb24iLCBSUExfVEhFTUUzIH4gIk1pbm9yaXR5IFN0YXR1cyBhbmQgTGFuZ3VhZ2UiLCBSUExfVEhFTUU0IH4gIkhvdXNpbmcgYW5kIFRyYW5zcG9ydGF0aW9uIiksCiAgICAgICAgbWlzc2luZ190ZXh0ID0gIihNaXNzaW5nKSIKICAgICAgICApICU+JSBhZGRfcCgpCmBgYAoKIyMgQmFzZWxpbmUgQ2hhcmFjdGVyaXN0aWNzIGJ5IEFueGlldHkgCmBgYHtyfQpiYXNlbGluZSAlPiUgdGJsX3N1bW1hcnkoYnkgPSBhbnhpZXR5XzIsCiAgICAgICBzdGF0aXN0aWMgPSBsaXN0KGFsbF9jb250aW51b3VzKCkgfiAie21lYW59ICh7c2R9KSIpLAogICAgICAgIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIsIGRlcHJlc3Npb25fMiB+ICJEZXByZXNzaW9uIiwgcHRzZF8yIH4gIlBUU0QiLCBhbnlfcHN5Y2hfZHhfMiB+ICJBbnkgUHN5Y2hpYXRyaWMgRGlhZ25vc2lzIiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgUlBMX1RIRU1FNCB+ICJIb3VzaW5nIGFuZCBUcmFuc3BvcnRhdGlvbiIpLAogICAgICAgIG1pc3NpbmdfdGV4dCA9ICIoTWlzc2luZykiCiAgICAgICAgKSAlPiUgYWRkX3AoKQpgYGAKCiMjIEJhc2VsaW5lIENoYXJhY3RlcmlzdGljcyBieSBBbnkgUHN5Y2ggRGlhZ25vc2lzIApgYGB7cn0KYmFzZWxpbmUgJT4lIHRibF9zdW1tYXJ5KGJ5ID0gYW55X3BzeWNoX2R4XzIsCiAgICAgICBzdGF0aXN0aWMgPSBsaXN0KGFsbF9jb250aW51b3VzKCkgfiAie21lYW59ICh7c2R9KSIpLAogICAgICAgIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIsIGRlcHJlc3Npb25fMiB+ICJEZXByZXNzaW9uIiwgcHRzZF8yIH4gIlBUU0QiLCBhbnhpZXR5XzIgfiAiQW54aWV0eSIsIFJQTF9USEVNRVMgfiAiVG90YWwgU1ZJIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIgogICAgICAgICkgJT4lIGFkZF9wKCkKYGBgCgojIFByZWxpbSBNb2RlbHMgey50YWJzZXR9CgojIyBEZXByZXNzaW9uICsgUlBMX1RIRU1FUyAKYGBge3J9Cm1vZGVsMWEgPC0gZ2xtKGRlcHJlc3Npb25fMiB+IG1zdGF0XzUgKyByYWNlXzUgKyBsYW5nXzMgKyByZWxpZ19hZmZpbCArIGFnZV95cnMKICAgICAgICAgICAgICAgKyBnZW5kZXIgKyBldGhuaWNfMyArIHRvYmFjXzQgKyBSUExfVEhFTUVTLAogICAgICAgICAgICAgIGZhbWlseSA9ICJiaW5vbWlhbCIsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX2NsZWFuMSkKc3VtbWFyeShtb2RlbDFhKQpicm9vbTo6Z2xhbmNlKG1vZGVsMWEpCmJyb29tOjp0aWR5KG1vZGVsMWEsIGV4cG9uZW50aWF0ZSA9IFRSVUUpCm1vZGVsX3BlcmZvcm1hbmNlKG1vZGVsMWEpCnRibF9yZWdyZXNzaW9uKG1vZGVsMWEsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiwgdG9iYWNfNCB+ICJUb2JhY2NvIFVzZSIpLCBleHBvbmVudGlhdGUgPSBUUlVFKQpgYGAKCiMjIERlcHJlc3Npb24gKyBSUExfVEhFTUVTeDQgCmBgYHtyfQptb2RlbDFiIDwtIGdsbShkZXByZXNzaW9uXzIgfiAgbXN0YXRfNSArIGxhbmdfMyArIHJlbGlnX2FmZmlsICsgYWdlX3lycyArIHJhY2VfNQogICAgICAgKyB0b2JhY180ICsgZ2VuZGVyICsgZXRobmljXzMgKyBSUExfVEhFTUUxICsgUlBMX1RIRU1FMiArIFJQTF9USEVNRTMgKyBSUExfVEhFTUU0LAogICAgICAgICAgICAgIGZhbWlseSA9ICJiaW5vbWlhbCIsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX2NsZWFuMSkKc3VtbWFyeShtb2RlbDFiKQpicm9vbTo6Z2xhbmNlKG1vZGVsMWIpCmJyb29tOjp0aWR5KG1vZGVsMWIsIGV4cG9uZW50aWF0ZSA9IFRSVUUpCm1vZGVsX3BlcmZvcm1hbmNlKG1vZGVsMWIpCnRibF9yZWdyZXNzaW9uKG1vZGVsMWIsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiLCBSUExfVEhFTUU0IH4gIkhvdXNpbmcgYW5kIFRyYW5zcG9ydGF0aW9uIiwgdG9iYWNfNCB+ICJUb2JhY2NvIFVzZSIpLCBleHBvbmVudGlhdGUgPSBUUlVFKQpgYGAKCiMjIEFueGlldHkgKyBSUExfVEhFTUVTIApgYGB7cn0KbW9kZWwyYSA8LSBnbG0oYW54aWV0eV8yIH4gbXN0YXRfNSArIGxhbmdfMyArIGFnZV95cnMgKyByYWNlXzUgKyByZWxpZ19hZmZpbAogICAgICAgICAgICAgICArIHRvYmFjXzQgKyBnZW5kZXIgKyBldGhuaWNfMyArIFJQTF9USEVNRVMsCiAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICBkYXRhID0gbWhfY2xlYW4xKQpzdW1tYXJ5KG1vZGVsMmEpCmJyb29tOjpnbGFuY2UobW9kZWwyYSkKYnJvb206OnRpZHkobW9kZWwyYSwgZXhwb25lbnRpYXRlID0gVFJVRSkKbW9kZWxfcGVyZm9ybWFuY2UobW9kZWwyYSkKdGJsX3JlZ3Jlc3Npb24obW9kZWwyYSwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIHRvYmFjXzQgfiAiVG9iYWNjbyBVc2UiLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiksIGV4cG9uZW50aWF0ZSA9IFRSVUUpICAKYGBgCgojIyBBbnhpZXR5ICsgUlBMX1RIRU1FU3g0CmBgYHtyfQptb2RlbDJiIDwtIGdsbShhbnhpZXR5XzIgfiAgbXN0YXRfNSArIGxhbmdfMyArIGFnZV95cnMgKyByYWNlXzUgKyByZWxpZ19hZmZpbCAKICAgICAgICAgICsgdG9iYWNfNCArIGdlbmRlciArIGV0aG5pY18zICsgUlBMX1RIRU1FMSArIFJQTF9USEVNRTIgKyBSUExfVEhFTUUzICsgUlBMX1RIRU1FNCwKICAgICAgICAgICAgICBmYW1pbHkgPSAiYmlub21pYWwiLAogICAgICAgICAgICAgIGRhdGEgPSBtaF9jbGVhbjEpCnN1bW1hcnkobW9kZWwyYikKYnJvb206OmdsYW5jZShtb2RlbDJiKQpicm9vbTo6dGlkeShtb2RlbDJiLCBleHBvbmVudGlhdGUgPSBUUlVFKQptb2RlbF9wZXJmb3JtYW5jZShtb2RlbDJiKQp0YmxfcmVncmVzc2lvbihtb2RlbDJiLCBsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iLCB0b2JhY180IH4gIlRvYmFjY28gVXNlIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiKSwgZXhwb25lbnRpYXRlID0gVFJVRSkKYGBgCgojIyBBbnkgUHN5Y2ggRGlhZ25vc2lzICsgUlBMX1RIRU1FUyAKYGBge3J9Cm1vZGVsNGEgPC0gZ2xtKGFueV9wc3ljaF9keF8yIH4gcmVsaWdfYWZmaWwgKyBtc3RhdF81ICsgcmFjZV81ICsgbGFuZ18zICsKICAgICAgICAgICAgICArIHRvYmFjXzQgKyBhZ2VfeXJzICsgZ2VuZGVyICsgZXRobmljXzMgKyBSUExfVEhFTUVTLAogICAgICAgICAgICAgIGZhbWlseSA9ICJiaW5vbWlhbCIsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX2NsZWFuMSkKc3VtbWFyeShtb2RlbDRhKQpicm9vbTo6Z2xhbmNlKG1vZGVsNGEpCmJyb29tOjp0aWR5KG1vZGVsNGEsIGV4cG9uZW50aWF0ZSA9IFRSVUUpCm1vZGVsX3BlcmZvcm1hbmNlKG1vZGVsNGEpCnRibF9yZWdyZXNzaW9uKG1vZGVsNGEsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCB0b2JhY180IH4gIlRvYmFjY28gVXNlIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIpLCBleHBvbmVudGlhdGUgPSBUUlVFKQpgYGAKCiMjIEFueSBQc3ljaCBEaWFnbm9zaXMgKyBSUExfVEhFTUVTeDQKYGBge3J9Cm1vZGVsNGIgPC0gZ2xtKGFueV9wc3ljaF9keF8yIH4gcmVsaWdfYWZmaWwgKyByYWNlXzUgKyBsYW5nXzMgKyBtc3RhdF81CiAgICAgICAgICAgICArIGFnZV95cnMgKyB0b2JhY180ICsgZ2VuZGVyICsgZXRobmljXzMgICsgUlBMX1RIRU1FMSArIFJQTF9USEVNRTIgKyBSUExfVEhFTUUzICsgUlBMX1RIRU1FNCwKICAgICAgICAgICAgICBmYW1pbHkgPSAiYmlub21pYWwiLAogICAgICAgICAgICAgIGRhdGEgPSBtaF9jbGVhbjEpCnN1bW1hcnkobW9kZWw0YikKYnJvb206OmdsYW5jZShtb2RlbDRiKQpicm9vbTo6dGlkeShtb2RlbDRiLCBleHBvbmVudGlhdGUgPSBUUlVFKQptb2RlbF9wZXJmb3JtYW5jZShtb2RlbDRiKQp0YmxfcmVncmVzc2lvbihtb2RlbDRiLCBsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIFJQTF9USEVNRTEgfiAiU29jZWlvZWNvbm9taWMgU3RhdHVzIiwgUlBMX1RIRU1FMiB+ICJIb3VzZWhvbGQgQ29tcG9zaXRpb24iLCBSUExfVEhFTUUzIH4gIk1pbm9yaXR5IFN0YXR1cyBhbmQgTGFuZ3VhZ2UiLCBSUExfVEhFTUU0IH4gIkhvdXNpbmcgYW5kIFRyYW5zcG9ydGF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIpLCBleHBvbmVudGlhdGUgPSBUUlVFKQpgYGAKCg==