Name: series-workflowvgk6w Phase: Failed StartedAt: 2026-07-22 21:42:09 +0000 UTC FinishedAt: 2026-07-22 22:24:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvgk6w[0] Phase: Succeeded StartedAt: 2026-07-22 21:42:09 +0000 UTC FinishedAt: 2026-07-22 22:23:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvgk6w[0].run-triage Phase: Succeeded StartedAt: 2026-07-22 21:42:09 +0000 UTC FinishedAt: 2026-07-22 22:23:54 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIyIDIyOjIzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjIgMjI6MjM8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA4NjU0MjFkNGRjMDRhNTMyOGJiMDEzZjUyZTUyYjU3MzY2OTY5NzQ4XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBKdWwgMjIgMjI6MjM6MjcgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oXG5pbmRleCA1MmVhOTdjODE4YjhlYy4uZDlhYjk0OTEwYTJhNzkgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmhcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaFxuQEAgLTEwNCw4ICYjNDM7MTA0LDYgQEAgc3RydWN0IGhpbmljX2RldiB7XG4gXHR1MTZcdFx0XHRcdG51bV9yc3M7XG4gXHR1MTZcdFx0XHRcdHJzc19saW1pdDtcbiBcdHN0cnVjdCBoaW5pY19yc3NfdHlwZVx0XHRyc3NfdHlwZTtcbi1cdHU4XHRcdFx0XHQqcnNzX2hrZXlfdXNlcjtcbi1cdHMzMlx0XHRcdFx0KnJzc19pbmRpcl91c2VyO1xuIFx0c3RydWN0IGhpbmljX2ludHJfY29hbF9pbmZvXHQqcnhfaW50cl9jb2FsZXNjZTtcbiBcdHN0cnVjdCBoaW5pY19pbnRyX2NvYWxfaW5mb1x0KnR4X2ludHJfY29hbGVzY2U7XG4gXHRzdHJ1Y3QgaGluaWNfc3Jpb3ZfaW5mbyBzcmlvdl9pbmZvO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jXG5pbmRleCBhOGIxMjljZTFiN2U5Zi4uZjc1ZTg1NjNmMjNhZWUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jXG5AQCAtMTA2NCwxNyAmIzQzOzEwNjQsNiBAQCBzdGF0aWMgaW50IF9fc2V0X3Jzc19yeGZoKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXG4gXHRpbnQgZXJyO1xuIFxuIFx0aWYgKGluZGlyKSB7XG4tXHRcdGlmICghbmljX2Rldi1cdTAwM2Vyc3NfaW5kaXJfdXNlcikge1xuLVx0XHRcdG5pY19kZXYtXHUwMDNlcnNzX2luZGlyX3VzZXIgPVxuLVx0XHRcdFx0a3phbGxvYyhzaXplb2YodTMyKSAqIEhJTklDX1JTU19JTkRJUl9TSVpFLFxuLVx0XHRcdFx0XHRHRlBfS0VSTkVMKTtcbi1cdFx0XHRpZiAoIW5pY19kZXYtXHUwMDNlcnNzX2luZGlyX3VzZXIpXG4tXHRcdFx0XHRyZXR1cm4gLUVOT01FTTtcbi1cdFx0fVxuLVxuLVx0XHRtZW1jcHkobmljX2Rldi1cdTAwM2Vyc3NfaW5kaXJfdXNlciwgaW5kaXIsXG4tXHRcdCAgICAgICBzaXplb2YodTMyKSAqIEhJTklDX1JTU19JTkRJUl9TSVpFKTtcbi1cbiBcdFx0ZXJyID0gaGluaWNfcnNzX3NldF9pbmRpcl90YmwobmljX2RldixcbiBcdFx0XHRcdFx0ICAgICAgbmljX2Rldi1cdTAwM2Vyc3NfdG1wbF9pZHgsIGluZGlyKTtcbiBcdFx0aWYgKGVycilcbkBAIC0xMDgyLDE2ICYjNDM7MTA3MSw2IEBAIHN0YXRpYyBpbnQgX19zZXRfcnNzX3J4Zmgoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbiBcdH1cbiBcbiBcdGlmIChrZXkpIHtcbi1cdFx0aWYgKCFuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIpIHtcbi1cdFx0XHRuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIgPVxuLVx0XHRcdFx0a3phbGxvYyhISU5JQ19SU1NfS0VZX1NJWkUgKiAyLCBHRlBfS0VSTkVMKTtcbi1cbi1cdFx0XHRpZiAoIW5pY19kZXYtXHUwMDNlcnNzX2hrZXlfdXNlcilcbi1cdFx0XHRcdHJldHVybiAtRU5PTUVNO1xuLVx0XHR9XG4tXG4tXHRcdG1lbWNweShuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIsIGtleSwgSElOSUNfUlNTX0tFWV9TSVpFKTtcbi1cbiBcdFx0ZXJyID0gaGluaWNfcnNzX3NldF90ZW1wbGF0ZV90YmwobmljX2RldixcbiBcdFx0XHRcdFx0XHQgbmljX2Rldi1cdTAwM2Vyc3NfdG1wbF9pZHgsIGtleSk7XG4gXHRcdGlmIChlcnIpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjIgMjI6MjM8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDg2NTQyMWQ0ZGMwNGE1MzI4YmIwMTNmNTJlNTJiNTczNjY5Njk3NDgKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIEp1bCAyMiAyMjoyMzoyNyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaAppbmRleCA1MmVhOTdjODE4YjhlYy4uZDlhYjk0OTEwYTJhNzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaAomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmgKQEAgLTEwNCw4ICYjNDM7MTA0LDYgQEAgc3RydWN0IGhpbmljX2RldiB7CiAJdTE2CQkJCW51bV9yc3M7CiAJdTE2CQkJCXJzc19saW1pdDsKIAlzdHJ1Y3QgaGluaWNfcnNzX3R5cGUJCXJzc190eXBlOwotCXU4CQkJCSpyc3NfaGtleV91c2VyOwotCXMzMgkJCQkqcnNzX2luZGlyX3VzZXI7CiAJc3RydWN0IGhpbmljX2ludHJfY29hbF9pbmZvCSpyeF9pbnRyX2NvYWxlc2NlOwogCXN0cnVjdCBoaW5pY19pbnRyX2NvYWxfaW5mbwkqdHhfaW50cl9jb2FsZXNjZTsKIAlzdHJ1Y3QgaGluaWNfc3Jpb3ZfaW5mbyBzcmlvdl9pbmZvOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMKaW5kZXggYThiMTI5Y2UxYjdlOWYuLmY3NWU4NTYzZjIzYWVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMKQEAgLTEwNjQsMTcgJiM0MzsxMDY0LDYgQEAgc3RhdGljIGludCBfX3NldF9yc3NfcnhmaChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LAogCWludCBlcnI7CiAKIAlpZiAoaW5kaXIpIHsKLQkJaWYgKCFuaWNfZGV2LSZndDtyc3NfaW5kaXJfdXNlcikgewotCQkJbmljX2Rldi0mZ3Q7cnNzX2luZGlyX3VzZXIgPQotCQkJCWt6YWxsb2Moc2l6ZW9mKHUzMikgKiBISU5JQ19SU1NfSU5ESVJfU0laRSwKLQkJCQkJR0ZQX0tFUk5FTCk7Ci0JCQlpZiAoIW5pY19kZXYtJmd0O3Jzc19pbmRpcl91c2VyKQotCQkJCXJldHVybiAtRU5PTUVNOwotCQl9Ci0KLQkJbWVtY3B5KG5pY19kZXYtJmd0O3Jzc19pbmRpcl91c2VyLCBpbmRpciwKLQkJICAgICAgIHNpemVvZih1MzIpICogSElOSUNfUlNTX0lORElSX1NJWkUpOwotCiAJCWVyciA9IGhpbmljX3Jzc19zZXRfaW5kaXJfdGJsKG5pY19kZXYsCiAJCQkJCSAgICAgIG5pY19kZXYtJmd0O3Jzc190bXBsX2lkeCwgaW5kaXIpOwogCQlpZiAoZXJyKQpAQCAtMTA4MiwxNiAmIzQzOzEwNzEsNiBAQCBzdGF0aWMgaW50IF9fc2V0X3Jzc19yeGZoKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsCiAJfQogCiAJaWYgKGtleSkgewotCQlpZiAoIW5pY19kZXYtJmd0O3Jzc19oa2V5X3VzZXIpIHsKLQkJCW5pY19kZXYtJmd0O3Jzc19oa2V5X3VzZXIgPQotCQkJCWt6YWxsb2MoSElOSUNfUlNTX0tFWV9TSVpFICogMiwgR0ZQX0tFUk5FTCk7Ci0KLQkJCWlmICghbmljX2Rldi0mZ3Q7cnNzX2hrZXlfdXNlcikKLQkJCQlyZXR1cm4gLUVOT01FTTsKLQkJfQotCi0JCW1lbWNweShuaWNfZGV2LSZndDtyc3NfaGtleV91c2VyLCBrZXksIEhJTklDX1JTU19LRVlfU0laRSk7Ci0KIAkJZXJyID0gaGluaWNfcnNzX3NldF90ZW1wbGF0ZV90YmwobmljX2RldiwKIAkJCQkJCSBuaWNfZGV2LSZndDtyc3NfdG1wbF9pZHgsIGtleSk7CiAJCWlmIChlcnIpCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIyIDIyOjIzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI1MzcKCQkJCQkJCW91dHB1dDogMzYKCQkJCQkJCXRob3VnaHRzOiAzNTYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgSElOSUMgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYGhpbmljX2V0aHRvb2wuY2AgYW5kIGBoaW5pY19kZXYuaGAgd2l0aGluIHRoZSBIdWF3ZWkgSElOSUMgZHJpdmVyLiBSaWdodCBvZmYgdGhlIGJhdCwgSSBzZWUgaXQmIzM5O3MgcmVtb3ZpbmcgYHJzc19oa2V5X3VzZXJgIGFuZCBgcnNzX2luZGlyX3VzZXJgIGZyb20gdGhlIGBoaW5pY19kZXZgIHN0cnVjdCwgYW5kIHRoZSByZWxhdGVkIGFsbG9jYXRpb24vcG9wdWxhdGlvbiBjb2RlIGluIGBfX3NldF9yc3NfcnhmaGAuIE15IGluaXRpYWwgdGhvdWdodCBpcywgJiMzNDtDYW4gdGhpcyBiZSBleHBsb2l0ZWQgdmlydHVhbGx5PyYjMzQ7IEl0JiMzOTtzIGEgUENJIGRldmljZSBkcml2ZXIsIHdoaWNoIHVzdWFsbHkgcG9pbnRzIHRvd2FyZHMgcGh5c2ljYWwgaGFyZHdhcmUuIEkgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoaXMgZHJpdmVyIGlzIGV2ZW4gcmVhY2hhYmxlIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuCgpHaXZlbiBpdCYjMzk7cyBhIFBDSSBkcml2ZXIsIGZ1enppbmcgaXMgdXN1YWxseSBhIGNoYWxsZW5nZSB3aXRob3V0IGVtdWxhdGlvbiBvciBnZW5lcmljIHN1YnN5c3RlbSBob29rcy4gQnV0IGlzIHRoZXJlIGVtdWxhdGlvbiBmb3IgSElOSUM/IFByb2JhYmx5IG5vdC4gV2FpdCwgZGlkbiYjMzk7dCBzeXprYWxsZXIgc3RhcnQgc3VwcG9ydGluZyBQQ0kgZnV6emluZz8gWWVzLCB0aGVyZSBhcmUgbWVjaGFuaXNtcyBsaWtlIHZQQ0kuIFRoZSBwcm9tcHQgaXMgc3BlY2lmaWNhbGx5IGNhbGxpbmcgb3V0ICppbXBvc3NpYmlsaXR5KiBvZiByZWFjaGluZyBjb2RlIHBhdGhzIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUuIElzIEhJTklDIGVtdWxhdGVkIGluIFFFTVU/IE5vLiBTbyBpdCYjMzk7cyBwcm9iYWJseSB1bnJlYWNoYWJsZSBpbiBhIHR5cGljYWwgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuIFN5emthbGxlciBzdXBwb3J0cyBQQ0kgZnV6emluZywgYnV0IHVzdWFsbHksIHdlIHRyZWF0IHBoeXNpY2FsIGRldmljZSBkcml2ZXJzIGFzIHVucmVhY2hhYmxlIHVubGVzcyB0aGVyZSBpcyBhIFVTQiBkcml2ZXIgb3IgYSBzcGVjaWZpYyBlbXVsYXRvciBpcyBpbnZvbHZlZC4KCkxldCBtZSBqdXN0IGRvdWJsZS1jaGVjaywgeWVzLCBpdCYjMzk7cyB0aGUgSHVhd2VpIEludGVsbGlnZW50IE5JQy4gT2theSwgc28gaXQmIzM5O3MgYSBwaHlzaWNhbCBkZXZpY2UuIExldCBtZSBwZXJmb3JtIGEgcXVpY2sga2VybmVsIHNlYXJjaCB0byBtYWtlIGNlcnRhaW4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjIgMjI6MjM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7SElOSUMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA1OTk1IGxpbmVzLlxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxuXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvS2NvbmZpZy01LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL0tjb25maWc6Njpjb25maWcgSElOSUNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtIdWF3ZWkgSW50ZWxsaWdlbnQgUENJRSBOZXR3b3JrIEludGVyZmFjZSBDYXJkXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL01ha2VmaWxlLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvTWFrZWZpbGU6MjpvYmotJChDT05GSUdfSElOSUMpICYjNDM7PSBoaW5pYy5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvTWFrZWZpbGUtMy1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfY29tbW9uLmgtNi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19jb21tb24uaDo3OiNpZm5kZWYgSElOSUNfQ09NTU9OX0hcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19jb21tb24uaDo4OiNkZWZpbmUgSElOSUNfQ09NTU9OX0hcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19jb21tb24uaC05LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9ODM9c3RhdGljIGludCBoaW5pY19kYmdfZ2V0X2Z1bmNfdGFibGUoc3RydWN0IGhpbmljX2RldiAqbmljX2RldiwgaW50IGlkeClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTk2LVx0cmVhZF9kYXRhLVx1MDAzZWluc3QgPSBUQkxfSURfRlVOQ19DRkdfU01fSU5TVDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6OTc6XHRyZWFkX2RhdGEtXHUwMDNlZW50cnlfc2l6ZSA9IEhJTklDX0ZVTkNUSU9OX0NPTkZJR1VSRV9UQUJMRV9TSVpFO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzo5ODpcdHJlYWRfZGF0YS1cdTAwM2VsdF9pbmRleCA9IEhJTklDX0hXSUZfRlVOQ19JRFgobmljX2Rldi1cdTAwM2Vod2Rldi1cdTAwM2Vod2lmKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6OTk6XHRyZWFkX2RhdGEtXHUwMDNlbGVuID0gSElOSUNfRlVOQ1RJT05fQ09ORklHVVJFX1RBQkxFX1NJWkU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTEwMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MTAxOlx0ZXJyID0gaGluaWNfcG9ydF9tc2dfY21kKG5pY19kZXYtXHUwMDNlaHdkZXYsIEhJTklDX1BPUlRfQ01EX1JEX0xJTkVfVEJMLCByZWFkX2RhdGEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTEwMi1cdFx0XHRcdCBzaXplb2YoKnJlYWRfZGF0YSksIHJlYWRfZGF0YSwgXHUwMDI2b3V0X3NpemUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MTM2PXN0YXRpYyBzc2l6ZV90IGhpbmljX2RiZ19jbWRfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90IGNvdW50LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMTQ4LVx0c3dpdGNoIChkYmctXHUwMDNldHlwZSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoxNDk6XHRjYXNlIEhJTklDX0RCR19TUV9JTkZPOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xNTAtXHRcdG91dCA9IGhpbmljX2RiZ19nZXRfc3FfaW5mbyhkYmctXHUwMDNlZGV2LCBkYmctXHUwMDNlb2JqZWN0LCAqZGVzYyk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xNTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjE1MzpcdGNhc2UgSElOSUNfREJHX1JRX0lORk86XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTE1NC1cdFx0b3V0ID0gaGluaWNfZGJnX2dldF9ycV9pbmZvKGRiZy1cdTAwM2VkZXYsIGRiZy1cdTAwM2VvYmplY3QsICpkZXNjKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTE1Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MTU3Olx0Y2FzZSBISU5JQ19EQkdfRlVOQ19UQUJMRTpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMTU4LVx0XHRvdXQgPSBoaW5pY19kYmdfZ2V0X2Z1bmNfdGFibGUoZGJnLVx1MDAzZWRldiwgKmRlc2MpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjA0PXN0YXRpYyB2b2lkIHJlbV9kYmdfZmlsZXMoc3RydWN0IGhpbmljX2RlYnVnX3ByaXYgKmRiZylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjA1LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MjA2Olx0aWYgKGRiZy1cdTAwM2V0eXBlICE9IEhJTklDX0RCR19GVU5DX1RBQkxFKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yMDctXHRcdGRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZShkYmctXHUwMDNlcm9vdCk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYz0yMTI9aW50IGhpbmljX3NxX2RlYnVnX2FkZChzdHJ1Y3QgaGluaWNfZGV2ICpkZXYsIHUxNiBzcV9pZClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTIyMy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MjI0Olx0cmV0dXJuIGNyZWF0ZV9kYmdfZmlsZXMoZGV2LCBISU5JQ19EQkdfU1FfSU5GTywgc3EsIHJvb3QsIFx1MDAyNnNxLVx1MDAzZWRiZywgc3FfZmllbGRzLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yMjUtXHRcdFx0XHRBUlJBWV9TSVpFKHNxX2ZpZWxkcykpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjM0PWludCBoaW5pY19ycV9kZWJ1Z19hZGQoc3RydWN0IGhpbmljX2RldiAqZGV2LCB1MTYgcnFfaWQpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNDUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI0NjpcdHJldHVybiBjcmVhdGVfZGJnX2ZpbGVzKGRldiwgSElOSUNfREJHX1JRX0lORk8sIHJxLCByb290LCBcdTAwMjZycS1cdTAwM2VkYmcsIHJxX2ZpZWxkcyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjQ3LVx0XHRcdFx0QVJSQVlfU0laRShycV9maWVsZHMpKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jPTI1Nj1pbnQgaGluaWNfZnVuY190YWJsZV9kZWJ1Z19hZGQoc3RydWN0IGhpbmljX2RldiAqZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNTcte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoyNTg6XHRpZiAoSElOSUNfSVNfVkYoZGV2LVx1MDAzZWh3ZGV2LVx1MDAzZWh3aWYpKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNTktXHRcdHJldHVybiAwO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNjAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI2MTpcdHJldHVybiBjcmVhdGVfZGJnX2ZpbGVzKGRldiwgSElOSUNfREJHX0ZVTkNfVEFCTEUsIGRldiwgZGV2LVx1MDAzZWZ1bmNfdGJsX2RiZ2ZzLCBcdTAwMjZkZXYtXHUwMDNlZGJnLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNjItXHRcdFx0XHRmdW5jX3RhYmxlX2ZpZWxkcywgQVJSQVlfU0laRShmdW5jX3RhYmxlX2ZpZWxkcykpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjY1PXZvaWQgaGluaWNfZnVuY190YWJsZV9kZWJ1Z19yZW0oc3RydWN0IGhpbmljX2RldiAqZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNjYte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoyNjc6XHRpZiAoIUhJTklDX0lTX1ZGKGRldi1cdTAwM2Vod2Rldi1cdTAwM2Vod2lmKSBcdTAwMjZcdTAwMjYgZGV2LVx1MDAzZWRiZylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjY4LVx0XHRyZW1fZGJnX2ZpbGVzKGRldi1cdTAwM2VkYmcpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjkxPXZvaWQgaGluaWNfZnVuY190YmxfZGJnZnNfaW5pdChzdHJ1Y3QgaGluaWNfZGV2ICpuaWNfZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yOTIte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoyOTM6XHRpZiAoIUhJTklDX0lTX1ZGKG5pY19kZXYtXHUwMDNlaHdkZXYtXHUwMDNlaHdpZikpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTI5NC1cdFx0bmljX2Rldi1cdTAwM2VmdW5jX3RibF9kYmdmcyA9IGRlYnVnZnNfY3JlYXRlX2RpcihcJiMzNDtmdW5jX3RhYmxlXCYjMzQ7LCBuaWNfZGV2LVx1MDAzZWRiZ2ZzX3Jvb3QpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9Mjk3PXZvaWQgaGluaWNfZnVuY190YmxfZGJnZnNfdW5pbml0KHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTI5OC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI5OTpcdGlmICghSElOSUNfSVNfVkYobmljX2Rldi1cdTAwM2Vod2Rldi1cdTAwM2Vod2lmKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMzAwLVx0XHRkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUobmljX2Rldi1cdTAwM2VmdW5jX3RibF9kYmdmcyk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaC01LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaDo2OiNpZm5kZWYgSElOSUNfREVCVUdGU19IXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5oOjc6I2RlZmluZSBISU5JQ19ERUJVR0ZTX0hcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmgtOC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5oLTEzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaDoxNDojZGVmaW5lIEhJTklDX0ZVTkNUSU9OX0NPTkZJR1VSRV9UQUJMRV9TSVpFICAgICAgICAgICAgIDY0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5oLTE1LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaC02LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjc6I2lmbmRlZiBISU5JQ19ERVZfSFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjg6I2RlZmluZSBISU5JQ19ERVZfSFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTktXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTIwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjIxOiNkZWZpbmUgSElOSUNfRFJWX05BTUUgICAgICAgICAgXCYjMzQ7aGluaWNcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaC0yMi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmgtMjQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MjU6I2RlZmluZSBISU5JQ19NQVhfSlVNQk9fRlJBTUVfU0laRSAgICAgIDE1ODcyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MjY6I2RlZmluZSBISU5JQ19NQVhfTVRVX1NJWkUgICAgICAoSElOSUNfTUFYX0pVTUJPX0ZSQU1FX1NJWkUgLSBFVEhfSExFTiAtIEVUSF9GQ1NfTEVOKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjI3OiNkZWZpbmUgSElOSUNfTUlOX01UVV9TSVpFICAgICAgMjU2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmgtMjgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg9Mjk9ZW51bSBoaW5pY19mbGFncyB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MzA6XHRISU5JQ19MSU5LX1VQID0gQklUKDApLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjMxOlx0SElOSUNfSU5URl9VUCA9IEJJVCgxKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDozMjpcdEhJTklDX1JTU19FTkFCTEUgPSBCSVQoMiksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MzM6XHRISU5JQ19MSU5LX0RPV04gPSBCSVQoMyksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MzQ6XHRISU5JQ19MUF9URVNUID0gQklUKDQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTM1LX07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oPTUzPWVudW0gaGluaWNfcnNzX2hhc2hfdHlwZSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6NTQ6XHRISU5JQ19SU1NfSEFTSF9FTkdJTkVfVFlQRV9YT1IsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6NTU6XHRISU5JQ19SU1NfSEFTSF9FTkdJTkVfVFlQRV9UT0VQLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjU2Olx0SElOSUNfUlNTX0hBU0hfRU5HSU5FX1RZUEVfTUFYLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTU3LX07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oPTY1PWVudW0gaGluaWNfZGJnX3R5cGUge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjY2Olx0SElOSUNfREJHX1NRX0lORk8sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6Njc6XHRISU5JQ19EQkdfUlFfSU5GTyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDo2ODpcdEhJTklDX0RCR19GVU5DX1RBQkxFLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTY5LX07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYz0yMz1zdGF0aWMgYm9vbCBjaGVja19pbWFnZV92YWxpZChzdHJ1Y3QgaGluaWNfZGV2bGlua19wcml2ICpwcml2LCBjb25zdCB1OCAqYnVmLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmMtMzEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jOjMyOlx0aWYgKGZ3X2ltYWdlLVx1MDAzZWZ3X21hZ2ljICE9IEhJTklDX01BR0lDX05VTSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0zMy1cdFx0ZGV2X2VycihcdTAwMjZwcml2LVx1MDAzZWh3ZGV2LVx1MDAzZWh3aWYtXHUwMDNlcGRldi1cdTAwM2VkZXYsIFwmIzM0O1dyb25nIGZ3X21hZ2ljIHJlYWQgZnJvbSBmaWxlLCBmd19tYWdpYzogMHgleFxcblwmIzM0Oyxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jPTEyMj1zdGF0aWMgaW50IGhpbmljX2ZsYXNoX2Z3KHN0cnVjdCBoaW5pY19kZXZsaW5rX3ByaXYgKnByaXYsIGNvbnN0IHU4ICpkYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmMtMjE3LVx0XHRcdGVyciA9IGhpbmljX3BvcnRfbXNnX2NtZChwcml2LVx1MDAzZWh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYzoyMTg6XHRcdFx0XHRcdFx0IEhJTklDX1BPUlRfQ01EX1VQREFURV9GVyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmMtMjE5LVx0XHRcdFx0XHRcdCBmd191cGRhdGVfbXNnLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmM9MjQyPXN0YXRpYyBpbnQgaGluaWNfZmlybXdhcmVfdXBkYXRlKHN0cnVjdCBoaW5pY19kZXZsaW5rX3ByaXYgKnByaXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0yNjEtXHRpZiAoZXJyKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jOjI2MjpcdFx0aWYgKGVyciA9PSBISU5JQ19GV19ESVNNQVRDSF9FUlJPUikge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0yNjMtXHRcdFx0ZGV2X2VycihcdTAwMjZwcml2LVx1MDAzZWh3ZGV2LVx1MDAzZWh3aWYtXHUwMDNlcGRldi1cdTAwM2VkZXYsIFwmIzM0O0Zpcm13YXJlIGltYWdlIGRvZXNuJiMzOTt0IG1hdGNoIHRoaXMgY2FyZCwgcGxlYXNlIHVzZSBuZXdlciBpbWFnZSwgZXJyOiAlZFxcblwmIzM0Oyxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oOjY6I2lmbmRlZiBfX0hJTklDX0RFVkxJTktfSF9fXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oOjc6I2RlZmluZSBfX0hJTklDX0RFVkxJTktfSF9fXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTgtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaC0xMi0jZGVmaW5lIE1BWF9GV19UWVBFX05VTSAzMFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaDoxMzojZGVmaW5lIEhJTklDX01BR0lDX05VTSAweDE4MjIxMTAwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTE0LSNkZWZpbmUgVVBEQVRFRldfSU1BR0VfSEVBRF9TSVpFIDEwMjRcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTIxLSNkZWZpbmUgTUFYX0ZXX0ZSQUdNRU5UX0xFTiAxNTM2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oOjIyOiNkZWZpbmUgSElOSUNfRldfRElTTUFUQ0hfRVJST1IgMTBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmgtMjMtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaD0xMTc9dm9pZCBoaW5pY19oZWFsdGhfcmVwb3J0ZXJzX2Rlc3Ryb3koc3RydWN0IGhpbmljX2RldmxpbmtfcHJpdiAqcHJpdik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTExOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmg6MTE5OiNlbmRpZiAvKiBfX0hJTklDX0RFVkxJTktfSF9fICovXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYz04Mj1zdGF0aWMgc3RydWN0IGh3MmV0aHRvb2xfbGlua19tb2RlXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjgzOlx0aHdfdG9fZXRodG9vbF9saW5rX21vZGVfdGFibGVbSElOSUNfTElOS19NT0RFX05VTUJFUlNdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy04NC1cdHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTg2LVx0XHQuc3BlZWQgPSBTUEVFRF8xMDAwMCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6ODc6XHRcdC5od19saW5rX21vZGUgPSBISU5JQ18xMEdFX0JBU0VfS1IsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTg4LVx0fSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTkxLVx0XHQuc3BlZWQgPSBTUEVFRF80MDAwMCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6OTI6XHRcdC5od19saW5rX21vZGUgPSBISU5JQ180MEdFX0JBU0VfS1I0LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy05My1cdH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy05Ni1cdFx0LnNwZWVkID0gU1BFRURfNDAwMDAsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjk3Olx0XHQuaHdfbGlua19tb2RlID0gSElOSUNfNDBHRV9CQVNFX0NSNCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtOTgtXHR9LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTAxLVx0XHQuc3BlZWQgPSBTUEVFRF8xMDAwMDAsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEwMjpcdFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzEwMEdFX0JBU0VfS1I0LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDMtXHR9LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTA2LVx0XHQuc3BlZWQgPSBTUEVFRF8xMDAwMDAsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEwNzpcdFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzEwMEdFX0JBU0VfQ1I0LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDgtXHR9LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTExLVx0XHQuc3BlZWQgPSBTUEVFRF8yNTAwMCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTEyOlx0XHQuaHdfbGlua19tb2RlID0gSElOSUNfMjVHRV9CQVNFX0tSX1MsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExMy1cdH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTYtXHRcdC5zcGVlZCA9IFNQRUVEXzI1MDAwLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTc6XHRcdC5od19saW5rX21vZGUgPSBISU5JQ18yNUdFX0JBU0VfQ1JfUyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE4LVx0fSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEyMS1cdFx0LnNwZWVkID0gU1BFRURfMjUwMDAsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjpcdFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzI1R0VfQkFTRV9LUixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTIzLVx0fSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEyNi1cdFx0LnNwZWVkID0gU1BFRURfMjUwMDAsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzpcdFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzI1R0VfQkFTRV9DUixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTI4LVx0fSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEzMS1cdFx0LnNwZWVkID0gU1BFRURfMTAwMCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTMyOlx0XHQuaHdfbGlua19tb2RlID0gSElOSUNfR0VfQkFTRV9LWCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTMzLVx0fSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTE0Nj1zdGF0aWMgdm9pZCBzZXRfbGlua19zcGVlZChzdHJ1Y3QgZXRodG9vbF9saW5rX2tzZXR0aW5ncyAqbGlua19rc2V0dGluZ3MsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNDktXHRzd2l0Y2ggKHNwZWVkKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE1MDpcdGNhc2UgSElOSUNfU1BFRURfMTBNQl9MSU5LOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNTEtXHRcdGxpbmtfa3NldHRpbmdzLVx1MDAzZWJhc2Uuc3BlZWQgPSBTUEVFRF8xMDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE1My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTU0Olx0Y2FzZSBISU5JQ19TUEVFRF8xMDBNQl9MSU5LOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNTUtXHRcdGxpbmtfa3NldHRpbmdzLVx1MDAzZWJhc2Uuc3BlZWQgPSBTUEVFRF8xMDA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE1ODpcdGNhc2UgSElOSUNfU1BFRURfMTAwME1CX0xJTks6XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE1OS1cdFx0bGlua19rc2V0dGluZ3MtXHUwMDNlYmFzZS5zcGVlZCA9IFNQRUVEXzEwMDA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNjEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE2MjpcdGNhc2UgSElOSUNfU1BFRURfMTBHQl9MSU5LOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNjMtXHRcdGxpbmtfa3NldHRpbmdzLVx1MDAzZWJhc2Uuc3BlZWQgPSBTUEVFRF8xMDAwMDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE2NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTY2Olx0Y2FzZSBISU5JQ19TUEVFRF8yNUdCX0xJTks6XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE2Ny1cdFx0bGlua19rc2V0dGluZ3MtXHUwMDNlYmFzZS5zcGVlZCA9IFNQRUVEXzI1MDAwO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTY5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxNzA6XHRjYXNlIEhJTklDX1NQRUVEXzQwR0JfTElOSzpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTcxLVx0XHRsaW5rX2tzZXR0aW5ncy1cdTAwM2ViYXNlLnNwZWVkID0gU1BFRURfNDAwMDA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNzMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE3NDpcdGNhc2UgSElOSUNfU1BFRURfMTAwR0JfTElOSzpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTc1LVx0XHRsaW5rX2tzZXR0aW5ncy1cdTAwM2ViYXNlLnNwZWVkID0gU1BFRURfMTAwMDAwO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTg0PXN0YXRpYyBpbnQgaGluaWNfZ2V0X2xpbmtfbW9kZV9pbmRleChlbnVtIGhpbmljX2xpbmtfbW9kZSBsaW5rX21vZGUpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xODctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE4ODpcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEhJTklDX0xJTktfTU9ERV9OVU1CRVJTOyBpJiM0MzsmIzQzOykge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xODktXHRcdGlmIChsaW5rX21vZGUgPT0gaHdfdG9fZXRodG9vbF9saW5rX21vZGVfdGFibGVbaV0uaHdfbGlua19tb2RlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTk2PXN0YXRpYyB2b2lkIGhpbmljX2FkZF9ldGh0b29sX2xpbmtfbW9kZShzdHJ1Y3QgY21kX2xpbmtfc2V0dGluZ3MgKmxpbmtfc2V0dGluZ3MsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMDItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjIwMzpcdGZvciAobGlua19tb2RlID0gMDsgbGlua19tb2RlIFx1MDAzYyBISU5JQ19MSU5LX01PREVfTlVNQkVSUzsgbGlua19tb2RlJiM0MzsmIzQzOykge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMDQtXHRcdGlmIChod19saW5rX21vZGUgXHUwMDI2ICgodTMyKTEgXHUwMDNjXHUwMDNjIGxpbmtfbW9kZSkpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjA1LVx0XHRcdGlkeCA9IGhpbmljX2dldF9saW5rX21vZGVfaW5kZXgobGlua19tb2RlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MjA2Olx0XHRcdGlmIChpZHggXHUwMDNlPSBISU5JQ19MSU5LX01PREVfTlVNQkVSUylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjA3LVx0XHRcdFx0Y29udGludWU7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYz0yMTk9c3RhdGljIHZvaWQgaGluaWNfbGlua19wb3J0X3R5cGUoc3RydWN0IGNtZF9saW5rX3NldHRpbmdzICpsaW5rX3NldHRpbmdzLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjIyLVx0c3dpdGNoIChwb3J0X3R5cGUpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MjIzOlx0Y2FzZSBISU5JQ19QT1JUX0VMRUM6XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjIyNDpcdGNhc2UgSElOSUNfUE9SVF9UUDpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjI1LVx0XHRFVEhUT09MX0FERF9TVVBQT1JURURfTElOS19NT0RFKGxpbmtfc2V0dGluZ3MsIFRQKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTIyOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MjMwOlx0Y2FzZSBISU5JQ19QT1JUX0FPQzpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MjMxOlx0Y2FzZSBISU5JQ19QT1JUX0ZJQlJFOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMzItXHRcdEVUSFRPT0xfQUREX1NVUFBPUlRFRF9MSU5LX01PREUobGlua19zZXR0aW5ncywgRklCUkUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjM2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyMzc6XHRjYXNlIEhJTklDX1BPUlRfQ09QUEVSOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMzgtXHRcdEVUSFRPT0xfQUREX1NVUFBPUlRFRF9MSU5LX01PREUobGlua19zZXR0aW5ncywgRklCUkUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjQyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyNDM6XHRjYXNlIEhJTklDX1BPUlRfQkFDS1BMQU5FOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yNDQtXHRcdEVUSFRPT0xfQUREX1NVUFBPUlRFRF9MSU5LX01PREUobGlua19zZXR0aW5ncywgQmFja3BsYW5lKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTI1NT1zdGF0aWMgaW50IGhpbmljX2dldF9saW5rX2tzZXR0aW5ncyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjg0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyODU6XHRpZiAobGlua19zdGF0ZSA9PSBISU5JQ19MSU5LX1NUQVRFX1VQKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI4Ni1cdFx0c2V0X2xpbmtfc3BlZWQobGlua19rc2V0dGluZ3MsIHBvcnRfY2FwLnNwZWVkKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjg3LVx0XHRsaW5rX2tzZXR0aW5ncy1cdTAwM2ViYXNlLmR1cGxleCA9XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjI4ODpcdFx0XHQocG9ydF9jYXAuZHVwbGV4ID09IEhJTklDX0RVUExFWF9GVUxMKSA/XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI4OS1cdFx0XHREVVBMRVhfRlVMTCA6IERVUExFWF9IQUxGO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjkxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyOTI6XHRpZiAoISEocG9ydF9jYXAuYXV0b25lZ19jYXAgXHUwMDI2IEhJTklDX0FVVE9ORUdfU1VQUE9SVEVEKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjkzLVx0XHRldGh0b29sX2xpbmtfa3NldHRpbmdzX2FkZF9saW5rX21vZGUobGlua19rc2V0dGluZ3MsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yOTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjI5NjpcdGlmIChwb3J0X2NhcC5hdXRvbmVnX3N0YXRlID09IEhJTklDX0FVVE9ORUdfQUNUSVZFKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yOTctXHRcdGxpbmtfa3NldHRpbmdzLVx1MDAzZWJhc2UuYXV0b25lZyA9IEFVVE9ORUdfRU5BQkxFO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjk5LVx0ZXJyID0gaGluaWNfZ2V0X2xpbmtfbW9kZShuaWNfZGV2LVx1MDAzZWh3ZGV2LCBcdTAwMjZsaW5rX21vZGUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozMDA6XHRpZiAoZXJyIHx8IGxpbmtfbW9kZS5zdXBwb3J0ZWQgPT0gSElOSUNfU1VQUE9SVEVEX1VOS05PV04gfHxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MzAxOlx0ICAgIGxpbmtfbW9kZS5hZHZlcnRpc2VkID09IEhJTklDX1NVUFBPUlRFRF9VTktOT1dOKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0zMDItXHRcdHJldHVybiAtRUlPO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzA4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozMDk6XHRpZiAoIUhJTklDX0lTX1ZGKG5pY19kZXYtXHUwMDNlaHdkZXYtXHUwMDNlaHdpZikpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzEwLVx0XHRlcnIgPSBoaW5pY19nZXRfaHdfcGF1c2VfaW5mbyhuaWNfZGV2LVx1MDAzZWh3ZGV2LCBcdTAwMjZwYXVzZV9pbmZvKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTM0ND1zdGF0aWMgYm9vbCBoaW5pY19pc19zdXBwb3J0X3NwZWVkKGVudW0gaGluaWNfbGlua19tb2RlIHN1cHBvcnRlZF9saW5rLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzQ5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozNTA6XHRmb3IgKGxpbmtfbW9kZSA9IDA7IGxpbmtfbW9kZSBcdTAwM2MgSElOSUNfTElOS19NT0RFX05VTUJFUlM7IGxpbmtfbW9kZSYjNDM7JiM0MzspIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzUxLVx0XHRpZiAoIShzdXBwb3J0ZWRfbGluayBcdTAwMjYgKCh1MzIpMSBcdTAwM2NcdTAwM2MgbGlua19tb2RlKSkpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0zNTQtXHRcdGlkeCA9IGhpbmljX2dldF9saW5rX21vZGVfaW5kZXgobGlua19tb2RlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MzU1Olx0XHRpZiAoaWR4IFx1MDAzZT0gSElOSUNfTElOS19NT0RFX05VTUJFUlMpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTM1Ni1cdFx0XHRjb250aW51ZTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTM2NT1zdGF0aWMgYm9vbCBoaW5pY19pc19zcGVlZF9sZWdhbChzdHJ1Y3QgaGluaWNfZGV2ICpuaWNfZGV2LCB1MzIgc3BlZWQpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0zNzUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjM3NjpcdGlmIChsaW5rX21vZGUuc3VwcG9ydGVkID09IEhJTklDX1NVUFBPUlRFRF9VTktOT1dOIHx8XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjM3NzpcdCAgICBsaW5rX21vZGUuYWR2ZXJ0aXNlZCA9PSBISU5JQ19TVVBQT1JURURfVU5LTk9XTilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzc4LVx0XHRyZXR1cm4gZmFsc2U7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYz00NTc9c3RhdGljIGludCBoaW5pY19zZXRfc2V0dGluZ3NfdG9faHcoc3RydWN0IGhpbmljX2RldiAqbmljX2Rldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTQ4MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NDgxOlx0c2V0dGluZ3MuZnVuY19pZCA9IEhJTklDX0hXSUZfRlVOQ19JRFgobmljX2Rldi1cdTAwM2Vod2Rldi1cdTAwM2Vod2lmKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNDgyLVx0c2V0dGluZ3MudmFsaWRfYml0bWFwID0gc2V0X3NldHRpbmdzO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNDg2LVx0ZXJyID0gaGluaWNfc2V0X2xpbmtfc2V0dGluZ3MobmljX2Rldi1cdTAwM2Vod2RldiwgXHUwMDI2c2V0dGluZ3MpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo0ODc6XHRpZiAoZXJyICE9IEhJTklDX01HTVRfQ01EX1VOU1VQUE9SVEVEKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTQ4OC1cdFx0aWYgKGVycilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTUyOT1zdGF0aWMgdm9pZCBoaW5pY19nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTMyLVx0c3RydWN0IGhpbmljX2RldiAqbmljX2RldiA9IG5ldGRldl9wcml2KG5ldGRldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjUzMzpcdHU4IG1nbXRfdmVyW0hJTklDX01HTVRfVkVSU0lPTl9NQVhfTEVOXSA9IHswfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTM0LVx0c3RydWN0IGhpbmljX2h3ZGV2ICpod2RldiA9IG5pY19kZXYtXHUwMDNlaHdkZXY7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy01MzctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjUzODpcdHN0cnNjcHkoaW5mby1cdTAwM2Vkcml2ZXIsIEhJTklDX0RSVl9OQU1FLCBzaXplb2YoaW5mby1cdTAwM2Vkcml2ZXIpKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTM5LVx0c3Ryc2NweShpbmZvLVx1MDAzZWJ1c19pbmZvLCBwY2lfbmFtZShod2lmLVx1MDAzZXBkZXYpLCBzaXplb2YoaW5mby1cdTAwM2VidXNfaW5mbykpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9NTQ4PXN0YXRpYyB2b2lkIGhpbmljX2dldF9yaW5ncGFyYW0oc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTU1NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTU1Olx0cmluZy1cdTAwM2VyeF9tYXhfcGVuZGluZyA9IEhJTklDX01BWF9RVUVVRV9ERVBUSDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTU2Olx0cmluZy1cdTAwM2V0eF9tYXhfcGVuZGluZyA9IEhJTklDX01BWF9RVUVVRV9ERVBUSDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTU3LVx0cmluZy1cdTAwM2VyeF9wZW5kaW5nID0gbmljX2Rldi1cdTAwM2VycV9kZXB0aDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTU2MT1zdGF0aWMgaW50IGNoZWNrX3JpbmdwYXJhbV92YWxpZChzdHJ1Y3QgaGluaWNfZGV2ICpuaWNfZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTY5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo1NzA6XHRpZiAocmluZy1cdTAwM2V0eF9wZW5kaW5nIFx1MDAzZSBISU5JQ19NQVhfUVVFVUVfREVQVEggfHxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTcxOlx0ICAgIHJpbmctXHUwMDNldHhfcGVuZGluZyBcdTAwM2MgSElOSUNfTUlOX1FVRVVFX0RFUFRIIHx8XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjU3MjpcdCAgICByaW5nLVx1MDAzZXJ4X3BlbmRpbmcgXHUwMDNlIEhJTklDX01BWF9RVUVVRV9ERVBUSCB8fFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo1NzM6XHQgICAgcmluZy1cdTAwM2VyeF9wZW5kaW5nIFx1MDAzYyBISU5JQ19NSU5fUVVFVUVfREVQVEgpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTc0LVx0XHRuZXRpZl9lcnIobmljX2RldiwgZHJ2LCBuaWNfZGV2LVx1MDAzZW5ldGRldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTc1LVx0XHRcdCAgXCYjMzQ7UXVldWUgZGVwdGggb3V0IG9mIHJhbmdlIFslZC0lZF1cXG5cJiMzNDssXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjU3NjpcdFx0XHQgIEhJTklDX01JTl9RVUVVRV9ERVBUSCwgSElOSUNfTUFYX1FVRVVFX0RFUFRIKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTc3LVx0XHRyZXR1cm4gLUVJTlZBTDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTY3Nz1zdGF0aWMgaW50IHNldF9xdWV1ZV9jb2FsZXNjZShzdHJ1Y3QgaGluaWNfZGV2ICpuaWNfZGV2LCB1MTYgcV9pZCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTY5NS1cdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo2OTY6XHRpZiAoIShuaWNfZGV2LVx1MDAzZWZsYWdzIFx1MDAyNiBISU5JQ19JTlRGX1VQKSB8fFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy02OTctXHQgICAgcV9pZCBcdTAwM2U9IG5pY19kZXYtXHUwMDNlbnVtX3Fwcylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTkyMj1zdGF0aWMgaW50IGhpbmljX2dldF9yeGZoX2ZpZWxkcyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtOTMwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo5MzE6XHRpZiAoIShuaWNfZGV2LVx1MDAzZWZsYWdzIFx1MDAyNiBISU5JQ19SU1NfRU5BQkxFKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtOTMyLVx0XHRyZXR1cm4gMDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTEwMDQ9c3RhdGljIGludCBoaW5pY19zZXRfcnhmaF9maWVsZHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEwMTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEwMTQ6XHRpZiAoIShuaWNfZGV2LVx1MDAzZWZsYWdzIFx1MDAyNiBISU5JQ19SU1NfRU5BQkxFKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTAxNS1cdFx0cmV0dXJuIC1FT1BOT1RTVVBQO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTA5MD1zdGF0aWMgaW50IGhpbmljX2dldF9yeGZoKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDk2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMDk3Olx0aWYgKCEobmljX2Rldi1cdTAwM2VmbGFncyBcdTAwMjYgSElOSUNfUlNTX0VOQUJMRSkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEwOTgtXHRcdHJldHVybiAtRU9QTk9UU1VQUDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTExMjQ9c3RhdGljIGludCBoaW5pY19zZXRfcnhmaChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTEzMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTEzMTpcdGlmICghKG5pY19kZXYtXHUwMDNlZmxhZ3MgXHUwMDI2IEhJTklDX1JTU19FTkFCTEUpKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTMyLVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTM5LVx0XHRuaWNfZGV2LVx1MDAzZXJzc19oYXNoX2VuZ2luZSA9IChyeGZoLVx1MDAzZWhmdW5jID09IEVUSF9SU1NfSEFTSF9YT1IpID9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE0MDpcdFx0XHRISU5JQ19SU1NfSEFTSF9FTkdJTkVfVFlQRV9YT1IgOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTQxOlx0XHRcdEhJTklDX1JTU19IQVNIX0VOR0lORV9UWVBFX1RPRVA7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNDItXHRcdGVyciA9IGhpbmljX3Jzc19zZXRfaGFzaF9lbmdpbmVcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTExNTQ9c3RhdGljIHUzMiBoaW5pY19nZXRfcnhmaF9rZXlfc2l6ZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTU1LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE1NjpcdHJldHVybiBISU5JQ19SU1NfS0VZX1NJWkU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNTctfVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTE1OT1zdGF0aWMgdTMyIGhpbmljX2dldF9yeGZoX2luZGlyX3NpemUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE2MC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNjE6XHRyZXR1cm4gSElOSUNfUlNTX0lORElSX1NJWkU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNjItfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTYzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTY0OiNkZWZpbmUgSElOSUNfRlVOQ19TVEFUKF9zdGF0X2l0ZW0pIHtcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNjUtXHQubmFtZSA9ICNfc3RhdF9pdGVtLCBcXFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTE3MD1zdGF0aWMgc3RydWN0IGhpbmljX3N0YXRzIGhpbmljX2Z1bmN0aW9uX3N0YXRzW10gPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzE6XHRISU5JQ19GVU5DX1NUQVQodHhfdW5pY2FzdF9wa3RzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3MjpcdEhJTklDX0ZVTkNfU1RBVCh0eF91bmljYXN0X2J5dGVzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3MzpcdEhJTklDX0ZVTkNfU1RBVCh0eF9tdWx0aWNhc3RfcGt0c192cG9ydCksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzQ6XHRISU5JQ19GVU5DX1NUQVQodHhfbXVsdGljYXN0X2J5dGVzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3NTpcdEhJTklDX0ZVTkNfU1RBVCh0eF9icm9hZGNhc3RfcGt0c192cG9ydCksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzY6XHRISU5JQ19GVU5DX1NUQVQodHhfYnJvYWRjYXN0X2J5dGVzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE3Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3ODpcdEhJTklDX0ZVTkNfU1RBVChyeF91bmljYXN0X3BrdHNfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTc5Olx0SElOSUNfRlVOQ19TVEFUKHJ4X3VuaWNhc3RfYnl0ZXNfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTgwOlx0SElOSUNfRlVOQ19TVEFUKHJ4X211bHRpY2FzdF9wa3RzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE4MTpcdEhJTklDX0ZVTkNfU1RBVChyeF9tdWx0aWNhc3RfYnl0ZXNfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTgyOlx0SElOSUNfRlVOQ19TVEFUKHJ4X2Jyb2FkY2FzdF9wa3RzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE4MzpcdEhJTklDX0ZVTkNfU1RBVChyeF9icm9hZGNhc3RfYnl0ZXNfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTg0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTg1Olx0SElOSUNfRlVOQ19TVEFUKHR4X2Rpc2NhcmRfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTg2Olx0SElOSUNfRlVOQ19TVEFUKHJ4X2Rpc2NhcmRfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTg3Olx0SElOSUNfRlVOQ19TVEFUKHR4X2Vycl92cG9ydCksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExODg6XHRISU5JQ19GVU5DX1NUQVQocnhfZXJyX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE4OS19O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTE5MT1zdGF0aWMgY2hhciBoaW5pY190ZXN0X3N0cmluZ3NbXVtFVEhfR1NUUklOR19MRU5dID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE5NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE5NjojZGVmaW5lIEhJTklDX1BPUlRfU1RBVChfc3RhdF9pdGVtKSB7IFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExOTctXHQubmFtZSA9ICNfc3RhdF9pdGVtLCBcXFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTIwMj1zdGF0aWMgc3RydWN0IGhpbmljX3N0YXRzIGhpbmljX3BvcnRfc3RhdHNbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwMzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdG90YWxfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMDQ6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3RvdGFsX29jdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjA1Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9iYWRfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMDY6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X2JhZF9vY3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwNzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfZ29vZF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwODpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfZ29vZF9vY3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwOTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdW5pX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjEwOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9tdWx0aV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxMTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfYnJvYWRfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTI6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3RvdGFsX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjEzOlx0SElOSUNfUE9SVF9TVEFUKG1hY190eF90b3RhbF9vY3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxNDpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfYmFkX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjE1Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9iYWRfb2N0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTY6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X2dvb2RfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTc6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X2dvb2Rfb2N0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTg6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3VuaV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxOTpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfbXVsdGlfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjA6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X2Jyb2FkX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjIxOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9mcmFnbWVudF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyMjpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdW5kZXJzaXplX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjIzOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF91bmRlcm1pbl9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyNDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfNjRfb2N0X3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI1Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF82NV8xMjdfb2N0X3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI2Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF8xMjhfMjU1X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyNzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMjU2XzUxMV9vY3RfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjg6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4XzUxMl8xMDIzX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyOTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTAyNF8xNTE4X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzMDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTUxOV8yMDQ3X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzMTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMjA0OF80MDk1X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzMjpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfNDA5Nl84MTkxX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzMzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfODE5Ml85MjE2X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzNDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfOTIxN18xMjI4N19vY3RfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMzU6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4XzEyMjg4XzE2MzgzX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzNjpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTUxOV9tYXhfZ29vZF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzNzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTUxOV9tYXhfYmFkX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjM4Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9vdmVyc2l6ZV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzOTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfamFiYmVyX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQwOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9wYXVzZV9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQxOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9wZmNfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNDI6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkwX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQzOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9wZmNfcHJpMV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfcGZjX3ByaTJfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNDU6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkzX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQ2Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9wZmNfcHJpNF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfcGZjX3ByaTVfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNDg6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmk2X3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQ5Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9wZmNfcHJpN19wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfY29udHJvbF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfc3ltX2Vycl9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MjpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfZmNzX2Vycl9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfc2VuZF9hcHBfZ29vZF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1NDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfc2VuZF9hcHBfYmFkX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjU1Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9mcmFnbWVudF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1NjpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfdW5kZXJzaXplX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjU3Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF91bmRlcm1pbl9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1ODpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfNjRfb2N0X3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjU5Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF82NV8xMjdfb2N0X3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjYwOlx0SElOSUNfUE9SVF9TVEFUKG1hY190eF8xMjhfMjU1X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2MTpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMjU2XzUxMV9vY3RfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjI6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzUxMl8xMDIzX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2MzpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMTAyNF8xNTE4X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2NDpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMTUxOV8yMDQ3X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2NTpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMjA0OF80MDk1X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2NjpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfNDA5Nl84MTkxX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2NzpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfODE5Ml85MjE2X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2ODpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfOTIxN18xMjI4N19vY3RfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjk6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzEyMjg4XzE2MzgzX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3MDpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMTUxOV9tYXhfZ29vZF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3MTpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMTUxOV9tYXhfYmFkX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjcyOlx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9vdmVyc2l6ZV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3MzpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfamFiYmVyX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc0Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9wYXVzZV9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc1Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9wZmNfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzY6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3BmY19wcmkwX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc3Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9wZmNfcHJpMV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3ODpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTJfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzk6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3BmY19wcmkzX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjgwOlx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9wZmNfcHJpNF9wa3RfbnVtKSxcblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIyIDIyOjIzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIwMjAxCgkJCQkJCQlvdXRwdXQ6IDg5CgkJCQkJCQl0aG91Z2h0czogMjM3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIEh1YXdlaSBJbnRlbGxpZ2VudCBQQ0lFIE5JQyBEcml2ZXIqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgUENJRSBOZXR3b3JrIEludGVyZmFjZSBDYXJkLiBTdHJhaWdodCBhd2F5LCBJIHNlZSBpdCYjMzk7cyBkZWFsaW5nIHdpdGggcGh5c2ljYWwgaGFyZHdhcmUuIFRoYXQmIzM5O3MgbXkgZmlyc3QgY2x1ZS4gTGV0IG1lIHF1aWNrbHkgY29uc2lkZXIgaWYgYW55IHNvZnR3YXJlIGVtdWxhdGlvbiBleGlzdHMgZm9yIHRoaXMgTklDLiBObywgaXQgZG9lc24mIzM5O3Qgc2VlbSBsaWtlIHRoZXJlIGlzLiBBbHJpZ2h0LCB0aGVuIG15IG5leHQgdGhvdWdodCBpcyBhYm91dCB2aXJ0dWFsaXphdGlvbi4gSXMgaXQgYWNjZXNzaWJsZSBpbiBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVT8gQWdhaW4sIHRoZSBhbnN3ZXIgaXMgbm8sIG5vdCBkaXJlY3RseTsgaXQgd291bGQgcmVxdWlyZSBwYXNzLXRocm91Z2gsIHdoaWNoIGlzIGhhcmRseSBpZGVhbC4KClNvLCByZWFsaXN0aWNhbGx5LCB0aGlzIGRyaXZlciYjMzk7cyBjb2RlIHBhdGhzIGFyZSB1bnJlYWNoYWJsZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMuIFRoaXMgbWVhbnMgaXQmIzM5O3MgcHJldHR5IG11Y2ggYSB3cml0ZS1vZmYgaW4gdGVybXMgb2YgZnV6emluZyBhcHBsaWNhYmlsaXR5IGJlY2F1c2UgaXQgZmFsbHMgaW50byBhIGNhdGVnb3J5IHRoYXQgbXkgY3JpdGVyaWEgZXhjbHVkZXMuCgpXYWl0LCBub3cgdGhhdCBJIGxvb2sgYXQgdGhlIHByb21wdCBtb3JlIGNsb3NlbHksIGl0IHRlbGxzIG1lIHRvIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYCBpZiB0aGUgcGF0Y2ggaGFzIG1vZGlmaWNhdGlvbnMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aXRoIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlLiBUaGlzIGRyaXZlciwgYmVpbmcgYSBwaHlzaWNhbCBQQ0kgZGV2aWNlIGRyaXZlciB3aXRoIG5vIHNvZnR3YXJlIGVtdWxhdGlvbiwgZmFsbHMgc3F1YXJlbHkgaW50byB0aGF0IGNhdGVnb3J5LgoKVGhlcmVmb3JlLCBJJiMzOTttIGNvbmZpZGVudCBpbiByZXR1cm5pbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuIEl0JiMzOTtzIGEgd2FzdGUgb2YgcmVzb3VyY2VzIHRvIGZ1enogY29kZSB0aGF0IGNhbiYjMzk7dCBiZSBleGVjdXRlZCBpbiB0aGUgdGFyZ2V0IGZ1enppbmcgZW52aXJvbm1lbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjIgMjI6MjM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgSHVhd2VpIEludGVsbGlnZW50IE5JQyAoSElOSUMpIGRyaXZlciwgd2hpY2ggaXMgYSBwaHlzaWNhbCBQQ0kgZGV2aWNlIGRyaXZlci4gVGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0aW9uIGZvciB0aGlzIGRldmljZSBpbiBRRU1VIG9yIHRoZSBMaW51eCBrZXJuZWwsIG1ha2luZyB0aGVzZSBjb2RlIHBhdGhzIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgSHVhd2VpIEludGVsbGlnZW50IE5JQyAoSElOSUMpIGRyaXZlciwgd2hpY2ggaXMgYSBwaHlzaWNhbCBQQ0kgZGV2aWNlIGRyaXZlci4gVGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0aW9uIGZvciB0aGlzIGRldmljZSBpbiBRRU1VIG9yIHRoZSBMaW51eCBrZXJuZWwsIG1ha2luZyB0aGVzZSBjb2RlIHBhdGhzIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMjJUMjI6MjM6MjkuNTQxMzY4OTI5WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTI5MDU0NTg4ODUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIyVDIyOjIzOjI5LjU0MTM3NjU5OVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Nzc3NTc3MzEzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgODY1NDIxZDRkYzA0YTUzMjhiYjAxM2Y1MmU1MmI1NzM2Njk2OTc0OFxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEp1bCAyMiAyMjoyMzoyNyAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmhcXG5pbmRleCA1MmVhOTdjODE4YjhlYy4uZDlhYjk0OTEwYTJhNzkgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oXFxuQEAgLTEwNCw4ICsxMDQsNiBAQCBzdHJ1Y3QgaGluaWNfZGV2IHtcXG4gXFx0dTE2XFx0XFx0XFx0XFx0bnVtX3JzcztcXG4gXFx0dTE2XFx0XFx0XFx0XFx0cnNzX2xpbWl0O1xcbiBcXHRzdHJ1Y3QgaGluaWNfcnNzX3R5cGVcXHRcXHRyc3NfdHlwZTtcXG4tXFx0dThcXHRcXHRcXHRcXHQqcnNzX2hrZXlfdXNlcjtcXG4tXFx0czMyXFx0XFx0XFx0XFx0KnJzc19pbmRpcl91c2VyO1xcbiBcXHRzdHJ1Y3QgaGluaWNfaW50cl9jb2FsX2luZm9cXHQqcnhfaW50cl9jb2FsZXNjZTtcXG4gXFx0c3RydWN0IGhpbmljX2ludHJfY29hbF9pbmZvXFx0KnR4X2ludHJfY29hbGVzY2U7XFxuIFxcdHN0cnVjdCBoaW5pY19zcmlvdl9pbmZvIHNyaW92X2luZm87XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jXFxuaW5kZXggYThiMTI5Y2UxYjdlOWYuLmY3NWU4NTYzZjIzYWVlIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmNcXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jXFxuQEAgLTEwNjQsMTcgKzEwNjQsNiBAQCBzdGF0aWMgaW50IF9fc2V0X3Jzc19yeGZoKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXFxuIFxcdGludCBlcnI7XFxuIFxcbiBcXHRpZiAoaW5kaXIpIHtcXG4tXFx0XFx0aWYgKCFuaWNfZGV2LVxcdTAwM2Vyc3NfaW5kaXJfdXNlcikge1xcbi1cXHRcXHRcXHRuaWNfZGV2LVxcdTAwM2Vyc3NfaW5kaXJfdXNlciA9XFxuLVxcdFxcdFxcdFxcdGt6YWxsb2Moc2l6ZW9mKHUzMikgKiBISU5JQ19SU1NfSU5ESVJfU0laRSxcXG4tXFx0XFx0XFx0XFx0XFx0R0ZQX0tFUk5FTCk7XFxuLVxcdFxcdFxcdGlmICghbmljX2Rldi1cXHUwMDNlcnNzX2luZGlyX3VzZXIpXFxuLVxcdFxcdFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbi1cXHRcXHR9XFxuLVxcbi1cXHRcXHRtZW1jcHkobmljX2Rldi1cXHUwMDNlcnNzX2luZGlyX3VzZXIsIGluZGlyLFxcbi1cXHRcXHQgICAgICAgc2l6ZW9mKHUzMikgKiBISU5JQ19SU1NfSU5ESVJfU0laRSk7XFxuLVxcbiBcXHRcXHRlcnIgPSBoaW5pY19yc3Nfc2V0X2luZGlyX3RibChuaWNfZGV2LFxcbiBcXHRcXHRcXHRcXHRcXHQgICAgICBuaWNfZGV2LVxcdTAwM2Vyc3NfdG1wbF9pZHgsIGluZGlyKTtcXG4gXFx0XFx0aWYgKGVycilcXG5AQCAtMTA4MiwxNiArMTA3MSw2IEBAIHN0YXRpYyBpbnQgX19zZXRfcnNzX3J4Zmgoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcXG4gXFx0fVxcbiBcXG4gXFx0aWYgKGtleSkge1xcbi1cXHRcXHRpZiAoIW5pY19kZXYtXFx1MDAzZXJzc19oa2V5X3VzZXIpIHtcXG4tXFx0XFx0XFx0bmljX2Rldi1cXHUwMDNlcnNzX2hrZXlfdXNlciA9XFxuLVxcdFxcdFxcdFxcdGt6YWxsb2MoSElOSUNfUlNTX0tFWV9TSVpFICogMiwgR0ZQX0tFUk5FTCk7XFxuLVxcbi1cXHRcXHRcXHRpZiAoIW5pY19kZXYtXFx1MDAzZXJzc19oa2V5X3VzZXIpXFxuLVxcdFxcdFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbi1cXHRcXHR9XFxuLVxcbi1cXHRcXHRtZW1jcHkobmljX2Rldi1cXHUwMDNlcnNzX2hrZXlfdXNlciwga2V5LCBISU5JQ19SU1NfS0VZX1NJWkUpO1xcbi1cXG4gXFx0XFx0ZXJyID0gaGluaWNfcnNzX3NldF90ZW1wbGF0ZV90YmwobmljX2RldixcXG4gXFx0XFx0XFx0XFx0XFx0XFx0IG5pY19kZXYtXFx1MDAzZXJzc190bXBsX2lkeCwga2V5KTtcXG4gXFx0XFx0aWYgKGVycilcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjJUMjI6MjM6MzAuMzE5ODU3OTEyWiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MTIxMjY5MzI3NTIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgODY1NDIxZDRkYzA0YTUzMjhiYjAxM2Y1MmU1MmI1NzM2Njk2OTc0OFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDIyIDIyOjIzOjI3IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oXG5pbmRleCA1MmVhOTdjODE4YjhlYy4uZDlhYjk0OTEwYTJhNzkgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmhcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaFxuQEAgLTEwNCw4ICsxMDQsNiBAQCBzdHJ1Y3QgaGluaWNfZGV2IHtcbiBcdHUxNlx0XHRcdFx0bnVtX3JzcztcbiBcdHUxNlx0XHRcdFx0cnNzX2xpbWl0O1xuIFx0c3RydWN0IGhpbmljX3Jzc190eXBlXHRcdHJzc190eXBlO1xuLVx0dThcdFx0XHRcdCpyc3NfaGtleV91c2VyO1xuLVx0czMyXHRcdFx0XHQqcnNzX2luZGlyX3VzZXI7XG4gXHRzdHJ1Y3QgaGluaWNfaW50cl9jb2FsX2luZm9cdCpyeF9pbnRyX2NvYWxlc2NlO1xuIFx0c3RydWN0IGhpbmljX2ludHJfY29hbF9pbmZvXHQqdHhfaW50cl9jb2FsZXNjZTtcbiBcdHN0cnVjdCBoaW5pY19zcmlvdl9pbmZvIHNyaW92X2luZm87XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmNcbmluZGV4IGE4YjEyOWNlMWI3ZTlmLi5mNzVlODU2M2YyM2FlZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmNcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmNcbkBAIC0xMDY0LDE3ICsxMDY0LDYgQEAgc3RhdGljIGludCBfX3NldF9yc3NfcnhmaChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuIFx0aW50IGVycjtcbiBcbiBcdGlmIChpbmRpcikge1xuLVx0XHRpZiAoIW5pY19kZXYtXHUwMDNlcnNzX2luZGlyX3VzZXIpIHtcbi1cdFx0XHRuaWNfZGV2LVx1MDAzZXJzc19pbmRpcl91c2VyID1cbi1cdFx0XHRcdGt6YWxsb2Moc2l6ZW9mKHUzMikgKiBISU5JQ19SU1NfSU5ESVJfU0laRSxcbi1cdFx0XHRcdFx0R0ZQX0tFUk5FTCk7XG4tXHRcdFx0aWYgKCFuaWNfZGV2LVx1MDAzZXJzc19pbmRpcl91c2VyKVxuLVx0XHRcdFx0cmV0dXJuIC1FTk9NRU07XG4tXHRcdH1cbi1cbi1cdFx0bWVtY3B5KG5pY19kZXYtXHUwMDNlcnNzX2luZGlyX3VzZXIsIGluZGlyLFxuLVx0XHQgICAgICAgc2l6ZW9mKHUzMikgKiBISU5JQ19SU1NfSU5ESVJfU0laRSk7XG4tXG4gXHRcdGVyciA9IGhpbmljX3Jzc19zZXRfaW5kaXJfdGJsKG5pY19kZXYsXG4gXHRcdFx0XHRcdCAgICAgIG5pY19kZXYtXHUwMDNlcnNzX3RtcGxfaWR4LCBpbmRpcik7XG4gXHRcdGlmIChlcnIpXG5AQCAtMTA4MiwxNiArMTA3MSw2IEBAIHN0YXRpYyBpbnQgX19zZXRfcnNzX3J4Zmgoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbiBcdH1cbiBcbiBcdGlmIChrZXkpIHtcbi1cdFx0aWYgKCFuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIpIHtcbi1cdFx0XHRuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIgPVxuLVx0XHRcdFx0a3phbGxvYyhISU5JQ19SU1NfS0VZX1NJWkUgKiAyLCBHRlBfS0VSTkVMKTtcbi1cbi1cdFx0XHRpZiAoIW5pY19kZXYtXHUwMDNlcnNzX2hrZXlfdXNlcilcbi1cdFx0XHRcdHJldHVybiAtRU5PTUVNO1xuLVx0XHR9XG4tXG4tXHRcdG1lbWNweShuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIsIGtleSwgSElOSUNfUlNTX0tFWV9TSVpFKTtcbi1cbiBcdFx0ZXJyID0gaGluaWNfcnNzX3NldF90ZW1wbGF0ZV90YmwobmljX2RldixcbiBcdFx0XHRcdFx0XHQgbmljX2Rldi1cdTAwM2Vyc3NfdG1wbF9pZHgsIGtleSk7XG4gXHRcdGlmIChlcnIpXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMlQyMjoyMzozMC4zMTk4NjAzODJaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2NTMwODg5NjcyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIEhJTklDIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYGhpbmljX2V0aHRvb2wuY2AgYW5kIGBoaW5pY19kZXYuaGAgd2l0aGluIHRoZSBIdWF3ZWkgSElOSUMgZHJpdmVyLiBSaWdodCBvZmYgdGhlIGJhdCwgSSBzZWUgaXQncyByZW1vdmluZyBgcnNzX2hrZXlfdXNlcmAgYW5kIGByc3NfaW5kaXJfdXNlcmAgZnJvbSB0aGUgYGhpbmljX2RldmAgc3RydWN0LCBhbmQgdGhlIHJlbGF0ZWQgYWxsb2NhdGlvbi9wb3B1bGF0aW9uIGNvZGUgaW4gYF9fc2V0X3Jzc19yeGZoYC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcIkNhbiB0aGlzIGJlIGV4cGxvaXRlZCB2aXJ0dWFsbHk/XCIgSXQncyBhIFBDSSBkZXZpY2UgZHJpdmVyLCB3aGljaCB1c3VhbGx5IHBvaW50cyB0b3dhcmRzIHBoeXNpY2FsIGhhcmR3YXJlLiBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGlzIGRyaXZlciBpcyBldmVuIHJlYWNoYWJsZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LlxuXG5HaXZlbiBpdCdzIGEgUENJIGRyaXZlciwgZnV6emluZyBpcyB1c3VhbGx5IGEgY2hhbGxlbmdlIHdpdGhvdXQgZW11bGF0aW9uIG9yIGdlbmVyaWMgc3Vic3lzdGVtIGhvb2tzLiBCdXQgaXMgdGhlcmUgZW11bGF0aW9uIGZvciBISU5JQz8gUHJvYmFibHkgbm90LiBXYWl0LCBkaWRuJ3Qgc3l6a2FsbGVyIHN0YXJ0IHN1cHBvcnRpbmcgUENJIGZ1enppbmc/IFllcywgdGhlcmUgYXJlIG1lY2hhbmlzbXMgbGlrZSB2UENJLiBUaGUgcHJvbXB0IGlzIHNwZWNpZmljYWxseSBjYWxsaW5nIG91dCAqaW1wb3NzaWJpbGl0eSogb2YgcmVhY2hpbmcgY29kZSBwYXRocyBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aXRoIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlLiBJcyBISU5JQyBlbXVsYXRlZCBpbiBRRU1VPyBOby4gU28gaXQncyBwcm9iYWJseSB1bnJlYWNoYWJsZSBpbiBhIHR5cGljYWwgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuIFN5emthbGxlciBzdXBwb3J0cyBQQ0kgZnV6emluZywgYnV0IHVzdWFsbHksIHdlIHRyZWF0IHBoeXNpY2FsIGRldmljZSBkcml2ZXJzIGFzIHVucmVhY2hhYmxlIHVubGVzcyB0aGVyZSBpcyBhIFVTQiBkcml2ZXIgb3IgYSBzcGVjaWZpYyBlbXVsYXRvciBpcyBpbnZvbHZlZC5cblxuTGV0IG1lIGp1c3QgZG91YmxlLWNoZWNrLCB5ZXMsIGl0J3MgdGhlIEh1YXdlaSBJbnRlbGxpZ2VudCBOSUMuIE9rYXksIHNvIGl0J3MgYSBwaHlzaWNhbCBkZXZpY2UuIExldCBtZSBwZXJmb3JtIGEgcXVpY2sga2VybmVsIHNlYXJjaCB0byBtYWtlIGNlcnRhaW4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI1MzcsIk91dHB1dFRva2VucyI6MzYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNTYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMlQyMjoyMzozNi44NTA3NTMwNTRaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjU2NjYyNDgxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIkhJTklDXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA1OTk1IGxpbmVzLlxcblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cXG5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvS2NvbmZpZy01LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9LY29uZmlnOjY6Y29uZmlnIEhJTklDXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL0tjb25maWctNy1cXHR0cmlzdGF0ZSBcXFwiSHVhd2VpIEludGVsbGlnZW50IFBDSUUgTmV0d29yayBJbnRlcmZhY2UgQ2FyZFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9NYWtlZmlsZS0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9NYWtlZmlsZToyOm9iai0kKENPTkZJR19ISU5JQykgKz0gaGluaWMub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9NYWtlZmlsZS0zLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2NvbW1vbi5oLTYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2NvbW1vbi5oOjc6I2lmbmRlZiBISU5JQ19DT01NT05fSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19jb21tb24uaDo4OiNkZWZpbmUgSElOSUNfQ09NTU9OX0hcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfY29tbW9uLmgtOS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9ODM9c3RhdGljIGludCBoaW5pY19kYmdfZ2V0X2Z1bmNfdGFibGUoc3RydWN0IGhpbmljX2RldiAqbmljX2RldiwgaW50IGlkeClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtOTYtXFx0cmVhZF9kYXRhLVxcdTAwM2VpbnN0ID0gVEJMX0lEX0ZVTkNfQ0ZHX1NNX0lOU1Q7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzo5NzpcXHRyZWFkX2RhdGEtXFx1MDAzZWVudHJ5X3NpemUgPSBISU5JQ19GVU5DVElPTl9DT05GSUdVUkVfVEFCTEVfU0laRTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjk4OlxcdHJlYWRfZGF0YS1cXHUwMDNlbHRfaW5kZXggPSBISU5JQ19IV0lGX0ZVTkNfSURYKG5pY19kZXYtXFx1MDAzZWh3ZGV2LVxcdTAwM2Vod2lmKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjk5OlxcdHJlYWRfZGF0YS1cXHUwMDNlbGVuID0gSElOSUNfRlVOQ1RJT05fQ09ORklHVVJFX1RBQkxFX1NJWkU7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xMDAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoxMDE6XFx0ZXJyID0gaGluaWNfcG9ydF9tc2dfY21kKG5pY19kZXYtXFx1MDAzZWh3ZGV2LCBISU5JQ19QT1JUX0NNRF9SRF9MSU5FX1RCTCwgcmVhZF9kYXRhLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMTAyLVxcdFxcdFxcdFxcdCBzaXplb2YoKnJlYWRfZGF0YSksIHJlYWRfZGF0YSwgXFx1MDAyNm91dF9zaXplKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MTM2PXN0YXRpYyBzc2l6ZV90IGhpbmljX2RiZ19jbWRfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90IGNvdW50LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xNDgtXFx0c3dpdGNoIChkYmctXFx1MDAzZXR5cGUpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjE0OTpcXHRjYXNlIEhJTklDX0RCR19TUV9JTkZPOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMTUwLVxcdFxcdG91dCA9IGhpbmljX2RiZ19nZXRfc3FfaW5mbyhkYmctXFx1MDAzZWRldiwgZGJnLVxcdTAwM2VvYmplY3QsICpkZXNjKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMTUyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MTUzOlxcdGNhc2UgSElOSUNfREJHX1JRX0lORk86XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xNTQtXFx0XFx0b3V0ID0gaGluaWNfZGJnX2dldF9ycV9pbmZvKGRiZy1cXHUwMDNlZGV2LCBkYmctXFx1MDAzZW9iamVjdCwgKmRlc2MpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xNTYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoxNTc6XFx0Y2FzZSBISU5JQ19EQkdfRlVOQ19UQUJMRTpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTE1OC1cXHRcXHRvdXQgPSBoaW5pY19kYmdfZ2V0X2Z1bmNfdGFibGUoZGJnLVxcdTAwM2VkZXYsICpkZXNjKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjA0PXN0YXRpYyB2b2lkIHJlbV9kYmdfZmlsZXMoc3RydWN0IGhpbmljX2RlYnVnX3ByaXYgKmRiZylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTIwNS17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoyMDY6XFx0aWYgKGRiZy1cXHUwMDNldHlwZSAhPSBISU5JQ19EQkdfRlVOQ19UQUJMRSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTIwNy1cXHRcXHRkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUoZGJnLVxcdTAwM2Vyb290KTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjEyPWludCBoaW5pY19zcV9kZWJ1Z19hZGQoc3RydWN0IGhpbmljX2RldiAqZGV2LCB1MTYgc3FfaWQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTIyMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjIyNDpcXHRyZXR1cm4gY3JlYXRlX2RiZ19maWxlcyhkZXYsIEhJTklDX0RCR19TUV9JTkZPLCBzcSwgcm9vdCwgXFx1MDAyNnNxLVxcdTAwM2VkYmcsIHNxX2ZpZWxkcyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTIyNS1cXHRcXHRcXHRcXHRBUlJBWV9TSVpFKHNxX2ZpZWxkcykpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYz0yMzQ9aW50IGhpbmljX3JxX2RlYnVnX2FkZChzdHJ1Y3QgaGluaWNfZGV2ICpkZXYsIHUxNiBycV9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjQ1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MjQ2OlxcdHJldHVybiBjcmVhdGVfZGJnX2ZpbGVzKGRldiwgSElOSUNfREJHX1JRX0lORk8sIHJxLCByb290LCBcXHUwMDI2cnEtXFx1MDAzZWRiZywgcnFfZmllbGRzLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjQ3LVxcdFxcdFxcdFxcdEFSUkFZX1NJWkUocnFfZmllbGRzKSk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jPTI1Nj1pbnQgaGluaWNfZnVuY190YWJsZV9kZWJ1Z19hZGQoc3RydWN0IGhpbmljX2RldiAqZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjU3LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI1ODpcXHRpZiAoSElOSUNfSVNfVkYoZGV2LVxcdTAwM2Vod2Rldi1cXHUwMDNlaHdpZikpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNTktXFx0XFx0cmV0dXJuIDA7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNjAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoyNjE6XFx0cmV0dXJuIGNyZWF0ZV9kYmdfZmlsZXMoZGV2LCBISU5JQ19EQkdfRlVOQ19UQUJMRSwgZGV2LCBkZXYtXFx1MDAzZWZ1bmNfdGJsX2RiZ2ZzLCBcXHUwMDI2ZGV2LVxcdTAwM2VkYmcsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNjItXFx0XFx0XFx0XFx0ZnVuY190YWJsZV9maWVsZHMsIEFSUkFZX1NJWkUoZnVuY190YWJsZV9maWVsZHMpKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjY1PXZvaWQgaGluaWNfZnVuY190YWJsZV9kZWJ1Z19yZW0oc3RydWN0IGhpbmljX2RldiAqZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjY2LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI2NzpcXHRpZiAoIUhJTklDX0lTX1ZGKGRldi1cXHUwMDNlaHdkZXYtXFx1MDAzZWh3aWYpIFxcdTAwMjZcXHUwMDI2IGRldi1cXHUwMDNlZGJnKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjY4LVxcdFxcdHJlbV9kYmdfZmlsZXMoZGV2LVxcdTAwM2VkYmcpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYz0yOTE9dm9pZCBoaW5pY19mdW5jX3RibF9kYmdmc19pbml0KHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yOTIte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MjkzOlxcdGlmICghSElOSUNfSVNfVkYobmljX2Rldi1cXHUwMDNlaHdkZXYtXFx1MDAzZWh3aWYpKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjk0LVxcdFxcdG5pY19kZXYtXFx1MDAzZWZ1bmNfdGJsX2RiZ2ZzID0gZGVidWdmc19jcmVhdGVfZGlyKFxcXCJmdW5jX3RhYmxlXFxcIiwgbmljX2Rldi1cXHUwMDNlZGJnZnNfcm9vdCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jPTI5Nz12b2lkIGhpbmljX2Z1bmNfdGJsX2RiZ2ZzX3VuaW5pdChzdHJ1Y3QgaGluaWNfZGV2ICpuaWNfZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjk4LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI5OTpcXHRpZiAoIUhJTklDX0lTX1ZGKG5pY19kZXYtXFx1MDAzZWh3ZGV2LVxcdTAwM2Vod2lmKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTMwMC1cXHRcXHRkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUobmljX2Rldi1cXHUwMDNlZnVuY190YmxfZGJnZnMpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaC01LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmg6NjojaWZuZGVmIEhJTklDX0RFQlVHRlNfSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmg6NzojZGVmaW5lIEhJTklDX0RFQlVHRlNfSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmgtOC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmgtMTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaDoxNDojZGVmaW5lIEhJTklDX0ZVTkNUSU9OX0NPTkZJR1VSRV9UQUJMRV9TSVpFICAgICAgICAgICAgIDY0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaC0xNS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaC02LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDo3OiNpZm5kZWYgSElOSUNfREVWX0hcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6ODojZGVmaW5lIEhJTklDX0RFVl9IXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTktXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmgtMjAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjIxOiNkZWZpbmUgSElOSUNfRFJWX05BTUUgICAgICAgICAgXFxcImhpbmljXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaC0yMi1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaC0yNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MjU6I2RlZmluZSBISU5JQ19NQVhfSlVNQk9fRlJBTUVfU0laRSAgICAgIDE1ODcyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjI2OiNkZWZpbmUgSElOSUNfTUFYX01UVV9TSVpFICAgICAgKEhJTklDX01BWF9KVU1CT19GUkFNRV9TSVpFIC0gRVRIX0hMRU4gLSBFVEhfRkNTX0xFTilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6Mjc6I2RlZmluZSBISU5JQ19NSU5fTVRVX1NJWkUgICAgICAyNTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmgtMjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oPTI5PWVudW0gaGluaWNfZmxhZ3Mge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDozMDpcXHRISU5JQ19MSU5LX1VQID0gQklUKDApLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDozMTpcXHRISU5JQ19JTlRGX1VQID0gQklUKDEpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDozMjpcXHRISU5JQ19SU1NfRU5BQkxFID0gQklUKDIpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDozMzpcXHRISU5JQ19MSU5LX0RPV04gPSBCSVQoMyksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjM0OlxcdEhJTklDX0xQX1RFU1QgPSBCSVQoNCksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTM1LX07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg9NTM9ZW51bSBoaW5pY19yc3NfaGFzaF90eXBlIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6NTQ6XFx0SElOSUNfUlNTX0hBU0hfRU5HSU5FX1RZUEVfWE9SLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDo1NTpcXHRISU5JQ19SU1NfSEFTSF9FTkdJTkVfVFlQRV9UT0VQLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDo1NjpcXHRISU5JQ19SU1NfSEFTSF9FTkdJTkVfVFlQRV9NQVgsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTU3LX07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg9NjU9ZW51bSBoaW5pY19kYmdfdHlwZSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjY2OlxcdEhJTklDX0RCR19TUV9JTkZPLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDo2NzpcXHRISU5JQ19EQkdfUlFfSU5GTyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6Njg6XFx0SElOSUNfREJHX0ZVTkNfVEFCTEUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTY5LX07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jPTIzPXN0YXRpYyBib29sIGNoZWNrX2ltYWdlX3ZhbGlkKHN0cnVjdCBoaW5pY19kZXZsaW5rX3ByaXYgKnByaXYsIGNvbnN0IHU4ICpidWYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jLTMxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmM6MzI6XFx0aWYgKGZ3X2ltYWdlLVxcdTAwM2Vmd19tYWdpYyAhPSBISU5JQ19NQUdJQ19OVU0pIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jLTMzLVxcdFxcdGRldl9lcnIoXFx1MDAyNnByaXYtXFx1MDAzZWh3ZGV2LVxcdTAwM2Vod2lmLVxcdTAwM2VwZGV2LVxcdTAwM2VkZXYsIFxcXCJXcm9uZyBmd19tYWdpYyByZWFkIGZyb20gZmlsZSwgZndfbWFnaWM6IDB4JXhcXFxcblxcXCIsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jPTEyMj1zdGF0aWMgaW50IGhpbmljX2ZsYXNoX2Z3KHN0cnVjdCBoaW5pY19kZXZsaW5rX3ByaXYgKnByaXYsIGNvbnN0IHU4ICpkYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0yMTctXFx0XFx0XFx0ZXJyID0gaGluaWNfcG9ydF9tc2dfY21kKHByaXYtXFx1MDAzZWh3ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmM6MjE4OlxcdFxcdFxcdFxcdFxcdFxcdCBISU5JQ19QT1JUX0NNRF9VUERBVEVfRlcsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0yMTktXFx0XFx0XFx0XFx0XFx0XFx0IGZ3X3VwZGF0ZV9tc2csXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jPTI0Mj1zdGF0aWMgaW50IGhpbmljX2Zpcm13YXJlX3VwZGF0ZShzdHJ1Y3QgaGluaWNfZGV2bGlua19wcml2ICpwcml2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0yNjEtXFx0aWYgKGVycikge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmM6MjYyOlxcdFxcdGlmIChlcnIgPT0gSElOSUNfRldfRElTTUFUQ0hfRVJST1IpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jLTI2My1cXHRcXHRcXHRkZXZfZXJyKFxcdTAwMjZwcml2LVxcdTAwM2Vod2Rldi1cXHUwMDNlaHdpZi1cXHUwMDNlcGRldi1cXHUwMDNlZGV2LCBcXFwiRmlybXdhcmUgaW1hZ2UgZG9lc24ndCBtYXRjaCB0aGlzIGNhcmQsIHBsZWFzZSB1c2UgbmV3ZXIgaW1hZ2UsIGVycjogJWRcXFxcblxcXCIsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaDo2OiNpZm5kZWYgX19ISU5JQ19ERVZMSU5LX0hfX1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmg6NzojZGVmaW5lIF9fSElOSUNfREVWTElOS19IX19cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTgtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTEyLSNkZWZpbmUgTUFYX0ZXX1RZUEVfTlVNIDMwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaDoxMzojZGVmaW5lIEhJTklDX01BR0lDX05VTSAweDE4MjIxMTAwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaC0xNC0jZGVmaW5lIFVQREFURUZXX0lNQUdFX0hFQURfU0laRSAxMDI0XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTIxLSNkZWZpbmUgTUFYX0ZXX0ZSQUdNRU5UX0xFTiAxNTM2XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaDoyMjojZGVmaW5lIEhJTklDX0ZXX0RJU01BVENIX0VSUk9SIDEwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaC0yMy1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmg9MTE3PXZvaWQgaGluaWNfaGVhbHRoX3JlcG9ydGVyc19kZXN0cm95KHN0cnVjdCBoaW5pY19kZXZsaW5rX3ByaXYgKnByaXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmgtMTE4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmg6MTE5OiNlbmRpZiAvKiBfX0hJTklDX0RFVkxJTktfSF9fICovXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTgyPXN0YXRpYyBzdHJ1Y3QgaHcyZXRodG9vbF9saW5rX21vZGVcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjgzOlxcdGh3X3RvX2V0aHRvb2xfbGlua19tb2RlX3RhYmxlW0hJTklDX0xJTktfTU9ERV9OVU1CRVJTXSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTg0LVxcdHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtODYtXFx0XFx0LnNwZWVkID0gU1BFRURfMTAwMDAsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo4NzpcXHRcXHQuaHdfbGlua19tb2RlID0gSElOSUNfMTBHRV9CQVNFX0tSLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtODgtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtOTEtXFx0XFx0LnNwZWVkID0gU1BFRURfNDAwMDAsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo5MjpcXHRcXHQuaHdfbGlua19tb2RlID0gSElOSUNfNDBHRV9CQVNFX0tSNCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTkzLVxcdH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTk2LVxcdFxcdC5zcGVlZCA9IFNQRUVEXzQwMDAwLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6OTc6XFx0XFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzQwR0VfQkFTRV9DUjQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy05OC1cXHR9LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDEtXFx0XFx0LnNwZWVkID0gU1BFRURfMTAwMDAwLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTAyOlxcdFxcdC5od19saW5rX21vZGUgPSBISU5JQ18xMDBHRV9CQVNFX0tSNCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEwMy1cXHR9LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDYtXFx0XFx0LnNwZWVkID0gU1BFRURfMTAwMDAwLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTA3OlxcdFxcdC5od19saW5rX21vZGUgPSBISU5JQ18xMDBHRV9CQVNFX0NSNCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEwOC1cXHR9LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTEtXFx0XFx0LnNwZWVkID0gU1BFRURfMjUwMDAsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTI6XFx0XFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzI1R0VfQkFTRV9LUl9TLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTEzLVxcdH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNi1cXHRcXHQuc3BlZWQgPSBTUEVFRF8yNTAwMCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzpcXHRcXHQuaHdfbGlua19tb2RlID0gSElOSUNfMjVHRV9CQVNFX0NSX1MsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTgtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTIxLVxcdFxcdC5zcGVlZCA9IFNQRUVEXzI1MDAwLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyOlxcdFxcdC5od19saW5rX21vZGUgPSBISU5JQ18yNUdFX0JBU0VfS1IsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMjMtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTI2LVxcdFxcdC5zcGVlZCA9IFNQRUVEXzI1MDAwLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3OlxcdFxcdC5od19saW5rX21vZGUgPSBISU5JQ18yNUdFX0JBU0VfQ1IsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMjgtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTMxLVxcdFxcdC5zcGVlZCA9IFNQRUVEXzEwMDAsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMzI6XFx0XFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDX0dFX0JBU0VfS1gsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMzMtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTQ2PXN0YXRpYyB2b2lkIHNldF9saW5rX3NwZWVkKHN0cnVjdCBldGh0b29sX2xpbmtfa3NldHRpbmdzICpsaW5rX2tzZXR0aW5ncyxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTQ5LVxcdHN3aXRjaCAoc3BlZWQpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE1MDpcXHRjYXNlIEhJTklDX1NQRUVEXzEwTUJfTElOSzpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE1MS1cXHRcXHRsaW5rX2tzZXR0aW5ncy1cXHUwMDNlYmFzZS5zcGVlZCA9IFNQRUVEXzEwO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxNTQ6XFx0Y2FzZSBISU5JQ19TUEVFRF8xMDBNQl9MSU5LOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTU1LVxcdFxcdGxpbmtfa3NldHRpbmdzLVxcdTAwM2ViYXNlLnNwZWVkID0gU1BFRURfMTAwO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxNTg6XFx0Y2FzZSBISU5JQ19TUEVFRF8xMDAwTUJfTElOSzpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE1OS1cXHRcXHRsaW5rX2tzZXR0aW5ncy1cXHUwMDNlYmFzZS5zcGVlZCA9IFNQRUVEXzEwMDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE2MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE2MjpcXHRjYXNlIEhJTklDX1NQRUVEXzEwR0JfTElOSzpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE2My1cXHRcXHRsaW5rX2tzZXR0aW5ncy1cXHUwMDNlYmFzZS5zcGVlZCA9IFNQRUVEXzEwMDAwO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNjUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxNjY6XFx0Y2FzZSBISU5JQ19TUEVFRF8yNUdCX0xJTks6XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNjctXFx0XFx0bGlua19rc2V0dGluZ3MtXFx1MDAzZWJhc2Uuc3BlZWQgPSBTUEVFRF8yNTAwMDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTY5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTcwOlxcdGNhc2UgSElOSUNfU1BFRURfNDBHQl9MSU5LOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTcxLVxcdFxcdGxpbmtfa3NldHRpbmdzLVxcdTAwM2ViYXNlLnNwZWVkID0gU1BFRURfNDAwMDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE3My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE3NDpcXHRjYXNlIEhJTklDX1NQRUVEXzEwMEdCX0xJTks6XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNzUtXFx0XFx0bGlua19rc2V0dGluZ3MtXFx1MDAzZWJhc2Uuc3BlZWQgPSBTUEVFRF8xMDAwMDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTE4ND1zdGF0aWMgaW50IGhpbmljX2dldF9saW5rX21vZGVfaW5kZXgoZW51bSBoaW5pY19saW5rX21vZGUgbGlua19tb2RlKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xODctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxODg6XFx0Zm9yIChpID0gMDsgaSBcXHUwMDNjIEhJTklDX0xJTktfTU9ERV9OVU1CRVJTOyBpKyspIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE4OS1cXHRcXHRpZiAobGlua19tb2RlID09IGh3X3RvX2V0aHRvb2xfbGlua19tb2RlX3RhYmxlW2ldLmh3X2xpbmtfbW9kZSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTk2PXN0YXRpYyB2b2lkIGhpbmljX2FkZF9ldGh0b29sX2xpbmtfbW9kZShzdHJ1Y3QgY21kX2xpbmtfc2V0dGluZ3MgKmxpbmtfc2V0dGluZ3MsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTIwMi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjIwMzpcXHRmb3IgKGxpbmtfbW9kZSA9IDA7IGxpbmtfbW9kZSBcXHUwMDNjIEhJTklDX0xJTktfTU9ERV9OVU1CRVJTOyBsaW5rX21vZGUrKykge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjA0LVxcdFxcdGlmIChod19saW5rX21vZGUgXFx1MDAyNiAoKHUzMikxIFxcdTAwM2NcXHUwMDNjIGxpbmtfbW9kZSkpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTIwNS1cXHRcXHRcXHRpZHggPSBoaW5pY19nZXRfbGlua19tb2RlX2luZGV4KGxpbmtfbW9kZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyMDY6XFx0XFx0XFx0aWYgKGlkeCBcXHUwMDNlPSBISU5JQ19MSU5LX01PREVfTlVNQkVSUylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTIwNy1cXHRcXHRcXHRcXHRjb250aW51ZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MjE5PXN0YXRpYyB2b2lkIGhpbmljX2xpbmtfcG9ydF90eXBlKHN0cnVjdCBjbWRfbGlua19zZXR0aW5ncyAqbGlua19zZXR0aW5ncyxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjIyLVxcdHN3aXRjaCAocG9ydF90eXBlKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyMjM6XFx0Y2FzZSBISU5JQ19QT1JUX0VMRUM6XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyMjQ6XFx0Y2FzZSBISU5JQ19QT1JUX1RQOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjI1LVxcdFxcdEVUSFRPT0xfQUREX1NVUFBPUlRFRF9MSU5LX01PREUobGlua19zZXR0aW5ncywgVFApO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMjktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyMzA6XFx0Y2FzZSBISU5JQ19QT1JUX0FPQzpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjIzMTpcXHRjYXNlIEhJTklDX1BPUlRfRklCUkU6XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMzItXFx0XFx0RVRIVE9PTF9BRERfU1VQUE9SVEVEX0xJTktfTU9ERShsaW5rX3NldHRpbmdzLCBGSUJSRSk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTIzNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjIzNzpcXHRjYXNlIEhJTklDX1BPUlRfQ09QUEVSOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjM4LVxcdFxcdEVUSFRPT0xfQUREX1NVUFBPUlRFRF9MSU5LX01PREUobGlua19zZXR0aW5ncywgRklCUkUpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yNDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyNDM6XFx0Y2FzZSBISU5JQ19QT1JUX0JBQ0tQTEFORTpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI0NC1cXHRcXHRFVEhUT09MX0FERF9TVVBQT1JURURfTElOS19NT0RFKGxpbmtfc2V0dGluZ3MsIEJhY2twbGFuZSk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTI1NT1zdGF0aWMgaW50IGhpbmljX2dldF9saW5rX2tzZXR0aW5ncyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yODQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyODU6XFx0aWYgKGxpbmtfc3RhdGUgPT0gSElOSUNfTElOS19TVEFURV9VUCkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjg2LVxcdFxcdHNldF9saW5rX3NwZWVkKGxpbmtfa3NldHRpbmdzLCBwb3J0X2NhcC5zcGVlZCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yODctXFx0XFx0bGlua19rc2V0dGluZ3MtXFx1MDAzZWJhc2UuZHVwbGV4ID1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjI4ODpcXHRcXHRcXHQocG9ydF9jYXAuZHVwbGV4ID09IEhJTklDX0RVUExFWF9GVUxMKSA/XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yODktXFx0XFx0XFx0RFVQTEVYX0ZVTEwgOiBEVVBMRVhfSEFMRjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjkxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MjkyOlxcdGlmICghIShwb3J0X2NhcC5hdXRvbmVnX2NhcCBcXHUwMDI2IEhJTklDX0FVVE9ORUdfU1VQUE9SVEVEKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI5My1cXHRcXHRldGh0b29sX2xpbmtfa3NldHRpbmdzX2FkZF9saW5rX21vZGUobGlua19rc2V0dGluZ3MsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI5NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjI5NjpcXHRpZiAocG9ydF9jYXAuYXV0b25lZ19zdGF0ZSA9PSBISU5JQ19BVVRPTkVHX0FDVElWRSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI5Ny1cXHRcXHRsaW5rX2tzZXR0aW5ncy1cXHUwMDNlYmFzZS5hdXRvbmVnID0gQVVUT05FR19FTkFCTEU7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI5OS1cXHRlcnIgPSBoaW5pY19nZXRfbGlua19tb2RlKG5pY19kZXYtXFx1MDAzZWh3ZGV2LCBcXHUwMDI2bGlua19tb2RlKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjMwMDpcXHRpZiAoZXJyIHx8IGxpbmtfbW9kZS5zdXBwb3J0ZWQgPT0gSElOSUNfU1VQUE9SVEVEX1VOS05PV04gfHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjMwMTpcXHQgICAgbGlua19tb2RlLmFkdmVydGlzZWQgPT0gSElOSUNfU1VQUE9SVEVEX1VOS05PV04pXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0zMDItXFx0XFx0cmV0dXJuIC1FSU87XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTMwOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjMwOTpcXHRpZiAoIUhJTklDX0lTX1ZGKG5pY19kZXYtXFx1MDAzZWh3ZGV2LVxcdTAwM2Vod2lmKSkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzEwLVxcdFxcdGVyciA9IGhpbmljX2dldF9od19wYXVzZV9pbmZvKG5pY19kZXYtXFx1MDAzZWh3ZGV2LCBcXHUwMDI2cGF1c2VfaW5mbyk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTM0ND1zdGF0aWMgYm9vbCBoaW5pY19pc19zdXBwb3J0X3NwZWVkKGVudW0gaGluaWNfbGlua19tb2RlIHN1cHBvcnRlZF9saW5rLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0zNDktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozNTA6XFx0Zm9yIChsaW5rX21vZGUgPSAwOyBsaW5rX21vZGUgXFx1MDAzYyBISU5JQ19MSU5LX01PREVfTlVNQkVSUzsgbGlua19tb2RlKyspIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTM1MS1cXHRcXHRpZiAoIShzdXBwb3J0ZWRfbGluayBcXHUwMDI2ICgodTMyKTEgXFx1MDAzY1xcdTAwM2MgbGlua19tb2RlKSkpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTM1NC1cXHRcXHRpZHggPSBoaW5pY19nZXRfbGlua19tb2RlX2luZGV4KGxpbmtfbW9kZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozNTU6XFx0XFx0aWYgKGlkeCBcXHUwMDNlPSBISU5JQ19MSU5LX01PREVfTlVNQkVSUylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTM1Ni1cXHRcXHRcXHRjb250aW51ZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MzY1PXN0YXRpYyBib29sIGhpbmljX2lzX3NwZWVkX2xlZ2FsKHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYsIHUzMiBzcGVlZClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzc1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6Mzc2OlxcdGlmIChsaW5rX21vZGUuc3VwcG9ydGVkID09IEhJTklDX1NVUFBPUlRFRF9VTktOT1dOIHx8XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozNzc6XFx0ICAgIGxpbmtfbW9kZS5hZHZlcnRpc2VkID09IEhJTklDX1NVUFBPUlRFRF9VTktOT1dOKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzc4LVxcdFxcdHJldHVybiBmYWxzZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9NDU3PXN0YXRpYyBpbnQgaGluaWNfc2V0X3NldHRpbmdzX3RvX2h3KHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTQ4MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjQ4MTpcXHRzZXR0aW5ncy5mdW5jX2lkID0gSElOSUNfSFdJRl9GVU5DX0lEWChuaWNfZGV2LVxcdTAwM2Vod2Rldi1cXHUwMDNlaHdpZik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy00ODItXFx0c2V0dGluZ3MudmFsaWRfYml0bWFwID0gc2V0X3NldHRpbmdzO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy00ODYtXFx0ZXJyID0gaGluaWNfc2V0X2xpbmtfc2V0dGluZ3MobmljX2Rldi1cXHUwMDNlaHdkZXYsIFxcdTAwMjZzZXR0aW5ncyk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo0ODc6XFx0aWYgKGVyciAhPSBISU5JQ19NR01UX0NNRF9VTlNVUFBPUlRFRCkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNDg4LVxcdFxcdGlmIChlcnIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTUyOT1zdGF0aWMgdm9pZCBoaW5pY19nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy01MzItXFx0c3RydWN0IGhpbmljX2RldiAqbmljX2RldiA9IG5ldGRldl9wcml2KG5ldGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo1MzM6XFx0dTggbWdtdF92ZXJbSElOSUNfTUdNVF9WRVJTSU9OX01BWF9MRU5dID0gezB9O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTM0LVxcdHN0cnVjdCBoaW5pY19od2RldiAqaHdkZXYgPSBuaWNfZGV2LVxcdTAwM2Vod2RldjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTM3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTM4OlxcdHN0cnNjcHkoaW5mby1cXHUwMDNlZHJpdmVyLCBISU5JQ19EUlZfTkFNRSwgc2l6ZW9mKGluZm8tXFx1MDAzZWRyaXZlcikpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTM5LVxcdHN0cnNjcHkoaW5mby1cXHUwMDNlYnVzX2luZm8sIHBjaV9uYW1lKGh3aWYtXFx1MDAzZXBkZXYpLCBzaXplb2YoaW5mby1cXHUwMDNlYnVzX2luZm8pKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9NTQ4PXN0YXRpYyB2b2lkIGhpbmljX2dldF9yaW5ncGFyYW0oc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTU0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTU1OlxcdHJpbmctXFx1MDAzZXJ4X21heF9wZW5kaW5nID0gSElOSUNfTUFYX1FVRVVFX0RFUFRIO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTU2OlxcdHJpbmctXFx1MDAzZXR4X21heF9wZW5kaW5nID0gSElOSUNfTUFYX1FVRVVFX0RFUFRIO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTU3LVxcdHJpbmctXFx1MDAzZXJ4X3BlbmRpbmcgPSBuaWNfZGV2LVxcdTAwM2VycV9kZXB0aDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9NTYxPXN0YXRpYyBpbnQgY2hlY2tfcmluZ3BhcmFtX3ZhbGlkKHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTU2OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjU3MDpcXHRpZiAocmluZy1cXHUwMDNldHhfcGVuZGluZyBcXHUwMDNlIEhJTklDX01BWF9RVUVVRV9ERVBUSCB8fFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTcxOlxcdCAgICByaW5nLVxcdTAwM2V0eF9wZW5kaW5nIFxcdTAwM2MgSElOSUNfTUlOX1FVRVVFX0RFUFRIIHx8XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo1NzI6XFx0ICAgIHJpbmctXFx1MDAzZXJ4X3BlbmRpbmcgXFx1MDAzZSBISU5JQ19NQVhfUVVFVUVfREVQVEggfHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjU3MzpcXHQgICAgcmluZy1cXHUwMDNlcnhfcGVuZGluZyBcXHUwMDNjIEhJTklDX01JTl9RVUVVRV9ERVBUSCkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTc0LVxcdFxcdG5ldGlmX2VycihuaWNfZGV2LCBkcnYsIG5pY19kZXYtXFx1MDAzZW5ldGRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTU3NS1cXHRcXHRcXHQgIFxcXCJRdWV1ZSBkZXB0aCBvdXQgb2YgcmFuZ2UgWyVkLSVkXVxcXFxuXFxcIixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjU3NjpcXHRcXHRcXHQgIEhJTklDX01JTl9RVUVVRV9ERVBUSCwgSElOSUNfTUFYX1FVRVVFX0RFUFRIKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTU3Ny1cXHRcXHRyZXR1cm4gLUVJTlZBTDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9Njc3PXN0YXRpYyBpbnQgc2V0X3F1ZXVlX2NvYWxlc2NlKHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYsIHUxNiBxX2lkLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy02OTUtXFx0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo2OTY6XFx0aWYgKCEobmljX2Rldi1cXHUwMDNlZmxhZ3MgXFx1MDAyNiBISU5JQ19JTlRGX1VQKSB8fFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNjk3LVxcdCAgICBxX2lkIFxcdTAwM2U9IG5pY19kZXYtXFx1MDAzZW51bV9xcHMpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTkyMj1zdGF0aWMgaW50IGhpbmljX2dldF9yeGZoX2ZpZWxkcyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy05MzAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo5MzE6XFx0aWYgKCEobmljX2Rldi1cXHUwMDNlZmxhZ3MgXFx1MDAyNiBISU5JQ19SU1NfRU5BQkxFKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTkzMi1cXHRcXHRyZXR1cm4gMDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTAwND1zdGF0aWMgaW50IGhpbmljX3NldF9yeGZoX2ZpZWxkcyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDEzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTAxNDpcXHRpZiAoIShuaWNfZGV2LVxcdTAwM2VmbGFncyBcXHUwMDI2IEhJTklDX1JTU19FTkFCTEUpKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTAxNS1cXHRcXHRyZXR1cm4gLUVPUE5PVFNVUFA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTEwOTA9c3RhdGljIGludCBoaW5pY19nZXRfcnhmaChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDk2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTA5NzpcXHRpZiAoIShuaWNfZGV2LVxcdTAwM2VmbGFncyBcXHUwMDI2IEhJTklDX1JTU19FTkFCTEUpKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTA5OC1cXHRcXHRyZXR1cm4gLUVPUE5PVFNVUFA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTExMjQ9c3RhdGljIGludCBoaW5pY19zZXRfcnhmaChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTMwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTEzMTpcXHRpZiAoIShuaWNfZGV2LVxcdTAwM2VmbGFncyBcXHUwMDI2IEhJTklDX1JTU19FTkFCTEUpKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTEzMi1cXHRcXHRyZXR1cm4gLUVPUE5PVFNVUFA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExMzktXFx0XFx0bmljX2Rldi1cXHUwMDNlcnNzX2hhc2hfZW5naW5lID0gKHJ4ZmgtXFx1MDAzZWhmdW5jID09IEVUSF9SU1NfSEFTSF9YT1IpID9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNDA6XFx0XFx0XFx0SElOSUNfUlNTX0hBU0hfRU5HSU5FX1RZUEVfWE9SIDpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNDE6XFx0XFx0XFx0SElOSUNfUlNTX0hBU0hfRU5HSU5FX1RZUEVfVE9FUDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNDItXFx0XFx0ZXJyID0gaGluaWNfcnNzX3NldF9oYXNoX2VuZ2luZVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYz0xMTU0PXN0YXRpYyB1MzIgaGluaWNfZ2V0X3J4Zmhfa2V5X3NpemUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNTUte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE1NjpcXHRyZXR1cm4gSElOSUNfUlNTX0tFWV9TSVpFO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE1Ny19XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTExNTk9c3RhdGljIHUzMiBoaW5pY19nZXRfcnhmaF9pbmRpcl9zaXplKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTYwLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNjE6XFx0cmV0dXJuIEhJTklDX1JTU19JTkRJUl9TSVpFO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE2Mi19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTYzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE2NDojZGVmaW5lIEhJTklDX0ZVTkNfU1RBVChfc3RhdF9pdGVtKSB7XFx0XFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE2NS1cXHQubmFtZSA9ICNfc3RhdF9pdGVtLCBcXFxcXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTExNzA9c3RhdGljIHN0cnVjdCBoaW5pY19zdGF0cyBoaW5pY19mdW5jdGlvbl9zdGF0c1tdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3MTpcXHRISU5JQ19GVU5DX1NUQVQodHhfdW5pY2FzdF9wa3RzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzI6XFx0SElOSUNfRlVOQ19TVEFUKHR4X3VuaWNhc3RfYnl0ZXNfdnBvcnQpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3MzpcXHRISU5JQ19GVU5DX1NUQVQodHhfbXVsdGljYXN0X3BrdHNfdnBvcnQpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3NDpcXHRISU5JQ19GVU5DX1NUQVQodHhfbXVsdGljYXN0X2J5dGVzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzU6XFx0SElOSUNfRlVOQ19TVEFUKHR4X2Jyb2FkY2FzdF9wa3RzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzY6XFx0SElOSUNfRlVOQ19TVEFUKHR4X2Jyb2FkY2FzdF9ieXRlc192cG9ydCksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTc3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3ODpcXHRISU5JQ19GVU5DX1NUQVQocnhfdW5pY2FzdF9wa3RzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzk6XFx0SElOSUNfRlVOQ19TVEFUKHJ4X3VuaWNhc3RfYnl0ZXNfdnBvcnQpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE4MDpcXHRISU5JQ19GVU5DX1NUQVQocnhfbXVsdGljYXN0X3BrdHNfdnBvcnQpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE4MTpcXHRISU5JQ19GVU5DX1NUQVQocnhfbXVsdGljYXN0X2J5dGVzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExODI6XFx0SElOSUNfRlVOQ19TVEFUKHJ4X2Jyb2FkY2FzdF9wa3RzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExODM6XFx0SElOSUNfRlVOQ19TVEFUKHJ4X2Jyb2FkY2FzdF9ieXRlc192cG9ydCksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTg0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE4NTpcXHRISU5JQ19GVU5DX1NUQVQodHhfZGlzY2FyZF92cG9ydCksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTg2OlxcdEhJTklDX0ZVTkNfU1RBVChyeF9kaXNjYXJkX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExODc6XFx0SElOSUNfRlVOQ19TVEFUKHR4X2Vycl92cG9ydCksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTg4OlxcdEhJTklDX0ZVTkNfU1RBVChyeF9lcnJfdnBvcnQpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE4OS19O1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYz0xMTkxPXN0YXRpYyBjaGFyIGhpbmljX3Rlc3Rfc3RyaW5nc1tdW0VUSF9HU1RSSU5HX0xFTl0gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExOTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTk2OiNkZWZpbmUgSElOSUNfUE9SVF9TVEFUKF9zdGF0X2l0ZW0pIHsgXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE5Ny1cXHQubmFtZSA9ICNfc3RhdF9pdGVtLCBcXFxcXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTEyMDI9c3RhdGljIHN0cnVjdCBoaW5pY19zdGF0cyBoaW5pY19wb3J0X3N0YXRzW10gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjAzOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdG90YWxfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjA0OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdG90YWxfb2N0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjA1OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfYmFkX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwNjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X2JhZF9vY3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMDc6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9nb29kX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwODpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X2dvb2Rfb2N0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjA5OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdW5pX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxMDpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X211bHRpX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxMTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X2Jyb2FkX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxMjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3RvdGFsX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxMzpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3RvdGFsX29jdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxNDpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X2JhZF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTU6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9iYWRfb2N0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjE2OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfZ29vZF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTc6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9nb29kX29jdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxODpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3VuaV9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTk6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9tdWx0aV9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjA6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9icm9hZF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjE6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9mcmFnbWVudF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjI6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF91bmRlcnNpemVfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjIzOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdW5kZXJtaW5fcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI0OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfNjRfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyNTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4XzY1XzEyN19vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI2OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTI4XzI1NV9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI3OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMjU2XzUxMV9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI4OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfNTEyXzEwMjNfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyOTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4XzEwMjRfMTUxOF9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjMwOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTUxOV8yMDQ3X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMzE6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF8yMDQ4XzQwOTVfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzMjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4XzQwOTZfODE5MV9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjMzOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfODE5Ml85MjE2X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMzQ6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF85MjE3XzEyMjg3X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMzU6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF8xMjI4OF8xNjM4M19vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjM2OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTUxOV9tYXhfZ29vZF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMzc6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF8xNTE5X21heF9iYWRfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjM4OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfb3ZlcnNpemVfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjM5OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfamFiYmVyX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0MDpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BhdXNlX251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQxOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfcGZjX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0MjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkwX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0MzpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkxX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NDpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkyX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkzX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmk0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NzpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmk1X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0ODpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmk2X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0OTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmk3X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MDpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X2NvbnRyb2xfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjUxOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfc3ltX2Vycl9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNTI6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9mY3NfZXJyX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MzpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3NlbmRfYXBwX2dvb2RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjU0OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfc2VuZF9hcHBfYmFkX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1NTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X2ZyYWdtZW50X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1NjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3VuZGVyc2l6ZV9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNTc6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF91bmRlcm1pbl9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNTg6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF82NF9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjU5OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfNjVfMTI3X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjA6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF8xMjhfMjU1X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjE6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF8yNTZfNTExX29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjI6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF81MTJfMTAyM19vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjYzOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMTAyNF8xNTE4X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjQ6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF8xNTE5XzIwNDdfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2NTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzIwNDhfNDA5NV9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjY2OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfNDA5Nl84MTkxX29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjc6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF84MTkyXzkyMTZfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2ODpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzkyMTdfMTIyODdfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2OTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzEyMjg4XzE2MzgzX29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzA6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF8xNTE5X21heF9nb29kX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3MTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzE1MTlfbWF4X2JhZF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzI6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9vdmVyc2l6ZV9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzM6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9qYWJiZXJfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc0OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGF1c2VfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzU6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9wZmNfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc2OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTBfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc3OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTFfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc4OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTJfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc5OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTNfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjgwOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTRfcGt0X251bSksXFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIyVDIyOjIzOjM3LjEwNzQyMjU3NVoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUzMzkzMjg2MTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgSHVhd2VpIEludGVsbGlnZW50IFBDSUUgTklDIERyaXZlcioqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgUENJRSBOZXR3b3JrIEludGVyZmFjZSBDYXJkLiBTdHJhaWdodCBhd2F5LCBJIHNlZSBpdCdzIGRlYWxpbmcgd2l0aCBwaHlzaWNhbCBoYXJkd2FyZS4gVGhhdCdzIG15IGZpcnN0IGNsdWUuIExldCBtZSBxdWlja2x5IGNvbnNpZGVyIGlmIGFueSBzb2Z0d2FyZSBlbXVsYXRpb24gZXhpc3RzIGZvciB0aGlzIE5JQy4gTm8sIGl0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZXJlIGlzLiBBbHJpZ2h0LCB0aGVuIG15IG5leHQgdGhvdWdodCBpcyBhYm91dCB2aXJ0dWFsaXphdGlvbi4gSXMgaXQgYWNjZXNzaWJsZSBpbiBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVT8gQWdhaW4sIHRoZSBhbnN3ZXIgaXMgbm8sIG5vdCBkaXJlY3RseTsgaXQgd291bGQgcmVxdWlyZSBwYXNzLXRocm91Z2gsIHdoaWNoIGlzIGhhcmRseSBpZGVhbC5cblxuU28sIHJlYWxpc3RpY2FsbHksIHRoaXMgZHJpdmVyJ3MgY29kZSBwYXRocyBhcmUgdW5yZWFjaGFibGUgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLiBUaGlzIG1lYW5zIGl0J3MgcHJldHR5IG11Y2ggYSB3cml0ZS1vZmYgaW4gdGVybXMgb2YgZnV6emluZyBhcHBsaWNhYmlsaXR5IGJlY2F1c2UgaXQgZmFsbHMgaW50byBhIGNhdGVnb3J5IHRoYXQgbXkgY3JpdGVyaWEgZXhjbHVkZXMuXG5cbldhaXQsIG5vdyB0aGF0IEkgbG9vayBhdCB0aGUgcHJvbXB0IG1vcmUgY2xvc2VseSwgaXQgdGVsbHMgbWUgdG8gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlmIHRoZSBwYXRjaCBoYXMgbW9kaWZpY2F0aW9ucyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUuIFRoaXMgZHJpdmVyLCBiZWluZyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyIHdpdGggbm8gc29mdHdhcmUgZW11bGF0aW9uLCBmYWxscyBzcXVhcmVseSBpbnRvIHRoYXQgY2F0ZWdvcnkuXG5cblRoZXJlZm9yZSwgSSdtIGNvbmZpZGVudCBpbiByZXR1cm5pbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuIEl0J3MgYSB3YXN0ZSBvZiByZXNvdXJjZXMgdG8gZnV6eiBjb2RlIHRoYXQgY2FuJ3QgYmUgZXhlY3V0ZWQgaW4gdGhlIHRhcmdldCBmdXp6aW5nIGVudmlyb25tZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMDIwMSwiT3V0cHV0VG9rZW5zIjo4OSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIzNywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMlQyMjoyMzo0Mi40NDY3NTM5NDRaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM0MTMwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowvgk6w[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-22 21:42:09 +0000 UTC FinishedAt: 2026-07-22 22:23:43 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIyIDIyOjIzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjIgMjI6MjM8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA4NjU0MjFkNGRjMDRhNTMyOGJiMDEzZjUyZTUyYjU3MzY2OTY5NzQ4XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBKdWwgMjIgMjI6MjM6MjcgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oXG5pbmRleCA1MmVhOTdjODE4YjhlYy4uZDlhYjk0OTEwYTJhNzkgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmhcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaFxuQEAgLTEwNCw4ICYjNDM7MTA0LDYgQEAgc3RydWN0IGhpbmljX2RldiB7XG4gXHR1MTZcdFx0XHRcdG51bV9yc3M7XG4gXHR1MTZcdFx0XHRcdHJzc19saW1pdDtcbiBcdHN0cnVjdCBoaW5pY19yc3NfdHlwZVx0XHRyc3NfdHlwZTtcbi1cdHU4XHRcdFx0XHQqcnNzX2hrZXlfdXNlcjtcbi1cdHMzMlx0XHRcdFx0KnJzc19pbmRpcl91c2VyO1xuIFx0c3RydWN0IGhpbmljX2ludHJfY29hbF9pbmZvXHQqcnhfaW50cl9jb2FsZXNjZTtcbiBcdHN0cnVjdCBoaW5pY19pbnRyX2NvYWxfaW5mb1x0KnR4X2ludHJfY29hbGVzY2U7XG4gXHRzdHJ1Y3QgaGluaWNfc3Jpb3ZfaW5mbyBzcmlvdl9pbmZvO1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jXG5pbmRleCBhOGIxMjljZTFiN2U5Zi4uZjc1ZTg1NjNmMjNhZWUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jXG5AQCAtMTA2NCwxNyAmIzQzOzEwNjQsNiBAQCBzdGF0aWMgaW50IF9fc2V0X3Jzc19yeGZoKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXG4gXHRpbnQgZXJyO1xuIFxuIFx0aWYgKGluZGlyKSB7XG4tXHRcdGlmICghbmljX2Rldi1cdTAwM2Vyc3NfaW5kaXJfdXNlcikge1xuLVx0XHRcdG5pY19kZXYtXHUwMDNlcnNzX2luZGlyX3VzZXIgPVxuLVx0XHRcdFx0a3phbGxvYyhzaXplb2YodTMyKSAqIEhJTklDX1JTU19JTkRJUl9TSVpFLFxuLVx0XHRcdFx0XHRHRlBfS0VSTkVMKTtcbi1cdFx0XHRpZiAoIW5pY19kZXYtXHUwMDNlcnNzX2luZGlyX3VzZXIpXG4tXHRcdFx0XHRyZXR1cm4gLUVOT01FTTtcbi1cdFx0fVxuLVxuLVx0XHRtZW1jcHkobmljX2Rldi1cdTAwM2Vyc3NfaW5kaXJfdXNlciwgaW5kaXIsXG4tXHRcdCAgICAgICBzaXplb2YodTMyKSAqIEhJTklDX1JTU19JTkRJUl9TSVpFKTtcbi1cbiBcdFx0ZXJyID0gaGluaWNfcnNzX3NldF9pbmRpcl90YmwobmljX2RldixcbiBcdFx0XHRcdFx0ICAgICAgbmljX2Rldi1cdTAwM2Vyc3NfdG1wbF9pZHgsIGluZGlyKTtcbiBcdFx0aWYgKGVycilcbkBAIC0xMDgyLDE2ICYjNDM7MTA3MSw2IEBAIHN0YXRpYyBpbnQgX19zZXRfcnNzX3J4Zmgoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbiBcdH1cbiBcbiBcdGlmIChrZXkpIHtcbi1cdFx0aWYgKCFuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIpIHtcbi1cdFx0XHRuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIgPVxuLVx0XHRcdFx0a3phbGxvYyhISU5JQ19SU1NfS0VZX1NJWkUgKiAyLCBHRlBfS0VSTkVMKTtcbi1cbi1cdFx0XHRpZiAoIW5pY19kZXYtXHUwMDNlcnNzX2hrZXlfdXNlcilcbi1cdFx0XHRcdHJldHVybiAtRU5PTUVNO1xuLVx0XHR9XG4tXG4tXHRcdG1lbWNweShuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIsIGtleSwgSElOSUNfUlNTX0tFWV9TSVpFKTtcbi1cbiBcdFx0ZXJyID0gaGluaWNfcnNzX3NldF90ZW1wbGF0ZV90YmwobmljX2RldixcbiBcdFx0XHRcdFx0XHQgbmljX2Rldi1cdTAwM2Vyc3NfdG1wbF9pZHgsIGtleSk7XG4gXHRcdGlmIChlcnIpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjIgMjI6MjM8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDg2NTQyMWQ0ZGMwNGE1MzI4YmIwMTNmNTJlNTJiNTczNjY5Njk3NDgKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIEp1bCAyMiAyMjoyMzoyNyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaAppbmRleCA1MmVhOTdjODE4YjhlYy4uZDlhYjk0OTEwYTJhNzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaAomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmgKQEAgLTEwNCw4ICYjNDM7MTA0LDYgQEAgc3RydWN0IGhpbmljX2RldiB7CiAJdTE2CQkJCW51bV9yc3M7CiAJdTE2CQkJCXJzc19saW1pdDsKIAlzdHJ1Y3QgaGluaWNfcnNzX3R5cGUJCXJzc190eXBlOwotCXU4CQkJCSpyc3NfaGtleV91c2VyOwotCXMzMgkJCQkqcnNzX2luZGlyX3VzZXI7CiAJc3RydWN0IGhpbmljX2ludHJfY29hbF9pbmZvCSpyeF9pbnRyX2NvYWxlc2NlOwogCXN0cnVjdCBoaW5pY19pbnRyX2NvYWxfaW5mbwkqdHhfaW50cl9jb2FsZXNjZTsKIAlzdHJ1Y3QgaGluaWNfc3Jpb3ZfaW5mbyBzcmlvdl9pbmZvOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMKaW5kZXggYThiMTI5Y2UxYjdlOWYuLmY3NWU4NTYzZjIzYWVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMKQEAgLTEwNjQsMTcgJiM0MzsxMDY0LDYgQEAgc3RhdGljIGludCBfX3NldF9yc3NfcnhmaChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LAogCWludCBlcnI7CiAKIAlpZiAoaW5kaXIpIHsKLQkJaWYgKCFuaWNfZGV2LSZndDtyc3NfaW5kaXJfdXNlcikgewotCQkJbmljX2Rldi0mZ3Q7cnNzX2luZGlyX3VzZXIgPQotCQkJCWt6YWxsb2Moc2l6ZW9mKHUzMikgKiBISU5JQ19SU1NfSU5ESVJfU0laRSwKLQkJCQkJR0ZQX0tFUk5FTCk7Ci0JCQlpZiAoIW5pY19kZXYtJmd0O3Jzc19pbmRpcl91c2VyKQotCQkJCXJldHVybiAtRU5PTUVNOwotCQl9Ci0KLQkJbWVtY3B5KG5pY19kZXYtJmd0O3Jzc19pbmRpcl91c2VyLCBpbmRpciwKLQkJICAgICAgIHNpemVvZih1MzIpICogSElOSUNfUlNTX0lORElSX1NJWkUpOwotCiAJCWVyciA9IGhpbmljX3Jzc19zZXRfaW5kaXJfdGJsKG5pY19kZXYsCiAJCQkJCSAgICAgIG5pY19kZXYtJmd0O3Jzc190bXBsX2lkeCwgaW5kaXIpOwogCQlpZiAoZXJyKQpAQCAtMTA4MiwxNiAmIzQzOzEwNzEsNiBAQCBzdGF0aWMgaW50IF9fc2V0X3Jzc19yeGZoKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsCiAJfQogCiAJaWYgKGtleSkgewotCQlpZiAoIW5pY19kZXYtJmd0O3Jzc19oa2V5X3VzZXIpIHsKLQkJCW5pY19kZXYtJmd0O3Jzc19oa2V5X3VzZXIgPQotCQkJCWt6YWxsb2MoSElOSUNfUlNTX0tFWV9TSVpFICogMiwgR0ZQX0tFUk5FTCk7Ci0KLQkJCWlmICghbmljX2Rldi0mZ3Q7cnNzX2hrZXlfdXNlcikKLQkJCQlyZXR1cm4gLUVOT01FTTsKLQkJfQotCi0JCW1lbWNweShuaWNfZGV2LSZndDtyc3NfaGtleV91c2VyLCBrZXksIEhJTklDX1JTU19LRVlfU0laRSk7Ci0KIAkJZXJyID0gaGluaWNfcnNzX3NldF90ZW1wbGF0ZV90YmwobmljX2RldiwKIAkJCQkJCSBuaWNfZGV2LSZndDtyc3NfdG1wbF9pZHgsIGtleSk7CiAJCWlmIChlcnIpCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIyIDIyOjIzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI1MzcKCQkJCQkJCW91dHB1dDogMzYKCQkJCQkJCXRob3VnaHRzOiAzNTYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgSElOSUMgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYGhpbmljX2V0aHRvb2wuY2AgYW5kIGBoaW5pY19kZXYuaGAgd2l0aGluIHRoZSBIdWF3ZWkgSElOSUMgZHJpdmVyLiBSaWdodCBvZmYgdGhlIGJhdCwgSSBzZWUgaXQmIzM5O3MgcmVtb3ZpbmcgYHJzc19oa2V5X3VzZXJgIGFuZCBgcnNzX2luZGlyX3VzZXJgIGZyb20gdGhlIGBoaW5pY19kZXZgIHN0cnVjdCwgYW5kIHRoZSByZWxhdGVkIGFsbG9jYXRpb24vcG9wdWxhdGlvbiBjb2RlIGluIGBfX3NldF9yc3NfcnhmaGAuIE15IGluaXRpYWwgdGhvdWdodCBpcywgJiMzNDtDYW4gdGhpcyBiZSBleHBsb2l0ZWQgdmlydHVhbGx5PyYjMzQ7IEl0JiMzOTtzIGEgUENJIGRldmljZSBkcml2ZXIsIHdoaWNoIHVzdWFsbHkgcG9pbnRzIHRvd2FyZHMgcGh5c2ljYWwgaGFyZHdhcmUuIEkgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoaXMgZHJpdmVyIGlzIGV2ZW4gcmVhY2hhYmxlIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuCgpHaXZlbiBpdCYjMzk7cyBhIFBDSSBkcml2ZXIsIGZ1enppbmcgaXMgdXN1YWxseSBhIGNoYWxsZW5nZSB3aXRob3V0IGVtdWxhdGlvbiBvciBnZW5lcmljIHN1YnN5c3RlbSBob29rcy4gQnV0IGlzIHRoZXJlIGVtdWxhdGlvbiBmb3IgSElOSUM/IFByb2JhYmx5IG5vdC4gV2FpdCwgZGlkbiYjMzk7dCBzeXprYWxsZXIgc3RhcnQgc3VwcG9ydGluZyBQQ0kgZnV6emluZz8gWWVzLCB0aGVyZSBhcmUgbWVjaGFuaXNtcyBsaWtlIHZQQ0kuIFRoZSBwcm9tcHQgaXMgc3BlY2lmaWNhbGx5IGNhbGxpbmcgb3V0ICppbXBvc3NpYmlsaXR5KiBvZiByZWFjaGluZyBjb2RlIHBhdGhzIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUuIElzIEhJTklDIGVtdWxhdGVkIGluIFFFTVU/IE5vLiBTbyBpdCYjMzk7cyBwcm9iYWJseSB1bnJlYWNoYWJsZSBpbiBhIHR5cGljYWwgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuIFN5emthbGxlciBzdXBwb3J0cyBQQ0kgZnV6emluZywgYnV0IHVzdWFsbHksIHdlIHRyZWF0IHBoeXNpY2FsIGRldmljZSBkcml2ZXJzIGFzIHVucmVhY2hhYmxlIHVubGVzcyB0aGVyZSBpcyBhIFVTQiBkcml2ZXIgb3IgYSBzcGVjaWZpYyBlbXVsYXRvciBpcyBpbnZvbHZlZC4KCkxldCBtZSBqdXN0IGRvdWJsZS1jaGVjaywgeWVzLCBpdCYjMzk7cyB0aGUgSHVhd2VpIEludGVsbGlnZW50IE5JQy4gT2theSwgc28gaXQmIzM5O3MgYSBwaHlzaWNhbCBkZXZpY2UuIExldCBtZSBwZXJmb3JtIGEgcXVpY2sga2VybmVsIHNlYXJjaCB0byBtYWtlIGNlcnRhaW4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjIgMjI6MjM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7SElOSUMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA1OTk1IGxpbmVzLlxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxuXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvS2NvbmZpZy01LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL0tjb25maWc6Njpjb25maWcgSElOSUNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtIdWF3ZWkgSW50ZWxsaWdlbnQgUENJRSBOZXR3b3JrIEludGVyZmFjZSBDYXJkXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL01ha2VmaWxlLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvTWFrZWZpbGU6MjpvYmotJChDT05GSUdfSElOSUMpICYjNDM7PSBoaW5pYy5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvTWFrZWZpbGUtMy1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfY29tbW9uLmgtNi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19jb21tb24uaDo3OiNpZm5kZWYgSElOSUNfQ09NTU9OX0hcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19jb21tb24uaDo4OiNkZWZpbmUgSElOSUNfQ09NTU9OX0hcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19jb21tb24uaC05LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9ODM9c3RhdGljIGludCBoaW5pY19kYmdfZ2V0X2Z1bmNfdGFibGUoc3RydWN0IGhpbmljX2RldiAqbmljX2RldiwgaW50IGlkeClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTk2LVx0cmVhZF9kYXRhLVx1MDAzZWluc3QgPSBUQkxfSURfRlVOQ19DRkdfU01fSU5TVDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6OTc6XHRyZWFkX2RhdGEtXHUwMDNlZW50cnlfc2l6ZSA9IEhJTklDX0ZVTkNUSU9OX0NPTkZJR1VSRV9UQUJMRV9TSVpFO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzo5ODpcdHJlYWRfZGF0YS1cdTAwM2VsdF9pbmRleCA9IEhJTklDX0hXSUZfRlVOQ19JRFgobmljX2Rldi1cdTAwM2Vod2Rldi1cdTAwM2Vod2lmKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6OTk6XHRyZWFkX2RhdGEtXHUwMDNlbGVuID0gSElOSUNfRlVOQ1RJT05fQ09ORklHVVJFX1RBQkxFX1NJWkU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTEwMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MTAxOlx0ZXJyID0gaGluaWNfcG9ydF9tc2dfY21kKG5pY19kZXYtXHUwMDNlaHdkZXYsIEhJTklDX1BPUlRfQ01EX1JEX0xJTkVfVEJMLCByZWFkX2RhdGEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTEwMi1cdFx0XHRcdCBzaXplb2YoKnJlYWRfZGF0YSksIHJlYWRfZGF0YSwgXHUwMDI2b3V0X3NpemUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MTM2PXN0YXRpYyBzc2l6ZV90IGhpbmljX2RiZ19jbWRfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90IGNvdW50LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMTQ4LVx0c3dpdGNoIChkYmctXHUwMDNldHlwZSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoxNDk6XHRjYXNlIEhJTklDX0RCR19TUV9JTkZPOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xNTAtXHRcdG91dCA9IGhpbmljX2RiZ19nZXRfc3FfaW5mbyhkYmctXHUwMDNlZGV2LCBkYmctXHUwMDNlb2JqZWN0LCAqZGVzYyk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xNTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjE1MzpcdGNhc2UgSElOSUNfREJHX1JRX0lORk86XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTE1NC1cdFx0b3V0ID0gaGluaWNfZGJnX2dldF9ycV9pbmZvKGRiZy1cdTAwM2VkZXYsIGRiZy1cdTAwM2VvYmplY3QsICpkZXNjKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTE1Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MTU3Olx0Y2FzZSBISU5JQ19EQkdfRlVOQ19UQUJMRTpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMTU4LVx0XHRvdXQgPSBoaW5pY19kYmdfZ2V0X2Z1bmNfdGFibGUoZGJnLVx1MDAzZWRldiwgKmRlc2MpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjA0PXN0YXRpYyB2b2lkIHJlbV9kYmdfZmlsZXMoc3RydWN0IGhpbmljX2RlYnVnX3ByaXYgKmRiZylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjA1LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MjA2Olx0aWYgKGRiZy1cdTAwM2V0eXBlICE9IEhJTklDX0RCR19GVU5DX1RBQkxFKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yMDctXHRcdGRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZShkYmctXHUwMDNlcm9vdCk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYz0yMTI9aW50IGhpbmljX3NxX2RlYnVnX2FkZChzdHJ1Y3QgaGluaWNfZGV2ICpkZXYsIHUxNiBzcV9pZClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTIyMy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MjI0Olx0cmV0dXJuIGNyZWF0ZV9kYmdfZmlsZXMoZGV2LCBISU5JQ19EQkdfU1FfSU5GTywgc3EsIHJvb3QsIFx1MDAyNnNxLVx1MDAzZWRiZywgc3FfZmllbGRzLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yMjUtXHRcdFx0XHRBUlJBWV9TSVpFKHNxX2ZpZWxkcykpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjM0PWludCBoaW5pY19ycV9kZWJ1Z19hZGQoc3RydWN0IGhpbmljX2RldiAqZGV2LCB1MTYgcnFfaWQpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNDUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI0NjpcdHJldHVybiBjcmVhdGVfZGJnX2ZpbGVzKGRldiwgSElOSUNfREJHX1JRX0lORk8sIHJxLCByb290LCBcdTAwMjZycS1cdTAwM2VkYmcsIHJxX2ZpZWxkcyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjQ3LVx0XHRcdFx0QVJSQVlfU0laRShycV9maWVsZHMpKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jPTI1Nj1pbnQgaGluaWNfZnVuY190YWJsZV9kZWJ1Z19hZGQoc3RydWN0IGhpbmljX2RldiAqZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNTcte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoyNTg6XHRpZiAoSElOSUNfSVNfVkYoZGV2LVx1MDAzZWh3ZGV2LVx1MDAzZWh3aWYpKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNTktXHRcdHJldHVybiAwO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNjAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI2MTpcdHJldHVybiBjcmVhdGVfZGJnX2ZpbGVzKGRldiwgSElOSUNfREJHX0ZVTkNfVEFCTEUsIGRldiwgZGV2LVx1MDAzZWZ1bmNfdGJsX2RiZ2ZzLCBcdTAwMjZkZXYtXHUwMDNlZGJnLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNjItXHRcdFx0XHRmdW5jX3RhYmxlX2ZpZWxkcywgQVJSQVlfU0laRShmdW5jX3RhYmxlX2ZpZWxkcykpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjY1PXZvaWQgaGluaWNfZnVuY190YWJsZV9kZWJ1Z19yZW0oc3RydWN0IGhpbmljX2RldiAqZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNjYte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoyNjc6XHRpZiAoIUhJTklDX0lTX1ZGKGRldi1cdTAwM2Vod2Rldi1cdTAwM2Vod2lmKSBcdTAwMjZcdTAwMjYgZGV2LVx1MDAzZWRiZylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjY4LVx0XHRyZW1fZGJnX2ZpbGVzKGRldi1cdTAwM2VkYmcpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjkxPXZvaWQgaGluaWNfZnVuY190YmxfZGJnZnNfaW5pdChzdHJ1Y3QgaGluaWNfZGV2ICpuaWNfZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yOTIte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoyOTM6XHRpZiAoIUhJTklDX0lTX1ZGKG5pY19kZXYtXHUwMDNlaHdkZXYtXHUwMDNlaHdpZikpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTI5NC1cdFx0bmljX2Rldi1cdTAwM2VmdW5jX3RibF9kYmdmcyA9IGRlYnVnZnNfY3JlYXRlX2RpcihcJiMzNDtmdW5jX3RhYmxlXCYjMzQ7LCBuaWNfZGV2LVx1MDAzZWRiZ2ZzX3Jvb3QpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9Mjk3PXZvaWQgaGluaWNfZnVuY190YmxfZGJnZnNfdW5pbml0KHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTI5OC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI5OTpcdGlmICghSElOSUNfSVNfVkYobmljX2Rldi1cdTAwM2Vod2Rldi1cdTAwM2Vod2lmKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMzAwLVx0XHRkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUobmljX2Rldi1cdTAwM2VmdW5jX3RibF9kYmdmcyk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaC01LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaDo2OiNpZm5kZWYgSElOSUNfREVCVUdGU19IXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5oOjc6I2RlZmluZSBISU5JQ19ERUJVR0ZTX0hcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmgtOC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5oLTEzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaDoxNDojZGVmaW5lIEhJTklDX0ZVTkNUSU9OX0NPTkZJR1VSRV9UQUJMRV9TSVpFICAgICAgICAgICAgIDY0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5oLTE1LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaC02LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjc6I2lmbmRlZiBISU5JQ19ERVZfSFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjg6I2RlZmluZSBISU5JQ19ERVZfSFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTktXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTIwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjIxOiNkZWZpbmUgSElOSUNfRFJWX05BTUUgICAgICAgICAgXCYjMzQ7aGluaWNcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaC0yMi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmgtMjQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MjU6I2RlZmluZSBISU5JQ19NQVhfSlVNQk9fRlJBTUVfU0laRSAgICAgIDE1ODcyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MjY6I2RlZmluZSBISU5JQ19NQVhfTVRVX1NJWkUgICAgICAoSElOSUNfTUFYX0pVTUJPX0ZSQU1FX1NJWkUgLSBFVEhfSExFTiAtIEVUSF9GQ1NfTEVOKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjI3OiNkZWZpbmUgSElOSUNfTUlOX01UVV9TSVpFICAgICAgMjU2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmgtMjgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg9Mjk9ZW51bSBoaW5pY19mbGFncyB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MzA6XHRISU5JQ19MSU5LX1VQID0gQklUKDApLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjMxOlx0SElOSUNfSU5URl9VUCA9IEJJVCgxKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDozMjpcdEhJTklDX1JTU19FTkFCTEUgPSBCSVQoMiksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MzM6XHRISU5JQ19MSU5LX0RPV04gPSBCSVQoMyksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MzQ6XHRISU5JQ19MUF9URVNUID0gQklUKDQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTM1LX07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oPTUzPWVudW0gaGluaWNfcnNzX2hhc2hfdHlwZSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6NTQ6XHRISU5JQ19SU1NfSEFTSF9FTkdJTkVfVFlQRV9YT1IsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6NTU6XHRISU5JQ19SU1NfSEFTSF9FTkdJTkVfVFlQRV9UT0VQLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjU2Olx0SElOSUNfUlNTX0hBU0hfRU5HSU5FX1RZUEVfTUFYLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTU3LX07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oPTY1PWVudW0gaGluaWNfZGJnX3R5cGUge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjY2Olx0SElOSUNfREJHX1NRX0lORk8sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6Njc6XHRISU5JQ19EQkdfUlFfSU5GTyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDo2ODpcdEhJTklDX0RCR19GVU5DX1RBQkxFLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTY5LX07XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYz0yMz1zdGF0aWMgYm9vbCBjaGVja19pbWFnZV92YWxpZChzdHJ1Y3QgaGluaWNfZGV2bGlua19wcml2ICpwcml2LCBjb25zdCB1OCAqYnVmLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmMtMzEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jOjMyOlx0aWYgKGZ3X2ltYWdlLVx1MDAzZWZ3X21hZ2ljICE9IEhJTklDX01BR0lDX05VTSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0zMy1cdFx0ZGV2X2VycihcdTAwMjZwcml2LVx1MDAzZWh3ZGV2LVx1MDAzZWh3aWYtXHUwMDNlcGRldi1cdTAwM2VkZXYsIFwmIzM0O1dyb25nIGZ3X21hZ2ljIHJlYWQgZnJvbSBmaWxlLCBmd19tYWdpYzogMHgleFxcblwmIzM0Oyxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jPTEyMj1zdGF0aWMgaW50IGhpbmljX2ZsYXNoX2Z3KHN0cnVjdCBoaW5pY19kZXZsaW5rX3ByaXYgKnByaXYsIGNvbnN0IHU4ICpkYXRhLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmMtMjE3LVx0XHRcdGVyciA9IGhpbmljX3BvcnRfbXNnX2NtZChwcml2LVx1MDAzZWh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYzoyMTg6XHRcdFx0XHRcdFx0IEhJTklDX1BPUlRfQ01EX1VQREFURV9GVyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmMtMjE5LVx0XHRcdFx0XHRcdCBmd191cGRhdGVfbXNnLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmM9MjQyPXN0YXRpYyBpbnQgaGluaWNfZmlybXdhcmVfdXBkYXRlKHN0cnVjdCBoaW5pY19kZXZsaW5rX3ByaXYgKnByaXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0yNjEtXHRpZiAoZXJyKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jOjI2MjpcdFx0aWYgKGVyciA9PSBISU5JQ19GV19ESVNNQVRDSF9FUlJPUikge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0yNjMtXHRcdFx0ZGV2X2VycihcdTAwMjZwcml2LVx1MDAzZWh3ZGV2LVx1MDAzZWh3aWYtXHUwMDNlcGRldi1cdTAwM2VkZXYsIFwmIzM0O0Zpcm13YXJlIGltYWdlIGRvZXNuJiMzOTt0IG1hdGNoIHRoaXMgY2FyZCwgcGxlYXNlIHVzZSBuZXdlciBpbWFnZSwgZXJyOiAlZFxcblwmIzM0Oyxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oOjY6I2lmbmRlZiBfX0hJTklDX0RFVkxJTktfSF9fXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oOjc6I2RlZmluZSBfX0hJTklDX0RFVkxJTktfSF9fXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTgtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaC0xMi0jZGVmaW5lIE1BWF9GV19UWVBFX05VTSAzMFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaDoxMzojZGVmaW5lIEhJTklDX01BR0lDX05VTSAweDE4MjIxMTAwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTE0LSNkZWZpbmUgVVBEQVRFRldfSU1BR0VfSEVBRF9TSVpFIDEwMjRcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTIxLSNkZWZpbmUgTUFYX0ZXX0ZSQUdNRU5UX0xFTiAxNTM2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oOjIyOiNkZWZpbmUgSElOSUNfRldfRElTTUFUQ0hfRVJST1IgMTBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmgtMjMtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaD0xMTc9dm9pZCBoaW5pY19oZWFsdGhfcmVwb3J0ZXJzX2Rlc3Ryb3koc3RydWN0IGhpbmljX2RldmxpbmtfcHJpdiAqcHJpdik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTExOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmg6MTE5OiNlbmRpZiAvKiBfX0hJTklDX0RFVkxJTktfSF9fICovXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYz04Mj1zdGF0aWMgc3RydWN0IGh3MmV0aHRvb2xfbGlua19tb2RlXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjgzOlx0aHdfdG9fZXRodG9vbF9saW5rX21vZGVfdGFibGVbSElOSUNfTElOS19NT0RFX05VTUJFUlNdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy04NC1cdHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTg2LVx0XHQuc3BlZWQgPSBTUEVFRF8xMDAwMCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6ODc6XHRcdC5od19saW5rX21vZGUgPSBISU5JQ18xMEdFX0JBU0VfS1IsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTg4LVx0fSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTkxLVx0XHQuc3BlZWQgPSBTUEVFRF80MDAwMCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6OTI6XHRcdC5od19saW5rX21vZGUgPSBISU5JQ180MEdFX0JBU0VfS1I0LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy05My1cdH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy05Ni1cdFx0LnNwZWVkID0gU1BFRURfNDAwMDAsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjk3Olx0XHQuaHdfbGlua19tb2RlID0gSElOSUNfNDBHRV9CQVNFX0NSNCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtOTgtXHR9LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTAxLVx0XHQuc3BlZWQgPSBTUEVFRF8xMDAwMDAsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEwMjpcdFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzEwMEdFX0JBU0VfS1I0LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDMtXHR9LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTA2LVx0XHQuc3BlZWQgPSBTUEVFRF8xMDAwMDAsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEwNzpcdFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzEwMEdFX0JBU0VfQ1I0LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDgtXHR9LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTExLVx0XHQuc3BlZWQgPSBTUEVFRF8yNTAwMCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTEyOlx0XHQuaHdfbGlua19tb2RlID0gSElOSUNfMjVHRV9CQVNFX0tSX1MsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExMy1cdH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTYtXHRcdC5zcGVlZCA9IFNQRUVEXzI1MDAwLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTc6XHRcdC5od19saW5rX21vZGUgPSBISU5JQ18yNUdFX0JBU0VfQ1JfUyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE4LVx0fSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEyMS1cdFx0LnNwZWVkID0gU1BFRURfMjUwMDAsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjpcdFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzI1R0VfQkFTRV9LUixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTIzLVx0fSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEyNi1cdFx0LnNwZWVkID0gU1BFRURfMjUwMDAsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzpcdFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzI1R0VfQkFTRV9DUixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTI4LVx0fSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEzMS1cdFx0LnNwZWVkID0gU1BFRURfMTAwMCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTMyOlx0XHQuaHdfbGlua19tb2RlID0gSElOSUNfR0VfQkFTRV9LWCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTMzLVx0fSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTE0Nj1zdGF0aWMgdm9pZCBzZXRfbGlua19zcGVlZChzdHJ1Y3QgZXRodG9vbF9saW5rX2tzZXR0aW5ncyAqbGlua19rc2V0dGluZ3MsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNDktXHRzd2l0Y2ggKHNwZWVkKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE1MDpcdGNhc2UgSElOSUNfU1BFRURfMTBNQl9MSU5LOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNTEtXHRcdGxpbmtfa3NldHRpbmdzLVx1MDAzZWJhc2Uuc3BlZWQgPSBTUEVFRF8xMDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE1My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTU0Olx0Y2FzZSBISU5JQ19TUEVFRF8xMDBNQl9MSU5LOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNTUtXHRcdGxpbmtfa3NldHRpbmdzLVx1MDAzZWJhc2Uuc3BlZWQgPSBTUEVFRF8xMDA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE1ODpcdGNhc2UgSElOSUNfU1BFRURfMTAwME1CX0xJTks6XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE1OS1cdFx0bGlua19rc2V0dGluZ3MtXHUwMDNlYmFzZS5zcGVlZCA9IFNQRUVEXzEwMDA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNjEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE2MjpcdGNhc2UgSElOSUNfU1BFRURfMTBHQl9MSU5LOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNjMtXHRcdGxpbmtfa3NldHRpbmdzLVx1MDAzZWJhc2Uuc3BlZWQgPSBTUEVFRF8xMDAwMDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE2NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTY2Olx0Y2FzZSBISU5JQ19TUEVFRF8yNUdCX0xJTks6XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE2Ny1cdFx0bGlua19rc2V0dGluZ3MtXHUwMDNlYmFzZS5zcGVlZCA9IFNQRUVEXzI1MDAwO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTY5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxNzA6XHRjYXNlIEhJTklDX1NQRUVEXzQwR0JfTElOSzpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTcxLVx0XHRsaW5rX2tzZXR0aW5ncy1cdTAwM2ViYXNlLnNwZWVkID0gU1BFRURfNDAwMDA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNzMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE3NDpcdGNhc2UgSElOSUNfU1BFRURfMTAwR0JfTElOSzpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTc1LVx0XHRsaW5rX2tzZXR0aW5ncy1cdTAwM2ViYXNlLnNwZWVkID0gU1BFRURfMTAwMDAwO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTg0PXN0YXRpYyBpbnQgaGluaWNfZ2V0X2xpbmtfbW9kZV9pbmRleChlbnVtIGhpbmljX2xpbmtfbW9kZSBsaW5rX21vZGUpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xODctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE4ODpcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEhJTklDX0xJTktfTU9ERV9OVU1CRVJTOyBpJiM0MzsmIzQzOykge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xODktXHRcdGlmIChsaW5rX21vZGUgPT0gaHdfdG9fZXRodG9vbF9saW5rX21vZGVfdGFibGVbaV0uaHdfbGlua19tb2RlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTk2PXN0YXRpYyB2b2lkIGhpbmljX2FkZF9ldGh0b29sX2xpbmtfbW9kZShzdHJ1Y3QgY21kX2xpbmtfc2V0dGluZ3MgKmxpbmtfc2V0dGluZ3MsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMDItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjIwMzpcdGZvciAobGlua19tb2RlID0gMDsgbGlua19tb2RlIFx1MDAzYyBISU5JQ19MSU5LX01PREVfTlVNQkVSUzsgbGlua19tb2RlJiM0MzsmIzQzOykge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMDQtXHRcdGlmIChod19saW5rX21vZGUgXHUwMDI2ICgodTMyKTEgXHUwMDNjXHUwMDNjIGxpbmtfbW9kZSkpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjA1LVx0XHRcdGlkeCA9IGhpbmljX2dldF9saW5rX21vZGVfaW5kZXgobGlua19tb2RlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MjA2Olx0XHRcdGlmIChpZHggXHUwMDNlPSBISU5JQ19MSU5LX01PREVfTlVNQkVSUylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjA3LVx0XHRcdFx0Y29udGludWU7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYz0yMTk9c3RhdGljIHZvaWQgaGluaWNfbGlua19wb3J0X3R5cGUoc3RydWN0IGNtZF9saW5rX3NldHRpbmdzICpsaW5rX3NldHRpbmdzLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjIyLVx0c3dpdGNoIChwb3J0X3R5cGUpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MjIzOlx0Y2FzZSBISU5JQ19QT1JUX0VMRUM6XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjIyNDpcdGNhc2UgSElOSUNfUE9SVF9UUDpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjI1LVx0XHRFVEhUT09MX0FERF9TVVBQT1JURURfTElOS19NT0RFKGxpbmtfc2V0dGluZ3MsIFRQKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTIyOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MjMwOlx0Y2FzZSBISU5JQ19QT1JUX0FPQzpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MjMxOlx0Y2FzZSBISU5JQ19QT1JUX0ZJQlJFOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMzItXHRcdEVUSFRPT0xfQUREX1NVUFBPUlRFRF9MSU5LX01PREUobGlua19zZXR0aW5ncywgRklCUkUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjM2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyMzc6XHRjYXNlIEhJTklDX1BPUlRfQ09QUEVSOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMzgtXHRcdEVUSFRPT0xfQUREX1NVUFBPUlRFRF9MSU5LX01PREUobGlua19zZXR0aW5ncywgRklCUkUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjQyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyNDM6XHRjYXNlIEhJTklDX1BPUlRfQkFDS1BMQU5FOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yNDQtXHRcdEVUSFRPT0xfQUREX1NVUFBPUlRFRF9MSU5LX01PREUobGlua19zZXR0aW5ncywgQmFja3BsYW5lKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTI1NT1zdGF0aWMgaW50IGhpbmljX2dldF9saW5rX2tzZXR0aW5ncyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjg0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyODU6XHRpZiAobGlua19zdGF0ZSA9PSBISU5JQ19MSU5LX1NUQVRFX1VQKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI4Ni1cdFx0c2V0X2xpbmtfc3BlZWQobGlua19rc2V0dGluZ3MsIHBvcnRfY2FwLnNwZWVkKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjg3LVx0XHRsaW5rX2tzZXR0aW5ncy1cdTAwM2ViYXNlLmR1cGxleCA9XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjI4ODpcdFx0XHQocG9ydF9jYXAuZHVwbGV4ID09IEhJTklDX0RVUExFWF9GVUxMKSA/XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI4OS1cdFx0XHREVVBMRVhfRlVMTCA6IERVUExFWF9IQUxGO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjkxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyOTI6XHRpZiAoISEocG9ydF9jYXAuYXV0b25lZ19jYXAgXHUwMDI2IEhJTklDX0FVVE9ORUdfU1VQUE9SVEVEKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjkzLVx0XHRldGh0b29sX2xpbmtfa3NldHRpbmdzX2FkZF9saW5rX21vZGUobGlua19rc2V0dGluZ3MsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yOTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjI5NjpcdGlmIChwb3J0X2NhcC5hdXRvbmVnX3N0YXRlID09IEhJTklDX0FVVE9ORUdfQUNUSVZFKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yOTctXHRcdGxpbmtfa3NldHRpbmdzLVx1MDAzZWJhc2UuYXV0b25lZyA9IEFVVE9ORUdfRU5BQkxFO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjk5LVx0ZXJyID0gaGluaWNfZ2V0X2xpbmtfbW9kZShuaWNfZGV2LVx1MDAzZWh3ZGV2LCBcdTAwMjZsaW5rX21vZGUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozMDA6XHRpZiAoZXJyIHx8IGxpbmtfbW9kZS5zdXBwb3J0ZWQgPT0gSElOSUNfU1VQUE9SVEVEX1VOS05PV04gfHxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MzAxOlx0ICAgIGxpbmtfbW9kZS5hZHZlcnRpc2VkID09IEhJTklDX1NVUFBPUlRFRF9VTktOT1dOKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0zMDItXHRcdHJldHVybiAtRUlPO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzA4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozMDk6XHRpZiAoIUhJTklDX0lTX1ZGKG5pY19kZXYtXHUwMDNlaHdkZXYtXHUwMDNlaHdpZikpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzEwLVx0XHRlcnIgPSBoaW5pY19nZXRfaHdfcGF1c2VfaW5mbyhuaWNfZGV2LVx1MDAzZWh3ZGV2LCBcdTAwMjZwYXVzZV9pbmZvKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTM0ND1zdGF0aWMgYm9vbCBoaW5pY19pc19zdXBwb3J0X3NwZWVkKGVudW0gaGluaWNfbGlua19tb2RlIHN1cHBvcnRlZF9saW5rLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzQ5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozNTA6XHRmb3IgKGxpbmtfbW9kZSA9IDA7IGxpbmtfbW9kZSBcdTAwM2MgSElOSUNfTElOS19NT0RFX05VTUJFUlM7IGxpbmtfbW9kZSYjNDM7JiM0MzspIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzUxLVx0XHRpZiAoIShzdXBwb3J0ZWRfbGluayBcdTAwMjYgKCh1MzIpMSBcdTAwM2NcdTAwM2MgbGlua19tb2RlKSkpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0zNTQtXHRcdGlkeCA9IGhpbmljX2dldF9saW5rX21vZGVfaW5kZXgobGlua19tb2RlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MzU1Olx0XHRpZiAoaWR4IFx1MDAzZT0gSElOSUNfTElOS19NT0RFX05VTUJFUlMpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTM1Ni1cdFx0XHRjb250aW51ZTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTM2NT1zdGF0aWMgYm9vbCBoaW5pY19pc19zcGVlZF9sZWdhbChzdHJ1Y3QgaGluaWNfZGV2ICpuaWNfZGV2LCB1MzIgc3BlZWQpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0zNzUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjM3NjpcdGlmIChsaW5rX21vZGUuc3VwcG9ydGVkID09IEhJTklDX1NVUFBPUlRFRF9VTktOT1dOIHx8XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjM3NzpcdCAgICBsaW5rX21vZGUuYWR2ZXJ0aXNlZCA9PSBISU5JQ19TVVBQT1JURURfVU5LTk9XTilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzc4LVx0XHRyZXR1cm4gZmFsc2U7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYz00NTc9c3RhdGljIGludCBoaW5pY19zZXRfc2V0dGluZ3NfdG9faHcoc3RydWN0IGhpbmljX2RldiAqbmljX2Rldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTQ4MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NDgxOlx0c2V0dGluZ3MuZnVuY19pZCA9IEhJTklDX0hXSUZfRlVOQ19JRFgobmljX2Rldi1cdTAwM2Vod2Rldi1cdTAwM2Vod2lmKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNDgyLVx0c2V0dGluZ3MudmFsaWRfYml0bWFwID0gc2V0X3NldHRpbmdzO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNDg2LVx0ZXJyID0gaGluaWNfc2V0X2xpbmtfc2V0dGluZ3MobmljX2Rldi1cdTAwM2Vod2RldiwgXHUwMDI2c2V0dGluZ3MpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo0ODc6XHRpZiAoZXJyICE9IEhJTklDX01HTVRfQ01EX1VOU1VQUE9SVEVEKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTQ4OC1cdFx0aWYgKGVycilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTUyOT1zdGF0aWMgdm9pZCBoaW5pY19nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTMyLVx0c3RydWN0IGhpbmljX2RldiAqbmljX2RldiA9IG5ldGRldl9wcml2KG5ldGRldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjUzMzpcdHU4IG1nbXRfdmVyW0hJTklDX01HTVRfVkVSU0lPTl9NQVhfTEVOXSA9IHswfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTM0LVx0c3RydWN0IGhpbmljX2h3ZGV2ICpod2RldiA9IG5pY19kZXYtXHUwMDNlaHdkZXY7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy01MzctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjUzODpcdHN0cnNjcHkoaW5mby1cdTAwM2Vkcml2ZXIsIEhJTklDX0RSVl9OQU1FLCBzaXplb2YoaW5mby1cdTAwM2Vkcml2ZXIpKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTM5LVx0c3Ryc2NweShpbmZvLVx1MDAzZWJ1c19pbmZvLCBwY2lfbmFtZShod2lmLVx1MDAzZXBkZXYpLCBzaXplb2YoaW5mby1cdTAwM2VidXNfaW5mbykpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9NTQ4PXN0YXRpYyB2b2lkIGhpbmljX2dldF9yaW5ncGFyYW0oc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTU1NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTU1Olx0cmluZy1cdTAwM2VyeF9tYXhfcGVuZGluZyA9IEhJTklDX01BWF9RVUVVRV9ERVBUSDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTU2Olx0cmluZy1cdTAwM2V0eF9tYXhfcGVuZGluZyA9IEhJTklDX01BWF9RVUVVRV9ERVBUSDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTU3LVx0cmluZy1cdTAwM2VyeF9wZW5kaW5nID0gbmljX2Rldi1cdTAwM2VycV9kZXB0aDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTU2MT1zdGF0aWMgaW50IGNoZWNrX3JpbmdwYXJhbV92YWxpZChzdHJ1Y3QgaGluaWNfZGV2ICpuaWNfZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTY5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo1NzA6XHRpZiAocmluZy1cdTAwM2V0eF9wZW5kaW5nIFx1MDAzZSBISU5JQ19NQVhfUVVFVUVfREVQVEggfHxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTcxOlx0ICAgIHJpbmctXHUwMDNldHhfcGVuZGluZyBcdTAwM2MgSElOSUNfTUlOX1FVRVVFX0RFUFRIIHx8XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjU3MjpcdCAgICByaW5nLVx1MDAzZXJ4X3BlbmRpbmcgXHUwMDNlIEhJTklDX01BWF9RVUVVRV9ERVBUSCB8fFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo1NzM6XHQgICAgcmluZy1cdTAwM2VyeF9wZW5kaW5nIFx1MDAzYyBISU5JQ19NSU5fUVVFVUVfREVQVEgpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTc0LVx0XHRuZXRpZl9lcnIobmljX2RldiwgZHJ2LCBuaWNfZGV2LVx1MDAzZW5ldGRldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTc1LVx0XHRcdCAgXCYjMzQ7UXVldWUgZGVwdGggb3V0IG9mIHJhbmdlIFslZC0lZF1cXG5cJiMzNDssXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjU3NjpcdFx0XHQgIEhJTklDX01JTl9RVUVVRV9ERVBUSCwgSElOSUNfTUFYX1FVRVVFX0RFUFRIKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTc3LVx0XHRyZXR1cm4gLUVJTlZBTDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTY3Nz1zdGF0aWMgaW50IHNldF9xdWV1ZV9jb2FsZXNjZShzdHJ1Y3QgaGluaWNfZGV2ICpuaWNfZGV2LCB1MTYgcV9pZCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTY5NS1cdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo2OTY6XHRpZiAoIShuaWNfZGV2LVx1MDAzZWZsYWdzIFx1MDAyNiBISU5JQ19JTlRGX1VQKSB8fFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy02OTctXHQgICAgcV9pZCBcdTAwM2U9IG5pY19kZXYtXHUwMDNlbnVtX3Fwcylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTkyMj1zdGF0aWMgaW50IGhpbmljX2dldF9yeGZoX2ZpZWxkcyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtOTMwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo5MzE6XHRpZiAoIShuaWNfZGV2LVx1MDAzZWZsYWdzIFx1MDAyNiBISU5JQ19SU1NfRU5BQkxFKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtOTMyLVx0XHRyZXR1cm4gMDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTEwMDQ9c3RhdGljIGludCBoaW5pY19zZXRfcnhmaF9maWVsZHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEwMTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEwMTQ6XHRpZiAoIShuaWNfZGV2LVx1MDAzZWZsYWdzIFx1MDAyNiBISU5JQ19SU1NfRU5BQkxFKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTAxNS1cdFx0cmV0dXJuIC1FT1BOT1RTVVBQO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTA5MD1zdGF0aWMgaW50IGhpbmljX2dldF9yeGZoKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDk2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMDk3Olx0aWYgKCEobmljX2Rldi1cdTAwM2VmbGFncyBcdTAwMjYgSElOSUNfUlNTX0VOQUJMRSkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEwOTgtXHRcdHJldHVybiAtRU9QTk9UU1VQUDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTExMjQ9c3RhdGljIGludCBoaW5pY19zZXRfcnhmaChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTEzMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTEzMTpcdGlmICghKG5pY19kZXYtXHUwMDNlZmxhZ3MgXHUwMDI2IEhJTklDX1JTU19FTkFCTEUpKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTMyLVx0XHRyZXR1cm4gLUVPUE5PVFNVUFA7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTM5LVx0XHRuaWNfZGV2LVx1MDAzZXJzc19oYXNoX2VuZ2luZSA9IChyeGZoLVx1MDAzZWhmdW5jID09IEVUSF9SU1NfSEFTSF9YT1IpID9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE0MDpcdFx0XHRISU5JQ19SU1NfSEFTSF9FTkdJTkVfVFlQRV9YT1IgOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTQxOlx0XHRcdEhJTklDX1JTU19IQVNIX0VOR0lORV9UWVBFX1RPRVA7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNDItXHRcdGVyciA9IGhpbmljX3Jzc19zZXRfaGFzaF9lbmdpbmVcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTExNTQ9c3RhdGljIHUzMiBoaW5pY19nZXRfcnhmaF9rZXlfc2l6ZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTU1LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE1NjpcdHJldHVybiBISU5JQ19SU1NfS0VZX1NJWkU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNTctfVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTE1OT1zdGF0aWMgdTMyIGhpbmljX2dldF9yeGZoX2luZGlyX3NpemUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE2MC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNjE6XHRyZXR1cm4gSElOSUNfUlNTX0lORElSX1NJWkU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNjItfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTYzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTY0OiNkZWZpbmUgSElOSUNfRlVOQ19TVEFUKF9zdGF0X2l0ZW0pIHtcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNjUtXHQubmFtZSA9ICNfc3RhdF9pdGVtLCBcXFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTE3MD1zdGF0aWMgc3RydWN0IGhpbmljX3N0YXRzIGhpbmljX2Z1bmN0aW9uX3N0YXRzW10gPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzE6XHRISU5JQ19GVU5DX1NUQVQodHhfdW5pY2FzdF9wa3RzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3MjpcdEhJTklDX0ZVTkNfU1RBVCh0eF91bmljYXN0X2J5dGVzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3MzpcdEhJTklDX0ZVTkNfU1RBVCh0eF9tdWx0aWNhc3RfcGt0c192cG9ydCksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzQ6XHRISU5JQ19GVU5DX1NUQVQodHhfbXVsdGljYXN0X2J5dGVzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3NTpcdEhJTklDX0ZVTkNfU1RBVCh0eF9icm9hZGNhc3RfcGt0c192cG9ydCksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzY6XHRISU5JQ19GVU5DX1NUQVQodHhfYnJvYWRjYXN0X2J5dGVzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE3Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3ODpcdEhJTklDX0ZVTkNfU1RBVChyeF91bmljYXN0X3BrdHNfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTc5Olx0SElOSUNfRlVOQ19TVEFUKHJ4X3VuaWNhc3RfYnl0ZXNfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTgwOlx0SElOSUNfRlVOQ19TVEFUKHJ4X211bHRpY2FzdF9wa3RzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE4MTpcdEhJTklDX0ZVTkNfU1RBVChyeF9tdWx0aWNhc3RfYnl0ZXNfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTgyOlx0SElOSUNfRlVOQ19TVEFUKHJ4X2Jyb2FkY2FzdF9wa3RzX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE4MzpcdEhJTklDX0ZVTkNfU1RBVChyeF9icm9hZGNhc3RfYnl0ZXNfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTg0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTg1Olx0SElOSUNfRlVOQ19TVEFUKHR4X2Rpc2NhcmRfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTg2Olx0SElOSUNfRlVOQ19TVEFUKHJ4X2Rpc2NhcmRfdnBvcnQpLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTg3Olx0SElOSUNfRlVOQ19TVEFUKHR4X2Vycl92cG9ydCksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExODg6XHRISU5JQ19GVU5DX1NUQVQocnhfZXJyX3Zwb3J0KSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE4OS19O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTE5MT1zdGF0aWMgY2hhciBoaW5pY190ZXN0X3N0cmluZ3NbXVtFVEhfR1NUUklOR19MRU5dID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE5NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE5NjojZGVmaW5lIEhJTklDX1BPUlRfU1RBVChfc3RhdF9pdGVtKSB7IFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExOTctXHQubmFtZSA9ICNfc3RhdF9pdGVtLCBcXFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTIwMj1zdGF0aWMgc3RydWN0IGhpbmljX3N0YXRzIGhpbmljX3BvcnRfc3RhdHNbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwMzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdG90YWxfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMDQ6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3RvdGFsX29jdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjA1Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9iYWRfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMDY6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X2JhZF9vY3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwNzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfZ29vZF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwODpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfZ29vZF9vY3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwOTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdW5pX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjEwOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9tdWx0aV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxMTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfYnJvYWRfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTI6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3RvdGFsX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjEzOlx0SElOSUNfUE9SVF9TVEFUKG1hY190eF90b3RhbF9vY3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxNDpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfYmFkX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjE1Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9iYWRfb2N0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTY6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X2dvb2RfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTc6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X2dvb2Rfb2N0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTg6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3VuaV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxOTpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfbXVsdGlfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjA6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X2Jyb2FkX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjIxOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9mcmFnbWVudF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyMjpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdW5kZXJzaXplX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjIzOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF91bmRlcm1pbl9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyNDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfNjRfb2N0X3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI1Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF82NV8xMjdfb2N0X3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI2Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF8xMjhfMjU1X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyNzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMjU2XzUxMV9vY3RfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjg6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4XzUxMl8xMDIzX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyOTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTAyNF8xNTE4X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzMDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTUxOV8yMDQ3X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzMTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMjA0OF80MDk1X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzMjpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfNDA5Nl84MTkxX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzMzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfODE5Ml85MjE2X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzNDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfOTIxN18xMjI4N19vY3RfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMzU6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4XzEyMjg4XzE2MzgzX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzNjpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTUxOV9tYXhfZ29vZF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzNzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTUxOV9tYXhfYmFkX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjM4Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9vdmVyc2l6ZV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzOTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfamFiYmVyX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQwOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9wYXVzZV9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQxOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9wZmNfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNDI6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkwX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQzOlx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9wZmNfcHJpMV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfcGZjX3ByaTJfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNDU6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkzX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQ2Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9wZmNfcHJpNF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfcGZjX3ByaTVfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNDg6XHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmk2X3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQ5Olx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9wZmNfcHJpN19wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfY29udHJvbF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MTpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfc3ltX2Vycl9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MjpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfZmNzX2Vycl9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MzpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfc2VuZF9hcHBfZ29vZF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1NDpcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfc2VuZF9hcHBfYmFkX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjU1Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9mcmFnbWVudF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1NjpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfdW5kZXJzaXplX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjU3Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF91bmRlcm1pbl9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1ODpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfNjRfb2N0X3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjU5Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF82NV8xMjdfb2N0X3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjYwOlx0SElOSUNfUE9SVF9TVEFUKG1hY190eF8xMjhfMjU1X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2MTpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMjU2XzUxMV9vY3RfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjI6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzUxMl8xMDIzX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2MzpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMTAyNF8xNTE4X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2NDpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMTUxOV8yMDQ3X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2NTpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMjA0OF80MDk1X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2NjpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfNDA5Nl84MTkxX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2NzpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfODE5Ml85MjE2X29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2ODpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfOTIxN18xMjI4N19vY3RfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjk6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzEyMjg4XzE2MzgzX29jdF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3MDpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMTUxOV9tYXhfZ29vZF9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3MTpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMTUxOV9tYXhfYmFkX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjcyOlx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9vdmVyc2l6ZV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3MzpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfamFiYmVyX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc0Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9wYXVzZV9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc1Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9wZmNfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzY6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3BmY19wcmkwX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc3Olx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9wZmNfcHJpMV9wa3RfbnVtKSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3ODpcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTJfcGt0X251bSksXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzk6XHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3BmY19wcmkzX3BrdF9udW0pLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjgwOlx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9wZmNfcHJpNF9wa3RfbnVtKSxcblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIyIDIyOjIzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIwMjAxCgkJCQkJCQlvdXRwdXQ6IDg5CgkJCQkJCQl0aG91Z2h0czogMjM3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIEh1YXdlaSBJbnRlbGxpZ2VudCBQQ0lFIE5JQyBEcml2ZXIqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgUENJRSBOZXR3b3JrIEludGVyZmFjZSBDYXJkLiBTdHJhaWdodCBhd2F5LCBJIHNlZSBpdCYjMzk7cyBkZWFsaW5nIHdpdGggcGh5c2ljYWwgaGFyZHdhcmUuIFRoYXQmIzM5O3MgbXkgZmlyc3QgY2x1ZS4gTGV0IG1lIHF1aWNrbHkgY29uc2lkZXIgaWYgYW55IHNvZnR3YXJlIGVtdWxhdGlvbiBleGlzdHMgZm9yIHRoaXMgTklDLiBObywgaXQgZG9lc24mIzM5O3Qgc2VlbSBsaWtlIHRoZXJlIGlzLiBBbHJpZ2h0LCB0aGVuIG15IG5leHQgdGhvdWdodCBpcyBhYm91dCB2aXJ0dWFsaXphdGlvbi4gSXMgaXQgYWNjZXNzaWJsZSBpbiBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVT8gQWdhaW4sIHRoZSBhbnN3ZXIgaXMgbm8sIG5vdCBkaXJlY3RseTsgaXQgd291bGQgcmVxdWlyZSBwYXNzLXRocm91Z2gsIHdoaWNoIGlzIGhhcmRseSBpZGVhbC4KClNvLCByZWFsaXN0aWNhbGx5LCB0aGlzIGRyaXZlciYjMzk7cyBjb2RlIHBhdGhzIGFyZSB1bnJlYWNoYWJsZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMuIFRoaXMgbWVhbnMgaXQmIzM5O3MgcHJldHR5IG11Y2ggYSB3cml0ZS1vZmYgaW4gdGVybXMgb2YgZnV6emluZyBhcHBsaWNhYmlsaXR5IGJlY2F1c2UgaXQgZmFsbHMgaW50byBhIGNhdGVnb3J5IHRoYXQgbXkgY3JpdGVyaWEgZXhjbHVkZXMuCgpXYWl0LCBub3cgdGhhdCBJIGxvb2sgYXQgdGhlIHByb21wdCBtb3JlIGNsb3NlbHksIGl0IHRlbGxzIG1lIHRvIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYCBpZiB0aGUgcGF0Y2ggaGFzIG1vZGlmaWNhdGlvbnMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aXRoIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlLiBUaGlzIGRyaXZlciwgYmVpbmcgYSBwaHlzaWNhbCBQQ0kgZGV2aWNlIGRyaXZlciB3aXRoIG5vIHNvZnR3YXJlIGVtdWxhdGlvbiwgZmFsbHMgc3F1YXJlbHkgaW50byB0aGF0IGNhdGVnb3J5LgoKVGhlcmVmb3JlLCBJJiMzOTttIGNvbmZpZGVudCBpbiByZXR1cm5pbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuIEl0JiMzOTtzIGEgd2FzdGUgb2YgcmVzb3VyY2VzIHRvIGZ1enogY29kZSB0aGF0IGNhbiYjMzk7dCBiZSBleGVjdXRlZCBpbiB0aGUgdGFyZ2V0IGZ1enppbmcgZW52aXJvbm1lbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjIgMjI6MjM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgSHVhd2VpIEludGVsbGlnZW50IE5JQyAoSElOSUMpIGRyaXZlciwgd2hpY2ggaXMgYSBwaHlzaWNhbCBQQ0kgZGV2aWNlIGRyaXZlci4gVGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0aW9uIGZvciB0aGlzIGRldmljZSBpbiBRRU1VIG9yIHRoZSBMaW51eCBrZXJuZWwsIG1ha2luZyB0aGVzZSBjb2RlIHBhdGhzIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgSHVhd2VpIEludGVsbGlnZW50IE5JQyAoSElOSUMpIGRyaXZlciwgd2hpY2ggaXMgYSBwaHlzaWNhbCBQQ0kgZGV2aWNlIGRyaXZlci4gVGhlcmUgaXMgbm8gc29mdHdhcmUgZW11bGF0aW9uIGZvciB0aGlzIGRldmljZSBpbiBRRU1VIG9yIHRoZSBMaW51eCBrZXJuZWwsIG1ha2luZyB0aGVzZSBjb2RlIHBhdGhzIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMjJUMjI6MjM6MjkuNTQxMzY4OTI5WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTI5MDU0NTg4ODUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIyVDIyOjIzOjI5LjU0MTM3NjU5OVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Nzc3NTc3MzEzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgODY1NDIxZDRkYzA0YTUzMjhiYjAxM2Y1MmU1MmI1NzM2Njk2OTc0OFxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIEp1bCAyMiAyMjoyMzoyNyAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmhcXG5pbmRleCA1MmVhOTdjODE4YjhlYy4uZDlhYjk0OTEwYTJhNzkgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oXFxuQEAgLTEwNCw4ICsxMDQsNiBAQCBzdHJ1Y3QgaGluaWNfZGV2IHtcXG4gXFx0dTE2XFx0XFx0XFx0XFx0bnVtX3JzcztcXG4gXFx0dTE2XFx0XFx0XFx0XFx0cnNzX2xpbWl0O1xcbiBcXHRzdHJ1Y3QgaGluaWNfcnNzX3R5cGVcXHRcXHRyc3NfdHlwZTtcXG4tXFx0dThcXHRcXHRcXHRcXHQqcnNzX2hrZXlfdXNlcjtcXG4tXFx0czMyXFx0XFx0XFx0XFx0KnJzc19pbmRpcl91c2VyO1xcbiBcXHRzdHJ1Y3QgaGluaWNfaW50cl9jb2FsX2luZm9cXHQqcnhfaW50cl9jb2FsZXNjZTtcXG4gXFx0c3RydWN0IGhpbmljX2ludHJfY29hbF9pbmZvXFx0KnR4X2ludHJfY29hbGVzY2U7XFxuIFxcdHN0cnVjdCBoaW5pY19zcmlvdl9pbmZvIHNyaW92X2luZm87XFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jXFxuaW5kZXggYThiMTI5Y2UxYjdlOWYuLmY3NWU4NTYzZjIzYWVlIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmNcXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jXFxuQEAgLTEwNjQsMTcgKzEwNjQsNiBAQCBzdGF0aWMgaW50IF9fc2V0X3Jzc19yeGZoKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsXFxuIFxcdGludCBlcnI7XFxuIFxcbiBcXHRpZiAoaW5kaXIpIHtcXG4tXFx0XFx0aWYgKCFuaWNfZGV2LVxcdTAwM2Vyc3NfaW5kaXJfdXNlcikge1xcbi1cXHRcXHRcXHRuaWNfZGV2LVxcdTAwM2Vyc3NfaW5kaXJfdXNlciA9XFxuLVxcdFxcdFxcdFxcdGt6YWxsb2Moc2l6ZW9mKHUzMikgKiBISU5JQ19SU1NfSU5ESVJfU0laRSxcXG4tXFx0XFx0XFx0XFx0XFx0R0ZQX0tFUk5FTCk7XFxuLVxcdFxcdFxcdGlmICghbmljX2Rldi1cXHUwMDNlcnNzX2luZGlyX3VzZXIpXFxuLVxcdFxcdFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbi1cXHRcXHR9XFxuLVxcbi1cXHRcXHRtZW1jcHkobmljX2Rldi1cXHUwMDNlcnNzX2luZGlyX3VzZXIsIGluZGlyLFxcbi1cXHRcXHQgICAgICAgc2l6ZW9mKHUzMikgKiBISU5JQ19SU1NfSU5ESVJfU0laRSk7XFxuLVxcbiBcXHRcXHRlcnIgPSBoaW5pY19yc3Nfc2V0X2luZGlyX3RibChuaWNfZGV2LFxcbiBcXHRcXHRcXHRcXHRcXHQgICAgICBuaWNfZGV2LVxcdTAwM2Vyc3NfdG1wbF9pZHgsIGluZGlyKTtcXG4gXFx0XFx0aWYgKGVycilcXG5AQCAtMTA4MiwxNiArMTA3MSw2IEBAIHN0YXRpYyBpbnQgX19zZXRfcnNzX3J4Zmgoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcXG4gXFx0fVxcbiBcXG4gXFx0aWYgKGtleSkge1xcbi1cXHRcXHRpZiAoIW5pY19kZXYtXFx1MDAzZXJzc19oa2V5X3VzZXIpIHtcXG4tXFx0XFx0XFx0bmljX2Rldi1cXHUwMDNlcnNzX2hrZXlfdXNlciA9XFxuLVxcdFxcdFxcdFxcdGt6YWxsb2MoSElOSUNfUlNTX0tFWV9TSVpFICogMiwgR0ZQX0tFUk5FTCk7XFxuLVxcbi1cXHRcXHRcXHRpZiAoIW5pY19kZXYtXFx1MDAzZXJzc19oa2V5X3VzZXIpXFxuLVxcdFxcdFxcdFxcdHJldHVybiAtRU5PTUVNO1xcbi1cXHRcXHR9XFxuLVxcbi1cXHRcXHRtZW1jcHkobmljX2Rldi1cXHUwMDNlcnNzX2hrZXlfdXNlciwga2V5LCBISU5JQ19SU1NfS0VZX1NJWkUpO1xcbi1cXG4gXFx0XFx0ZXJyID0gaGluaWNfcnNzX3NldF90ZW1wbGF0ZV90YmwobmljX2RldixcXG4gXFx0XFx0XFx0XFx0XFx0XFx0IG5pY19kZXYtXFx1MDAzZXJzc190bXBsX2lkeCwga2V5KTtcXG4gXFx0XFx0aWYgKGVycilcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjJUMjI6MjM6MzAuMzE5ODU3OTEyWiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6MTIxMjY5MzI3NTIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgODY1NDIxZDRkYzA0YTUzMjhiYjAxM2Y1MmU1MmI1NzM2Njk2OTc0OFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDIyIDIyOjIzOjI3IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oXG5pbmRleCA1MmVhOTdjODE4YjhlYy4uZDlhYjk0OTEwYTJhNzkgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmhcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaFxuQEAgLTEwNCw4ICsxMDQsNiBAQCBzdHJ1Y3QgaGluaWNfZGV2IHtcbiBcdHUxNlx0XHRcdFx0bnVtX3JzcztcbiBcdHUxNlx0XHRcdFx0cnNzX2xpbWl0O1xuIFx0c3RydWN0IGhpbmljX3Jzc190eXBlXHRcdHJzc190eXBlO1xuLVx0dThcdFx0XHRcdCpyc3NfaGtleV91c2VyO1xuLVx0czMyXHRcdFx0XHQqcnNzX2luZGlyX3VzZXI7XG4gXHRzdHJ1Y3QgaGluaWNfaW50cl9jb2FsX2luZm9cdCpyeF9pbnRyX2NvYWxlc2NlO1xuIFx0c3RydWN0IGhpbmljX2ludHJfY29hbF9pbmZvXHQqdHhfaW50cl9jb2FsZXNjZTtcbiBcdHN0cnVjdCBoaW5pY19zcmlvdl9pbmZvIHNyaW92X2luZm87XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmNcbmluZGV4IGE4YjEyOWNlMWI3ZTlmLi5mNzVlODU2M2YyM2FlZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmNcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmNcbkBAIC0xMDY0LDE3ICsxMDY0LDYgQEAgc3RhdGljIGludCBfX3NldF9yc3NfcnhmaChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxuIFx0aW50IGVycjtcbiBcbiBcdGlmIChpbmRpcikge1xuLVx0XHRpZiAoIW5pY19kZXYtXHUwMDNlcnNzX2luZGlyX3VzZXIpIHtcbi1cdFx0XHRuaWNfZGV2LVx1MDAzZXJzc19pbmRpcl91c2VyID1cbi1cdFx0XHRcdGt6YWxsb2Moc2l6ZW9mKHUzMikgKiBISU5JQ19SU1NfSU5ESVJfU0laRSxcbi1cdFx0XHRcdFx0R0ZQX0tFUk5FTCk7XG4tXHRcdFx0aWYgKCFuaWNfZGV2LVx1MDAzZXJzc19pbmRpcl91c2VyKVxuLVx0XHRcdFx0cmV0dXJuIC1FTk9NRU07XG4tXHRcdH1cbi1cbi1cdFx0bWVtY3B5KG5pY19kZXYtXHUwMDNlcnNzX2luZGlyX3VzZXIsIGluZGlyLFxuLVx0XHQgICAgICAgc2l6ZW9mKHUzMikgKiBISU5JQ19SU1NfSU5ESVJfU0laRSk7XG4tXG4gXHRcdGVyciA9IGhpbmljX3Jzc19zZXRfaW5kaXJfdGJsKG5pY19kZXYsXG4gXHRcdFx0XHRcdCAgICAgIG5pY19kZXYtXHUwMDNlcnNzX3RtcGxfaWR4LCBpbmRpcik7XG4gXHRcdGlmIChlcnIpXG5AQCAtMTA4MiwxNiArMTA3MSw2IEBAIHN0YXRpYyBpbnQgX19zZXRfcnNzX3J4Zmgoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcbiBcdH1cbiBcbiBcdGlmIChrZXkpIHtcbi1cdFx0aWYgKCFuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIpIHtcbi1cdFx0XHRuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIgPVxuLVx0XHRcdFx0a3phbGxvYyhISU5JQ19SU1NfS0VZX1NJWkUgKiAyLCBHRlBfS0VSTkVMKTtcbi1cbi1cdFx0XHRpZiAoIW5pY19kZXYtXHUwMDNlcnNzX2hrZXlfdXNlcilcbi1cdFx0XHRcdHJldHVybiAtRU5PTUVNO1xuLVx0XHR9XG4tXG4tXHRcdG1lbWNweShuaWNfZGV2LVx1MDAzZXJzc19oa2V5X3VzZXIsIGtleSwgSElOSUNfUlNTX0tFWV9TSVpFKTtcbi1cbiBcdFx0ZXJyID0gaGluaWNfcnNzX3NldF90ZW1wbGF0ZV90YmwobmljX2RldixcbiBcdFx0XHRcdFx0XHQgbmljX2Rldi1cdTAwM2Vyc3NfdG1wbF9pZHgsIGtleSk7XG4gXHRcdGlmIChlcnIpXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMlQyMjoyMzozMC4zMTk4NjAzODJaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2NTMwODg5NjcyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIEhJTklDIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgYGhpbmljX2V0aHRvb2wuY2AgYW5kIGBoaW5pY19kZXYuaGAgd2l0aGluIHRoZSBIdWF3ZWkgSElOSUMgZHJpdmVyLiBSaWdodCBvZmYgdGhlIGJhdCwgSSBzZWUgaXQncyByZW1vdmluZyBgcnNzX2hrZXlfdXNlcmAgYW5kIGByc3NfaW5kaXJfdXNlcmAgZnJvbSB0aGUgYGhpbmljX2RldmAgc3RydWN0LCBhbmQgdGhlIHJlbGF0ZWQgYWxsb2NhdGlvbi9wb3B1bGF0aW9uIGNvZGUgaW4gYF9fc2V0X3Jzc19yeGZoYC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcIkNhbiB0aGlzIGJlIGV4cGxvaXRlZCB2aXJ0dWFsbHk/XCIgSXQncyBhIFBDSSBkZXZpY2UgZHJpdmVyLCB3aGljaCB1c3VhbGx5IHBvaW50cyB0b3dhcmRzIHBoeXNpY2FsIGhhcmR3YXJlLiBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGlzIGRyaXZlciBpcyBldmVuIHJlYWNoYWJsZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LlxuXG5HaXZlbiBpdCdzIGEgUENJIGRyaXZlciwgZnV6emluZyBpcyB1c3VhbGx5IGEgY2hhbGxlbmdlIHdpdGhvdXQgZW11bGF0aW9uIG9yIGdlbmVyaWMgc3Vic3lzdGVtIGhvb2tzLiBCdXQgaXMgdGhlcmUgZW11bGF0aW9uIGZvciBISU5JQz8gUHJvYmFibHkgbm90LiBXYWl0LCBkaWRuJ3Qgc3l6a2FsbGVyIHN0YXJ0IHN1cHBvcnRpbmcgUENJIGZ1enppbmc/IFllcywgdGhlcmUgYXJlIG1lY2hhbmlzbXMgbGlrZSB2UENJLiBUaGUgcHJvbXB0IGlzIHNwZWNpZmljYWxseSBjYWxsaW5nIG91dCAqaW1wb3NzaWJpbGl0eSogb2YgcmVhY2hpbmcgY29kZSBwYXRocyBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aXRoIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlLiBJcyBISU5JQyBlbXVsYXRlZCBpbiBRRU1VPyBOby4gU28gaXQncyBwcm9iYWJseSB1bnJlYWNoYWJsZSBpbiBhIHR5cGljYWwgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuIFN5emthbGxlciBzdXBwb3J0cyBQQ0kgZnV6emluZywgYnV0IHVzdWFsbHksIHdlIHRyZWF0IHBoeXNpY2FsIGRldmljZSBkcml2ZXJzIGFzIHVucmVhY2hhYmxlIHVubGVzcyB0aGVyZSBpcyBhIFVTQiBkcml2ZXIgb3IgYSBzcGVjaWZpYyBlbXVsYXRvciBpcyBpbnZvbHZlZC5cblxuTGV0IG1lIGp1c3QgZG91YmxlLWNoZWNrLCB5ZXMsIGl0J3MgdGhlIEh1YXdlaSBJbnRlbGxpZ2VudCBOSUMuIE9rYXksIHNvIGl0J3MgYSBwaHlzaWNhbCBkZXZpY2UuIExldCBtZSBwZXJmb3JtIGEgcXVpY2sga2VybmVsIHNlYXJjaCB0byBtYWtlIGNlcnRhaW4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI1MzcsIk91dHB1dFRva2VucyI6MzYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNTYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMlQyMjoyMzozNi44NTA3NTMwNTRaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjU2NjYyNDgxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIkhJTklDXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA1OTk1IGxpbmVzLlxcblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cXG5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvS2NvbmZpZy01LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9LY29uZmlnOjY6Y29uZmlnIEhJTklDXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL0tjb25maWctNy1cXHR0cmlzdGF0ZSBcXFwiSHVhd2VpIEludGVsbGlnZW50IFBDSUUgTmV0d29yayBJbnRlcmZhY2UgQ2FyZFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9NYWtlZmlsZS0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9NYWtlZmlsZToyOm9iai0kKENPTkZJR19ISU5JQykgKz0gaGluaWMub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9NYWtlZmlsZS0zLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2NvbW1vbi5oLTYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2NvbW1vbi5oOjc6I2lmbmRlZiBISU5JQ19DT01NT05fSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19jb21tb24uaDo4OiNkZWZpbmUgSElOSUNfQ09NTU9OX0hcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfY29tbW9uLmgtOS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9ODM9c3RhdGljIGludCBoaW5pY19kYmdfZ2V0X2Z1bmNfdGFibGUoc3RydWN0IGhpbmljX2RldiAqbmljX2RldiwgaW50IGlkeClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtOTYtXFx0cmVhZF9kYXRhLVxcdTAwM2VpbnN0ID0gVEJMX0lEX0ZVTkNfQ0ZHX1NNX0lOU1Q7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzo5NzpcXHRyZWFkX2RhdGEtXFx1MDAzZWVudHJ5X3NpemUgPSBISU5JQ19GVU5DVElPTl9DT05GSUdVUkVfVEFCTEVfU0laRTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjk4OlxcdHJlYWRfZGF0YS1cXHUwMDNlbHRfaW5kZXggPSBISU5JQ19IV0lGX0ZVTkNfSURYKG5pY19kZXYtXFx1MDAzZWh3ZGV2LVxcdTAwM2Vod2lmKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjk5OlxcdHJlYWRfZGF0YS1cXHUwMDNlbGVuID0gSElOSUNfRlVOQ1RJT05fQ09ORklHVVJFX1RBQkxFX1NJWkU7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xMDAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoxMDE6XFx0ZXJyID0gaGluaWNfcG9ydF9tc2dfY21kKG5pY19kZXYtXFx1MDAzZWh3ZGV2LCBISU5JQ19QT1JUX0NNRF9SRF9MSU5FX1RCTCwgcmVhZF9kYXRhLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMTAyLVxcdFxcdFxcdFxcdCBzaXplb2YoKnJlYWRfZGF0YSksIHJlYWRfZGF0YSwgXFx1MDAyNm91dF9zaXplKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MTM2PXN0YXRpYyBzc2l6ZV90IGhpbmljX2RiZ19jbWRfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90IGNvdW50LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xNDgtXFx0c3dpdGNoIChkYmctXFx1MDAzZXR5cGUpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjE0OTpcXHRjYXNlIEhJTklDX0RCR19TUV9JTkZPOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMTUwLVxcdFxcdG91dCA9IGhpbmljX2RiZ19nZXRfc3FfaW5mbyhkYmctXFx1MDAzZWRldiwgZGJnLVxcdTAwM2VvYmplY3QsICpkZXNjKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMTUyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MTUzOlxcdGNhc2UgSElOSUNfREJHX1JRX0lORk86XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xNTQtXFx0XFx0b3V0ID0gaGluaWNfZGJnX2dldF9ycV9pbmZvKGRiZy1cXHUwMDNlZGV2LCBkYmctXFx1MDAzZW9iamVjdCwgKmRlc2MpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0xNTYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoxNTc6XFx0Y2FzZSBISU5JQ19EQkdfRlVOQ19UQUJMRTpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTE1OC1cXHRcXHRvdXQgPSBoaW5pY19kYmdfZ2V0X2Z1bmNfdGFibGUoZGJnLVxcdTAwM2VkZXYsICpkZXNjKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjA0PXN0YXRpYyB2b2lkIHJlbV9kYmdfZmlsZXMoc3RydWN0IGhpbmljX2RlYnVnX3ByaXYgKmRiZylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTIwNS17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoyMDY6XFx0aWYgKGRiZy1cXHUwMDNldHlwZSAhPSBISU5JQ19EQkdfRlVOQ19UQUJMRSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTIwNy1cXHRcXHRkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUoZGJnLVxcdTAwM2Vyb290KTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjEyPWludCBoaW5pY19zcV9kZWJ1Z19hZGQoc3RydWN0IGhpbmljX2RldiAqZGV2LCB1MTYgc3FfaWQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTIyMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjIyNDpcXHRyZXR1cm4gY3JlYXRlX2RiZ19maWxlcyhkZXYsIEhJTklDX0RCR19TUV9JTkZPLCBzcSwgcm9vdCwgXFx1MDAyNnNxLVxcdTAwM2VkYmcsIHNxX2ZpZWxkcyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTIyNS1cXHRcXHRcXHRcXHRBUlJBWV9TSVpFKHNxX2ZpZWxkcykpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYz0yMzQ9aW50IGhpbmljX3JxX2RlYnVnX2FkZChzdHJ1Y3QgaGluaWNfZGV2ICpkZXYsIHUxNiBycV9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjQ1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MjQ2OlxcdHJldHVybiBjcmVhdGVfZGJnX2ZpbGVzKGRldiwgSElOSUNfREJHX1JRX0lORk8sIHJxLCByb290LCBcXHUwMDI2cnEtXFx1MDAzZWRiZywgcnFfZmllbGRzLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjQ3LVxcdFxcdFxcdFxcdEFSUkFZX1NJWkUocnFfZmllbGRzKSk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jPTI1Nj1pbnQgaGluaWNfZnVuY190YWJsZV9kZWJ1Z19hZGQoc3RydWN0IGhpbmljX2RldiAqZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjU3LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI1ODpcXHRpZiAoSElOSUNfSVNfVkYoZGV2LVxcdTAwM2Vod2Rldi1cXHUwMDNlaHdpZikpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNTktXFx0XFx0cmV0dXJuIDA7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNjAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYzoyNjE6XFx0cmV0dXJuIGNyZWF0ZV9kYmdfZmlsZXMoZGV2LCBISU5JQ19EQkdfRlVOQ19UQUJMRSwgZGV2LCBkZXYtXFx1MDAzZWZ1bmNfdGJsX2RiZ2ZzLCBcXHUwMDI2ZGV2LVxcdTAwM2VkYmcsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yNjItXFx0XFx0XFx0XFx0ZnVuY190YWJsZV9maWVsZHMsIEFSUkFZX1NJWkUoZnVuY190YWJsZV9maWVsZHMpKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM9MjY1PXZvaWQgaGluaWNfZnVuY190YWJsZV9kZWJ1Z19yZW0oc3RydWN0IGhpbmljX2RldiAqZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjY2LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI2NzpcXHRpZiAoIUhJTklDX0lTX1ZGKGRldi1cXHUwMDNlaHdkZXYtXFx1MDAzZWh3aWYpIFxcdTAwMjZcXHUwMDI2IGRldi1cXHUwMDNlZGJnKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjY4LVxcdFxcdHJlbV9kYmdfZmlsZXMoZGV2LVxcdTAwM2VkYmcpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYz0yOTE9dm9pZCBoaW5pY19mdW5jX3RibF9kYmdmc19pbml0KHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuYy0yOTIte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmM6MjkzOlxcdGlmICghSElOSUNfSVNfVkYobmljX2Rldi1cXHUwMDNlaHdkZXYtXFx1MDAzZWh3aWYpKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjk0LVxcdFxcdG5pY19kZXYtXFx1MDAzZWZ1bmNfdGJsX2RiZ2ZzID0gZGVidWdmc19jcmVhdGVfZGlyKFxcXCJmdW5jX3RhYmxlXFxcIiwgbmljX2Rldi1cXHUwMDNlZGJnZnNfcm9vdCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jPTI5Nz12b2lkIGhpbmljX2Z1bmNfdGJsX2RiZ2ZzX3VuaW5pdChzdHJ1Y3QgaGluaWNfZGV2ICpuaWNfZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmMtMjk4LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jOjI5OTpcXHRpZiAoIUhJTklDX0lTX1ZGKG5pY19kZXYtXFx1MDAzZWh3ZGV2LVxcdTAwM2Vod2lmKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGVidWdmcy5jLTMwMC1cXHRcXHRkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUobmljX2Rldi1cXHUwMDNlZnVuY190YmxfZGJnZnMpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaC01LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmg6NjojaWZuZGVmIEhJTklDX0RFQlVHRlNfSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmg6NzojZGVmaW5lIEhJTklDX0RFQlVHRlNfSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmgtOC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZWJ1Z2ZzLmgtMTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaDoxNDojZGVmaW5lIEhJTklDX0ZVTkNUSU9OX0NPTkZJR1VSRV9UQUJMRV9TSVpFICAgICAgICAgICAgIDY0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RlYnVnZnMuaC0xNS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaC02LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDo3OiNpZm5kZWYgSElOSUNfREVWX0hcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6ODojZGVmaW5lIEhJTklDX0RFVl9IXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTktXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmgtMjAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjIxOiNkZWZpbmUgSElOSUNfRFJWX05BTUUgICAgICAgICAgXFxcImhpbmljXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaC0yMi1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaC0yNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6MjU6I2RlZmluZSBISU5JQ19NQVhfSlVNQk9fRlJBTUVfU0laRSAgICAgIDE1ODcyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjI2OiNkZWZpbmUgSElOSUNfTUFYX01UVV9TSVpFICAgICAgKEhJTklDX01BWF9KVU1CT19GUkFNRV9TSVpFIC0gRVRIX0hMRU4gLSBFVEhfRkNTX0xFTilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6Mjc6I2RlZmluZSBISU5JQ19NSU5fTVRVX1NJWkUgICAgICAyNTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2LmgtMjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oPTI5PWVudW0gaGluaWNfZmxhZ3Mge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDozMDpcXHRISU5JQ19MSU5LX1VQID0gQklUKDApLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDozMTpcXHRISU5JQ19JTlRGX1VQID0gQklUKDEpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDozMjpcXHRISU5JQ19SU1NfRU5BQkxFID0gQklUKDIpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDozMzpcXHRISU5JQ19MSU5LX0RPV04gPSBCSVQoMyksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjM0OlxcdEhJTklDX0xQX1RFU1QgPSBCSVQoNCksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTM1LX07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg9NTM9ZW51bSBoaW5pY19yc3NfaGFzaF90eXBlIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6NTQ6XFx0SElOSUNfUlNTX0hBU0hfRU5HSU5FX1RZUEVfWE9SLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDo1NTpcXHRISU5JQ19SU1NfSEFTSF9FTkdJTkVfVFlQRV9UT0VQLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDo1NjpcXHRISU5JQ19SU1NfSEFTSF9FTkdJTkVfVFlQRV9NQVgsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTU3LX07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg9NjU9ZW51bSBoaW5pY19kYmdfdHlwZSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oOjY2OlxcdEhJTklDX0RCR19TUV9JTkZPLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXYuaDo2NzpcXHRISU5JQ19EQkdfUlFfSU5GTyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2Lmg6Njg6XFx0SElOSUNfREJHX0ZVTkNfVEFCTEUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2Rldi5oLTY5LX07XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jPTIzPXN0YXRpYyBib29sIGNoZWNrX2ltYWdlX3ZhbGlkKHN0cnVjdCBoaW5pY19kZXZsaW5rX3ByaXYgKnByaXYsIGNvbnN0IHU4ICpidWYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jLTMxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmM6MzI6XFx0aWYgKGZ3X2ltYWdlLVxcdTAwM2Vmd19tYWdpYyAhPSBISU5JQ19NQUdJQ19OVU0pIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jLTMzLVxcdFxcdGRldl9lcnIoXFx1MDAyNnByaXYtXFx1MDAzZWh3ZGV2LVxcdTAwM2Vod2lmLVxcdTAwM2VwZGV2LVxcdTAwM2VkZXYsIFxcXCJXcm9uZyBmd19tYWdpYyByZWFkIGZyb20gZmlsZSwgZndfbWFnaWM6IDB4JXhcXFxcblxcXCIsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jPTEyMj1zdGF0aWMgaW50IGhpbmljX2ZsYXNoX2Z3KHN0cnVjdCBoaW5pY19kZXZsaW5rX3ByaXYgKnByaXYsIGNvbnN0IHU4ICpkYXRhLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0yMTctXFx0XFx0XFx0ZXJyID0gaGluaWNfcG9ydF9tc2dfY21kKHByaXYtXFx1MDAzZWh3ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmM6MjE4OlxcdFxcdFxcdFxcdFxcdFxcdCBISU5JQ19QT1JUX0NNRF9VUERBVEVfRlcsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0yMTktXFx0XFx0XFx0XFx0XFx0XFx0IGZ3X3VwZGF0ZV9tc2csXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jPTI0Mj1zdGF0aWMgaW50IGhpbmljX2Zpcm13YXJlX3VwZGF0ZShzdHJ1Y3QgaGluaWNfZGV2bGlua19wcml2ICpwcml2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuYy0yNjEtXFx0aWYgKGVycikge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmM6MjYyOlxcdFxcdGlmIChlcnIgPT0gSElOSUNfRldfRElTTUFUQ0hfRVJST1IpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5jLTI2My1cXHRcXHRcXHRkZXZfZXJyKFxcdTAwMjZwcml2LVxcdTAwM2Vod2Rldi1cXHUwMDNlaHdpZi1cXHUwMDNlcGRldi1cXHUwMDNlZGV2LCBcXFwiRmlybXdhcmUgaW1hZ2UgZG9lc24ndCBtYXRjaCB0aGlzIGNhcmQsIHBsZWFzZSB1c2UgbmV3ZXIgaW1hZ2UsIGVycjogJWRcXFxcblxcXCIsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaDo2OiNpZm5kZWYgX19ISU5JQ19ERVZMSU5LX0hfX1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmg6NzojZGVmaW5lIF9fSElOSUNfREVWTElOS19IX19cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTgtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTEyLSNkZWZpbmUgTUFYX0ZXX1RZUEVfTlVNIDMwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaDoxMzojZGVmaW5lIEhJTklDX01BR0lDX05VTSAweDE4MjIxMTAwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaC0xNC0jZGVmaW5lIFVQREFURUZXX0lNQUdFX0hFQURfU0laRSAxMDI0XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZGV2bGluay5oLTIxLSNkZWZpbmUgTUFYX0ZXX0ZSQUdNRU5UX0xFTiAxNTM2XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaDoyMjojZGVmaW5lIEhJTklDX0ZXX0RJU01BVENIX0VSUk9SIDEwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2RldmxpbmsuaC0yMy1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmg9MTE3PXZvaWQgaGluaWNfaGVhbHRoX3JlcG9ydGVyc19kZXN0cm95KHN0cnVjdCBoaW5pY19kZXZsaW5rX3ByaXYgKnByaXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmgtMTE4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19kZXZsaW5rLmg6MTE5OiNlbmRpZiAvKiBfX0hJTklDX0RFVkxJTktfSF9fICovXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTgyPXN0YXRpYyBzdHJ1Y3QgaHcyZXRodG9vbF9saW5rX21vZGVcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjgzOlxcdGh3X3RvX2V0aHRvb2xfbGlua19tb2RlX3RhYmxlW0hJTklDX0xJTktfTU9ERV9OVU1CRVJTXSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTg0LVxcdHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtODYtXFx0XFx0LnNwZWVkID0gU1BFRURfMTAwMDAsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo4NzpcXHRcXHQuaHdfbGlua19tb2RlID0gSElOSUNfMTBHRV9CQVNFX0tSLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtODgtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtOTEtXFx0XFx0LnNwZWVkID0gU1BFRURfNDAwMDAsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo5MjpcXHRcXHQuaHdfbGlua19tb2RlID0gSElOSUNfNDBHRV9CQVNFX0tSNCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTkzLVxcdH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTk2LVxcdFxcdC5zcGVlZCA9IFNQRUVEXzQwMDAwLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6OTc6XFx0XFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzQwR0VfQkFTRV9DUjQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy05OC1cXHR9LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDEtXFx0XFx0LnNwZWVkID0gU1BFRURfMTAwMDAwLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTAyOlxcdFxcdC5od19saW5rX21vZGUgPSBISU5JQ18xMDBHRV9CQVNFX0tSNCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEwMy1cXHR9LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDYtXFx0XFx0LnNwZWVkID0gU1BFRURfMTAwMDAwLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTA3OlxcdFxcdC5od19saW5rX21vZGUgPSBISU5JQ18xMDBHRV9CQVNFX0NSNCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTEwOC1cXHR9LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTEtXFx0XFx0LnNwZWVkID0gU1BFRURfMjUwMDAsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTI6XFx0XFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDXzI1R0VfQkFTRV9LUl9TLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTEzLVxcdH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNi1cXHRcXHQuc3BlZWQgPSBTUEVFRF8yNTAwMCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzpcXHRcXHQuaHdfbGlua19tb2RlID0gSElOSUNfMjVHRV9CQVNFX0NSX1MsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTgtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTIxLVxcdFxcdC5zcGVlZCA9IFNQRUVEXzI1MDAwLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyOlxcdFxcdC5od19saW5rX21vZGUgPSBISU5JQ18yNUdFX0JBU0VfS1IsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMjMtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTI2LVxcdFxcdC5zcGVlZCA9IFNQRUVEXzI1MDAwLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3OlxcdFxcdC5od19saW5rX21vZGUgPSBISU5JQ18yNUdFX0JBU0VfQ1IsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMjgtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTMxLVxcdFxcdC5zcGVlZCA9IFNQRUVEXzEwMDAsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMzI6XFx0XFx0Lmh3X2xpbmtfbW9kZSA9IEhJTklDX0dFX0JBU0VfS1gsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMzMtXFx0fSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTQ2PXN0YXRpYyB2b2lkIHNldF9saW5rX3NwZWVkKHN0cnVjdCBldGh0b29sX2xpbmtfa3NldHRpbmdzICpsaW5rX2tzZXR0aW5ncyxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTQ5LVxcdHN3aXRjaCAoc3BlZWQpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE1MDpcXHRjYXNlIEhJTklDX1NQRUVEXzEwTUJfTElOSzpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE1MS1cXHRcXHRsaW5rX2tzZXR0aW5ncy1cXHUwMDNlYmFzZS5zcGVlZCA9IFNQRUVEXzEwO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxNTQ6XFx0Y2FzZSBISU5JQ19TUEVFRF8xMDBNQl9MSU5LOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTU1LVxcdFxcdGxpbmtfa3NldHRpbmdzLVxcdTAwM2ViYXNlLnNwZWVkID0gU1BFRURfMTAwO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxNTg6XFx0Y2FzZSBISU5JQ19TUEVFRF8xMDAwTUJfTElOSzpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE1OS1cXHRcXHRsaW5rX2tzZXR0aW5ncy1cXHUwMDNlYmFzZS5zcGVlZCA9IFNQRUVEXzEwMDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE2MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE2MjpcXHRjYXNlIEhJTklDX1NQRUVEXzEwR0JfTElOSzpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE2My1cXHRcXHRsaW5rX2tzZXR0aW5ncy1cXHUwMDNlYmFzZS5zcGVlZCA9IFNQRUVEXzEwMDAwO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNjUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxNjY6XFx0Y2FzZSBISU5JQ19TUEVFRF8yNUdCX0xJTks6XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNjctXFx0XFx0bGlua19rc2V0dGluZ3MtXFx1MDAzZWJhc2Uuc3BlZWQgPSBTUEVFRF8yNTAwMDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTY5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTcwOlxcdGNhc2UgSElOSUNfU1BFRURfNDBHQl9MSU5LOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTcxLVxcdFxcdGxpbmtfa3NldHRpbmdzLVxcdTAwM2ViYXNlLnNwZWVkID0gU1BFRURfNDAwMDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE3My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjE3NDpcXHRjYXNlIEhJTklDX1NQRUVEXzEwMEdCX0xJTks6XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xNzUtXFx0XFx0bGlua19rc2V0dGluZ3MtXFx1MDAzZWJhc2Uuc3BlZWQgPSBTUEVFRF8xMDAwMDA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTE4ND1zdGF0aWMgaW50IGhpbmljX2dldF9saW5rX21vZGVfaW5kZXgoZW51bSBoaW5pY19saW5rX21vZGUgbGlua19tb2RlKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xODctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxODg6XFx0Zm9yIChpID0gMDsgaSBcXHUwMDNjIEhJTklDX0xJTktfTU9ERV9OVU1CRVJTOyBpKyspIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTE4OS1cXHRcXHRpZiAobGlua19tb2RlID09IGh3X3RvX2V0aHRvb2xfbGlua19tb2RlX3RhYmxlW2ldLmh3X2xpbmtfbW9kZSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTk2PXN0YXRpYyB2b2lkIGhpbmljX2FkZF9ldGh0b29sX2xpbmtfbW9kZShzdHJ1Y3QgY21kX2xpbmtfc2V0dGluZ3MgKmxpbmtfc2V0dGluZ3MsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTIwMi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjIwMzpcXHRmb3IgKGxpbmtfbW9kZSA9IDA7IGxpbmtfbW9kZSBcXHUwMDNjIEhJTklDX0xJTktfTU9ERV9OVU1CRVJTOyBsaW5rX21vZGUrKykge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjA0LVxcdFxcdGlmIChod19saW5rX21vZGUgXFx1MDAyNiAoKHUzMikxIFxcdTAwM2NcXHUwMDNjIGxpbmtfbW9kZSkpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTIwNS1cXHRcXHRcXHRpZHggPSBoaW5pY19nZXRfbGlua19tb2RlX2luZGV4KGxpbmtfbW9kZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyMDY6XFx0XFx0XFx0aWYgKGlkeCBcXHUwMDNlPSBISU5JQ19MSU5LX01PREVfTlVNQkVSUylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTIwNy1cXHRcXHRcXHRcXHRjb250aW51ZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MjE5PXN0YXRpYyB2b2lkIGhpbmljX2xpbmtfcG9ydF90eXBlKHN0cnVjdCBjbWRfbGlua19zZXR0aW5ncyAqbGlua19zZXR0aW5ncyxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjIyLVxcdHN3aXRjaCAocG9ydF90eXBlKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyMjM6XFx0Y2FzZSBISU5JQ19QT1JUX0VMRUM6XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyMjQ6XFx0Y2FzZSBISU5JQ19QT1JUX1RQOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjI1LVxcdFxcdEVUSFRPT0xfQUREX1NVUFBPUlRFRF9MSU5LX01PREUobGlua19zZXR0aW5ncywgVFApO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMjktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyMzA6XFx0Y2FzZSBISU5JQ19QT1JUX0FPQzpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjIzMTpcXHRjYXNlIEhJTklDX1BPUlRfRklCUkU6XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yMzItXFx0XFx0RVRIVE9PTF9BRERfU1VQUE9SVEVEX0xJTktfTU9ERShsaW5rX3NldHRpbmdzLCBGSUJSRSk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTIzNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjIzNzpcXHRjYXNlIEhJTklDX1BPUlRfQ09QUEVSOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjM4LVxcdFxcdEVUSFRPT0xfQUREX1NVUFBPUlRFRF9MSU5LX01PREUobGlua19zZXR0aW5ncywgRklCUkUpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yNDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyNDM6XFx0Y2FzZSBISU5JQ19QT1JUX0JBQ0tQTEFORTpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI0NC1cXHRcXHRFVEhUT09MX0FERF9TVVBQT1JURURfTElOS19NT0RFKGxpbmtfc2V0dGluZ3MsIEJhY2twbGFuZSk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTI1NT1zdGF0aWMgaW50IGhpbmljX2dldF9saW5rX2tzZXR0aW5ncyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yODQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoyODU6XFx0aWYgKGxpbmtfc3RhdGUgPT0gSElOSUNfTElOS19TVEFURV9VUCkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjg2LVxcdFxcdHNldF9saW5rX3NwZWVkKGxpbmtfa3NldHRpbmdzLCBwb3J0X2NhcC5zcGVlZCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yODctXFx0XFx0bGlua19rc2V0dGluZ3MtXFx1MDAzZWJhc2UuZHVwbGV4ID1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjI4ODpcXHRcXHRcXHQocG9ydF9jYXAuZHVwbGV4ID09IEhJTklDX0RVUExFWF9GVUxMKSA/XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0yODktXFx0XFx0XFx0RFVQTEVYX0ZVTEwgOiBEVVBMRVhfSEFMRjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMjkxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MjkyOlxcdGlmICghIShwb3J0X2NhcC5hdXRvbmVnX2NhcCBcXHUwMDI2IEhJTklDX0FVVE9ORUdfU1VQUE9SVEVEKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI5My1cXHRcXHRldGh0b29sX2xpbmtfa3NldHRpbmdzX2FkZF9saW5rX21vZGUobGlua19rc2V0dGluZ3MsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI5NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjI5NjpcXHRpZiAocG9ydF9jYXAuYXV0b25lZ19zdGF0ZSA9PSBISU5JQ19BVVRPTkVHX0FDVElWRSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI5Ny1cXHRcXHRsaW5rX2tzZXR0aW5ncy1cXHUwMDNlYmFzZS5hdXRvbmVnID0gQVVUT05FR19FTkFCTEU7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTI5OS1cXHRlcnIgPSBoaW5pY19nZXRfbGlua19tb2RlKG5pY19kZXYtXFx1MDAzZWh3ZGV2LCBcXHUwMDI2bGlua19tb2RlKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjMwMDpcXHRpZiAoZXJyIHx8IGxpbmtfbW9kZS5zdXBwb3J0ZWQgPT0gSElOSUNfU1VQUE9SVEVEX1VOS05PV04gfHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjMwMTpcXHQgICAgbGlua19tb2RlLmFkdmVydGlzZWQgPT0gSElOSUNfU1VQUE9SVEVEX1VOS05PV04pXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0zMDItXFx0XFx0cmV0dXJuIC1FSU87XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTMwOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjMwOTpcXHRpZiAoIUhJTklDX0lTX1ZGKG5pY19kZXYtXFx1MDAzZWh3ZGV2LVxcdTAwM2Vod2lmKSkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzEwLVxcdFxcdGVyciA9IGhpbmljX2dldF9od19wYXVzZV9pbmZvKG5pY19kZXYtXFx1MDAzZWh3ZGV2LCBcXHUwMDI2cGF1c2VfaW5mbyk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTM0ND1zdGF0aWMgYm9vbCBoaW5pY19pc19zdXBwb3J0X3NwZWVkKGVudW0gaGluaWNfbGlua19tb2RlIHN1cHBvcnRlZF9saW5rLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0zNDktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozNTA6XFx0Zm9yIChsaW5rX21vZGUgPSAwOyBsaW5rX21vZGUgXFx1MDAzYyBISU5JQ19MSU5LX01PREVfTlVNQkVSUzsgbGlua19tb2RlKyspIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTM1MS1cXHRcXHRpZiAoIShzdXBwb3J0ZWRfbGluayBcXHUwMDI2ICgodTMyKTEgXFx1MDAzY1xcdTAwM2MgbGlua19tb2RlKSkpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTM1NC1cXHRcXHRpZHggPSBoaW5pY19nZXRfbGlua19tb2RlX2luZGV4KGxpbmtfbW9kZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozNTU6XFx0XFx0aWYgKGlkeCBcXHUwMDNlPSBISU5JQ19MSU5LX01PREVfTlVNQkVSUylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTM1Ni1cXHRcXHRcXHRjb250aW51ZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MzY1PXN0YXRpYyBib29sIGhpbmljX2lzX3NwZWVkX2xlZ2FsKHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYsIHUzMiBzcGVlZClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzc1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6Mzc2OlxcdGlmIChsaW5rX21vZGUuc3VwcG9ydGVkID09IEhJTklDX1NVUFBPUlRFRF9VTktOT1dOIHx8XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzozNzc6XFx0ICAgIGxpbmtfbW9kZS5hZHZlcnRpc2VkID09IEhJTklDX1NVUFBPUlRFRF9VTktOT1dOKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMzc4LVxcdFxcdHJldHVybiBmYWxzZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9NDU3PXN0YXRpYyBpbnQgaGluaWNfc2V0X3NldHRpbmdzX3RvX2h3KHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTQ4MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjQ4MTpcXHRzZXR0aW5ncy5mdW5jX2lkID0gSElOSUNfSFdJRl9GVU5DX0lEWChuaWNfZGV2LVxcdTAwM2Vod2Rldi1cXHUwMDNlaHdpZik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy00ODItXFx0c2V0dGluZ3MudmFsaWRfYml0bWFwID0gc2V0X3NldHRpbmdzO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy00ODYtXFx0ZXJyID0gaGluaWNfc2V0X2xpbmtfc2V0dGluZ3MobmljX2Rldi1cXHUwMDNlaHdkZXYsIFxcdTAwMjZzZXR0aW5ncyk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo0ODc6XFx0aWYgKGVyciAhPSBISU5JQ19NR01UX0NNRF9VTlNVUFBPUlRFRCkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNDg4LVxcdFxcdGlmIChlcnIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTUyOT1zdGF0aWMgdm9pZCBoaW5pY19nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy01MzItXFx0c3RydWN0IGhpbmljX2RldiAqbmljX2RldiA9IG5ldGRldl9wcml2KG5ldGRldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo1MzM6XFx0dTggbWdtdF92ZXJbSElOSUNfTUdNVF9WRVJTSU9OX01BWF9MRU5dID0gezB9O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTM0LVxcdHN0cnVjdCBoaW5pY19od2RldiAqaHdkZXYgPSBuaWNfZGV2LVxcdTAwM2Vod2RldjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTM3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTM4OlxcdHN0cnNjcHkoaW5mby1cXHUwMDNlZHJpdmVyLCBISU5JQ19EUlZfTkFNRSwgc2l6ZW9mKGluZm8tXFx1MDAzZWRyaXZlcikpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTM5LVxcdHN0cnNjcHkoaW5mby1cXHUwMDNlYnVzX2luZm8sIHBjaV9uYW1lKGh3aWYtXFx1MDAzZXBkZXYpLCBzaXplb2YoaW5mby1cXHUwMDNlYnVzX2luZm8pKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9NTQ4PXN0YXRpYyB2b2lkIGhpbmljX2dldF9yaW5ncGFyYW0oc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTU0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTU1OlxcdHJpbmctXFx1MDAzZXJ4X21heF9wZW5kaW5nID0gSElOSUNfTUFYX1FVRVVFX0RFUFRIO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTU2OlxcdHJpbmctXFx1MDAzZXR4X21heF9wZW5kaW5nID0gSElOSUNfTUFYX1FVRVVFX0RFUFRIO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTU3LVxcdHJpbmctXFx1MDAzZXJ4X3BlbmRpbmcgPSBuaWNfZGV2LVxcdTAwM2VycV9kZXB0aDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9NTYxPXN0YXRpYyBpbnQgY2hlY2tfcmluZ3BhcmFtX3ZhbGlkKHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTU2OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjU3MDpcXHRpZiAocmluZy1cXHUwMDNldHhfcGVuZGluZyBcXHUwMDNlIEhJTklDX01BWF9RVUVVRV9ERVBUSCB8fFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6NTcxOlxcdCAgICByaW5nLVxcdTAwM2V0eF9wZW5kaW5nIFxcdTAwM2MgSElOSUNfTUlOX1FVRVVFX0RFUFRIIHx8XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo1NzI6XFx0ICAgIHJpbmctXFx1MDAzZXJ4X3BlbmRpbmcgXFx1MDAzZSBISU5JQ19NQVhfUVVFVUVfREVQVEggfHxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjU3MzpcXHQgICAgcmluZy1cXHUwMDNlcnhfcGVuZGluZyBcXHUwMDNjIEhJTklDX01JTl9RVUVVRV9ERVBUSCkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNTc0LVxcdFxcdG5ldGlmX2VycihuaWNfZGV2LCBkcnYsIG5pY19kZXYtXFx1MDAzZW5ldGRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTU3NS1cXHRcXHRcXHQgIFxcXCJRdWV1ZSBkZXB0aCBvdXQgb2YgcmFuZ2UgWyVkLSVkXVxcXFxuXFxcIixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjU3NjpcXHRcXHRcXHQgIEhJTklDX01JTl9RVUVVRV9ERVBUSCwgSElOSUNfTUFYX1FVRVVFX0RFUFRIKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTU3Ny1cXHRcXHRyZXR1cm4gLUVJTlZBTDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9Njc3PXN0YXRpYyBpbnQgc2V0X3F1ZXVlX2NvYWxlc2NlKHN0cnVjdCBoaW5pY19kZXYgKm5pY19kZXYsIHUxNiBxX2lkLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy02OTUtXFx0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo2OTY6XFx0aWYgKCEobmljX2Rldi1cXHUwMDNlZmxhZ3MgXFx1MDAyNiBISU5JQ19JTlRGX1VQKSB8fFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtNjk3LVxcdCAgICBxX2lkIFxcdTAwM2U9IG5pY19kZXYtXFx1MDAzZW51bV9xcHMpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTkyMj1zdGF0aWMgaW50IGhpbmljX2dldF9yeGZoX2ZpZWxkcyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy05MzAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzo5MzE6XFx0aWYgKCEobmljX2Rldi1cXHUwMDNlZmxhZ3MgXFx1MDAyNiBISU5JQ19SU1NfRU5BQkxFKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTkzMi1cXHRcXHRyZXR1cm4gMDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM9MTAwND1zdGF0aWMgaW50IGhpbmljX3NldF9yeGZoX2ZpZWxkcyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDEzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTAxNDpcXHRpZiAoIShuaWNfZGV2LVxcdTAwM2VmbGFncyBcXHUwMDI2IEhJTklDX1JTU19FTkFCTEUpKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTAxNS1cXHRcXHRyZXR1cm4gLUVPUE5PVFNVUFA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTEwOTA9c3RhdGljIGludCBoaW5pY19nZXRfcnhmaChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMDk2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTA5NzpcXHRpZiAoIShuaWNfZGV2LVxcdTAwM2VmbGFncyBcXHUwMDI2IEhJTklDX1JTU19FTkFCTEUpKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTA5OC1cXHRcXHRyZXR1cm4gLUVPUE5PVFNVUFA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTExMjQ9c3RhdGljIGludCBoaW5pY19zZXRfcnhmaChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTMwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTEzMTpcXHRpZiAoIShuaWNfZGV2LVxcdTAwM2VmbGFncyBcXHUwMDI2IEhJTklDX1JTU19FTkFCTEUpKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTEzMi1cXHRcXHRyZXR1cm4gLUVPUE5PVFNVUFA7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExMzktXFx0XFx0bmljX2Rldi1cXHUwMDNlcnNzX2hhc2hfZW5naW5lID0gKHJ4ZmgtXFx1MDAzZWhmdW5jID09IEVUSF9SU1NfSEFTSF9YT1IpID9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNDA6XFx0XFx0XFx0SElOSUNfUlNTX0hBU0hfRU5HSU5FX1RZUEVfWE9SIDpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNDE6XFx0XFx0XFx0SElOSUNfUlNTX0hBU0hfRU5HSU5FX1RZUEVfVE9FUDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNDItXFx0XFx0ZXJyID0gaGluaWNfcnNzX3NldF9oYXNoX2VuZ2luZVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYz0xMTU0PXN0YXRpYyB1MzIgaGluaWNfZ2V0X3J4Zmhfa2V5X3NpemUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExNTUte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE1NjpcXHRyZXR1cm4gSElOSUNfUlNTX0tFWV9TSVpFO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE1Ny19XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTExNTk9c3RhdGljIHUzMiBoaW5pY19nZXRfcnhmaF9pbmRpcl9zaXplKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTYwLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNjE6XFx0cmV0dXJuIEhJTklDX1JTU19JTkRJUl9TSVpFO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE2Mi19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTYzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE2NDojZGVmaW5lIEhJTklDX0ZVTkNfU1RBVChfc3RhdF9pdGVtKSB7XFx0XFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE2NS1cXHQubmFtZSA9ICNfc3RhdF9pdGVtLCBcXFxcXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTExNzA9c3RhdGljIHN0cnVjdCBoaW5pY19zdGF0cyBoaW5pY19mdW5jdGlvbl9zdGF0c1tdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3MTpcXHRISU5JQ19GVU5DX1NUQVQodHhfdW5pY2FzdF9wa3RzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzI6XFx0SElOSUNfRlVOQ19TVEFUKHR4X3VuaWNhc3RfYnl0ZXNfdnBvcnQpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3MzpcXHRISU5JQ19GVU5DX1NUQVQodHhfbXVsdGljYXN0X3BrdHNfdnBvcnQpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3NDpcXHRISU5JQ19GVU5DX1NUQVQodHhfbXVsdGljYXN0X2J5dGVzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzU6XFx0SElOSUNfRlVOQ19TVEFUKHR4X2Jyb2FkY2FzdF9wa3RzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzY6XFx0SElOSUNfRlVOQ19TVEFUKHR4X2Jyb2FkY2FzdF9ieXRlc192cG9ydCksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTc3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE3ODpcXHRISU5JQ19GVU5DX1NUQVQocnhfdW5pY2FzdF9wa3RzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExNzk6XFx0SElOSUNfRlVOQ19TVEFUKHJ4X3VuaWNhc3RfYnl0ZXNfdnBvcnQpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE4MDpcXHRISU5JQ19GVU5DX1NUQVQocnhfbXVsdGljYXN0X3BrdHNfdnBvcnQpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE4MTpcXHRISU5JQ19GVU5DX1NUQVQocnhfbXVsdGljYXN0X2J5dGVzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExODI6XFx0SElOSUNfRlVOQ19TVEFUKHJ4X2Jyb2FkY2FzdF9wa3RzX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExODM6XFx0SElOSUNfRlVOQ19TVEFUKHJ4X2Jyb2FkY2FzdF9ieXRlc192cG9ydCksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYy0xMTg0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTE4NTpcXHRISU5JQ19GVU5DX1NUQVQodHhfZGlzY2FyZF92cG9ydCksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTg2OlxcdEhJTklDX0ZVTkNfU1RBVChyeF9kaXNjYXJkX3Zwb3J0KSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjExODc6XFx0SElOSUNfRlVOQ19TVEFUKHR4X2Vycl92cG9ydCksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTg4OlxcdEhJTklDX0ZVTkNfU1RBVChyeF9lcnJfdnBvcnQpLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE4OS19O1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYz0xMTkxPXN0YXRpYyBjaGFyIGhpbmljX3Rlc3Rfc3RyaW5nc1tdW0VUSF9HU1RSSU5HX0xFTl0gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jLTExOTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMTk2OiNkZWZpbmUgSElOSUNfUE9SVF9TVEFUKF9zdGF0X2l0ZW0pIHsgXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmMtMTE5Ny1cXHQubmFtZSA9ICNfc3RhdF9pdGVtLCBcXFxcXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jPTEyMDI9c3RhdGljIHN0cnVjdCBoaW5pY19zdGF0cyBoaW5pY19wb3J0X3N0YXRzW10gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjAzOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdG90YWxfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjA0OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdG90YWxfb2N0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjA1OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfYmFkX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwNjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X2JhZF9vY3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMDc6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9nb29kX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIwODpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X2dvb2Rfb2N0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjA5OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdW5pX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxMDpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X211bHRpX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxMTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X2Jyb2FkX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxMjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3RvdGFsX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxMzpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3RvdGFsX29jdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxNDpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X2JhZF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTU6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9iYWRfb2N0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjE2OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfZ29vZF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTc6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9nb29kX29jdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIxODpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3VuaV9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMTk6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9tdWx0aV9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjA6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9icm9hZF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjE6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9mcmFnbWVudF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMjI6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF91bmRlcnNpemVfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjIzOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfdW5kZXJtaW5fcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI0OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfNjRfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyNTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4XzY1XzEyN19vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI2OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTI4XzI1NV9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI3OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMjU2XzUxMV9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjI4OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfNTEyXzEwMjNfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIyOTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4XzEwMjRfMTUxOF9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjMwOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTUxOV8yMDQ3X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMzE6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF8yMDQ4XzQwOTVfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTIzMjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4XzQwOTZfODE5MV9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjMzOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfODE5Ml85MjE2X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMzQ6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF85MjE3XzEyMjg3X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMzU6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF8xMjI4OF8xNjM4M19vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjM2OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfMTUxOV9tYXhfZ29vZF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyMzc6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF8xNTE5X21heF9iYWRfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjM4OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfb3ZlcnNpemVfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjM5OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfamFiYmVyX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0MDpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BhdXNlX251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjQxOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfcGZjX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0MjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkwX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0MzpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkxX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NDpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkyX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmkzX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmk0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0NzpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmk1X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0ODpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmk2X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI0OTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3BmY19wcmk3X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MDpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X2NvbnRyb2xfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjUxOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfc3ltX2Vycl9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNTI6XFx0SElOSUNfUE9SVF9TVEFUKG1hY19yeF9mY3NfZXJyX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1MzpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3J4X3NlbmRfYXBwX2dvb2RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjU0OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfcnhfc2VuZF9hcHBfYmFkX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1NTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X2ZyYWdtZW50X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI1NjpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4X3VuZGVyc2l6ZV9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNTc6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF91bmRlcm1pbl9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNTg6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF82NF9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjU5OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfNjVfMTI3X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjA6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF8xMjhfMjU1X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjE6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF8yNTZfNTExX29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjI6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF81MTJfMTAyM19vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjYzOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfMTAyNF8xNTE4X29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjQ6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF8xNTE5XzIwNDdfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2NTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzIwNDhfNDA5NV9vY3RfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjY2OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfNDA5Nl84MTkxX29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNjc6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF84MTkyXzkyMTZfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2ODpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzkyMTdfMTIyODdfb2N0X3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI2OTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzEyMjg4XzE2MzgzX29jdF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzA6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF8xNTE5X21heF9nb29kX3BrdF9udW0pLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19ldGh0b29sLmM6MTI3MTpcXHRISU5JQ19QT1JUX1NUQVQobWFjX3R4XzE1MTlfbWF4X2JhZF9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzI6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9vdmVyc2l6ZV9wa3RfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzM6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9qYWJiZXJfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc0OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGF1c2VfbnVtKSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMvaGluaWNfZXRodG9vbC5jOjEyNzU6XFx0SElOSUNfUE9SVF9TVEFUKG1hY190eF9wZmNfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc2OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTBfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc3OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTFfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc4OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTJfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjc5OlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTNfcGt0X251bSksXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljL2hpbmljX2V0aHRvb2wuYzoxMjgwOlxcdEhJTklDX1BPUlRfU1RBVChtYWNfdHhfcGZjX3ByaTRfcGt0X251bSksXFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIyVDIyOjIzOjM3LjEwNzQyMjU3NVoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUzMzkzMjg2MTksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgSHVhd2VpIEludGVsbGlnZW50IFBDSUUgTklDIERyaXZlcioqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgUENJRSBOZXR3b3JrIEludGVyZmFjZSBDYXJkLiBTdHJhaWdodCBhd2F5LCBJIHNlZSBpdCdzIGRlYWxpbmcgd2l0aCBwaHlzaWNhbCBoYXJkd2FyZS4gVGhhdCdzIG15IGZpcnN0IGNsdWUuIExldCBtZSBxdWlja2x5IGNvbnNpZGVyIGlmIGFueSBzb2Z0d2FyZSBlbXVsYXRpb24gZXhpc3RzIGZvciB0aGlzIE5JQy4gTm8sIGl0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZXJlIGlzLiBBbHJpZ2h0LCB0aGVuIG15IG5leHQgdGhvdWdodCBpcyBhYm91dCB2aXJ0dWFsaXphdGlvbi4gSXMgaXQgYWNjZXNzaWJsZSBpbiBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVT8gQWdhaW4sIHRoZSBhbnN3ZXIgaXMgbm8sIG5vdCBkaXJlY3RseTsgaXQgd291bGQgcmVxdWlyZSBwYXNzLXRocm91Z2gsIHdoaWNoIGlzIGhhcmRseSBpZGVhbC5cblxuU28sIHJlYWxpc3RpY2FsbHksIHRoaXMgZHJpdmVyJ3MgY29kZSBwYXRocyBhcmUgdW5yZWFjaGFibGUgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLiBUaGlzIG1lYW5zIGl0J3MgcHJldHR5IG11Y2ggYSB3cml0ZS1vZmYgaW4gdGVybXMgb2YgZnV6emluZyBhcHBsaWNhYmlsaXR5IGJlY2F1c2UgaXQgZmFsbHMgaW50byBhIGNhdGVnb3J5IHRoYXQgbXkgY3JpdGVyaWEgZXhjbHVkZXMuXG5cbldhaXQsIG5vdyB0aGF0IEkgbG9vayBhdCB0aGUgcHJvbXB0IG1vcmUgY2xvc2VseSwgaXQgdGVsbHMgbWUgdG8gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlmIHRoZSBwYXRjaCBoYXMgbW9kaWZpY2F0aW9ucyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUuIFRoaXMgZHJpdmVyLCBiZWluZyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyIHdpdGggbm8gc29mdHdhcmUgZW11bGF0aW9uLCBmYWxscyBzcXVhcmVseSBpbnRvIHRoYXQgY2F0ZWdvcnkuXG5cblRoZXJlZm9yZSwgSSdtIGNvbmZpZGVudCBpbiByZXR1cm5pbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuIEl0J3MgYSB3YXN0ZSBvZiByZXNvdXJjZXMgdG8gZnV6eiBjb2RlIHRoYXQgY2FuJ3QgYmUgZXhlY3V0ZWQgaW4gdGhlIHRhcmdldCBmdXp6aW5nIGVudmlyb25tZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMDIwMSwiT3V0cHV0VG9rZW5zIjo4OSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIzNywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yMlQyMjoyMzo0Mi40NDY3NTM5NDRaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM0MTMwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDIChISU5JQykgZHJpdmVyLCB3aGljaCBpcyBhIHBoeXNpY2FsIFBDSSBkZXZpY2UgZHJpdmVyLiBUaGVyZSBpcyBubyBzb2Z0d2FyZSBlbXVsYXRpb24gZm9yIHRoaXMgZGV2aWNlIGluIFFFTVUgb3IgdGhlIExpbnV4IGtlcm5lbCwgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowvgk6w[1] Phase: Running StartedAt: 2026-07-22 22:23:54 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvgk6w[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-07-22 22:23:54 +0000 UTC FinishedAt: 2026-07-22 22:24:30 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}