LyoKICogQ29weXJpZ2h0IDE5OTggS2FybCBCYWNrc3Ry9m0KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiAqLwoKLyoKICogV0FSTklORzogRE8gTk9UIENIQU5HRSBUSEUgU0laRSBPRiBUSEUgU1RBTkRBUkQgRElBTE9HIFRFTVBMQVRFUy4KICovCgpMQU5HVUFHRSBMQU5HX1NXRURJU0gsIFNVQkxBTkdfREVGQVVMVAoKT1BFTl9GSUxFIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAi1nBwbmEiCkZPTlQgOCwgIkhlbHYiCnsKIExURVhUICJGaWwmbmFtbjoiLCAxMDkwLCA2LCA2LCA3NiwgOQogRURJVFRFWFQgMTE1MiwgNiwgMTYsIDkwLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBFU19PRU1DT05WRVJUIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkthdGFsb2dlcjoiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIkxpc3RhIGZpbGVyIGF2ICZ0eXBlbjoiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCAxMTM2LCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkVuaGV0ZXI6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCAxMTM3LCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICLWcHBuYSIsIElET0ssIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBdmJyeXQiLCBJRENBTkNFTCwgMjA4LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZIauRscCIsIDEwMzgsIDIwOCwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlNrcml2c2t5ZGRhdCIsIDEwNDAsIDIwOCwgNjgsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpTQVZFX0ZJTEUgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNzUsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTcGFyYSBzb20gLi4uIgpGT05UIDgsICJIZWx2Igp7CiBMVEVYVCAiJkZpbG5hbW46IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZLYXRhbG9nZXI6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICJMaXN0YSBmaWxlciBhdiAmdHlwZW46IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggMTEzNiwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZFbmhldGVyOiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggMTEzNywgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiU3BhcmEgc29tIiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkhq5GxwIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImU2tyaXZza3lkZGFkIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU2tyaXYgdXQiCkZPTlQgOCwgIkhlbHYiCnsKIExURVhUICJTa3JpdmFyZToiLCAxMDg4LCA2LCA2LCA0MCwgOQogTFRFWFQgIiIsIDEwODksIDYwLCA2LCAxNTAsIDkKIEdST1VQQk9YICJTa3JpdiB1dCBkZWwiLCAxMDcyLCA2LCAzMCwgMTYwLCA2NSwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICImQWxsdCIsIDEwNTYsIDE2LCA0NSwgNjAsIDEyCiBSQURJT0JVVFRPTiAiJk1hcmtlcmF0IiwgMTA1NywgMTYsIDYwLCA2MCwgMTIKIFJBRElPQlVUVE9OICImU2lkb3IiLCAxMDU4LCAxNiwgNzUsIDYwLCAxMgogREVGUFVTSEJVVFRPTiAiU2tyaXYgdXQiLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQXZicnl0IiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImSW5zdORsbG5pbmdhciIsIDEwMjQsIDIwNiwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkZy5W46IiwgMTA5MCwgNjAsIDgwLCAzMCwgOQogTFRFWFQgIiZUaWxsOiIsIDEwOTEsIDEyMCwgODAsIDMwLCA5CiBMVEVYVCAiVXRza3JpZnRza3ZhbGl0ZXQ6IiwgMTA5MiwgNiwgMTAwLCA3NiwgOQogQ09NQk9CT1ggMTEzNiwgODAsIDEwMCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlNrcml2IHRpbGwgZmlsIiwgMTA0MCwgMjAsIDEwMCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJTYW1tYW50cnlja3QiLCAxMDQxLCAxNjAsIDEwMCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UX1NFVFVQIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU2tyaXZhcmluc3TkbGxuaW5nYXIiCkZPTlQgOCwgIkhlbHYiCnsKIEdST1VQQk9YICJTa3JpdmFyZSIsIDEwNzIsIDYsIDEwLCAxODAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZTdGFuZGFyZHNrcml2YXJlIiwgMTA1NiwgMTYsIDIwLCA4MCwgMTIKIExURVhUICJbaW5nZW5dIiwgMTA4OCwgMzUsIDM1LCAxMjAsIDkKIFJBRElPQlVUVE9OICJTcGVjaWZpZXJhZCAmc2tyaXZhcmUiLCAxMDU3LCAxNiwgNTAsIDgwLCAxMgogQ09NQk9CT1ggMTEzNiwgMzUsIDY1LCAxNDksIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJPayIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBdmJyeXQiLCBJRENBTkNFTCwgMjA2LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZJbnN05GxsbmluZ2FyIiwgMTAyNCwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICJPcmllbnRlcmluZyIsIDEwNzMsIDYsIDg1LCAxMDAsIDUwLCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZQb3J0cuR0dCIsIDEwNTgsIDUwLCAxMDAsIDQwLCAxMgogUkFESU9CVVRUT04gIiZMYW5kc2thcCIsIDEwNTksIDUwLCAxMTUsIDQwLCAxMgogSUNPTiAiTEFORFNDQVAiLCAxMDk3LCAxMCwgOTUsIDMyLCAzMgogSUNPTiAiUE9SVFJBSVQiLCAxMDk4LCAxMCwgOTUsIDMyLCAzMgogR1JPVVBCT1ggIlBhcGVyIiwgMTA3NCwgMTIwLCA4NSwgMTgwLCA1MCwgQlNfR1JPVVBCT1gKIExURVhUICImU3RvcmxlayIsIDEwODksIDEzMCwgOTUsIDMwLCA5CiBMVEVYVCAiJkvkbGxhIiwgMTA5MCwgMTMwLCAxMTAsIDMwLCA5CiBDT01CT0JPWCAxMTM3LCAxNTUsIDk1LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENPTUJPQk9YIDExMzgsIDE1NSwgMTEwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKCkNIT09TRV9GT05UIERJQUxPRyBESVNDQVJEQUJMRSAgMTMsIDU0LCAyNjQsIDE0NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJUeXBzbml0dCIKRk9OVCA4LCAiSGVsdiIKewogICAgTFRFWFQgICAgICAgICAgICImVHlwc25pdHQ6IiwxMDg4ICw2LDMsNDAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzYgLDYsMTMsOTQsNTQsICBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiAgICBMVEVYVCAgICAgICAgICAgIlR5cHNuaXR0c3MmdGlsOiIsMTA4OSAsMTA4LDMsNDQsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzcsMTA4LDEzLDY0LDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKICAgIExURVhUICAgICAgICAgICAiJlN0b3JsZWs6IiwxMDkwLDE3OSwzLDMwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM4LDE3OSwxMywzMiw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKICAgIERFRlBVU0hCVVRUT04gICAiT2siLElET0ssMjE4LDYsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiQXZicnl0IixJRENBTkNFTCwyMTgsMjMsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJkFuduRuZCIsIDEwMjYsMjE4LDQwLDQwLDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIiZIauRscCIgLCAxMDM4LDIxOCw1Nyw0MCwxNCxXU19HUk9VUAogICAgR1JPVVBCT1ggICAgICAgICJFZmZla3RlciIsMTA3Miw2LDcyLDg0LDM0LFdTX0dST1VQCiAgICBDSEVDS0JPWAkgICAgIiZHZW5vbXN0cnVrZW4iLCAxMDQwLCAxMCw4Miw1MCwxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogICAgQ0hFQ0tCT1ggCSAgICAiJlVuZGVyc3RydWtlbiIsIDEwNDEsIDEwLDk0LDUwLDEwLCBCU19BVVRPQ0hFQ0tCT1gKICAgIExURVhUICAgICAgICAgICAiJkbkcmc6IiwgMTA5MSAsNiwxMTAsMzAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzksNiwxMjAsODQsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8CgkJICAgIENCU19BVVRPSFNDUk9MTCB8ICBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICJUZXN0IixncnAyLDk4LDcyLDEyMCwzNixXU19HUk9VUAogICAgQ1RFWFQgICAgICAgICAgICJBYUJiWXlaeiIsc3RjNSwxMDMsODAsMTA5LDI0LFNTX05PUFJFRklYIHwgTk9UIFdTX1ZJU0lCTEUKICAgIExURVhUICAgICAgICAgICAiU2NyJmlwdCAodHJhbnNsYXRlKToiLHN0YzcgLDk4LDExNCw4MCw5CiAgICBDT01CT0JPWCAgICAgICAgY21iNSw5OCwxMjQsMTIwLDEwLENCU19EUk9QRE9XTkxJU1QgfENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwKCQkgICAgQ0JTX0FVVE9IU0NST0xMIHwgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0NPTE9SIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMzAwLCAxODUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRuRyZyIKRk9OVCA4LCAiSGVsdiIKewogTFRFWFQgIiZHcnVuZGzkZ2dhbmRlIGbkcmdlcjoiLCAgIDEwODgsIDQsICAgIDQsICAxNDAsIDEwCiBMVEVYVCAiJkVnZW5kZWZpbmVyYWRlIGbkcmdlcjoiLCAgMTA4OSwgNCwgICAxMDYsIDE0MCwgMTAKIExURVhUICJFbmbkcmdhdCIsICAxMDkwLCAxNTAsIDE1MSwgIDQ4LCAxMAogTFRFWFQgICAiJlL2ZDoiLCA3MjYgLyoxMDk0Ki8sMjQ5LDEyNiwyNCwxMAogRURJVFRFWFQgNzA2LCAyNzUsMTI0LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIiZHcvZuOiIsNzI3LyoxMDk1Ki8sMjQ5LDE0MCwyNCwxMAogRURJVFRFWFQgNzA3LCAyNzUsMTM4LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIiZCbOU6Iiw3MjggLyoxMDk2Ki8sMjQ5LDE1NCwyNCwxMAogRURJVFRFWFQgNzA4LCAyNzUsMTUyLDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJkludDoiICw3MjMgLyoxMDkxKi8sMjAyLDEyNiwyMiwxMAogRURJVFRFWFQgNzAzLCAyMjYsMTI0LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJk1ldDoiICw3MjQgLyoxMDkyKi8sMjAyLDE0MCwyMiwxMAogRURJVFRFWFQgNzA0LCAyMjYsMTM4LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJkx1bToiICw3MjUgLyoxMDkzKi8sMjAyLDE1NCwyMiwxMAogRURJVFRFWFQgNzA1LCAyMjYsMTUyLDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENPTlRST0wgIiIgLDcyMCwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDE0LDE0MCw4NgogQ09OVFJPTCAiIiAsNzIxLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTE2LDE0MCwyOAogQ09OVFJPTCAiIiAsNzEwLCJTVEFUSUMiLFdTX0JPUkRFUnxTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDQsMTE4LDExNgogQ09OVFJPTCAiIiAsNzAyLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAyNzgsNCw4LDExNgogQ09OVFJPTCAiIiAsNzA5LCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsMTI0LDQwLDI2CiBERUZQVVNIQlVUVE9OICJPayIsICBJRE9LLCAgNCwgMTY2LCA0NCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCA1MiwgMTY2LCA0NCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiSGrkbHAiLCAxMDM4LDEwMCwxNjYsIDQ0LCAxNAogUFVTSEJVVFRPTiAiJkzkZ2cgdGlsbCBlZ2VuZGVmaW5lcmFkIGbkcmciLCAgICA3MTIvKjEwMjQqLywgMTUyLCAxNjYsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkRlZmluZ25lcmEgZWdlbiBm5HJnID4+IiwgNzE5LyoxMDI1Ki8sICAgNCwgMTUwLCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gICImaSIsNzEzLDMwMCwyMDAsNCwxNCAgIC8qIGp1c3QgYSBkdW1teTogICdpJyBpcyAgbGlrZSAgJmkgIGluICJzb2wmaWQiICAqLwp9CgoKRklORERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDIzNiwgNjIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU/ZrIgpGT05UIDgsICJIZWx2Igp7CiBMVEVYVCAiJlP2ayBlZnRlcjoiLCAtMSwgNCwgOCwgNDIsIDgKIEVESVRURVhUIDExNTIsIDQ3LCA3LCAxMjgsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZCYXJhIGhlbGEgb3JkIiwgMTA0MCwgNCwgMjYsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZTa2lsbG5hZCBw5SBzdG9yYS9zbeUgYm9rc3TkdmVyIiwgMTA0MSwgNCwgNDIsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICJSaWt0bmluZyIsIDEwNzIsIDEwNywgMjYsIDY4LCAyOAogQ09OVFJPTCAiJlVwcCIsIDEwNTYsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDExMSwgMzgsIDIwLCAxMgogQ09OVFJPTCAiJk5lciIsIDEwNTcsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxMzgsIDM4LCAzMCwgMTIKIERFRlBVU0hCVVRUT04gIiZT9msgZWZ0ZXIgbuRzdGEiLCBJRE9LLCAxODIsIDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBdmJyeXQiLCBJRENBTkNFTCwgMTgyLCAyMywgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZIauRscCIsIDEwMzgsIDE4MiwgNDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpSRVBMQUNFRExHT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjMwLCA5NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJT9msvZXJz5HR0IgpGT05UIDgsICJIZWx2Igp7CiBMVEVYVCAiJlP2ayBlZnRlcjoiLCAtMSwgNCwgOSwgNDgsIDgKIEVESVRURVhUIDExNTIsIDU0LCA3LCAxMTQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZFcnPkdHQgbWVkOiIsIC0xLCA0LCAyNiwgNDgsIDgKIEVESVRURVhUIDExNTMsIDU0LCAyNCwgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImQmFyYSBoZWxhIG9yZCIsIDEwNDAsIDUsIDQ2LCAxMDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImU2tpbGxuYWQgcOUgc3RvcmEvc23lIGJva3N05HZlciIsIDEwNDEsIDUsIDYyLCAxMDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICImU/ZrIGVmdGVyIG7kc3RhIiwgSURPSywgMTc0LCA0LCA1MCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZFcnPkdHQiLCAxMDI0LCAxNzQsIDIxLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiRXJz5HR0ICZhbGxhIiwgMTAyNSwgMTc0LCAzOCwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAxNzQsIDU1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkhq5GxwIiwgMTAzOCwgMTc0LCA3NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKUFJJTlQzMiBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE4NgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgICBEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICJTa3JpdiB1dCIKRk9OVCA4LCAiSGVsdiIKewogREVGUFVTSEJVVFRPTiAgICJPayIsICAgICBJRE9LLCAgICAgMTgwLDE2NCwgNDgsMTQsIFdTX0dST1VQIHwgQlNfREVGUFVTSEJVVFRPTgogUFVTSEJVVFRPTiAgICAgICJBdmJyeXQiLCBJRENBTkNFTCwgMjMyLDE2NCwgNDgsMTQsIFdTX0dST1VQCiBQVVNIQlVUVE9OICAgICAgIiZIauRscCIsICBwc2hIZWxwLCAgNTAsIDE2MSwgNDgsMTQsIFdTX0dST1VQCgogR1JPVVBCT1ggICAgICAgICJTa3JpdmFyZSIsICAgICAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKIENPTlRST0wgICAgICAgICAiU2tyJml2IHRpbGwgZmlsIixjaHgxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMTIsNzAsNjQsMTIKIFBVU0hCVVRUT04gICAgICAiJkVnZW5za2FwZXIiLCAgICBwc2gyLCAyMTIsIDE3LCAgNjAsMTQsIFdTX0dST1VQCiBMVEVYVCAgICAgICAgICAgIiZOYW1uOiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWI0LCAgNTIsIDE4LCAgMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICAgICAgICAgIlN0YXR1czoiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW0gc3RhdHVzIiwgICAgIHN0YzEyLCA1MiwgMzYsIDIyNCwxMCwgU1NfTk9QUkVGSVggfFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIlR5cDoiLCAgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW0gdHlwIiwgICAgICAgIHN0YzExLCA1MiwgNDgsIDIyNCwxMCwgU1NfTk9QUkVGSVh8IFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIlBsYXRzOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW0gcGxhdHMiLCAgICAgIHN0YzE0LCA1MiwgNjAsIDIyNCwxMCwgU1NfTk9QUkVGSVh8IFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIktvbW1lbnRhcjoiLCAgICAgc3RjOSwgIDE2LCA3MiwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW0ga29tbWVudGFyIiwgIHN0YzEzLCA1MiwgNzIsIDE1MiwxMCwgU1NfTk9QUkVGSVh8IFNTX0xFRlROT1dPUkRXUkFQCgogR1JPVVBCT1ggICAgICAgICJLb3Bpb3IiLCAgICAgICAgIGdycDIsIDE2MCwgOTIsIDEyMCw2NCwgV1NfR1JPVVAKIExURVhUICAgICAgICAgICAiQW50YWwgayZvcGlvcjoiLCBzdGM1LDE2OCwxMDgsNjgsOAogSUNPTiAgICAgICAgICAgICIiLCAgICAgICAgICAgICAgIGljbzMsIDE2MiwxMjQsICA3NiwyNCxXU19HUk9VUCB8IFNTX0NFTlRFUklNQUdFCiBDT05UUk9MICAgICAgICAgIiZTb3J0ZXJhIiwgICAgICAgY2h4MiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyNDAsMTMwLDM2LDEyCiBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MywgMjQwLDEwNiwgIDMyLDEyLCBXU19HUk9VUCB8RVNfTlVNQkVSCgogR1JPVVBCT1ggICAgICAgICJTa3JpdiB1dCIsICAgICAgIGdycDEsICAgOCw5MiwgIDE0NCw2NCwgV1NfR1JPVVAKIENPTlRST0wgICAgICAgICAiJkFsbGEiLCAgICAgICAgICByYWQxLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8V1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNiw2NCwxMgogQ09OVFJPTCAgICAgICAgICJTaSZkb3IiLCAgICAgICAgIHJhZDMsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEyMiwzNiwxMgogQ09OVFJPTCAgICAgICAgICImTWFya2VyaW5nIiwgICAgIHJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEzOCw2NCwxMgogRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDEsICA3NCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfEVTX05VTUJFUgogRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDIsIDExOCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfEVTX05VTUJFUgogUlRFWFQgICAgICAgICAgICImZnLlbjoiLCAgICAgICAgIHN0YzIsICA1MiwxMjQsICAyMCw4CiBSVEVYVCAgICAgICAgICAgIiZ0aWxsOiIsICAgICAgICAgc3RjMywgMTAwLDEyNCwgIDE2LDgKCn0KClBSSU5UMzJfU0VUVVAgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgIDMyLCAzMiwgMjg4LCAxNzgKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwKICAgICAgRFNfQ09OVEVYVEhFTFAgfCBEU18zRExPT0sKQ0FQVElPTiAiVXRza3JpZnRzZm9ybWF0IgpGT05UIDgsICJIZWx2IgpCRUdJTgogREVGUFVTSEJVVFRPTiAgICJPayIsSURPSywxODAsMTU2LDQ4LDE0LFdTX0dST1VQCiBQVVNIQlVUVE9OICAgICAgIkF2YnJ5dCIsSURDQU5DRUwsMjMyLDE1Niw0OCwxNAoKIEdST1VQQk9YICAgICAgICAiU2tyaXZhcmUiLCAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKIFBVU0hCVVRUT04gICAgICAiJkVnZW5za2FwZXIiLCAgICBwc2gyLCAyMTIsIDE3LCA2MCwxNCwgV1NfR1JPVVAKIExURVhUICAgICAgICAgICAiJk5hbW46IiwgICAgICAgICBzdGM2LCAgMTYsIDIwLCAgMzYsOAogQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjEsICA1MiwgMTgsMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICAgICAgICAgIlN0YXR1czoiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW0gU3RhdGUiLCAgICAgIHN0YzEyLCA1MiwgMzYsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogTFRFWFQgICAgICAgICAgICJUeXA6IiwgICAgICAgICAgIHN0YzcsICAxNiwgNDgsICAzNiwxMCwgU1NfTk9QUkVGSVgKIExURVhUICAgICAgICAgICAiRHVtIHR5cCIsICAgICAgICBzdGMxMSwgNTIsIDQ4LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKIExURVhUICAgICAgICAgICAiUGxhdHM6IiwgICAgICAgICBzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCiBMVEVYVCAgICAgICAgICAgIkR1bSBwbGF0cyIsICAgICAgc3RjMTQsIDUyLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiBMVEVYVCAgICAgICAgICAgIktvbW1lbnRhcjoiLCAgICAgc3RjOSwgIDE2LCA3MiwgIDM2LDEwLCBTU19OT1BSRUZJWAogTFRFWFQgICAgICAgICAgICJEdW0ga29tbW5ldGFyIiwgIHN0YzEzLCA1MiwgNzIsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogR1JPVVBCT1ggICAgICAgICJQYXBwZXIiLCAgICAgICAgIGdycDIsICAgOCwgOTIsIDE2NCw1NiwgV1NfR1JPVVAKIExURVhUICAgICAgICAgICAiU3Qmb3JsZWs6IiwgICAgICBzdGMyLCAgMTYsMTA4LCAgMzYsIDgKIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIyLCAgNTIsMTA2LCAxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgICAgICAgICAiJkvkbGxhOiIsICAgICAgICBzdGMzLCAgMTYsMTI4LCAgMzYsIDgKIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIzLCAgNTIsMTI2LCAxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICAgICAgICAiT3JpZW50ZXJpbmciLCAgICBncnAxLCAxODAsIDkyLCAxMDAsNTYsIFdTX0dST1VQCiBJQ09OICAgICAgICAgICAgIiIsICAgICAgICAgICAgICAgaWNvMSwgMTk1LDExMiwgIDE4LDIwLCBXU19HUk9VUAogQ09OVFJPTCAgICAgICAgICJTdCblZW5kZSIsICAgICAgIHJhZDEsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfFdTX1RBQlNUT1AsMjI0LDEwNiw1MiwxMgogQ09OVFJPTCAgICAgICAgICJMJmlnZ2FuZGUiLCAgICAgIHJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDIyNCwxMjYsNTIsMTIKRU5ECgpQQUdFU0VUVVBETEdPUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzIsIDMyLCAyNDAsIDI0MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiVXRza3JpZnRzZm9ybWF0IgpGT05UIDgsICJIZWx2IgpCRUdJTgogIENPTlRST0wgIiIsIHJjdDEsIDEzMCwgMHgwMDAyMDAwNiwgODAsIDgsIDgwLCA4MCwgIFNTX1dISVRFUkVDVAogIENPTlRST0wgIiIsIHJjdDIsIDEzMCwgMHgwMDAyMDAwNSwgMTYwLCAxMiwgNCwgODAsIFNTX0dSQVlSRUNUCiAgQ09OVFJPTCAiIiwgcmN0MywgMTMwLCAweDAwMDIwMDA1LCA4NCwgODgsIDgwLCA0LCAgU1NfR1JBWVJFQ1QKICBHUk9VUEJPWCAiUGFwcGVyIiwgZ3JwMiwgOCwgOTYsIDIyNCwgNTYsIEJTX0dST1VQQk9YCiAgTFRFWFQgIiZTdG9ybGVrOiIsIHN0YzIsIDE2LCAxMTIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMiwgNjQsIDExMCwgMTYwLCAxNjAsQ0JTX1NJTVBMRXxDQlNfRFJPUERPV058Q0JTX1NPUlR8V1NfR1JPVVB8V1NfVEFCU1RPUHxXU19WU0NST0xMCiAgTFRFWFQgIiZUcmF5OiIsIHN0YzMsIDE2LCAxMzIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMywgNjQsIDEzMCwgMTYwLCAxNjAsQ0JTX1NJTVBMRXxDQlNfRFJPUERPV058Q0JTX1NPUlR8V1NfR1JPVVB8V1NfVEFCU1RPUHxXU19WU0NST0xMCiAgR1JPVVBCT1ggIk9yaWVudGVyaW5nIiwgZ3JwMSwgOCwgMTU2LCA2NCwgNTYsIEJTX0dST1VQQk9YCiAgQVVUT1JBRElPQlVUVE9OICImU3TlZW5kZSIsIHJhZDEsIDE2LCAxNzAsIDUyLCAxMiwgQlNfQVVUT1JBRElPQlVUVE9OCiAgQVVUT1JBRElPQlVUVE9OICImTGlnZ2FuZGUiLCByYWQyLCAxNiwgMTkwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgogIEdST1VQQk9YICJNYXJnaW5hbGVyIiwgZ3JwNCwgODAsIDE1NiwgMTUyLCA1NiwgQlNfR1JPVVBCT1gKICBMVEVYVCAiJlbkbnN0ZXI6Iiwgc3RjMTUsIDg4LCAxNzIsIDIxLCA4CiAgRURJVFRFWFQgZWR0NCwgMTExLCAxNzAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKICBMVEVYVCAiJkj2Z2VyOiIsIHN0YzE2LCAxNTksIDE3MiwgMjcsIDgKICBFRElUVEVYVCBlZHQ2LCAxODcsIDE3MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICIm1nZlcmthbnQ6Iiwgc3RjMTcsIDg4LCAxOTIsIDIxLCA4CiAgRURJVFRFWFQgZWR0NSwgMTExLCAxOTAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKICBMVEVYVCAiJk5lZGVya2FudDoiLCBzdGMxOCwgMTU5LCAxOTIsIDIzLCA4CiAgRURJVFRFWFQgZWR0NywgMTg3LCAxOTAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKICBERUZQVVNIQlVUVE9OICJPayIsIElET0ssIDcxLCAyMjAsIDUwLCAxNCwgQlNfUFVTSEJVVFRPTgogIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAxMjYsIDIyMCwgNTAsIDE0CiAgUFVTSEJVVFRPTiAiJlNrcml2YXJlLi4uIiwgcHNoMywgMTg0LCAyMjAsIDQ4LCAxNApFTkQKCk5FV0ZJTEVPUEVOT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgMTY0ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19DT05URVhUSEVMUCB8IFdTX1ZJU0lCTEUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwgV1NfQ0xJUENISUxEUkVOCkNBUFRJT04gItZwcG5hIgpGT05UIDgsICJIZWx2Igp7CiBMVEVYVCAgICAgICAiTGV0YSAmaSIsSURDX0xPT0tJTlNUQVRJQyw0LDYsNDMsOCwgU1NfTk9USUZZCiBDT01CT0JPWCAgICBJRENfTE9PS0lOLDQ5LDMsMTMyLDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKIExURVhUICAgICAgICIiICwgSURDX1RPT0xCQVJTVEFUSUMsIDE4MSwgMiwgMTAyLCAxNywgTk9UIFdTX0dST1VQIHwgTk9UIFdTX1ZJU0lCTEUKIExJU1RCT1ggICAgIElEQ19TSEVMTFNUQVRJQyw0LDIwLDI3Miw4NSwgTEJTX1NPUlQgfCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IExCU19NVUxUSUNPTFVNTiB8IFdTX0hTQ1JPTEwgfCBOT1QgV1NfVklTSUJMRQoKIExURVhUICAgICAgICJGaWwmbmFtbjoiLElEQ19GSUxFTkFNRVNUQVRJQyw1LDExMiw0Niw4LCBTU19OT1RJRlkKIEVESVRURVhUICAgIElEQ19GSUxFTkFNRSw1NCwxMTAsMTU1LDEyLEVTX0FVVE9IU0NST0xMCgogTFRFWFQgICAgICAgIiZGaWxmb3JtYXQiLElEQ19GSUxFVFlQRVNUQVRJQyw1LDEyOCw0Miw4LCBTU19OT1RJRlkKIENPTUJPQk9YICAgIElEQ19GSUxFVFlQRSw1NCwxMjYsMTU1LDUzLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKIENPTlRST0wgICAgICLWcHBuYSBzb20gJnNrcml2c2t5ZGRhZCIsSURDX09QRU5SRUFET05MWSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDU0LDE0NSwxMDAsMTAKCiBERUZQVVNIQlVUVE9OICAgICAgICIm1nBwbmEiLCAgICAgICAgICAgICAgICAgSURPSywyMjIsMTEwLDUwLDE0CiBQVVNIQlVUVE9OICAgICAgICAgICJBdmJyeXQiLCAgICAgICAgICAgICAgICBJRENBTkNFTCwyMjIsMTI4LDUwLDE0CiBQVVNIQlVUVE9OICAgICAgICAgICImSGrkbHAiLCAgICAgICAgICAgICAgICAgcHNoSGVscCwyMjIsMTQ1LDUwLDE0Cn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKIElEU19BQk9VVEJPWCAgICAgICAgICAgICImT20gRm9sZGVyUGlja2VyIFRlc3QiCiBJRFNfRE9DVU1FTlRGT0xERVJTICAgICAiRG9rdW1lbnRtYXBwYXIiCiBJRFNfUEVSU09OQUwgICAgICAgICAgICAiTWluYSBEb2N1bWVudHMiCiBJRFNfRkFWT1JJVEVTICAgICAgICAgICAiTWluYSBGYXZvcml0ZXMiCiBJRFNfUEFUSCAgICAgICAgICAgICAgICAiU3lzdGVtc/ZrduRnIgogSURTX0RFU0tUT1AgICAgICAgICAgICAgIlNrcml2Ym9yZCIKIElEU19GT05UUyAgICAgICAgICAgICAgICJUeXBzbml0dCIKIElEU19NWUNPTVBVVEVSICAgICAgICAgICJEZW4gaORyIGRhdG9ybiIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogSURTX1NZU1RFTUZPTERFUlMgICAgICAgIlN5c3RlbW1hcHBhciIKIElEU19MT0NBTEhBUkRSSVZFUyAgICAgICJMb2thbGEgaOVyZGRpc2thciIKIElEU19GSUxFTk9URk9VTkQgICAgICAgICJLdW5kZSBpbnRlIGhpdHRhIGZpbGVuIgogSURTX1ZFUklGWUZJTEUgICAgICAgICAgIlZhZCBnb2QgdmVyaWZpZXJhIHPlIGtvcnJla3QgZmlsbmFtbiDkciBhbmdpdmV0IgogSURTX0NSRUFURUZJTEUgICAgICAgICAgIkZpbGVuIGZpbm5zIGludGVcblZpbGwgZHUgc2thcGEgZmlsIgogSURTX09WRVJXUklURUZJTEUgICAgICAgIkZpbGVuIGZpbm5zIHJlZGFuLlxuVmlsbCBkdSBlcnPkdHRhIGRlbj8iCiBJRFNfSU5WQUxJRF9GSUxFTkFNRV9USVRMRSAiSWxsZWdhbHQgdGVja2VuIGkgc/ZrduRnIgogSURTX0lOVkFMSURfRklMRU5BTUUgICAgIkV0dCBmaWxuYW1uIGthbiBpbnRlIGlubmVo5WxsYSBu5WdvbiBhdiBm9mxqYW5kZSB0ZWNrZW46IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDogPCA+IHwiCiBJRFNfUEFUSE5PVEVYSVNUSU5HICAgICAiU/ZrduRnZW4gZmlubnMgaW50ZSIKIElEU19GSUxFTk9URVhJU1RJTkcgICAgICJGaWxlbiBmaW5ucyBpbnRlIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiBJRFNfVVBGT0xERVIgICAgICAgICAiVXBwIGVuIG5pduUiCiBJRFNfTkVXRk9MREVSICAgICAgICAiU2thcGEgbnkgbWFwcCIKIElEU19MSVNUVklFVyAgICAgICAgICJMaXN0YSIKIElEU19SRVBPUlRWSUVXICAgICAgICJEZXRhbGplcmF0IgogSURTX1RPREVTS1RPUCAgICAgICAgIlZpc2EgU2tyaXZib3JkZXQiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKIFBEMzJfUFJJTlRfVElUTEUgICAgICAgIlNrcml2IHV0IgoKIFBEMzJfVkFMVUVfVVJFQURBQkxFICAgICAgICAgICAgICAgICAgIk9s5HNiYXJ0IGbkbHQiCiBQRDMyX0lOVkFMSURfUEFHRV9SQU5HRSAiRGV0dGEgduRyZGV0IGxpZ2dlciBpbnRlIGlub20gc2lkb3VydmFsZXQuXG5cClZhciBnb2Qgc2tyaXYgaW4gZXR0IHbkcmRlIG1lbGxhbiAlZCBvY2ggJWQuIgogUEQzMl9GUk9NX05PVF9BQk9WRV9UTyAgICAgICAgICAgICAgICAiJ2Zy5W4nLWbkbHRldCBrYW4gaW50ZSD2dmVyc2tyaWRhICd0aWxsJy1m5Gx0ZXQiCiBQRDMyX01BUkdJTlNfT1ZFUkxBUCAgICAgICAgICAgICAgICAgICJNYXJnaW5hbGVybmEg9nZlcmxhcHBhciBlbGxlciDkciB1dGFuZvZyIFwKcGFwcGVyc2dy5G5zZXJuYS5cblZhciBnb2Qgc2tyaXYgaW4gbWFyZ2luYWxsZXJuYSBpZ2VuLiIKIFBEMzJfTlJfT0ZfQ09QSUVTX0VNUFRZICAgICAgICAgICAgICAgIk51bXJldCAnQW50YWwga29waW9yJyBrYW4gaW50ZSB2YXJhIHRvbXQuIgogUEQzMl9UT09fTEFSR0VfQ09QSUVTICAgICAgICAgICAgICAgICAiRGluIHNrcml2YXJlIHN09mRqZXIgaW50ZSBz5SBt5W5nYSBrb3Bpb3Igc29tIGR1IGFuZ2F2LiBWYWQgZ29kIHNrcml2IGluIGV0dCB25HJkZSBtZWxsYW4gMSBvY2ggJWQuIgogUEQzMl9QUklOVF9FUlJPUiAgICAgICAgICAgICAgICAgICAgICAiRXR0IHNrcml2YXJmZWwgaW50cuRmZmFkZS4iCiBQRDMyX05PX0RFRkFVTFRfUFJJTlRFUiAgICAgICAgICAgICAgICJEZXQgZmlubnMgaW5nZW4gc3RhbmRhcmRza3JpdmFyZS4iCiBQRDMyX0NBTlRfRklORF9QUklOVEVSICAgICAgICAgICAgICAgICJLYW4gaW50ZSBoaXR0YSBza3JpdmFyZS4iCiBQRDMyX09VVF9PRl9NRU1PUlkgICAgICAgICAgICAgICAgICAgICJTbHV0IHDlIG1pbm5lLiIKIFBEMzJfR0VORVJJQ19FUlJPUiAgICAgICAgICAgICAgICAgICAgIkV0dCBmZWwgdXBwc3RvZy4iCiBQRDMyX0RSSVZFUl9VTktOT1dOICAgICAgICAgICAgICAgICAgICJPa+RuZCBza3JpdmFyZHJpdnJ1dGluLiIKCiBQRDMyX0RFRkFVTFRfUFJJTlRFUiAgICAgICAgICAgICAgICAgICJTdGFuZGFyZHNrcml2YXJlOyAiCiBQRDMyX05SX09GX0RPQ1VNRU5UU19JTl9RVUVVRSAgICAgICAgICJEZXQg5HIgJWQgZG9rdW1lbnQgaSBr9m4iCiBQRDMyX1BSSU5UX0FMTF9YX1BBR0VTICAgICAgICAgICAgICAgICImQWxsYSAlZCBzaWRvciIKIFBEMzJfTUFSR0lOU19JTl9JTkNIRVMgICAgICAgICAgICAgICAgIk1hcmdpbmFsZXIgW2luY2hlc10iCiBQRDMyX01BUkdJTlNfSU5fTUlMSU1FVEVSUyAgICAgICAgICAgICJNYXJnaW5hbGVyIFttaWxsaW1ldGVyXSIKIFBEMzJfTUlMSU1FVEVSUyAgICAgICAgICAgICAgICAgICAgICAgIm1pbGxpbWV0ZXIiCgogUEQzMl9QUklOVEVSX1NUQVRVU19SRUFEWSAgICAgICAgICAgICAiUmVkbyIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFVU0VEICAgICAgICAgICAgIlN0YW5uYWQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfRVJST1IgICAgICAgICAgICAgIkZlbDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QRU5ESU5HX0RFTEVUSU9OICAiUGVuZGxhbmRlIGJvcnR0YWduaW5nOyAiCiBQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX0pBTSAgICAgICAgICJQYXBwZXJza3LlbmdlbDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9PVVQgICAgICAgICAiU2x1dCBw5SBwYXBwZXI7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfTUFOVUFMX0ZFRUQgICAgICAgIkZ5bGwgcOUgcGFwcGVyIG1hbnVlbGxldDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9QUk9CTEVNICAgICAiUGFwcGVyc3Byb2JsZW07ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfT0ZGTElORSAgICAgICAgICAgIlNrcml2ZXJhcmUg5G4gYXZzdORuZ2Q7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfSU9fQUNUSVZFICAgICAgICAgIkkvTyBBa3RpdjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19CVVNZICAgICAgICAgICAgICAiVXBwdGFnZW47ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUFJJTlRJTkcgICAgICAgICAgIlNrcml2ZXIgdXQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfT1VUUFVUX0JJTl9GVUxMICAgIlV0bWF0bmluZ3NmYWNrZXQg5HIgZnVsbHQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfTk9UX0FWQUlMQUJMRSAgICAgIkludGUgdGlsbGfkbmdsaWc7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FJVElORyAgICAgICAgICAgIlbkbnRhcjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QUk9DRVNTSU5HICAgICAgICAiUHJvY2VzZXJhcjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19JTklUSUFMSVpJTkcgICAgICAiSW5pdGlhbGlzZXJhcjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19XQVJNSU5HX1VQICAgICAgICAiVuRybWVyIHVwcDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19UT05FUl9MT1cgICAgICAgICAiVG9uZXIgc25hcnQgc2x1dDsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19OT19UT05FUiAgICAgICAgICAiSW5nYSB0b25lcjsgIgogUEQzMl9QUklOVEVSX1NUQVRVU19QQUdFX1BVTlQgICAgICAgICAiU2lkb3B1bnQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfVVNFUl9JTlRFUlZFTlRJT04gIkF2YnJ1dGVuIGF2IGFuduRuZGFyZW47ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfT1VUX09GX01FTU9SWSAgICAgIlNsdXQgcOUgbWlubmU7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfRE9PUl9PUEVOICAgICAgICAgIlNrcml2YXJk9nJyZW4g5HIg9nBwZW47ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfU0VSVkVSX1VOS05PV04gICAgIlNrcml2YXJzZXJ2ZXIgb2vkbmQ7ICIKIFBEMzJfUFJJTlRFUl9TVEFUVVNfUE9XRVJfU0FWRSAgICAgICAgIkZlbHPka2VydCBs5GdlOyAiCn0K