LyoKICogVHVya2lzaCBSZXNvdXJjZXMgZm9yIFByb2dyYW0gTWFuYWdlcgogKgogKiBDb3B5cmlnaHQgMjAwNiBGYXRpaCBB/v1j/QogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAicHJvZ21hbi5oIgoKTEFOR1VBR0UgTEFOR19UVVJLSVNILCBTVUJMQU5HX0RFRkFVTFQKCi8qIE1lbnUgKi8KCk1BSU5fTUVOVSBNRU5VCnsKIFBPUFVQICImRG9zeWEiIHsKICAgTUVOVUlURU0gIiZZZW5pLi4uIiwgICAgICAgICAgICAgICAgICBQTV9ORVcKICAgTUVOVUlURU0gIiZB51x0RW50ZXIiLCAgICAgICAgICAgICAgICBQTV9PUEVOCiAgIE1FTlVJVEVNICImVGH+/S4uLlx0RjciLCAgICAgICAgICAgICAgUE1fTU9WRSwgICAgICBHUkFZRUQKICAgTUVOVUlURU0gIiZLb3B5YWxhLi4uXHRGOCIsICAgICAgICAgICBQTV9DT1BZLCAgICAgIEdSQVlFRAogICBNRU5VSVRFTSAiJlNpbFx0RW50ZiIsICAgICAgICAgICAgICAgIFBNX0RFTEVURQogICBNRU5VSVRFTSAiJtZ6bml0ZWxpa2xlci4uLlx0QWx0K0VudGVyIiwgICAgICAgUE1fQVRUUklCVVRFUwogICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgTUVOVUlURU0gIsdhbP0m/nT9ci4uLiIsICAgICAgICAgICAgICBQTV9FWEVDVVRFCiAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICBNRU5VSVRFTSAiV2luZG93cyd0YW4gJsf9ay4uLiIsICAgICAgIFBNX0VYSVQKIH0KIFBPUFVQICImU2XnZW5la2xlciIgewogICBNRU5VSVRFTSAiT3RvbWF0aWsgJmT8emVubGUiLCAgICAgICAgIFBNX0FVVE9fQVJSQU5HRQogICBNRU5VSVRFTSAiJlNpbWdlIGhhbGluZGUg52Fs/f50/XIiLCAgIFBNX01JTl9PTl9SVU4KICAgTUVOVUlURU0gIibH/Wv9/nRhIGF5YXJsYXL9IHNha2xhIiwgICBQTV9TQVZFX1NFVFRJTkdTCiB9CiBQT1BVUCAiJlBlbmNlcmVsZXIiIHsKICAgTUVOVUlURU0gIibcc3Qg/HN0ZSBkaXpcdFNoaWZ0K0Y1IiwgICBQTV9PVkVSTEFQCiAgIE1FTlVJVEVNICImWWFuIHlhbmEgZGl6XHRTaGlmdCtGNCIsICAgUE1fU0lERV9CWV9TSURFCiAgIE1FTlVJVEVNICImU2ltZ2VsZXJpIGT8emVubGUiLCAgICAgICAgUE1fQVJSQU5HRQogfQogClBPUFVQICImWWFyZP1tIiB7CiAgIE1FTlVJVEVNICIm3edpbmRla2lsZXIiLCAgICAgICAgIFBNX0NPTlRFTlRTCiAgIE1FTlVJVEVNICImQXJhLi4uIiwgICAgICAgICAgIFBNX1NFQVJDSAogICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgTUVOVUlURU0gIiZZYXJk/W0gS3VsbGFu/W39IiwgICAgIFBNX0hFTFBPTkhFTFAKICAgTUVOVUlURU0gIibW8HJldGljaSIsICAgICAgICAgUE1fVFVUT1JJQUwKICAgTUVOVUlURU0gU0VQQVJBVE9SCgogICBQT1BVUCAiJkJpbGdpLi4uIiB7CiAgICAgTUVOVUlURU0gIiZMaXNhbnMiLCAgICAgICAgUE1fTElDRU5TRQogICAgIE1FTlVJVEVNICImR0FSQU5U3SBZT0siLCAgICBQTV9OT19XQVJSQU5UWQogICAgIE1FTlVJVEVNICImV0lORSBIYWtr/W5kYSIsICAgICBQTV9BQk9VVF9XSU5FCiAgIH0KIH0KfQoKLyogRGlhbG9nIGBOZXcnICovCgpESUFMT0dfTkVXIERJQUxPRyAwLCAwLCAxNzAsIDY1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlllbmkiCnsKUkFESU9CVVRUT04gICAiIiwgICAgICAgICAgICAgICAgIFBNX05FV19HUk9VUCwgICAgMTAsIDE1LCAgMTAsIDE1CkxURVhUICAgICAgICAgIlByb2dyYW0gJmdydWJ1IiwgICAtMSwgICAgMjAsIDE4LCAgODAsIDE1ClJBRElPQlVUVE9OICAgIiIsICAgICAgICAgICAgICAgICBQTV9ORVdfUFJPR1JBTSwgIDEwLCAzNSwgIDEwLCAxNQpMVEVYVCAgICAgICAgICImUHJvZ3JhbSIsICAgICAgICAgLTEsICAyMCwgMzgsICA4MCwgMTUKREVGUFVTSEJVVFRPTiAiVGFtYW0iLCAgICAgICAgICAgIElET0ssICAgICAgICAgICAxMDUsICA1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIt1wdGFsIiwgICAgICAgICAgICBJRENBTkNFTCwgICAgICAgMTA1LCAyNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICImWWFk/W0iLCAgICAgICAgICAgUE1fSEVMUCwgICAgICAgIDEwNSwgNDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKfQoKLyogRGlhbG9nIGBNb3ZlJyAqLwoKRElBTE9HX01PVkUgRElBTE9HIDAsIDAsIDI1MCwgNjUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJvZ3Jhbf0gVGH+/SIKewpMVEVYVCAgICAgICAgICJUYf79bmFjYWsgcHJvZ3JhbToiLCAgIC0xLCAgICAgICAgICAgIDUsICA1LCAgOTAsIDE1CkxURVhUICAgICAgICAgIiIsICAgICAgICAgICAgICAgICAgICAgUE1fUFJPR1JBTSwgICAgICAgICA5NSwgIDUsICA5MCwgMTUKTFRFWFQgICAgICAgICAiS2F5bmFrIGdydXA6IiwgICAgICAgICAtMSwgICAgICAgICAgICA1LCAxMywgIDkwLCAxNQpMVEVYVCAgICAgICAgICIiLCAgICAgICAgICAgICAgICAgICAgIFBNX0ZST01fR1JPVVAsICAgICAgOTUsIDEzLCAgOTAsIDE1CkxURVhUICAgICAgICAgIiZIZWRlZiBncnVwOiIsICAgICAgICAgUE1fVE9fR1JPVVBfVFhULCAgICAgNSwgMjgsIDE0MCwgMTUKQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9UT19HUk9VUCwgICAgICAgICA1LCAzOCwgMTQwLCA1MCwgV1NfVEFCU1RPUCB8IENCU19EUk9QRE9XTkxJU1QKREVGUFVTSEJVVFRPTiAiVGFtYW0iLCAgICAgICAgICAgICAgSURPSywgICAgICAgICAgICAgIDE4NSwgIDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAi3XB0YWwiLCAgICAgICAgICAgICAgSURDQU5DRUwsICAgICAgICAgIDE4NSwgMjUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiJllhcmT9bSIsICAgICAgICAgICAgUE1fSEVMUCwgICAgICAgICAgIDE4NSwgNDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKfQoKLyogRGlhbG9nIGBDb3B5JyAqLwoKRElBTE9HX0NPUFkgRElBTE9HIDAsIDAsIDI1MCwgNjUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJvZ3JhbSBLb3B5YWxhIgp7CkxURVhUICAgICAgICAgIktvcHlhbGFuYWNhayBwcm9ncmFtOiIsICAgLTEsICAgICAgICAgICAgNSwgIDUsICA5MCwgMTUKTFRFWFQgICAgICAgICAiIiwgICAgICAgICAgICAgICAgICAgICAgICBQTV9QUk9HUkFNLCAgICAgICAgIDk1LCAgNSwgIDkwLCAxNQpMVEVYVCAgICAgICAgICJLYXluYWsgZ3J1cDoiLCAgICAgICAgICAgIC0xLCAgICAgICAgICAgIDUsIDEzLCAgOTAsIDE1CkxURVhUICAgICAgICAgIiIsICAgICAgICAgICAgICAgICAgICAgICAgUE1fRlJPTV9HUk9VUCwgICAgICA5NSwgMTMsICA5MCwgMTUKTFRFWFQgICAgICAgICAiJkhlZGVmIGdydXA6IiwgICAgICAgICAgICBQTV9UT19HUk9VUF9UWFQsICAgICA1LCAyOCwgMTQwLCAxNQpDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBNX1RPX0dST1VQLCAgICAgICAgIDUsIDM4LCAxNDAsIDUwLCBXU19UQUJTVE9QIHwgQ0JTX0RST1BET1dOTElTVApERUZQVVNIQlVUVE9OICJUYW1hbSIsICAgICAgICAgICAgICAgICAgIElET0ssICAgICAgICAgICAgICAxODUsICA1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIt1wdGFsIiwgICAgICAgICAgICAgICAgICAgSURDQU5DRUwsICAgICAgICAgIDE4NSwgMjUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiJllhcmT9bSIsICAgICAgICAgICAgICAgICBQTV9IRUxQLCAgICAgICAgICAgMTg1LCA0NSwgIDYwLCAxNSwgV1NfVEFCU1RPUAp9CgovKiBEaWFsb2cgYEdyb3VwIGF0dHJpYnV0ZXMnICovCgpESUFMT0dfR1JPVVAgRElBTE9HIDAsIDAsIDIzMCwgNjUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJvZ3JhbSBHcnVidSDWemVsbGlrbGVyaSIKewpMVEVYVCAgICAgIiZB5/1rbGFtYToiLCAgICAgICAgUE1fREVTQ1JJUFRJT05fVFhULCAgIDA1LCAxOCwgIDUwLCAxMApFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgUE1fREVTQ1JJUFRJT04sICAgICAgIDYwLCAxOCwgIDkwLCAxNSwgV1NfVEFCU1RPUApMVEVYVCAgICAgIiZHcnVwIGRvc3lhc/06IiwgICAgUE1fRklMRV9UWFQsICAgICAgICAgIDA1LCAzOCwgIDUwLCAxMApFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgUE1fRklMRSwgICAgICAgICAgICAgIDYwLCAzOCwgIDkwLCAxNSwgV1NfVEFCU1RPUApERUZQVVNIQlVUVE9OICJUYW1hbSIsICAgICAgICAgSURPSywgICAgICAgICAgICAgICAgMTU1LCAgNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICLdcHRhbCIsICAgICAgICAgSURDQU5DRUwsICAgICAgICAgICAgMTU1LCAyNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICImWWFyZP1tIiwgICAgICAgUE1fSEVMUCwgICAgICAgICAgICAgMTU1LCA0NSwgIDYwLCAxNSwgV1NfVEFCU1RPUAp9CgovKiBEaWFsb2cgYFByb2dyYW0gYXR0cmlidXRlcycgKi8KCkRJQUxPR19QUk9HUkFNIERJQUxPRyAwLCAwLCAyNTAsIDEwNQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJQcm9ncmFtINZ6ZWxsaWtsZXJpIgp7CkxURVhUICAgICAgICAgIiZB5/1rbGFtYToiLCAgICAgICBQTV9ERVNDUklQVElPTl9UWFQsICAgMDUsIDEwLCAgNjAsIDEwCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9ERVNDUklQVElPTiwgICAgICAgODAsIDEwLCAgOTAsIDE1LCBXU19UQUJTVE9QCkxURVhUICAgICAgICAgIiZLb211dCBzYXT9cv06IiwgICBQTV9DT01NQU5EX0xJTkVfVFhULCAgMDUsIDI1LCAgNjAsIDEwCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9DT01NQU5EX0xJTkUsICAgICAgODAsIDI1LCAgOTAsIDE1LCBXU19UQUJTVE9QCkxURVhUICAgICAgICAgIibHYWz9/m1hIGRpemluaToiLCBQTV9ESVJFQ1RPUllfVFhULCAgICAgMDUsIDQwLCAgNjAsIDEwCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9ESVJFQ1RPUlksICAgICAgICAgODAsIDQwLCAgOTAsIDE1LCBXU19UQUJTVE9QCkxURVhUICAgICAgICAgIiZUdf4ga29tYmluYXN5b251OiIsICAgICAgICBQTV9IT1RfS0VZX1RYVCwgICAgICAgMDUsIDU1LCAgNjAsIDEwCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9IT1RfS0VZLCAgICAgICAgICAgODAsIDU1LCAgOTAsIDE1LCBXU19UQUJTVE9QCklDT04gICAgICAgICAgIiIsICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9JQ09OLCAgICAgICAgICAgICAgMjAsIDcwCkNIRUNLQk9YICAgICAgIiIsICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9TWU1CT0wsICAgICAgICAgICAgODAsIDc1LCAgMTAsIDEwLCBXU19UQUJTVE9QCkxURVhUICAgICAgICAgIiZTaW1nZSBoYWxpbmRlIOdhbP3+dP1yIiwgICAtMSwgICAgICAgICAgICAgOTUsIDc1LCAgNzUsIDEwCkRFRlBVU0hCVVRUT04gIlRhbWFtIiwgICAgICAgICAgICAgICAgICAgSURPSywgICAgICAgICAgICAgICAgMTg1LCAgNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICLdcHRhbCIsICAgICAgICAgICAgICAgICAgIElEQ0FOQ0VMLCAgICAgICAgICAgIDE4NSwgMjUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiJkf2emF0Li4uIiwgICAgICAgICAgICAgICBQTV9CUk9XU0UsICAgICAgICAgICAxODUsIDQ1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIlNpbWdlICZkZfBp/nRpci4uLiIsICAgICAgUE1fT1RIRVJfU1lNQk9MLCAgICAgMTg1LCA2NSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICImWWFyZP1tIiwgICAgICAgICAgICAgICAgIFBNX0hFTFAsICAgICAgICAgICAgIDE4NSwgODUsICA2MCwgMTUsIFdTX1RBQlNUT1AKfQoKLyogRGlhbG9nIGBTeW1ib2wnICovCgpESUFMT0dfU1lNQk9MIERJQUxPRyAwLCAwLCAyMDAsIDg1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlNpbWdlIERl8Gn+dGlyIgp7CkxURVhUICAgICAiJkRvc3lhIGFk/ToiLCAgICAgUE1fSUNPTl9GSUxFX1RYVCwgICAgNSwgMTUsICA0MCwgMTAKRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICBQTV9JQ09OX0ZJTEUsICAgICAgIDQ1LCAxNSwgIDg1LCAxNSwgV1NfVEFCU1RPUApMVEVYVCAgICAgIkdl52VybGkgJnNpbWdlOiIsIFBNX1NZTUJPTF9MSVNUX1RYVCwgIDUsIDMwLCAxMjUsIDEwCkNPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgIFBNX1NZTUJPTF9MSVNULCAgICAgIDUsIDQwLCAxMjUsIDUwLAogICBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgV1NfVEFCU1RPUApERUZQVVNIQlVUVE9OICJUYW1hbSIsICAgICAgSURPSywgICAgICAgICAgICAgIDEzNSwgIDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAi3XB0YWwiLCAgICAgIElEQ0FOQ0VMLCAgICAgICAgICAxMzUsIDI1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIiZH9nphdC4uLiIsICBQTV9CUk9XU0UsICAgICAgICAgMTM1LCA0NSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICImWWFyZP1tIiwgICAgUE1fSEVMUCwgICAgICAgICAgIDEzNSwgNjUsICA2MCwgMTUsIFdTX1RBQlNUT1AKfQoKLyogRGlhbG9nIGBFeGVjdXRlJyAqLwoKRElBTE9HX0VYRUNVVEUgRElBTE9HIDAsIDAsIDIwMCwgODUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJvZ3JhbSDHYWz9/nT9ciIKewpMVEVYVCAgICAgICAgICImS29tdXQgc2F0/XL9OiIsICAgICAgICAtMSwgICAwNSwgMTUsIDEyMCwgMTAKRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUE1fQ09NTUFORCwgMDUsIDI1LCAxMjAsIDE1LCBXU19UQUJTVE9QCkNIRUNLQk9YICAgICAgIiIsICAgICAgICAgICAgICAgICAgICAgIFBNX1NZTUJPTCwgIDA1LCA0NSwgIDEwLCAxMCwgV1NfVEFCU1RPUApMVEVYVCAgICAgICAgICImU2ltZ2UgaGFsaW5kZSBiYf5sYXQiLCAtMSwgICAyMCwgNDUsIDEyMCwgMTAKREVGUFVTSEJVVFRPTiAiVGFtYW0iLCAgICAgICAgICAgICAgICAgSURPSywgICAgICAxMzUsICA1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIt1wdGFsIiwgICAgICAgICAgICAgICAgIElEQ0FOQ0VMLCAgMTM1LCAyNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICImR/Z6YXQuLi4iLCAgICAgICAgICAgICBQTV9CUk9XU0UsIDEzNSwgNDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiJllhcmT9bSIsICAgICAgICAgICAgICAgUE1fSEVMUCwgICAxMzUsIDY1LCAgNjAsIDE1LCBXU19UQUJTVE9QCn0KCi8qIFN0cmluZ3MgKi8KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKSURTX1BST0dSQU1fTUFOQUdFUiwJCSJQcm9ncmFtIFn2bmV0aWNpc2kiCklEU19FUlJPUiwJCQkiSEFUQSIKSURTX1dBUk5JTkcsCQkJIlVZQVJJIgpJRFNfSU5GTywJCQkiQmlsZ2kiCklEU19ERUxFVEUsCQkJIlNpbCIKSURTX0RFTEVURV9HUk9VUF9zLAkJIiclcycgZ3J1YnUgc2lsaW5zaW4gbWk/IgpJRFNfREVMRVRFX1BST0dSQU1fcywJCSInJXMnIHByb2dyYW39IHNpbGluc2luIG1pPyIKSURTX05PVF9JTVBMRU1FTlRFRCwJCSJIZW78eiBUYW79bWxhbm1hZP0iCklEU19GSUxFX1JFQURfRVJST1JfcywJCSInJXMnIG9rdW51cmtlbiBoYXRhLiIKSURTX0ZJTEVfV1JJVEVfRVJST1JfcywJCSInJXMnIHlhev1s/XJrZW4gaGF0YS4iCklEU19HUlBGSUxFX1JFQURfRVJST1JfcywJIlwKJyVzJyBncnVwIGRvc3lhc/0gYef9bGFtYWT9LlxuXApEYWhhIHNvbnJhIGRlbmVuc2luIG1pPyIKSURTX09VVF9PRl9NRU1PUlksCQkiQmVsbGVrIGRvbHUuIgpJRFNfV0lOSEVMUF9FUlJPUiwJCSJZYXJk/W0ga3VsbGFu/WxhYmlsaXIgZGXwaWwuIgpJRFNfVU5LTk9XTl9GRUFUVVJFX3MsCQkiJXMgaedpbmRlIGJpbGlubWV5ZW4g9nplbGxpayIKSURTX0ZJTEVfTk9UX09WRVJXUklUVEVOX3MsCSInJXMnIGRvc3lhc/0gbWV2Y3V0LiDcemVyaW5lIHlhev1sbWFk/S4iCklEU19TQVZFX0dST1VQX0FTX3MsCQkiQXP9bCBkb3N5YSD8emVyaW5lIHlhem1hef0gZW5nZWxsZW1layBp52luIGRvc3lhef0gJyVzJyBhZP15bGEga2F5ZGV0LiIKSURTX05PX0hPVF9LRVksCQkJIkhp52JpcmkiCklEU19BTExfRklMRVMsCQkJIlT8bSBkb3N5YWxhciAoKi4qKSIKSURTX1BST0dSQU1TLAkJCSJQcm9ncmFtbGFyIgpJRFNfTElCUkFSSUVTX0RMTCwJCSJLaXRhcGz9a2xhciAoKi5kbGwpIgpJRFNfU1lNQk9MX0ZJTEVTLAkJIlNpbWdlIGRvc3lhbGFy/SIKSURTX1NZTUJPTFNfSUNPLAkJIlNpbWdlbGVyICgqLmljbykiCn0K