Introduction
Obesity has become a public health crisis in the United States. Obesity is caused by a number of reasons such as lifestyle, environmental and genetic factors. Obesity is creating problems that can be linked to significant health and social difficulties for people. This research focuses on three key factors age, education and income and attempts to figure out wether individuals are more at risk of becoming obese based on their age, their level of education or the amount of money they earn. The graph below indicates the relationship between obesity rates in the US and the factors effecting these rates.
Literature Review
Despite growing recognition of the problem, the obesity epidemic continues in the US and obesity rates are increasing around the world. According to the the NCBI, “The latest estimates are that approximately 34% of adults and 15–20% of children and adolescents in the U.S. are obese. Obesity affects every segment of the U.S. population.(Mitchell, N., Catenacci, V., Wyatt, H. R., & Hill, J. O. (2011)) More than one-third of adults in the US are obese.(CDC) The CDC says that among non-Hispanic blacks and Mexican American men, those with higher incomes are more likely to have obesity than those with a lower income. projection models show that by the year 2030, ~90% (86.3%) of all American adults would become overweight or obese and 51.1% of them would be obese. (Wang, Beydoun (2008)) Obesity increases the risk of many chronic diseases in children and adults.” A large amount of research is now directed toward better understanding and treating obesity, and substantial public health efforts are directed toward reducing obesity rates. To date, however, there is little evidence of success in reversing the epidemic in the U.S.
Data and Variables
The data for this study was obtained from the CDC. This dataset includes data on adult’s diet, physical activity, and weight status from Behavioral Risk Factor Surveillance System. This data is used for DNPAO’s Data, Trends, and Maps database, which provides national and state specific data on obesity, nutrition, and physical activity. The variables we examined from the dataset were Pct_obese(rate of obesity), state, age, education and income. The mean percent of obesity was found and compared with each of the factors mentioned. This was followed by an ANOVA test and then illustrated in a nice bar graph to further illustrate the relationship between the variables.
Preview of data
Mean obesity rate by age interval
In the table above one can see that obesity rates peak around the ages of 35-64. People ages 65 and older have a slightly lower mean obesity rate then the above interval. However, whats most apparent about the table above is that people in their early adult years have the lowest rate of obesity as opposed to individuals between the ages of 35-44 which have the highest rate of obesity.
Regression Model by age
Call:
lm(formula = Pct_obese ~ Age, data = age)
Residuals:
Min 1Q Median 3Q Max
-14.8612 -2.8472 0.0388 2.7104 16.4009
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 16.3991 0.2352 69.71 <2e-16 ***
Age25 - 34 10.7622 0.3327 32.35 <2e-16 ***
Age35 - 44 16.0431 0.3327 48.22 <2e-16 ***
Age45 - 54 17.4481 0.3327 52.45 <2e-16 ***
Age55 - 64 17.1616 0.3327 51.58 <2e-16 ***
Age65 or older 10.3559 0.3327 31.13 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.208 on 1914 degrees of freedom
Multiple R-squared: 0.6759, Adjusted R-squared: 0.675
F-statistic: 798.3 on 5 and 1914 DF, p-value: < 2.2e-16
From the above we can see that the p-value is extremely low meaning that age has a statistically significant effect on obesity rates. We also notice that based on the r-squared value that 67% of the change in obesity is explained by age.
The graph above clearly illustrates that younger adults have a lower obese rate than individuals between the ages of 35 and 64.
Mean obesity rate by education
The table above shows that ass an individuals education increases the obesity rates steadily decrease.
Regression model by education
Call:
lm(formula = Pct_obese ~ Education, data = educ)
Residuals:
Min 1Q Median 3Q Max
-11.726 -2.591 0.067 2.574 10.690
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 22.7912 0.2116 107.71 <2e-16 ***
EducationHigh school graduate 8.1484 0.2992 27.23 <2e-16 ***
EducationLess than high school 10.2350 0.2992 34.20 <2e-16 ***
EducationSome college or technical school 7.3191 0.2992 24.46 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.785 on 1276 degrees of freedom
Multiple R-squared: 0.5104, Adjusted R-squared: 0.5093
F-statistic: 443.5 on 3 and 1276 DF, p-value: < 2.2e-16
From the model above we can see that eduction has a statistically significant effect on obesity rates at a 95% confidence level. The r-squared also suggest that 51% of change in obesity rates can be explained by the level of education an individual has attained.
The Graph above clearly illustrates that the lower education you have, the the more likely you are of being obese as opposed to those with a college education.
Mean obesity rates by income
The table above provides the mean rate of obesity by income level. As we can see individuals who had an income of $75,000 or greater had the lowest rate of obesity as opposed to those who made less than $15,000.
Regression model by income
Call:
lm(formula = Pct_obese ~ Income, data = income)
Residuals:
Min 1Q Median 3Q Max
-13.1516 -2.7516 0.0481 2.7484 13.6191
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 32.2247 0.2277 141.515 < 2e-16 ***
Income$25,000 - $34,999 -1.6728 0.3220 -5.195 2.24e-07 ***
Income$35,000 - $49,999 -1.8731 0.3220 -5.817 6.87e-09 ***
Income$50,000 - $74,999 -2.5437 0.3220 -7.899 4.37e-15 ***
Income$75,000 or greater -6.9731 0.3220 -21.653 < 2e-16 ***
IncomeData not reported -7.9097 0.3220 -24.562 < 2e-16 ***
IncomeLess than $15,000 1.5194 0.3220 4.718 2.53e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.073 on 2233 degrees of freedom
Multiple R-squared: 0.3841, Adjusted R-squared: 0.3825
F-statistic: 232.1 on 6 and 2233 DF, p-value: < 2.2e-16
From the model above we can see that income has a statistically significant effect on obesity rates at a 95% confidence level. The r-squared also suggest that 38% of change in obesity rates can be explained by the level of income an individual earns.
Discussion
In order to understand how to head this country in the proper direction when it comes to obesity we must first understand the factors that are effecting this countrys rates of obesity. In the above tables we were able to look at a seperate demographic group at a time and see if it significantly effected the percentage of adults that were obese in our country. Only after understand the key factors making us obese can we than as a country put forward the effort to make a change. From the above results we see that age, education and income all were keys factors in the percentage of obese people in America. Seems that if we educate ourselves, and earn a large income we have a better chance at not being obese.
This study has its limitations and therefore this study does not guarantee that these factors are the direct cause of obesity.
Bibliography
Centers for Disease Control and Prevention. ( 2010). Nutrition.
Mitchell, N., Catenacci, V., Wyatt, H. R., & Hill, J. O. (2011). OBESITY: OVERVIEW OF AN EPIDEMIC. The Psychiatric Clinics of North America, 34(4), 717–732.
Reichmann, Vanessa, “Does Fruit and Vegetable Intake Decrease Risk for Obesity in Children and Adolescents?” (2009). Undergraduate Honors Theses. Paper 8.
Young, L. R., & Nestle, M. (2002). The Contribution of Expanding Portion Sizes to the US Obesity Epidemic. American Journal of Public Health, 92(2), 246–249.
LS0tCnRpdGxlOiAiIyNUaGUgT2Jlc2l0eSBFcGlkZW1pYyBpbiB0aGUgVVMiCmF1dGhvcjogIlJvYmVydCBQZXJleiIKZGF0ZTogIk5vdmVtYmVyIDI1LCAyMDE3IgpvdXRwdXQ6IAogIGh0bWxfbm90ZWJvb2s6IAogICAgY29kZV9mb2xkaW5nOiBub25lCi0tLQohW0NEQyBPYmVzaXR5IFRyZW5kcyBJbiBUaGUgVVNdKGh0dHA6Ly93d3cucGhlbmZvcnVtLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wNS9vYmVzaXR5LmpwZykKCgojIyMqKkludHJvZHVjdGlvbioqCk9iZXNpdHkgaGFzIGJlY29tZSBhIHB1YmxpYyBoZWFsdGggY3Jpc2lzIGluIHRoZSBVbml0ZWQgU3RhdGVzLiBPYmVzaXR5IGlzIGNhdXNlZCBieSBhIG51bWJlciBvZiByZWFzb25zIHN1Y2ggYXMgbGlmZXN0eWxlLCBlbnZpcm9ubWVudGFsIGFuZCBnZW5ldGljIGZhY3RvcnMuIE9iZXNpdHkgaXMgY3JlYXRpbmcgcHJvYmxlbXMgdGhhdCBjYW4gYmUgbGlua2VkIHRvIHNpZ25pZmljYW50IGhlYWx0aCBhbmQgc29jaWFsIGRpZmZpY3VsdGllcyBmb3IgcGVvcGxlLiBUaGlzIHJlc2VhcmNoIGZvY3VzZXMgb24gdGhyZWUga2V5IGZhY3RvcnMgYWdlLCBlZHVjYXRpb24gYW5kIGluY29tZSBhbmQgYXR0ZW1wdHMgdG8gZmlndXJlIG91dCB3ZXRoZXIgaW5kaXZpZHVhbHMgYXJlIG1vcmUgYXQgcmlzayBvZiBiZWNvbWluZyBvYmVzZSBiYXNlZCBvbiB0aGVpciBhZ2UsIHRoZWlyIGxldmVsIG9mIGVkdWNhdGlvbiBvciB0aGUgYW1vdW50IG9mIG1vbmV5IHRoZXkgZWFybi4gVGhlIGdyYXBoIGJlbG93IGluZGljYXRlcyB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gb2Jlc2l0eSByYXRlcyBpbiB0aGUgVVMgYW5kIHRoZSBmYWN0b3JzIGVmZmVjdGluZyB0aGVzZSByYXRlcy4gCgojIyNMaXRlcmF0dXJlIFJldmlldyAKICBEZXNwaXRlIGdyb3dpbmcgcmVjb2duaXRpb24gb2YgdGhlIHByb2JsZW0sIHRoZSBvYmVzaXR5IGVwaWRlbWljIGNvbnRpbnVlcyBpbiB0aGUgVVMgYW5kIG9iZXNpdHkgcmF0ZXMgYXJlIGluY3JlYXNpbmcgYXJvdW5kIHRoZSB3b3JsZC4gQWNjb3JkaW5nIHRvIHRoZSB0aGUgTkNCSSwgIlRoZSBsYXRlc3QgZXN0aW1hdGVzIGFyZSB0aGF0IGFwcHJveGltYXRlbHkgMzQlIG9mIGFkdWx0cyBhbmQgMTXigJMyMCUgb2YgY2hpbGRyZW4gYW5kIGFkb2xlc2NlbnRzIGluIHRoZSBVLlMuIGFyZSBvYmVzZS4gT2Jlc2l0eSBhZmZlY3RzIGV2ZXJ5IHNlZ21lbnQgb2YgdGhlIFUuUy4gcG9wdWxhdGlvbi4oTWl0Y2hlbGwsIE4uLCBDYXRlbmFjY2ksIFYuLCBXeWF0dCwgSC4gUi4sICYgSGlsbCwgSi4gTy4gKDIwMTEpKSBNb3JlIHRoYW4gb25lLXRoaXJkIG9mIGFkdWx0cyBpbiB0aGUgVVMgYXJlIG9iZXNlLihDREMpIFRoZSBDREMgc2F5cyB0aGF0IGFtb25nIG5vbi1IaXNwYW5pYyBibGFja3MgYW5kIE1leGljYW4gQW1lcmljYW4gbWVuLCB0aG9zZSB3aXRoIGhpZ2hlciBpbmNvbWVzIGFyZSBtb3JlIGxpa2VseSB0byBoYXZlIG9iZXNpdHkgdGhhbiB0aG9zZSB3aXRoIGEgbG93ZXIgaW5jb21lLiBwcm9qZWN0aW9uIG1vZGVscyBzaG93IHRoYXQgYnkgdGhlIHllYXIgMjAzMCwgfjkwJQooODYuMyUpIG9mIGFsbCBBbWVyaWNhbiBhZHVsdHMgd291bGQgYmVjb21lIG92ZXJ3ZWlnaHQgb3Igb2Jlc2UgYW5kIDUxLjElIG9mIHRoZW0gd291bGQgYmUgb2Jlc2UuIChXYW5nLCBCZXlkb3VuICgyMDA4KSkKICBPYmVzaXR5IGluY3JlYXNlcyB0aGUgcmlzayBvZiBtYW55IGNocm9uaWMgZGlzZWFzZXMgaW4gY2hpbGRyZW4gYW5kIGFkdWx0cy4iIEEgbGFyZ2UgYW1vdW50IG9mIHJlc2VhcmNoIGlzIG5vdyBkaXJlY3RlZCB0b3dhcmQgYmV0dGVyIHVuZGVyc3RhbmRpbmcgYW5kIHRyZWF0aW5nIG9iZXNpdHksIGFuZCBzdWJzdGFudGlhbCBwdWJsaWMgaGVhbHRoIGVmZm9ydHMgYXJlIGRpcmVjdGVkIHRvd2FyZCByZWR1Y2luZyBvYmVzaXR5IHJhdGVzLiBUbyBkYXRlLCBob3dldmVyLCB0aGVyZSBpcyBsaXR0bGUgZXZpZGVuY2Ugb2Ygc3VjY2VzcyBpbiByZXZlcnNpbmcgdGhlIGVwaWRlbWljIGluIHRoZSBVLlMuCgoKCiMjI0RhdGEgYW5kIFZhcmlhYmxlcyAKVGhlIGRhdGEgZm9yIHRoaXMgc3R1ZHkgd2FzIG9idGFpbmVkIGZyb20gdGhlIFtDRENdKGh0dHBzOi8vY2F0YWxvZy5kYXRhLmdvdi9kYXRhc2V0L251dHJpdGlvbi1waHlzaWNhbC1hY3Rpdml0eS1hbmQtb2Jlc2l0eS1iZWhhdmlvcmFsLXJpc2stZmFjdG9yLXN1cnZlaWxsYW5jZS1zeXN0ZW0pLiBUaGlzIGRhdGFzZXQgaW5jbHVkZXMgZGF0YSBvbiBhZHVsdCdzIGRpZXQsIHBoeXNpY2FsIGFjdGl2aXR5LCBhbmQgd2VpZ2h0IHN0YXR1cyBmcm9tIEJlaGF2aW9yYWwgUmlzayBGYWN0b3IgU3VydmVpbGxhbmNlIFN5c3RlbS4gVGhpcyBkYXRhIGlzIHVzZWQgZm9yIEROUEFPJ3MgRGF0YSwgVHJlbmRzLCBhbmQgTWFwcyBkYXRhYmFzZSwgd2hpY2ggcHJvdmlkZXMgbmF0aW9uYWwgYW5kIHN0YXRlIHNwZWNpZmljIGRhdGEgb24gb2Jlc2l0eSwgbnV0cml0aW9uLCBhbmQgcGh5c2ljYWwgYWN0aXZpdHkuIFRoZSB2YXJpYWJsZXMgd2UgZXhhbWluZWQgZnJvbSB0aGUgZGF0YXNldCB3ZXJlIFBjdF9vYmVzZShyYXRlIG9mIG9iZXNpdHkpLCBzdGF0ZSwgYWdlLCBlZHVjYXRpb24gYW5kIGluY29tZS4gVGhlIG1lYW4gcGVyY2VudCBvZiBvYmVzaXR5IHdhcyBmb3VuZCBhbmQgY29tcGFyZWQgd2l0aCBlYWNoIG9mIHRoZSBmYWN0b3JzIG1lbnRpb25lZC4gVGhpcyB3YXMgZm9sbG93ZWQgYnkgYW4gQU5PVkEgdGVzdCBhbmQgdGhlbiBpbGx1c3RyYXRlZCBpbiBhIG5pY2UgYmFyIGdyYXBoIHRvIGZ1cnRoZXIgaWxsdXN0cmF0ZSB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIHZhcmlhYmxlcy4gCgoKYGBge3IsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmxpYnJhcnkoWmVsaWcpCmxpYnJhcnkoWmVsaWdDaG9pY2UpCmxpYnJhcnkodGlkeXIpCmxpYnJhcnkodGV4cmVnKQpsaWJyYXJ5KHN0YXJnYXplcikKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGdndGhlbWVzKQpsaWJyYXJ5KHBsb3RseSkKbGlicmFyeShnaXBoeXIpCmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KHJlYWR4bCkKbGlicmFyeShybWFya2Rvd24pCmxpYnJhcnkocGxvdGx5KQpsaWJyYXJ5KGZvcmNhdHMpCmxpYnJhcnkoRFQpCmxpYnJhcnkoa25pdHIpCk9iZXNlIDwtIHJlYWRfY3N2KCIvVXNlcnMvcm9iZXJ0cGVyZXovRG9jdW1lbnRzL1JzdHVkaW8gRGF0YVNldHMgL09iZXNpdHlfcmRhdGEuY3N2IiwgCiAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSAiPz8/P19fXz9fXz9fX18/Pz9fPz8/Pz9fX19fX19fX19fIikgJT4lCiAgICAgICAgIHJlbmFtZSggUiA9ICdSYWNlL0V0aG5pY2l0eScsIFN0YXRlID0gIkxvY2F0aW9uRGVzYyIsIFBjdF9vYmVzZSA9ICJEYXRhX1ZhbHVlIiwgQWdlID0gIkFnZSh5ZWFycykiKQpgYGAKCmBgYHtyLCBlY2hvPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpoZWFkKE9iZXNlKQpgYGAKCgogCmBgYHtyLCBlY2hvPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpjb2xuYW1lcyhPYmVzZSlbNl0gPC0gIlBjdF9vYmVzZSIgCmFnZSA8LSBmaWx0ZXIoT2Jlc2UsICFpcy5uYShBZ2UpICYgUXVlc3Rpb24gPT0gIlBlcmNlbnQgb2YgYWR1bHRzIGFnZWQgMTggeWVhcnMgYW5kIG9sZGVyIHdobyBoYXZlIG9iZXNpdHkiKSAlPiUKICBzZWxlY3QoWWVhckVuZCwgU3RhdGUsIFBjdF9vYmVzZSwgQWdlKSAlPiUgCiAgZ3JvdXBfYnkoQWdlKQpgYGAKUHJldmlldyBvZiBkYXRhCgojIyNNZWFuIG9iZXNpdHkgcmF0ZSBieSBhZ2UgaW50ZXJ2YWwKYGBge3IsIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9Cm1lYW5fYWdlIDwtIHN1bW1hcmlzZShhZ2UsIG1lYW4gPSByb3VuZChtZWFuKFBjdF9vYmVzZSwgbmEucm09VFJVRSksIDIpKQptZWFuX2FnZQpgYGAKSW4gdGhlIHRhYmxlIGFib3ZlIG9uZSBjYW4gc2VlIHRoYXQgb2Jlc2l0eSByYXRlcyBwZWFrIGFyb3VuZCB0aGUgYWdlcyBvZiAzNS02NC4gUGVvcGxlIGFnZXMgNjUgYW5kIG9sZGVyIGhhdmUgYSBzbGlnaHRseSBsb3dlciBtZWFuIG9iZXNpdHkgcmF0ZSB0aGVuIHRoZSBhYm92ZSBpbnRlcnZhbC4gSG93ZXZlciwgd2hhdHMgbW9zdCBhcHBhcmVudCBhYm91dCB0aGUgdGFibGUgYWJvdmUgaXMgdGhhdCBwZW9wbGUgaW4gdGhlaXIgZWFybHkgYWR1bHQgeWVhcnMgaGF2ZSB0aGUgbG93ZXN0IHJhdGUgb2Ygb2Jlc2l0eSBhcyBvcHBvc2VkIHRvIGluZGl2aWR1YWxzIGJldHdlZW4gdGhlIGFnZXMgb2YgMzUtNDQgd2hpY2ggaGF2ZSB0aGUgaGlnaGVzdCByYXRlIG9mIG9iZXNpdHkuCgojIyNSZWdyZXNzaW9uIE1vZGVsIGJ5IGFnZQpgYGB7ciwgZWNobz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KbG0oUGN0X29iZXNlIH4gQWdlLCBkYXRhPWFnZSkgJT4lCnN1bW1hcnkoKQpgYGAKRnJvbSB0aGUgYWJvdmUgd2UgY2FuIHNlZSB0aGF0IHRoZSBwLXZhbHVlIGlzIGV4dHJlbWVseSBsb3cgbWVhbmluZyB0aGF0IGFnZSBoYXMgYSBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50IGVmZmVjdCBvbiBvYmVzaXR5IHJhdGVzLiBXZSBhbHNvIG5vdGljZSB0aGF0IGJhc2VkIG9uIHRoZSByLXNxdWFyZWQgdmFsdWUgdGhhdCA2NyUgb2YgdGhlIGNoYW5nZSBpbiBvYmVzaXR5IGlzIGV4cGxhaW5lZCBieSBhZ2UuIAoKCmBgYHtyLCBlY2hvPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQphZ2VjaGFydCA8LSBnZ3Bsb3QoYWdlLCBhZXMoQWdlLCBQY3Rfb2Jlc2UsIGNvbG9yID0gZmFjdG9yKEFnZSkpKSArCiBnZW9tX2NvbChhZXMoZmlsbD1mYWN0b3IoQWdlKSkpICsKZ2d0aXRsZSgiT2Jlc2l0eSBSYXRlcyBieSBBZ2UiKSAKZ2dwbG90bHkoYWdlY2hhcnQpCmBgYApUaGUgZ3JhcGggYWJvdmUgY2xlYXJseSBpbGx1c3RyYXRlcyB0aGF0IHlvdW5nZXIgYWR1bHRzIGhhdmUgYSBsb3dlciBvYmVzZSByYXRlIHRoYW4gaW5kaXZpZHVhbHMgYmV0d2VlbiB0aGUgYWdlcyBvZiAzNSBhbmQgNjQuIAoKCgojIyNNZWFuIG9iZXNpdHkgcmF0ZSBieSBlZHVjYXRpb24gCmBgYHtyLCBlY2hvPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQplZHVjIDwtIGZpbHRlcihPYmVzZSwgIWlzLm5hKEVkdWNhdGlvbikgJiBRdWVzdGlvbiA9PSAiUGVyY2VudCBvZiBhZHVsdHMgYWdlZCAxOCB5ZWFycyBhbmQgb2xkZXIgd2hvIGhhdmUgb2Jlc2l0eSIpICU+JQogIHNlbGVjdChZZWFyRW5kLCBTdGF0ZSwgUGN0X29iZXNlLCBFZHVjYXRpb24pICU+JSAKICBncm91cF9ieShFZHVjYXRpb24pCmBgYApgYGB7ciwgZWNobz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KbWVhbl9lZHVjIDwtIHN1bW1hcmlzZShlZHVjLCBtZWFuID0gcm91bmQobWVhbihQY3Rfb2Jlc2UsIG5hLnJtPVRSVUUpLCAyKSklPiUKICBhcnJhbmdlKGRlc2MobWVhbikpCm1lYW5fZWR1YwpgYGAKVGhlIHRhYmxlIGFib3ZlIHNob3dzIHRoYXQgYXNzIGFuIGluZGl2aWR1YWxzIGVkdWNhdGlvbiBpbmNyZWFzZXMgdGhlIG9iZXNpdHkgcmF0ZXMgc3RlYWRpbHkgZGVjcmVhc2UuIAoKIyMjUmVncmVzc2lvbiBtb2RlbCBieSBlZHVjYXRpb24KYGBge3IsIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CmxtKFBjdF9vYmVzZSB+IEVkdWNhdGlvbiwgZGF0YT1lZHVjKSAlPiUKc3VtbWFyeSgpCmBgYApGcm9tIHRoZSBtb2RlbCBhYm92ZSB3ZSBjYW4gc2VlIHRoYXQgZWR1Y3Rpb24gaGFzIGEgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCBlZmZlY3Qgb24gb2Jlc2l0eSByYXRlcyBhdCBhIDk1JSBjb25maWRlbmNlIGxldmVsLiBUaGUgci1zcXVhcmVkIGFsc28gc3VnZ2VzdCB0aGF0IDUxJSBvZiBjaGFuZ2UgaW4gb2Jlc2l0eSByYXRlcyBjYW4gYmUgZXhwbGFpbmVkIGJ5IHRoZSBsZXZlbCBvZiBlZHVjYXRpb24gYW4gaW5kaXZpZHVhbCBoYXMgYXR0YWluZWQuIAoKCmBgYHtyLCBlY2hvPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQplZHVjY2hhcnQgPC0gZ2dwbG90KGVkdWMsIGFlcyhFZHVjYXRpb24sIFBjdF9vYmVzZSwgY29sb3IgPSBmYWN0b3IoRWR1Y2F0aW9uKSkpICsKIGdlb21fY29sKGFlcyhmaWxsPWZhY3RvcihFZHVjYXRpb24pKSkgKwpnZ3RpdGxlKCJPYmVzaXR5IFJhdGVzIGJ5IEVkdWNhdGlvbiIpIApnZ3Bsb3RseShlZHVjY2hhcnQpCmBgYApUaGUgR3JhcGggYWJvdmUgY2xlYXJseSBpbGx1c3RyYXRlcyB0aGF0IHRoZSBsb3dlciBlZHVjYXRpb24geW91IGhhdmUsIHRoZSB0aGUgbW9yZSBsaWtlbHkgeW91IGFyZSBvZiBiZWluZyBvYmVzZSBhcyBvcHBvc2VkIHRvIHRob3NlIHdpdGggYSBjb2xsZWdlIGVkdWNhdGlvbi4gCgojIyNNZWFuIG9iZXNpdHkgcmF0ZXMgYnkgaW5jb21lCmBgYHtyLCBlY2hvPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQppbmNvbWUgPC0gZmlsdGVyKE9iZXNlLCAhaXMubmEoSW5jb21lKSAmIFF1ZXN0aW9uID09ICJQZXJjZW50IG9mIGFkdWx0cyBhZ2VkIDE4IHllYXJzIGFuZCBvbGRlciB3aG8gaGF2ZSBvYmVzaXR5IikgJT4lCiAgc2VsZWN0KFllYXJFbmQsIFN0YXRlLCBQY3Rfb2Jlc2UsIEluY29tZSkgJT4lIAogIGdyb3VwX2J5KEluY29tZSkKbWVhbl9pbmNvbWUgPC0gc3VtbWFyaXNlKGluY29tZSwgbWVhbiA9IHJvdW5kKG1lYW4oUGN0X29iZXNlLCBuYS5ybT1UUlVFKSwgMikpICU+JQphcnJhbmdlKGRlc2MobWVhbikpCm1lYW5faW5jb21lCiAgICAgICAgICAgICAgICAgICAgCmBgYApUaGUgdGFibGUgYWJvdmUgcHJvdmlkZXMgdGhlIG1lYW4gcmF0ZSBvZiBvYmVzaXR5IGJ5IGluY29tZSBsZXZlbC4gQXMgd2UgY2FuIHNlZSBpbmRpdmlkdWFscyB3aG8gaGFkIGFuIGluY29tZSBvZiAkNzUsMDAwIG9yIGdyZWF0ZXIgaGFkIHRoZSBsb3dlc3QgcmF0ZSBvZiBvYmVzaXR5IGFzIG9wcG9zZWQgdG8gdGhvc2Ugd2hvIG1hZGUgbGVzcyB0aGFuICQxNSwwMDAuCgojIyNSZWdyZXNzaW9uIG1vZGVsIGJ5IGluY29tZSAKYGBge3IsIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CmxtKFBjdF9vYmVzZSB+IEluY29tZSwgZGF0YT1pbmNvbWUpICU+JQpzdW1tYXJ5KCkKYGBgCkZyb20gdGhlIG1vZGVsIGFib3ZlIHdlIGNhbiBzZWUgdGhhdCBpbmNvbWUgaGFzIGEgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCBlZmZlY3Qgb24gb2Jlc2l0eSByYXRlcyBhdCBhIDk1JSBjb25maWRlbmNlIGxldmVsLiBUaGUgci1zcXVhcmVkIGFsc28gc3VnZ2VzdCB0aGF0IDM4JSBvZiBjaGFuZ2UgaW4gb2Jlc2l0eSByYXRlcyBjYW4gYmUgZXhwbGFpbmVkIGJ5IHRoZSBsZXZlbCBvZiBpbmNvbWUgYW4gaW5kaXZpZHVhbCBlYXJucy4gCgoKYGBge3IsIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CmluY29tZWNoYXJ0IDwtIGdncGxvdChpbmNvbWUsIGFlcyhJbmNvbWUsIFBjdF9vYmVzZSwgY29sb3I9ZmFjdG9yKEluY29tZSkpKSArCiBnZW9tX2NvbChhZXMoZmlsbD1mYWN0b3IoSW5jb21lKSkpICsKZ2d0aXRsZSgiT2Jlc2l0eSBSYXRlcyBieSBJbmNvbWUiKSAKZ2dwbG90bHkoaW5jb21lY2hhcnQpCmBgYAoKIyMjRGlzY3Vzc2lvbiAKSW4gb3JkZXIgdG8gdW5kZXJzdGFuZCBob3cgdG8gaGVhZCB0aGlzIGNvdW50cnkgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24gd2hlbiBpdCBjb21lcyB0byBvYmVzaXR5IHdlIG11c3QgZmlyc3QgdW5kZXJzdGFuZCB0aGUgZmFjdG9ycyB0aGF0IGFyZSBlZmZlY3RpbmcgdGhpcyBjb3VudHJ5cyByYXRlcyBvZiBvYmVzaXR5LiBJbiB0aGUgYWJvdmUgdGFibGVzIHdlIHdlcmUgYWJsZSB0byBsb29rIGF0IGEgc2VwZXJhdGUgZGVtb2dyYXBoaWMgZ3JvdXAgYXQgYSB0aW1lIGFuZCBzZWUgaWYgaXQgc2lnbmlmaWNhbnRseSBlZmZlY3RlZCB0aGUgcGVyY2VudGFnZSBvZiBhZHVsdHMgdGhhdCB3ZXJlIG9iZXNlIGluIG91ciBjb3VudHJ5LiBPbmx5IGFmdGVyIHVuZGVyc3RhbmQgdGhlIGtleSBmYWN0b3JzIG1ha2luZyB1cyBvYmVzZSBjYW4gd2UgdGhhbiBhcyBhIGNvdW50cnkgcHV0IGZvcndhcmQgdGhlIGVmZm9ydCB0byBtYWtlIGEgY2hhbmdlLiBGcm9tIHRoZSBhYm92ZSByZXN1bHRzIHdlIHNlZSB0aGF0IGFnZSwgZWR1Y2F0aW9uIGFuZCBpbmNvbWUgYWxsIHdlcmUga2V5cyBmYWN0b3JzIGluIHRoZSBwZXJjZW50YWdlIG9mIG9iZXNlIHBlb3BsZSBpbiBBbWVyaWNhLiBTZWVtcyB0aGF0IGlmIHdlIGVkdWNhdGUgb3Vyc2VsdmVzLCBhbmQgZWFybiBhIGxhcmdlIGluY29tZSB3ZSBoYXZlIGEgYmV0dGVyIGNoYW5jZSBhdCBub3QgYmVpbmcgb2Jlc2UuIAoKVGhpcyBzdHVkeSBoYXMgaXRzIGxpbWl0YXRpb25zIGFuZCB0aGVyZWZvcmUgdGhpcyBzdHVkeSBkb2VzIG5vdCBndWFyYW50ZWUgdGhhdCB0aGVzZSBmYWN0b3JzIGFyZSB0aGUgZGlyZWN0IGNhdXNlIG9mIG9iZXNpdHkuIAoKCiMjI0JpYmxpb2dyYXBoeSAKCi0tLQoKQ2VudGVycyBmb3IgRGlzZWFzZSBDb250cm9sIGFuZCBQcmV2ZW50aW9uLiAoIDIwMTApLiBOdXRyaXRpb24uCgotLS0tLQoKTWl0Y2hlbGwsIE4uLCBDYXRlbmFjY2ksIFYuLCBXeWF0dCwgSC4gUi4sICYgSGlsbCwgSi4gTy4gKDIwMTEpLiBPQkVTSVRZOiBPVkVSVklFVyBPRiBBTiBFUElERU1JQy4gVGhlIFBzeWNoaWF0cmljIENsaW5pY3Mgb2YgTm9ydGggQW1lcmljYSwgMzQoNCksIDcxN+KAkzczMi4gCgotLS0tLQoKUmVpY2htYW5uLCBWYW5lc3NhLCAiRG9lcyBGcnVpdCBhbmQgVmVnZXRhYmxlIEludGFrZSBEZWNyZWFzZSBSaXNrIGZvciBPYmVzaXR5IGluIENoaWxkcmVuIGFuZCBBZG9sZXNjZW50cz8iICgyMDA5KS4KVW5kZXJncmFkdWF0ZSBIb25vcnMgVGhlc2VzLiBQYXBlciA4LgoKLS0tLS0KCllvdW5nLCBMLiBSLiwgJiBOZXN0bGUsIE0uICgyMDAyKS4gVGhlIENvbnRyaWJ1dGlvbiBvZiBFeHBhbmRpbmcgUG9ydGlvbiBTaXplcyB0byB0aGUgVVMgT2Jlc2l0eSBFcGlkZW1pYy4gQW1lcmljYW4gSm91cm5hbCBvZiBQdWJsaWMgSGVhbHRoLCA5MigyKSwgMjQ24oCTMjQ5LgoKCg==