LyoKICogV2luZSBjb21tYW5kIHByb21wdAogKiBQb2xpc2ggTGFuZ3VhZ2UgU3VwcG9ydAogKgogKiBDb3B5cmlnaHQgKEMpIDE5OTkgRCBBIFBpY2tsZXMKICogQ29weXJpZ2h0IChDKSAyMDA0IFBpb3RyIENhYmFuCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfUE9MSVNILCBTVUJMQU5HX0RFRkFVTFQKClNUUklOR1RBQkxFCnsKICBXQ01EX0FUVFJJQiwgIlBvbW9jIG8gQVRUUklCXG4iCiAgV0NNRF9DQUxMLAoiQ0FMTCA8bmF6d2EgcGxpa3UgYmF0PiBqZXN0IHW/eXdhbmUgdyBwbGlrdSB0eXB1IGJhdCBkbyB1cnVjaGFtaWFuaWFcblwKa29tZW5kIHogaW5uZWdvIHBsaWt1IGJhdC4gTmFzdOpwbmllIHBvd3JhY2EgZG8gcGxpa3UsIHoga3TzcmVnbyB6b3N0YbNhXG5cCnd5d2+zYW5hIChqZb9lbGkgaXN0bmllamUpLiBLb21lbmRhIENBTEwgbW+/ZSBwcnpla2F6eXdh5iBwYXJhbWV0cnkgZG9cblwKd3l3b7N5d2FuZWogcHJvY2VkdXJ5LlxuXApcblwKWm1pYW55IGRvbXmcbG5lZ28ga2F0YWxvZ3UsIHptaWVubnljaCCccm9kb3dpc2tvd3ljaCBpdGQuIHd5a29uYW5lIHByemV6XG5cCnd5d2+zYW65IHByb2NlZHVy6iBzuSBkemllZHppY3pvbmUgcHJ6ZXogc2tyeXB0IHd5d2+zdWq5Y3kgQ0FMTC5cbiIKCiAgV0NNRF9DRCwgICAgICJQb21vYyBvIENEXG4iCiAgV0NNRF9DSERJUiwgICJQb21vYyBvIENIRElSXG4iCgogIFdDTURfQ0xTLCAgICAiQ0xTIGN6eZxjaSBla3JhbiBrb25zb2xpXG4iCgogIFdDTURfQ09QWSwgICAiUG9tb2MgbyBDT1BZXG4iCiAgV0NNRF9DVFRZLCAgICJQb21vYyBvICBDVFRZXG4iCiAgV0NNRF9EQVRFLCAgICJQb21vYyBvICBEQVRFXG4iCiAgV0NNRF9ERUwsICAgICJQb21vYyBvICBERUxcbiIKICBXQ01EX0RJUiwgICAgIlBvbW9jIG8gIERJUlxuIgoKICBXQ01EX0VDSE8sCiJFQ0hPIDxjablnIHpuYWvzdz4gZHJ1a3VqZSA8Y2m5ZyB6bmvzdz4gZG8gYWt0dWFsbmVnbyB1v7lkemVuaWEuXG5cClxuXApFQ0hPIE9OIHBvd29kdWplLCC/ZSB3c3p5c3RraWUga29tZW5keSB6IHBsaWt1IGJhdCBzuSBkcnVrb3dhbmVcblwKZG8gYWt0dWFsbmVnbyB1cnq5ZHplbmlhIHByemVkIHd5d2+zYW5pZW0uXG5cClxuXApFQ0hPIE9GRiBvZHdyYWNhIGVmZWt0IGtvbWVuZHkgRUNITyBPTiAoRUNITyBqZXN0IHd5s7ljem9uZSAoT0ZGKVxuXApzdGFuZGFyZG93bykuIEtvbWVuZGEgRUNITyBPRkYgbW+/ZSB6b3N0YeYgbmllIHd5nHdpZXRsb25hIGplv2VsaVxuXAp6b3N0YW5pZSBwb3ByemVkem9uYSB6bmFraWVtIEAuXG4iCgogIFdDTURfRVJBU0UsICAiUG9tb2MgbyAgRVJBU0VcbiIKCiAgV0NNRF9GT1IsCiJLb21lbmRhIEZPUiBzs3W/eSBkbyB1cnVjaG9taWVuaWEga29tZW5keSBkbGEga2G/ZGVnbyB6IHBsaWvzdyB6ZVxuXAp6YmlvcnUuXG5cClNrs2FkbmlhOiBGT1IgJXptaWVubmEgSU4gKHpiafNyKSBETyBwb2xlY2VuaWVcblwKXG5cCld5bfNnIHBvd3RhcnphbmlhIHpuYWt1ICUsIGdkeSB1v3l3YW15IGtvbWVuZHkgRk9SIHcgcGxpa3UgYmF0IG5pZVxuXAppc3RuaWplIHcgY21kXG4iCgogIFdDTURfR09UTywKIktvbWVuZGEgR09UTyBwcnplbm9zaSBrdXJzb3IgZG8gaW5uZWdvIG1pZWpzY2EgdyBwbGlrdSBiYXQuXG5cClxuXApFdHlraWV0YSwga3TzcmEgamVzdCBjZWxlbSBza29rdSAoa29tZW5keSBHT1RPKSBtb79lIG1pZeYgbWFrc3ltYWxuaWVcblwKMjU1IHpuYWvzdyBks3Vnb5xjaSwgbmllIG1vv2UgemF3aWVyYeYgc3BhY2ppLiBKZb9lbGkgc7kgZHdpZSAobHViXG5cCndp6mNlaikgZXR5a2lldHkgbyB0YWtpY2ggc2FteWNoIG5hendhY2ggc2tvayB6b3N0YW5pZSB3eWtvbmFueSBkb1xuXApwaWVyd3N6ZWogeiBuaWNoLiBKZb9lbGkgZXR5a2lldGEgbmllIGlzdG5pamUgd3lrb255d2FuaWUgcGxpa3Ugem9zdGFqZVxuXApwcnplcndhbmUuXG4iCgogIFdDTURfSEVMUCwgICAiUG9tb2MgbyBIRUxQXG4iCgogIFdDTURfSUYsCiJJRiBqZXN0IHW/eXdhbmUgZG8gd2FydW5rb3dlZ28gd3lrb255d2FuaWEgcG9sZWNl8VxuXApcblwKU2uzYWRuaWE6CUlGIFtOT1RdIEVYSVNUIG5hendhX3BsaWt1IGtvbWVuZGFcblwKCUlGIFtOT1RdIGNpuWdfem5ha/N3MT09Y2m5Z196bmFr83cyIGtvbWVuZGFcblwKCUlGIFtOT1RdIEVSUk9STEVWRUwgbnVtZXIga29tZW5kYVxuXApcblwKVyBkcnVnaWVqIGZvcm1pZSAoY2m5Z196bmFr83cxPT1jablnX3puYWvzdzIpIGNpuWcgem5ha/N3IG11c2kgYnnmIHphd2FydHkgd1xuXApjdWR6eXOzb3dpZS5Qcnp5IHBvcvN3bnl3YW5pdSBwb21pamFuYSBqZXN0IHdpZWxrb5zmIHpuYWvzdy5cbiIKCiAgV0NNRF9MQUJFTCwgICJMQUJFTCBqZXN0IHW/eXdhbmUgZG8gdXN0YXdpZW5pYSBldHlraWV0eSBkeXNrdS5cblwKXG5cClNrs2FkbmlhOiBMQUJFTCBbZHlzazpdXG5cCktvbWVuZGEgcG9wcm9zaSBvIHBvZGFuaWUgbm93ZWogZXR5a2lldHkgZHlza3UuXG5cCk1vv2VzeiB3eZx3aWV0bGnmIGFrdHVhbG65IGV0eWtpZXTqIGtvbWVuZLkgVk9MLlxuIgoKICBXQ01EX01ELCAgICAgIlBvbW9jIG8gTURcbiIKICBXQ01EX01LRElSLCAgIlBvbW9jIG8gTUtESVJcbiIKICBXQ01EX01PVkUsCiJNT1ZFIHptaWVuaWEgcG+zb79lbmllIHd5YnJhbmVnbyBwbGlrdSBsdWIga2F0YWxvZ3UuXG5cClxuXApKZb9lbGkgcHJ6ZW1pZXN6Y3phbnkgamVzdCBrYXRhbG9nIHdzenlzdGtpZSBwb2RrYXRhbG9naVxuXAppIHBsaWtpIHO5IHRha79lIHByemVzdXdhbmUuXG5cClxuXApNT1ZFIGR6aWGzYSB0eWxrbyB3IG9icupiaWUgamVkbmVnbyBkeXNrdS5cbiIKCiAgV0NNRF9QQVRILAoiUEFUSCB3eZx3aWV0bGEgbHViIHptaWVuaWEgnGNpZb9r6iB3IGt083JlaiB3eXN6dWt1amUgY21kLlxuXApcblwKS29tZW5kYSBQQVRIIGJleiBwYXJhbWV0cvN3IHd5nHdpZXRsYSBha3R1YWxuuSCcY2llv2vqLiBBYnkgarlcblwKem1pZW5p5iBuYWxlv3kgd3l3b7Nh5iBQQVRIIHphIGt083J5bSB3eXN06nB1amUgbm93YSCcY2llv2thLlxuXApcblwKVW1pZXN6Y3plbmllIHd5cmG/ZW5pYSAlUEFUSCUgcHJ6eSBwb2Rhd2FuaXUgbm93ZWognGNpZb9raVxuXApwb3dvZHVqZSB3c3Rhd2llbmllIHN0YXJlaiCcY2llv2tpLCBuYSBwcnp5a7NhZDpcblwKCQlQQVRIICVQQVRIJTtjOlxcdGVtcCBcbiIKCiAgV0NNRF9QQVVTRSwKIlBBVVNFIHd5nHdpZXRsYSBpbmZvcm1hY2plICdOYWNpnG5paiBFbnRlciBhYnkga29udHludW93YeYnIGkgY3pla2EsXG5cCmG/IHW/eXRrb3duaWsgbmFjaZxuaWUga2xhd2lzeiBFbnRlci4gRnVua2NqYSB0YSBqZXN0IHW/eXRlY3puYSB3IHBsaWthY2hcblwKdHlwdSBiYXQsIGFieSB1bW+/bGl3aeYgdb95dGtvd25pa293aSBwcnplY3p5dGFuaWUgaW5mb3JtYWNqaSB3eZx3aWV0bG9ueWNoXG5cCm5hIGVrcmFuaWUuXG4iCgogIFdDTURfUFJPTVBULAoiUFJPTVBUIHVzdGF3aWEgdGVrc3Qgemezb3N6ZW5pYSBrb25zb2xpLlxuXApcblwKVGVrc3Qgd3lzdOpwdWq5Y3kgemEga29tZW5kuSAoaSBzcGFjamUgd3lzdOpwdWq5Y2UgemEgbmltKVxuXApwb2phd2lharkgc2nqIG5hIHBvY3q5dGt1IGxpbmkgZ2R5IGNtZCBjemVrYSBuYSBrb21lbmTqLlxuXApcblwKTmFzdOpwdWq5Y2UgY2m5Z2kgem5ha/N3IG1harkgc3BlY2phbG5lIHpuYWN6ZW5pZTpcblwKXG5cCiQkICAgIFpuYWsgZG9sYXJhICgkKSAgICAgJF8gICAgWm5hayBfICAgICAgICAgICAgICAkYiAgICBabmFrIHxcblwKJGQgICAgRGF0YSAgICAgICAgICAgICAgICAkZSAgICBFc2NhcGUgICAgICAgICAgICAgICRnICAgIFpuYWsgPlxuXAokbCAgICBabmFrIDwgICAgICAgICAgICAgICRuICAgIER5c2sgICAgICAgICAgICAgICAgJHAgICAgjGNpZb9rYVxuXAokcSAgICBabmFrID0gICAgICAgICAgICAgICR0ICAgIEN6YXMgICAgICAgICAgICAgICAgJHYgICAgV2Vyc2phIGNtZFxuXApcblwKV3Bpc2FuaWUgUFJPTVBUIGJleiBvcGNqaSByZXNldHVqZSB1c3Rhd2llbmlhIGtvbnNvbGkgendpuXphbmUgeiBrb21lbmS5XG5cClBST01QVCwgdXN0YXdpYSB3eZx3aWV0bGFueSB0ZWtzdCBuYSCcY2llv2tlIGkgem5hayA+LlxuXAooVGFrIHNhbW8gamFrIHBvbGVjZW5pZSBQUk9NUFQgJHAkZykuXG5cClxuXApQb2xlY2VuaWUgJ1NFVCBQUk9NUFQ9dGVrc3QnIG1hIHRha2kgc2FtIGVmZWt0IGphayAnUFJPTVBUIHRla3N0J1xuIgoKICBXQ01EX1JFTSwKIlBvbGVjZW5pZSBwb3ByemVkem9uZSBrb21lbmS5IFJFTSBuaWUgamVzdCB3eWtvbnl3YW5lLCBtb79lIGJ55lxuXApzdG9zb3dhbmUgamFrbyBrb21lbnRhcnogdyBwbGlrdSB0eXB1IGJhdC5cbiIKCiAgV0NNRF9SRU4sICAgICJQb21vYyBvIFJFTlxuIgogIFdDTURfUkVOQU1FLCAiUG9tb2MgbyBSRU5BTUVcbiIKICBXQ01EX1JELCAgICAgIlBvbW9jIG8gUkRcbiIKICBXQ01EX1JNRElSLCAgIlBvbW9jIG8gUk1ESVJcbiIKCiAgV0NNRF9TRVQsCiJTRVQgd3mcd2lldGxhIGx1YiB1c3Rhd2lhIHptaWVubmUgnHJvZG93aXNrb3dlIGNtZC5cblwKXG5cClNFVCBiZXogcGFyYW1ldHLzdyB3eZx3aXRsYSB3c3p5c3RraWUgdXN0YXdpb25lIHptaWVubmUuXG5cClxuXApTa7NhZG5pYSBwb2xlY2VuaWEgKGJ5IHV0d29yennmIGx1YiB6bW9keWZpa293YeYgem1pZW5uuTpcblwKXG5cCiAgICAgIFNFVCA8em1pZW5uYT49PHdhcnRvnOY+XG5cClxuXApnZHppZSA8em1pZW5uYT4gaSA8d2FydG+c5j4gc7kgY2m5Z2FtaSB6bmFr83cuIFNwYWNqYSBuaWUgbW+/ZVxuXAp3eXN06nBvd2HmIHByemVkIHpuYWtpZW0gcvN3bm+cY2ksIG5hendhIHptaWVubmVqIG5pZSBtb79lIHphd2llcmHmXG5cCnNwYWNqaS5cblwKXG5cClBvZCBXaW5lJ2VtIHptaWVubmUgnHJvZG93aXNrb3dlIHN5c3RlbXUgb3BlcmFjeWpuZWdvIHO5IGRvZGF3YW5lIGRvXG5cCnptaWVubnljaCCccm9kb3dpc2tvd3ljaCBXaW4zMiwgeiB0ZWdvIHBvd29kdSBqZXN0IHdp6mNlaiB6bWllbm55Y2ggbmm/XG5cCncgaW1wbGVtZW50YWNqaSBXaW4zMi4gV2luZSBuaWUgbW9keWZpa3VqZSB6bWllbm55Y2ggnHJvZG93aXNrb3d5Y2hcblwKc3lzdGVtdS5cbiIKCiAgV0NNRF9TSElGVCwKIlNISUZUIGplc3Qgdb95d2FuZSB3IHBsaWthY2ggYmF0IGRvIHVzdW5p6mNpYSBwaWVyd3N6ZWdvIHBhcmFtZXRydSB6IGxpc3R5XG5cCnBhcmFtZXRy83csIHBhcmFtZXRyIDIgc3RhamUgc2llIDEgaXRkLiBQb2xlY2VuaWUgdG8gbmllIG1hIGVmZWt0dSBnZHkgamVzdFxuXAp3eXdvs3l3YW5lIHogbGluaSBrb21lbmQuXG4iCgogIFdDTURfVElNRSwgICAiUG9tb2MgbyBUSU1FXG4iCgogIFdDTURfVElUTEUsICAiVXN0YXdpYSBuYXp36iBva25hIGNtZCwgc2uzYWRuaWEgVElUTEUgW2NpuWcgem5ha/N3XVxuIgoKICBXQ01EX1RZUEUsCiJUWVBFIDxuYXp3YSBwbGlrdT4gd3mcd2lldGxhIHphd2FydG+c5iBwbGlrdSwgbmllIGplc3Qgc3ByYXdkemFuZSwgY3p5XG5cCmplc3Qgb24gcGxpa2llbSB0ZWtzdG93eW0uXG4iCgogIFdDTURfVkVSSUZZLAoiVkVSSUZZIGplc3Qgdb95d2FuZSBkbyB1c3Rhd2llbmlhIHdhcnRvnGNpIGZsYWdpIHZlcmlmeS4gUHJhd2lks293YSBza7NhZG5pYTpcblwKXG5cClZFUklGWSBPTglVc3Rhd2lhIGZsYWfqXG5cClZFUklGWSBPRkYJVXN1d2EgZmxhZ+pcblwKVkVSSUZZCQlXeZx3aWV0bGEgT04gbHViIE9GRiB3IHphbGW/bm+cY2kgb2Qgc3RhbnUgZmxhZ2kuXG5cClxuXApVc3Rhd2llbmlhIGZsYWdpIG5pYyBuaWUgem1pZW5pYWq5IHBvZCBXaW5lJ2VtLlxuIgoKICBXQ01EX1ZFUiwKIlZFUiB3eZx3aWV0bGEgd2Vyc2rqIGNtZC5cbiIKCiAgV0NNRF9WT0wsICAgICJQb21vYyBvIFZPTFxuIgoKICBXQ01EX1BVU0hELCAiUFVTSEQgPG5hendha2F0YWxvZ3U+IHphcGFtaep0dWplIGFrdHVhbG55IGthdGFsb2cgbmEgc3Rvc2llLCBhXG5cCiAgICAgICAgICAgICAgIG5hc3TqcG5pZSBwcnplY2hvZHppIGRvIGthdGFsb2d1IHBvZGFuZWdvIGpha28gcGFyYW1ldHJcbiIKCiAgV0NNRF9QT1BELCAiUE9QRCB1c3RhbGEgYWt0dWFsbnkga2F0YWxvZyBuYSBvc3RhdG5pIGthdGFsb2cgemFwYW1p6nRhbnkgcHJ6ZXpcblwKICAgICAgICAgICAgICBQVVNIRFxuIgoKICBXQ01EX01PUkUsICAgIk1PUkUgd3mcd2lldGxhIHN0cm9uYSBwbyBzdHJvbmllIHd5apxjaWUgcGxpa3UgbHViIHBvdG9rdS5cbiIKCiAgV0NNRF9FWElULAoiRVhJVCBrb/FjenkgYmllv7ljuSBzZXNq6iBjbWQgaSBwb3dyYWNhIGRvIHN5c3RlbXUgb3BlcmFjeWpuZWdvXG5cCmx1YiBwb3ezb2tpLCB3IGt083JlaiB1cnVjaG9taW9ubyBjbWQuXG4iCgogIFdDTURfQUxMSEVMUCwgIkNNRCAtIHdidWRvd2FuZSBrb21lbmR5OlxuXApBVFRSSUJcdFx0UG9rYXp1amUgbHViIHptaWVuaWEgYXRyeWJ1dHkgcGxpa3VcblwKQ0FMTFx0XHRXeXdvs3VqZSBwbGlrIGJhdCB6IGlubmVnbyBwbGlrdVxuXApDRCAoQ0hESVIpXHRabWllbmlhIGJpZb+5Y3kga2F0YWxvZ1xuXApDTFNcdFx0Q3p5nGNpIGVrcmFuIGtvbnNvbGlcblwKQ09QWVx0XHRLb3BpdWplIHBsaWtcblwKQ1RUWVx0XHRabWllbmlhIHVyerlkemVuaWUgd3lqnGNpYS93ZWqcY2lhXG5cCkRBVEVcdFx0UG9rYXp1amUgbHViIHptaWVuaWEgZGF06iBzeXN0ZW1vd7lcblwKREVMIChFUkFTRSlcdFVzdXdhIHBsaWsgbHViIHBsaWtpXG5cCkRJUlx0XHRXeZx3aWV0bGEgemF3YXJ0b5zmIGthdGFsb2d1XG5cCkVDSE9cdFx0S29waXVqZSB0ZWtzdCBuYSB3eWqcY2llIGtvbnNvbGlcblwKSEVMUFx0XHRXeZx3aWV0bGEgZG9rs2FkbmllanN6uSBwb21vYyBvIGtvbWVuZHppZVxuXApNRCAoTUtESVIpXHRUd29yenkga2F0YWxvZ1xuXApNT1JFXHRcdFd5nHdpZXRsYSB3eWqcY2llIHN0cm9uYSBwbyBzdHJvbmllXG5cCk1PVkVcdFx0UHJ6ZW5vc2kga2F0YWxvZyBsdWIgcGxpa2lcblwKUEFUSFx0XHRVc3Rhd2lhIGx1YiB3eZx3aWV0bGEgnGNpZb9r6iBwcnplc3p1a2l3YW5pYVxuXApQT1BEXHRcdFdyYWNhIGRvIGthdGFsb2d1IHphcGFtaep0YW5lZ28gcHJ6ZXogUFVTSERcblwKUFJPTVBUXHRcdFptaWVuaWEgdGVrc3Qgemezb3N6ZW5pYVxuXApQVVNIRFx0XHRQcnplY2hvZHppIGRvIG5vd2VnbyBrYXRhbG9ndSB6YXBhbWnqdHVquWMgc3RhcnlcblwKUkVOIChSRU5BTUUpXHRabWllbmlhIG5henfqIHBsaWt1XG5cClJEIChSTURJUilcdFVzdXdhIGthdGFsb2dcblwKU0VUXHRcdFVzdGF3aWEgbHViIHd5nHdpZXRsYSB6bWllbm5lIJxyb2Rvd2lza293ZVxuXApUSU1FXHRcdFVzdGF3aWEgbHViIHd5nHdpZXRsYSBjemFzXG5cClRJVExFXHRcdFVzdGF3aWEgdHl0dbMgb2tuYSBDTURcblwKVFlQRVx0XHRXeZx3aWV0bGEgemF3YXJ0b5zmIHBsaWt1XG5cClZFUlx0XHRXeZx3aWV0bGEgd2Vyc2rqIENNRFxuXApWT0xcdFx0V3mcd2lldGxhIGV0eWtpZXTqIGR5c2t1XG5cCkVYSVRcdFx0V3mzuWN6YSBDTURcblxuXApXcGlzeiBIRUxQIDxrb21lbmRhPiBkbGEgZG9rs2FkbmllanN6eWNoIGluZm9ybWFjamkgbyBrb21lbmR6aWVcbiIKCiAgV0NNRF9DT05GSVJNLCAiQXJlIHlvdSBzdXJlIgogIFdDTURfWUVTLCAiWSIKICBXQ01EX05PLCAiTiIKICBXQ01EX05PQVNTT0MsICJGaWxlIGFzc29jaWF0aW9uIG1pc3NpbmcgZm9yIGV4dGVuc2lvbiAlc1xuIgogIFdDTURfTk9GVFlQRSwgIk5vIG9wZW4gY29tbWFuZCBhc3NvY2lhdGVkIHdpdGggZmlsZSB0eXBlICclcydcbiIKICBXQ01EX09WRVJXUklURSwgIk92ZXJ3cml0ZSAlcyIKICBXQ01EX01PUkVTVFIsICJNb3JlLi4uIgogIFdDTURfVFJVTkNBVEVETElORSwgIkxpbmUgaW4gQmF0Y2ggcHJvY2Vzc2luZyBwb3NzaWJseSB0cnVuY2F0ZWQuIFVzaW5nOlxuIgogIFdDTURfTllJLCAiTm90IFlldCBJbXBsZW1lbnRlZFxuXG4iCiAgV0NNRF9OT0FSRywgIkFyZ3VtZW50IG1pc3NpbmdcbiIKICBXQ01EX1NZTlRBWEVSUiwgIlN5bnRheCBlcnJvclxuIgogIFdDTURfRklMRU5PVEZPVU5ELCAiJXMgOiBGaWxlIE5vdCBGb3VuZFxuIgogIFdDTURfTk9DTURIRUxQLCAiTm8gaGVscCBhdmFpbGFibGUgZm9yICVzXG4iCiAgV0NNRF9OT1RBUkdFVCwgIlRhcmdldCB0byBHT1RPIG5vdCBmb3VuZFxuIgogIFdDTURfQ1VSUkVOVERBVEUsICJDdXJyZW50IERhdGUgaXMgJXNcbiIKICBXQ01EX0NVUlJFTlRUSU1FLCAiQ3VycmVudCBUaW1lIGlzICVzXG4iCiAgV0NNRF9ORVdEQVRFLCAiRW50ZXIgbmV3IGRhdGU6ICIKICBXQ01EX05FV1RJTUUsICJFbnRlciBuZXcgdGltZTogIgogIFdDTURfTUlTU0lOR0VOViwgIkVudmlyb25tZW50IHZhcmlhYmxlICVzIG5vdCBkZWZpbmVkXG4iCiAgV0NNRF9SRUFERkFJTCwgIkZhaWxlZCB0byBvcGVuICclcydcbiIKICBXQ01EX0NBTExJTlNDUklQVCwgIkNhbm5vdCBjYWxsIGJhdGNoIGxhYmVsIG91dHNpZGUgb2YgYSBiYXRjaCBzY3JpcHRcbiIKICBXQ01EX0FMTCwgIkEiCiAgV0NNRF9ERUxQUk9NUFQsICIlcywgRGVsZXRlIgogIFdDTURfRUNIT1BST01QVCwgIkVjaG8gaXMgJXNcbiIKICBXQ01EX1ZFUklGWVBST01QVCwgIlZlcmlmeSBpcyAlc1xuIgogIFdDTURfVkVSSUZZRVJSLCAiVmVyaWZ5IG11c3QgYmUgT04gb3IgT0ZGXG4iOwogIFdDTURfQVJHRVJSLCAiUGFyYW1ldGVyIGVycm9yXG4iCiAgV0NNRF9WT0xVTUVERVRBSUwsICJWb2x1bWUgaW4gZHJpdmUgJWMgaXMgJXNcblZvbHVtZSBTZXJpYWwgTnVtYmVyIGlzICUwNHgtJTA0eFxuXG4iCiAgV0NNRF9WT0xVTUVQUk9NUFQsICJWb2x1bWUgbGFiZWwgKDExIGNoYXJhY3RlcnMsIEVOVEVSIGZvciBub25lKT8iCiAgV0NNRF9OT1BBVEgsICJQQVRIIG5vdCBmb3VuZFxuIgogIFdDTURfQU5ZS0VZLCJQcmVzcyBSZXR1cm4ga2V5IHRvIGNvbnRpbnVlOiAiCiAgV0NNRF9DT05TVElUTEUsIldpbmUgQ29tbWFuZCBQcm9tcHQiCiAgV0NNRF9WRVJTSU9OLCJDTUQgVmVyc2lvbiAlc1xuXG4iCiAgV0NNRF9NT1JFUFJPTVBULCAiTW9yZT8gIgp9Cg==