【1.1】

Enter the model R2 (the “Multiple R-squared” value):

R-square = 0.7415

*****************

ClimateChange_Testing <- subset(ClimateChange, Year > 2006)
ClimateChange_Training <- subset(ClimateChange, Year <= 2006)

ClimateChange_TrainingReg <- lm(Temp ~ MEI + CO2 + CH4 + N2O + CFC.11 + CFC.12 + TSI + Aerosols, data = ClimateChange_Training)
summary(ClimateChange_TrainingReg)

------------------------------------------------------------------

Call:
lm(formula = Temp ~ MEI + CO2 + CH4 + N2O + CFC.11 + CFC.12 + 
    TSI + Aerosols, data = ClimateChange_Training)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.26009 -0.06126 -0.00145  0.05684  0.32530 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.231e+02  2.087e+01  -5.897 1.13e-08 ***
MEI          6.367e-02  6.685e-03   9.524  < 2e-16 ***
CO2          6.906e-03  2.395e-03   2.883 0.004262 ** 
CH4          1.645e-04  5.470e-04   0.301 0.763863    
N2O         -1.620e-02  9.461e-03  -1.712 0.088083 .  
CFC.11      -6.410e-03  1.767e-03  -3.629 0.000342 ***
CFC.12       3.625e-03  1.104e-03   3.285 0.001159 ** 
TSI          9.181e-02  1.566e-02   5.861 1.37e-08 ***
Aerosols    -1.520e+00  2.188e-01  -6.949 2.88e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.09329 on 263 degrees of freedom
Multiple R-squared:  0.7415,    Adjusted R-squared:  0.7337 
F-statistic: 94.32 on 8 and 263 DF,  p-value: < 2.2e-16

【1.2】

Which variables are significant in the model? We will consider a variable signficant only if the p-value is below 0.05. (Select all that apply.)

(1) MEI
(2) CO2 
(5) CFC.11 
(6) CFC.12 
(7) TSI 
(8) Aerosols 

【2.1】

Which of the following is the simplest correct explanation for this contradiction?

(3) All of the gas concentration variables reflect human development - N2O and CFC.11 are correlated with other variables in the data set.

【2.2】

Compute the correlations between all the variables in the training set. Which of the following independent variables is N2O highly correlated with (absolute correlation greater than 0.7)? Select all that apply.

(2) CO2
(3) CH4
(5) CFC.12

Which of the following independent variables is CFC.11 highly correlated with? Select all that apply.

(3) CH4
(5) CFC.12

------------------------------------------------------------------

> cor(ClimateChange_Training)
                Year         Month           MEI         CO2         CH4         N2O
Year      1.00000000 -0.0279419602 -0.0369876842  0.98274939  0.91565945  0.99384523
Month    -0.02794196  1.0000000000  0.0008846905 -0.10673246  0.01856866  0.01363153
MEI      -0.03698768  0.0008846905  1.0000000000 -0.04114717 -0.03341930 -0.05081978
CO2       0.98274939 -0.1067324607 -0.0411471651  1.00000000  0.87727963  0.97671982
CH4       0.91565945  0.0185686624 -0.0334193014  0.87727963  1.00000000  0.89983864
N2O       0.99384523  0.0136315303 -0.0508197755  0.97671982  0.89983864  1.00000000
CFC.11    0.56910643 -0.0131112236  0.0690004387  0.51405975  0.77990402  0.52247732
CFC.12    0.89701166  0.0006751102  0.0082855443  0.85268963  0.96361625  0.86793078
TSI       0.17030201 -0.0346061935 -0.1544919227  0.17742893  0.24552844  0.19975668
Aerosols -0.34524670  0.0148895406  0.3402377871 -0.35615480 -0.26780919 -0.33705457
Temp      0.78679714 -0.0998567411  0.1724707512  0.78852921  0.70325502  0.77863893
              CFC.11        CFC.12         TSI    Aerosols        Temp
Year      0.56910643  0.8970116635  0.17030201 -0.34524670  0.78679714
Month    -0.01311122  0.0006751102 -0.03460619  0.01488954 -0.09985674
MEI       0.06900044  0.0082855443 -0.15449192  0.34023779  0.17247075
CO2       0.51405975  0.8526896272  0.17742893 -0.35615480  0.78852921
CH4       0.77990402  0.9636162478  0.24552844 -0.26780919  0.70325502
N2O       0.52247732  0.8679307757  0.19975668 -0.33705457  0.77863893
CFC.11    1.00000000  0.8689851828  0.27204596 -0.04392120  0.40771029
CFC.12    0.86898518  1.0000000000  0.25530281 -0.22513124  0.68755755
TSI       0.27204596  0.2553028138  1.00000000  0.05211651  0.24338269
Aerosols -0.04392120 -0.2251312440  0.05211651  1.00000000 -0.38491375
Temp      0.40771029  0.6875575483  0.24338269 -0.38491375  1.00000000

【3】

Enter the coefficient of N2O in this reduced model:

2.532e-02

Enter the model R2:

0.7261

------------------------------------------------------------------

> ClimateChange_TrainingReg2 <- lm(Temp ~ MEI + N2O + TSI + Aerosols, data = ClimateChange_Training)
> summary(ClimateChange_TrainingReg2)

Call:
lm(formula = Temp ~ MEI + N2O + TSI + Aerosols, data = ClimateChange_Training)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.27916 -0.05975 -0.00595  0.05672  0.34195 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.162e+02  2.022e+01  -5.747 2.37e-08 ***
MEI          6.419e-02  6.652e-03   9.649  < 2e-16 ***
N2O          2.532e-02  1.311e-03  19.307  < 2e-16 ***
TSI          7.949e-02  1.487e-02   5.344 1.89e-07 ***
Aerosols    -1.702e+00  2.180e-01  -7.806 1.19e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.09547 on 279 degrees of freedom
Multiple R-squared:  0.7261,    Adjusted R-squared:  0.7222 
F-statistic: 184.9 on 4 and 279 DF,  p-value: < 2.2e-16

【4】

Enter the R2 value of the model produced by the step function:

0.744

Which of the following variable(s) were eliminated from the full model by the step function? Select all that apply.

(3) CH4

------------------------------------------------------------------

ClimateChangeReg <- lm(Temp ~ MEI + CO2 + CH4 + N2O + CFC.11 + CFC.12 + TSI + Aerosols, data = ClimateChange)
> summary(ClimateChangeReg)

Call:
lm(formula = Temp ~ MEI + CO2 + CH4 + N2O + CFC.11 + CFC.12 + 
    TSI + Aerosols, data = ClimateChange)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.26228 -0.05868  0.00051  0.05718  0.32170 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.277e+02  1.919e+01  -6.654 1.36e-10 ***
MEI          6.632e-02  6.186e-03  10.722  < 2e-16 ***
CO2          5.207e-03  2.192e-03   2.375   0.0182 *  
CH4          6.371e-05  4.977e-04   0.128   0.8982    
N2O         -1.693e-02  7.835e-03  -2.161   0.0315 *  
CFC.11      -7.278e-03  1.461e-03  -4.980 1.07e-06 ***
CFC.12       4.272e-03  8.763e-04   4.875 1.77e-06 ***
TSI          9.586e-02  1.401e-02   6.844 4.38e-11 ***
Aerosols    -1.582e+00  2.099e-01  -7.535 5.86e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.09182 on 299 degrees of freedom
Multiple R-squared:  0.744, Adjusted R-squared:  0.7371 
F-statistic: 108.6 on 8 and 299 DF,  p-value: < 2.2e-16

> summary(ClimateChangeReg)

Call:
lm(formula = Temp ~ MEI + CO2 + CH4 + N2O + CFC.11 + CFC.12 + 
    TSI + Aerosols, data = ClimateChange)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.26228 -0.05868  0.00051  0.05718  0.32170 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.277e+02  1.919e+01  -6.654 1.36e-10 ***
MEI          6.632e-02  6.186e-03  10.722  < 2e-16 ***
CO2          5.207e-03  2.192e-03   2.375   0.0182 *  
CH4          6.371e-05  4.977e-04   0.128   0.8982    
N2O         -1.693e-02  7.835e-03  -2.161   0.0315 *  
CFC.11      -7.278e-03  1.461e-03  -4.980 1.07e-06 ***
CFC.12       4.272e-03  8.763e-04   4.875 1.77e-06 ***
TSI          9.586e-02  1.401e-02   6.844 4.38e-11 ***
Aerosols    -1.582e+00  2.099e-01  -7.535 5.86e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.09182 on 299 degrees of freedom
Multiple R-squared:  0.744, Adjusted R-squared:  0.7371 
F-statistic: 108.6 on 8 and 299 DF,  p-value: < 2.2e-16

> StepModel <- step(ClimateChangeReg)
Start:  AIC=-1462.11
Temp ~ MEI + CO2 + CH4 + N2O + CFC.11 + CFC.12 + TSI + Aerosols

           Df Sum of Sq    RSS     AIC
- CH4       1   0.00014 2.5209 -1464.1
<none>                  2.5208 -1462.1
- N2O       1   0.03935 2.5601 -1459.3
- CO2       1   0.04756 2.5683 -1458.3
- CFC.12    1   0.20038 2.7211 -1440.5
- CFC.11    1   0.20911 2.7299 -1439.6
- TSI       1   0.39485 2.9156 -1419.3
- Aerosols  1   0.47860 2.9994 -1410.6
- MEI       1   0.96917 3.4899 -1363.9

【5】

Enter the testing set R2:

0.6547574

------------------------------------------------------------------

ClimateChangeReg <- lm(Temp ~ MEI + CO2 + CH4 + N2O + CFC.11 + CFC.12 + TSI + Aerosols, data = ClimateChange)
summary(ClimateChangeReg)
StepModel <- step(ClimateChangeReg)

TempPredict <- predict(StepModel, newdata = ClimateChange_Testing)
summary(TempPredict)
SSE = sum((TempPredict - ClimateChange_Testing$Temp)^2)
SST = sum((mean(ClimateChange_Training$Temp)-ClimateChange_Testing$Temp)^2)
Rsquare = 1 - SSE/SST

> Rsquare
[1] 0.6547574
LS0tCnRpdGxlOiAiQVMyLTEgQ2xpbWF0ZSBDaGFuZ2UiCmF1dGhvcjogIjxLYXJlbiBZYW5nPiA8TTA2NDYxMDAyMT4iCm91dHB1dDogaHRtbF9ub3RlYm9vawplZGl0b3Jfb3B0aW9uczogCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGlubGluZQotLS0KCi0gLSAtIAoKIyMjIyDjgJAxLjHjgJEgCkVudGVyIHRoZSBtb2RlbCBSMiAodGhlICJNdWx0aXBsZSBSLXNxdWFyZWQiIHZhbHVlKToKYGBge3J9ClItc3F1YXJlID0gMC43NDE1CgoqKioqKioqKioqKioqKioqKgoKQ2xpbWF0ZUNoYW5nZV9UZXN0aW5nIDwtIHN1YnNldChDbGltYXRlQ2hhbmdlLCBZZWFyID4gMjAwNikKQ2xpbWF0ZUNoYW5nZV9UcmFpbmluZyA8LSBzdWJzZXQoQ2xpbWF0ZUNoYW5nZSwgWWVhciA8PSAyMDA2KQoKQ2xpbWF0ZUNoYW5nZV9UcmFpbmluZ1JlZyA8LSBsbShUZW1wIH4gTUVJICsgQ08yICsgQ0g0ICsgTjJPICsgQ0ZDLjExICsgQ0ZDLjEyICsgVFNJICsgQWVyb3NvbHMsIGRhdGEgPSBDbGltYXRlQ2hhbmdlX1RyYWluaW5nKQpzdW1tYXJ5KENsaW1hdGVDaGFuZ2VfVHJhaW5pbmdSZWcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkNhbGw6CmxtKGZvcm11bGEgPSBUZW1wIH4gTUVJICsgQ08yICsgQ0g0ICsgTjJPICsgQ0ZDLjExICsgQ0ZDLjEyICsgCiAgICBUU0kgKyBBZXJvc29scywgZGF0YSA9IENsaW1hdGVDaGFuZ2VfVHJhaW5pbmcpCgpSZXNpZHVhbHM6CiAgICAgTWluICAgICAgIDFRICAgTWVkaWFuICAgICAgIDNRICAgICAgTWF4IAotMC4yNjAwOSAtMC4wNjEyNiAtMC4wMDE0NSAgMC4wNTY4NCAgMC4zMjUzMCAKCkNvZWZmaWNpZW50czoKICAgICAgICAgICAgICBFc3RpbWF0ZSBTdGQuIEVycm9yIHQgdmFsdWUgUHIoPnx0fCkgICAgCihJbnRlcmNlcHQpIC0xLjIzMWUrMDIgIDIuMDg3ZSswMSAgLTUuODk3IDEuMTNlLTA4ICoqKgpNRUkgICAgICAgICAgNi4zNjdlLTAyICA2LjY4NWUtMDMgICA5LjUyNCAgPCAyZS0xNiAqKioKQ08yICAgICAgICAgIDYuOTA2ZS0wMyAgMi4zOTVlLTAzICAgMi44ODMgMC4wMDQyNjIgKiogCkNINCAgICAgICAgICAxLjY0NWUtMDQgIDUuNDcwZS0wNCAgIDAuMzAxIDAuNzYzODYzICAgIApOMk8gICAgICAgICAtMS42MjBlLTAyICA5LjQ2MWUtMDMgIC0xLjcxMiAwLjA4ODA4MyAuICAKQ0ZDLjExICAgICAgLTYuNDEwZS0wMyAgMS43NjdlLTAzICAtMy42MjkgMC4wMDAzNDIgKioqCkNGQy4xMiAgICAgICAzLjYyNWUtMDMgIDEuMTA0ZS0wMyAgIDMuMjg1IDAuMDAxMTU5ICoqIApUU0kgICAgICAgICAgOS4xODFlLTAyICAxLjU2NmUtMDIgICA1Ljg2MSAxLjM3ZS0wOCAqKioKQWVyb3NvbHMgICAgLTEuNTIwZSswMCAgMi4xODhlLTAxICAtNi45NDkgMi44OGUtMTEgKioqCi0tLQpTaWduaWYuIGNvZGVzOiAgMCDigJgqKirigJkgMC4wMDEg4oCYKirigJkgMC4wMSDigJgq4oCZIDAuMDUg4oCYLuKAmSAwLjEg4oCYIOKAmSAxCgpSZXNpZHVhbCBzdGFuZGFyZCBlcnJvcjogMC4wOTMyOSBvbiAyNjMgZGVncmVlcyBvZiBmcmVlZG9tCk11bHRpcGxlIFItc3F1YXJlZDogIDAuNzQxNSwJQWRqdXN0ZWQgUi1zcXVhcmVkOiAgMC43MzM3IApGLXN0YXRpc3RpYzogOTQuMzIgb24gOCBhbmQgMjYzIERGLCAgcC12YWx1ZTogPCAyLjJlLTE2CmBgYAoKCiMjIyMg44CQMS4y44CRCldoaWNoIHZhcmlhYmxlcyBhcmUgc2lnbmlmaWNhbnQgaW4gdGhlIG1vZGVsPyBXZSB3aWxsIGNvbnNpZGVyIGEgdmFyaWFibGUgc2lnbmZpY2FudCBvbmx5IGlmIHRoZSBwLXZhbHVlIGlzIGJlbG93IDAuMDUuIChTZWxlY3QgYWxsIHRoYXQgYXBwbHkuKQpgYGB7cn0KKDEpIE1FSQooMikgQ08yIAooNSkgQ0ZDLjExIAooNikgQ0ZDLjEyIAooNykgVFNJIAooOCkgQWVyb3NvbHMgCmBgYAoKCiMjIyMg44CQMi4x44CRCldoaWNoIG9mIHRoZSBmb2xsb3dpbmcgaXMgdGhlIHNpbXBsZXN0IGNvcnJlY3QgZXhwbGFuYXRpb24gZm9yIHRoaXMgY29udHJhZGljdGlvbj8KYGBge3J9CigzKSBBbGwgb2YgdGhlIGdhcyBjb25jZW50cmF0aW9uIHZhcmlhYmxlcyByZWZsZWN0IGh1bWFuIGRldmVsb3BtZW50IC0gTjJPIGFuZCBDRkMuMTEgYXJlIGNvcnJlbGF0ZWQgd2l0aCBvdGhlciB2YXJpYWJsZXMgaW4gdGhlIGRhdGEgc2V0LgpgYGAKCgojIyMjIOOAkDIuMuOAkQpDb21wdXRlIHRoZSBjb3JyZWxhdGlvbnMgYmV0d2VlbiBhbGwgdGhlIHZhcmlhYmxlcyBpbiB0aGUgdHJhaW5pbmcgc2V0LiBXaGljaCBvZiB0aGUgZm9sbG93aW5nIGluZGVwZW5kZW50IHZhcmlhYmxlcyBpcyBOMk8gaGlnaGx5IGNvcnJlbGF0ZWQgd2l0aCAoYWJzb2x1dGUgY29ycmVsYXRpb24gZ3JlYXRlciB0aGFuIDAuNyk/IFNlbGVjdCBhbGwgdGhhdCBhcHBseS4KYGBge3J9CigyKSBDTzIKKDMpIENINAooNSkgQ0ZDLjEyCmBgYAoKV2hpY2ggb2YgdGhlIGZvbGxvd2luZyBpbmRlcGVuZGVudCB2YXJpYWJsZXMgaXMgQ0ZDLjExIGhpZ2hseSBjb3JyZWxhdGVkIHdpdGg/IFNlbGVjdCBhbGwgdGhhdCBhcHBseS4KYGBge3J9CigzKSBDSDQKKDUpIENGQy4xMgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgo+IGNvcihDbGltYXRlQ2hhbmdlX1RyYWluaW5nKQogICAgICAgICAgICAgICAgWWVhciAgICAgICAgIE1vbnRoICAgICAgICAgICBNRUkgICAgICAgICBDTzIgICAgICAgICBDSDQgICAgICAgICBOMk8KWWVhciAgICAgIDEuMDAwMDAwMDAgLTAuMDI3OTQxOTYwMiAtMC4wMzY5ODc2ODQyICAwLjk4Mjc0OTM5ICAwLjkxNTY1OTQ1ICAwLjk5Mzg0NTIzCk1vbnRoICAgIC0wLjAyNzk0MTk2ICAxLjAwMDAwMDAwMDAgIDAuMDAwODg0NjkwNSAtMC4xMDY3MzI0NiAgMC4wMTg1Njg2NiAgMC4wMTM2MzE1MwpNRUkgICAgICAtMC4wMzY5ODc2OCAgMC4wMDA4ODQ2OTA1ICAxLjAwMDAwMDAwMDAgLTAuMDQxMTQ3MTcgLTAuMDMzNDE5MzAgLTAuMDUwODE5NzgKQ08yICAgICAgIDAuOTgyNzQ5MzkgLTAuMTA2NzMyNDYwNyAtMC4wNDExNDcxNjUxICAxLjAwMDAwMDAwICAwLjg3NzI3OTYzICAwLjk3NjcxOTgyCkNINCAgICAgICAwLjkxNTY1OTQ1ICAwLjAxODU2ODY2MjQgLTAuMDMzNDE5MzAxNCAgMC44NzcyNzk2MyAgMS4wMDAwMDAwMCAgMC44OTk4Mzg2NApOMk8gICAgICAgMC45OTM4NDUyMyAgMC4wMTM2MzE1MzAzIC0wLjA1MDgxOTc3NTUgIDAuOTc2NzE5ODIgIDAuODk5ODM4NjQgIDEuMDAwMDAwMDAKQ0ZDLjExICAgIDAuNTY5MTA2NDMgLTAuMDEzMTExMjIzNiAgMC4wNjkwMDA0Mzg3ICAwLjUxNDA1OTc1ICAwLjc3OTkwNDAyICAwLjUyMjQ3NzMyCkNGQy4xMiAgICAwLjg5NzAxMTY2ICAwLjAwMDY3NTExMDIgIDAuMDA4Mjg1NTQ0MyAgMC44NTI2ODk2MyAgMC45NjM2MTYyNSAgMC44Njc5MzA3OApUU0kgICAgICAgMC4xNzAzMDIwMSAtMC4wMzQ2MDYxOTM1IC0wLjE1NDQ5MTkyMjcgIDAuMTc3NDI4OTMgIDAuMjQ1NTI4NDQgIDAuMTk5NzU2NjgKQWVyb3NvbHMgLTAuMzQ1MjQ2NzAgIDAuMDE0ODg5NTQwNiAgMC4zNDAyMzc3ODcxIC0wLjM1NjE1NDgwIC0wLjI2NzgwOTE5IC0wLjMzNzA1NDU3ClRlbXAgICAgICAwLjc4Njc5NzE0IC0wLjA5OTg1Njc0MTEgIDAuMTcyNDcwNzUxMiAgMC43ODg1MjkyMSAgMC43MDMyNTUwMiAgMC43Nzg2Mzg5MwogICAgICAgICAgICAgIENGQy4xMSAgICAgICAgQ0ZDLjEyICAgICAgICAgVFNJICAgIEFlcm9zb2xzICAgICAgICBUZW1wClllYXIgICAgICAwLjU2OTEwNjQzICAwLjg5NzAxMTY2MzUgIDAuMTcwMzAyMDEgLTAuMzQ1MjQ2NzAgIDAuNzg2Nzk3MTQKTW9udGggICAgLTAuMDEzMTExMjIgIDAuMDAwNjc1MTEwMiAtMC4wMzQ2MDYxOSAgMC4wMTQ4ODk1NCAtMC4wOTk4NTY3NApNRUkgICAgICAgMC4wNjkwMDA0NCAgMC4wMDgyODU1NDQzIC0wLjE1NDQ5MTkyICAwLjM0MDIzNzc5ICAwLjE3MjQ3MDc1CkNPMiAgICAgICAwLjUxNDA1OTc1ICAwLjg1MjY4OTYyNzIgIDAuMTc3NDI4OTMgLTAuMzU2MTU0ODAgIDAuNzg4NTI5MjEKQ0g0ICAgICAgIDAuNzc5OTA0MDIgIDAuOTYzNjE2MjQ3OCAgMC4yNDU1Mjg0NCAtMC4yNjc4MDkxOSAgMC43MDMyNTUwMgpOMk8gICAgICAgMC41MjI0NzczMiAgMC44Njc5MzA3NzU3ICAwLjE5OTc1NjY4IC0wLjMzNzA1NDU3ICAwLjc3ODYzODkzCkNGQy4xMSAgICAxLjAwMDAwMDAwICAwLjg2ODk4NTE4MjggIDAuMjcyMDQ1OTYgLTAuMDQzOTIxMjAgIDAuNDA3NzEwMjkKQ0ZDLjEyICAgIDAuODY4OTg1MTggIDEuMDAwMDAwMDAwMCAgMC4yNTUzMDI4MSAtMC4yMjUxMzEyNCAgMC42ODc1NTc1NQpUU0kgICAgICAgMC4yNzIwNDU5NiAgMC4yNTUzMDI4MTM4ICAxLjAwMDAwMDAwICAwLjA1MjExNjUxICAwLjI0MzM4MjY5CkFlcm9zb2xzIC0wLjA0MzkyMTIwIC0wLjIyNTEzMTI0NDAgIDAuMDUyMTE2NTEgIDEuMDAwMDAwMDAgLTAuMzg0OTEzNzUKVGVtcCAgICAgIDAuNDA3NzEwMjkgIDAuNjg3NTU3NTQ4MyAgMC4yNDMzODI2OSAtMC4zODQ5MTM3NSAgMS4wMDAwMDAwMApgYGAKCgojIyMjIOOAkDPjgJEKRW50ZXIgdGhlIGNvZWZmaWNpZW50IG9mIE4yTyBpbiB0aGlzIHJlZHVjZWQgbW9kZWw6CmBgYHtyfQoyLjUzMmUtMDIKYGBgCgpFbnRlciB0aGUgbW9kZWwgUjI6CmBgYHtyfQowLjcyNjEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKPiBDbGltYXRlQ2hhbmdlX1RyYWluaW5nUmVnMiA8LSBsbShUZW1wIH4gTUVJICsgTjJPICsgVFNJICsgQWVyb3NvbHMsIGRhdGEgPSBDbGltYXRlQ2hhbmdlX1RyYWluaW5nKQo+IHN1bW1hcnkoQ2xpbWF0ZUNoYW5nZV9UcmFpbmluZ1JlZzIpCgpDYWxsOgpsbShmb3JtdWxhID0gVGVtcCB+IE1FSSArIE4yTyArIFRTSSArIEFlcm9zb2xzLCBkYXRhID0gQ2xpbWF0ZUNoYW5nZV9UcmFpbmluZykKClJlc2lkdWFsczoKICAgICBNaW4gICAgICAgMVEgICBNZWRpYW4gICAgICAgM1EgICAgICBNYXggCi0wLjI3OTE2IC0wLjA1OTc1IC0wLjAwNTk1ICAwLjA1NjcyICAwLjM0MTk1IAoKQ29lZmZpY2llbnRzOgogICAgICAgICAgICAgIEVzdGltYXRlIFN0ZC4gRXJyb3IgdCB2YWx1ZSBQcig+fHR8KSAgICAKKEludGVyY2VwdCkgLTEuMTYyZSswMiAgMi4wMjJlKzAxICAtNS43NDcgMi4zN2UtMDggKioqCk1FSSAgICAgICAgICA2LjQxOWUtMDIgIDYuNjUyZS0wMyAgIDkuNjQ5ICA8IDJlLTE2ICoqKgpOMk8gICAgICAgICAgMi41MzJlLTAyICAxLjMxMWUtMDMgIDE5LjMwNyAgPCAyZS0xNiAqKioKVFNJICAgICAgICAgIDcuOTQ5ZS0wMiAgMS40ODdlLTAyICAgNS4zNDQgMS44OWUtMDcgKioqCkFlcm9zb2xzICAgIC0xLjcwMmUrMDAgIDIuMTgwZS0wMSAgLTcuODA2IDEuMTllLTEzICoqKgotLS0KU2lnbmlmLiBjb2RlczogIDAg4oCYKioq4oCZIDAuMDAxIOKAmCoq4oCZIDAuMDEg4oCYKuKAmSAwLjA1IOKAmC7igJkgMC4xIOKAmCDigJkgMQoKUmVzaWR1YWwgc3RhbmRhcmQgZXJyb3I6IDAuMDk1NDcgb24gMjc5IGRlZ3JlZXMgb2YgZnJlZWRvbQpNdWx0aXBsZSBSLXNxdWFyZWQ6ICAwLjcyNjEsCUFkanVzdGVkIFItc3F1YXJlZDogIDAuNzIyMiAKRi1zdGF0aXN0aWM6IDE4NC45IG9uIDQgYW5kIDI3OSBERiwgIHAtdmFsdWU6IDwgMi4yZS0xNgpgYGAKCgojIyMjIOOAkDTjgJEKRW50ZXIgdGhlIFIyIHZhbHVlIG9mIHRoZSBtb2RlbCBwcm9kdWNlZCBieSB0aGUgc3RlcCBmdW5jdGlvbjoKYGBge3J9CjAuNzQ0CmBgYAoKV2hpY2ggb2YgdGhlIGZvbGxvd2luZyB2YXJpYWJsZShzKSB3ZXJlIGVsaW1pbmF0ZWQgZnJvbSB0aGUgZnVsbCBtb2RlbCBieSB0aGUgc3RlcCBmdW5jdGlvbj8gU2VsZWN0IGFsbCB0aGF0IGFwcGx5LgpgYGB7cn0KKDMpIENINAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpDbGltYXRlQ2hhbmdlUmVnIDwtIGxtKFRlbXAgfiBNRUkgKyBDTzIgKyBDSDQgKyBOMk8gKyBDRkMuMTEgKyBDRkMuMTIgKyBUU0kgKyBBZXJvc29scywgZGF0YSA9IENsaW1hdGVDaGFuZ2UpCj4gc3VtbWFyeShDbGltYXRlQ2hhbmdlUmVnKQoKQ2FsbDoKbG0oZm9ybXVsYSA9IFRlbXAgfiBNRUkgKyBDTzIgKyBDSDQgKyBOMk8gKyBDRkMuMTEgKyBDRkMuMTIgKyAKICAgIFRTSSArIEFlcm9zb2xzLCBkYXRhID0gQ2xpbWF0ZUNoYW5nZSkKClJlc2lkdWFsczoKICAgICBNaW4gICAgICAgMVEgICBNZWRpYW4gICAgICAgM1EgICAgICBNYXggCi0wLjI2MjI4IC0wLjA1ODY4ICAwLjAwMDUxICAwLjA1NzE4ICAwLjMyMTcwIAoKQ29lZmZpY2llbnRzOgogICAgICAgICAgICAgIEVzdGltYXRlIFN0ZC4gRXJyb3IgdCB2YWx1ZSBQcig+fHR8KSAgICAKKEludGVyY2VwdCkgLTEuMjc3ZSswMiAgMS45MTllKzAxICAtNi42NTQgMS4zNmUtMTAgKioqCk1FSSAgICAgICAgICA2LjYzMmUtMDIgIDYuMTg2ZS0wMyAgMTAuNzIyICA8IDJlLTE2ICoqKgpDTzIgICAgICAgICAgNS4yMDdlLTAzICAyLjE5MmUtMDMgICAyLjM3NSAgIDAuMDE4MiAqICAKQ0g0ICAgICAgICAgIDYuMzcxZS0wNSAgNC45NzdlLTA0ICAgMC4xMjggICAwLjg5ODIgICAgCk4yTyAgICAgICAgIC0xLjY5M2UtMDIgIDcuODM1ZS0wMyAgLTIuMTYxICAgMC4wMzE1ICogIApDRkMuMTEgICAgICAtNy4yNzhlLTAzICAxLjQ2MWUtMDMgIC00Ljk4MCAxLjA3ZS0wNiAqKioKQ0ZDLjEyICAgICAgIDQuMjcyZS0wMyAgOC43NjNlLTA0ICAgNC44NzUgMS43N2UtMDYgKioqClRTSSAgICAgICAgICA5LjU4NmUtMDIgIDEuNDAxZS0wMiAgIDYuODQ0IDQuMzhlLTExICoqKgpBZXJvc29scyAgICAtMS41ODJlKzAwICAyLjA5OWUtMDEgIC03LjUzNSA1Ljg2ZS0xMyAqKioKLS0tClNpZ25pZi4gY29kZXM6ICAwIOKAmCoqKuKAmSAwLjAwMSDigJgqKuKAmSAwLjAxIOKAmCrigJkgMC4wNSDigJgu4oCZIDAuMSDigJgg4oCZIDEKClJlc2lkdWFsIHN0YW5kYXJkIGVycm9yOiAwLjA5MTgyIG9uIDI5OSBkZWdyZWVzIG9mIGZyZWVkb20KTXVsdGlwbGUgUi1zcXVhcmVkOiAgMC43NDQsCUFkanVzdGVkIFItc3F1YXJlZDogIDAuNzM3MSAKRi1zdGF0aXN0aWM6IDEwOC42IG9uIDggYW5kIDI5OSBERiwgIHAtdmFsdWU6IDwgMi4yZS0xNgoKPiBzdW1tYXJ5KENsaW1hdGVDaGFuZ2VSZWcpCgpDYWxsOgpsbShmb3JtdWxhID0gVGVtcCB+IE1FSSArIENPMiArIENINCArIE4yTyArIENGQy4xMSArIENGQy4xMiArIAogICAgVFNJICsgQWVyb3NvbHMsIGRhdGEgPSBDbGltYXRlQ2hhbmdlKQoKUmVzaWR1YWxzOgogICAgIE1pbiAgICAgICAxUSAgIE1lZGlhbiAgICAgICAzUSAgICAgIE1heCAKLTAuMjYyMjggLTAuMDU4NjggIDAuMDAwNTEgIDAuMDU3MTggIDAuMzIxNzAgCgpDb2VmZmljaWVudHM6CiAgICAgICAgICAgICAgRXN0aW1hdGUgU3RkLiBFcnJvciB0IHZhbHVlIFByKD58dHwpICAgIAooSW50ZXJjZXB0KSAtMS4yNzdlKzAyICAxLjkxOWUrMDEgIC02LjY1NCAxLjM2ZS0xMCAqKioKTUVJICAgICAgICAgIDYuNjMyZS0wMiAgNi4xODZlLTAzICAxMC43MjIgIDwgMmUtMTYgKioqCkNPMiAgICAgICAgICA1LjIwN2UtMDMgIDIuMTkyZS0wMyAgIDIuMzc1ICAgMC4wMTgyICogIApDSDQgICAgICAgICAgNi4zNzFlLTA1ICA0Ljk3N2UtMDQgICAwLjEyOCAgIDAuODk4MiAgICAKTjJPICAgICAgICAgLTEuNjkzZS0wMiAgNy44MzVlLTAzICAtMi4xNjEgICAwLjAzMTUgKiAgCkNGQy4xMSAgICAgIC03LjI3OGUtMDMgIDEuNDYxZS0wMyAgLTQuOTgwIDEuMDdlLTA2ICoqKgpDRkMuMTIgICAgICAgNC4yNzJlLTAzICA4Ljc2M2UtMDQgICA0Ljg3NSAxLjc3ZS0wNiAqKioKVFNJICAgICAgICAgIDkuNTg2ZS0wMiAgMS40MDFlLTAyICAgNi44NDQgNC4zOGUtMTEgKioqCkFlcm9zb2xzICAgIC0xLjU4MmUrMDAgIDIuMDk5ZS0wMSAgLTcuNTM1IDUuODZlLTEzICoqKgotLS0KU2lnbmlmLiBjb2RlczogIDAg4oCYKioq4oCZIDAuMDAxIOKAmCoq4oCZIDAuMDEg4oCYKuKAmSAwLjA1IOKAmC7igJkgMC4xIOKAmCDigJkgMQoKUmVzaWR1YWwgc3RhbmRhcmQgZXJyb3I6IDAuMDkxODIgb24gMjk5IGRlZ3JlZXMgb2YgZnJlZWRvbQpNdWx0aXBsZSBSLXNxdWFyZWQ6ICAwLjc0NCwJQWRqdXN0ZWQgUi1zcXVhcmVkOiAgMC43MzcxIApGLXN0YXRpc3RpYzogMTA4LjYgb24gOCBhbmQgMjk5IERGLCAgcC12YWx1ZTogPCAyLjJlLTE2Cgo+IFN0ZXBNb2RlbCA8LSBzdGVwKENsaW1hdGVDaGFuZ2VSZWcpClN0YXJ0OiAgQUlDPS0xNDYyLjExClRlbXAgfiBNRUkgKyBDTzIgKyBDSDQgKyBOMk8gKyBDRkMuMTEgKyBDRkMuMTIgKyBUU0kgKyBBZXJvc29scwoKICAgICAgICAgICBEZiBTdW0gb2YgU3EgICAgUlNTICAgICBBSUMKLSBDSDQgICAgICAgMSAgIDAuMDAwMTQgMi41MjA5IC0xNDY0LjEKPG5vbmU+ICAgICAgICAgICAgICAgICAgMi41MjA4IC0xNDYyLjEKLSBOMk8gICAgICAgMSAgIDAuMDM5MzUgMi41NjAxIC0xNDU5LjMKLSBDTzIgICAgICAgMSAgIDAuMDQ3NTYgMi41NjgzIC0xNDU4LjMKLSBDRkMuMTIgICAgMSAgIDAuMjAwMzggMi43MjExIC0xNDQwLjUKLSBDRkMuMTEgICAgMSAgIDAuMjA5MTEgMi43Mjk5IC0xNDM5LjYKLSBUU0kgICAgICAgMSAgIDAuMzk0ODUgMi45MTU2IC0xNDE5LjMKLSBBZXJvc29scyAgMSAgIDAuNDc4NjAgMi45OTk0IC0xNDEwLjYKLSBNRUkgICAgICAgMSAgIDAuOTY5MTcgMy40ODk5IC0xMzYzLjkKYGBgCgoKIyMjIyDjgJA144CRCkVudGVyIHRoZSB0ZXN0aW5nIHNldCBSMjoKYGBge3J9CjAuNjU0NzU3NAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpDbGltYXRlQ2hhbmdlUmVnIDwtIGxtKFRlbXAgfiBNRUkgKyBDTzIgKyBDSDQgKyBOMk8gKyBDRkMuMTEgKyBDRkMuMTIgKyBUU0kgKyBBZXJvc29scywgZGF0YSA9IENsaW1hdGVDaGFuZ2UpCnN1bW1hcnkoQ2xpbWF0ZUNoYW5nZVJlZykKU3RlcE1vZGVsIDwtIHN0ZXAoQ2xpbWF0ZUNoYW5nZVJlZykKClRlbXBQcmVkaWN0IDwtIHByZWRpY3QoU3RlcE1vZGVsLCBuZXdkYXRhID0gQ2xpbWF0ZUNoYW5nZV9UZXN0aW5nKQpzdW1tYXJ5KFRlbXBQcmVkaWN0KQpTU0UgPSBzdW0oKFRlbXBQcmVkaWN0IC0gQ2xpbWF0ZUNoYW5nZV9UZXN0aW5nJFRlbXApXjIpClNTVCA9IHN1bSgobWVhbihDbGltYXRlQ2hhbmdlX1RyYWluaW5nJFRlbXApLUNsaW1hdGVDaGFuZ2VfVGVzdGluZyRUZW1wKV4yKQpSc3F1YXJlID0gMSAtIFNTRS9TU1QKCj4gUnNxdWFyZQpbMV0gMC42NTQ3NTc0CmBgYA==