LyoKICogQ29weXJpZ2h0IDE5OTcgSm9obiBaZXJvCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfSFVOR0FSSUFOLCBTVUJMQU5HX0RFRkFVTFQKCk9QRU5fRklMRSBESUFMT0cgMzYsIDI0LCAyNzUsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJNZWdueWl04XMiCkZPTlQgOCwgIkhlbHYiCkJFR0lOCiAgICAgICAgTFRFWFQgIkZpbGUgJm5ldmU6IiwgMTA5MCwgNiwgNiwgNzYsIDkKICAgICAgICBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiAgICAgICAgTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiAgICAgICAgTFRFWFQgIiZL9m55dnThcmFrOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiAgICAgICAgQ09OVFJPTCAiIiwgMTA4OCwgIlNUQVRJQyIsIFNTX05PUFJFRklYIHwgV1NfR1JPVVAsIDExMCwgMTgsIDkyLCA5CiAgICAgICAgTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKICAgICAgICBMVEVYVCAiRmlsZSAmdO1wdXNvazoiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiAgICAgICAgQ09OVFJPTCAiIiwgMTEzNiwgIkNPTUJPQk9YIiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QLCA2LCAxMTQsIDkwLCAzNgogICAgICAgIExURVhUICImTWVnaGFqdPNrOiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogICAgICAgIENPTlRST0wgIiIsIDExMzcsICJDT01CT0JPWCIsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AsIDExMCwgMTE0LCA5MiwgNjgKICAgICAgICBDT05UUk9MICJNZWdueWl04XMiLCBJRE9LLCAiQlVUVE9OIiwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjA4LCA2LCA1NiwgMTQKICAgICAgICBDT05UUk9MICJN6WdzZW0iLCBJRENBTkNFTCwgIkJVVFRPTiIsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjA4LCAyNCwgNTYsIDE0CiAgICAgICAgQ09OVFJPTCAiJlNlZ+10c+lnIiwgMTAzOCwgIkJVVFRPTiIsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjA4LCA0NiwgNTYsIDE0CiAgICAgICAgQ09OVFJPTCAiJkNzYWsgb2x2YXNoYXTzIiwgMTA0MCwgIkJVVFRPTiIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMjA4LCA2OCwgNjMsIDEyCkVORAoKU0FWRV9GSUxFIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTWVudOlzIPpqIG7pdmVuIC4uLiIKRk9OVCA4LCAiSGVsdiIKewogTFRFWFQgIkZpbGUgJm5ldmU6IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZL9m55dnThcmFrOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiBMVEVYVCAiIiwgMTA4OCwgMTEwLCAxOCwgOTIsIDksIFNTX05PUFJFRklYIHwgV1NfR1JPVVAKIExJU1RCT1ggMTEyMSwgMTEwLCAzMiwgOTIsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiRmlsZSAmdO1wdXNvazoiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCAxMTM2LCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJk1lZ2hhanTzazoiLCAxMDkxLCAxMTAsIDEwNCwgOTIsIDkKIENPTUJPQk9YIDExMzcsIDExMCwgMTE0LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIk1lbnTpcyD6aiBu6XZlbiIsIElET0ssIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJN6WdzZW0iLCBJRENBTkNFTCwgMjA4LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZTZWftdHPpZyIsIDEwMzgsIDIwOCwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJkNzYWsgb2x2YXNoYXTzIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTnlvbXRhdOFzIgpGT05UIDgsICJIZWx2Igp7CiBMVEVYVCAiTnlvbXRhdPM6IiwgMTA4OCwgNiwgNiwgNDAsIDkKIExURVhUICIiLCAxMDg5LCA2MCwgNiwgMTUwLCA5CiBHUk9VUEJPWCAiTnlvbXRhdGFuZPMgdGVy/GxldCIsIDEwNzIsIDYsIDMwLCAxNjAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZNaW5kIiwgMTA1NiwgMTYsIDQ1LCA2MCwgMTIKIFJBRElPQlVUVE9OICImS2l24Wxhc3p0b3R0IiwgMTA1NywgMTYsIDYwLCA2MCwgMTIKIFJBRElPQlVUVE9OICImTGFwb2siLCAxMDU4LCAxNiwgNzUsIDYwLCAxMgogREVGUFVTSEJVVFRPTiAiTnlvbXRhdOFzIiwgSURPSywgMjA2LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIk3pZ3NlbSIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkJl4Wxs7XThcyIsIDEwMjQsIDIwNiwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiLSZ082w6IiwgMTA5MCwgNjAsIDgwLCAzMCwgOQogTFRFWFQgIi0maWc6IiwgMTA5MSwgMTIwLCA4MCwgMzAsIDkKIExURVhUICJNaSZu9XPpZzoiLCAxMDkyLCA2LCAxMDAsIDc2LCA5CiBDT01CT0JPWCAxMTM2LCA4MCwgMTAwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImRmlsZS1iYSBueW9tdGF0IiwgMTA0MCwgMjAsIDEwMCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJT+3L7IiwgMTA0MSwgMTYwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVF9TRVRVUCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIk55b210YXTzIGJl4Wxs7XThc2EiCkZPTlQgOCwgIkhlbHYiCnsKIEdST1VQQk9YICJOeW9tdGF08yIsIDEwNzIsIDYsIDEwLCAxODAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIiZBbGFw6XJ0ZWxtZXpldHQgbnlvbXRhdPMiLCAxMDU2LCAxNiwgMjAsIDgwLCAxMgogTFRFWFQgIltuaW5jc10iLCAxMDg4LCAzNSwgMzUsIDEyMCwgOQogUkFESU9CVVRUT04gIiZBZG90dCBueW9tdGF08yIsIDEwNTcsIDE2LCA1MCwgODAsIDEyCiBDT01CT0JPWCAxMTM2LCAzNSwgNjUsIDE0OSwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIk9rIiwgSURPSywgMjA2LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIk3pZ3NlbSIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkJl4Wxs7XThcyIsIDEwMjQsIDIwNiwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBHUk9VUEJPWCAiT2xkYWxmZWt26XMiLCAxMDczLCA2LCA4NSwgMTAwLCA1MCwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICLBJmxs8yIsIDEwNTgsIDUwLCAxMDAsIDQwLCAxMgogUkFESU9CVVRUT04gIiZGZWt29SIsIDEwNTksIDUwLCAxMTUsIDQwLCAxMgogSUNPTiAiTEFORFNDQVAiLCAxMDk3LCAxMCwgOTUsIDMyLCAzMgogSUNPTiAiUE9SVFJBSVQiLCAxMDk4LCAxMCwgOTUsIDMyLCAzMgogR1JPVVBCT1ggIlBhcO1yIiwgMTA3NCwgMTIwLCA4NSwgMTgwLCA1MCwgQlNfR1JPVVBCT1gKIExURVhUICImTelyZXRlIiwgMTA4OSwgMTMwLCA5NSwgMzAsIDkKIExURVhUICJGbyZycuFzYSIsIDEwOTAsIDEzMCwgMTEwLCAzMCwgOQogQ09NQk9CT1ggMTEzNywgMTU1LCA5NSwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBDT01CT0JPWCAxMTM4LCAxNTUsIDExMCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCn0KCgpDSE9PU0VfRk9OVCBESUFMT0cgRElTQ0FSREFCTEUgIDEzLCA1NCwgMjY0LCAxNDcKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRm9udCIKRk9OVCA4LCAiSGVsdiIKewogICAgTFRFWFQgICAgICAgICAgICImRm9udDoiLDEwODggLDYsMyw0MCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzNiAsNiwxMyw5NCw1NCwgIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgICAgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKICAgIExURVhUICAgICAgICAgICAiRm9udCAmc3TtbHVzOiIsMTA4OSAsMTA4LDMsNDQsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzcsMTA4LDEzLDY0LDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRQogICAgTFRFWFQgICAgICAgICAgICImTelyZXQ6IiwxMDkwLDE3OSwzLDMwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM4LDE3OSwxMywzMiw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUgfCBDQlNfU09SVAogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywyMTgsNiw0MCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJN6WdzZW0iLElEQ0FOQ0VMLDIxOCwyMyw0MCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICImQWxrYWxtYXoiLCAxMDI2LDIxOCw0MCw0MCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICImU2Vn7XRz6WciICwgMTAzOCwyMTgsNTcsNDAsMTQsV1NfR1JPVVAKICAgIEdST1VQQk9YICAgICAgICAiRWZmZWt0dXNvayIsMTA3Miw2LDcyLDg0LDM0LFdTX0dST1VQCiAgICBDSEVDS0JPWCAgICAgICAgIsEmdGj6em90dCIsIDEwNDAsIDEwLDgyLDUwLDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiAgICBDSEVDS0JPWCAgICAgICAgIiZBbOFo+npvdHQiLCAxMDQxLCAxMCw5NCw1MCwxMCwgQlNfQVVUT0NIRUNLQk9YCiAgICBMVEVYVCAgICAgICAgICAgIiZTeu1uOiIsIDEwOTEgLDYsMTEwLDMwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM5LDYsMTIwLDg0LDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfAogICAgICAgICAgICAgICAgICAgIENCU19BVVRPSFNDUk9MTCB8ICBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICJNaW50YSIsMTA3Myw5OCw3MiwxNjAsNDksV1NfR1JPVVAKICAgIENURVhUICAgICAgICAgICAiQWFCYll5WnrB4dX1yekiLDEwOTMsMTA0LDgxLDE0OSwzNyxTU19OT1BSRUZJWCB8IFdTX1ZJU0lCTEUKfQoKCkNIT09TRV9DT0xPUiBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDMwMCwgMTg1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlN67W4iCkZPTlQgOCwgIkhlbHYiCnsKIExURVhUICImQWxhcCBzeu1uZWs6IiwgICAxMDg4LCA0LCAgICA0LCAgMTQwLCAxMAogTFRFWFQgIiZFZ3llZGkgc3rtbmVrOiIsICAxMDg5LCA0LCAgIDEwNiwgMTQwLCAxMAogTFRFWFQgIlN67W4gfCAgJlT2bfZyIiwgIDEwOTAsIDE1MCwgMTUxLCAgNDgsIDEwCiBMVEVYVCAgICImVvZy9nM6IiwgNzI2IC8qMTA5NCovLDI0OSwxMjYsMjQsMTAKIEVESVRURVhUIDcwNiwgMjc1LDEyNCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICImWvZsZDoiLDcyNy8qMTA5NSovLDI0OSwxNDAsMjQsMTAKIEVESVRURVhUIDcwNywgMjc1LDEzOCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICImS+lrOiIsNzI4IC8qMTA5NiovLDI0OSwxNTQsMjQsMTAKIEVESVRURVhUIDcwOCwgMjc1LDE1MiwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZIdWU6IiAsNzIzIC8qMTA5MSovLDIwMiwxMjYsMjIsMTAKIEVESVRURVhUIDcwMywgMjI2LDEyNCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZTYXQ6IiAsNzI0IC8qMTA5MiovLDIwMiwxNDAsMjIsMTAKIEVESVRURVhUIDcwNCwgMjI2LDEzOCwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIiZMdW06IiAsNzI1IC8qMTA5MyovLDIwMiwxNTQsMjIsMTAKIEVESVRURVhUIDcwNSwgMjI2LDE1MiwxOCwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDT05UUk9MICIiICw3MjAsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxNCwxNDAsODYKIENPTlRST0wgIiIgLDcyMSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDExNiwxNDAsMjgKIENPTlRST0wgIiIgLDcxMCwiU1RBVElDIixXU19CT1JERVJ8U1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDE1Miw0LDExOCwxMTYKIENPTlRST0wgIiIgLDcwMiwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMjc4LDQsOCwxMTYKIENPTlRST0wgIiIgLDcwOSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDEyNCw0MCwyNgogREVGUFVTSEJVVFRPTiAiT2siLCAgSURPSywgIDQsIDE2NiwgNDQsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJN6WdzZW0iLCBJRENBTkNFTCwgNTIsIDE2NiwgNDQsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlNlZ+10c+lnIiwgMTAzOCwxMDAsMTY2LCA0NCwgMTQKIFBVU0hCVVRUT04gIiZFZ3llZGkgc3rtbmVraGV6IGFk4XMiLCAgICA3MTIvKjEwMjQqLywgMTUyLCAxNjYsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiRSZneWVkaSBzeu1uIGRlZmluaeFs4XMgPj4iLCA3MTkvKjEwMjUqLywgICA0LCAxNTAsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAgIiZ0Iiw3MTMsMzAwLDIwMCw0LDE0ICAgLyoganVzdCBhIGR1bW15OiAgJ2knIGlzICBsaWtlICAmaSAgaW4gInNvbCZpZCIgICovCn0KCkZJTkRETEdPUkQgRElBTE9HIDM2LCAyNCwgMjM2LCA2MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJLZXJlc+lzIgpGT05UIDgsICJIZWx2IgpCRUdJTgogICAgICAgIExURVhUICImTWl0IGtlcmVzc2VuOiIsIC0xLCA0LCA4LCA0OCwgOAogICAgICAgIEVESVRURVhUIDExNTIsIDUxLCA3LCAxMjQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgICAgIENPTlRST0wgIlRlbGplcyAmc3phdmFrIGtlcmVz6XNlIiwgMTA0MCwgIkJVVFRPTiIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgNCwgMjYsIDEwMCwgMTIKICAgICAgICBDT05UUk9MICJLaXMvJm5hZ3liZXT7IGv8bPZuYi4iLCAxMDQxLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwgNCwgNDIsIDkyLCAxMgogICAgICAgIEdST1VQQk9YICJJcuFueSIsIDEwNzIsIDk3LCAyNiwgNzgsIDI4CiAgICAgICAgQ09OVFJPTCAiJlZpc3N6YSIsIDEwNTYsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDEwMiwgMzgsIDMyLCAxMgogICAgICAgIENPTlRST0wgIiZFbPVyZSIsIDEwNTcsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxMzgsIDM4LCAzMCwgMTIKICAgICAgICBDT05UUk9MICImS/Z2ZXRrZXr1IiwgMSwgIkJVVFRPTiIsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTgyLCA1LCA1MCwgMTQKICAgICAgICBDT05UUk9MICJN6WdzZW0iLCAyLCAiQlVUVE9OIiwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxODIsIDIzLCA1MCwgMTQKICAgICAgICBQVVNIQlVUVE9OICImU2Vn7XRz6WciLCAxMDM4LCAxODIsIDQ1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUApFTkQKClJFUExBQ0VETEdPUkQgRElBTE9HIDM2LCAyNCwgMjMwLCA5NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJDc2Vy6WzpcyIKRk9OVCA4LCAiSGVsdiIKQkVHSU4KICAgICAgICBMVEVYVCAiJk1pdCBrZXJlc3NlbjoiLCAtMSwgNCwgOSwgNDgsIDgKICAgICAgICBFRElUVEVYVCAxMTUyLCA1NywgNywgMTExLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgICAgICBMVEVYVCAiTWlyZSAmY3NlculsamVtOiIsIC0xLCA0LCAyNiwgNTMsIDgKICAgICAgICBFRElUVEVYVCAxMTUzLCA1NywgMjQsIDExMSwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICAgICAgQ09OVFJPTCAiVGVsamVzICZzemF2YWsga2VyZXPpc2UiLCAxMDQwLCAiQlVUVE9OIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCA1LCA0NiwgMTA0LCAxMgogICAgICAgIENPTlRST0wgIktpcy8mbmFneWJldPsga/xs9m5iLiIsIDEwNDEsICJCVVRUT04iLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLCA1LCA2MiwgOTksIDEyCiAgICAgICAgQ09OVFJPTCAiJkv2dmV0a2V69SIsIElET0ssICJCVVRUT04iLCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxNzQsIDQsIDUzLCAxNAogICAgICAgIENPTlRST0wgIkMmc2Vy6WwiLCAxMDI0LCAiQlVUVE9OIiwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxNzQsIDIxLCA1MywgMTQKICAgICAgICBDT05UUk9MICJNJmluZGVudCBjc2Vy6WwiLCAxMDI1LCAiQlVUVE9OIiwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxNzQsIDM4LCA1MywgMTQKICAgICAgICBDT05UUk9MICJN6WdzZW0iLCBJRENBTkNFTCwgIkJVVFRPTiIsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTc0LCA1NSwgNTMsIDE0CiAgICAgICAgQ09OVFJPTCAiJlNlZ+10c+lnIiwgMTAzOCwgIkJVVFRPTiIsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTc0LCA3NSwgNTMsIDE0CkVORAo=