LyoKICogV2luZSBjb21tYW5kIHByb21wdAogKiBQb2xpc2ggTGFuZ3VhZ2UgU3VwcG9ydAogKgogKiBDb3B5cmlnaHQgKEMpIDE5OTkgRCBBIFBpY2tsZXMKICogQ29weXJpZ2h0IChDKSAyMDA0IFBpb3RyIENhYmFuCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfUE9MSVNILCBTVUJMQU5HX0RFRkFVTFQKClNUUklOR1RBQkxFCnsKICBXQ01EX0FUVFJJQiwgIlBvbW9jIG8gQVRUUklCXG4iCiAgV0NNRF9DQUxMLAoiQ0FMTCA8bmF6d2EgcGxpa3UgYmF0PiBqZXN0IHW/eXdhbmUgdyBwbGlrdSB0eXB1IGJhdCBkbyB1cnVjaGFtaWFuaWFcblwKa29tZW5kIHogaW5uZWdvIHBsaWt1IGJhdC4gTmFzdOpwbmllIHBvd3JhY2EgZG8gcGxpa3UsIHoga3TzcmVnbyB6b3N0YbNhXG5cCnd5d2+zYW5hIChqZb9lbGkgaXN0bmllamUpLiBLb21lbmRhIENBTEwgbW+/ZSBwcnpla2F6eXdh5iBwYXJhbWV0cnkgZG9cblwKd3l3b7N5d2FuZWogcHJvY2VkdXJ5LlxuXApcblwKWm1pYW55IGRvbXmcbG5lZ28ga2F0YWxvZ3UsIHptaWVubnljaCCccm9kb3dpc2tvd3ljaCBpdGQuIHd5a29uYW5lIHByemV6XG5cCnd5d2+zYW65IHByb2NlZHVyZSBzuSBkemllZHppY3pvbmUgcHJ6ZXogc2tyeXB0IHd5d2+zdWq5Y3kgQ0FMTC5cbiIKCiAgV0NNRF9DRCwgICAgICJQb21vYyBvIENEXG4iCiAgV0NNRF9DSERJUiwgICJQb21vYyBvIENIRElSXG4iCgogIFdDTURfQ0xTLCAgICAiQ0xTIGN6eZxjaSBla3JhbiBrb25zb2xpXG4iCgogIFdDTURfQ09QWSwgICAiUG9tb2MgbyBDT1BZXG4iCiAgV0NNRF9DVFRZLCAgICJQb21vYyBvICBDVFRZXG4iCiAgV0NNRF9EQVRFLCAgICJQb21vYyBvICBEQVRFXG4iCiAgV0NNRF9ERUwsICAgICJQb21vYyBvICBERUxcbiIKICBXQ01EX0RJUiwgICAgIlBvbW9jIG8gIERJUlxuIgoKICBXQ01EX0VDSE8sCiJFQ0hPIDxjablnIHpuYWvzdz4gZHJ1a3VqZSA8Y2m5ZyB6bmvzdz4gZG8gYWt0dWFsbmVnbyB1v7lkemVuaWEuXG5cClxuXApFQ0hPIE9OIHBvd29kdWplLCC/ZSB3c3p5c3RraWUga29tZW5keSB6IHBsaWt1IGJhdCBzuSBkcnVrb3dhbmVcblwKZG8gYWt0dWFsbmVnbyB1cnq5ZHplbmlhIHByemVkIHd5d2+zYW5pZW0uXG5cClxuXApFQ0hPIE9GRiBvZHdyYWNhIGVmZWt0IGtvbWVuZHkgRUNITyBPTiAoRUNITyBqZXN0IHd5s7ljem9uZSAoT0ZGKVxuXApzdGFuZGFyZG93bykuIEtvbWVuZGEgRUNITyBPRkYgbW+/ZSB6b3N0YeYgbmllIHd5nHdpZXRsb25hIGplv2VsaVxuXAp6b3N0YW5pZSBwb3ByemVkem9uYSB6bmFraWVtIEAuXG4iCgogIFdDTURfRVJBU0UsICAiUG9tb2MgbyAgRVJBU0VcbiIKCiAgV0NNRF9GT1IsCiJLb21lbmRhIEZPUiBzs3W/eSBkbyB1cnVjaG9taWVuaWEga29tZW5keSBkbGEga2G/ZGVnbyB6IHBsaWvzdyB6ZVxuXAp6YmlvcnUuXG5cClNrs2FkbmlhOiBGT1IgJXptaWVubmEgSU4gKHpiafNyKSBETyBwb2xlY2VuaWVcblwKXG5cCld5bfNnIHBvd3RhcnphbmlhIHpuYWt1ICUsIGdkeSB1v3l3YW15IGtvbWVuZHkgRk9SIHcgcGxpa3UgYmF0IG5pZVxuXAppc3RuaWplIHcgY21kXG4iCgogIFdDTURfR09UTywKIktvbWVuZGEgR09UTyBwcnplbm9zaSBrdXJzb3IgZG8gaW5uZWdvIG1pZWpzY2EgdyBwbGlrdSBiYXQuXG5cClxuXApFdHlraWV0YSwga3TzcmEgamVzdCBjZWxlbSBza29rdSAoa29tZW5keSBHT1RPKSBtb79lIG1pZeYgbWFrc3ltYWxuaWVcblwKMjU1IHpuYWvzdyBks3Vnb5xjaSwgbmllIG1vv2UgemF3aWVyYeYgc3BhY2ppLiBKZb9lbGkgc7kgZHdpZSAobHViXG5cCndp6mNlaikgZXR5a2lldHkgbyB0YWtpY2ggc2FteWNoIG5hendhY2ggc2tvayB6b3N0YW5pZSB3eWtvbmFueSBkb1xuXApwaWVyd3N6ZWogeiBuaWNoLiBKZb9lbGkgZXR5a2lldGEgbmllIGlzdG5pamUgd3lrb255d2FuaWUgcGxpa3Ugem9zdGFqZVxuXApwcnplcndhbmUuXG4iCgogIFdDTURfSEVMUCwgICAiUG9tb2MgbyBIRUxQXG4iCgogIFdDTURfSUYsCiJJRiBqZXN0IHW/eXdhbmUgZG8gd2FydW5rb3dlZ28gd3lrb255d2FuaWEgcG9sZWNl8VxuXApcblwKU2uzYWRuaWE6CUlGIFtOT1RdIEVYSVNUIG5hendhX3BsaWt1IGtvbWVuZGFcblwKCUlGIFtOT1RdIGNpuWdfem5ha/N3MT09Y2m5Z196bmFr83cyIGtvbWVuZGFcblwKCUlGIFtOT1RdIEVSUk9STEVWRUwgbnVtZXIga29tZW5kYVxuXApcblwKVyBkcnVnaWVqIGZvcm1pZSAoY2m5Z196bmFr83cxPT1jablnX3puYWvzdzIpIGNpuWcgem5ha/N3IG11c2kgYnnmIHphd2FydHkgd1xuXApjdWR6eXOzb3dpZS5Qcnp5IHBvcvN3bnl3YW5pdSBwb21pamFuYSBqZXN0IHdpZWxrb5zmIHpuYWvzdy5cbiIKCiAgV0NNRF9MQUJFTCwgICJMQUJFTCBqZXN0IHW/eXdhbmUgZG8gdXN0YXdpZW5pYSBldHlraWV0eSBkeXNrdS5cblwKXG5cClNrs2FkbmlhOiBMQUJFTCBbZHlzazpdXG5cCktvbWVuZGEgcG9wcm9zaSBvIHBvZGFuaWUgbm93ZWogZXR5a2lldHkgZHlza3UuXG5cCk1vv2VzeiB3eZx3aWV0bGnmIGFrdHVhbG65IGV0eWtpZXTqIGtvbWVuZLkgVk9MLlxuIgoKICBXQ01EX01ELCAgICAgIlBvbW9jIG8gTURcbiIKICBXQ01EX01LRElSLCAgIlBvbW9jIG8gTUtESVJcbiIKICBXQ01EX01PVkUsCiJNT1ZFIHptaWVuaWEgcG+zb79lbmllIHd5YnJhbmVnbyBwbGlrdSBsdWIga2F0YWxvZ3UuXG5cClxuXApKZb9lbGkgcHJ6ZW1pZXN6Y3phbnkgamVzdCBrYXRhbG9nIHdzenlzdGtpZSBwb2RrYXRhbG9naVxuXAppIHBsaWtpIHO5IHRha79lIHByemVz83dhbmUuXG5cClxuXApNT1ZFIGR6aWGzYSB0eWxrbyB3IG9icupiaWUgamVkbmVnbyBkeXNrdS5cbiIKCiAgV0NNRF9QQVRILAoiUEFUSCB3eZx3aXRsYSBsdWIgem1pZW5pYSCcY2llv2tlIHcga3TzcmVqIHd5c3p1a3VqZSBjbWQuXG5cClxuXApLb21lbmRhIFBBVEggYmV6IHBhcmFtZXRy83cgd3mcd2lldGxhIGFrdHVhbG65IJxjaWW/a+ouIEFieSBquVxuXAp6bWllbmnmIG5hbGW/eSB3eXdvs2HmIFBBVEggemEga3TzcnltIHd5c3TqcHVqZSBub3dhIJxjaWW/a2EuXG5cClxuXApVbWllc3pjemVuaWUgd3lyYb9lbmlhICVQQVRIJSBwcnp5IHBvYXdhbml1IG5vd2VqIJxjaWW/a2lcblwKcG93b2R1amUgd3N0YXdpZW5pZSBzdGFyZWognGNpZb9raSwgbmEgcHJ6eWuzYWQ6XG5cCgkJUEFUSCAlUEFUSCU7YzpcXHRlbXAgXG4iCgogIFdDTURfUEFVU0UsCiJQQVVTRSB3eZx3aWV0bGEgaW5mb3JtYWNqZSAnTmFjaZxuaWogRW50ZXIgYWJ5IGtvbnR5bnVvd2HmJyBpIGN6ZWthLFxuXAphvyB1v3l0a293bmlrIG5hY2mcbmllIGtsYXdpc3ogRW50ZXIuIEZ1bmtjamEgdGEgamVzdCB1v3l0ZWN6bmEgdyBwbGlrYWNoXG5cCnR5cHUgYmF0LCBhYnkgdW1vv2xpd2nmIHW/eXRrb3duaWtvd2kgcHJ6ZWN6eXRhbmllIGluZm9ybWFjamkgd3mcd2lldGxvbnljaFxuXApuYSBla3JhbmllLlxuIgoKICBXQ01EX1BST01QVCwKIlBST01QVCB1c3Rhd2lhIHRla3N0IHpns29zemVuaWEga29uc29saS5cblwKXG5cClRla3N0IHd5c3TqcHVquWN5IHphIGtvbWVuZLkgKGkgc3BhY2plIHd5c3TqcHVquWNlIHphIG5pbSlcblwKcG9qYXdpYWq5IHNp6iBuYSBwb2N6uXRrdSBsaW5pIGdkeSBjbWQgY3pla2EgbmEga29tZW5k6i5cblwKXG5cCk5hc3TqcHVquWNlIGNpuWdpIHpuYWvzdyBtYWq5IHNwZWNqYWxuZSB6bmFjemVuaWU6XG5cClxuXAokJCAgICBabmFrIGRvbGFyYSAoJCkgICAgICRfICAgIFpuYWsgXyAgICAgICAgICAgICAgJGIgICAgWm5hayB8XG5cCiRkICAgIERhdGEgICAgICAgICAgICAgICAgJGUgICAgRXNjYXBlICAgICAgICAgICAgICAkZyAgICBabmFrID5cblwKJGwgICAgWm5hayA8ICAgICAgICAgICAgICAkbiAgICBEeXNrICAgICAgICAgICAgICAgICRwICAgIIxjaWW/a2FcblwKJHEgICAgWm5hayA9ICAgICAgICAgICAgICAkdCAgICBDemFzICAgICAgICAgICAgICAgICR2ICAgIFdlcnNqYSBjbWRcblwKXG5cCldwaXNhbmllIFBST01QVCBiZXogb3BjamkgcmVzZXR1amUgdXN0YXdpZW5pYSBrb25zb2xpIHp3abl6YW5lIHoga29tZW5kuVxuXApQUk9NUFQsIHVzdGF3aWEgd3mcd2lldGxhbnkgdGVrc3QgbmEgnGNpZb9rZSBpIHpuYWsgPi5cblwKKFRhayBzYW1vIGphayBwb2xlY2VuaWUgUFJPTVBUICRwJGcpLlxuXApcblwKUG9sZWNlbmllICdTRVQgUFJPTVBUPXRla3N0JyBtYSB0YWtpIHNhbSBlZmVrdCBqYWsgJ1BST01QVCB0ZWtzdCdcbiIKCiAgV0NNRF9SRU0sCiJQb2xlY2VuaWUgcG9wcnplZHpvbmUga29tZW5kuSBSRU0gbmllIGplc3Qgd3lrb255d2FuZSwgbW+/ZSBieeZcblwKc3Rvc293YW5lIGpha28ga29tZW50Yb8gdyBwbGlrdSB0eXB1IGJhdC5cbiIKCiAgV0NNRF9SRU4sICAgICJQb21vYyBvIFJFTlxuIgogIFdDTURfUkVOQU1FLCAiUG9tb2MgbyBSRU5BTUVcbiIKICBXQ01EX1JELCAgICAgIlBvbW9jIG8gUkRcbiIKICBXQ01EX1JNRElSLCAgIlBvbW9jIG8gUk1ESVJcbiIKCiAgV0NNRF9TRVQsCiJTRVQgd3mcd2lldGxhIGx1YiB1c3Rhd2lhIHptaWVubmUgnHJvZG93aXNrb3dlIGNtZC5cblwKXG5cClNFVCBiZXogcGFyYW1ldHLzdyB3eZx3aXRsYSB3c3p5c3RraWUgdXN0YXdpb25lIHptaWVubmUuXG5cClxuXApTa7NhZG5pYSBwb2xlY2VuaWEgKGJ5IHV0d29yennmIGx1YiB6bW9keWZpa293YeYgem1pZW5uuTpcblwKXG5cCiAgICAgIFNFVCA8em1pZW5uYT49PHdhcnRvnOY+XG5cClxuXApnZHppZSA8em1pZW5uYT4gaSA8d2FydG+c5j4gc7kgY2m5Z2FtaSB6bmFr83cuIFNwYWNqYSBuaWUgbW+/ZVxuXAp3eXN06nBvd2HmIHByemVkIHpuYWtpZW0gcvN3bm+cY2ksIG5hendhIHptaWVubmVqIG5pZSBtb79lIHphd2llcmHmXG5cCnNwYWNqaS5cblwKXG5cClBvZCBXaW5lJ2VtIHptaWVubmUgnHJvZG93aXNrb3dlIHN5c3RlbXUgb3BlcmFjeWpuZWdvIHO5IGRvZGF3YW5lIGRvXG5cCnptaWVubnljaCCccm9kb3dpc2tvd3ljaCBXaW4zMiwgenRlZ28gcG93b2R1IGplc3Qgd2nqY2VqIHptaWVubnljaCBuab9cblwKdyBpbXBsZW1lbnRhY2ppIFdpbjMyLiBXaW5lIG5pZSBtb2R5ZmlrdWplIHptaWVubnljaCCccm9kb3dpc2tvd3ljaFxuXApzeXN0ZW11LlxuIgoKICBXQ01EX1NISUZULAoiU0hJRlQgamVzdCB1v3l3YW5lIHcgcGxpa2FjaCBiYXQgZG8gdXN1bmnqY2lhIHBpZXJ3c3plZ28gcGFyYW1ldHJ1IHogbGlzdHlcblwKcGFyYW1ldHLzdywgcGFyYW1ldHIgMiBzdGFqZSBzaWUgMSBpdGQuIFBvbGVjZW5pZSB0byBuaWUgbWEgZWZla3R1IGdkeSBqZXN0XG5cCnd5d2+zeXdhbmUgeiBsaW5pIGtvbWVuZC5cbiIKCiAgV0NNRF9USU1FLCAgICJQb21vYyBvIFRJTUVcbiIKCiAgV0NNRF9USVRMRSwgICJVc3Rhd2lhIG5henfqIG9rbmEgY21kLCBza7NhZG5pYSBUSVRMRSBbY2m5ZyB6bmFr83ddXG4iCgogIFdDTURfVFlQRSwKIlRZUEUgPG5hendhIHBsaWt1PiB3eZx3aWV0bGEgemF3YXJ0b5xjIHBsaWt1LCBuaWUgamVzdCBzcHJhd2R6YW5lLCBjenlcblwKamVzdCBvbiBwbGlraWVtIHRla3N0b3d5bS5cbiIKCiAgV0NNRF9WRVJJRlksCiJWRVJJRlkgamVzdCB1v3l3YW5lIGRvIHVzdGF3aWVuaWEgd2FydG+cY2kgZmxhZ2kgdmVyaWZ5LiBQcmF3aWSzb3dhIHNrs2FkbmlhOlxuXApcblwKVkVSSUZZIE9OCVVzdGF3aWEgZmxhZ+pcblwKVkVSSUZZIE9GRglVc3V3YSBmbGFn6lxuXApWRVJJRlkJCVd5nHdpZXRsYSBPTiBsdWIgT0ZGIHcgemFsZb9ub5xjaSBvZCBzdGFudSBmbGFnaS5cblwKXG5cClVzdGF3aWVuaWEgZmxhZ2kgbmljIG5pZSB6bWllbmlharkgcG9kIFdpbmUnZW0uXG4iCgogIFdDTURfVkVSLAoiVkVSIHd5nHdpZXRsYSB3ZXJzauogY21kLlxuIgoKICBXQ01EX1ZPTCwgICAgIlBvbW9jIG8gVk9MXG4iCgogIFdDTURfUFVTSEQsICJQVVNIRCA8bmF6d2FrYXRhbG9ndT4gemFwYW1p6nR1amUgYWt0dWFsbnkga2F0YWxvZyBuYSBzdG9zaWUsIGFcblwKICAgICAgICAgICAgICAgbmFzdOpwbmllIHByemVjaG9kemkgZG8ga2F0YWxvZ3UgcG9kYW5lZ28gamFrbyBwYXJhbWV0clxuIgoKICBXQ01EX1BPUEQsICJQT1BEIHVzdGFsYSBha3R1YWxueSBrYXRhbG9nIG5hIG9zdGF0bmkga2F0YWxvZyB6YXBhbWnqdGFueSBwcnplelxuXAogICAgICAgICAgICAgIFBVU0hEXG4iCgogIFdDTURfTU9SRSwgICAiTU9SRSBkaXNwbGF5cyBvdXRwdXQgb2YgZmlsZXMgb3IgcGlwZWQgaW5wdXQgaW4gcGFnZXMuXG4iCgogIFdDTURfRVhJVCwKIkVYSVQga2/xY3p5IGJpZXJ6uWO5IHNlc2rqIGNtZCBpIHBvd3JhY2EgZG8gc3lzdGVtdSBvcGVyYWN5am5lZ29cblwKbHViIHBvd7Nva2ksIHcga3TzcmVqIHVydWNob21pb25vIGNtZC5cbiIKCiAgMTAwMCwgIkNNRCAtIHdidWRvd2FuZSBrb21lbmR5OlxuXApBVFRSSUJcdFx0UG9rYXp1amUgbHViIHptaWVuaWEgYXRyeWJ1dHkgcGxpa3VcblwKQ0FMTFx0XHRXeXdvs3VqZSBwbGlrIGJhdCB6IGlubmVnbyBwbGlrdVxuXApDRCAoQ0hESVIpXHRabWllbmlhIGJpZXJ6uWN5IGthdGFsb2dcblwKQ0xTXHRcdEN6eZxjaSBla3JhbiBrb25zb2xpXG5cCkNPUFlcdFx0S29waXVqZSBwbGlrXG5cCkNUVFlcdFx0Wm1pZW5pYSB1cnq5ZHplbmllIHd5apxjaWEvd2VqnGNpYVxuXApEQVRFXHRcdFBva2F6dWplIGx1YiB6bWllbmlhIGRhdGUgc3lzdGVtb3e5XG5cCkRFTCAoRVJBU0UpXHRVc3V3YSBwbGlrIGx1YiBwbGlraVxuXApESVJcdFx0V3mcd2lldGxhIHphd2FydG+c5iBrYXRhbG9ndVxuXApFQ0hPXHRcdEtvcGl1amUgdGVrc3QgbmEgd3lqnGNpZSBrb25zb2xpXG5cCkhFTFBcdFx0V3mcd2lldGxhIGRva7NhZG5pZWpzerkgcG9tb2MgbyBrb21lbmR6aWVcblwKTUQgKE1LRElSKVx0VHdvcnp5IGthdGFsb2dcblwKTU9SRVx0XHREaXNwbGF5IG91dHB1dCBpbiBwYWdlc1xuXApNT1ZFXHRcdFByemVub3NpIGthdGFsb2cgbHViIHBsaWtpXG5cClBBVEhcdFx0VXN0YXdpYSBsdWIgd3mcd2lldGxhIJxjaWW/a+ogcHJ6ZXN6dWtpd2FuaWFcblwKUE9QRFx0XHRXcmFjYSBkbyBrYXRhbG9ndSB6YXBhbWnqdGFuZWdvIHByemV6IFBVU0hEXG5cClBST01QVFx0XHRabWllbmlhIHRla3N0IHpns29zemVuaWFcblwKUFVTSERcdFx0UHJ6ZWNob2R6aSBkbyBub3dlZ28ga2F0YWxvZ3UgemFwYW1p6nR1arljIHN0YXJ5XG5cClJFTiAoUkVOQU1FKVx0Wm1pZW5pYSBuYXp36iBwbGlrdVxuXApSRCAoUk1ESVIpXHRVc3V3YSBrYXRhbG9nXG5cClNFVFx0XHRVc3Rhd2lhIGx1YiB3eZx3aWV0bGEgem1pZW5uZSCccm9kb3dpc2tvd2VcblwKVElNRVx0XHRVc3Rhd2lhIGx1YiB3eZx3aWV0bGEgY3phc1xuXApUSVRMRVx0XHRVc3Rhd2lhIHR5dHWzIG9rbmEgQ01EXG5cClRZUEVcdFx0V3mcd2lldGxhIHphd2FydG+c5iBwbGlrdVxuXApWRVJcdFx0V3mcd2lldGxhIHdlcnNq6iBDTURcblwKVk9MXHRcdFd5nHdpZXRsYSBldHlraWV06iBkeXNrdVxuXApFWElUXHRcdFd5s7ljemEgQ01EXG5cblwKV3Bpc3ogSEVMUCA8a29tZW5kYT4gZGxhIGRva7NhZG5pZWpzenljaCBpbmZvcm1hY2ppIG8ga29tZW5kemllXG4iCgogIFdDTURfQ09ORklSTSwgIkFyZSB5b3Ugc3VyZSIKICBXQ01EX1lFUywgIlkiCiAgV0NNRF9OTywgIk4iCiAgV0NNRF9OT0FTU09DLCAiRmlsZSBhc3NvY2lhdGlvbiBtaXNzaW5nIGZvciBleHRlbnNpb24gJXNcbiIKICBXQ01EX05PRlRZUEUsICJObyBvcGVuIGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIGZpbGUgdHlwZSAnJXMnXG4iCiAgV0NNRF9PVkVSV1JJVEUsICJPdmVyd3JpdGUgJXMiCiAgV0NNRF9NT1JFU1RSLCAiTW9yZS4uLiIKICBXQ01EX1RSVU5DQVRFRExJTkUsICJMaW5lIGluIEJhdGNoIHByb2Nlc3NpbmcgcG9zc2libHkgdHJ1bmNhdGVkLiBVc2luZzpcbiIKICBXQ01EX05ZSSwgIk5vdCBZZXQgSW1wbGVtZW50ZWRcblxuIgogIFdDTURfTk9BUkcsICJBcmd1bWVudCBtaXNzaW5nXG4iCiAgV0NNRF9TWU5UQVhFUlIsICJTeW50YXggZXJyb3JcbiIKICBXQ01EX0ZJTEVOT1RGT1VORCwgIiVzIDogRmlsZSBOb3QgRm91bmRcbiIKICBXQ01EX05PQ01ESEVMUCwgIk5vIGhlbHAgYXZhaWxhYmxlIGZvciAlc1xuIgogIFdDTURfTk9UQVJHRVQsICJUYXJnZXQgdG8gR09UTyBub3QgZm91bmRcbiIKICBXQ01EX0NVUlJFTlREQVRFLCAiQ3VycmVudCBEYXRlIGlzICVzXG4iCiAgV0NNRF9DVVJSRU5UVElNRSwgIkN1cnJlbnQgVGltZSBpcyAlc1xuIgogIFdDTURfTkVXREFURSwgIkVudGVyIG5ldyBkYXRlOiAiCiAgV0NNRF9ORVdUSU1FLCAiRW50ZXIgbmV3IHRpbWU6ICIKICBXQ01EX01JU1NJTkdFTlYsICJFbnZpcm9ubWVudCB2YXJpYWJsZSAlcyBub3QgZGVmaW5lZFxuIgogIFdDTURfUkVBREZBSUwsICJGYWlsZWQgdG8gb3BlbiAnJXMnXG4iCiAgV0NNRF9DQUxMSU5TQ1JJUFQsICJDYW5ub3QgY2FsbCBiYXRjaCBsYWJlbCBvdXRzaWRlIG9mIGEgYmF0Y2ggc2NyaXB0XG4iCiAgV0NNRF9BTEwsICJBIgogIFdDTURfREVMUFJPTVBULCAiJXMsIERlbGV0ZSIKICBXQ01EX0VDSE9QUk9NUFQsICJFY2hvIGlzICVzXG4iCiAgV0NNRF9WRVJJRllQUk9NUFQsICJWZXJpZnkgaXMgJXNcbiIKICBXQ01EX1ZFUklGWUVSUiwgIlZlcmlmeSBtdXN0IGJlIE9OIG9yIE9GRlxuIjsKICBXQ01EX0FSR0VSUiwgIlBhcmFtZXRlciBlcnJvclxuIgogIFdDTURfVk9MVU1FREVUQUlMLCAiVm9sdW1lIGluIGRyaXZlICVjIGlzICVzXG5Wb2x1bWUgU2VyaWFsIE51bWJlciBpcyAlMDR4LSUwNHhcblxuIgogIFdDTURfVk9MVU1FUFJPTVBULCAiVm9sdW1lIGxhYmVsICgxMSBjaGFyYWN0ZXJzLCBFTlRFUiBmb3Igbm9uZSk/IgogIFdDTURfTk9QQVRILCAiUEFUSCBub3QgZm91bmRcbiIKICBXQ01EX0FOWUtFWSwiUHJlc3MgUmV0dXJuIGtleSB0byBjb250aW51ZTogIgogIFdDTURfQ09OU1RJVExFLCJXaW5lIENvbW1hbmQgUHJvbXB0IgogIFdDTURfVkVSU0lPTiwiQ01EIFZlcnNpb24gJXNcblxuIgogIFdDTURfTU9SRVBST01QVCwgIk1vcmU/ICIKfQo=