LyoKICogQ29weXJpZ2h0IDE5OTcgUmljYXJkbyBSLiBNYXNzYXJvCiAqIENvcHlyaWdodCAyMDAzIE1hcmNlbG8gRHVhcnRlCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKi8KCi8qCiAqIFdBUk5JTkc6IERPIE5PVCBDSEFOR0UgVEhFIFNJWkUgT0YgVEhFIFNUQU5EQVJEIERJQUxPRyBURU1QTEFURVMuCiAqLwoKTEFOR1VBR0UgTEFOR19QT1JUVUdVRVNFLCBTVUJMQU5HX0RFRkFVTFQKCk9QRU5fRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkFicmlyIgpGT05UIDgsICJIZWx2Igp7CiBMVEVYVCAiTm9tZSBkbyAmQXJxdWl2bzoiLCAxMDkwLCA2LCA2LCA3NiwgOQogRURJVFRFWFQgMTE1MiwgNiwgMTYsIDkwLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBFU19PRU1DT05WRVJUIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkRpcmV083Jpb3M6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICJMaXN0YXIgQXJxdWl2b3MgZG8gJlRpcG86IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggMTEzNiwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIkRyaSZ2ZXM6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCAxMTM3LCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJBYnJpciIsIElET0ssIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJDYW5jZWxhciIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQSZqdWRhIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImU29tZW50ZSBMZWl0dXJhIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClNBVkVfRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlNhbHZhciBDb21vIC4uLiIKRk9OVCA4LCAiSGVsdiIKewogTFRFWFQgIk5vbWUgZG8gJkFycXVpdm86IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZEaXJldPNyaW9zOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiBMVEVYVCAiIiwgMTA4OCwgMTEwLCAxOCwgOTIsIDksIFNTX05PUFJFRklYIHwgV1NfR1JPVVAKIExJU1RCT1ggMTEyMSwgMTEwLCAzMiwgOTIsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiTGlzdGFyIEFycXVpdm9zIGRvICZUaXBvOiIsIDEwODksIDYsIDEwNCwgOTAsIDkKIENPTUJPQk9YIDExMzYsIDYsIDExNCwgOTAsIDM2LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICJEcmkmdmVzOiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggMTEzNywgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiU2FsdmFyICZDb21vIiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImQWp1ZGEiLCAxMDM4LCAyMDgsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZTb21lbnRlIExlaXR1cmEiLCAxMDQwLCAyMDgsIDY4LCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJJbXByaW1pciIKRk9OVCA4LCAiSGVsdiIKewogTFRFWFQgIkltcHJlc3NvcmE6IiwgMTA4OCwgNiwgNiwgNDAsIDkKIExURVhUICIiLCAxMDg5LCA2MCwgNiwgMTUwLCA5CiBHUk9VUEJPWCAiRmFpeGEgZGUgSW1wcmVzc+NvIiwgMTA3MiwgNiwgMzAsIDE2MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiJlR1ZG8iLCAxMDU2LCAxNiwgNDUsIDYwLCAxMgogUkFESU9CVVRUT04gIlMmZWxl5+NvIiwgMTA1NywgMTYsIDYwLCA2MCwgMTIKIFJBRElPQlVUVE9OICImUOFnaW5hcyIsIDEwNTgsIDE2LCA3NSwgNjAsIDEyCiBERUZQVVNIQlVUVE9OICJJbXByaW1pciIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJDYW5jZWxhciIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkNvbmZpZ3VyYXIiLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZEZToiLCAxMDkwLCA2MCwgODAsIDMwLCA5CiBMVEVYVCAiJkF0ZToiLCAxMDkxLCAxMjAsIDgwLCAzMCwgOQogTFRFWFQgIiZRdWFsaWRhZGUgZGUgSW1wcmVzc+NvOiIsIDEwOTIsIDYsIDEwMCwgNzYsIDkKIENPTUJPQk9YIDExMzYsIDgwLCAxMDAsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkltcHJpbWlyIHBhcmEgQXJxdWl2byIsIDEwNDAsIDIwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQyZvbmRlbnNhZG8iLCAxMDQxLCAxNjAsIDEwMCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UX1NFVFVQIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiQ29uZmlndXJh5/VlcyBkZSBJbXByZXNz428iCkZPTlQgOCwgIkhlbHYiCnsKIEdST1VQQk9YICJJbXByZXNzb3JhIiwgMTA3MiwgNiwgMTAsIDE4MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiJkltcHJlc3NvcmEgUGFkcuNvIiwgMTA1NiwgMTYsIDIwLCA4MCwgMTIKIExURVhUICJbbm9uZV0iLCAxMDg4LCAzNSwgMzUsIDEyMCwgOQogUkFESU9CVVRUT04gIkltcHJlc3NvcmEgJkVzcGVj7WZpY2EiLCAxMDU3LCAxNiwgNTAsIDgwLCAxMgogQ09NQk9CT1ggMTEzNiwgMzUsIDY1LCAxNDksIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJPSyIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJDYW5jZWxhciIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkNvbmZpZ3VyYXIiLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIk9yaWVudGHn428iLCAxMDczLCA2LCA4NSwgMTAwLCA1MCwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICImUmV0cmF0byIsIDEwNTgsIDUwLCAxMDAsIDQwLCAxMgogUkFESU9CVVRUT04gIiZQYWlzYWdlbSIsIDEwNTksIDUwLCAxMTUsIDQwLCAxMgogSUNPTiAiTEFORFNDQVAiLCAxMDk3LCAxMCwgOTUsIDMyLCAzMgogSUNPTiAiUE9SVFJBSVQiLCAxMDk4LCAxMCwgOTUsIDMyLCAzMgogR1JPVVBCT1ggIlBhcGVsIiwgMTA3NCwgMTIwLCA4NSwgMTgwLCA1MCwgQlNfR1JPVVBCT1gKIExURVhUICImVGFtYW5obyIsIDEwODksIDEzMCwgOTUsIDMwLCA5CiBMVEVYVCAiJkZvbnRlIGRlIEFsaW1lbnRh5+NvIiwgMTA5MCwgMTMwLCAxMTAsIDMwLCA5CiBDT01CT0JPWCAxMTM3LCAxNTUsIDk1LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENPTUJPQk9YIDExMzgsIDE1NSwgMTEwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKCkNIT09TRV9GT05UIERJQUxPRyBESVNDQVJEQUJMRSAgMTMsIDU0LCAyNjQsIDE0NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJGb250ZSIKRk9OVCA4LCAiSGVsdiIKewogICAgTFRFWFQgICAgICAgICAgICImRm9udGU6IiwxMDg4ICw2LDMsNDAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzYgLDYsMTMsOTQsNTQsICBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiAgICBMVEVYVCAgICAgICAgICAgIiZFc3RpbG8gZGEgRm9udGU6IiwxMDg5ICwxMDgsMyw0NCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzNywxMDgsMTMsNjQsNTQsIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiAgICBMVEVYVCAgICAgICAgICAgIiZUYW1hbmhvOiIsMTA5MCwxNzksMywzMCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzOCwxNzksMTMsMzIsNTQsIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMjE4LDYsNDAsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiQ2FuY2VsYXIiLElEQ0FOQ0VMLDIxOCwyMyw0MCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICImQXBsaWNhciIsIDEwMjYsMjE4LDQwLDQwLDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkEmanVkYSIgLCAxMDM4LDIxOCw1Nyw0MCwxNCxXU19HUk9VUAogICAgR1JPVVBCT1ggICAgICAgICJFZmVpdG9zIiwxMDcyLDYsNzIsODQsMzQsV1NfR1JPVVAKICAgIENIRUNLQk9YCSAgICAiJlJpc2NhZG8iLCAxMDQwLCAxMCw4Miw1MCwxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogICAgQ0hFQ0tCT1ggCSAgICAiJlN1YmxpbmhhZG8iLCAxMDQxLCAxMCw5NCw1MCwxMCwgQlNfQVVUT0NIRUNLQk9YCiAgICBMVEVYVCAgICAgICAgICAgIiZDb3I6IiwgMTA5MSAsNiwxMTAsMzAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzksNiwxMjAsODQsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8CgkJICAgIENCU19BVVRPSFNDUk9MTCB8ICBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICJBbW9zdHJhIixncnAyLDk4LDcyLDEyMCwzNixXU19HUk9VUAogICAgQ1RFWFQgICAgICAgICAgICJBYUJiWXlaeiIsc3RjNSwxMDMsODAsMTA5LDI0LFNTX05PUFJFRklYIHwgTk9UIFdTX1ZJU0lCTEUKICAgIExURVhUICAgICAgICAgICAiU2NyJmlwdCAodHJhbnNsYXRlKToiLHN0YzcgLDk4LDExNCw4MCw5CiAgICBDT01CT0JPWCAgICAgICAgY21iNSw5OCwxMjQsMTIwLDEwLENCU19EUk9QRE9XTkxJU1QgfENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwKCQkgICAgQ0JTX0FVVE9IU0NST0xMIHwgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0NPTE9SIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMzAwLCAxODUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiQ29yIgpGT05UIDgsICJIZWx2Igp7CiBMVEVYVCAiQ29yZXMgJkLhc2ljYXM6IiwgICAxMDg4LCA0LCAgICA0LCAgMTQwLCAxMAogTFRFWFQgIiZDb3JlcyBkbyBVc3XhcmlvOiIsICAxMDg5LCA0LCAgIDEwNiwgMTQwLCAxMAogTFRFWFQgIkNvbG9yaWRvfFPzbGlkJm8iLCAgMTA5MCwgMTUwLCAxNTEsICA0OCwgMTAKIExURVhUICAgIlZlciZtZWxobzoiLCA3MjYgLyoxMDk0Ki8sMjQ5LDEyNiwyNCwxMAogRURJVFRFWFQgNzA2LCAyNzUsMTI0LDE4LDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIiZWZXJkZToiLDcyNy8qMTA5NSovLDI0OSwxNDAsMjQsMTAKIEVESVRURVhUIDcwNywgMjc1LDEzOCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICJBJnp1bDoiLDcyOCAvKjEwOTYqLywyNDksMTU0LDI0LDEwCiBFRElUVEVYVCA3MDgsIDI3NSwxNTIsMTgsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICJNYXQmaXo6IiAsNzIzIC8qMTA5MSovLDIwMiwxMjYsMjIsMTAKIEVESVRURVhUIDcwMywgMjI2LDEyNCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIlNhJnQ6IiAsNzI0IC8qMTA5MiovLDIwMiwxNDAsMjIsMTAKIEVESVRURVhUIDcwNCwgMjI2LDEzOCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZMdW06IiAsNzI1IC8qMTA5MyovLDIwMiwxNTQsMjIsMTAKIEVESVRURVhUIDcwNSwgMjI2LDE1MiwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDT05UUk9MICIiICw3MjAsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxNCwxNDAsODYKIENPTlRST0wgIiIgLDcyMSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDExNiwxNDAsMjgKIENPTlRST0wgIiIgLDcxMCwiU1RBVElDIixXU19CT1JERVJ8U1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDE1Miw0LDExOCwxMTYKIENPTlRST0wgIiIgLDcwMiwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMjc4LDQsOCwxMTYKIENPTlRST0wgIiIgLDcwOSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDEyNCw0MCwyNgogREVGUFVTSEJVVFRPTiAiT0siLCAgSURPSywgIDQsIDE2NiwgNDQsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJDYW5jZWxhciIsIElEQ0FOQ0VMLCA1MiwgMTY2LCA0NCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQWomdWRhIiwgMTAzOCwxMDAsMTY2LCA0NCwgMTQKIFBVU0hCVVRUT04gIiZBZGljaW9uYXIgQ29yIFBlcnNvbmFsaXphZGEiLCAgICA3MTIvKjEwMjQqLywgMTUyLCAxNjYsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkRlZmluaXIgQ29yZXMgUGVyc29uYWxpemFkYXMgPj4iLCA3MTkvKjEwMjUqLywgICA0LCAxNTAsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAgIiZvIiw3MTMsMzAwLDIwMCw0LDE0ICAgLyoganVzdCBhIGR1bW15OiAgJ28nIGlzICBsaWtlICAmbyAgaW4gInNvbGlkJm8iICAqLwp9CgoKRklORERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDIzNiwgNjIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJvY3VyYXIiCkZPTlQgOCwgIkhlbHYiCnsKIExURVhUICImUHJvY3VyYXI6IiwgLTEsIDQsIDgsIDQyLCA4CiBFRElUVEVYVCAxMTUyLCA0NywgNywgMTI4LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQYWxhdnJhICZJbnRlaXJhIiwgMTA0MCwgNCwgMjYsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZNYWn6c2N1bGFzL21pbnVzY3VsYXMiLCAxMDQxLCA0LCA0MiwgNjQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBHUk9VUEJPWCAiRGlyZefjbyIsIDEwNzIsIDEwNywgMjYsIDY4LCAyOAogQ09OVFJPTCAiQSZjaW1hIiwgMTA1NiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTExLCAzOCwgMjAsIDEyCiBDT05UUk9MICJBJmJhaXhvIiwgMTA1NywgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AsIDEzOCwgMzgsIDMwLCAxMgoKIERFRlBVU0hCVVRUT04gIlByb2N1cmFyIGEgUHLzJnhpbWEiLCBJRE9LLCAxODIsIDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJDYW5jZWxhciIsIElEQ0FOQ0VMLCAxODIsIDIzLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQSZqdWRhIiwgMTAzOCwgMTgyLCA0NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClJFUExBQ0VETEdPUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyMzAsIDk0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlN1YnN0aXR1aXIiCkZPTlQgOCwgIkhlbHYiCnsKIExURVhUICImUHJvY3VyYXI6IiwgLTEsIDQsIDksIDQ4LCA4CiBFRElUVEVYVCAxMTUyLCA1NCwgNywgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICJTdWJzdGl0dWlyIFBhJnJhOiIsIC0xLCA0LCAyNiwgNDgsIDgKIEVESVRURVhUIDExNTMsIDU0LCAyNCwgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQYWxhdnJhICZpbnRlaXJhIiwgMTA0MCwgNSwgNDYsIDEwNCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZNYWn6c2N1bGFzL21pbvpzY3VsYXMiLCAxMDQxLCA1LCA2MiwgNTksIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCgogREVGUFVTSEJVVFRPTiAiUHJvY3VyYXIgYSBQcvMmeGltYSIsIElET0ssCTE3NCwgIDQsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QIHwgQlNfREVGUFVTSEJVVFRPTgogUFVTSEJVVFRPTiAiJlN1YnN0aXR1aXIiLCBwc2gxLAkJCTE3NCwgMjEsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJTdWJzdGl0dWlyICZUb2RhcyIsIHBzaDIsCQkxNzQsIDM4LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQ2FuY2VsYXIiLCBJRENBTkNFTCwJCTE3NCwgNTUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBJmp1ZGEiLCBwc2hIZWxwLAkJCTE3NCwgNzUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVDMyIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTg2ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICAgIERTX0NPTlRFWFRIRUxQIHwgRFNfM0RMT09LCkNBUFRJT04gIkltcHJpbWlyIgpGT05UIDgsICJIZWx2Igp7CiAgICBERUZQVVNIQlVUVE9OICAgIk9LIiwJSURPSywgICAgIDE4MCwxNjQsIDUwLDE0LCBXU19HUk9VUCB8IEJTX0RFRlBVU0hCVVRUT04KICAgIFBVU0hCVVRUT04JICAgICJDYW5jZWxhciIsCUlEQ0FOQ0VMLCAyMzIsMTY0LCA1MCwxNCwgV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJkFqdWRhIiwgICBwc2hIZWxwLCAgNTAsIDE2MSwgNTAsMTQsIFdTX0dST1VQCgogICAgR1JPVVBCT1ggICAgICAgICJJbXByZXNzb3JhIiwJCWdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiSW1wcmltaXIgZW0gYXJxdWkmdm8iLAljaHgxLCAiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjEyLDcwLDY0LDEyCiAgICBQVVNIQlVUVE9OICAgICAgIlByb3ByaSZlZGFkZXMiLAkJcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImTm9tZToiLAkJCXN0YzYsICAxNiwgMjAsICAzNiw4CiAgICBDT01CT0JPWAkJCQkJY21iNCwgIDUyLCAxOCwgMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIlN0YXR1czoiLAkJCXN0YzgsICAxNiwgMzYsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiRHVtbXkgU3RhdGUiLAkJc3RjMTIsIDUyLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIlRpcG86IiwJCQlzdGM3LCAgMTYsIDQ4LCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IFR5cGUiLAkJc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIk9uZGU6IiwJCQlzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IExvY2F0aW9uIiwJCXN0YzE0LCA1MiwgNjAsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICJDb21lbnThcmlvOiIsCQlzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IFJlbWFyayIsCQlzdGMxMywgNTIsIDcyLCAxNTIsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCiAgICBHUk9VUEJPWCAgICAgICAgIkPzcGlhcyIsCQkJZ3JwMiwgMTYwLCA5MiwgMTIwLDY0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICJO+m1lcm8gZGUgJmPzcGlhczoiLAlzdGM1LCAxNjgsMTA4LCAgNjgsIDgKICAgIElDT04gICAgICAgICAgICAiIiwJCQkJaWNvMywgMTYyLDEyNCwgIDc2LDI0LCBXU19HUk9VUCB8IFNTX0NFTlRFUklNQUdFCiAgICBDT05UUk9MICAgICAgICAgIiZBZ3J1cGFyIiwJCQljaHgyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyNDAsMTMwLDM2LDEyCiAgICBFRElUVEVYVAkJCQkJZWR0MywgMjQwLDEwNiwgIDMyLDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgoKICAgIEdST1VQQk9YICAgICAgICAiRmFpeGEgZGUgaW1wcmVzc+NvIiwJZ3JwMSwgICA4LDkyLCAgMTQ0LDY0LCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICImVG9kb3MiLAkJCXJhZDEsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNiw2NCwxMgogICAgQ09OVFJPTCAgICAgICAgICJQ4SZnaW5hcyIsCQkJcmFkMywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIyLDM2LDEyCiAgICBDT05UUk9MICAgICAgICAgIlNlbGXn428iLAkJCXJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEzOCw2NCwxMgogICAgRURJVFRFWFQJCQkJCWVkdDEsICA3NCwxMjIsICAyNiwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKICAgIEVESVRURVhUCQkJCQllZHQyLCAxMTgsMTIyLCAgMjYsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSCiAgICBSVEVYVCAgICAgICAgICAgIiZkZToiLAkJCXN0YzIsICA1MiwxMjQsICAyMCw4CiAgICBSVEVYVCAgICAgICAgICAgIiZhdOk6IiwJCQlzdGMzLCAxMDAsMTI0LCAgMTYsOAp9CgpQUklOVDMyX1NFVFVQIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTc4ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICAgIERTX0NPTlRFWFRIRUxQIHwgRFNfM0RMT09LCkNBUFRJT04gIkNvbmZpZ3VyYef1ZXMgZGUgSW1wcmVzc+NvIgpGT05UIDgsICJIZWx2IgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsCUlET0ssMTgwLDE1Niw1MCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJDYW5jZWxhciIsCUlEQ0FOQ0VMLDIzMiwxNTYsNTAsMTQKLyogICAgUFVTSEJVVFRPTiAgICAgICJSZWRlLi4uIiwJcHNoNSwgMjg0LDE1Niw1MCwxNCAqLwoKICAgIEdST1VQQk9YCSJJbXByZXNzb3JhIiwgICAgIGdycDQsICAgOCwgICA0LCAyNzIsICA4NCwgV1NfR1JPVVAKICAgIFBVU0hCVVRUT04JIiZQcm9wcmllZGFkZXMiLCAgcHNoMiwgMjEyLCAgMTcsICA2MCwgIDE0LCBXU19HUk9VUAogICAgTFRFWFQJIiZOb21lOiIsICAgICAgICAgc3RjNiwgIDE2LCAgMjAsICAzNiwgICA4CiAgICBDT01CT0JPWAkJCSAgY21iMSwgIDUyLCAgMTgsIDE1MiwgMTUyLCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVAkiU3RhdHVzOiIsICAgICAgICBzdGM4LCAgMTYsICAzNiwgIDM2LCAgMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVAkiRHVtbXkgU3RhdGUiLCAgICBzdGMxMiwgNTIsICAzNiwgMjI0LCAgMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUCSJUaXBvOiIsICAgICAgICAgIHN0YzcsICAxNiwgIDQ4LCAgMzYsICAxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUCSJEdW1teSBUeXBlIiwgICAgIHN0YzExLCA1MiwgIDQ4LCAyMjQsICAxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQJIk9uZGU6IiwgICAgICAgICAgc3RjMTAsIDE2LCAgNjAsICAzNiwgIDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQJIkR1bW15IExvY2F0aW9uIiwgc3RjMTQsIDUyLCAgNjAsIDIyNCwgIDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVAkiQ29tZW504XJpbyIsICAgICBzdGM5LCAgMTYsICA3MiwgIDM2LCAgMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVAkiRHVtbXkgUmVtYXJrIiwgICBzdGMxMywgNTIsICA3MiwgMjI0LCAgMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCiAgICBHUk9VUEJPWAkiUGFwZWwiLCAgICAgICAgICBncnAyLCAgIDgsICA5MiwgMTY0LCAgNTYsIFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAiJlRhbWFuaG86IiwgICAgICBzdGMyLCAgMTYsIDEwOCwgIDM2LCAgIDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgIGNtYjIsICA1MiwgMTA2LCAxMTIsIDExMiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQJIiZPcmlnZW06IiwgICAgICAgc3RjMywgIDE2LCAxMjgsICAzNiwgICA4CiAgICBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICBjbWIzLCAgNTIsIDEyNiwgMTEyLCAxMTIsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKCiAgICBHUk9VUEJPWAkiT3JpZW50YefjbyIsICAgICBncnAxLCAxODAsICA5MiwgMTAwLCAgNTYsIFdTX0dST1VQCiAgICBJQ09OCSIiLCAgICAgICAgICAgICAgIGljbzEsIDE5NSwgMTEyLCAgMTgsICAyMCwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICImUmV0cmF0byIsICAgICAgIHJhZDEsICJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDIyNCwgMTA2LCA1MiwgMTIKICAgIENPTlRST0wJIiZQYWlzYWdlbSIsICAgICAgcmFkMiwgIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwgMjI0LCAxMjYsIDUyLCAxMgpFTkQKClBBR0VTRVRVUERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzMiwgMzIsIDI0MCwgMjQwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJDb25maWd1cmHn9WVzIGRlIFDhZ2luYSIKRk9OVCA4LCAiSGVsdiIKQkVHSU4KICBDT05UUk9MICIiLCByY3QxLCAxMzAsIDB4MDAwMjAwMDYsIDgwLCA4LCA4MCwgODAsICBTU19XSElURVJFQ1QKICBDT05UUk9MICIiLCByY3QyLCAxMzAsIDB4MDAwMjAwMDUsIDE2MCwgMTIsIDQsIDgwLCBTU19HUkFZUkVDVAogIENPTlRST0wgIiIsIHJjdDMsIDEzMCwgMHgwMDAyMDAwNSwgODQsIDg4LCA4MCwgNCwgIFNTX0dSQVlSRUNUCiAgR1JPVVBCT1ggIlBhcGVsIiwgZ3JwMiwgOCwgOTYsIDIyNCwgNTYsIEJTX0dST1VQQk9YCiAgTFRFWFQgIiZUYW1hbmhvOiIsIHN0YzIsIDE2LCAxMTIsIDM2LCA4CiAgQ09NQk9CT1ggY21iMiwgNjQsIDExMCwgMTYwLCAxNjAsIENCU19TSU1QTEV8Q0JTX0RST1BET1dOfENCU19TT1JUfFdTX0dST1VQfFdTX1RBQlNUT1B8V1NfVlNDUk9MTAogIExURVhUICImQmFuZGVqYToiLCBzdGMzLCAxNiwgMTMyLCAzNiwgOAogIENPTUJPQk9YIGNtYjMsIDY0LCAxMzAsIDE2MCwgMTYwLCBDQlNfU0lNUExFfENCU19EUk9QRE9XTnxDQlNfU09SVHxXU19HUk9VUHxXU19UQUJTVE9QfFdTX1ZTQ1JPTEwKICBHUk9VUEJPWCAiT3JpZW50YefjbyIsIGdycDEsIDgsIDE1NiwgNjQsIDU2LCBCU19HUk9VUEJPWAogIEFVVE9SQURJT0JVVFRPTiAiJlJldHJhdG8iLCByYWQxLCAxNiwgMTcwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgogIEFVVE9SQURJT0JVVFRPTiAiJlBhaXNhZ2VtIiwgcmFkMiwgMTYsIDE5MCwgNTIsIDEyLCBCU19BVVRPUkFESU9CVVRUT04KICBHUk9VUEJPWCAiQm9yZGFzIiwgZ3JwNCwgODAsIDE1NiwgMTUyLCA1NiwgQlNfR1JPVVBCT1gKICBMVEVYVCAiJkVzcXVlcmRhOiIsIHN0YzE1LCA4OCwgMTcyLCAyMSwgOAogIEVESVRURVhUIGVkdDQsIDExMSwgMTcwLCAzOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSCiAgTFRFWFQgIiZEaXJlaXRhOiIsIHN0YzE2LCAxNTksIDE3MiwgMjcsIDgKICBFRElUVEVYVCBlZHQ2LCAxODcsIDE3MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIExURVhUICImU3VwZXJpb3I6Iiwgc3RjMTcsIDg4LCAxOTIsIDIxLCA4CiAgRURJVFRFWFQgZWR0NSwgMTExLCAxOTAsIDM5LCAxMiwgV1NfVEFCU1RPUHxXU19HUk9VUHxXU19CT1JERVIKICBMVEVYVCAiJkluZmVyaW9yOiIsIHN0YzE4LCAxNTksIDE5MiwgMjMsIDgKICBFRElUVEVYVCBlZHQ3LCAxODcsIDE5MCwgMzksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUgogIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgNzEsIDIyMCwgNTAsIDE0LCBCU19QVVNIQlVUVE9OCiAgUFVTSEJVVFRPTiAiQ2FuY2VsYXIiLCBJRENBTkNFTCwgMTI2LCAyMjAsIDUwLCAxNAogIFBVU0hCVVRUT04gIkltJnByZXNzb3JhLi4uIiwgcHNoMywgMTg0LCAyMjAsIDUwLCAxNApFTkQKCk5FV0ZJTEVPUEVOT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgMTY0ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19DT05URVhUSEVMUCB8IFdTX1ZJU0lCTEUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwgV1NfQ0xJUENISUxEUkVOCkNBUFRJT04gIkFicmlyIgpGT05UIDgsICJIZWx2Igp7CiAgICBMVEVYVAkiJkV4YW1pbmFyOiIsSURDX0xPT0tJTlNUQVRJQyw1LDYsMzEsOCwgU1NfTk9USUZZCiAgICBDT01CT0JPWAlJRENfTE9PS0lOLDQwLDMsMTM0LDMwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIExURVhUCSIiICwgSURDX1RPT0xCQVJTVEFUSUMsIDE3MiwgMiwgMTAyLCAxNywgTk9UIFdTX0dST1VQIHwgTk9UIFdTX1ZJU0lCTEUKICAgIExJU1RCT1gJSURDX1NIRUxMU1RBVElDLDQsMjAsMjcyLDg1LCBMQlNfU09SVCB8IExCU19OT0lOVEVHUkFMSEVJR0hUIHwgTEJTX01VTFRJQ09MVU1OIHwgV1NfSFNDUk9MTCB8IE5PVCBXU19WSVNJQkxFCgogICAgTFRFWFQJIiZOb21lIGRvIGFycXVpdm86IixJRENfRklMRU5BTUVTVEFUSUMsNSwxMTIsNDgsMTYsIFNTX05PVElGWQogICAgRURJVFRFWFQJSURDX0ZJTEVOQU1FLDU0LDExMSwxNTUsMTIsRVNfQVVUT0hTQ1JPTEwKCiAgICBMVEVYVAkiQXJxdWl2b3MgZG8gJnRpcG8iLElEQ19GSUxFVFlQRVNUQVRJQyw1LDEzMSw0OCwxNiwgU1NfTk9USUZZCiAgICBDT01CT0JPWAlJRENfRklMRVRZUEUsNTQsMTI5LDE1NSwxMDAsQ0JTX0RST1BET1dOIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBDT05UUk9MCSJBYnJpciBjb21vICZzb21lbnRlLWxlaXR1cmEiLElEQ19PUEVOUkVBRE9OTFksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw1NCwxNDgsNzQsMTAKCiAgICBERUZQVVNIQlVUVE9OCSImQWJyaXIiLAkJSURPSywyMjIsMTEwLDUwLDE0CiAgICBQVVNIQlVUVE9OCQkiQ2FuY2VsYXIiLAkJSURDQU5DRUwsMjIyLDEyOCw1MCwxNAogICAgUFVTSEJVVFRPTgkJIiZBanVkYSIsCQlwc2hIZWxwLDIyMiwxNDUsNTAsMTQKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgSURTX0FCT1VUQk9YCSImU29icmUgRm9sZGVyUGlja2VyIFRlc3QiCiAgICBJRFNfRE9DVU1FTlRGT0xERVJTCSJQYXN0YXMgZGUgRG9jdW1lbnRvcyIKICAgIElEU19QRVJTT05BTAkiTWV1cyBEb2N1bWVudG9zIgogICAgSURTX0ZBVk9SSVRFUwkiRmF2b3JpdG9zIgogICAgSURTX1BBVEgJCSJDYW1pbmhvIGRvIFNpc3RlbWEiCiAgICBJRFNfREVTS1RPUAkJIsFyZWEgZGUgVHJhYmFsaG8iCiAgICBJRFNfRk9OVFMJCSJGb250ZXMiCiAgICBJRFNfTVlDT01QVVRFUgkiTWV1IENvbXB1dGFkb3IiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19TWVNURU1GT0xERVJTCSJQYXN0YXMgZG8gU2lzdGVtYSIKICAgIElEU19MT0NBTEhBUkRSSVZFUwkiRGlzY29zIFLtZ2lkb3MgTG9jYWlzIgogICAgSURTX0ZJTEVOT1RGT1VORAkiQXJxdWl2byBu428gZW5jb250cmFkbyIKICAgIElEU19WRVJJRllGSUxFCSJQb3IgZmF2b3IgdmVyaWZpcXVlIHNlIGZvaSBmb3JuZWNpZG8gbyBub21lIGNvcnJldG8gZG8gYXJxdWl2byIKICAgIElEU19DUkVBVEVGSUxFCSJBcnF1aXZvIG7jbyBleGlzdGVcblZvY+ogZ29zdGFyaWEgZGUgY3JpYS1sbyIKICAgIElEU19PVkVSV1JJVEVGSUxFICAgICAgICJBcnF1aXZvIGrhIGV4aXN0ZS5cbkdvc3RhcmlhIGRlIHN1YnN0aXR17S1sbz8iCiAgICBJRFNfSU5WQUxJRF9GSUxFTkFNRV9USVRMRSAiQ2FyYWN0ZXIoZXMpIGluduFsaWRvcyBubyBjYW1pbmhvIgogICAgSURTX0lOVkFMSURfRklMRU5BTUUgICAgIlVtIG5vbWUgZGUgYXJxdWl2byBu428gcG9kZSBjb250ZXIgcXVhaXNxdWVyIGRvcyBzZWd1aW50ZXMgY2FyYWN0ZXJlczogXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8gOiA8ID4gfCIKICAgIElEU19QQVRITk9URVhJU1RJTkcgICAgICJDYW1pbmhvIG7jbyBleGlzdGUiCiAgICBJRFNfRklMRU5PVEVYSVNUSU5HICAgICAiQXJxdWl2byBu428gZXhpc3RlIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfVVBGT0xERVIgICAgICAgICAiVW0gTu12ZWwgQWNpbWEiCiAgICBJRFNfTkVXRk9MREVSICAgICAgICAiQ3JpYXIgTm92YSBQYXN0YSIKICAgIElEU19MSVNUVklFVyAgICAgICAgICJMaXN0YSIKICAgIElEU19SRVBPUlRWSUVXICAgICAgICJEZXRhbGhlcyIKICAgIElEU19UT0RFU0tUT1AgICAgICAgICLBcmVhIGRlIFRyYWJhbGhvIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBQRDMyX1BSSU5UX1RJVExFCQkJCSJJbXByaW1pciIKCiAgICBQRDMyX1ZBTFVFX1VSRUFEQUJMRQkJCSJFbnRyYWRhIElsZWftdmVsIgogICAgUEQzMl9JTlZBTElEX1BBR0VfUkFOR0UJCQkiRXN0ZSB2YWxvciBu428gc2UgZW5jYWl4YSBuYSBmYWl4YSBkZSBw4WdpbmFzXG5cClBvciBmYXZvciBlbnRyZSB1bSB2YWxvciBlbnRyZSAlZCBlICVkLiIKICAgIFBEMzJfRlJPTV9OT1RfQUJPVkVfVE8JCQkiQSBlbnRyYWRhIERFIG7jbyBwb2RlIGV4Y2VkZXIgQVTJLiIKICAgIFBEMzJfTUFSR0lOU19PVkVSTEFQCQkJIkFzIG1hcmdlbnMgZXN0428gZm9yYSBkYXMgbWVkaWRhcyBcCmRvIHBhcGVsLlxuUG9yIGZhdm9yIHJlZW50cmUgYXMgbWFyZ2Vucy4iCiAgICBQRDMyX05SX09GX0NPUElFU19FTVBUWQkJCSJPIG76bWVybyBkZSBj83BpYXMgbuNvIHBvZGUgdGVyIHZhbG9yIHZhemlvLiIKICAgIFBEMzJfVE9PX0xBUkdFX0NPUElFUwkJCSJFc3RhIGdyYW5kZSBxdWFudGlkYWRlIGRlIGPzcGlhcyBu428g6SBzdXBvcnRhZGEgXApwZWxhIHN1YSBpbXByZXNzb3JhLlxuUG9yIGZhdm9yIGVudHJlIHVtIHZhbG9yIGVudHJlIDEgZSAlZC4iCiAgICBQRDMyX1BSSU5UX0VSUk9SCQkJCSJPY29ycmV1IHVtIGVycm8gZGUgaW1wcmVzc+NvLiIKICAgIFBEMzJfTk9fREVGQVVMVF9QUklOVEVSCQkJIk7jbyBleGlzdGUgdW1hIGltcHJlc3NvcmEgcGFkcuNvLiIKICAgIFBEMzJfQ0FOVF9GSU5EX1BSSU5URVIJCQkiTuNvIOkgcG9zc+12ZWwgZW5jb250cmFyIHVtYSBpbXByZXNzb3JhLiIKICAgIFBEMzJfT1VUX09GX01FTU9SWQkJCQkiTWVt83JpYSBpbnN1ZmljaWVudGUuIgogICAgUEQzMl9HRU5FUklDX0VSUk9SCQkJCSJPY29ycmV1IGFsZ3VtIGVycm8uIgogICAgUEQzMl9EUklWRVJfVU5LTk9XTgkJCQkiRHJpdmVyIGRlIGltcHJlc3NvcmEgZGVzY29uaGVjaWRvLiIKCiAgICBQRDMyX0RFRkFVTFRfUFJJTlRFUgkJCSJJbXByZXNzb3JhIFBhZHLjbzsgIgogICAgUEQzMl9OUl9PRl9ET0NVTUVOVFNfSU5fUVVFVUUJCSJFeGlzdGVtICVkIGRvY3VtZW50b3MgbmEgZmlsYSIKICAgIFBEMzJfUFJJTlRfQUxMX1hfUEFHRVMJCQkiJlRvZGFzICVkIHDhZ2luYXMiCiAgICBQRDMyX01BUkdJTlNfSU5fSU5DSEVTCQkJIk1hcmdlbnMgW3BvbGVnYWRhc10iCiAgICBQRDMyX01BUkdJTlNfSU5fTUlMSU1FVEVSUwkJCSJNYXJnZW5zIFttbV0iCiAgICBQRDMyX01JTElNRVRFUlMJCQkJIm1tIgoKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUkVBRFkJCQkiUHJvbnRvIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVVTRUQJCQkiUGF1c2FkYTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19FUlJPUgkJCSJFcnJvOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BFTkRJTkdfREVMRVRJT04JIkV4Y2x1c+NvIHBlbmRlbnRlOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX0pBTQkJIlBhcGVsIGF0b2xhZG87ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfT1VUCQkiU2VtIHBhcGVsOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX01BTlVBTF9GRUVECQkiQWxpbWVudGHn428gbWFudWFsOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX1BST0JMRU0JCSJQcm9ibGVtYXMgY29tIG8gcGFwZWw7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfT0ZGTElORQkJCSJJbXByZXNzb3JhIGRlc2xpZ2FkYTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19JT19BQ1RJVkUJCSJFL1MgQXRpdmE7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfQlVTWQkJCSJPY3VwYWRhOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BSSU5USU5HCQkiSW1wcmltaW5kbzsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PVVRQVVRfQklOX0ZVTEwJCSJCYW5kZWphIGRlIHNh7WRhIGVzdOEgY2hlaWE7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfTk9UX0FWQUlMQUJMRQkJIk7jbyBkaXNwb27tdmVsOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1dBSVRJTkcJCQkiRXNwZXJhbmRvOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BST0NFU1NJTkcJCSJQcm9jZXNzYW5kbzsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19JTklUSUFMSVpJTkcJCSJJbmljaWFsaXphbmRvOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1dBUk1JTkdfVVAJCSJBcXVlY2VuZG87ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfVE9ORVJfTE9XCQkiUG91Y28gdG9uZXI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfTk9fVE9ORVIJCSJTZW0gdG9uZXI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFHRV9QVU5UCQkiTGFu52FyIHDhZ2luYTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19VU0VSX0lOVEVSVkVOVElPTgkiSW50ZXJ2ZW7n428gZG8gdXN14XJpbzsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PVVRfT0ZfTUVNT1JZCQkiTWVt83JpYSBpbnN1ZmljaWVudGU7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfRE9PUl9PUEVOCQkiQSBpbXByZXNzb3JhIGVzdOEgYWJlcnRhOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1NFUlZFUl9VTktOT1dOCQkiU2Vydmlkb3IgZGUgaW1wcmVzc+NvIGRlc2NvbmhlY2lkbzsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QT1dFUl9TQVZFCQkiTW9kbyBlY29u9G1pY287ICIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUgLyogTm9tZXMgZGUgY29yZXMgKi8KewogICAgSURTX0NPTE9SX0JMQUNLICAgICAiUHJldG8iCiAgICBJRFNfQ09MT1JfTUFST09OICAgICJDYXN0YW5obyIKICAgIElEU19DT0xPUl9HUkVFTiAgICAgIlZlcmRlIgogICAgSURTX0NPTE9SX09MSVZFICAgICAiVmVyZGUtb2xpdmEiCiAgICBJRFNfQ09MT1JfTkFWWSAgICAgICJBenVsLW1hcmluaG8iCiAgICBJRFNfQ09MT1JfUFVSUExFICAgICJSb3hvIgogICAgSURTX0NPTE9SX1RFQUwgICAgICAiQXp1bC1wZXRy82xlbyIKICAgIElEU19DT0xPUl9HUkFZICAgICAgIkNpbnphIgogICAgSURTX0NPTE9SX1NJTFZFUiAgICAiUHJhdGVhZG8iCiAgICBJRFNfQ09MT1JfUkVEICAgICAgICJWZXJtZWxobyIKICAgIElEU19DT0xPUl9MSU1FICAgICAgIlZlcmRlLWxpbeNvIgogICAgSURTX0NPTE9SX1lFTExPVyAgICAiQW1hcmVsbyIKICAgIElEU19DT0xPUl9CTFVFICAgICAgIkF6dWwiCiAgICBJRFNfQ09MT1JfRlVDSFNJQSAgICJG+mNzaWEiCiAgICBJRFNfQ09MT1JfQVFVQSAgICAgICJBenVsLXBpc2NpbmEiCiAgICBJRFNfQ09MT1JfV0hJVEUgICAgICJCcmFuY28iCn0K