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",
yes = "CHRISTIAN", yes = "LUTHERAN",
yes = "RUSSIAN ORTHODOX",
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"),
relig_affil = fct_relevel(relig_affil, ref = 'yes')) %>%
mutate(relig_affil = na_if(relig_affil, "UNKNOWN")) %>%
mutate(relig_affil = na_if(relig_affil, "PATIENT REFUSED")) -> 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",
Other = "TAGALOG", Other = "FRENCH",
Other = "GERMAN", Other = "CHINESE, CANTONESE",
Other = "BOSNIAN", Other = "URDU",
Other = "UNKNOWN"),
lang_3 = fct_relevel(lang_3, ref = 'English')) -> exampledf1NADi2MARelRaGL
Ethnicity
exampledf1NADi2MARelRaGL %>%
mutate(ethnic_3 = as_factor(PATIENT_ETHNIC_GROUP_DESC)) %>%
mutate(ethnic_3 = na_if(ethnic_3, "UNKNOWN")) %>%
mutate(ethnic_3 = na_if(ethnic_3, "CHOOSE NOT TO DISCLOSE")) -> 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')) %>%
mutate(tobac_4 = na_if(tobac_4, "NOT ASKED")) -> 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')
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,245 |
| 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 (98%) |
| UNKNOWN |
0 (0%) |
| CHOOSE NOT TO DISCLOSE |
0 (0%) |
| HISPANIC |
302 (2.1%) |
| (Missing) |
542 |
| English Speaking |
|
| English |
15,081 (99%) |
| Other |
164 (1.1%) |
| Any Religious Affiliation |
|
| yes |
8,211 (57%) |
| no |
6,085 (43%) |
| PATIENT REFUSED |
0 (0%) |
| UNKNOWN |
0 (0%) |
| (Missing) |
949 |
| 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 |
0 (0%) |
| (Missing) |
743 |
| 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 |
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=345] = 27473220, ldstp=15930)
Try increasing the size of the workspace and possibly 'mult'
| Characteristic |
0, N = 12,639 |
1, N = 2,606 |
p-value |
| 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.5 |
| NON-HISPANIC |
11,905 (98%) |
2,496 (98%) |
|
| UNKNOWN |
0 (0%) |
0 (0%) |
|
| CHOOSE NOT TO DISCLOSE |
0 (0%) |
0 (0%) |
|
| HISPANIC |
255 (2.1%) |
47 (1.8%) |
|
| (Missing) |
479 |
63 |
|
| English Speaking |
|
|
0.002 |
| English |
12,488 (99%) |
2,593 (100%) |
|
| Other |
151 (1.2%) |
13 (0.5%) |
|
| Any Religious Affiliation |
|
|
0.2 |
| yes |
6,740 (57%) |
1,471 (59%) |
|
| no |
5,043 (43%) |
1,042 (41%) |
|
| PATIENT REFUSED |
0 (0%) |
0 (0%) |
|
| UNKNOWN |
0 (0%) |
0 (0%) |
|
| (Missing) |
856 |
93 |
|
| 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 (59%) |
1,183 (46%) |
|
| QUIT |
3,499 (29%) |
940 (37%) |
|
| Yes |
1,459 (12%) |
431 (17%) |
|
| NOT ASKED |
0 (0%) |
0 (0%) |
|
| (Missing) |
691 |
52 |
|
| 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 |
|
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=1030] = 30145890, ldstp=15930)
Try increasing the size of the workspace and possibly 'mult'
| Characteristic |
0, N = 12,434 |
1, N = 2,811 |
p-value |
| 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.8 |
| NON-HISPANIC |
11,713 (98%) |
2,688 (98%) |
|
| UNKNOWN |
0 (0%) |
0 (0%) |
|
| CHOOSE NOT TO DISCLOSE |
0 (0%) |
0 (0%) |
|
| HISPANIC |
248 (2.1%) |
54 (2.0%) |
|
| (Missing) |
473 |
69 |
|
| English Speaking |
|
|
<0.001 |
| English |
12,280 (99%) |
2,801 (100%) |
|
| Other |
154 (1.2%) |
10 (0.4%) |
|
| Any Religious Affiliation |
|
|
0.9 |
| yes |
6,652 (57%) |
1,559 (58%) |
|
| no |
4,935 (43%) |
1,150 (42%) |
|
| PATIENT REFUSED |
0 (0%) |
0 (0%) |
|
| UNKNOWN |
0 (0%) |
0 (0%) |
|
| (Missing) |
847 |
102 |
|
| 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 (58%) |
1,421 (51%) |
|
| QUIT |
3,540 (30%) |
899 (33%) |
|
| Yes |
1,447 (12%) |
443 (16%) |
|
| NOT ASKED |
0 (0%) |
0 (0%) |
|
| (Missing) |
695 |
48 |
|
| 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 |
|
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()
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=1047] = 39726216, ldstp=15930)
Try increasing the size of the workspace and possibly 'mult'
| Characteristic |
0, N = 10,929 |
1, N = 4,316 |
p-value |
| 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.7 |
| NON-HISPANIC |
10,280 (98%) |
4,121 (98%) |
|
| UNKNOWN |
0 (0%) |
0 (0%) |
|
| CHOOSE NOT TO DISCLOSE |
0 (0%) |
0 (0%) |
|
| HISPANIC |
219 (2.1%) |
83 (2.0%) |
|
| (Missing) |
430 |
112 |
|
| English Speaking |
|
|
<0.001 |
| English |
10,787 (99%) |
4,294 (99%) |
|
| Other |
142 (1.3%) |
22 (0.5%) |
|
| Any Religious Affiliation |
|
|
0.3 |
| yes |
5,804 (57%) |
2,407 (58%) |
|
| no |
4,350 (43%) |
1,735 (42%) |
|
| PATIENT REFUSED |
0 (0%) |
0 (0%) |
|
| UNKNOWN |
0 (0%) |
0 (0%) |
|
| (Missing) |
775 |
174 |
|
| 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 |
|
|
|
| NEVER |
6,064 (59%) |
2,109 (50%) |
|
| QUIT |
2,988 (29%) |
1,451 (34%) |
|
| Yes |
1,222 (12%) |
668 (16%) |
|
| NOT ASKED |
0 (0%) |
0 (0%) |
|
| (Missing) |
655 |
88 |
|
| 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 |
|
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.1118 -0.6668 -0.5846 -0.4564 2.4159
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.422915 0.104486 -23.189 < 2e-16 ***
mstat_5unknown 0.072416 0.065717 1.102 0.2705
mstat_5unmarried 0.326549 0.060989 5.354 8.59e-08 ***
mstat_5div_sep 0.590594 0.112401 5.254 1.49e-07 ***
mstat_5widow 0.275059 0.146759 1.874 0.0609 .
race_5BLACK OR AFRICAN AMERICAN -0.049591 0.096285 -0.515 0.6065
race_5Other -0.161237 0.153115 -1.053 0.2923
race_5ASIAN -0.321607 0.186891 -1.721 0.0853 .
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.270995 0.339278 0.799 0.4244
lang_3Other -0.492106 0.313202 -1.571 0.1161
relig_affilno -0.016553 0.048015 -0.345 0.7303
age_yrs 0.003596 0.001478 2.433 0.0150 *
genderfemale 0.591217 0.048236 12.257 < 2e-16 ***
ethnic_3HISPANIC 0.045777 0.175819 0.260 0.7946
tobac_4QUIT 0.441558 0.054711 8.071 6.99e-16 ***
tobac_4Yes 0.531317 0.067747 7.843 4.41e-15 ***
RPL_THEMES 0.111488 0.092735 1.202 0.2293
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 12438 on 13063 degrees of freedom
Residual deviance: 12080 on 13047 degrees of freedom
(2181 observations deleted due to missingness)
AIC: 12114
Number of Fisher Scoring iterations: 4
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
--------------------------------------------------------------------------------------------------
12114.369 | 12241.488 | 0.028 | 0.381 | 0.962 | 0.462 | -Inf | 9.748e-05 | 0.709
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 |
OR |
95% CI |
p-value |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
1.08 |
0.94, 1.22 |
0.3 |
| unmarried |
1.39 |
1.23, 1.56 |
<0.001 |
| div_sep |
1.81 |
1.44, 2.25 |
<0.001 |
| widow |
1.32 |
0.98, 1.75 |
0.061 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.95 |
0.79, 1.15 |
0.6 |
| Other |
0.85 |
0.63, 1.14 |
0.3 |
| ASIAN |
0.72 |
0.49, 1.03 |
0.085 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.31 |
0.65, 2.48 |
0.4 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.61 |
0.31, 1.09 |
0.12 |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.98 |
0.90, 1.08 |
0.7 |
| Age |
1.00 |
1.00, 1.01 |
0.015 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
1.81 |
1.64, 1.99 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| HISPANIC |
1.05 |
0.73, 1.46 |
0.8 |
| Tobacco Use |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.56 |
1.40, 1.73 |
<0.001 |
| Yes |
1.70 |
1.49, 1.94 |
<0.001 |
| Total SVI |
1.12 |
0.93, 1.34 |
0.2 |
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.1077 -0.6661 -0.5786 -0.4547 2.4843
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.496160 0.114723 -21.758 < 2e-16 ***
mstat_5unknown 0.067184 0.065979 1.018 0.30855
mstat_5unmarried 0.312184 0.061227 5.099 3.42e-07 ***
mstat_5div_sep 0.591388 0.112592 5.253 1.50e-07 ***
mstat_5widow 0.257068 0.147712 1.740 0.08180 .
lang_3Other -0.585361 0.314377 -1.862 0.06261 .
relig_affilno -0.013200 0.048227 -0.274 0.78432
age_yrs 0.003876 0.001484 2.611 0.00903 **
race_5BLACK OR AFRICAN AMERICAN -0.102760 0.098028 -1.048 0.29451
race_5Other -0.184026 0.153277 -1.201 0.22990
race_5ASIAN -0.402725 0.188638 -2.135 0.03277 *
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.294121 0.340993 0.863 0.38839
tobac_4QUIT 0.448503 0.055094 8.141 3.93e-16 ***
tobac_4Yes 0.535319 0.068313 7.836 4.64e-15 ***
genderfemale 0.592108 0.048425 12.227 < 2e-16 ***
ethnic_3HISPANIC 0.036039 0.175761 0.205 0.83754
RPL_THEME1 0.307733 0.132498 2.323 0.02020 *
RPL_THEME2 -0.343711 0.114637 -2.998 0.00272 **
RPL_THEME3 0.200804 0.085071 2.360 0.01825 *
RPL_THEME4 0.082174 0.096427 0.852 0.39411
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 12369 on 12995 degrees of freedom
Residual deviance: 11994 on 12976 degrees of freedom
(2249 observations deleted due to missingness)
AIC: 12034
Number of Fisher Scoring iterations: 4
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
--------------------------------------------------------------------------------------------------
12034.105 | 12183.553 | 0.029 | 0.381 | 0.961 | 0.461 | -Inf | 7.695e-05 | 0.710
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 |
OR |
95% CI |
p-value |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
1.07 |
0.94, 1.22 |
0.3 |
| unmarried |
1.37 |
1.21, 1.54 |
<0.001 |
| div_sep |
1.81 |
1.45, 2.25 |
<0.001 |
| widow |
1.29 |
0.96, 1.72 |
0.082 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.56 |
0.29, 0.99 |
0.063 |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.99 |
0.90, 1.08 |
0.8 |
| Age |
1.00 |
1.00, 1.01 |
0.009 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.90 |
0.74, 1.09 |
0.3 |
| Other |
0.83 |
0.61, 1.12 |
0.2 |
| ASIAN |
0.67 |
0.45, 0.95 |
0.033 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.34 |
0.66, 2.54 |
0.4 |
| Tobacco Use |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.57 |
1.41, 1.74 |
<0.001 |
| Yes |
1.71 |
1.49, 1.95 |
<0.001 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
1.81 |
1.64, 1.99 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| HISPANIC |
1.04 |
0.73, 1.45 |
0.8 |
| Soceioeconomic Status |
1.36 |
1.05, 1.76 |
0.020 |
| Household Composition |
0.71 |
0.57, 0.89 |
0.003 |
| Minority Status and Language |
1.22 |
1.03, 1.44 |
0.018 |
| Housing and Transportation |
1.09 |
0.90, 1.31 |
0.4 |
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.1103 -0.7195 -0.5855 -0.4553 2.5833
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.436565 0.099993 -14.367 < 2e-16 ***
mstat_5unknown -0.007364 0.064149 -0.115 0.90861
mstat_5unmarried 0.147932 0.059725 2.477 0.01325 *
mstat_5div_sep 0.462271 0.114288 4.045 5.24e-05 ***
mstat_5widow 0.159306 0.158503 1.005 0.31486
lang_3Other -0.850042 0.354412 -2.398 0.01646 *
age_yrs -0.010689 0.001472 -7.260 3.87e-13 ***
race_5BLACK OR AFRICAN AMERICAN -0.192816 0.097980 -1.968 0.04908 *
race_5Other 0.053750 0.138951 0.387 0.69888
race_5ASIAN -0.595149 0.189153 -3.146 0.00165 **
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.262051 0.330728 0.792 0.42816
relig_affilno -0.053780 0.046514 -1.156 0.24760
tobac_4QUIT 0.396049 0.054340 7.288 3.14e-13 ***
tobac_4Yes 0.485206 0.066517 7.294 3.00e-13 ***
genderfemale 0.720580 0.047334 15.223 < 2e-16 ***
ethnic_3HISPANIC -0.034107 0.167120 -0.204 0.83829
RPL_THEMES -0.259442 0.091492 -2.836 0.00457 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 12977 on 13063 degrees of freedom
Residual deviance: 12557 on 13047 degrees of freedom
(2181 observations deleted due to missingness)
AIC: 12591
Number of Fisher Scoring iterations: 4
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
--------------------------------------------------------------------------------------------------
12591.291 | 12718.411 | 0.032 | 0.391 | 0.981 | 0.481 | -Inf | 7.657e-05 | 0.693
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 |
OR |
95% CI |
p-value |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
0.99 |
0.87, 1.13 |
>0.9 |
| unmarried |
1.16 |
1.03, 1.30 |
0.013 |
| div_sep |
1.59 |
1.27, 1.98 |
<0.001 |
| widow |
1.17 |
0.85, 1.59 |
0.3 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.43 |
0.20, 0.81 |
0.016 |
| Age |
0.99 |
0.99, 0.99 |
<0.001 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.82 |
0.68, 1.00 |
0.049 |
| Other |
1.06 |
0.80, 1.38 |
0.7 |
| ASIAN |
0.55 |
0.37, 0.79 |
0.002 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.30 |
0.66, 2.42 |
0.4 |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.95 |
0.86, 1.04 |
0.2 |
| Tobacco Use |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.49 |
1.34, 1.65 |
<0.001 |
| Yes |
1.62 |
1.43, 1.85 |
<0.001 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
2.06 |
1.87, 2.26 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| HISPANIC |
0.97 |
0.69, 1.33 |
0.8 |
| Total SVI |
0.77 |
0.64, 0.92 |
0.005 |
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.1468 -0.7180 -0.5819 -0.4499 2.6093
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.539298 0.110276 -13.959 < 2e-16 ***
mstat_5unknown -0.012394 0.064470 -0.192 0.847546
mstat_5unmarried 0.137750 0.059942 2.298 0.021558 *
mstat_5div_sep 0.464406 0.114547 4.054 5.03e-05 ***
mstat_5widow 0.158265 0.158817 0.997 0.318996
lang_3Other -0.930022 0.355365 -2.617 0.008868 **
age_yrs -0.010554 0.001478 -7.140 9.33e-13 ***
race_5BLACK OR AFRICAN AMERICAN -0.249711 0.099586 -2.507 0.012159 *
race_5Other 0.025567 0.139196 0.184 0.854268
race_5ASIAN -0.719141 0.190753 -3.770 0.000163 ***
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.292049 0.333197 0.877 0.380755
relig_affilno -0.047116 0.046730 -1.008 0.313328
tobac_4QUIT 0.416165 0.054777 7.597 3.02e-14 ***
tobac_4Yes 0.510270 0.067143 7.600 2.97e-14 ***
genderfemale 0.727716 0.047557 15.302 < 2e-16 ***
ethnic_3HISPANIC -0.040591 0.167128 -0.243 0.808101
RPL_THEME1 -0.210917 0.130611 -1.615 0.106342
RPL_THEME2 -0.252052 0.112838 -2.234 0.025499 *
RPL_THEME3 0.306422 0.082740 3.703 0.000213 ***
RPL_THEME4 0.035935 0.094329 0.381 0.703234
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 12908 on 12995 degrees of freedom
Residual deviance: 12462 on 12976 degrees of freedom
(2249 observations deleted due to missingness)
AIC: 12502
Number of Fisher Scoring iterations: 4
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
--------------------------------------------------------------------------------------------------
12501.516 | 12650.964 | 0.035 | 0.391 | 0.980 | 0.479 | -Inf | 7.826e-05 | 0.694
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 |
OR |
95% CI |
p-value |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
0.99 |
0.87, 1.12 |
0.8 |
| unmarried |
1.15 |
1.02, 1.29 |
0.022 |
| div_sep |
1.59 |
1.27, 1.99 |
<0.001 |
| widow |
1.17 |
0.85, 1.59 |
0.3 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.39 |
0.18, 0.75 |
0.009 |
| Age |
0.99 |
0.99, 0.99 |
<0.001 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.78 |
0.64, 0.94 |
0.012 |
| Other |
1.03 |
0.78, 1.34 |
0.9 |
| ASIAN |
0.49 |
0.33, 0.70 |
<0.001 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.34 |
0.67, 2.51 |
0.4 |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.95 |
0.87, 1.05 |
0.3 |
| Tobacco Use |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.52 |
1.36, 1.69 |
<0.001 |
| Yes |
1.67 |
1.46, 1.90 |
<0.001 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
2.07 |
1.89, 2.27 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| HISPANIC |
0.96 |
0.69, 1.32 |
0.8 |
| Soceioeconomic Status |
0.81 |
0.63, 1.05 |
0.11 |
| Household Composition |
0.78 |
0.62, 0.97 |
0.025 |
| Minority Status and Language |
1.36 |
1.16, 1.60 |
<0.001 |
| Housing and Transportation |
1.04 |
0.86, 1.25 |
0.7 |
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.2928 -0.8569 -0.7382 1.3455 2.1288
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.331452 0.086823 -15.335 < 2e-16 ***
relig_affilno -0.039474 0.040479 -0.975 0.3295
mstat_5unknown 0.012870 0.055105 0.234 0.8153
mstat_5unmarried 0.232899 0.051790 4.497 6.89e-06 ***
mstat_5div_sep 0.474448 0.103407 4.588 4.47e-06 ***
mstat_5widow 0.206844 0.133270 1.552 0.1206
race_5BLACK OR AFRICAN AMERICAN -0.054216 0.082412 -0.658 0.5106
race_5Other 0.010420 0.122197 0.085 0.9320
race_5ASIAN -0.312989 0.146021 -2.143 0.0321 *
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.202199 0.302588 0.668 0.5040
lang_3Other -0.590575 0.253101 -2.333 0.0196 *
tobac_4QUIT 0.421528 0.046720 9.022 < 2e-16 ***
tobac_4Yes 0.493209 0.058927 8.370 < 2e-16 ***
age_yrs -0.002346 0.001256 -1.868 0.0618 .
genderfemale 0.612172 0.040154 15.245 < 2e-16 ***
ethnic_3HISPANIC 0.061715 0.144891 0.426 0.6701
RPL_THEMES -0.071240 0.078956 -0.902 0.3669
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 15974 on 13063 degrees of freedom
Residual deviance: 15550 on 13047 degrees of freedom
(2181 observations deleted due to missingness)
AIC: 15584
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
--------------------------------------------------------------------------------------------------
15584.122 | 15711.241 | 0.032 | 0.451 | 1.092 | 0.595 | -Inf | 7.655e-05 | 0.593
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 |
OR |
95% CI |
p-value |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.96 |
0.89, 1.04 |
0.3 |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
1.01 |
0.91, 1.13 |
0.8 |
| unmarried |
1.26 |
1.14, 1.40 |
<0.001 |
| div_sep |
1.61 |
1.31, 1.97 |
<0.001 |
| widow |
1.23 |
0.94, 1.59 |
0.12 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.95 |
0.80, 1.11 |
0.5 |
| Other |
1.01 |
0.79, 1.28 |
>0.9 |
| ASIAN |
0.73 |
0.55, 0.97 |
0.032 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.22 |
0.66, 2.19 |
0.5 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.55 |
0.33, 0.89 |
0.020 |
| Tobacco Use |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.52 |
1.39, 1.67 |
<0.001 |
| Yes |
1.64 |
1.46, 1.84 |
<0.001 |
| Age |
1.00 |
1.00, 1.00 |
0.062 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
1.84 |
1.71, 2.00 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| HISPANIC |
1.06 |
0.80, 1.41 |
0.7 |
| Total SVI |
0.93 |
0.80, 1.09 |
0.4 |
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.3019 -0.8696 -0.7317 1.3305 2.1591
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.411247 0.095687 -14.749 < 2e-16 ***
relig_affilno -0.034132 0.040658 -0.839 0.401202
race_5BLACK OR AFRICAN AMERICAN -0.104697 0.083945 -1.247 0.212319
race_5Other -0.012136 0.122533 -0.099 0.921108
race_5ASIAN -0.413457 0.147661 -2.800 0.005110 **
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.234981 0.305298 0.770 0.441491
lang_3Other -0.674603 0.254176 -2.654 0.007952 **
mstat_5unknown 0.005636 0.055337 0.102 0.918882
mstat_5unmarried 0.218544 0.051992 4.203 2.63e-05 ***
mstat_5div_sep 0.474219 0.103656 4.575 4.76e-06 ***
mstat_5widow 0.189782 0.133949 1.417 0.156534
age_yrs -0.002104 0.001261 -1.668 0.095316 .
tobac_4QUIT 0.434348 0.047075 9.227 < 2e-16 ***
tobac_4Yes 0.508904 0.059400 8.567 < 2e-16 ***
genderfemale 0.617535 0.040324 15.314 < 2e-16 ***
ethnic_3HISPANIC 0.055680 0.145073 0.384 0.701123
RPL_THEME1 0.051902 0.112830 0.460 0.645512
RPL_THEME2 -0.307624 0.097562 -3.153 0.001615 **
RPL_THEME3 0.240966 0.071985 3.347 0.000816 ***
RPL_THEME4 0.064094 0.081773 0.784 0.433154
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 15891 on 12995 degrees of freedom
Residual deviance: 15441 on 12976 degrees of freedom
(2249 observations deleted due to missingness)
AIC: 15481
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
--------------------------------------------------------------------------------------------------
15481.456 | 15630.904 | 0.035 | 0.450 | 1.091 | 0.594 | -Inf | 7.695e-05 | 0.594
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 |
OR |
95% CI |
p-value |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.97 |
0.89, 1.05 |
0.4 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.90 |
0.76, 1.06 |
0.2 |
| Other |
0.99 |
0.77, 1.25 |
>0.9 |
| ASIAN |
0.66 |
0.49, 0.88 |
0.005 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.26 |
0.68, 2.28 |
0.4 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.51 |
0.30, 0.82 |
0.008 |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
1.01 |
0.90, 1.12 |
>0.9 |
| unmarried |
1.24 |
1.12, 1.38 |
<0.001 |
| div_sep |
1.61 |
1.31, 1.97 |
<0.001 |
| widow |
1.21 |
0.93, 1.57 |
0.2 |
| Age |
1.00 |
1.00, 1.00 |
0.10 |
| tobac_4 |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.54 |
1.41, 1.69 |
<0.001 |
| Yes |
1.66 |
1.48, 1.87 |
<0.001 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
1.85 |
1.71, 2.01 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| HISPANIC |
1.06 |
0.79, 1.40 |
0.7 |
| Soceioeconomic Status |
1.05 |
0.84, 1.31 |
0.6 |
| Household Composition |
0.74 |
0.61, 0.89 |
0.002 |
| Minority Status and Language |
1.27 |
1.11, 1.47 |
<0.001 |
| Housing and Transportation |
1.07 |
0.91, 1.25 |
0.4 |
LS0tCnRpdGxlOiAiMjAyMi4xMC4xOF9NSF9Nb2RlbCwgRXhsIFVua25vd24sIEluYyBBTEwgTWFyaXRhbCIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOgogICB0aGVtZXM6IHBhcGVyCiAgIHRvYzogeWVzCiAgIHRvY19mbG9hdDogeWVzCmVkaXRvcl9vcHRpb25zOiAKICBjaHVua19vdXRwdXRfdHlwZTogaW5saW5lCi0tLQojIExvYWQgUGFja2FnZXMgey50YWJzZXR9CgojIyB0aWR5dmVyc2UKCmBgYHtyfQppZiAoIXJlcXVpcmUodGlkeXZlcnNlKSl7CiAgaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIiwgZGVwZW5kZW5jaWVzID0gVFJVRSkKICBsaWJyYXJ5KHRpZHl2ZXJzZSkKfQpgYGAKCiMjIGNvZGVib29rcgpgYGB7cn0KaWYgKCFyZXF1aXJlKGNvZGVib29rcikpewogIGluc3RhbGwucGFja2FnZXMoImNvZGVib29rciIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShjb2RlYm9va3IpCn0KYGBgCgojIyBzdW1tYXJ5dG9vbHMKYGBge3J9CmlmICghcmVxdWlyZShzdW1tYXJ5dG9vbHMpKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJzdW1tYXJ5dG9vbHMiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQogIGxpYnJhcnkoc3VtbWFyeXRvb2xzKQp9CmBgYAoKIyMgYnJvb20gCmBgYHtyfQppZiAoIXJlcXVpcmUoYnJvb20pKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJicm9vbSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShicm9vbSkKfQpgYGAKCiMjIHBlcmZvcm1hbmNlCmBgYHtyfQppZiAoIXJlcXVpcmUocGVyZm9ybWFuY2UpKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJwZXJmb3JtYW5jZSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShwZXJmb3JtYW5jZSkKfQpgYGAKCiMjIGd0c3VtbWFyeQpgYGB7cn0KaWYgKCFyZXF1aXJlKGd0c3VtbWFyeSkpewogIGluc3RhbGwucGFja2FnZXMoImd0c3VtbWFyeSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShndHN1bW1hcnkpCn0KYGBgCgojIyBqYW5pdG9yCmBgYHtyfQppZiAoIXJlcXVpcmUoamFuaXRvcikpewogIGluc3RhbGwucGFja2FnZXMoImphbml0b3IiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQogIGxpYnJhcnkoamFuaXRvcikKfQpgYGAKCiMjIGZvcmNhdHMKYGBge3J9CmlmICghcmVxdWlyZShmb3JjYXRzKSl7CiAgaW5zdGFsbC5wYWNrYWdlcygiZm9yY2F0cyIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShmb3JjYXRzKQp9CmBgYAoKIyBJbXBvcnQgRGF0YQpgYGB7cn0KbWhfZGVpZHYzIDwtIHJlYWQuY3N2KCJ+L0Rlc2t0b3AvUi1Db2RlL21oX2RlaWR2My5jc3YiKQpgYGAKCiMgRGF0YSBDbGVhbmluZyB7LnRhYnNldH0KCiMjIFJQTF9USEVNRVMgRXJyb25lb3VzIHZhbHVlcyAKYGBge3J9Cm1oX2RlaWR2MyAlPiUKICBzZWxlY3QoYWdlX3lycywgUEFUSUVOVF9HRU5ERVJfQ0QsIFBBVElFTlRfUkFDRV9ERVNDLCBQQVRJRU5UX0VUSE5JQ19HUk9VUF9ERVNDLCBQQVRJRU5UX0xBTkdVQUdFX0RFU0MsIFBBVElFTlRfUkVMSUdJT05fREVTQywgUEFUSUVOVF9NQVJJVEFMX1NUQVRVU19ERVNDLCBQQVRJRU5UX1NUQVRFX0NELCBFRFVfWUVBUlMsIFRPQkFDQ09fREVTQywgZGVwcmVzc2lvbiwgYW54aWV0eSwgcHRzZCwgYmlwb2xhciwgYm9keV9pbWFnZSwgb2NkLCBzdHJlc3MsIHNlYXNvbmFsQUQsIHBhbmljLCBhbnlfcHN5Y2hfZHgsU1RfQUJCUiwgRV9UT1RQT1AsIFJQTF9USEVNRVMsIFJQTF9USEVNRTEsIFJQTF9USEVNRTIsIFJQTF9USEVNRTMsIFJQTF9USEVNRTQpIC0+IGV4YW1wbGVkZjEKZXhhbXBsZWRmMSAlPiUKbXV0YXRlKFJQTF9USEVNRVMgPSBuYV9pZihSUExfVEhFTUVTLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRVMgPSBuYV9pZihSUExfVEhFTUVTLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTEgPSBuYV9pZihSUExfVEhFTUUxLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTEgPSBuYV9pZihSUExfVEhFTUUxLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTIgPSBuYV9pZihSUExfVEhFTUUyLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTIgPSBuYV9pZihSUExfVEhFTUUyLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTMgPSBuYV9pZihSUExfVEhFTUUzLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTMgPSBuYV9pZihSUExfVEhFTUUzLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTQgPSBuYV9pZihSUExfVEhFTUU0LCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTQgPSBuYV9pZihSUExfVEhFTUU0LCAiMCIpKSAtPiBleGFtcGxlZGYxTkEKYGBgCgojIyBNZW50YWwgaGVhbHRoIGRhdGEgZGljaApgYGB7cn0KZXhhbXBsZWRmMU5BICU+JSBtdXRhdGUoYWNyb3NzKGRlcHJlc3Npb246YW55X3BzeWNoX2R4LCB+aWZfZWxzZSgueD4wLjUsIDEsIDApLAogICAgICAgICAgICAgICAgLm5hbWVzID0gIntjb2x9XzIiKSkgLT4gZXhhbXBsZWRmMU5BRGkyCmBgYAoKIyMgTWFyaXRhbCBzdGF0dXMKYGBge3J9CmV4YW1wbGVkZjFOQURpMiAlPiUgCm11dGF0ZShtc3RhdF81ID0gYXNfZmFjdG9yKFBBVElFTlRfTUFSSVRBTF9TVEFUVVNfREVTQyksCiAgICAgICAgIG1zdGF0XzUgPSBmY3RfcmVjb2RlKG1zdGF0XzUsIGRpdl9zZXAgPSAiRElWT1JDRUQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXZfc2VwID0gIkxFR0FMTFkgU0VQQVJBVEVEIiwgd2lkb3cgPSAiV0lET1dFRCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcnJpZWQgPSAiTUFSUklFRCIsIHVubWFycmllZCA9ICJTSU5HTEUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmtub3duID0gIlVOS05PV04iLCB1bmtub3duID0gIk9USEVSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5tYXJyaWVkID0gIlNJR05JRklDQU5UIE9USEVSIiksCiAgICAgICAgIG1zdGF0XzUgPSBmY3RfcmVsZXZlbChtc3RhdF81LCByZWYgPSAnbWFycmllZCcpKSAtPiBleGFtcGxlZGYxTkFEaTJNQQpgYGAKCiMjIFJlbGlnaW9uIApgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUEgJT4lIAogIG11dGF0ZShyZWxpZ19hZmZpbCA9IGFzX2ZhY3RvcihQQVRJRU5UX1JFTElHSU9OX0RFU0MpLAogICAgICAgICAgcmVsaWdfYWZmaWwgPSBmY3RfcmVjb2RlKHJlbGlnX2FmZmlsLCB5ZXMgPSAiQ0FUSE9MSUMiLAogICAgICAgICAgICAgICAgICAgICAgbm8gPSAiTk9ORSIsIAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIkNIUklTVElBTiIsIHllcyA9ICJMVVRIRVJBTiIsCiAgICAgICAgICAgICAgICAgICAgICB5ZXMgPSAiUlVTU0lBTiBPUlRIT0RPWCIsCiAgICAgICAgICAgICAgICAgICAgICB5ZXMgPSAiUFJPVEVTVEFOVCIsIHllcyA9ICJCQVBUSVNUIiwKICAgICAgICAgICAgICAgICAgICAgIHllcyA9ICJNRVRIT0RJU1QiLCB5ZXMgPSAiUFJFU0JZVEVSSUFOIiwKICAgICAgICAgICAgICAgICAgICAgIHllcyA9ICJOT04tREVOT01JTkFUSU9OQUwiLCB5ZXMgPSAiSkVXSVNIIiwKICAgICAgICAgICAgICAgICAgICAgIHllcyA9ICJNVVNMSU0iLCB5ZXMgPSAiT1RIRVIiLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIkVQSVNDT1BBTElBTiIsIHllcyA9ICJQRU5URUNPU1RBTCIsCiAgICAgICAgICAgICAgICAgICAgICBubyA9ICJBR05PU1RJQyIsIG5vID0gIkFUSEVJU1QiLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIkpFSE9WQUgnUyBXSVRORVNTIiwgeWVzID0gIkhJTkRVIiwKICAgICAgICAgICAgICAgICAgICAgIHllcyA9ICJHUkVFSyBPUlRIT0RPWCIsIHllcyA9ICJDSFVSQ0ggT0YgSkVTVVMgQ0hSSVNUIE9GIExBVFRFUi1EQVkgU0FJTlRTIiwgeWVzID0gIkJBSEFJIiwgbm8gPSAiU1BJUklUVUFMIiwgeWVzID0gIkNIVVJDSCBPRiBDSFJJU1QiLAogICAgICAgICB5ZXMgPSAiU0VWRU5USCBEQVkgQURWRU5USVNUIiwgeWVzID0gIkFQT1NUT0xJQyIsIHllcyA9ICJCVURESElTVCIsIHllcyA9ICJOQVpBUkVORSIsIHllcyA9ICJDT05HUkVHQVRJT05BTCIsIHllcyA9ICJVTklURUQgQ0hVUkNIIE9GIENIUiIsIHllcyA9ICJSRUZPUk1FRCIsIHllcyA9ICJQQUdBTiIsIHllcyA9ICJKQUlOIiwgeWVzID0gIkFTU0VNQkxZIE9GIEdPRCIsIHllcyA9ICJSRU9SRyBDSFIgT0YgTEFUIERBWSIsIHllcyA9ICJRVUFLRVIiLCB5ZXMgPSAiVU5JVEFSSUFOIFVOSVZFUlNBTElTVCIsIHllcyA9ICJNRU5OT05JVEUiLCB5ZXMgPSAiRlJFRSBNRVRIT0RJU1QiLCB5ZXMgPSAiTkFUSVZFIEFNRVIgU1BJUklUTCIsIHllcyA9ICJXSUNDQU4iLCB5ZXMgPSAiT1JUSE9ET1giLCB5ZXMgPSAiU0FMVkFUSU9OIEFSTVkiLCB5ZXMgPSAiRElTQ0lQTEVTIE9GIENIUklTVCIsIHllcyA9ICJBRlJJQ0FOIE1FVEhPRElTVCBFUCIsIHllcyA9ICJTSUtIIiwgeWVzID0gIkNIVVJDSCBPRiBHT0QiLCB5ZXMgPSAiVEFPSVNUIiwgeWVzID0gIkFOR0xJQ0FOIiksCnJlbGlnX2FmZmlsID0gZmN0X3JlbGV2ZWwocmVsaWdfYWZmaWwsIHJlZiA9ICd5ZXMnKSkgJT4lIAptdXRhdGUocmVsaWdfYWZmaWwgPSBuYV9pZihyZWxpZ19hZmZpbCwgIlVOS05PV04iKSkgJT4lIAptdXRhdGUocmVsaWdfYWZmaWwgPSBuYV9pZihyZWxpZ19hZmZpbCwgIlBBVElFTlQgUkVGVVNFRCIpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbApgYGAKCiMjIFJhY2UgCmBgYHtyfQpleGFtcGxlZGYxTkFEaTJNQVJlbCAlPiUgCm11dGF0ZShyYWNlXzUgPSBhc19mYWN0b3IoUEFUSUVOVF9SQUNFX0RFU0MpLAogICAgICAgICByYWNlXzUgPSBmY3RfcmVjb2RlKHJhY2VfNSwgT3RoZXIgPSAiT1RIRVIiLAogICAgICAgICAgICAgICAgICBPdGhlciA9ICJVTktOT1dOIiwgT3RoZXIgPSAiQ0hPT1NFIE5PVCBUTyBESVNDTE9TRSIsCiAgICAgICAgICAgICAgICAgIE90aGVyID0gIk5BVElWRSBIQVdBSUlBTiBBTkQgT1RIRVIgUEFDSUZJQyBJU0xBTkRFUiIsIAogICAgICAgICAgICAgICAgICBPdGhlciA9ICJNSURETEUgRUFTVEVSTi9OT1JUSCBBRlJJQ0FOIiwKICAgICAgICAgICAgICAgIEFTSUFOID0gIkFTSUFOIElORElBTiIsIEFTSUFOID0gIk9USEVSIEFTSUFOIiwKICAgICAgICAgICAgICAgIEFTSUFOID0gIkpBUEFORVNFIiwgQVNJQU4gPSAiS09SRUFOIiwgQVNJQU4gPSAiRklMSVBJTk8iLAogICAgICAgICAgICAgICAgQVNJQU4gPSAiQ0hJTkVTRSIpLAogICAgICAgICByYWNlXzUgPSBmY3RfcmVsZXZlbChyYWNlXzUsIHJlZiA9ICdXSElURSBPUiBDQVVDQVNJQU4nKSkgLT4gZXhhbXBsZWRmMU5BRGkyTUFSZWxSYQpgYGAKCiMjIEdlbmRlcgpgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUFSZWxSYSAlPiUgCm11dGF0ZShnZW5kZXIgPSBhc19mYWN0b3IoUEFUSUVOVF9HRU5ERVJfQ0QpLAogICAgICAgICBnZW5kZXIgPSBmY3RfcmVjb2RlKGdlbmRlciwgbWFsZSA9ICJNIiwgZmVtYWxlID0gIkYiKSwKICAgICAgICAgZ2VuZGVyID0gZmN0X3JlbGV2ZWwoZ2VuZGVyLCByZWYgPSAibWFsZSIpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbFJhRwpgYGAKCiMjIExhbmd1YWdlCmBgYHtyfQpleGFtcGxlZGYxTkFEaTJNQVJlbFJhRyAlPiUgCiAgbXV0YXRlKGxhbmdfMyA9IGFzX2ZhY3RvcihQQVRJRU5UX0xBTkdVQUdFX0RFU0MpLApsYW5nXzMgPSBmY3RfcmVjb2RlKGxhbmdfMywgRW5nbGlzaCA9ICJFTkdMSVNIIiwKT3RoZXIgPSAiQVJBQklDIiwgT3RoZXIgPSAiSkFQQU5FU0UiLApPdGhlciA9ICJDSElORVNFLCBNQU5EQVJJTiIsCk90aGVyID0gIktPUkVBTiIsIE90aGVyID0gIlNJR04gTEFOR1VBR0UiLApPdGhlciA9ICJSVVNTSUFOIiwgT3RoZXIgPSAiU1BBTklTSCIsIE90aGVyID0gIkFSTUVOSUFOIiwKT3RoZXIgPSAiVFVSS0lTSCIsIE90aGVyID0gIkhJTkRJIiwgT3RoZXIgPSAiQkVOR0FMSSIsIE90aGVyID0gIkZBUlNJOyBQRVJTSUFOIiwgT3RoZXIgPSAiQUxCQU5JQU4iLCBPdGhlciA9ICJITU9ORyIsIE90aGVyID0gIlJPTUFOSUFOIiwgCk90aGVyID0gIlBVTkpBQkkiLCBPdGhlciA9ICJDUk9BVElBTiIsIE90aGVyID0gIkNIQUxERUFOIiwgCk90aGVyID0gIkJVUk1FU0UiLCBPdGhlciA9ICJQT1JUVUdVRVNFIiwKT3RoZXIgPSAiVEFHQUxPRyIsIE90aGVyID0gIkZSRU5DSCIsCk90aGVyID0gIkdFUk1BTiIsIE90aGVyID0gIkNISU5FU0UsIENBTlRPTkVTRSIsCk90aGVyID0gIkJPU05JQU4iLCBPdGhlciA9ICJVUkRVIiwKT3RoZXIgPSAiVU5LTk9XTiIpLApsYW5nXzMgPSBmY3RfcmVsZXZlbChsYW5nXzMsIHJlZiA9ICdFbmdsaXNoJykpIC0+IGV4YW1wbGVkZjFOQURpMk1BUmVsUmFHTApgYGAKCiMjIEV0aG5pY2l0eQpgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUFSZWxSYUdMICU+JSAKICBtdXRhdGUoZXRobmljXzMgPSBhc19mYWN0b3IoUEFUSUVOVF9FVEhOSUNfR1JPVVBfREVTQykpICU+JSAKIG11dGF0ZShldGhuaWNfMyA9IG5hX2lmKGV0aG5pY18zLCAiVU5LTk9XTiIpKSAlPiUgCm11dGF0ZShldGhuaWNfMyA9IG5hX2lmKGV0aG5pY18zLCAiQ0hPT1NFIE5PVCBUTyBESVNDTE9TRSIpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbFJhR0xFdGgKYGBgCgojIyBUb2JhY2NvIApgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUFSZWxSYUdMRXRoICU+JSAKICBtdXRhdGUodG9iYWNfNCA9IGFzX2ZhY3RvcihUT0JBQ0NPX0RFU0MpLAogdG9iYWNfNCA9IGZjdF9yZWNvZGUodG9iYWNfNCwgWWVzID0gIlBBU1NJVkUiLApZZXMgPSAiWUVTIiksCnRvYmFjXzQgPSBmY3RfcmVsZXZlbCh0b2JhY180LCByZWYgPSAnTkVWRVInKSkgJT4lIAptdXRhdGUodG9iYWNfNCA9IG5hX2lmKHRvYmFjXzQsICJOT1QgQVNLRUQiKSkgLT4gZXhhbXBsZWRmMU5BRGkyTUFSZWxSYUdMRXRoVApgYGAKCiMgQ29kZWJvb2sgCmBgYHtyfQpleGFtcGxlZGYxTkFEaTJNQVJlbFJhR0xFdGhUICU+JSAKc2VsZWN0KGFnZV95cnMsIGdlbmRlciwgcmFjZV81LCBldGhuaWNfMywgbGFuZ18zLCByZWxpZ19hZmZpbCwgbXN0YXRfNSwgUEFUSUVOVF9TVEFURV9DRCwgRURVX1lFQVJTLCB0b2JhY180LCBkZXByZXNzaW9uXzIsIGFueGlldHlfMiwgcHRzZF8yLCBiaXBvbGFyXzIsIGJvZHlfaW1hZ2VfMiwgb2NkXzIsIHNlYXNvbmFsQURfMiwgcGFuaWNfMiwgYW55X3BzeWNoX2R4XzIsIEVfVE9UUE9QLCBSUExfVEhFTUVTLCBSUExfVEhFTUUxLCBSUExfVEhFTUUyLCBSUExfVEhFTUUzLCBSUExfVEhFTUU0KSAtPiBtaF9jbGVhbjEKcHJpbnQoZGZTdW1tYXJ5KG1oX2NsZWFuMSksIG1ldGhvZCA9ICdyZW5kZXInKSAKYGBgCgojIFBhdGllbnQgQ2hhcmFjdGVyaXN0aWNzIHsudGFic2V0fQoKIyMgQmFzZWxpbmUgQ2hhcmFjdGVyaXN0aWNzIApgYGB7cn0KbWhfY2xlYW4xICU+JSAKICBzZWxlY3QoYWdlX3lycywgZ2VuZGVyLCByYWNlXzUsIGV0aG5pY18zLCBsYW5nXzMsIHJlbGlnX2FmZmlsLCBtc3RhdF81LCB0b2JhY180LCBkZXByZXNzaW9uXzIsIGFueGlldHlfMiwgcHRzZF8yLCBhbnlfcHN5Y2hfZHhfMiwgUlBMX1RIRU1FUywgUlBMX1RIRU1FMSwgUlBMX1RIRU1FMiwgUlBMX1RIRU1FMywgUlBMX1RIRU1FNCkgLT4gYmFzZWxpbmUKYmFzZWxpbmUgJT4lIHRibF9zdW1tYXJ5KGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIsIGRlcHJlc3Npb25fMiB+ICJEZXByZXNzaW9uIiwgYW54aWV0eV8yIH4gIkFueGlldHkiLCBwdHNkXzIgfiAiUFRTRCIsIGFueV9wc3ljaF9keF8yIH4gIkFueSBQc3ljaGlhdHJpYyBEaWFnbm9zaXMiLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIFJQTF9USEVNRTEgfiAiU29jZWlvZWNvbm9taWMgU3RhdHVzIiwgUlBMX1RIRU1FMiB+ICJIb3VzZWhvbGQgQ29tcG9zaXRpb24iLCBSUExfVEhFTUUzIH4gIk1pbm9yaXR5IFN0YXR1cyBhbmQgTGFuZ3VhZ2UiLCBSUExfVEhFTUU0IH4gIkhvdXNpbmcgYW5kIFRyYW5zcG9ydGF0aW9uIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikKYGBgCgojIyBCYXNlbGluZSBDaGFyYWN0ZXJpc3RpY3MgYnkgRGVwcmVzc2lvbiAKYGBge3J9CmJhc2VsaW5lICU+JSB0Ymxfc3VtbWFyeShieSA9IGRlcHJlc3Npb25fMiwKICAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiLCBhbnhpZXR5XzIgfiAiQW54aWV0eSIsIHB0c2RfMiB+ICJQVFNEIiwgYW55X3BzeWNoX2R4XzIgfiAiQW55IFBzeWNoaWF0cmljIERpYWdub3NpcyIsIFJQTF9USEVNRVMgfiAiVG90YWwgU1ZJIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIgogICAgICAgICkgJT4lIGFkZF9wKCkKYGBgCgojIyBCYXNlbGluZSBDaGFyYWN0ZXJpc3RpY3MgYnkgQW54aWV0eSAKYGBge3J9CmJhc2VsaW5lICU+JSB0Ymxfc3VtbWFyeShieSA9IGFueGlldHlfMiwKICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiwgZGVwcmVzc2lvbl8yIH4gIkRlcHJlc3Npb24iLCBwdHNkXzIgfiAiUFRTRCIsIGFueV9wc3ljaF9keF8yIH4gIkFueSBQc3ljaGlhdHJpYyBEaWFnbm9zaXMiLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIFJQTF9USEVNRTEgfiAiU29jZWlvZWNvbm9taWMgU3RhdHVzIiwgUlBMX1RIRU1FMiB+ICJIb3VzZWhvbGQgQ29tcG9zaXRpb24iLCBSUExfVEhFTUUzIH4gIk1pbm9yaXR5IFN0YXR1cyBhbmQgTGFuZ3VhZ2UiLCBSUExfVEhFTUU0IH4gIkhvdXNpbmcgYW5kIFRyYW5zcG9ydGF0aW9uIiksCiAgICAgICAgbWlzc2luZ190ZXh0ID0gIihNaXNzaW5nKSIKICAgICAgICApICU+JSBhZGRfcCgpCmBgYAoKIyMgQmFzZWxpbmUgQ2hhcmFjdGVyaXN0aWNzIGJ5IEFueSBQc3ljaCBEaWFnbm9zaXMgCmBgYHtyfQpiYXNlbGluZSAlPiUgdGJsX3N1bW1hcnkoYnkgPSBhbnlfcHN5Y2hfZHhfMiwKICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiwgZGVwcmVzc2lvbl8yIH4gIkRlcHJlc3Npb24iLCBwdHNkXzIgfiAiUFRTRCIsIGFueGlldHlfMiB+ICJBbnhpZXR5IiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgUlBMX1RIRU1FNCB+ICJIb3VzaW5nIGFuZCBUcmFuc3BvcnRhdGlvbiIpLAogICAgICAgIG1pc3NpbmdfdGV4dCA9ICIoTWlzc2luZykiCiAgICAgICAgKSAlPiUgYWRkX3AoKQpgYGAKCiMgUHJlbGltIE1vZGVscyB7LnRhYnNldH0KCiMjIERlcHJlc3Npb24gKyBSUExfVEhFTUVTIApgYGB7cn0KbW9kZWwxYSA8LSBnbG0oZGVwcmVzc2lvbl8yIH4gbXN0YXRfNSArIHJhY2VfNSArIGxhbmdfMyArIHJlbGlnX2FmZmlsICsgYWdlX3lycwogICAgICAgICAgICAgICArIGdlbmRlciArIGV0aG5pY18zICsgdG9iYWNfNCArIFJQTF9USEVNRVMsCiAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICBkYXRhID0gbWhfY2xlYW4xKQpzdW1tYXJ5KG1vZGVsMWEpCmJyb29tOjpnbGFuY2UobW9kZWwxYSkKYnJvb206OnRpZHkobW9kZWwxYSwgZXhwb25lbnRpYXRlID0gVFJVRSkKbW9kZWxfcGVyZm9ybWFuY2UobW9kZWwxYSkKdGJsX3JlZ3Jlc3Npb24obW9kZWwxYSwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiLCB0b2JhY180IH4gIlRvYmFjY28gVXNlIiksIGV4cG9uZW50aWF0ZSA9IFRSVUUpCmBgYAoKIyMgRGVwcmVzc2lvbiArIFJQTF9USEVNRVN4NCAKYGBge3J9Cm1vZGVsMWIgPC0gZ2xtKGRlcHJlc3Npb25fMiB+ICBtc3RhdF81ICsgbGFuZ18zICsgcmVsaWdfYWZmaWwgKyBhZ2VfeXJzICsgcmFjZV81CiAgICAgICArIHRvYmFjXzQgKyBnZW5kZXIgKyBldGhuaWNfMyArIFJQTF9USEVNRTEgKyBSUExfVEhFTUUyICsgUlBMX1RIRU1FMyArIFJQTF9USEVNRTQsCiAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICBkYXRhID0gbWhfY2xlYW4xKQpzdW1tYXJ5KG1vZGVsMWIpCmJyb29tOjpnbGFuY2UobW9kZWwxYikKYnJvb206OnRpZHkobW9kZWwxYiwgZXhwb25lbnRpYXRlID0gVFJVRSkKbW9kZWxfcGVyZm9ybWFuY2UobW9kZWwxYikKdGJsX3JlZ3Jlc3Npb24obW9kZWwxYiwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iLCB0b2JhY180IH4gIlRvYmFjY28gVXNlIiksIGV4cG9uZW50aWF0ZSA9IFRSVUUpCmBgYAoKIyMgQW54aWV0eSArIFJQTF9USEVNRVMgCmBgYHtyfQptb2RlbDJhIDwtIGdsbShhbnhpZXR5XzIgfiBtc3RhdF81ICsgbGFuZ18zICsgYWdlX3lycyArIHJhY2VfNSArIHJlbGlnX2FmZmlsCiAgICAgICAgICAgICAgICsgdG9iYWNfNCArIGdlbmRlciArIGV0aG5pY18zICsgUlBMX1RIRU1FUywKICAgICAgICAgICAgICBmYW1pbHkgPSAiYmlub21pYWwiLAogICAgICAgICAgICAgIGRhdGEgPSBtaF9jbGVhbjEpCnN1bW1hcnkobW9kZWwyYSkKYnJvb206OmdsYW5jZShtb2RlbDJhKQpicm9vbTo6dGlkeShtb2RlbDJhLCBleHBvbmVudGlhdGUgPSBUUlVFKQptb2RlbF9wZXJmb3JtYW5jZShtb2RlbDJhKQp0YmxfcmVncmVzc2lvbihtb2RlbDJhLCBsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIFJQTF9USEVNRVMgfiAiVG90YWwgU1ZJIiwgdG9iYWNfNCB+ICJUb2JhY2NvIFVzZSIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiKSwgZXhwb25lbnRpYXRlID0gVFJVRSkgIApgYGAKCiMjIEFueGlldHkgKyBSUExfVEhFTUVTeDQKYGBge3J9Cm1vZGVsMmIgPC0gZ2xtKGFueGlldHlfMiB+ICBtc3RhdF81ICsgbGFuZ18zICsgYWdlX3lycyArIHJhY2VfNSArIHJlbGlnX2FmZmlsIAogICAgICAgICAgKyB0b2JhY180ICsgZ2VuZGVyICsgZXRobmljXzMgKyBSUExfVEhFTUUxICsgUlBMX1RIRU1FMiArIFJQTF9USEVNRTMgKyBSUExfVEhFTUU0LAogICAgICAgICAgICAgIGZhbWlseSA9ICJiaW5vbWlhbCIsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX2NsZWFuMSkKc3VtbWFyeShtb2RlbDJiKQpicm9vbTo6Z2xhbmNlKG1vZGVsMmIpCmJyb29tOjp0aWR5KG1vZGVsMmIsIGV4cG9uZW50aWF0ZSA9IFRSVUUpCm1vZGVsX3BlcmZvcm1hbmNlKG1vZGVsMmIpCnRibF9yZWdyZXNzaW9uKG1vZGVsMmIsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgUlBMX1RIRU1FNCB+ICJIb3VzaW5nIGFuZCBUcmFuc3BvcnRhdGlvbiIsIHRvYmFjXzQgfiAiVG9iYWNjbyBVc2UiLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIpLCBleHBvbmVudGlhdGUgPSBUUlVFKQpgYGAKCiMjIEFueSBQc3ljaCBEaWFnbm9zaXMgKyBSUExfVEhFTUVTIApgYGB7cn0KbW9kZWw0YSA8LSBnbG0oYW55X3BzeWNoX2R4XzIgfiByZWxpZ19hZmZpbCArIG1zdGF0XzUgKyByYWNlXzUgKyBsYW5nXzMgKwogICAgICAgICAgICAgICsgdG9iYWNfNCArIGFnZV95cnMgKyBnZW5kZXIgKyBldGhuaWNfMyArIFJQTF9USEVNRVMsCiAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICBkYXRhID0gbWhfY2xlYW4xKQpzdW1tYXJ5KG1vZGVsNGEpCmJyb29tOjpnbGFuY2UobW9kZWw0YSkKYnJvb206OnRpZHkobW9kZWw0YSwgZXhwb25lbnRpYXRlID0gVFJVRSkKbW9kZWxfcGVyZm9ybWFuY2UobW9kZWw0YSkKdGJsX3JlZ3Jlc3Npb24obW9kZWw0YSwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIHRvYmFjXzQgfiAiVG9iYWNjbyBVc2UiLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiksIGV4cG9uZW50aWF0ZSA9IFRSVUUpCmBgYAoKIyMgQW55IFBzeWNoIERpYWdub3NpcyArIFJQTF9USEVNRVN4NApgYGB7cn0KbW9kZWw0YiA8LSBnbG0oYW55X3BzeWNoX2R4XzIgfiByZWxpZ19hZmZpbCArIHJhY2VfNSArIGxhbmdfMyArIG1zdGF0XzUKICAgICAgICAgICAgICsgYWdlX3lycyArIHRvYmFjXzQgKyBnZW5kZXIgKyBldGhuaWNfMyAgKyBSUExfVEhFTUUxICsgUlBMX1RIRU1FMiArIFJQTF9USEVNRTMgKyBSUExfVEhFTUU0LAogICAgICAgICAgICAgIGZhbWlseSA9ICJiaW5vbWlhbCIsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX2NsZWFuMSkKc3VtbWFyeShtb2RlbDRiKQpicm9vbTo6Z2xhbmNlKG1vZGVsNGIpCmJyb29tOjp0aWR5KG1vZGVsNGIsIGV4cG9uZW50aWF0ZSA9IFRSVUUpCm1vZGVsX3BlcmZvcm1hbmNlKG1vZGVsNGIpCnRibF9yZWdyZXNzaW9uKG1vZGVsNGIsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiksIGV4cG9uZW50aWF0ZSA9IFRSVUUpCmBgYAoK