Full Sample

Overall
(N=1020)
Screen1
I am a Veteran who previously served on Active Duty, National Guard, or Reserves 807 (79.1%)
I am currently serving in the National Guard or Reserves 124 (12.2%)
I have never served in the U.S. Military 89 (8.7%)

Information of cases that never served in the U.S. Military

## # A tibble: 89 x 2
##    Screen1                                  Q2.2                                
##    <chr>                                    <chr>                               
##  1 I have never served in the U.S. Military National Guard or Reserve separated~
##  2 I have never served in the U.S. Military Active-duty military                
##  3 I have never served in the U.S. Military Traditional retirement              
##  4 I have never served in the U.S. Military Active-duty military                
##  5 I have never served in the U.S. Military Active-duty military,National Guard~
##  6 I have never served in the U.S. Military National Guard or Reserve currently~
##  7 I have never served in the U.S. Military National Guard or Reserve separated~
##  8 I have never served in the U.S. Military Traditional retirement              
##  9 I have never served in the U.S. Military Active-duty military                
## 10 I have never served in the U.S. Military Active-duty military                
## # ... with 79 more rows

MIlitary Status

Overall
(N=1020)
Separated from active duty at end of commitment
No 630 (61.8%)
Yes 390 (38.2%)
Traditional retirement
No 733 (71.9%)
Yes 287 (28.1%)
National Guard or Reserve currently serving
No 891 (87.4%)
Yes 129 (12.6%)
Medical retirement
No 902 (88.4%)
Yes 118 (11.6%)
Medical separation
No 961 (94.2%)
Yes 59 (5.8%)
National Guard or Reserve separated at end of commitment
No 823 (80.7%)
Yes 197 (19.3%)
Active-duty military
No 988 (96.9%)
Yes 32 (3.1%)
Less than honorable discharge
No 994 (97.5%)
Yes 26 (2.5%)
Other separation before end of service commitment
No 985 (96.6%)
Yes 35 (3.4%)

Serve Date

Overall
(N=1020)
September 2001 or later
No 623 (61.1%)
Yes 397 (38.9%)
August 1990 to August 2001
No 836 (82.0%)
Yes 184 (18.0%)
No Info
No 891 (87.4%)
Yes 129 (12.6%)
May 1975 to July 1990
No 838 (82.2%)
Yes 182 (17.8%)
Prior to August 1964
No 976 (95.7%)
Yes 44 (4.3%)
Vietnam Era
No 823 (80.7%)
Yes 197 (19.3%)

Born 2002 and later

## # A tibble: 8 x 5
##   Screen1                       Q2.2                      age  Q3.2 ResponseId  
##   <chr>                         <chr>                   <dbl> <dbl> <chr>       
## 1 I have never served in the U~ Active-duty military       19  2002 R_4ITNCLgdm~
## 2 I am a Veteran who previousl~ Medical retirement         18  2003 R_BsoWxzD5a~
## 3 I am a Veteran who previousl~ National Guard or Rese~    19  2002 R_vjf6AmGSf~
## 4 I am currently serving in th~ Medical separation         19  2002 R_3qjkOTxfs~
## 5 I am a Veteran who previousl~ Separated from active ~    18  2003 R_28RJgvsH5~
## 6 I am currently serving in th~ Traditional retirement~    18  2003 R_3szuqmJlV~
## 7 I am currently serving in th~ National Guard or Rese~    19  2002 R_2CQzyiwim~
## 8 I am currently serving in th~ National Guard or Rese~    18  2003 R_128WS1dA7~

Vietnam Era younger than 1956

## # A tibble: 5 x 3
##   `Vietnam Era`  Q3.2 ResponseId       
##   <chr>         <dbl> <chr>            
## 1 Yes            1996 R_3kFzRKZra7QKkId
## 2 Yes            1972 R_rdlwhtCTSXAF2QV
## 3 Yes            1990 R_3mgg9jYFh050Bou
## 4 Yes            1976 R_rehgFbcCOrum5cB
## 5 Yes            2003 R_28RJgvsH5PXbouS

Prior to August 1964 younger than 1947

## # A tibble: 6 x 3
##   `Prior to August 1964`  Q3.2 ResponseId       
##   <chr>                  <dbl> <chr>            
## 1 Yes                     1950 R_Tjb5ffleC3lbZqp
## 2 Yes                     1961 R_3HT8GpoHsM1yS0F
## 3 Yes                     1986 R_28LL6l5C8LYl6hb
## 4 Yes                     1982 R_UXF4d4mDRzeLgTn
## 5 Yes                     1993 R_1eraXQzUKlXLy6r
## 6 Yes                     1975 R_OOPUljnLSNFiju1

May 1975 to July 1990 younger than 1970

## # A tibble: 29 x 3
##    `May 1975 to July 1990`  Q3.2 ResponseId       
##    <chr>                   <dbl> <chr>            
##  1 Yes                      1974 R_bEeyRhxk6o2oSfn
##  2 Yes                      1990 R_33lu6KR0sU9T1tI
##  3 Yes                      1994 R_3Myflx8U74B9UUk
##  4 Yes                      1992 R_2CVOz1YRiHtszNA
##  5 Yes                      1995 R_BXvTHy7MWvr5Tmp
##  6 Yes                      1974 R_R2HU358QDxZNJbH
##  7 Yes                      1982 R_2rJlEab2HYnUHIZ
##  8 Yes                      2000 R_2A1lotBSMVrpqfr
##  9 Yes                      1990 R_2EddOni6j700uBa
## 10 Yes                      1980 R_p4oplNDNit5RXix
## # ... with 19 more rows

No info means currently working (Retirement for Age and Years of Service older than 1955)

## # A tibble: 5 x 3
##   `No Info`  Q3.2 ResponseId       
##   <chr>     <dbl> <chr>            
## 1 Yes        1932 R_2xWROVT0NtLBwV5
## 2 Yes        1907 R_1DMRf79n44y1kEn
## 3 Yes        1940 R_42AaaijfcQWrJF7
## 4 Yes        1948 R_3MR3dmtvz48OEqD
## 5 Yes        1950 R_32PzVlrXuS40Ck5

August 1990 to August 2001 younger than 1984

## # A tibble: 38 x 3
##    `August 1990 to August 2001`  Q3.2 ResponseId       
##    <chr>                        <dbl> <chr>            
##  1 Yes                           1996 R_3kFzRKZra7QKkId
##  2 Yes                           1986 R_2ayl8rCEzvKhCzD
##  3 Yes                           1994 R_1Qi1mgNe20JbJH0
##  4 Yes                           2000 R_2rMcAlfzEWvqANm
##  5 Yes                           1987 R_2s1DiKT9YG2BLO6
##  6 Yes                           1985 R_3dZljIVUl3J4mgB
##  7 Yes                           1990 R_3mgg9jYFh050Bou
##  8 Yes                           2001 R_UrKfwiYReAjXaH7
##  9 Yes                           2003 R_BsoWxzD5aK3iSUF
## 10 Yes                           1986 R_3Pj0HRqz5NBiDaW
## # ... with 28 more rows

September 2001 or later younger than 2001

## # A tibble: 3 x 3
##   `September 2001 or later`  Q3.2 ResponseId       
##   <chr>                     <dbl> <chr>            
## 1 Yes                        2003 R_BsoWxzD5aK3iSUF
## 2 Yes                        2002 R_vjf6AmGSfgvXDoJ
## 3 Yes                        2002 R_3qjkOTxfsURijxV

Part 2

I am a Veteran who previously served on Active Duty, National Guard, or Reserves
(N=807)
I am currently serving in the National Guard or Reserves
(N=124)
I have never served in the U.S. Military
(N=89)
Overall
(N=1020)
dischar_upgr
I don't know 2 (0.2%) 1 (0.8%) 0 (0%) 3 (0.3%)
No 28 (3.5%) 4 (3.2%) 7 (7.9%) 39 (3.8%)
NQ 760 (94.2%) 118 (95.2%) 81 (91.0%) 959 (94.0%)
Yes 17 (2.1%) 1 (0.8%) 1 (1.1%) 19 (1.9%)
dischar_upgr_succ
I don't know 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
No 7 (0.9%) 0 (0%) 0 (0%) 7 (0.7%)
Not dischar_upgr_succ 28 (3.5%) 4 (3.2%) 7 (7.9%) 39 (3.8%)
NQ 762 (94.4%) 119 (96.0%) 81 (91.0%) 962 (94.3%)
Yes 9 (1.1%) 1 (0.8%) 1 (1.1%) 11 (1.1%)
VA_disability
I have submitted a claim and am waiting on a VA decision 70 (8.7%) 21 (16.9%) 9 (10.1%) 100 (9.8%)
National Guard/Active-duty military 21 (2.6%) 68 (54.8%) 40 (44.9%) 129 (12.6%)
No 428 (53.0%) 13 (10.5%) 17 (19.1%) 458 (44.9%)
No, but I would like to submit a claim 63 (7.8%) 4 (3.2%) 6 (6.7%) 73 (7.2%)
Yes 225 (27.9%) 18 (14.5%) 17 (19.1%) 260 (25.5%)
VA_disability_perc
582 (72.1%) 106 (85.5%) 72 (80.9%) 760 (74.5%)
0 percent 5 (0.6%) 0 (0%) 2 (2.2%) 7 (0.7%)
10 - 20 percent 49 (6.1%) 3 (2.4%) 4 (4.5%) 56 (5.5%)
100 percent 21 (2.6%) 2 (1.6%) 1 (1.1%) 24 (2.4%)
30 - 40 percent 65 (8.1%) 3 (2.4%) 1 (1.1%) 69 (6.8%)
50 - 60 percent 53 (6.6%) 3 (2.4%) 8 (9.0%) 64 (6.3%)
70 - 90 percent 32 (4.0%) 7 (5.6%) 1 (1.1%) 40 (3.9%)
unemploy
754 (93.4%) 115 (92.7%) 87 (97.8%) 956 (93.7%)
I have submitted a claim and am waiting on a VA decision 7 (0.9%) 0 (0%) 0 (0%) 7 (0.7%)
No 17 (2.1%) 1 (0.8%) 0 (0%) 18 (1.8%)
No, but I would like to submit a claim 9 (1.1%) 0 (0%) 0 (0%) 9 (0.9%)
Yes 20 (2.5%) 8 (6.5%) 2 (2.2%) 30 (2.9%)
disabil_factor
316 (39.2%) 107 (86.3%) 66 (74.2%) 489 (47.9%)
I already have a medical disability rating from the military 6 (0.7%) 0 (0%) 0 (0%) 6 (0.6%)
I already have a medical disability rating from the military,I am unaware of the benefits,The process is too much of a hassle 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
I am concerned about potential stigma of a disability rating 14 (1.7%) 2 (1.6%) 3 (3.4%) 19 (1.9%)
I am unaware of the benefits 33 (4.1%) 2 (1.6%) 1 (1.1%) 36 (3.5%)
I am unaware of the benefits,I am concerned about potential stigma of a disability rating 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
I am unaware of the benefits,I don’t understand the process to apply 16 (2.0%) 2 (1.6%) 0 (0%) 18 (1.8%)
I am unaware of the benefits,I don’t understand the process to apply,I am concerned about potential stigma of a disability rating 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
I am unaware of the benefits,I don’t understand the process to apply,I am concerned about potential stigma of a disability rating,Other 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
I am unaware of the benefits,I don’t understand the process to apply,The process is too much of a hassle 11 (1.4%) 0 (0%) 0 (0%) 11 (1.1%)
I am unaware of the benefits,I don’t understand the process to apply,The process is too much of a hassle,I am concerned about potential stigma of a disability rating 3 (0.4%) 0 (0%) 0 (0%) 3 (0.3%)
I am unaware of the benefits,The process is too much of a hassle 2 (0.2%) 0 (0%) 0 (0%) 2 (0.2%)
I don’t understand the process to apply 25 (3.1%) 1 (0.8%) 4 (4.5%) 30 (2.9%)
I don’t understand the process to apply,I am concerned about potential stigma of a disability rating 2 (0.2%) 0 (0%) 0 (0%) 2 (0.2%)
I don’t understand the process to apply,The process is too much of a hassle 10 (1.2%) 2 (1.6%) 0 (0%) 12 (1.2%)
I don’t understand the process to apply,The process is too much of a hassle,I am concerned about potential stigma of a disability rating 6 (0.7%) 0 (0%) 1 (1.1%) 7 (0.7%)
Not applicable. I do not need a VA service-connected disability rating 315 (39.0%) 4 (3.2%) 12 (13.5%) 331 (32.5%)
Other 10 (1.2%) 1 (0.8%) 1 (1.1%) 12 (1.2%)
The process is too much of a hassle 26 (3.2%) 2 (1.6%) 0 (0%) 28 (2.7%)
The process is too much of a hassle,I am concerned about potential stigma of a disability rating 8 (1.0%) 0 (0%) 0 (0%) 8 (0.8%)
I already have a medical disability rating from the military,I am unaware of the benefits 0 (0%) 1 (0.8%) 1 (1.1%) 2 (0.2%)
disabil_factor_othr
798 (98.9%) 124 (100%) 88 (98.9%) 1010 (99.0%)
According to the VA I make too much money 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
Bad discharge 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
have been denied although obtained hearing loss ffrom preforming my duties as a jet engine mechanic while in the usaf 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
i dont no 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
na 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
none 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
Not qualified as a Reservist 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
Submitted and diagnosed with service related hearing loss but no compensation 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
Va says they found nothing in my medical record to give me a disability rating. 1 (0.1%) 0 (0%) 0 (0%) 1 (0.1%)
Probably tolate to apply 0 (0%) 0 (0%) 1 (1.1%) 1 (0.1%)

Demographic

Overall
(N=1020)
environment
Metropolitan/Urban (population of 50,000 or more) 536 (52.5%)
Micropolitan/Large town (population of 10,000 – 49,999) 254 (24.9%)
Rural (includes isolated rural) (populations under 2,500) 97 (9.5%)
Small town (population of 2,500 – 9,999) 133 (13.0%)
gender
Female 425 (41.7%)
Male 584 (57.3%)
Non-binary 5 (0.5%)
Prefer not to say 1 (0.1%)
Transgender female 3 (0.3%)
Transgender male 2 (0.2%)
race
American Indian/Alaska Native 17 (1.7%)
Asian 16 (1.6%)
Black or African American 143 (14.0%)
Black or African American,American Indian/Alaska Native 1 (0.1%)
Native Hawaiian/Pacific Islander 3 (0.3%)
Other 18 (1.8%)
White 805 (78.9%)
White,American Indian/Alaska Native 4 (0.4%)
White,Asian 3 (0.3%)
White,Black or African American 4 (0.4%)
White,Black or African American,American Indian/Alaska Native 3 (0.3%)
White,Black or African American,Asian 1 (0.1%)
White,Other 2 (0.2%)
## [1] 24.73966
## # A tibble: 36 x 2
##    time_min ResponseId       
##       <dbl> <chr>            
##  1     7.43 R_3RwRGMclvLbJz0s
##  2     7.77 R_3DnYgBXUWDhn5pB
##  3     5.68 R_81jJXuSAJPBqlUJ
##  4     7.58 R_rdlwhtCTSXAF2QV
##  5     7.9  R_28ZgscDCM6Ygyau
##  6     6.72 R_2TMdJbbZWUnICMg
##  7     6.55 R_3gZsGZNE0kRIfZV
##  8     7.2  R_AmKBYmUfrCmJIKB
##  9     7.42 R_ZkIuR2esJm9GAJX
## 10     7.97 R_3PnPfABhvlgjrg4
## # ... with 26 more rows
LS0tDQp0aXRsZTogIk5EQUEgIg0KYXV0aG9yOiAiUXVhbHRyaWNzIEFkbWluaXN0cmF0ZWQiDQpkYXRlOiAiMTIvMjcvMjAyMSINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICBkZl9wcmludDogdGliYmxlDQogICAgZmlnX2NhcHRpb246IHllcw0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0OiB5ZXMNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQotLS0NCg0KYGBge3IgaW5jbHVkZT1GQUxTRX0NCmxpYnJhcnkoZm9yZWlnbikNCmxpYnJhcnkoZGF0YS50YWJsZSkNCmxpYnJhcnkobWFncml0dHIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShjYXIpDQpsaWJyYXJ5KHZpc2RhdCkNCmxpYnJhcnkobmFuaWFyKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShnZ21hcCkNCmxpYnJhcnkobWFwcykNCmxpYnJhcnkoZ2dtYXApDQpsaWJyYXJ5KGdndGhlbWVzKQ0KbGlicmFyeSh2aXJpZGlzKQ0KbGlicmFyeShyZ2RhbCkNCmxpYnJhcnkoZ2dmb3J0aWZ5KQ0KbGlicmFyeShhbmltYXRpb24pDQpsaWJyYXJ5KGdnYW5pbWF0ZSkNCmxpYnJhcnkoZ2FwbWluZGVyKQ0KbGlicmFyeShjYXIpDQpsaWJyYXJ5KG1hcHByb2opDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KGhpc3RvcnlkYXRhKQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkobHVicmlkYXRlKQ0KbGlicmFyeShicm9vbSkNCmxpYnJhcnkobWFwdG9vbHMpDQpsaWJyYXJ5KHNwKQ0KbGlicmFyeSh0aWJibGUpDQpsaWJyYXJ5KHNmKQ0KDQpsaWJyYXJ5KG1hcHMpDQpsaWJyYXJ5KHRhYmxlMSkNCg0KbGlicmFyeShjb21wYXJlR3JvdXBzKQ0KDQojaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIikNCiNsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoc2NhbGVzKQ0KDQojaW5zdGFsbC5wYWNrYWdlcygiZHBseXIiKQ0KDQpsaWJyYXJ5KHRpZHlyKQ0KICAgbGlicmFyeShzdHJpbmdyKQ0KYGBgDQoNCg0KYGBge3IgaW5jbHVkZT1GQUxTRX0NCk5EQUExPC0gcmVhZC5jc3YoIkM6L1VzZXJzL3U2MDMyNDA0L09uZURyaXZlL2JhY2t1cCA5LjkuMTkvTUovTkRBQS9DT0RFX1EvUV9WRVRFUkFOXzIzXzEyLmNzdiIsaGVhZGVyID0gVCkNCg0KTkRBQTEgPC0gTkRBQTFbLWMoMiwxKSwgXSANCg0KTkRBQTEgJT4lIA0KICBzZWxlY3QoUTIuMiwgUTIuMywgUTIuNCwgUTIuNSkNCiN0YWJsZTEoflEzLjMrUTYuMisgUTYuMytRNi40K1E2LjUrIFE2LjYrIFE2LjcrUTYuOCtRNi45ICwgZGF0YT1OREFBMSkNCg0KIyBtYWtlIGRpc2NoYXJfdXBncg0KDQoNCk5EQUExJFEyLjNbTkRBQTEkUTIuMz09IiJdIDwtIk5RIg0KDQojIGRpc2NoYXJfdXBncl9zdWNjDQpOREFBMSA8LSB3aXRoaW4oTkRBQTEsIFEyLjRbIFEyLjMgPT0gIk5vIl0gPC0gJ05vdCBkaXNjaGFyX3VwZ3Jfc3VjYycpDQpOREFBMSRRMi40W05EQUExJFEyLjQ9PSIiXSA8LSJOUSINCiMgc2VydmVfZGF0ZQ0KdGFibGUoTkRBQTEkUTIuNSwgZXhjbHVkZSA9IE5VTEwpDQoNCiMgVkFfZGlzYWJpbGl0eQ0KDQpOREFBMSRRMi42W05EQUExJFEyLjY9PSIiXSA8LSJOYXRpb25hbCBHdWFyZC9BY3RpdmUtZHV0eSBtaWxpdGFyeSINCg0KIyBtYWtlIGFnZQ0KDQpjbGFzcyhOREFBMSRRMy4yKQ0KDQpOREFBMSRRMy4yPC0gYXMubnVtZXJpYyhOREFBMSRRMy4yKQ0KTkRBQTEkYWdlPC0yMDIxLU5EQUExJFEzLjINCg0KDQojIEhIIHNpemUNCg0KTkRBQTEkUTMuOF8xXzFbTkRBQTEkUTMuOF8xXzE9PSIiXSA8LTANCk5EQUExJFEzLjhfMl8xW05EQUExJFEzLjhfMl8xPT0iIl0gPC0wDQpOREFBMSRRMy44XzNfMVtOREFBMSRRMy44XzNfMT09IiJdIDwtMA0KTkRBQTEkUTMuOF80XzFbTkRBQTEkUTMuOF80XzE9PSIiXSA8LTANCk5EQUExJFEzLjhfNV8xW05EQUExJFEzLjhfNV8xPT0iIl0gPC0wDQpOREFBMSRRMy44XzZfMVtOREFBMSRRMy44XzZfMT09IiJdIDwtMA0KDQoNCg0KDQoNCmRhdGEuZnJhbWUoY29sbmFtZXMoTkRBQTEpKQ0KDQogIE5EQUExIDwtIE5EQUExICU+JSANCiAgICAgbXV0YXRlX2F0KGMoMzg6NDMpLCBhcy5udW1lcmljKQ0KDQpOREFBMSRoaHNpemU9IHJvd1N1bXMoTkRBQTFbICwgYygiUTMuOF8xXzEiLCAiUTMuOF8yXzEiICwiUTMuOF8zXzEiLCJRMy44XzRfMSIsICJRMy44XzVfMSIsICJRMy44XzZfMSIpXSwgbmEucm0gPSBUKQ0KDQoNCk5EQUExICU+JSANCiAgc2VsZWN0KFEzLjhfMV8xLFEzLjhfMl8xLFEzLjhfM18xLFEzLjhfNF8xLFEzLjhfNV8xLFEzLjhfNl8xLCBoaHNpemUpDQoNCiMgbWFrZSB0b3RhbCB3b3JrDQoNCk5EQUExIDwtIHdpdGhpbihOREFBMSwgUTUuM1sgUTUuMiAhPSAiV29ya2luZyBmb3IgcGF5Il0gPC0gJ05vdCB3b3JraW5nJykNCk5EQUExIDwtIHdpdGhpbihOREFBMSwgUTUuNFsgUTUuMiAhPSAiV29ya2luZyBmb3IgcGF5Il0gPC0gJ05vdCB3b3JraW5nJykNCk5EQUExIDwtIHdpdGhpbihOREFBMSwgUTUuNV8xXzFbIFE1LjIgIT0gIldvcmtpbmcgZm9yIHBheSJdIDwtIDApDQpOREFBMSA8LSB3aXRoaW4oTkRBQTEsIFE1LjVfMV8yWyBRNS4yICE9ICJXb3JraW5nIGZvciBwYXkiXSA8LSAwKQ0KTkRBQTEgPC0gd2l0aGluKE5EQUExLCBRNS42WyBRNS4yICE9ICJXb3JraW5nIGZvciBwYXkiXSA8LSAnTm90IHdvcmtpbmcnKQ0KTkRBQTEgPC0gd2l0aGluKE5EQUExLCBRNS44WyBRNS4yID09ICJXb3JraW5nIGZvciBwYXkiXSA8LSAnd29ya2luZycpDQpOREFBMSA8LSB3aXRoaW4oTkRBQTEsIFE1LjlbIFE1LjIgIT0gIk5vdCB3b3JraW5nIGZvciBwYXkgYW5kIG5vdCBsb29raW5nIGZvciBwYWlkIHdvcmsiXSA8LSAnbG9va2luZyBmb3IgcGFpZCB3b3JrJykNCk5EQUExIDwtIE5EQUExICU+JSANCiAgICAgbXV0YXRlX2F0KGMoNjUsNjYpLCBhcy5udW1lcmljKSAlPiUgDQogICAgbXV0YXRlKG1vbnRoPSBRNS41XzFfMi8gMTIgKSAlPiUgDQogIG11dGF0ZSh0b3RhbF93b3JrPW1vbnRoK1E1LjVfMV8xKQ0KICANCiAgDQpOREFBMSAlPiUgDQogIHNlbGVjdChRNS41XzFfMSwgUTUuNV8xXzIsICAgdG90YWxfd29yaywgbW9udGgsIFE1LjIsIFE1LjMsIFE1LjQsIFE1LjYsUTUuNyxRNS44KQ0KDQojIHNldCBibG9jayA2IA0KDQpOREFBX2NoaWxkPC1OREFBMSAlPiUgDQogIHNlbGVjdChzdGFydHNfd2l0aCgiUTYiKSwgUmVzcG9uc2VJZCkgDQoNCg0KTkRBQTE8LU5EQUExICU+JSANCiAgc2VsZWN0KC1zdGFydHNfd2l0aCgiUTYiKSkNCiAgDQoNCk5EQUFfY2hpbGQkUTYuMltOREFBX2NoaWxkJFE2LjI9PSIiXSA8LU5BDQoNCiNDb252ZXJ0IGNvbHVtbnMgdG8gY2hhcmFjdGVycw0KTkRBQV9jaGlsZFstMV0gPC0gbGFwcGx5KE5EQUFfY2hpbGRbLTFdLCBhcy5jaGFyYWN0ZXIpDQojRmluZCBpbmRleCBvZiBgTkFgIHZhbHVlIGluIGBtYWluYCBjb2x1bW4NCmluZHMgPC0gaXMubmEoTkRBQV9jaGlsZCRRNi4yKQ0KI0NoYW5nZSBhbGwgdGhlIGNvbHVtbnMgdG8gIk5PMSIgaW4gcm93IGluZHMNCk5EQUFfY2hpbGRbaW5kcywgLTFdIDwtICdOUScNCg0KDQpOREFBX2NoaWxkJFE2LjNbTkRBQV9jaGlsZCRRNi4zPT0iIl0gPC0iMCINCk5EQUFfY2hpbGQkUTYuNVtOREFBX2NoaWxkJFE2LjQ9PSJObyJdIDwtIk5vIGFkb3B0ZWQgYSBjaGlsZCINCk5EQUFfY2hpbGQkUTYuNltOREFBX2NoaWxkJFE2LjY9PSIiXSA8LSJObyBjaGlsZCINCg0KTkRBQV9jaGlsZCRRNi4xMF8xW05EQUFfY2hpbGQkUTYuMTBfMT09IiJdIDwtIk5vIGNoaWxkIg0KDQoNCg0KTkRBQTE8LWxlZnRfam9pbihOREFBMSwgTkRBQV9jaGlsZCwgYnk9IlJlc3BvbnNlSWQiKQ0KDQp0YWJsZTEoflE2LjIrIFE2LjMrUTYuNCtRNi41KyBRNi42KyBRNi43K1E2LjgrUTYuOSArUTYuMTBfMSwgZGF0YT1OREFBX2NoaWxkKQ0KIyBtYWtlIGZpbmFsIGRhdGEgc2V0DQoNCg0KDQpOREFBMV9maW5hbDwtIE5EQUExICU+JSANCiAgc2VsZWN0KFJlc3BvbnNlSWQsVXNlckxhbmd1YWdlLCBTY3JlZW4xLCBzdGFydHNfd2l0aCgiUSIpLCBnYywgYWdlLCBoaHNpemUsdG90YWxfd29yaykgJT4lIA0KIGRwbHlyOjogcmVuYW1lKGRpc2NoYXJfdXBncj1RMi4zLCBkaXNjaGFyX3VwZ3Jfc3VjYz1RMi40LCBWQV9kaXNhYmlsaXR5PVEyLjYsIFZBX2Rpc2FiaWxpdHlfcGVyYz1RMi43LCB1bmVtcGxveT1RMi44LCBkaXNhYmlsX2ZhY3Rvcj1RMi45LCBkaXNhYmlsX2ZhY3Rvcl9vdGhyPVEyLjlfNl9URVhULCBnZW5kZXI9IFEzLjMsIHJhY2U9UTMuNCwgcmFjZV9vdGhyPSBRMy40XzZfVEVYVCwgaGlzcF9sYXQ9IFEzLjUsIG1hcml0YWxfc3RhdHVzPSBRMy42LCBlYXJuZXJzPVEzLjksIGVudmlyb25tZW50PVEzLjEwLCBzdGF0ZV90ZXJyPVEzLjExLCB0cmliYWw9UTMuMTIsIHRyaWJhbF9PRT0gUTMuMTMsIGVkdV9wcmlvcj1RNC4yLGVkdV9jb250PVE0LjMsZWR1X2NvbnRfd2hlbj1RNC40LGVkdV9mYWN0b3JzPVE0LjUsIGVkdV9mYWN0b3JzX290aHI9IFE0LjVfNV9URVhULCBlZHVfYWRkdGxfdHlwZT0gUTQuNiwgZWR1X292cmFsbD0gUTQuNywgR0lfZWxpZz0gUTQuOCwgR0lfY29udmVydD0gUTQuOSwgR0lfdXNlZD0gUTQuMTAsIEdJX2FjdGl2PSBRNC4xMSwgR0lfbm90X3VzZWQ9UTQuMTIsIGVtcGxveV9zdGF0dXM9UTUuMiwgd29ya19ocnM9IFE1LjMsIHdvcmtfc2l0dWF0aW9uPSBRNS40LCB3b3JrX3NpdHVhdGlvbl9vdGhyPSBRNS40XzVfVEVYVCx3b3JrX3ByZWY9UTUuNiwgdW5wYWlkX3dvcms9UTUuNyxub3Rfd29yayA9UTUuOCwgbm90X3dvcmtfb3Rocj0gUTUuOF85X1RFWFQsIG5vdF9sb29rPVE1LjkgLCBjaGlsZF9iaXJ0aD1RNi4yLCBiaXJ0aF9udW09UTYuMywgY2hpbGRfYWRvcHQ9IFE2LjQsIGFkb3B0X251bT0gUTYuNSwgY2hpbGQxX3JldHVybj0gUTYuNiwgY2hpbGQxX2NhcGFjaXR5PVE2LjcsIGNoaWxkMV9jYXJlPVE2LjgsIGNoaWxkMV9ub19yZXQ9IFE2LjksIGNoaWxkMV9ub19yZXRfb3Rocj0gUTYuOV81X1RFWFQsY2hpbGQxX3BhaWRfbWF0PSBRNi4xMF8xLCBjaGlsZDFfcGFpZF9zaWNrPSBRNi4xMF8yLCBjaGlsZDFfcGFpZF92YWNheT0gUTYuMTBfMywgY2hpbGQxX3VucGRfZm1sPVE2LjEwXzQsIGNoaWxkMV9wYWlkX2ZtbD0gUTYuMTBfNSwgY2hpbGQxX3VucGRfdGltZT1RNi4xMF82LCBjaGlsZDFfT0VfbGVuZ3RoPVE2LjExKQ0KIA0KDQoNCg0KDQoNCiN0YWJsZShOREFBMV9maW5hbCRTY3JlZW4xKQ0KdGFibGUoTkRBQTFfZmluYWwkVkFfZGlzYWJpbGl0eV9wZXJjKQ0KDQp0YWJsZTEofiBkaXNjaGFyX3VwZ3IrZGlzY2hhcl91cGdyX3N1Y2MrVkFfZGlzYWJpbGl0eStWQV9kaXNhYmlsaXR5X3BlcmMrdW5lbXBsb3krZGlzYWJpbF9mYWN0b3IrZGlzYWJpbF9mYWN0b3Jfb3RociwgZGF0YT1OREFBMV9maW5hbCkNCg0KDQp0YWJsZTEofiBlbnZpcm9ubWVudCtnZW5kZXIrcmFjZStWQV9kaXNhYmlsaXR5X3BlcmMrdW5lbXBsb3krZGlzYWJpbF9mYWN0b3IsIGRhdGE9TkRBQTFfZmluYWwpDQoNCk5EQUExICU+JSANCiAgc2VsZWN0KCBTY3JlZW4xLFEyLjIsUTIuMyxRMi40LCBRMi41KSAlPiUgDQogIGZpbHRlcihRMi41PT0iIikNCmBgYA0KDQoNCmBgYHtyIGluY2x1ZGU9RkFMU0V9DQoNCiAgTkRBQV9zZXJ2aWNlPC1OREFBMV9maW5hbCAlPiUgbXV0YXRlKFEyLjIgPSBzdHJfcmVtb3ZlKFEyLjIsICcgXFwoLipcXCk/JykpICU+JSANCiAgc2VwYXJhdGVfcm93cyhRMi4yLCBzZXAgPSAnLCcpICU+JSBjb3VudChSZXNwb25zZUlkLCBRMi4yLCBuYW1lID0gJ0NudCcpICU+JSANCiAgcGl2b3Rfd2lkZXIoaWRfY29scyA9IFJlc3BvbnNlSWQsIG5hbWVzX2Zyb20gPSBRMi4yLCB2YWx1ZXNfZnJvbSA9IENudCwgdmFsdWVzX2ZpbGwgPSBsaXN0KENudCA9IDApKSAlPiUgDQogICAgIG11dGF0ZV9hbGwofnJlcGxhY2UoLiwgLiA9PSAwLCAiTm8iKSkgJT4lIA0KICAgICBtdXRhdGVfYWxsKH5yZXBsYWNlKC4sIC4gPT0gMSwgIlllcyIpKQ0KDQoNCiAgTkRBQV9zZXJ2aWNlMTwtTkRBQTFfZmluYWwgJT4lIG11dGF0ZShRMi41ID0gc3RyX3JlbW92ZShRMi41LCAnIFxcKC4qXFwpPycpKSAlPiUgDQogICAgbXV0YXRlKFEyLjUgPSByZXBsYWNlKFEyLjUsIFEyLjUgPT0gJycsICdObyBJbmZvJykpICU+JQ0KICBzZXBhcmF0ZV9yb3dzKFEyLjUsIHNlcCA9ICcsJykgJT4lIGNvdW50KFJlc3BvbnNlSWQsIFEyLjUsIG5hbWUgPSAnQ250JykgJT4lIA0KICBwaXZvdF93aWRlcihpZF9jb2xzID0gUmVzcG9uc2VJZCwgbmFtZXNfZnJvbSA9IFEyLjUsIHZhbHVlc19mcm9tID0gQ250LCB2YWx1ZXNfZmlsbCA9IGxpc3QoQ250ID0gMCkpICU+JSANCiAgICAgbXV0YXRlX2FsbCh+cmVwbGFjZSguLCAuID09IDAsICJObyIpKSAlPiUgDQogICAgIG11dGF0ZV9hbGwofnJlcGxhY2UoLiwgLiA9PSAxLCAiWWVzIikpDQoNCg0KDQpOREFBMV9maW5hbDwtZnVsbF9qb2luKE5EQUExX2ZpbmFsLCBOREFBX3NlcnZpY2UsIGJ5PSJSZXNwb25zZUlkIikNCg0KTkRBQTFfZmluYWw8LWZ1bGxfam9pbihOREFBMV9maW5hbCwgTkRBQV9zZXJ2aWNlMSwgYnk9IlJlc3BvbnNlSWQiKQ0KDQoNCg0KDQoNCmBgYA0KIyBGdWxsIFNhbXBsZQ0KYGBge3IgZWNobz1GQUxTRX0NCnRhYmxlMSh+IFNjcmVlbjEsIGRhdGE9TkRBQTEpDQpgYGANCg0KDQojIEluZm9ybWF0aW9uIG9mIGNhc2VzIHRoYXQgbmV2ZXIgc2VydmVkIGluIHRoZSBVLlMuIE1pbGl0YXJ5DQoNCmBgYHtyIGVjaG89RkFMU0V9DQoNCk5EQUExICU+JSANCiAgc2VsZWN0KFNjcmVlbjEsIFEyLjIpICU+JSANCiAgZmlsdGVyKFNjcmVlbjE9PSJJIGhhdmUgbmV2ZXIgc2VydmVkIGluIHRoZSBVLlMuIE1pbGl0YXJ5IikNCmBgYA0KIyBNSWxpdGFyeSBTdGF0dXMNCg0KYGBge3IgZWNobz1GQUxTRX0NCk5EQUFfc2VydmljZV9yZTwtTkRBQV9zZXJ2aWNlICU+JSANCiAgc2VsZWN0KC1SZXNwb25zZUlkKQ0KdGFibGUxKH4gLiwgZGF0YT1OREFBX3NlcnZpY2VfcmUpDQpgYGANCg0KIyBTZXJ2ZSBEYXRlDQoNCmBgYHtyIGVjaG89RkFMU0V9DQpOREFBX3NlcnZpY2UxX3JlPC1OREFBX3NlcnZpY2UxICU+JSANCiAgc2VsZWN0KC1SZXNwb25zZUlkKQ0KdGFibGUxKH4gLiwgZGF0YT1OREFBX3NlcnZpY2UxX3JlKQ0KDQoNCmBgYA0KDQoNCg0KDQoNCg0KDQojIEJvcm4gMjAwMiBhbmQgbGF0ZXIgDQoNCg0KYGBge3IgZWNobz1GQUxTRX0NCk5EQUExX2ZpbmFsJGFnZTwtYXMubnVtZXJpYyhOREFBMV9maW5hbCRhZ2UpDQpOREFBMV9maW5hbCRRMy4yPC1hcy5udW1lcmljKE5EQUExX2ZpbmFsJFEzLjIpDQoNCk5EQUExX2ZpbmFsICU+JSANCiAgc2VsZWN0KFNjcmVlbjEsUTIuMixhZ2UsIFEzLjIsIFJlc3BvbnNlSWQpICU+JSANCiAgZmlsdGVyKFEzLjI+PSAyMDAyKQ0KYGBgDQoNCmBgYHtyIGVjaG89RkFMU0V9DQprbml0cjo6aW5jbHVkZV9ncmFwaGljcygiYWdlMjAwMi5wbmciKQ0KYGBgDQoNCg0KYGBge3IgaW5jbHVkZT1GQUxTRX0NCk5EQUExX2ZpbmFsICU+JSANCiAgc2VsZWN0KGBWaWV0bmFtIEVyYWAsUTMuMikgJT4lIA0KICBmaWx0ZXIoIGBWaWV0bmFtIEVyYWA9PSdZZXMnKSAgDQpOREFBMV9maW5hbCAlPiUgDQogIHNlbGVjdChgVmlldG5hbSBFcmFgLFEzLjIpICU+JSANCiAgZmlsdGVyKFEzLjI8PTE5NTUsIGBWaWV0bmFtIEVyYWA9PSdZZXMnKQ0KYGBgDQoNCiMgVmlldG5hbSBFcmEgeW91bmdlciB0aGFuIDE5NTYNCmBgYHtyIGVjaG89RkFMU0V9DQpOREFBMV9maW5hbCAlPiUgDQogIHNlbGVjdChgVmlldG5hbSBFcmFgLFEzLjIsIFJlc3BvbnNlSWQpICU+JSANCiAgZmlsdGVyKFEzLjI+MTk1OCwgYFZpZXRuYW0gRXJhYD09J1llcycpDQpgYGANCg0KDQoNCiMgUHJpb3IgdG8gQXVndXN0IDE5NjQgeW91bmdlciB0aGFuIDE5NDcNCmBgYHtyIGVjaG89RkFMU0V9DQpOREFBMV9maW5hbCAlPiUgDQogIHNlbGVjdChgUHJpb3IgdG8gQXVndXN0IDE5NjRgLFEzLjIsIFJlc3BvbnNlSWQpICU+JSANCiAgZmlsdGVyKFEzLjI+MTk0NywgYFByaW9yIHRvIEF1Z3VzdCAxOTY0YD09J1llcycpDQpgYGANCiMgTWF5IDE5NzUgdG8gSnVseSAxOTkwIHlvdW5nZXIgdGhhbiAxOTcwDQoNCg0KDQoNCg0KDQpgYGB7ciBlY2hvPUZBTFNFfQ0KIA0KTkRBQTFfZmluYWwgJT4lIA0KICBzZWxlY3QoYE1heSAxOTc1IHRvIEp1bHkgMTk5MGAsUTMuMiwgUmVzcG9uc2VJZCkgJT4lIA0KICBmaWx0ZXIoUTMuMj4xOTczLCBgTWF5IDE5NzUgdG8gSnVseSAxOTkwYD09J1llcycpDQpgYGANCg0KIyBObyBpbmZvIG1lYW5zIGN1cnJlbnRseSB3b3JraW5nIChSZXRpcmVtZW50IGZvciBBZ2UgYW5kIFllYXJzIG9mIFNlcnZpY2Ugb2xkZXIgdGhhbiAxOTU1KQ0KYGBge3IgZWNobz1GQUxTRX0NCk5EQUExX2ZpbmFsICU+JSANCiAgc2VsZWN0KGBObyBJbmZvYCxRMy4yLCBSZXNwb25zZUlkKSAlPiUgDQogIGZpbHRlcihgTm8gSW5mb2A9PSdZZXMnLCBRMy4yPDE5NTUpDQpgYGANCg0KDQoNCg0KIyBBdWd1c3QgMTk5MCB0byBBdWd1c3QgMjAwMSB5b3VuZ2VyIHRoYW4gMTk4NA0KYGBge3IgZWNobz1GQUxTRX0NCk5EQUExX2ZpbmFsICU+JSANCiAgc2VsZWN0KGBBdWd1c3QgMTk5MCB0byBBdWd1c3QgMjAwMWAsUTMuMiwgUmVzcG9uc2VJZCkgJT4lIA0KICBmaWx0ZXIoYEF1Z3VzdCAxOTkwIHRvIEF1Z3VzdCAyMDAxYD09J1llcycsIFEzLjI+MTk4NCkNCmBgYA0KDQoNCg0KIyBTZXB0ZW1iZXIgMjAwMSBvciBsYXRlciB5b3VuZ2VyIHRoYW4gMjAwMQ0KYGBge3IgZWNobz1GQUxTRX0NCk5EQUExX2ZpbmFsICU+JSANCiAgc2VsZWN0KGBTZXB0ZW1iZXIgMjAwMSBvciBsYXRlcmAsUTMuMiwgUmVzcG9uc2VJZCkgJT4lIA0KICBmaWx0ZXIoYFNlcHRlbWJlciAyMDAxIG9yIGxhdGVyYD09J1llcycsIFEzLjI+MjAwMCkNCmBgYA0KDQojIFBhcnQgMg0KYGBge3IgZWNobz1GQUxTRX0NCnRhYmxlMSh+IGRpc2NoYXJfdXBncitkaXNjaGFyX3VwZ3Jfc3VjYytWQV9kaXNhYmlsaXR5K1ZBX2Rpc2FiaWxpdHlfcGVyYyt1bmVtcGxveStkaXNhYmlsX2ZhY3RvcitkaXNhYmlsX2ZhY3Rvcl9vdGhyfFNjcmVlbjEsIGRhdGE9TkRBQTFfZmluYWwpDQpgYGANCg0KIyBEZW1vZ3JhcGhpYw0KDQpgYGB7ciBlY2hvPUZBTFNFfQ0KdGFibGUxKH4gZW52aXJvbm1lbnQrZ2VuZGVyK3JhY2UsIGRhdGE9TkRBQTFfZmluYWwpDQpgYGANCg0KDQpgYGB7ciBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQ0KTkRBQTEgPC0gd2l0aGluKE5EQUExLCBRNi4yWyBRMy4zID09ICJNYWxlIl0gPC0gJ05RJykNCk5EQUExIDwtIHdpdGhpbihOREFBMSwgUTYuMlsgUTMuMyA9PSAiUHJlZmVyIG5vdCB0byBzYXkiXSA8LSAnTlEnKQ0KTkRBQTEgPC0gd2l0aGluKE5EQUExLCBRNi4yWyBRMy4zID09ICJOb24tYmluYXJ5Il0gPC0gJ05RJykNCk5EQUExJFE2LjNbTkRBQTEkUTYuMz09IiJdIDwtIiBObyBDaGlsZCINCk5EQUExIDwtIHdpdGhpbihOREFBMSwgUTYuNFsgUTMuMyA9PSAiTWFsZSJdIDwtICdNYWxlJykNCk5EQUExJFE2LjNbTkRBQTEkUTYuNT09IiJdIDwtIiBObyBBZG9wdCINCk5EQUExJFE2LjZbTkRBQTEkUTYuNj09IiJdIDwtIiBObyBDaGlsZCBvciBBZG9wdGlvbiINCk5EQUExJFE2LjdbTkRBQTEkUTYuNz09IiJdIDwtIiBObyBDaGlsZCBvciBBZG9wdGlvbiINCk5EQUExIDwtIHdpdGhpbihOREFBMSwgUTYuN1sgUTYuNiA9PSAiTm8iXSA8LSAnTm8gUmV0dXJuIHRvIEpvYicpDQpOREFBMSA8LSB3aXRoaW4oTkRBQTEsIFE2LjhbIFEzLjMgPT0gIk1hbGUiXSA8LSAnTWFsZScpDQpOREFBMSA8LSB3aXRoaW4oTkRBQTEsIFE2LjhbIFE2LjIgPT0gIk5vIl0gPC0gJ05vIENoaWxkJykNCk5EQUExIDwtIHdpdGhpbihOREFBMSwgUTYuOVsgUTMuMyA9PSAiTWFsZSJdIDwtICdNYWxlJykNCk5EQUExIDwtIHdpdGhpbihOREFBMSwgUTYuOVsgUTYuMiA9PSAiTm8iXSA8LSAnTm8gQ2hpbGQnKQ0KTkRBQTEgJT4lIA0KICBzZWxlY3QoUTMuMyxRNi4yLCBRNi4zLFE2LjQsUTYuNSwgUTYuNiwgUTYuNyxRNi44LFE2LjkpIA0KDQp0YWJsZShOREFBMSRRNi45KQ0KDQoNCnRhYmxlMSh+UTMuMytRNi4yKyBRNi4zK1E2LjQrUTYuNSsgUTYuNisgUTYuNytRNi44K1E2LjkgLCBkYXRhPU5EQUExKQ0KYGBgDQoNCg0KDQpgYGB7ciBlY2hvPUZBTFNFfQ0KDQpOREFBMSR0aW1lX21pbjwtIGFzLm51bWVyaWMoTkRBQTEkRHVyYXRpb24uLmluLnNlY29uZHMuKS82MA0KbWVhbihOREFBMSR0aW1lX21pbikNCg0KTkRBQTEgJT4lIA0KICBzZWxlY3QodGltZV9taW4sIFJlc3BvbnNlSWQpICU+JSANCiAgZmlsdGVyKHRpbWVfbWluPDgpDQoNCg0KT3V0VmFscyA9IGJveHBsb3QoTkRBQTEkdGltZV9taW4sIHBsb3Q9RkFMU0UpJG91dA0KDQpgYGANCg0KDQoNCg==