LyoKICogQ29weXJpZ2h0IDE5OTYgRHVuY2FuIEMgVGhvbXNvbgogKiBDb3B5cmlnaHQgMjAwNiBBbnRvbmlvIENvZGF6emkKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgImNkbGcuaCIKI2luY2x1ZGUgImZpbGVkbGdicm93c2VyLmgiCgovKgogKiBXQVJOSU5HOiBETyBOT1QgQ0hBTkdFIFRIRSBTSVpFIE9GIFRIRSBTVEFOREFSRCBESUFMT0cgVEVNUExBVEVTLgogKi8KCkxBTkdVQUdFIExBTkdfRVNQRVJBTlRPLCBTVUJMQU5HX0RFRkFVTFQKCk9QRU5fRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIk1hbGZlcm11IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICJEb3NpZXImbm9tbzoiLCAxMDkwLCA2LCA2LCA3NiwgOQogRURJVFRFWFQgMTE1MiwgNiwgMTYsIDkwLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBFU19PRU1DT05WRVJUIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJlZvam86IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICJEb3NpZXImc3BlY286IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggMTEzNiwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZEcmFqdm86IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCAxMTM3LCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJNYWxmZXJtdSIsIElET0ssIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJOdWxpZ2kiLCBJRENBTkNFTCwgMjA4LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZIZWxwbyIsIDEwMzgsIDIwOCwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiTnVyICZsZWdlYmxhIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClNBVkVfRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIktvbnNlcnZ1IGtpZWwuLi4iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIkRvc2llciZub21vOiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImVm9qbzoiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIkRvc2llciZzcGVjbzoiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCAxMTM2LCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkRyYWp2bzoiLCAxMDkxLCAxMTAsIDEwNCwgOTIsIDkKIENPTUJPQk9YIDExMzcsIDExMCwgMTE0LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIktvbnNlcnZ1IiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIk51bGlnaSIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkhlbHBvIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJOdXIgJmxlZ2VibGEiLCAxMDQwLCAyMDgsIDY4LCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJQcmVzdSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiUHJpbnRpbG86IiwgMTA4OCwgNiwgNiwgNDAsIDkKIExURVhUICIiLCAxMDg5LCA2MCwgNiwgMTUwLCA5CiBHUk9VUEJPWCAiRXRlbmRp+G9uIiwgMTA3MiwgNiwgMzAsIDE2MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAi5iZpdWpuIiwgMTA1NiwgMTYsIDQ1LCA2MCwgMTIKIFJBRElPQlVUVE9OICImZWxla3RvbiIsIDEwNTcsIDE2LCA2MCwgNjAsIDEyCiBSQURJT0JVVFRPTiAiJnBh+G9qbiIsIDEwNTgsIDE2LCA3NSwgNjAsIDEyCiBERUZQVVNIQlVUVE9OICJQcmVzdSIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJOdWxpZ2kiLCBJRENBTkNFTCwgMjA2LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZBcmFu+HUiLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgImRlOiIsIDEwOTAsIDYwLCA4MCwgMzAsIDkKIExURVhUICL4aXM6IiwgMTA5MSwgMTIwLCA4MCwgMzAsIDkKIExURVhUICImS3ZhbGl0bzoiLCAxMDkyLCA2LCAxMDAsIDc2LCA5CiBDT01CT0JPWCAxMTM2LCA4MCwgMTAwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQcmVzdSAmZG9zaWVyZW4iLCAxMDQwLCAyMCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk1hbGxhcvh0aXBlIiwgMTA0MSwgMTYwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVF9TRVRVUCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlByZXNhZGFqIEFnb3Jkb2oiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogR1JPVVBCT1ggIlByaW50aWxvIiwgMTA3MiwgNiwgMTAsIDE4MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiJkltcGxpY2l0YSBQcmVzaWxvIiwgMTA1NiwgMTYsIDIwLCA4MCwgMTIKIExURVhUICJbbm9uZV0iLCAxMDg4LCAzNSwgMzUsIDEyMCwgOQogUkFESU9CVVRUT04gIiZTcGVjaWZhIFByaW50aWxvIiwgMTA1NywgMTYsIDUwLCA4MCwgMTIKIENPTUJPQk9YIDExMzYsIDM1LCA2NSwgMTQ5LCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiQm9uZSIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJOdWxpZ2kiLCBJRENBTkNFTCwgMjA2LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZBZ29yZG8iLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIkZvcm1hdG8iLCAxMDczLCA2LCA4NSwgMTAwLCA1MCwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICImVmVydGlrYWxhIiwgMTA1OCwgNTAsIDEwMCwgNDAsIDEyCiBSQURJT0JVVFRPTiAiJkhvcml6b250YWxhIiwgMTA1OSwgNTAsIDExNSwgNDAsIDEyCiBJQ09OICJMQU5EU0NBUCIsIDEwOTcsIDEwLCA5NSwgMzIsIDMyCiBJQ09OICJQT1JUUkFJVCIsIDEwOTgsIDEwLCA5NSwgMzIsIDMyCiBHUk9VUEJPWCAiUGFwZXJvIiwgMTA3NCwgMTIwLCA4NSwgMTgwLCA1MCwgQlNfR1JPVVBCT1gKIExURVhUICImRGltZW5zaW8iLCAxMDg5LCAxMzAsIDk1LCAzMCwgOQogTFRFWFQgIiZGb250byIsIDEwOTAsIDEzMCwgMTEwLCAzMCwgOQogQ09NQk9CT1ggMTEzNywgMTU1LCA5NSwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBDT01CT0JPWCAxMTM4LCAxNTUsIDExMCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCn0KCgpDSE9PU0VfRk9OVCBESUFMT0cgRElTQ0FSREFCTEUgMzYsIDI0LCAyNjQsIDE0NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJUaXBhcm8iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewpMVEVYVCAgICAgICAgICAgIiZUaXBhcm86IixzdGMxICw2LDMsNDAsOQpDT01CT0JPWCAgICAgICAgY21iMSwgNiwxMyw5NCw1NCwgIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CkNCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCkxURVhUICAgICAgICAgICAiVGlwYXJhIFN0JmlsbzoiLHN0YzIgLDEwOCwzLDQ0LDkKQ09NQk9CT1ggICAgICAgIGNtYjIsMTA4LDEzLDY0LDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfApXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKTFRFWFQgICAgICAgICAgICImRGltZW5zaW86IixzdGMzLDE3NywzLDMzLDkKQ09NQk9CT1ggICAgICAgIGNtYjMsMTc5LDEzLDMyLDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfApXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUgfCBDQlNfU09SVApERUZQVVNIQlVUVE9OICAgIkJvbmUiLElET0ssMjE4LDYsNDAsMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCB8IEJTX0RFRlBVU0hCVVRUT04KUFVTSEJVVFRPTiAgICAgICJSZXppZ25pIixJRENBTkNFTCwyMTgsMjMsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgICAiJkFwbGlraSIsIHBzaDMsMjE4LDQwLDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICAgIiZIZWxwbyIgLCBwc2hIZWxwLDIxOCw1Nyw0MCwxNCxXU19HUk9VUCB8IFdTX1RBQlNUT1AKR1JPVVBCT1ggICAgICAgICJFZmljb2oiLGdycDEsNiw3Miw4NCwzNCxXU19HUk9VUApDSEVDS0JPWAkgICAgIlN0cmUma28iLCBjaHgxLCAxMCw4Miw1MCwxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUApDSEVDS0JPWCAJICAgICJTJnVic3RyZWtvIiwgY2h4MiwgMTAsOTQsNTAsMTAsIEJTX0FVVE9DSEVDS0JPWApMVEVYVCAgICAgICAgICAgIiZLb2xvcm86Iiwgc3RjNCAsNiwxMTAsMzAsOQpDT01CT0JPWCAgICAgICAgY21iNCw2LDEyMCw4NCwxMDAsQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwKQ0JTX0FVVE9IU0NST0xMIHwgIFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCkdST1VQQk9YICAgICAgICAiRWt6ZW1wbG8iLGdycDIsOTgsNzIsMTIwLDM2LFdTX0dST1VQCkNURVhUICAgICAgICAgICAiQWFCYll5WnoiLHN0YzUsMTAzLDgwLDEwOSwyNCxTU19OT1BSRUZJWCB8IE5PVCBXU19WSVNJQkxFCkxURVhUICAgICAgICAgICAiU2NyaSZwdDoiLHN0YzcgLDk4LDExNCw0MCw5CkNPTUJPQk9YICAgICAgICBjbWI1LDk4LDEyNCwxMjAsOTAsQ0JTX0RST1BET1dOTElTVCB8IENCU19IQVNTVFJJTkdTIHwKQ0JTX0FVVE9IU0NST0xMIHwgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgpDSE9PU0VfQ09MT1IgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAzMDAsIDE4NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJLb2xvcm8iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewpMVEVYVCAiJk5vcm1hbGEga29sb3Jhcm86IiwgMTA4OCwgNiwgNiwgNDAsIDkKTFRFWFQgIiZQZXJzb25hIGtvbG9yYXJvOiIsIDEwODksIDYsIDEyNiwgNDAsIDkKTFRFWFQgIlNvbCZpZGtvbG9ybyIsIDEwOTAsIDEwMCwgMTQ2LCA0MCwgOQpMVEVYVCAgICImUnX4byIsIDcyNiAvKjEwOTQqLywyNDksMTI2LDI0LDEwCkVESVRURVhUIDcwNiwgMjc1LDEyNCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCkxURVhUICAgIiZWZXJkbyIsNzI3LyoxMDk1Ki8sMjQ5LDE0MCwyNCwxMApFRElUVEVYVCA3MDcsIDI3NSwxMzgsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUApMVEVYVCAgICImQmx1byIsNzI4IC8qMTA5NiovLDI0OSwxNTQsMjQsMTAKRURJVFRFWFQgNzA4LCAyNzUsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKTFRFWFQgICImRmFyYm8iICw3MjMgLyoxMDkxKi8sMjAyLDEyNiwyMiwxMApFRElUVEVYVCA3MDMsIDIyNiwxMjQsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUApMVEVYVCAgIiZTYXR1cm8iICw3MjQgLyoxMDkyKi8sMjAyLDE0MCwyMiwxMApFRElUVEVYVCA3MDQsIDIyNiwxMzgsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUApMVEVYVCAgIiZIZWxvIiAsNzI1IC8qMTA5MyovLDIwMiwxNTQsMjIsMTAKRURJVFRFWFQgNzA1LCAyMjYsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKQ09OVFJPTCAiIiAsNzIwLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTQsMTQwLDg2CkNPTlRST0wgIiIgLDcyMSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDExNiwxNDAsMjgKQ09OVFJPTCAiIiAsNzEwLCJTVEFUSUMiLFdTX0JPUkRFUnxTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDQsMTE4LDExNgpDT05UUk9MICIiICw3MDIsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDI3OCw0LDgsMTE2CkNPTlRST0wgIiIgLDcwOSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDEyNCw0MCwyNgpERUZQVVNIQlVUVE9OICJCb25lIiwgIDEsICA0LCAxNjYsIDQ0LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICJSZXppZ25pIiwgMiwgNTIsIDE2NiwgNDQsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAiSGVscG8iLCBwc2hIZWxwLDEwMCwxNjYsIDQ0LCAxNApQVVNIQlVUVE9OICImQWxkb251IGFsIEtvbG9yYXJvIiwgICAgNzEyLyoxMDI0Ki8sIDE1MiwgMTY2LCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAiJkZvcnYmaf51IEtvbG9yYXJvbiA+PiIsIDcxOS8qMTAyNSovLCAgIDQsIDE1MCwgMTQyLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QClBVU0hCVVRUT04gICImaSIsNzEzLDMwMCwyMDAsNCwxNCAgIC8qIGp1c3QgYSBkdW1teTogICdpJyBpcyAgbGlrZSAgJmkgIGluICJzb2wmaWQiICAqLwp9CgoKRklORERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDIzNiwgNjIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU2Vy5nUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZTZXLmdToiLCAtMSwgNCwgOCwgNDIsIDgKIEVESVRURVhUIDExNTIsIDQ3LCA3LCAxMjgsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk51ciB0dXRhbiAmdm9ydG9uIiwgMTA0MCwgNCwgMjYsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkF0ZW50dSAmVXNrbGVjb24iLCAxMDQxLCA0LCA0MiwgNjQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBHUk9VUEJPWCAiRGlyZWt0byIsIDEwNzIsIDEwNywgMjYsIDY4LCAyOAogQ09OVFJPTCAiJlN1cHJlIiwgMTA1NiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTA4LCAzOCwgMzAsIDEyCiBDT05UUk9MICImU3ViZSIsIDEwNTcsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxNDQsIDM4LCAyOCwgMTIKIERFRlBVU0hCVVRUT04gIiZQbHVzZXLmdSIsIElET0ssIDE4MiwgNSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIk51bGlnaSIsIElEQ0FOQ0VMLCAxODIsIDIzLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkhlbHBvIiwgMTAzOCwgMTgyLCA0NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClJFUExBQ0VETEdPUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyMzAsIDk0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkFuc3RhdGH9aWd1IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICJBbnN0YXRh/WlndToiLCAtMSwgNCwgOSwgNDgsIDgKIEVESVRURVhUIDExNTIsIDU0LCA3LCAxMTQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZwZXI6IiwgLTEsIDQsIDI2LCA0OCwgOAogRURJVFRFWFQgMTE1MywgNTQsIDI0LCAxMTQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk51ciB0dXRhbiAmdm9ydG9uIiwgMTA0MCwgNSwgNDYsIDEwNCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkF0ZW50dSAmVXNrbGVjb24iLCAxMDQxLCA1LCA2MiwgNTksIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJQbHUmc2Vy5nUiLCBJRE9LLCAxNzQsIDQsIDUwLCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkFuc3RhdGH9aWd1IiwgMTAyNCwgMTc0LCAyMSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkFuc3RhdGH9aWd1IOYmaXVqbiIsIDEwMjUsIDE3NCwgMzgsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJOdWxpZ2kiLCBJRENBTkNFTCwgMTc0LCA1NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZIZWxwbyIsIDEwMzgsIDE3NCwgNzUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVDMyIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTg2ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CkRTX0NPTlRFWFRIRUxQIHwgRFNfM0RMT09LCkNBUFRJT04gIlByZXN1IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKREVGUFVTSEJVVFRPTiAgICJCb25lIiwgICAgIElET0ssICAgICAxODAsMTY0LCA0OCwxNCwgV1NfR1JPVVAgfCBCU19ERUZQVVNIQlVUVE9OClBVU0hCVVRUT04gICAgICAiUmV6aWduaSIsIElEQ0FOQ0VMLCAyMzIsMTY0LCA0OCwxNCwgV1NfR1JPVVAKUFVTSEJVVFRPTiAgICAgICImSGVscG8iLCAgcHNoSGVscCwgIDUwLCAxNjEsIDQ4LDE0LCBXU19HUk9VUAoKR1JPVVBCT1ggICAgICAgICJQcmludGlsbyIsICAgICAgICBncnA0LCAgIDgsICA0LCAyNzIsODQsIFdTX0dST1VQCkNPTlRST0wgICAgICAgICAiUHJlenUga2llbCAmZG9zaWVybyIsIGNoeDEsICJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMTIsNzAsNjQsMTIKUFVTSEJVVFRPTiAgICAgICImRWNvaiIsICAgIHBzaDIsIDIxMiwgMTcsICA2MCwxNCwgV1NfR1JPVVAKTFRFWFQgICAgICAgICAgICImTm9tbzoiLCAgICAgICAgIHN0YzYsICAxNiwgMjAsICAzNiw4CkNPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWI0LCAgNTIsIDE4LCAxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKTFRFWFQgICAgICAgICAgICJTdGF0bzoiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWApMVEVYVCAgICAgICAgICAgIkR1bW15IFN0YXRlIiwgICAgc3RjMTIsIDUyLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCkxURVhUICAgICAgICAgICAiU3BlY286IiwgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWApMVEVYVCAgICAgICAgICAgIkR1bW15IFR5cGUiLCAgICAgc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCkxURVhUICAgICAgICAgICAiS2llOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWApMVEVYVCAgICAgICAgICAgIkR1bW15IExvY2F0aW9uIiwgc3RjMTQsIDUyLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCkxURVhUICAgICAgICAgICAiS29tZW50bzoiLCAgICAgICBzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCkxURVhUICAgICAgICAgICAiRHVtbXkgUmVtYXJrIiwgICBzdGMxMywgNTIsIDcyLCAxNTIsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCkdST1VQQk9YICAgICAgICAiRWt6ZW1wbGVyb2oiLCAgICAgICAgIGdycDIsIDE2MCwgOTIsIDEyMCw2NCwgV1NfR1JPVVAKTFRFWFQgICAgICAgICAgICJOb21icm8gZGEgJmVremVtcGxlcm9qOiIsc3RjNSwxNjgsMTA4LDY4LDgKSUNPTiAgICAgICAgICAgICIiLCAgICAgICAgICAgICAgIGljbzMsIDE2MiwxMjQsICA3NiwyNCwgV1NfR1JPVVAgfCBTU19DRU5URVJJTUFHRQpDT05UUk9MICAgICAgICAgIkxh/SZrYWplcmUiLCAgICAgICBjaHgyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyNDAsMTMwLDM2LDEyCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBlZHQzLCAyNDAsMTA2LCAgMzIsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSCgpHUk9VUEJPWCAgICAgICAgIkV0ZW5kafhvbiIsICAgIGdycDEsICAgOCw5MiwgIDE0NCw2NCwgV1NfR1JPVVAKQ09OVFJPTCAgICAgICAgICLmJml1am4iLCAgICAgICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYsMTA2LDY0LDEyCkNPTlRST0wgICAgICAgICAiJnBh+G9qbiIsICAgICAgICAgcmFkMywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIyLDM2LDEyCkNPTlRST0wgICAgICAgICAiJmVsZWt0b24iLCAgICAgcmFkMiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTM4LDY0LDEyCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBlZHQxLCAgNzQsMTIyLCAgMjYsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBlZHQyLCAxMTgsMTIyLCAgMjYsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSClJURVhUICAgICAgICAgICAiZGU6IiwgICAgICAgICBzdGMyLCAgNTIsMTI0LCAgMjAsOApSVEVYVCAgICAgICAgICAgIvhpczoiLCAgICAgICAgICAgc3RjMywgMTAwLDEyNCwgIDE2LDgKfQoKUFJJTlQzMl9TRVRVUCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE3OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfApEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICJQcmVzYWRhaiBBZ29yZG9qIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCkRFRlBVU0hCVVRUT04gICAiQm9uZSIsSURPSywxODAsMTU2LDQ4LDE0LFdTX0dST1VQClBVU0hCVVRUT04gICAgICAiUmV6aWduaSIsSURDQU5DRUwsMjMyLDE1Niw0OCwxNAovKiAgICBQVVNIQlVUVE9OICAgICAgIk5ldHdvcmsuLi4iLCBwc2g1LCAyODQsMTU2LDQ4LDE0ICovCgpHUk9VUEJPWCAgICAgICAgIlByaW50aWxvIiwgICAgICAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKUFVTSEJVVFRPTiAgICAgICImRWNvaiIsICAgIHBzaDIsIDIxMiwgMTcsICA2MCwxNCwgV1NfR1JPVVAKTFRFWFQgICAgICAgICAgICImTm9tbzoiLCAgICAgICAgIHN0YzYsICAxNiwgMjAsICAzNiw4CkNPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIxLCAgNTIsIDE4LCAxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKTFRFWFQgICAgICAgICAgICJTdGF0bzoiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWApMVEVYVCAgICAgICAgICAgIkR1bW15IFN0YXRlIiwgICAgc3RjMTIsIDUyLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCkxURVhUICAgICAgICAgICAiU3BlY286IiwgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWApMVEVYVCAgICAgICAgICAgIkR1bW15IFR5cGUiLCAgICAgc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCkxURVhUICAgICAgICAgICAiS2llOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWApMVEVYVCAgICAgICAgICAgIkR1bW15IExvY2F0aW9uIiwgc3RjMTQsIDUyLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCkxURVhUICAgICAgICAgICAiS29tZW50bzoiLCAgICAgICBzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCkxURVhUICAgICAgICAgICAiRHVtbXkgUmVtYXJrIiwgICBzdGMxMywgNTIsIDcyLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCkdST1VQQk9YICAgICAgICAiUGFwZXJvIiwgICAgICAgICAgZ3JwMiwgICA4LCA5MiwgMTY0LDU2LCBXU19HUk9VUApMVEVYVCAgICAgICAgICAgIiZEaW1lbnNpbzoiLCAgICAgICAgIHN0YzIsICAxNiwxMDgsICAzNiwgOApDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMiwgIDUyLDEwNiwgMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCkxURVhUICAgICAgICAgICAiJkZvbnRvOiIsICAgICAgIHN0YzMsICAxNiwxMjgsICAzNiwgOApDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMywgIDUyLDEyNiwgMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCgpHUk9VUEJPWCAgICAgICAgIkZvcm1hdG8iLCAgICBncnAxLCAxODAsIDkyLCAxMDAsNTYsIFdTX0dST1VQCklDT04gICAgICAgICAgICAiIiwgICAgICAgICAgICAgICBpY28xLCAxOTUsMTEyLCAgMTgsMjAsIFdTX0dST1VQCkNPTlRST0wgICAgICAgICAiJlZlcnRpa2FsYSIsICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8V1NfVEFCU1RPUCwyMjQsMTA2LDUyLDEyCkNPTlRST0wgICAgICAgICAiJkhvcml6b250YWxhIiwgICAgIHJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDIyNCwxMjYsNTIsMTIKRU5ECgpQQUdFU0VUVVBETEdPUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzIsIDMyLCAyNDAsIDI0MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiSW1wb3p1IFBh+G9uIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCkNPTlRST0wgIiIsIHJjdDEsICJTdGF0aWMiLCBTU19XSElURVJFQ1QsIDgwLCA4LCA4MCwgODAKQ09OVFJPTCAiIiwgcmN0MiwgIlN0YXRpYyIsIFNTX0dSQVlSRUNULCAxNjAsIDEyLCA0LCA4MApDT05UUk9MICIiLCByY3QzLCAiU3RhdGljIiwgU1NfR1JBWVJFQ1QsICA4NCwgODgsIDgwLCA0CkdST1VQQk9YICJQYXBlcm8iLCBncnAyLCA4LCA5NiwgMjI0LCA1NiwgQlNfR1JPVVBCT1gKTFRFWFQgIiZEaW1lbnNpbzoiLCBzdGMyLCAxNiwgMTEyLCAzNiwgOApDT01CT0JPWCBjbWIyLCA2NCwgMTEwLCAxNjAsIDE2MCwgQ0JTX1NJTVBMRXxDQlNfRFJPUERPV058Q0JTX1NPUlR8V1NfR1JPVVB8V1NfVEFCU1RPUHxXU19WU0NST0xMCkxURVhUICJQJmxldG86Iiwgc3RjMywgMTYsIDEzMiwgMzYsIDgKQ09NQk9CT1ggY21iMywgNjQsIDEzMCwgMTYwLCAxNjAsIENCU19TSU1QTEV8Q0JTX0RST1BET1dOfENCU19TT1JUfFdTX0dST1VQfFdTX1RBQlNUT1B8V1NfVlNDUk9MTApHUk9VUEJPWCAiRm9ybWF0byIsIGdycDEsIDgsIDE1NiwgNjQsIDU2LCBCU19HUk9VUEJPWApBVVRPUkFESU9CVVRUT04gIiZWZXJ0aWthbGEiLCByYWQxLCAxNiwgMTcwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgpBVVRPUkFESU9CVVRUT04gIiZIb3Jpem9udGFsYSIsIHJhZDIsIDE2LCAxOTAsIDUyLCAxMiwgQlNfQVVUT1JBRElPQlVUVE9OCkdST1VQQk9YICJNYXL4ZW5vaiIsIGdycDQsIDgwLCAxNTYsIDE1MiwgNTYsIEJTX0dST1VQQk9YCkxURVhUICImRGVrc3RyYToiLCBzdGMxNSwgODgsIDE3MiwgMjEsIDgKRURJVFRFWFQgZWR0NCwgMTExLCAxNzAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKTFRFWFQgIiZNYWxkZWtzdHJhOiIsIHN0YzE2LCAxNTksIDE3MiwgMjcsIDgKRURJVFRFWFQgZWR0NiwgMTg3LCAxNzAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKTFRFWFQgIiZTdXByZToiLCBzdGMxNywgODgsIDE5MiwgMjEsIDgKRURJVFRFWFQgZWR0NSwgMTExLCAxOTAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKTFRFWFQgIlN1JmJlOiIsIHN0YzE4LCAxNTksIDE5MiwgMjMsIDgKRURJVFRFWFQgZWR0NywgMTg3LCAxOTAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKREVGUFVTSEJVVFRPTiAiQm9uZSIsIElET0ssIDcxLCAyMjAsIDUwLCAxNCwgQlNfUFVTSEJVVFRPTgpQVVNIQlVUVE9OICJSZXppZ25pIiwgSURDQU5DRUwsIDEyNiwgMjIwLCA1MCwgMTQKUFVTSEJVVFRPTiAiJlByaW50aWxvLi4iLCBwc2gzLCAxODQsIDIyMCwgNDgsIDE0CkVORAoKTkVXRklMRU9QRU5PUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCAxNjQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX0NPTlRFWFRIRUxQIHwgV1NfVklTSUJMRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBXU19DTElQQ0hJTERSRU4KQ0FQVElPTiAiTWFsZmVybXUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewpMVEVYVAkiU2Vy5nUgJmVuOiIsSURDX0xPT0tJTlNUQVRJQyw0LDYsNDMsOCwgU1NfTk9USUZZCkNPTUJPQk9YCUlEQ19MT09LSU4sNDksMywxMzIsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgpMVEVYVAkiIiAsIElEQ19UT09MQkFSU1RBVElDLCAxODEsIDIsIDEwMiwgMTcsIE5PVCBXU19HUk9VUCB8IE5PVCBXU19WSVNJQkxFCkxJU1RCT1gJSURDX1NIRUxMU1RBVElDLDQsMjAsMjcyLDg1LCBMQlNfU09SVCB8IExCU19OT0lOVEVHUkFMSEVJR0hUIHwgTEJTX01VTFRJQ09MVU1OIHwgV1NfSFNDUk9MTCB8IE5PVCBXU19WSVNJQkxFCgpMVEVYVAkiRG9zaWVyJm5vbW86IixJRENfRklMRU5BTUVTVEFUSUMsNSwxMTIsNDYsOCwgU1NfTk9USUZZCkVESVRURVhUCUlEQ19GSUxFTkFNRSw1NCwxMTAsMTU1LDEyLEVTX0FVVE9IU0NST0xMCgpMVEVYVAkiRG9zaWVyJnNwZWNvOiIsSURDX0ZJTEVUWVBFU1RBVElDLDUsMTI4LDQyLDgsIFNTX05PVElGWQpDT01CT0JPWAlJRENfRklMRVRZUEUsNTQsMTI2LDE1NSw1MyxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCkNPTlRST0wJIk51ciAmbGVnZWJsYSIsSURDX09QRU5SRUFET05MWSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDU0LDE0NSwxMDAsMTAKCkRFRlBVU0hCVVRUT04JIiZNYWxmZXJtdSIsCQkgSURPSywyMjIsMTEwLDUwLDE0ClBVU0hCVVRUT04JCSJSZXppZ25pIiwJCSBJRENBTkNFTCwyMjIsMTI4LDUwLDE0ClBVU0hCVVRUT04JCSImSGVscG8iLAkJIHBzaEhlbHAsMjIyLDE0NSw1MCwxNAp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CklEU19BQk9VVEJPWCAgICAgICAgICAgICImUHJpICdUZXN0IEZvbGRlclBpY2tlciciCklEU19ET0NVTUVOVEZPTERFUlMgICAgICJEb2t1bWVudGRvc2llcnVqb2oiCklEU19QRVJTT05BTCAgICAgICAgICAgICJNaWFqIERva3VtZW50b2oiCklEU19GQVZPUklURVMgICAgICAgICAgICJNaWFqIEZhdm9yaXRhaiIKSURTX1BBVEggICAgICAgICAgICAgICAgIlNpc3RlbXZvam8iCklEU19ERVNLVE9QICAgICAgICAgICAgICJEZXNrdG9wIgpJRFNfRk9OVFMgICAgICAgICAgICAgICAiVGlwYXJvaiIKSURTX01ZQ09NUFVURVIgICAgICAgICAgIk1pYSBLb21wdXRlcm8iCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKSURTX1NZU1RFTUZPTERFUlMgICAgICAgIlNpc3RlbWRvc2llcnVqb2oiCklEU19MT0NBTEhBUkRSSVZFUyAgICAgICJMb2NhbGFqIER1cmRpc2tvaiIKSURTX0ZJTEVOT1RGT1VORCAgICAgICAgIkRvc2llcm8gbmUgZXN0aXMgdHJvdml0YSIKSURTX1ZFUklGWUZJTEUgICAgICAgICAgIktvbnRyb2x1IGxhIPh1c3RlY29uIGplIGhhdmlnaXRhIGRvc2llcm5vbW8uIgpJRFNfQ1JFQVRFRklMRSAgICAgICAgICAiRG9zaWVybyBlc3RhcyBuZWVremlzdGFudGFcbsZ1IHZpIHZvbGFzIGtyZWkgZG9zaWVyb24/IgpJRFNfT1ZFUldSSVRFRklMRSAgICAgICAiRG9zaWVybyBlc3RhcyBqYW0gZWt6aXN0YW50YS5cbsZ1IHZpIHZvbGFzIHN1cGVyc2tyaWJpIPhpbj8iCklEU19JTlZBTElEX0ZJTEVOQU1FX1RJVExFICJOZWtvcmVrdGEoaikgdGlwbyhqKSBlbiB2b2pvIgpJRFNfSU5WQUxJRF9GSUxFTkFNRSAgICAiTGEgZG9zaWVybm9tbyBuZSBwb3ZhcyBlbmhhdmkgbGEgamVuYWpuIHRpcG9qbjpcbiAvIDogPCA+IHwiCklEU19QQVRITk9URVhJU1RJTkcgICAgICJWb2pvIGVzdGFzIG5lZWt6aXN0YW50YSIKSURTX0ZJTEVOT1RFWElTVElORyAgICAgIkRvc2llcm8gZXN0YXMgbmVla3ppc3RhbnRhIgp9CgkKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewoJSURTX1VQRk9MREVSICAgICAgICAgIlN1cmlydSBkYSB1bnUgbml2ZWxvIgoJSURTX05FV0ZPTERFUiAgICAgICAgIktyZXUgTm92YW4gRG9zaWV1am9uIgoJSURTX0xJU1RWSUVXICAgICAgICAgIkxpc3RvIgoJSURTX1JFUE9SVFZJRVcgICAgICAgIkRldGFsZSIKCUlEU19UT0RFU0tUT1AgICAgICAgICJGb2xpdSBEZXNrdG9wIgp9CgkKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewoJUEQzMl9QUklOVF9USVRMRSAgICAgICAiUHJlc3UiCgkKCVBEMzJfVkFMVUVfVVJFQURBQkxFICAgICAgICAgICAgICAgICAgIk5lbGVnZWJsYSBFbnRyeSIKCVBEMzJfSU5WQUxJRF9QQUdFX1JBTkdFICLGaSB0aXUgdmFsb3JvIG5lIGVzdGFzIGVuIGxhIHBh+G8uXG5cCglFbmlndSB2YWxvcm9uIGludGVyICVkIGthaiAlZC4iCglQRDMyX0ZST01fTk9UX0FCT1ZFX1RPICAgICAgICAgICAgICAgICJMYSAnZGU6JyB2YWxvcm8gbmUgcG92YXMgc3VwZXJpIGxhIFwKCSf4aXM6JyB2YWxvcm9uLiIKCVBEMzJfTUFSR0lOU19PVkVSTEFQICAgICAgICAgICAgICAgICAgIk1hcvhlbm9qIHN1cm1ldGn4YXMgaW50ZXIgc2kgYf0gZXN0YXMgZWtzdGVyIFwKCXBhcGVyZm9saW8uXG5EaWZpbnUgZGVub3ZlIGxhIG1hcvhlbm9qbi4iCglQRDMyX05SX09GX0NPUElFU19FTVBUWSAgICAgICAgICAgICAgICJMYSBub21icnZhbG9ybyBqZSAnTm9tYnJvIGRhICZla3plbXBsZXJvaicgXAoJbmUgcG92YXMgZXN0aSBtYWxwbGVuYS4iCglQRDMyX1RPT19MQVJHRV9DT1BJRVMgICAgICAgICAgICAgICAgICJMYSB2aWEgcHJpbnRpbG8gbmUgcG92YXMgcHJlc2kgdGllbCBncmFuZGEgbm9tYnJvIGRhIGVremVtcGxlcm9qXG5FbmlndSB2YWxvcm9uIGludGVyIDEga2FqICVkLiIKCVBEMzJfUFJJTlRfRVJST1IgICAgICAgICAgICAgICAgICAgICAgIk9rYXppcyBwcmludGlsYSBlcm9yby4iCglQRDMyX05PX0RFRkFVTFRfUFJJTlRFUiAgICAgICAgICAgICAgICJOZSBlc3RhcyBkZWZh/Wx0YSBwcmludGlsby4iCglQRDMyX0NBTlRfRklORF9QUklOVEVSICAgICAgICAgICAgICAgICJNaSBuZSBwb3ZhcyB0cm92aSBsYSBwcmludGlsb24uIgoJUEQzMl9PVVRfT0ZfTUVNT1JZICAgICAgICAgICAgICAgICAgICAiTGEgbWVtb3JvIGVzdGFzIGVs5mVycGl0YS4iCglQRDMyX0dFTkVSSUNfRVJST1IgICAgICAgICAgICAgICAgICAgICJPa2F6aXMgZXJvcm8uIgoJUEQzMl9EUklWRVJfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAiTmVrb25hdGEgcHJpbnRpbHpvcmdpbG8uIgoJUEQzMl9OT19ERVZJQ0VTICAgICAgICAgICAgICAgICAgICAgICAiQW50Yf0gb2wgdmkgcG92b3MgcGxlbnVtaSBwcmludGlsdGFza29qbiBcCglrdmF6Yf0gaW1wb3ppIHBh+G9uIGH9IHByZXNpIGRva3VtZW50b24sIGVzdGFzIG5lY2VzZSBrZSB2aSBpbnN0YWx1IHByaW50aWxvbi4gXAoJT25pIGtvbnNpbGFzIGluc3RhbGkg+GluIGthaiByZXByb3ZpLiIKCQoJUEQzMl9ERUZBVUxUX1BSSU5URVIgICAgICAgICAgICAgICAgICAiRGVmYf1sdGEgUHJpbnRpbG87ICIKCVBEMzJfTlJfT0ZfRE9DVU1FTlRTX0lOX1FVRVVFICAgICAgICAgIiVkIGRva3VtZW50byhqKSBlc3RhcyBlbiBwcmVzdmljbyIKCVBEMzJfTUFSR0lOU19JTl9JTkNIRVMgICAgICAgICAgICAgICAgIk1hcvhlbm9qIFtpbmNoZXNdIgoJUEQzMl9NQVJHSU5TX0lOX01JTExJTUVURVJTICAgICAgICAgICAiTWFy+GVub2ogW21tXSIKCVBEMzJfTUlMTElNRVRFUlMgICAgICAgICAgICAgICAgICAgICAgIm1tIgoJCglQRDMyX1BSSU5URVJfU1RBVFVTX1JFQURZICAgICAgICAgICAgICJQcmV0YSIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfUEFVU0VEICAgICAgICAgICAgIlBh/XNlOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX0VSUk9SICAgICAgICAgICAgICJFcm9ybzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19QRU5ESU5HX0RFTEVUSU9OICAiTnVsaWdhIGF0ZW5kYWRvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX0pBTSAgICAgICAgICJCbG9raXRhIHBhcGVybzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9PVVQgICAgICAgICAiRWzmZXJwaXRhIHBhcGVybzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19NQU5VQUxfRkVFRCAgICAgICAiTWFuZSBlbv5vdm8gZGUgcGFwZXJvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX1BST0JMRU0gICAgICJQYXBlcmEgcHJvYmxlbW87ICIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfT0ZGTElORSAgICAgICAgICAgIk5la29uZWt0aXRhIHByaW50aWxvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX0lPX0FDVElWRSAgICAgICAgICJJL08gQWt0aXZhOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX0JVU1kgICAgICAgICAgICAgICJPa3VwaXRhIHByaW50aWxvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX1BSSU5USU5HICAgICAgICAgICJOdW4gcHJlc2F0YTsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19PVVRQVVRfQklOX0ZVTEwgICAiRWxqcmVqYSBwbGV0byBlc3RhcyBwbGVuYTsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19OT1RfQVZBSUxBQkxFICAgICAiTmUgZGlzcG9uZWJsYTsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19XQUlUSU5HICAgICAgICAgICAiQXRlbmRhbmRvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX1BST0NFU1NJTkcgICAgICAgICJQcm9jZXpvOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX0lOSVRJQUxJWklORyAgICAgICJQcmVwYXJhZG87ICIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfV0FSTUlOR19VUCAgICAgICAgIlZhcm1pZ28gZGUgbGEgcHJpbnRpbG87ICIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfVE9ORVJfTE9XICAgICAgICAgIktzZXJvcHJpbnRpbGEgbml2ZWxvIGVzdGFzIGJhc2E7ICIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfTk9fVE9ORVIgICAgICAgICAgIk5lbml1IGtzZXJvcHJpbnRpbG87ICIKCVBEMzJfUFJJTlRFUl9TVEFUVVNfUEFHRV9QVU5UICAgICAgICAgIlBh+GEgJ3B1bnQnOyAiCglQRDMyX1BSSU5URVJfU1RBVFVTX1VTRVJfSU5URVJWRU5USU9OICJJbnRlcnJvbXBpdGEgZmFyIHV6YW50bzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19PVVRfT0ZfTUVNT1JZICAgICAiRWzmZXJwaXRhIG1lbW9ybzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19ET09SX09QRU4gICAgICAgICAiTGEgcHJpbnRpbGEgcG9yZG8gZXN0YXMgbWFsZmVybWl0YTsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19TRVJWRVJfVU5LTk9XTiAgICAiTmVrb25hdGEgcHJlcy1zZXJ2YW50bzsgIgoJUEQzMl9QUklOVEVSX1NUQVRVU19QT1dFUl9TQVZFICAgICAgICAiRW5lcmdp/nBhcmU7ICIKfQoJClNUUklOR1RBQkxFIERJU0NBUkRBQkxFIC8qIENvbG9yIG5hbWVzICovCnsKCUlEU19DT0xPUl9CTEFDSyAgICAgIk5pZ3JvIgoJSURTX0NPTE9SX01BUk9PTiAgICAiRHVvbnJ1+GJydW5hIGtvbG9ybyIKCUlEU19DT0xPUl9HUkVFTiAgICAgIlZlcmRvIgoJSURTX0NPTE9SX09MSVZFICAgICAiT2xpdnZlcmRvIgoJSURTX0NPTE9SX05BVlkgICAgICAiVWx0cmFtYXJhIGJsdW8iCglJRFNfQ09MT1JfUFVSUExFICAgICJQdXJwdXJydfhvIgoJSURTX0NPTE9SX1RFQUwgICAgICAiS3Jla2Ega29sb3JvIgoJSURTX0NPTE9SX0dSQVkgICAgICAiR3Jpem8iCglJRFNfQ09MT1JfU0lMVkVSICAgICJBcvhlbnRvIgoJSURTX0NPTE9SX1JFRCAgICAgICAiUnX4byIKCUlEU19DT0xPUl9MSU1FICAgICAgIkxpbWV0YSBrb2xvcm8iCglJRFNfQ09MT1JfWUVMTE9XICAgICJGbGF2byIKCUlEU19DT0xPUl9CTFVFICAgICAgIkJsdW8iCglJRFNfQ09MT1JfRlVDSFNJQSAgICJGdWtzaWEga29sb3JvIgoJSURTX0NPTE9SX0FRVUEgICAgICAiQWt2byIKCUlEU19DT0xPUl9XSElURSAgICAgIkJsYW5rbyIKfQoJClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKCUlEU19GT05UX1NJWkUgICAiRWxla3R1IHRpcGFyYW4gZ3JhbmRlY3ZhbG9yb24gaW50ZXIgJWQga2FqICVkIHB1bmt0b2ouIgoJSURTX1NBVkVfQlVUVE9OICJLb24mc2VydnUiCglJRFNfU0FWRV9JTiAgICAgIktvbnNlcnZ1ICZlbjoiCglJRFNfU0FWRSAgICAgICAgIktvbnNlcnZ1IgoJSURTX1NBVkVfQVMgICAgICJLb25zZXJ2dSBraWVsIgoJSURTX09QRU5fRklMRSAgICJNYWxmZXJtdSBEb3NpZXJvbiIKfQo=