Name: series-workflowsmnlm Phase: Failed StartedAt: 2026-08-29 08:35:05 +0000 UTC FinishedAt: 2026-08-29 08:40:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsmnlm[0] Phase: Succeeded StartedAt: 2026-08-29 08:35:05 +0000 UTC FinishedAt: 2026-08-29 08:40:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsmnlm[0].run-triage Phase: Succeeded StartedAt: 2026-08-29 08:35:05 +0000 UTC FinishedAt: 2026-08-29 08:40:00 +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+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdHJhZmZpYyBjb250cm9sIG9mZmxvYWQgaGFuZGxpbmcgKE1RUFJJTyBhbmQgVEFQUklPIHFkaXNjIGNvbmZpZ3VyYXRpb24gYW5kIGNsZWFudXApIGluIHRoZSBTVE1pY3JvZWxlY3Ryb25pY3MgLyBTeW5vcHN5cyBEZXNpZ25XYXJlIEV0aGVybmV0IE1BQyAoc3RtbWFjKSBkcml2ZXIgKHN0bW1hY190Yy5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgU3lub3BzeXMgRFdNQUMgaGFyZHdhcmUvU29DIElQIGNvcmVzIHRoYXQgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGlzIGNvZGUgdW5yZWFjaGFibGUgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgOTQ1YzA3ZDg1M2Q2ZDYxZDMyOGEwYTQyNzk2MDViNmJjN2JjZGY3YlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgQXVnIDI5IDA4OjM4OjQ5IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hYy5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmhcbmluZGV4IDc1ODJmY2E2Mzc0MTkuLjk1NzMxN2VjMTQ2MTMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaFxuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmhcbkBAIC0yNTgsNiAmIzQzOzI1OCwxMiBAQCBzdHJ1Y3Qgc3RtbWFjX21zaSB7XG4gXHRjaGFyIGludF9uYW1lX3R4X2lycVtNVExfTUFYX1RYX1FVRVVFU11bSUZOQU1TSVogJiM0MzsgMThdO1xuIH07XG4gXG4mIzQzO2VudW0gc3RtbWFjX3FkaXNjX3R5cGUge1xuJiM0MztcdFNUTU1BQ19RRElTQ19OT05FID0gMCxcbiYjNDM7XHRTVE1NQUNfUURJU0NfTVFQUklPLFxuJiM0MztcdFNUTU1BQ19RRElTQ19UQVBSSU8sXG4mIzQzO307XG4mIzQzO1xuIHN0cnVjdCBzdG1tYWNfcHJpdiB7XG4gXHQvKiBGcmVxdWVudGx5IHVzZWQgdmFsdWVzIGFyZSBrZXB0IGFkamFjZW50IGZvciBjYWNoZSBlZmZlY3QgKi9cbiBcdHUzMiB0eF9jb2FsX2ZyYW1lc1tNVExfTUFYX1RYX1FVRVVFU107XG5AQCAtMjk5LDYgJiM0MzszMDUsNyBAQCBzdHJ1Y3Qgc3RtbWFjX3ByaXYge1xuIFx0LyogUHJvdGVjdCBlc3QgcGFyYW1ldGVycyAqL1xuIFx0c3RydWN0IG11dGV4IGVzdF9sb2NrO1xuIFx0c3RydWN0IHN0bW1hY19lc3QgKmVzdDtcbiYjNDM7XHRlbnVtIHN0bW1hY19xZGlzY190eXBlIHFkaXNjX3R5cGU7XG4gXHRzdHJ1Y3QgZG1hX2ZlYXR1cmVzIGRtYV9jYXA7XG4gXHRzdHJ1Y3Qgc3RtbWFjX2NvdW50ZXJzIG1tYztcbiBcdGludCBod19jYXBfc3VwcG9ydDtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jXG5pbmRleCAxNGNhYmU3NmU1M2VjLi43ZmU1ODdiNDdkNTI0IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3RjLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jXG5AQCAtMTEwMyw2ICYjNDM7MTEwMyw4IEBAIHN0YXRpYyBpbnQgdGNfdGFwcmlvX2NvbmZpZ3VyZShzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsXG4gXHRpZiAocmV0KVxuIFx0XHRnb3RvIGRpc2FibGU7XG4gXG4mIzQzO1x0cHJpdi1cdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX1RBUFJJTztcbiYjNDM7XG4gXHRyZXR1cm4gMDtcbiBcbiBkaXNhYmxlOlxuQEAgLTExMjAsNyAmIzQzOzExMjIsMTEgQEAgc3RhdGljIGludCB0Y190YXByaW9fY29uZmlndXJlKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdixcbiBcdFx0bXV0ZXhfdW5sb2NrKFx1MDAyNnByaXYtXHUwMDNlZXN0X2xvY2spO1xuIFx0fVxuIFxuLVx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LVx1MDAzZWRldiwgZXh0YWNrLCAwKTtcbiYjNDM7XHRpZiAocHJpdi1cdTAwM2VxZGlzY190eXBlID09IFNUTU1BQ19RRElTQ19UQVBSSU8gXHUwMDI2XHUwMDI2XG4mIzQzO1x0ICAgIHFvcHQtXHUwMDNlY21kID09IFRBUFJJT19DTURfREVTVFJPWSkge1xuJiM0MztcdFx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LVx1MDAzZWRldiwgZXh0YWNrLCAwKTtcbiYjNDM7XHRcdHByaXYtXHUwMDNlcWRpc2NfdHlwZSA9IFNUTU1BQ19RRElTQ19OT05FO1xuJiM0MztcdH1cbiBcbiBcdHJldHVybiByZXQ7XG4gfVxuQEAgLTEyMzcsNTggJiM0MzsxMjQzLDEwMSBAQCBzdGF0aWMgaW50IHRjX3F1ZXJ5X2NhcHMoc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxuIFx0fVxuIH1cbiBcbiYjNDM7c3RhdGljIGludCBzdG1tYWNfc2V0X25kZXZfdGNzKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCB1OCBudGMsXG4mIzQzO1x0XHRcdCAgICAgICBzdHJ1Y3QgbmV0ZGV2X3RjX3R4cSAqdGNfdG9fdHhxKVxuJiM0Mzt7XG4mIzQzO1x0aW50IGksIGVycjtcbiYjNDM7XG4mIzQzO1x0bmV0ZGV2X3Jlc2V0X3RjKG5kZXYpO1xuJiM0MztcdGlmIChudGMgPT0gMSlcbiYjNDM7XHRcdHJldHVybiAwO1xuJiM0MztcbiYjNDM7XHRlcnIgPSBuZXRkZXZfc2V0X251bV90YyhuZGV2LCBudGMpO1xuJiM0MztcdGlmIChlcnIpXG4mIzQzO1x0XHRyZXR1cm4gZXJyO1xuJiM0MztcbiYjNDM7XHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBudGM7IGkmIzQzOyYjNDM7KSB7XG4mIzQzO1x0XHR1MTYgY291bnQsIG9mZnNldDtcbiYjNDM7XG4mIzQzO1x0XHRjb3VudCA9IHRjX3RvX3R4cVtpXS5jb3VudDtcbiYjNDM7XHRcdG9mZnNldCA9IHRjX3RvX3R4cVtpXS5vZmZzZXQ7XG4mIzQzO1x0XHRuZXRkZXZfc2V0X3RjX3F1ZXVlKG5kZXYsIGksIGNvdW50LCBvZmZzZXQpO1xuJiM0MztcdH1cbiYjNDM7XG4mIzQzO1x0cmV0dXJuIDA7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIHZvaWQgc3RtbWFjX3Jlc2V0X3RjX21xcHJpbyhzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbiBcdFx0XHRcdCAgIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaylcbiB7XG4gXHRzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihuZGV2KTtcbiBcbi1cdG5ldGRldl9yZXNldF90YyhuZGV2KTtcbi1cdG5ldGlmX3NldF9yZWFsX251bV90eF9xdWV1ZXMobmRldiwgcHJpdi1cdTAwM2VwbGF0LVx1MDAzZXR4X3F1ZXVlc190b191c2UpO1xuLVx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssIDApO1xuJiM0MztcdGlmIChwcml2LVx1MDAzZXFkaXNjX3R5cGUgIT0gU1RNTUFDX1FESVNDX1RBUFJJTylcbiYjNDM7XHRcdHN0bW1hY19mcGVfbWFwX3ByZWVtcHRpb25fY2xhc3MocHJpdiwgbmRldiwgZXh0YWNrLCAwKTtcbiYjNDM7XG4mIzQzO1x0aWYgKHByaXYtXHUwMDNlcWRpc2NfdHlwZSA9PSBTVE1NQUNfUURJU0NfTVFQUklPKSB7XG4mIzQzO1x0XHRuZXRkZXZfcmVzZXRfdGMobmRldik7XG4mIzQzO1x0XHRuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsXG4mIzQzO1x0XHRcdFx0XHQgICAgIHByaXYtXHUwMDNlcGxhdC1cdTAwM2V0eF9xdWV1ZXNfdG9fdXNlKTtcbiYjNDM7XHRcdHByaXYtXHUwMDNlcWRpc2NfdHlwZSA9IFNUTU1BQ19RRElTQ19OT05FO1xuJiM0MztcdH1cbiB9XG4gXG4gc3RhdGljIGludCB0Y19zZXR1cF9kd21hYzUxMF9tcXByaW8oc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxuIFx0XHRcdFx0ICAgIHN0cnVjdCB0Y19tcXByaW9fcW9wdF9vZmZsb2FkICptcXByaW8pXG4ge1xuJiM0MztcdHVuc2lnbmVkIGludCBuZGV2X251bV90eF9xdWV1ZXMsIG51bV90eF9xdWV1ZXMgPSAwO1xuJiM0MztcdHN0cnVjdCBuZXRkZXZfdGNfdHhxIG5kZXZfdGNfdG9fdHhxW1RDX01BWF9RVUVVRV07XG4mIzQzO1x0c3RydWN0IG5ldGRldl90Y190eHEgdGNfdG9fdHhxW1RDX01BWF9RVUVVRV0gPSB7fTtcbiBcdHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjayA9IG1xcHJpby1cdTAwM2VleHRhY2s7XG4gXHRzdHJ1Y3QgdGNfbXFwcmlvX3FvcHQgKnFvcHQgPSBcdTAwMjZtcXByaW8tXHUwMDNlcW9wdDtcbi1cdHUzMiBvZmZzZXQsIGNvdW50LCBudW1fc3RhY2tfdHhfcXVldWVzID0gMDtcbiBcdHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2ID0gcHJpdi1cdTAwM2VkZXY7XG4tXHR1MzIgbnVtX3RjID0gcW9wdC1cdTAwM2VudW1fdGM7XG4tXHRpbnQgZXJyO1xuJiM0MztcdGludCBpLCBlcnIsIG5kZXZfbnRjO1xuIFxuLVx0aWYgKCFudW1fdGMpIHtcbiYjNDM7XHRpZiAoIXFvcHQtXHUwMDNlbnVtX3RjKSB7XG4gXHRcdHN0bW1hY19yZXNldF90Y19tcXByaW8obmRldiwgZXh0YWNrKTtcbiBcdFx0cmV0dXJuIDA7XG4gXHR9XG4gXG4tXHRlcnIgPSBuZXRkZXZfc2V0X251bV90YyhuZGV2LCBudW1fdGMpO1xuLVx0aWYgKGVycilcbi1cdFx0cmV0dXJuIGVycjtcbi1cbi1cdGZvciAodTMyIHRjID0gMDsgdGMgXHUwMDNjIG51bV90YzsgdGMmIzQzOyYjNDM7KSB7XG4tXHRcdG9mZnNldCA9IHFvcHQtXHUwMDNlb2Zmc2V0W3RjXTtcbi1cdFx0Y291bnQgPSBxb3B0LVx1MDAzZWNvdW50W3RjXTtcbi1cdFx0bnVtX3N0YWNrX3R4X3F1ZXVlcyAmIzQzOz0gY291bnQ7XG4mIzQzO1x0aWYgKHFvcHQtXHUwMDNlbnVtX3RjIFx1MDAzZSBBUlJBWV9TSVpFKHRjX3RvX3R4cSkpXG4mIzQzO1x0XHRyZXR1cm4gLUVJTlZBTDtcbiBcbi1cdFx0ZXJyID0gbmV0ZGV2X3NldF90Y19xdWV1ZShuZGV2LCB0YywgY291bnQsIG9mZnNldCk7XG4tXHRcdGlmIChlcnIpXG4tXHRcdFx0Z290byBlcnJfcmVzZXRfdGM7XG4mIzQzO1x0Lyogc2F2ZSBjdXJyZW50IHRjIHZhbHVlcyBmb3IgcmVzZXQgKi9cbiYjNDM7XHRuZGV2X250YyA9IG5ldGRldl9nZXRfbnVtX3RjKG5kZXYpID8gOiAxO1xuJiM0MztcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUobmRldi1cdTAwM2V0Y190b190eHEpOyBpJiM0MzsmIzQzOylcbiYjNDM7XHRcdG5kZXZfdGNfdG9fdHhxW2ldLmNvbWJpbmVkID1cbiYjNDM7XHRcdFx0UkVBRF9PTkNFKG5kZXYtXHUwMDNldGNfdG9fdHhxW2ldLmNvbWJpbmVkKTtcbiYjNDM7XG4mIzQzO1x0Zm9yIChpID0gMDsgaSBcdTAwM2MgcW9wdC1cdTAwM2VudW1fdGM7IGkmIzQzOyYjNDM7KSB7XG4mIzQzO1x0XHR0Y190b190eHFbaV0gPSAoc3RydWN0IG5ldGRldl90Y190eHEpIHtcbiYjNDM7XHRcdFx0LmNvdW50ID0gcW9wdC1cdTAwM2Vjb3VudFtpXSxcbiYjNDM7XHRcdFx0Lm9mZnNldCA9IHFvcHQtXHUwMDNlb2Zmc2V0W2ldLFxuJiM0MztcdFx0fTtcbiYjNDM7XHRcdG51bV90eF9xdWV1ZXMgJiM0Mzs9IHFvcHQtXHUwMDNlY291bnRbaV07XG4gXHR9XG4gXG4tXHRlcnIgPSBuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIG51bV9zdGFja190eF9xdWV1ZXMpO1xuJiM0MztcdGVyciA9IHN0bW1hY19zZXRfbmRldl90Y3MobmRldiwgcW9wdC1cdTAwM2VudW1fdGMsIHRjX3RvX3R4cSk7XG4gXHRpZiAoZXJyKVxuLVx0XHRnb3RvIGVycl9yZXNldF90YztcbiYjNDM7XHRcdGdvdG8gZXJyb3JfcmVzZXRfdGM7XG4mIzQzO1xuJiM0MztcdG5kZXZfbnVtX3R4X3F1ZXVlcyA9IG5kZXYtXHUwMDNlcmVhbF9udW1fdHhfcXVldWVzO1xuJiM0MztcdGVyciA9IG5ldGlmX3NldF9yZWFsX251bV90eF9xdWV1ZXMobmRldiwgbnVtX3R4X3F1ZXVlcyk7XG4mIzQzO1x0aWYgKGVycilcbiYjNDM7XHRcdGdvdG8gZXJyb3JfcmVzZXRfdGM7XG4gXG4gXHRlcnIgPSBzdG1tYWNfZnBlX21hcF9wcmVlbXB0aW9uX2NsYXNzKHByaXYsIG5kZXYsIGV4dGFjayxcbiBcdFx0XHRcdFx0ICAgICAgbXFwcmlvLVx1MDAzZXByZWVtcHRpYmxlX3Rjcyk7XG4gXHRpZiAoZXJyKVxuLVx0XHRnb3RvIGVycl9yZXNldF90YztcbiYjNDM7XHRcdGdvdG8gZXJyb3JfcmVzZXRfbnVtX3R4X3F1ZXVlcztcbiYjNDM7XG4mIzQzO1x0cHJpdi1cdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX01RUFJJTztcbiBcbiBcdHJldHVybiAwO1xuIFxuLWVycl9yZXNldF90Yzpcbi1cdHN0bW1hY19yZXNldF90Y19tcXByaW8obmRldiwgZXh0YWNrKTtcbiYjNDM7ZXJyb3JfcmVzZXRfbnVtX3R4X3F1ZXVlczpcbiYjNDM7XHRuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIG5kZXZfbnVtX3R4X3F1ZXVlcyk7XG4mIzQzO2Vycm9yX3Jlc2V0X3RjOlxuJiM0MztcdHN0bW1hY19zZXRfbmRldl90Y3MobmRldiwgbmRldl9udGMsIG5kZXZfdGNfdG9fdHhxKTtcbiBcbiBcdHJldHVybiBlcnI7XG4gfVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM4PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmNvcmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRyYWZmaWMgY29udHJvbCBvZmZsb2FkIGhhbmRsaW5nIChNUVBSSU8gYW5kIFRBUFJJTyBxZGlzYyBjb25maWd1cmF0aW9uIGFuZCBjbGVhbnVwKSBpbiB0aGUgU1RNaWNyb2VsZWN0cm9uaWNzIC8gU3lub3BzeXMgRGVzaWduV2FyZSBFdGhlcm5ldCBNQUMgKHN0bW1hYykgZHJpdmVyIChzdG1tYWNfdGMuYykuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIFN5bm9wc3lzIERXTUFDIGhhcmR3YXJlL1NvQyBJUCBjb3JlcyB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhpcyBjb2RlIHVucmVhY2hhYmxlIGZvciBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLAogIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwKICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKQogIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucwogICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgQWxzbyBjaGVjayAmIzM0O2RlcGVuZHMgb24mIzM0OyBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3MKICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzCiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDk0NWMwN2Q4NTNkNmQ2MWQzMjhhMGE0Mjc5NjA1YjZiYzdiY2RmN2IKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgU2F0IEF1ZyAyOSAwODozODo0OSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hYy5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgKaW5kZXggNzU4MmZjYTYzNzQxOS4uOTU3MzE3ZWMxNDYxMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgKQEAgLTI1OCw2ICYjNDM7MjU4LDEyIEBAIHN0cnVjdCBzdG1tYWNfbXNpIHsKIAljaGFyIGludF9uYW1lX3R4X2lycVtNVExfTUFYX1RYX1FVRVVFU11bSUZOQU1TSVogJiM0MzsgMThdOwogfTsKIAomIzQzO2VudW0gc3RtbWFjX3FkaXNjX3R5cGUgewomIzQzOwlTVE1NQUNfUURJU0NfTk9ORSA9IDAsCiYjNDM7CVNUTU1BQ19RRElTQ19NUVBSSU8sCiYjNDM7CVNUTU1BQ19RRElTQ19UQVBSSU8sCiYjNDM7fTsKJiM0MzsKIHN0cnVjdCBzdG1tYWNfcHJpdiB7CiAJLyogRnJlcXVlbnRseSB1c2VkIHZhbHVlcyBhcmUga2VwdCBhZGphY2VudCBmb3IgY2FjaGUgZWZmZWN0ICovCiAJdTMyIHR4X2NvYWxfZnJhbWVzW01UTF9NQVhfVFhfUVVFVUVTXTsKQEAgLTI5OSw2ICYjNDM7MzA1LDcgQEAgc3RydWN0IHN0bW1hY19wcml2IHsKIAkvKiBQcm90ZWN0IGVzdCBwYXJhbWV0ZXJzICovCiAJc3RydWN0IG11dGV4IGVzdF9sb2NrOwogCXN0cnVjdCBzdG1tYWNfZXN0ICplc3Q7CiYjNDM7CWVudW0gc3RtbWFjX3FkaXNjX3R5cGUgcWRpc2NfdHlwZTsKIAlzdHJ1Y3QgZG1hX2ZlYXR1cmVzIGRtYV9jYXA7CiAJc3RydWN0IHN0bW1hY19jb3VudGVycyBtbWM7CiAJaW50IGh3X2NhcF9zdXBwb3J0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3RjLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYwppbmRleCAxNGNhYmU3NmU1M2VjLi43ZmU1ODdiNDdkNTI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYwpAQCAtMTEwMyw2ICYjNDM7MTEwMyw4IEBAIHN0YXRpYyBpbnQgdGNfdGFwcmlvX2NvbmZpZ3VyZShzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsCiAJaWYgKHJldCkKIAkJZ290byBkaXNhYmxlOwogCiYjNDM7CXByaXYtJmd0O3FkaXNjX3R5cGUgPSBTVE1NQUNfUURJU0NfVEFQUklPOwomIzQzOwogCXJldHVybiAwOwogCiBkaXNhYmxlOgpAQCAtMTEyMCw3ICYjNDM7MTEyMiwxMSBAQCBzdGF0aWMgaW50IHRjX3RhcHJpb19jb25maWd1cmUoc3RydWN0IHN0bW1hY19wcml2ICpwcml2LAogCQltdXRleF91bmxvY2soJmFtcDtwcml2LSZndDtlc3RfbG9jayk7CiAJfQogCi0Jc3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LSZndDtkZXYsIGV4dGFjaywgMCk7CiYjNDM7CWlmIChwcml2LSZndDtxZGlzY190eXBlID09IFNUTU1BQ19RRElTQ19UQVBSSU8gJmFtcDsmYW1wOwomIzQzOwkgICAgcW9wdC0mZ3Q7Y21kID09IFRBUFJJT19DTURfREVTVFJPWSkgewomIzQzOwkJc3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LSZndDtkZXYsIGV4dGFjaywgMCk7CiYjNDM7CQlwcml2LSZndDtxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX05PTkU7CiYjNDM7CX0KIAogCXJldHVybiByZXQ7CiB9CkBAIC0xMjM3LDU4ICYjNDM7MTI0MywxMDEgQEAgc3RhdGljIGludCB0Y19xdWVyeV9jYXBzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwKIAl9CiB9CiAKJiM0MztzdGF0aWMgaW50IHN0bW1hY19zZXRfbmRldl90Y3Moc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsIHU4IG50YywKJiM0MzsJCQkgICAgICAgc3RydWN0IG5ldGRldl90Y190eHEgKnRjX3RvX3R4cSkKJiM0Mzt7CiYjNDM7CWludCBpLCBlcnI7CiYjNDM7CiYjNDM7CW5ldGRldl9yZXNldF90YyhuZGV2KTsKJiM0MzsJaWYgKG50YyA9PSAxKQomIzQzOwkJcmV0dXJuIDA7CiYjNDM7CiYjNDM7CWVyciA9IG5ldGRldl9zZXRfbnVtX3RjKG5kZXYsIG50Yyk7CiYjNDM7CWlmIChlcnIpCiYjNDM7CQlyZXR1cm4gZXJyOwomIzQzOwomIzQzOwlmb3IgKGkgPSAwOyBpICZsdDsgbnRjOyBpJiM0MzsmIzQzOykgewomIzQzOwkJdTE2IGNvdW50LCBvZmZzZXQ7CiYjNDM7CiYjNDM7CQljb3VudCA9IHRjX3RvX3R4cVtpXS5jb3VudDsKJiM0MzsJCW9mZnNldCA9IHRjX3RvX3R4cVtpXS5vZmZzZXQ7CiYjNDM7CQluZXRkZXZfc2V0X3RjX3F1ZXVlKG5kZXYsIGksIGNvdW50LCBvZmZzZXQpOwomIzQzOwl9CiYjNDM7CiYjNDM7CXJldHVybiAwOwomIzQzO30KJiM0MzsKIHN0YXRpYyB2b2lkIHN0bW1hY19yZXNldF90Y19tcXByaW8oc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsCiAJCQkJICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQogewogCXN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KG5kZXYpOwogCi0JbmV0ZGV2X3Jlc2V0X3RjKG5kZXYpOwotCW5ldGlmX3NldF9yZWFsX251bV90eF9xdWV1ZXMobmRldiwgcHJpdi0mZ3Q7cGxhdC0mZ3Q7dHhfcXVldWVzX3RvX3VzZSk7Ci0Jc3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssIDApOwomIzQzOwlpZiAocHJpdi0mZ3Q7cWRpc2NfdHlwZSAhPSBTVE1NQUNfUURJU0NfVEFQUklPKQomIzQzOwkJc3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssIDApOwomIzQzOwomIzQzOwlpZiAocHJpdi0mZ3Q7cWRpc2NfdHlwZSA9PSBTVE1NQUNfUURJU0NfTVFQUklPKSB7CiYjNDM7CQluZXRkZXZfcmVzZXRfdGMobmRldik7CiYjNDM7CQluZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsCiYjNDM7CQkJCQkgICAgIHByaXYtJmd0O3BsYXQtJmd0O3R4X3F1ZXVlc190b191c2UpOwomIzQzOwkJcHJpdi0mZ3Q7cWRpc2NfdHlwZSA9IFNUTU1BQ19RRElTQ19OT05FOwomIzQzOwl9CiB9CiAKIHN0YXRpYyBpbnQgdGNfc2V0dXBfZHdtYWM1MTBfbXFwcmlvKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwKIAkJCQkgICAgc3RydWN0IHRjX21xcHJpb19xb3B0X29mZmxvYWQgKm1xcHJpbykKIHsKJiM0MzsJdW5zaWduZWQgaW50IG5kZXZfbnVtX3R4X3F1ZXVlcywgbnVtX3R4X3F1ZXVlcyA9IDA7CiYjNDM7CXN0cnVjdCBuZXRkZXZfdGNfdHhxIG5kZXZfdGNfdG9fdHhxW1RDX01BWF9RVUVVRV07CiYjNDM7CXN0cnVjdCBuZXRkZXZfdGNfdHhxIHRjX3RvX3R4cVtUQ19NQVhfUVVFVUVdID0ge307CiAJc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrID0gbXFwcmlvLSZndDtleHRhY2s7CiAJc3RydWN0IHRjX21xcHJpb19xb3B0ICpxb3B0ID0gJmFtcDttcXByaW8tJmd0O3FvcHQ7Ci0JdTMyIG9mZnNldCwgY291bnQsIG51bV9zdGFja190eF9xdWV1ZXMgPSAwOwogCXN0cnVjdCBuZXRfZGV2aWNlICpuZGV2ID0gcHJpdi0mZ3Q7ZGV2OwotCXUzMiBudW1fdGMgPSBxb3B0LSZndDtudW1fdGM7Ci0JaW50IGVycjsKJiM0MzsJaW50IGksIGVyciwgbmRldl9udGM7CiAKLQlpZiAoIW51bV90YykgewomIzQzOwlpZiAoIXFvcHQtJmd0O251bV90YykgewogCQlzdG1tYWNfcmVzZXRfdGNfbXFwcmlvKG5kZXYsIGV4dGFjayk7CiAJCXJldHVybiAwOwogCX0KIAotCWVyciA9IG5ldGRldl9zZXRfbnVtX3RjKG5kZXYsIG51bV90Yyk7Ci0JaWYgKGVycikKLQkJcmV0dXJuIGVycjsKLQotCWZvciAodTMyIHRjID0gMDsgdGMgJmx0OyBudW1fdGM7IHRjJiM0MzsmIzQzOykgewotCQlvZmZzZXQgPSBxb3B0LSZndDtvZmZzZXRbdGNdOwotCQljb3VudCA9IHFvcHQtJmd0O2NvdW50W3RjXTsKLQkJbnVtX3N0YWNrX3R4X3F1ZXVlcyAmIzQzOz0gY291bnQ7CiYjNDM7CWlmIChxb3B0LSZndDtudW1fdGMgJmd0OyBBUlJBWV9TSVpFKHRjX3RvX3R4cSkpCiYjNDM7CQlyZXR1cm4gLUVJTlZBTDsKIAotCQllcnIgPSBuZXRkZXZfc2V0X3RjX3F1ZXVlKG5kZXYsIHRjLCBjb3VudCwgb2Zmc2V0KTsKLQkJaWYgKGVycikKLQkJCWdvdG8gZXJyX3Jlc2V0X3RjOwomIzQzOwkvKiBzYXZlIGN1cnJlbnQgdGMgdmFsdWVzIGZvciByZXNldCAqLwomIzQzOwluZGV2X250YyA9IG5ldGRldl9nZXRfbnVtX3RjKG5kZXYpID8gOiAxOwomIzQzOwlmb3IgKGkgPSAwOyBpICZsdDsgQVJSQVlfU0laRShuZGV2LSZndDt0Y190b190eHEpOyBpJiM0MzsmIzQzOykKJiM0MzsJCW5kZXZfdGNfdG9fdHhxW2ldLmNvbWJpbmVkID0KJiM0MzsJCQlSRUFEX09OQ0UobmRldi0mZ3Q7dGNfdG9fdHhxW2ldLmNvbWJpbmVkKTsKJiM0MzsKJiM0MzsJZm9yIChpID0gMDsgaSAmbHQ7IHFvcHQtJmd0O251bV90YzsgaSYjNDM7JiM0MzspIHsKJiM0MzsJCXRjX3RvX3R4cVtpXSA9IChzdHJ1Y3QgbmV0ZGV2X3RjX3R4cSkgewomIzQzOwkJCS5jb3VudCA9IHFvcHQtJmd0O2NvdW50W2ldLAomIzQzOwkJCS5vZmZzZXQgPSBxb3B0LSZndDtvZmZzZXRbaV0sCiYjNDM7CQl9OwomIzQzOwkJbnVtX3R4X3F1ZXVlcyAmIzQzOz0gcW9wdC0mZ3Q7Y291bnRbaV07CiAJfQogCi0JZXJyID0gbmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LCBudW1fc3RhY2tfdHhfcXVldWVzKTsKJiM0MzsJZXJyID0gc3RtbWFjX3NldF9uZGV2X3RjcyhuZGV2LCBxb3B0LSZndDtudW1fdGMsIHRjX3RvX3R4cSk7CiAJaWYgKGVycikKLQkJZ290byBlcnJfcmVzZXRfdGM7CiYjNDM7CQlnb3RvIGVycm9yX3Jlc2V0X3RjOwomIzQzOwomIzQzOwluZGV2X251bV90eF9xdWV1ZXMgPSBuZGV2LSZndDtyZWFsX251bV90eF9xdWV1ZXM7CiYjNDM7CWVyciA9IG5ldGlmX3NldF9yZWFsX251bV90eF9xdWV1ZXMobmRldiwgbnVtX3R4X3F1ZXVlcyk7CiYjNDM7CWlmIChlcnIpCiYjNDM7CQlnb3RvIGVycm9yX3Jlc2V0X3RjOwogCiAJZXJyID0gc3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssCiAJCQkJCSAgICAgIG1xcHJpby0mZ3Q7cHJlZW1wdGlibGVfdGNzKTsKIAlpZiAoZXJyKQotCQlnb3RvIGVycl9yZXNldF90YzsKJiM0MzsJCWdvdG8gZXJyb3JfcmVzZXRfbnVtX3R4X3F1ZXVlczsKJiM0MzsKJiM0MzsJcHJpdi0mZ3Q7cWRpc2NfdHlwZSA9IFNUTU1BQ19RRElTQ19NUVBSSU87CiAKIAlyZXR1cm4gMDsKIAotZXJyX3Jlc2V0X3RjOgotCXN0bW1hY19yZXNldF90Y19tcXByaW8obmRldiwgZXh0YWNrKTsKJiM0MztlcnJvcl9yZXNldF9udW1fdHhfcXVldWVzOgomIzQzOwluZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIG5kZXZfbnVtX3R4X3F1ZXVlcyk7CiYjNDM7ZXJyb3JfcmVzZXRfdGM6CiYjNDM7CXN0bW1hY19zZXRfbmRldl90Y3MobmRldiwgbmRldl9udGMsIG5kZXZfdGNfdG9fdHhxKTsKIAogCXJldHVybiBlcnI7CiB9CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQzMTYKCQkJCQkJCW91dHB1dDogMjEKCQkJCQkJCXRob3VnaHRzOiAxNzgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBGZWFzaWJpbGl0eSBBc3Nlc3NtZW50KioKCk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uIE15IGluaXRpYWwgaW5zdGluY3QgaXMgdG8gZGV0ZXJtaW5lIGlmIHRoaXMgcGF0Y2ggd2FycmFudHMgZnV6emluZywgYW5kIGlmIHNvLCBob3cuIFRoZSBmaXJzdCBzdGVwIGlzIHRvIHF1aWNrbHkgaWRlbnRpZnkgdGhlIHNjb3BlIG9mIHRoZSBjaGFuZ2UuIEl0IGxvb2tzIGxpa2Ugd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBtb2RpZmljYXRpb25zIHRvIGBzdG1tYWMuaGAgYW5kIGBzdG1tYWNfdGMuY2AsIGJvdGggbG9jYXRlZCB3aXRoaW4gdGhlIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9gIGRpcmVjdG9yeS4gVGhhdCBwb2ludHMgdXMgZGlyZWN0bHkgdG8gdGhlIFNUTWljcm9lbGVjdHJvbmljcyBFdGhlcm5ldCBkcml2ZXIuCgpOb3cgdGhlIGNyaXRpY2FsIHF1ZXN0aW9uOiBjYW4gSSBldmVuIHJlYWNoIHRoaXMgY29kZSB3aXRoIG15IGZ1enppbmcgc2V0dXA/IElzIGBzdG1tYWNgIHNvbWV0aGluZyB0aGF0JiMzOTtzIG9ubHkgdGllZCB0byBzcGVjaWZpYyBwaHlzaWNhbCBoYXJkd2FyZSwgb3IgZG9lcyBpdCBoYXZlIHNvbWUgc29ydCBvZiB2aXJ0dWFsaXplZCBzdXBwb3J0PyBJIG5lZWQgdG8ga25vdyBpZiB0aGlzIGRyaXZlciBpcyBhY2Nlc3NpYmxlIHRocm91Z2ggc29tZXRoaW5nIGxpa2UgUUVNVSBvciBpbiBhIEdDRSBlbnZpcm9ubWVudCwgb3IgaWYgaXQgcmVxdWlyZXMgYSBzcGVjaWZpYyBoYXJkd2FyZSBwbGF0Zm9ybS4gU3BlY2lmaWNhbGx5LCBkb2VzIGl0IHVzZSBQQ0ksIG9yIGlzIGl0IGEgcGxhdGZvcm0gZHJpdmVyPyBJZiBpdCYjMzk7cyBhIHBsYXRmb3JtIGRyaXZlciwgZG9lcyBpdCBzcGVjaWZ5IHdoaWNoIFNvQ3Mgb3IgcGxhdGZvcm1zIGl0IGF0dGFjaGVzIHRvPyBVbmRlcnN0YW5kaW5nIHRoZSBhdHRhY2htZW50IG1lY2hhbmlzbSBhbmQgcGxhdGZvcm0gcmVxdWlyZW1lbnRzIGlzIGtleSB0byBmaWd1cmluZyBvdXQgdGhlIHNldHVwIGNvbXBsZXhpdHkgYW5kIGlmIGZ1enppbmcgaXMgcG9zc2libGUuIFNvLCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IGBzdG1tYWNgIGFjdHVhbGx5ICppcyogYW5kIG9uIHdoYXQgcGxhdGZvcm1zL2J1c2VzIGl0IGF0dGFjaGVzIHRvLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0NPTkZJR19TVE1NQUNfRVRIJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy5yc3Q9OTU9S2VybmVsIENvbmZpZ3VyYXRpb25cbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0LTk3LVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLnJzdDo5ODpUaGUga2VybmVsIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGlzIGBgQ09ORklHX1NUTU1BQ19FVEhgYDpcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy5yc3QtOTktIC0gYGBDT05GSUdfU1RNTUFDX1BMQVRGT1JNYGA6IGlzIHRvIGVuYWJsZSB0aGUgcGxhdGZvcm0gZHJpdmVyLlxuLS1cbmFyY2gvYXJjL2NvbmZpZ3MvYXhzMTAxX2RlZmNvbmZpZz00ND1DT05GSUdfTkVUREVWSUNFUz15XG4tLVxuYXJjaC9hcmMvY29uZmlncy9heHMxMDFfZGVmY29uZmlnLTUxLSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XG5hcmNoL2FyYy9jb25maWdzL2F4czEwMV9kZWZjb25maWc6NTI6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcmMvY29uZmlncy9heHMxMDFfZGVmY29uZmlnLTUzLSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcbi0tXG5hcmNoL2FyYy9jb25maWdzL2F4czEwM19kZWZjb25maWc9NDQ9Q09ORklHX05FVERFVklDRVM9eVxuLS1cbmFyY2gvYXJjL2NvbmZpZ3MvYXhzMTAzX2RlZmNvbmZpZy01MS0jIENPTkZJR19ORVRfVkVORE9SX1NFRVEgaXMgbm90IHNldFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfZGVmY29uZmlnOjUyOkNPTkZJR19TVE1NQUNfRVRIPXlcbmFyY2gvYXJjL2NvbmZpZ3MvYXhzMTAzX2RlZmNvbmZpZy01My0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XG4tLVxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZz00ND1DT05GSUdfTkVUREVWSUNFUz15XG4tLVxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZy01MS0jIENPTkZJR19ORVRfVkVORE9SX1NFRVEgaXMgbm90IHNldFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZzo1MjpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FyYy9jb25maWdzL2F4czEwM19zbXBfZGVmY29uZmlnLTUzLSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcbi0tXG5hcmNoL2FyYy9jb25maWdzL2hzZGtfZGVmY29uZmlnPTM3PUNPTkZJR19ORVRERVZJQ0VTPXlcbmFyY2gvYXJjL2NvbmZpZ3MvaHNka19kZWZjb25maWc6Mzg6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcmMvY29uZmlncy9oc2RrX2RlZmNvbmZpZy0zOS1DT05GSUdfTUlDUkVMX1BIWT15XG4tLVxuYXJjaC9hcmMvY29uZmlncy90YjEweF9kZWZjb25maWc9NDE9Q09ORklHX05FVERFVklDRVM9eVxuLS1cbmFyY2gvYXJjL2NvbmZpZ3MvdGIxMHhfZGVmY29uZmlnLTQ3LSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XG5hcmNoL2FyYy9jb25maWdzL3RiMTB4X2RlZmNvbmZpZzo0ODpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FyYy9jb25maWdzL3RiMTB4X2RlZmNvbmZpZy00OS0jIENPTkZJR19ORVRfVkVORE9SX1dJWk5FVCBpcyBub3Qgc2V0XG4tLVxuYXJjaC9hcmMvY29uZmlncy92ZGtfaHMzOF9kZWZjb25maWc9Mzk9Q09ORklHX05FVERFVklDRVM9eVxuLS1cbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfZGVmY29uZmlnLTQ2LSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X2RlZmNvbmZpZzo0NzpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X2RlZmNvbmZpZy00OC0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XG4tLVxuYXJjaC9hcmMvY29uZmlncy92ZGtfaHMzOF9zbXBfZGVmY29uZmlnPTQxPUNPTkZJR19ORVRERVZJQ0VTPXlcbi0tXG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X3NtcF9kZWZjb25maWctNDgtIyBDT05GSUdfTkVUX1ZFTkRPUl9TRUVRIGlzIG5vdCBzZXRcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfc21wX2RlZmNvbmZpZzo0OTpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X3NtcF9kZWZjb25maWctNTAtIyBDT05GSUdfTkVUX1ZFTkRPUl9WSUEgaXMgbm90IHNldFxuLS1cbmFyY2gvYXJtL2NvbmZpZ3MvbHBjMTh4eF9kZWZjb25maWc9NjE9Q09ORklHX05FVERFVklDRVM9eVxuLS1cbmFyY2gvYXJtL2NvbmZpZ3MvbHBjMTh4eF9kZWZjb25maWctNzYtIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcbmFyY2gvYXJtL2NvbmZpZ3MvbHBjMTh4eF9kZWZjb25maWc6Nzc6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcm0vY29uZmlncy9scGMxOHh4X2RlZmNvbmZpZy03OC0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XG4tLVxuYXJjaC9hcm0vY29uZmlncy9tdWx0aV92N19kZWZjb25maWc9Mjc2PUNPTkZJR19TTklfQVZFPXlcbmFyY2gvYXJtL2NvbmZpZ3MvbXVsdGlfdjdfZGVmY29uZmlnOjI3NzpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FybS9jb25maWdzL211bHRpX3Y3X2RlZmNvbmZpZy0yNzgtQ09ORklHX0RXTUFDX0RXQ19RT1NfRVRIPXlcbi0tXG5hcmNoL2FybS9jb25maWdzL3B4YV9kZWZjb25maWc9MTc3PUNPTkZJR19TTVNDOTExWD1tXG5hcmNoL2FybS9jb25maWdzL3B4YV9kZWZjb25maWc6MTc4OkNPTkZJR19TVE1NQUNfRVRIPW1cbmFyY2gvYXJtL2NvbmZpZ3MvcHhhX2RlZmNvbmZpZy0xNzktQ09ORklHX1BIWUxJQj15XG4tLVxuYXJjaC9hcm0vY29uZmlncy9zaG1vYmlsZV9kZWZjb25maWc9NTk9Q09ORklHX1NNU0M5MTFYPXlcbmFyY2gvYXJtL2NvbmZpZ3Mvc2htb2JpbGVfZGVmY29uZmlnOjYwOkNPTkZJR19TVE1NQUNfRVRIPXlcbmFyY2gvYXJtL2NvbmZpZ3Mvc2htb2JpbGVfZGVmY29uZmlnLTYxLSMgQ09ORklHX0RXTUFDX1JFTkVTQVNfR0JFVEggaXMgbm90IHNldFxuLS1cbmFyY2gvYXJtL2NvbmZpZ3Mvc29jZnBnYV9kZWZjb25maWc9NjY9Q09ORklHX0lYR0JFPW1cbmFyY2gvYXJtL2NvbmZpZ3Mvc29jZnBnYV9kZWZjb25maWc6Njc6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcm0vY29uZmlncy9zb2NmcGdhX2RlZmNvbmZpZy02OC1DT05GSUdfTUFSVkVMTF9QSFk9eVxuLS1cbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXIxM3h4X2RlZmNvbmZpZz00Mj1DT05GSUdfTkVUREVWSUNFUz15XG4tLVxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjEzeHhfZGVmY29uZmlnLTUwLSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XG5hcmNoL2FybS9jb25maWdzL3NwZWFyMTN4eF9kZWZjb25maWc6NTE6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjEzeHhfZGVmY29uZmlnLTUyLSMgQ09ORklHX1dMQU4gaXMgbm90IHNldFxuLS1cbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXIzeHhfZGVmY29uZmlnPTIzPUNPTkZJR19ORVRERVZJQ0VTPXlcbi0tXG5hcmNoL2FybS9jb25maWdzL3NwZWFyM3h4X2RlZmNvbmZpZy0zMS0jIENPTkZJR19ORVRfVkVORE9SX1NNU0MgaXMgbm90IHNldFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjN4eF9kZWZjb25maWc6MzI6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjN4eF9kZWZjb25maWctMzMtIyBDT05GSUdfV0xBTiBpcyBub3Qgc2V0XG4tLVxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjZ4eF9kZWZjb25maWc9MTk9Q09ORklHX05FVERFVklDRVM9eVxuLS1cbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXI2eHhfZGVmY29uZmlnLTI3LSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XG5hcmNoL2FybS9jb25maWdzL3NwZWFyNnh4X2RlZmNvbmZpZzoyODpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FybS9jb25maWdzL3NwZWFyNnh4X2RlZmNvbmZpZy0yOS0jIENPTkZJR19XTEFOIGlzIG5vdCBzZXRcbi0tXG5hcmNoL2FybS9jb25maWdzL3N1bnhpX2RlZmNvbmZpZz0zNj1DT05GSUdfU1VONElfRU1BQz15XG4tLVxuYXJjaC9hcm0vY29uZmlncy9zdW54aV9kZWZjb25maWctNDgtIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcbmFyY2gvYXJtL2NvbmZpZ3Mvc3VueGlfZGVmY29uZmlnOjQ5OkNPTkZJR19TVE1NQUNfRVRIPXlcbmFyY2gvYXJtL2NvbmZpZ3Mvc3VueGlfZGVmY29uZmlnLTUwLSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcbi0tXG5hcmNoL2FybTY0L2NvbmZpZ3MvZGVmY29uZmlnPTQ0NT1DT05GSUdfU05JX05FVFNFQz1tXG5hcmNoL2FybTY0L2NvbmZpZ3MvZGVmY29uZmlnOjQ0NjpDT05GSUdfU1RNTUFDX0VUSD1tXG5hcmNoL2FybTY0L2NvbmZpZ3MvZGVmY29uZmlnLTQ0Ny1DT05GSUdfRFdNQUNfTUVESUFURUs9bVxuLS1cbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb24zMl9kZWZjb25maWc9NjExPUNPTkZJR19SODE2OT15XG4tLVxuYXJjaC9sb29uZ2FyY2gvY29uZmlncy9sb29uZ3NvbjMyX2RlZmNvbmZpZy02MTktIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb24zMl9kZWZjb25maWc6NjIwOkNPTkZJR19TVE1NQUNfRVRIPXlcbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb24zMl9kZWZjb25maWctNjIxLSMgQ09ORklHX05FVF9WRU5ET1JfU1VOIGlzIG5vdCBzZXRcbi0tXG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uNjRfZGVmY29uZmlnPTYyNz1DT05GSUdfUjgxNjk9eVxuLS1cbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb242NF9kZWZjb25maWctNjM1LSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uNjRfZGVmY29uZmlnOjYzNjpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uNjRfZGVmY29uZmlnLTYzNy0jIENPTkZJR19ORVRfVkVORE9SX1NVTiBpcyBub3Qgc2V0XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvY3UxMDAwLW5lb19kZWZjb25maWc9NDI9Q09ORklHX05FVERFVklDRVM9eVxuYXJjaC9taXBzL2NvbmZpZ3MvY3UxMDAwLW5lb19kZWZjb25maWc6NDM6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9taXBzL2NvbmZpZ3MvY3UxMDAwLW5lb19kZWZjb25maWctNDQtQ09ORklHX1NNU0NfUEhZPXlcbi0tXG5hcmNoL21pcHMvY29uZmlncy9jdTE4MzAtbmVvX2RlZmNvbmZpZz00NT1DT05GSUdfTkVUREVWSUNFUz15XG5hcmNoL21pcHMvY29uZmlncy9jdTE4MzAtbmVvX2RlZmNvbmZpZzo0NjpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL21pcHMvY29uZmlncy9jdTE4MzAtbmVvX2RlZmNvbmZpZy00Ny1DT05GSUdfSUNQTFVTX1BIWT15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1tYXJkdWsuY29uZmlnPTI1PUNPTkZJR19ORVRERVZJQ0VTPXlcbmFyY2gvbWlwcy9jb25maWdzL2dlbmVyaWMvYm9hcmQtbWFyZHVrLmNvbmZpZzoyNjpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL21pcHMvY29uZmlncy9nZW5lcmljL2JvYXJkLW1hcmR1ay5jb25maWctMjctQ09ORklHX1NUTU1BQ19QTEFURk9STT15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1uaTE2OTQ0NS5jb25maWc9MjY9Q09ORklHX05FVERFVklDRVM9eVxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1uaTE2OTQ0NS5jb25maWc6Mjc6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1uaTE2OTQ0NS5jb25maWctMjgtQ09ORklHX1NUTU1BQ19QTEFURk9STT15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24xX2RlZmNvbmZpZz01MT1DT05GSUdfTkVUREVWSUNFUz15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24xX2RlZmNvbmZpZy04OC0jIENPTkZJR19ORVRfVkVORE9SX1NPQ0lPTkVYVCBpcyBub3Qgc2V0XG5hcmNoL21pcHMvY29uZmlncy9sb29uZ3NvbjFfZGVmY29uZmlnOjg5OkNPTkZJR19TVE1NQUNfRVRIPXlcbmFyY2gvbWlwcy9jb25maWdzL2xvb25nc29uMV9kZWZjb25maWctOTAtIyBDT05GSUdfRFdNQUNfR0VORVJJQyBpcyBub3Qgc2V0XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24ya19kZWZjb25maWc9MTc1PUNPTkZJR19SODE2OT15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24ya19kZWZjb25maWctMTgzLSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XG5hcmNoL21pcHMvY29uZmlncy9sb29uZ3NvbjJrX2RlZmNvbmZpZzoxODQ6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24ya19kZWZjb25maWctMTg1LSMgQ09ORklHX05FVF9WRU5ET1JfU1VOIGlzIG5vdCBzZXRcbi0tXG5hcmNoL3Jpc2N2L2NvbmZpZ3MvZGVmY29uZmlnPTE0MD1DT05GSUdfUjgxNjk9eVxuYXJjaC9yaXNjdi9jb25maWdzL2RlZmNvbmZpZzoxNDE6Q09ORklHX1NUTU1BQ19FVEg9bVxuYXJjaC9yaXNjdi9jb25maWdzL2RlZmNvbmZpZy0xNDItQ09ORklHX0RXTUFDX1RIRUFEPW1cbi0tXG5kcml2ZXJzL2dwaW8vZ3Bpb2xpYi1vZi5jPTM0Mz1zdGF0aWMgdm9pZCBvZl9ncGlvX2ZsYWdzX3F1aXJrcyhjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLFxuLS1cbmRyaXZlcnMvZ3Bpby9ncGlvbGliLW9mLmMtMzk4LVx0LyogTGVnYWN5IGhhbmRsaW5nIG9mIHN0bW1hYyYjMzk7cyBhY3RpdmUtbG93IFBIWSByZXNldCBsaW5lICovXG5kcml2ZXJzL2dwaW8vZ3Bpb2xpYi1vZi5jOjM5OTpcdGlmIChJU19FTkFCTEVEKENPTkZJR19TVE1NQUNfRVRIKSBcdTAwMjZcdTAwMjZcbmRyaXZlcnMvZ3Bpby9ncGlvbGliLW9mLmMtNDAwLVx0ICAgICFzdHJjbXAocHJvcG5hbWUsIFwmIzM0O3NucHMscmVzZXQtZ3Bpb1wmIzM0OykgXHUwMDI2XHUwMDI2XG4tLVxuZHJpdmVycy9ncHUvZHJtL2NpL2FybTY0LmNvbmZpZz0zNj1DT05GSUdfRFdNQUNfUk9DS0NISVA9eVxuZHJpdmVycy9ncHUvZHJtL2NpL2FybTY0LmNvbmZpZzozNzpDT05GSUdfU1RNTUFDX0VUSD15XG5kcml2ZXJzL2dwdS9kcm0vY2kvYXJtNjQuY29uZmlnLTM4LUNPTkZJR19UWVBFQ19GVVNCMzAyPXlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL01ha2VmaWxlLTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL01ha2VmaWxlOjY6b2JqLSQoQ09ORklHX1NUTU1BQ19FVEgpICYjNDM7PSBzdG1tYWMvXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyOm9iai0kKENPTkZJR19TVE1NQUNfRVRIKSAmIzQzOz0gc3RtbWFjLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTMtc3RtbWFjLW9ianM6PSBzdG1tYWNfbWFpbi5vIHN0bW1hY19ldGh0b29sLm8gc3RtbWFjX21kaW8ubyByaW5nX21vZGUub1x0XFxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA4MDU0CgkJCQkJCQlvdXRwdXQ6IDM3CgkJCQkJCQl0aG91Z2h0czogMjQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOgoKKipJbnZlc3RpZ2F0aW5nIFNUTU1BQyBFdGhlcm5ldCBEcml2ZXJzKioKCk9rYXksIHNvIEkgbmVlZCB0byBnZXQgYSBoYW5kbGUgb24gdGhlIFNUTU1BQyBFdGhlcm5ldCBkcml2ZXJzLiBUaGUgZmlyc3Qgc3RlcCBpcyB0byBzZWUgd2hhdCYjMzk7cyBhY3R1YWxseSAqdGhlcmUqIHVuZGVyIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9gLiBJIHdhbnQgdG8ga25vdyB0aGUgc2NvcGUgb2YgdGhlIHNvbHV0aW9uIC0gd2hhdCYjMzk7cyBpbXBsZW1lbnRlZCwgd2hhdCYjMzk7cyBzdXBwb3J0ZWQuIEkmIzM5O20gbG9va2luZyBmb3IgdGhlIGRpc3RpbmN0IGRyaXZlciBzb3VyY2UgZmlsZXMsIHRoZSBuYW1pbmcgY29udmVudGlvbnMgdGhleSB1c2UsIGFuZCB3aGljaCBzcGVjaWZpYyBTVE1pY3JvZWxlY3Ryb25pY3MgTUFDIGNvbnRyb2xsZXJzIG9yIFNvQ3MgdGhleSYjMzk7cmUgdGFyZ2V0aW5nLiBBcmUgdGhlcmUgbXVsdGlwbGUgZHJpdmVyIGZpbGVzIGZvciBkaWZmZXJlbnQgaGFyZHdhcmUgcmV2aXNpb25zIG9yIHNwZWNpZmljIFBIWSBjb25maWd1cmF0aW9ucz8gQXJlIHRoZXJlIGNvbW1vbiBmaWxlcyBmb3Igc2hhcmVkIGZ1bmN0aW9uYWxpdHkgbGlrZSBETUEgaGFuZGxpbmcgb3IgaW50ZXJydXB0IG1hbmFnZW1lbnQ/IFVsdGltYXRlbHksIEkmIzM5O20gdHJ5aW5nIHRvIGVzdGFibGlzaCBhIHF1aWNrIG1lbnRhbCBtYXAgb2YgdGhlIFNUTU1BQyBkcml2ZXIgbGFuZHNjYXBlLCB0aGUgbGV2ZWwgb2YgYWJzdHJhY3Rpb24gcHJvdmlkZWQsIGFuZCBob3cgbXVjaCBsb3ctbGV2ZWwgaW50ZXJhY3Rpb24gaXMgZXhwb3NlZC4gVW5kZXJzdGFuZGluZyB0aGUgb3JnYW5pemF0aW9uIHdpbGwgYWxsb3cgbWUgdG8gcXVpY2tseSBwaW5wb2ludCB3aGljaCBhcmVhcyBhcmUgcmVsZXZhbnQgdG8gbXkgY3VycmVudCB0YXNrLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0NPTkZJR18mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI6b2JqLSQoQ09ORklHX1NUTU1BQ19FVEgpICYjNDM7PSBzdG1tYWMub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtMy1zdG1tYWMtb2Jqczo9IHN0bW1hY19tYWluLm8gc3RtbWFjX2V0aHRvb2wubyBzdG1tYWNfbWRpby5vIHJpbmdfbW9kZS5vXHRcXFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTExLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTI6c3RtbWFjLSQoQ09ORklHX1NUTU1BQ19TRUxGVEVTVFMpICYjNDM7PSBzdG1tYWNfc2VsZnRlc3RzLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTEzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtMTQtIyBPcmRlcmluZyBtYXR0ZXJzLiBHZW5lcmljIGRyaXZlciBtdXN0IGJlIGxhc3QuXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToxNTpvYmotJChDT05GSUdfU1RNTUFDX1BMQVRGT1JNKVx0JiM0Mzs9IHN0bW1hYy1wbGF0Zm9ybS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToxNjpvYmotJChDT05GSUdfRFdNQUNfQU5BUklPTilcdCYjNDM7PSBkd21hYy1hbmFyaW9uLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjE3Om9iai0kKENPTkZJR19EV01BQ19FSUM3NzAwKVx0JiM0Mzs9IGR3bWFjLWVpYzc3MDAub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTg6b2JqLSQoQ09ORklHX0RXTUFDX0lOR0VOSUMpXHQmIzQzOz0gZHdtYWMtaW5nZW5pYy5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToxOTpvYmotJChDT05GSUdfRFdNQUNfSVBRODA2WClcdCYjNDM7PSBkd21hYy1pcHE4MDZ4Lm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjIwOm9iai0kKENPTkZJR19EV01BQ19MUEMxOFhYKVx0JiM0Mzs9IGR3bWFjLWxwYzE4eHgub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MjE6b2JqLSQoQ09ORklHX0RXTUFDX01FRElBVEVLKVx0JiM0Mzs9IGR3bWFjLW1lZGlhdGVrLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjIyOm9iai0kKENPTkZJR19EV01BQ19NRVNPTilcdCYjNDM7PSBkd21hYy1tZXNvbi5vIGR3bWFjLW1lc29uOGIub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MjM6b2JqLSQoQ09ORklHX0RXTUFDX05VVk9UT04pXHQmIzQzOz0gZHdtYWMtbnV2b3Rvbi5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyNDpvYmotJChDT05GSUdfRFdNQUNfUUNPTV9FVEhRT1MpXHQmIzQzOz0gZHdtYWMtcWNvbS1ldGhxb3Mub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MjU6b2JqLSQoQ09ORklHX0RXTUFDX1JFTkVTQVNfR0JFVEgpICYjNDM7PSBkd21hYy1yZW5lc2FzLWdiZXRoLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI2Om9iai0kKENPTkZJR19EV01BQ19ST0NLQ0hJUClcdCYjNDM7PSBkd21hYy1yay5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyNzpvYmotJChDT05GSUdfRFdNQUNfUlpOMSlcdCYjNDM7PSBkd21hYy1yem4xLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI4Om9iai0kKENPTkZJR19EV01BQ19TMzIpXHRcdCYjNDM7PSBkd21hYy1zMzIub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6Mjk6b2JqLSQoQ09ORklHX0RXTUFDX1NPQ0ZQR0EpXHQmIzQzOz0gZHdtYWMtYWx0ci1zb2NmcGdhLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjMwOm9iai0kKENPTkZJR19EV01BQ19TT1BIR08pXHQmIzQzOz0gZHdtYWMtc29waGdvLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjMxOm9iai0kKENPTkZJR19EV01BQ19TUEFDRU1JVClcdCYjNDM7PSBkd21hYy1zcGFjZW1pdC5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozMjpvYmotJChDT05GSUdfRFdNQUNfU1RBUkZJVkUpXHQmIzQzOz0gZHdtYWMtc3RhcmZpdmUub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MzM6b2JqLSQoQ09ORklHX0RXTUFDX1NUSSlcdFx0JiM0Mzs9IGR3bWFjLXN0aS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozNDpvYmotJChDT05GSUdfRFdNQUNfU1RNMzIpXHQmIzQzOz0gZHdtYWMtc3RtMzIub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MzU6b2JqLSQoQ09ORklHX0RXTUFDX1NVTlhJKVx0JiM0Mzs9IGR3bWFjLXN1bnhpLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjM2Om9iai0kKENPTkZJR19EV01BQ19TVU44SSlcdCYjNDM7PSBkd21hYy1zdW44aS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozNzpvYmotJChDT05GSUdfRFdNQUNfU1VONTVJKVx0JiM0Mzs9IGR3bWFjLXN1bjU1aS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozODpvYmotJChDT05GSUdfRFdNQUNfVEhFQUQpXHQmIzQzOz0gZHdtYWMtdGhlYWQub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6Mzk6b2JqLSQoQ09ORklHX0RXTUFDX0RXQ19RT1NfRVRIKVx0JiM0Mzs9IGR3bWFjLWR3Yy1xb3MtZXRoLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjQwOm9iai0kKENPTkZJR19EV01BQ19JTlRFTF9QTEFUKVx0JiM0Mzs9IGR3bWFjLWludGVsLXBsYXQub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDE6b2JqLSQoQ09ORklHX0RXTUFDX0xPT05HU09OMSlcdCYjNDM7PSBkd21hYy1sb29uZ3NvbjEub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDI6b2JqLSQoQ09ORklHX0RXTUFDX0dFTkVSSUMpXHQmIzQzOz0gZHdtYWMtZ2VuZXJpYy5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo0MzpvYmotJChDT05GSUdfRFdNQUNfSU1YOClcdCYjNDM7PSBkd21hYy1pbXgub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDQ6b2JqLSQoQ09ORklHX0RXTUFDX1RFR1JBKVx0JiM0Mzs9IGR3bWFjLXRlZ3JhLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjQ1Om9iai0kKENPTkZJR19EV01BQ19WSVNDT05USSlcdCYjNDM7PSBkd21hYy12aXNjb250aS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS00Ni1zdG1tYWMtcGxhdGZvcm0tb2Jqczo9IHN0bW1hY19wbGF0Zm9ybS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZT00Nz1kd21hYy1hbHRyLXNvY2ZwZ2Etb2JqcyA6PSBkd21hYy1zb2NmcGdhLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTQ4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDk6b2JqLSQoQ09ORklHX1NUTU1BQ19MSUJQQ0kpXHQmIzQzOz0gc3RtbWFjX2xpYnBjaS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo1MDpvYmotJChDT05GSUdfU1RNTUFDX1BDSSlcdCYjNDM7PSBzdG1tYWMtcGNpLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjUxOm9iai0kKENPTkZJR19EV01BQ19JTlRFTClcdCYjNDM7PSBkd21hYy1pbnRlbC5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo1MjpvYmotJChDT05GSUdfRFdNQUNfTE9PTkdTT04pXHQmIzQzOz0gZHdtYWMtbG9vbmdzb24ub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NTM6b2JqLSQoQ09ORklHX0RXTUFDX01PVE9SQ09NTSlcdCYjNDM7PSBkd21hYy1tb3RvcmNvbW0ub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtNTQtc3RtbWFjLXBjaS1vYmpzOj0gc3RtbWFjX3BjaS5vXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjkgMDg6Mzk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTAyNjgKCQkJCQkJCW91dHB1dDogMzgKCQkJCQkJCXRob3VnaHRzOiA1MwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJbnZlc3RpZ2F0aW5nIHRoZSBzdG1tYWMgRHJpdmVyJiMzOTtzIFRyYWZmaWMgQ29udHJvbCBJbXBsZW1lbnRhdGlvbioqCgpPa2F5LCBzbyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdHJhZmZpYyBjb250cm9sIGlzIGhhbmRsZWQgd2l0aGluIHRoZSBgc3RtbWFjYCBkcml2ZXIuIE15IGluaXRpYWwgaW5zdGluY3Qgd2FzIHRvIGp1bXAgc3RyYWlnaHQgaW50byBgc3RtbWFjX3RjLmNgLCB3aGljaCBtYWtlcyBzZW5zZSBhcyBpdCYjMzk7cyBuYW1lZCBzcGVjaWZpY2FsbHkgZm9yIHRyYWZmaWMgY29udHJvbC4gSSB3YW50IHRvIHNlZSBleGFjdGx5IGhvdyBpdCYjMzk7cyBjYWxsZWQsIHRyYWNlIHRoZSBleGVjdXRpb24gcGF0aCwgYW5kIGRldGVybWluZSBpZiBpdCBpbnRlcmFjdHMgd2l0aCBhbnkgUENJIG9yIHZpcnR1YWwgZGV2aWNlcy4gSG93ZXZlciwgYmVmb3JlIGdldHRpbmcgaW50byB0aGUgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24sIGEgbW9yZSBzeXN0ZW1hdGljIGFwcHJvYWNoIG1pZ2h0IGJlIGJlc3QuIEkgc2hvdWxkIGRvdWJsZSBjaGVjayB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zLiBUaGUgYEtjb25maWdgIGZpbGUgaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWdgIGlzIHByb2JhYmx5IHRoZSBwbGFjZSB0byBzdGFydC4gVGhpcyB3aWxsIHJldmVhbCBhbnkgYnVpbGQtdGltZSBjb25maWd1cmF0aW9ucyBvciBkZXBlbmRlbmNpZXMgdGhhdCBtaWdodCBpbmZsdWVuY2UgaG93IHRyYWZmaWMgY29udHJvbCBpcyBlbmFibGVkIG9yIGRpc2FibGVkLiBUaGlzIGhlbHBzIG1lIGZyYW1lIHdoYXQgSSYjMzk7bGwgc2VlIHdoZW4gSSBnZXQgaW50byB0aGUgY29kZSBpdHNlbGYuIENoZWNraW5nIHRoZSBgS2NvbmZpZ2AgZmlyc3Qgd2lsbCBnaXZlIG1lIHNvbWUgb2YgdGhlIGNvbnRleHQgSSBuZWVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyAmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6Mjpjb25maWcgU1RNTUFDX0VUSFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zLVx0dHJpc3RhdGUgXCYjMzQ7U1RNaWNyb2VsZWN0cm9uaWNzIE11bHRpLUdpZ2FiaXQgRXRoZXJuZXQgZHJpdmVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZz0xOD1pZiBTVE1NQUNfRVRIXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMDpjb25maWcgU1RNTUFDX1NFTEZURVNUU1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yMS1cdGJvb2wgXCYjMzQ7U3VwcG9ydCBmb3IgU1RNTUFDIFNlbGZ0ZXN0c1wmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI5OmNvbmZpZyBTVE1NQUNfUExBVEZPUk1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzAtXHR0cmlzdGF0ZSBcJiMzNDtTVE1NQUMgUGxhdGZvcm0gYnVzIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnPTQyPWlmIFNUTU1BQ19QTEFURk9STVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy00My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6NDQ6Y29uZmlnIERXTUFDX0RXQ19RT1NfRVRIXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTQ1LVx0dHJpc3RhdGUgXCYjMzQ7U3VwcG9ydCBmb3Igc25wcyxkd2MtcW9zLWV0aGVybmV0LnR4dCBEVCBiaW5kaW5nLlwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNTEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjUyOmNvbmZpZyBEV01BQ19HRU5FUklDXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTUzLVx0dHJpc3RhdGUgXCYjMzQ7R2VuZXJpYyBkcml2ZXIgZm9yIERXTUFDXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy01OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6NjA6Y29uZmlnIERXTUFDX0FOQVJJT05cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNjEtXHR0cmlzdGF0ZSBcJiMzNDtBZGFwdHJ1bSBBbmFyaW9uIEdNQUMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNjgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjY5OmNvbmZpZyBEV01BQ19FSUM3NzAwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTcwLVx0dHJpc3RhdGUgXCYjMzQ7U3VwcG9ydCBmb3IgRXN3aW4gZWljNzcwMCBldGhlcm5ldCBkcml2ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTc3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzo3ODpjb25maWcgRFdNQUNfSU5HRU5JQ1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy03OS1cdHRyaXN0YXRlIFwmIzM0O0luZ2VuaWMgTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTg5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzo5MDpjb25maWcgRFdNQUNfSVBRODA2WFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy05MS1cdHRyaXN0YXRlIFwmIzM0O1FDQSBJUFE4MDZ4IERXTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTAzOlx0ICBTZWxlY3QgdGhlIFFDT01fU09DSU5GTyBjb25maWcgZmxhZyB0byBlbmFibGUgc3BlY2lmaWMgZHdtYWNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTA0LVx0ICBmaXh1cCBiYXNlZCBvbiB0aGUgaXBxODA2eCBTb0MgcmV2aXNpb24uXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEwNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTA2OmNvbmZpZyBEV01BQ19MUEMxOFhYXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEwNy1cdHRyaXN0YXRlIFwmIzM0O05YUCBMUEMxOHh4LzQzeHggRFdNQUMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTEzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoxMTQ6Y29uZmlnIERXTUFDX01FRElBVEVLXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTExNS1cdHRyaXN0YXRlIFwmIzM0O01lZGlhVGVrIE1UMjd4eCBHTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEyMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTIyOmNvbmZpZyBEV01BQ19NRVNPTlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMjMtXHR0cmlzdGF0ZSBcJiMzNDtBbWxvZ2ljIE1lc29uIGR3bWFjIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEzMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTMzOmNvbmZpZyBEV01BQ19OVVZPVE9OXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEzNC1cdHRyaXN0YXRlIFwmIzM0O051dm90b24gTUEzNSBkd21hYyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xNDQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE0NTpjb25maWcgRFdNQUNfUUNPTV9FVEhRT1NcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTQ2LVx0dHJpc3RhdGUgXCYjMzQ7UXVhbGNvbW0gRVRIUU9TIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE1NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTU1OmNvbmZpZyBEV01BQ19SRU5FU0FTX0dCRVRIXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE1Ni1cdHRyaXN0YXRlIFwmIzM0O1JlbmVzYXMgUlovVjJIKFApIEdCRVRIIGFuZCBSWi9UMkgsIFJaL04ySCBHTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE2Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTY4OmNvbmZpZyBEV01BQ19ST0NLQ0hJUFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xNjktXHR0cmlzdGF0ZSBcJiMzNDtSb2NrY2hpcCBkd21hYyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xNzgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE3OTpjb25maWcgRFdNQUNfUlpOMVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xODAtXHR0cmlzdGF0ZSBcJiMzNDtSZW5lc2FzIFJaL04xIGR3bWFjIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE5MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTkxOmNvbmZpZyBEV01BQ19TMzJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTkyLVx0dHJpc3RhdGUgXCYjMzQ7TlhQIFMzMkcvUzMyUiBHTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTIwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MjAzOmNvbmZpZyBEV01BQ19TT0NGUEdBXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTIwNC1cdHRyaXN0YXRlIFwmIzM0O1NPQ0ZQR0EgZHdtYWMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjE3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMTg6Y29uZmlnIERXTUFDX1NPUEhHT1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yMTktXHR0cmlzdGF0ZSBcJiMzNDtTb3BoZ28gZHdtYWMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjI4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMjk6Y29uZmlnIERXTUFDX1NQQUNFTUlUXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTIzMC1cdHRyaXN0YXRlIFwmIzM0O1NwYWNlbWl0IGR3bWFjIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI0MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MjQxOmNvbmZpZyBEV01BQ19TVEFSRklWRVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNDItXHR0cmlzdGF0ZSBcJiMzNDtTdGFyRml2ZSBkd21hYyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI1Mzpjb25maWcgRFdNQUNfU1RJXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI1NC1cdHRyaXN0YXRlIFwmIzM0O1NUaSBHTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI2NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MjY1OmNvbmZpZyBEV01BQ19TVE0zMlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNjYtXHR0cmlzdGF0ZSBcJiMzNDtTVE0zMiBEV01BQyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI3Nzpjb25maWcgRFdNQUNfU1VOWElcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjc4LVx0dHJpc3RhdGUgXCYjMzQ7QWxsd2lubmVyIEdNQUMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjg3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyODg6Y29uZmlnIERXTUFDX1NVTjhJXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI4OS1cdHRyaXN0YXRlIFwmIzM0O0FsbHdpbm5lciBzdW44aSBHTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI5OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzAwOmNvbmZpZyBEV01BQ19TVU41NUlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzAxLVx0dHJpc3RhdGUgXCYjMzQ7QWxsd2lubmVyIHN1bjU1aSBHTUFDMjAwIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTMxMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzEyOmNvbmZpZyBEV01BQ19USEVBRFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMTMtXHR0cmlzdGF0ZSBcJiMzNDtULUhFQUQgZHdtYWMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzIxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozMjI6Y29uZmlnIERXTUFDX0lNWDhcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzIzLVx0dHJpc3RhdGUgXCYjMzQ7TlhQIElNWDggRFdNQUMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzMzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozMzQ6Y29uZmlnIERXTUFDX0lOVEVMX1BMQVRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzM1LVx0dHJpc3RhdGUgXCYjMzQ7SW50ZWwgZHdtYWMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzQzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozNDQ6Y29uZmlnIERXTUFDX0xPT05HU09OMVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zNDUtXHR0cmlzdGF0ZSBcJiMzNDtMb29uZ3NvbjEgR01BQyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zNTQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM1NTpjb25maWcgRFdNQUNfVEVHUkFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzU2LVx0dHJpc3RhdGUgXCYjMzQ7TlZJRElBIFRlZ3JhIE1HQkUgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzYzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozNjQ6Y29uZmlnIERXTUFDX1ZJU0NPTlRJXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM2NS1cdHRyaXN0YXRlIFwmIzM0O1Rvc2hpYmEgVmlzY29udGkgRFdNQUMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc9MzcxPWVuZGlmICMgU1RNTUFDX1BMQVRGT1JNXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM3Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzczOmNvbmZpZyBTVE1NQUNfTElCUENJXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM3NC1cdHRyaXN0YXRlXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zNzctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM3ODpjb25maWcgRFdNQUNfSU5URUxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzc5LVx0dHJpc3RhdGUgXCYjMzQ7SW50ZWwgR01BQyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zODctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM4ODpjb25maWcgRFdNQUNfTE9PTkdTT05cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzg5LVx0dHJpc3RhdGUgXCYjMzQ7TG9vbmdzb24gUENJIERXTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM5Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6Mzk4OmNvbmZpZyBEV01BQ19NT1RPUkNPTU1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzk5LVx0dHJpc3RhdGUgXCYjMzQ7TW90b3Jjb21tIFBDSSBEV01BQyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy00MDYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjQwNzpjb25maWcgU1RNTUFDX1BDSVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy00MDgtXHR0cmlzdGF0ZSBcJiMzNDtTVE1NQUMgUENJIGJ1cyBzdXBwb3J0XCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjkgMDg6Mzk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTQxNzYKCQkJCQkJCW91dHB1dDogNDYKCQkJCQkJCXRob3VnaHRzOiA1NTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgUUVNVSBFdGhlcm5ldCBFbXVsYXRpb24gSW52ZXN0aWdhdGlvbioqCgpPa2F5LCBzbyBJJiMzOTttIHRyeWluZyB0byBmaWd1cmUgb3V0IGhvdyB0byBpbnRlcmFjdCB3aXRoIGFuIFNUTU1BQyAoU3lub3BzeXMgRGVzaWduV2FyZSBNQUMpIG9yIHNpbWlsYXIgRXRoZXJuZXQgZGV2aWNlIHdpdGhpbiBRRU1VLiBDYW4gSSByZWFjaCB0aGVzZSBkZXZpY2VzLCBlaXRoZXIgZGlyZWN0bHkgZW11bGF0ZWQgb3IgdGhyb3VnaCBzb21lIG90aGVyIG1lY2hhbmlzbSBsaWtlIGEgR0NFIGVudmlyb25tZW50PwoKTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGNoZWNrIGRpcmVjdGx5IGlmIFFFTVUgc3VwcG9ydHMgdGhlIGVtdWxhdGlvbiBvZiBgc3RtbWFjYCwgYGR3bWFjYCwgZXRjLiBQZXJoYXBzIGl0JiMzOTtzIGxpbWl0ZWQgdG8gdmVyeSBzcGVjaWZpYyBwaHlzaWNhbCBTb0MgRXRoZXJuZXQgY29udHJvbGxlcnMgb3IgUENJIE5JQ3MuCgpJIG5lZWQgdG8ga2VlcCBpbiBtaW5kLCBob3dldmVyLCB0aGF0IHRoZXJlIG1pZ2h0IGJlIGNvZGUgcGF0aHMgdGhhdCBhcmUgc2ltcGx5IGluYWNjZXNzaWJsZSBpbiB2aXJ0dWFsIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLCBldmVuIGlmIHVzaW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlLiBJJiMzOTttIHRoaW5raW5nIG9mIGRyaXZlcnMgZm9yIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaGVzLCBTbWFydE5JQ3MsIG9yIEdQVXMsIHdoaWNoIG5lY2Vzc2l0YXRlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUsIHNvbWV0aGluZyBRRU1VIGRvZXNuJiMzOTt0IGRvLiBGb3IgZXhhbXBsZSwgZHJpdmVycyBsaWtlIGBtbHhzd2AsIGBwZHNfY29yZWAsIGBxZWRgLCBgaW9uaWNgLCBvciBgYW1kZ3B1YC4KCkFscmlnaHQsIGxldCYjMzk7cyBsaXN0IG91dCB3aGF0IFFFTVUgYWN0dWFsbHkgKmRvZXMqIGVtdWxhdGUgaW4gdGVybXMgb2YgZXRoZXJuZXQuIEkga25vdyBpdCBpbmNsdWRlczogYGUxMDAwYCwgYGUxMDAwZWAsIGBpZ2JgLCBgcnRsODEzOWAsIGA4MTM5Y3BgLCBgdmlydGlvLW5ldGAsIGBwY25ldCAobGFuY2UpYCwgYG5lMmtfcGNpYCwgYG5lMmtfaXNhYCwgYHN1bmdlbWAsIGBzdW5obWVgLCBgdHVsaXAgKGRlYyAyMTE0MClgLCBgaTgyNTV4IChlZXBybzEwMClgLCBgdm14bmV0M2AsIGByb2NrZXJgLCBgdXNiLW5ldGAsIGBzbWM5MWMxMTFgLCBgbGFuOTExOGAsIGBjYWRlbmNlX2dlbWAsIGBpbXhfZmVjYCwgYGFsbHdpbm5lci1lbWFjYCwgYHN1bjRpLWVtYWNgLgoKQnV0IHdhaXQuIFRoZSBgc3VuNGlfZW1hY2AgaXMgbm90IGBzdG1tYWNgLiBJIG5lZWQgdG8gcmVtZW1iZXIgdGhhdCBgc3VuOGlgIGNvdWxkIHBvc3NpYmx5IGV4aXN0IG9uIGFuIEFSTSBtYWNoaW5lLCBidXQgc3l6a2FsbGVyIHVzdWFsbHkgcnVucyBvbiBzdGFuZGFyZCB4ODZfNjQgb3IgYXJtNjQgUUVNVS9HQ0UgVk1zLiBTbyBkb2VzIFFFTVUgZW11bGF0ZSBgZHdtYWNgIG9yIGBzdG1tYWNgPyBJdCYjMzk7cyB0aW1lIHRvIGNoZWNrIHRoZSBRRU1VIHNvdXJjZSBkaXJlY3RseS4KCkFjY29yZGluZyB0byB0aGUgUUVNVSBjb2RlLCBgZHdtYWNgIGlzICpub3QqIGFuIGVtdWxhdGVkIFBDSSBkZXZpY2UgaW4gc3RhbmRhcmQgUUVNVS4gVGhhdCYjMzk7cyBhIGtleSBwaWVjZSBvZiBpbmZvcm1hdGlvbi4KCk9rYXksIGxldCYjMzk7cyBub3cgaW52ZXN0aWdhdGUgYERXTUFDX0lOVEVMYCBvciBgU1RNTUFDX1BDSWAuIFdoYXQgUENJIElEcyBhcmUgc3VwcG9ydGVkPyBJIHNob3VsZCBjaGVjayBgc3RtbWFjX3BjaS5jYCBhbmQgYGR3bWFjLWludGVsLmNgIHRvIHNlZSB3aGljaCBzcGVjaWZpYyBoYXJkd2FyZSBpcyBzdXBwb3J0ZWQgaWYgYW55LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtNT0RVTEVfREVWSUNFX1RBQkxFfHBjaV9kZXZpY2VfaWQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtYW5hcmlvbi5jPTExOT1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBhbmFyaW9uX2R3bWFjX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtYW5hcmlvbi5jLTEyMi19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtYW5hcmlvbi5jOjEyMzpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBhbmFyaW9uX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWFuYXJpb24uYy0xMjQtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtZHdjLXFvcy1ldGguYz0zNTM9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZHdjX2V0aF9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWR3Yy1xb3MtZXRoLmMtMzU4LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1kd2MtcW9zLWV0aC5jOjM1OTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBkd2NfZXRoX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWR3Yy1xb3MtZXRoLmMtMzYwLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWVpYzc3MDAuYz0zNTA9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZWljNzcwMF9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWVpYzc3MDAuYy0zNTktfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWVpYzc3MDAuYzozNjA6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZWljNzcwMF9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1laWM3NzAwLmMtMzYxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWdlbmVyaWMuYz01Mj1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBkd21hY19nZW5lcmljX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtZ2VuZXJpYy5jLTY2LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1nZW5lcmljLmM6Njc6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZHdtYWNfZ2VuZXJpY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1nZW5lcmljLmMtNjgtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW14LmM9Mzg0PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGlteF9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWlteC5jLTM4OS19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW14LmM6MzkwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGlteF9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbXguYy0zOTEtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW5nZW5pYy5jPTI2Mj1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBpbmdlbmljX21hY19vZl9tYXRjaGVzW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW5nZW5pYy5jLTI2OS19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW5nZW5pYy5jOjI3MDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBpbmdlbmljX21hY19vZl9tYXRjaGVzKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWluZ2VuaWMuYy0yNzEtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwtcGxhdC5jPTM2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGludGVsX2V0aF9wbGF0X21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwtcGxhdC5jLTM5LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC1wbGF0LmM6NDA6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgaW50ZWxfZXRoX3BsYXRfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwtcGxhdC5jLTQxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9MTI2Mz1zdGF0aWMgaW50IGludGVsX2V0aF9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEyNjQ6XHRcdFx0ICAgICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTI2NS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xMzYyPXN0YXRpYyB2b2lkIGludGVsX2V0aF9wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTM5NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTM5NTpzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgaW50ZWxfZXRoX3BjaV9pZF90YWJsZVtdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMzk2LVx0eyBQQ0lfREVWSUNFX0RBVEEoSU5URUwsIFFVQVJLLCBcdTAwMjZxdWFya19pbmZvKSB9LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTQxNC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxNDE1Ok1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBpbnRlbF9ldGhfcGNpX2lkX3RhYmxlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTQxNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pcHE4MDZ4LmM9NDkxPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGlwcTgwNnhfZ21hY19kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWlwcTgwNnguYy00OTQtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWlwcTgwNnguYzo0OTU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgaXBxODA2eF9nbWFjX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWlwcTgwNnguYy00OTYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz00Nzk9c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19maXhfcmVzZXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNDk3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzo0OTg6c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy00OTkte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM9NTc4PXN0YXRpYyB2b2lkIGxvb25nc29uX2R3bWFjX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTU5NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NTk2OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBsb29uZ3Nvbl9kd21hY19pZF90YWJsZVtdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy01OTctXHR7IFBDSV9ERVZJQ0VfREFUQShMT09OR1NPTiwgR01BQzEsIFx1MDAyNmxvb25nc29uX2dtYWNfcGNpX2luZm8pIH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy02MDEtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NjAyOk1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBsb29uZ3Nvbl9kd21hY19pZF90YWJsZSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTYwMy1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3NvbjEuYz0yMTY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbHMxeF9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uMS5jLTIyNi19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24xLmM6MjI3Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGxzMXhfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24xLmMtMjI4LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxwYzE4eHguYz03MT1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBscGMxOHh4X2R3bWFjX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbHBjMTh4eC5jLTc0LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1scGMxOHh4LmM6NzU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgbHBjMTh4eF9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1scGMxOHh4LmMtNzYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVkaWF0ZWsuYz02NjI9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWVkaWF0ZWtfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZWRpYXRlay5jLTY2OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lZGlhdGVrLmM6NjcwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG1lZGlhdGVrX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lZGlhdGVrLmMtNjcxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lc29uLmM9NzY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWVzb242X2R3bWFjX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVzb24uYy03OS19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVzb24uYzo4MDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBtZXNvbjZfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVzb24uYy04MS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbjhiLmM9NDgyPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG1lc29uOGJfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbjhiLmMtNTA0LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbjhiLmM6NTA1Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG1lc29uOGJfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVzb244Yi5jLTUwNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0yNjQ9c3RhdGljIGludCBtb3RvcmNvbW1fc2V0dXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTI5Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jOjI5MzpzdGF0aWMgaW50IG1vdG9yY29tbV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMjk0LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0zNjI9c3RhdGljIHZvaWQgbW90b3Jjb21tX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYy0zNjYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYzozNjc6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIGR3bWFjX21vdG9yY29tbV9wY2lfaWRfdGFibGVbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTM2OC1cdHsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX01PVE9SQ09NTSwgMHg2ODAxKSB9LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTM3MC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmM6MzcxOk1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBkd21hY19tb3RvcmNvbW1fcGNpX2lkX3RhYmxlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTM3Mi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1udXZvdG9uLmM9MTE4PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG52dF9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW51dm90b24uYy0xMjEtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW51dm90b24uYzoxMjI6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgbnZ0X2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW51dm90b24uYy0xMjMtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhxb3MuYz04MDA9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcWNvbV9ldGhxb3NfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1xY29tLWV0aHFvcy5jLTgwNi19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhxb3MuYzo4MDc6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcWNvbV9ldGhxb3NfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhxb3MuYy04MDgtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmVuZXNhcy1nYmV0aC5jPTIxNj1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCByZW5lc2FzX2diZXRoX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmVuZXNhcy1nYmV0aC5jLTIyMS19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmVuZXNhcy1nYmV0aC5jOjIyMjpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCByZW5lc2FzX2diZXRoX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJlbmVzYXMtZ2JldGguYy0yMjMtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYz0xNjE2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHJrX2dtYWNfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2MzQtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM6MTYzNTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBya19nbWFjX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTYzNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yem4xLmM9NzU9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcnpuMV9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJ6bjEuYy03OC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcnpuMS5jOjc5Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHJ6bjFfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcnpuMS5jLTgwLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXMzMi5jPTIxNj1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzMzJfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zMzIuYy0yMTktfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXMzMi5jOjIyMDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzMzJfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtczMyLmMtMjIxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvY2ZwZ2EuYz02NzM9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc29jZnBnYV9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvY2ZwZ2EuYy02NzgtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvY2ZwZ2EuYzo2Nzk6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc29jZnBnYV9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zb2NmcGdhLmMtNjgwLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvcGhnby5jPTcyPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHNvcGhnb19kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvcGhnby5jLTc2LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zb3BoZ28uYzo3NzpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzb3BoZ29fZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc29waGdvLmMtNzgtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3BhY2VtaXQuYz0yMTA9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3BhY2VtaXRfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zcGFjZW1pdC5jLTIxMy19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3BhY2VtaXQuYzoyMTQ6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3BhY2VtaXRfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3BhY2VtaXQuYy0yMTUtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RhcmZpdmUuYz0xNjA9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3RhcmZpdmVfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGFyZml2ZS5jLTE2NC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RhcmZpdmUuYzoxNjU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3RhcmZpdmVfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RhcmZpdmUuYy0xNjYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RpLmM9Mjk2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHN0aV9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN0aS5jLTI5OS19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RpLmM6MzAwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHN0aV9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGkuYy0zMDEtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RtMzIuYz02NjI9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3RtMzJfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdG0zMi5jLTY2OC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RtMzIuYzo2Njk6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3RtMzJfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RtMzIuYy02NzAtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuNTVpLmM9MTQxPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHN1bjU1aV9nbWFjMjAwX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuNTVpLmMtMTQ0LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW41NWkuYzoxNDU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3VuNTVpX2dtYWMyMDBfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuNTVpLmMtMTQ2LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmM9MTI2OD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzdW44aV9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMtMTI4Mi19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYzoxMjgzOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHN1bjhpX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMtMTI4NC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jPTE1MD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzdW43aV9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bnhpLmMtMTUzLX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jOjE1NDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzdW43aV9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jLTE1NS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy10ZWdyYS5jPTM5Nz1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCB0ZWdyYV9tZ2JlX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGVncmEuYy00MDAtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXRlZ3JhLmM6NDAxOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHRlZ3JhX21nYmVfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGVncmEuYy00MDItXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGhlYWQuYz0yNjc9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgdGhlYWRfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy10aGVhZC5jLTI3MC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGhlYWQuYzoyNzE6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgdGhlYWRfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGhlYWQuYy0yNzItXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdmlzY29udGkuYz0yNTU9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgdmlzY29udGlfZXRoX2R3bWFjX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdmlzY29udGkuYy0yNTgtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXZpc2NvbnRpLmM6MjU5Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHZpc2NvbnRpX2V0aF9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy12aXNjb250aS5jLTI2MC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MTE4PXN0YXRpYyBpbnQgc3RtbWFjX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxMTk6XHRcdFx0ICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xMjAte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xOTI9c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDM6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHN0bW1hY19pZF90YWJsZVtdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwNC1cdHsgUENJX0RFVklDRV9EQVRBKFNUTU1BQywgU1RNTUFDLCBcdTAwMjZzdG1tYWNfcGNpX2luZm8pIH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTA6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHN0bW1hY19pZF90YWJsZSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjExLVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMTgwOAoJCQkJCQkJb3V0cHV0OiA1MgoJCQkJCQkJdGhvdWdodHM6IDE2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqRXhhbWluaW5nIHRoZSBzdG1tYWNfaWRfdGFibGUqKgoKQWxyaWdodCwgbGV0JiMzOTtzIGRpdmUgaW4uIEkgbmVlZCB0byBnZXQgYSBjbGVhciBwaWN0dXJlIG9mIHdoYXQmIzM5O3MgZGVmaW5lZCB3aXRoaW4gdGhlIGBzdG1tYWNfaWRfdGFibGVgLiBJJiMzOTttIGdvaW5nIHRvIHN0YXJ0IGJ5IHRha2luZyBhIGNsb3NlIGxvb2sgYXQgdGhhdCBkYXRhIHN0cnVjdHVyZSwgYmVjYXVzZSBpdCYjMzk7cyB0aGUgY29yZSBvZiBob3cgdGhlIGRyaXZlciBpZGVudGlmaWVzIGFuZCBoYW5kbGVzIGRpZmZlcmVudCBTVE1pY3JvZWxlY3Ryb25pY3MgRXRoZXJuZXQgTUFDIGNvbnRyb2xsZXJzLiBJIG5lZWQgdG8gcmVmcmVzaCBteSBtZW1vcnkgb24gdGhlIGRldmljZSBJRHMsIGNvbXBhdGlibGUgc3RyaW5ncywgYW5kIGFueSBhc3NvY2lhdGVkIHBsYXRmb3JtIGRhdGEgZGVmaW5lZCBpbiB0aGF0IHRhYmxlLiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgdW5kZXJzdGFuZGluZyB0aGUgc3VwcG9ydGVkIGhhcmR3YXJlIGFuZCBob3cgdGhlIGRyaXZlciBwcm9iZXMgZm9yIHRoZW0uIEkmIzM5O20gdGhpbmtpbmcgSSYjMzk7bGwgd2FudCB0byBxdWlja2x5IHBhcnNlIHRocm91Z2ggdGhlIGNvbnRlbnRzIG9mIHRoYXQgdGFibGUgdG8gY29uZmlybSB3aGF0IEkmIzM5O20gZXhwZWN0aW5nIHRvIHNlZSBhbmQgdG8gZ2V0IGEgcmVtaW5kZXIgb2YgdGhlIGRldmljZS1zcGVjaWZpYyBxdWlya3MgSSBtaWdodCBuZWVkIHRvIGNvbnNpZGVyIGZvciB0aGlzIHJldmlldy4gQmFzaWNhbGx5LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IGRldmljZXMgdGhpcyBkcml2ZXIgdGhpbmtzIGl0IHN1cHBvcnRzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzdG1tYWNfaWRfdGFibGV8aW50ZWxfZXRoX3BjaV9pZF90YWJsZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTEzNjI9c3RhdGljIHZvaWQgaW50ZWxfZXRoX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMzk0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMzk1OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBpbnRlbF9ldGhfcGNpX2lkX3RhYmxlW10gPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEzOTYtXHR7IFBDSV9ERVZJQ0VfREFUQShJTlRFTCwgUVVBUkssIFx1MDAyNnF1YXJrX2luZm8pIH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xNDE0LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjE0MTU6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIGludGVsX2V0aF9wY2lfaWRfdGFibGUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xNDE2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xNDE3PXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBpbnRlbF9ldGhfcGNpX2RyaXZlciA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTQxOC1cdC5uYW1lID0gXCYjMzQ7aW50ZWwtZXRoLXBjaVwmIzM0OyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTQxOTpcdC5pZF90YWJsZSA9IGludGVsX2V0aF9wY2lfaWRfdGFibGUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTE0MjAtXHQucHJvYmUgPSBpbnRlbF9ldGhfcGNpX3Byb2JlLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xOTI9c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDM6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHN0bW1hY19pZF90YWJsZVtdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwNC1cdHsgUENJX0RFVklDRV9EQVRBKFNUTU1BQywgU1RNTUFDLCBcdTAwMjZzdG1tYWNfcGNpX2luZm8pIH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTA6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHN0bW1hY19pZF90YWJsZSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjExLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jPTIxMj1zdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgc3RtbWFjX3BjaV9kcml2ZXIgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjEzLVx0Lm5hbWUgPSBTVE1NQUNfUkVTT1VSQ0VfTkFNRSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTQ6XHQuaWRfdGFibGUgPSBzdG1tYWNfaWRfdGFibGUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjE1LVx0LnByb2JlID0gc3RtbWFjX3BjaV9wcm9iZSxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjkgMDg6Mzk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjI5ODMKCQkJCQkJCW91dHB1dDogNDMKCQkJCQkJCXRob3VnaHRzOiAxMTQ3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKldvcnRoRnV6emluZyBEZWNpc2lvbiBmb3IgU1RNTUFDOiBOb3QgQXBwbGljYWJsZSoqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duIHN5c3RlbWF0aWNhbGx5LiBUaGUgaW5zdHJ1Y3Rpb25zIGFyZSBjbGVhcjogaWYgYSBwYXRjaCB0b3VjaGVzIGNvZGUgdW5yZWFjaGFibGUgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCB3ZSBzaG91bGQgcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBNeSBmaXJzdCB0aG91Z2h0IGlzIHRvIGRldGVybWluZSBpZiB0aGUgYHN0bW1hY2AgZHJpdmVyIGlzIHJlYWNoYWJsZSBpbiBRRU1VIG9yIEdDRS4KCkkga25vdyBTVE1NQUMgcmVmZXJzIHRvIHRoZSBTeW5vcHN5cyBEZXNpZ25XYXJlIEV0aGVybmV0IE1BQyBjb250cm9sbGVyLiBUaGVzZSBhcmUgY29tbW9ubHkgZm91bmQgaW4gYSB2YXJpZXR5IG9mIFNvQ3Mg4oCTIFNUTTMyLCBSb2NrY2hpcCwgdGhlIHVzdWFsIHN1c3BlY3RzLiBNeSBndXQgdGVsbHMgbWUgdGhlc2UgYXJlbiYjMzk7dCBlYXNpbHkgZW11bGF0ZWQgaW4gYSBzdGFuZGFyZCBRRU1VIHNldHVwIG9yIEdDRS4KCkxldCYjMzk7cyBjb25maXJtLiBJJiMzOTtsbCBjaGVjayBRRU1VJiMzOTtzIHN1cHBvcnRlZCBuZXR3b3JrIGRldmljZXMuIFNjYW5uaW5nIHRoZSBRRU1VIGNvZGViYXNlIGZvciBuZXR3b3JrIGhhcmR3YXJlLCBJIHNlZSBhIGxpc3Q6IGUxMDAwLCB2aXJ0aW8tbmV0LCBydGw4MTM5LCB0aGUgdXN1YWwuIEkgZG9uJiMzOTt0IHNlZSBhbnl0aGluZyBleHBsaWNpdGx5IGxhYmVsZWQgYXMgJiMzNDtzdG1tYWMmIzM0OyBvciBhbnl0aGluZyBpbW1lZGlhdGVseSBhbmFsb2dvdXMuIEV2ZW4gb24gdGhlIHN0YW5kYXJkIHg4Nl82NCB0YXJnZXQsIGl0IHVzZXMgZTEwMDAsIHZpcnRpby1uZXQsIGV0Yy4gVGhlIEFSTSB2aXJ0IG1hY2hpbmUgdXNlcyB2aXJ0aW8tbmV0LCBub3Qgc3RtbWFjLiBHQ0UgdXNlcyB2aXJ0aW8tbmV0IG9yIGd2ZSwgZnVydGhlciBjb25maXJtaW5nIHRoaXMuCgpDYW4gYHN0bW1hY2AgYmUgaW5zdGFudGlhdGVkIHZpYSBzb2Z0d2FyZSBvciBhbnl0aGluZyBsaWtlIGBtb2NrL2h3c2ltYD8gTm8sIGBzdG1tYWNgIGlzIGEgcGxhdGZvcm0vUENJIGRyaXZlci4gVGhlIGtleSBwYXJ0IGlzIHRoYXQgdGhlIHN0bW1hYyBkcml2ZXImIzM5O3MgcHJvYmUgZnVuY3Rpb25zIChzdG1tYWNfZHZyX3Byb2JlLCBzdG1tYWNfcHJvYmVfY29uZmlnX2R0LCBzdG1tYWNfcGNpX3Byb2JlLCBpbnRlbF9ldGhfcGNpX3Byb2JlLCBldGMuKSBhcmVuJiMzOTt0IHRyaWdnZXJlZCB3aXRob3V0IHRoZSB1bmRlcmx5aW5nIGhhcmR3YXJlLgoKTGV0JiMzOTtzIGRyaWxsIGRvd24gZGVlcGVyLCBjb25zaWRlcmluZyBgc3RtbWFjX3RjLmNgIHNwZWNpZmljYWxseS4gYHN0bW1hY190Yy5jYCBwcm92aWRlcyBgc3RtbWFjX3NldHVwX3RjKClgLCB0aGUgYG5kb19zZXR1cF90Y2AgY2FsbGJhY2sgZm9yIHRoZSBgbmV0X2RldmljZWAgaW4gc3RtbWFjLiBTcGVjaWZpY2FsbHksIGB0Y19zZXR1cF9kd21hYzUxMF9tcXByaW9gIGFuZCBgdGNfdGFwcmlvX2NvbmZpZ3VyZWAgYXJlIG9ubHkgY2FsbGVkIHZpYSBgc3RtbWFjX3NldHVwX3RjKClgIG9uIGEgYHN0cnVjdCBuZXRfZGV2aWNlYCByZWdpc3RlcmVkIGJ5IHRoZSBzdG1tYWMgZHJpdmVyIHdoZW4gcHJvYmVkIGJ5IHN0bW1hYyBoYXJkd2FyZS4KClRoZXJlZm9yZSwgYmVjYXVzZSBgc3RtbWFjYCByZWxpZXMgb24gdW5kZXJseWluZyBoYXJkd2FyZSB0aGF0JiMzOTtzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIHRoZSBkcml2ZXImIzM5O3MgcHJvYmUgZnVuY3Rpb24gaXMgbmV2ZXIgZXhlY3V0ZWQsIGFuZCBubyBgc3RtbWFjYCBgbmV0X2RldmljZWAgaXMgZXZlciBjcmVhdGVkLgoKU28sIHJlcmVhZGluZyB0aGUgaW5zdHJ1Y3Rpb25zLCB0aGUgcGF0Y2ggbW9kaWZpZXMgJiMzNDtDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUuJiMzNDsgVGhpcyBzZWVtcyB0byBkaXJlY3RseSBhcHBseS4gU2luY2UgdGhlcmUmIzM5O3Mgbm8gd2F5IHRvIHJlYWNoIHRoZSBgc3RtbWFjYCBkcml2ZXIgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UsIGl0IGZhbGxzIHVuZGVyIHRoYXQgZXhjZXB0aW9uLiBObyBmdXJ0aGVyIGludmVzdGlnYXRpb24gaW50byByZWFjaGFibGUgY29kZSBpcyBuZWNlc3NhcnkuCgpJJiMzOTttIGNvbmZpZGVudCB3ZSBjYW4gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt0Y19zZXR1cF9kd21hYzUxMF9tcXByaW8mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYz0xMjcwPXN0YXRpYyB2b2lkIHN0bW1hY19yZXNldF90Y19tcXByaW8oc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3RjLmMtMTI4NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jOjEyODY6c3RhdGljIGludCB0Y19zZXR1cF9kd21hYzUxMF9tcXByaW8oc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3RjLmMtMTI4Ny1cdFx0XHRcdCAgICBzdHJ1Y3QgdGNfbXFwcmlvX3FvcHRfb2ZmbG9hZCAqbXFwcmlvKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jPTEzNjQ9Y29uc3Qgc3RydWN0IHN0bW1hY190Y19vcHMgZHdtYWM1MTBfdGNfb3BzID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jLTEzNzEtXHQucXVlcnlfY2FwcyA9IHRjX3F1ZXJ5X2NhcHMsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYzoxMzcyOlx0LnNldHVwX21xcHJpbyA9IHRjX3NldHVwX2R3bWFjNTEwX21xcHJpbyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jLTEzNzMtfTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjkgMDg6Mzk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjUxNzQKCQkJCQkJCW91dHB1dDogMTIwCgkJCQkJCQl0aG91Z2h0czogMjgxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIEZ1enppbmcgU3VpdGFiaWxpdHkqKgoKT2theSwgc28gaGVyZSYjMzk7cyB3aGF0IEkmIzM5O3ZlIGRldGVybWluZWQgYWZ0ZXIgcmV2aWV3aW5nIHRoZSBjb2RlLiBUaGUgYGR3bWFjNTEwX3RjX29wc2Agc3RydWN0dXJlIGlzIGJlaW5nIGFzc2lnbmVkIHRvIGBwcml2LSZndDtody0mZ3Q7dGNgIGR1cmluZyB0aGUgaGFyZHdhcmUgc2V0dXAgcGhhc2Ugd2l0aGluIHRoZSBzdG1tYWMgZHJpdmVyLiBGdXJ0aGVyIGludmVzdGlnYXRpb24gcmV2ZWFsZWQgdGhhdCBgdGNfdGFwcmlvX2NvbmZpZ3VyZWAgaXMgY2FsbGVkIHdpdGhpbiBgdGNfc2V0dXBfdGFwcmlvKClgIGZ1bmN0aW9uLCBhbGwgd2l0aGluIHRoZSBgc3RtbWFjYCBkcml2ZXIgZGlyZWN0b3J5LiBUaGlzIGFsbCBwb2ludHMgdG8gdGhpcyBmdW5jdGlvbmFsaXR5IGJlaW5nIGludHJpbnNpY2FsbHkgdGllZCB0byBzcGVjaWZpYyBTeW5vcHN5cyBEV01BQyBoYXJkd2FyZSwgc3BlY2lmaWNhbGx5IHZlcnNpb24gNS4xMCBvciBsYXRlci4gSXQmIzM5O3Mgbm90IHNvbWV0aGluZyB0aGF0IGNhbiBiZSByZXBsaWNhdGVkIG9yIGV4ZXJjaXNlZCBpbiBhIHN0YW5kYXJkIHZpcnR1YWwgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIGEgR29vZ2xlIENvbXB1dGUgRW5naW5lIFZNLgoKVGhlcmVmb3JlLCBhZnRlciBjb25zaWRlcmluZyBhbGwgZmFjdG9ycywgdGhpcyBpcyBub3QgYSBjYW5kaWRhdGUgZm9yIGZ1enppbmcuIGBXb3J0aEZ1enppbmdgIGlzIGRlZmluaXRlbHkgYGZhbHNlYC4KCk5vdywgSSBuZWVkIHRvIHByb3ZpZGUgY2xlYXIgcmVhc29uaW5nIGZvciB0aGlzIGRlY2lzaW9uLiBJIHdpbGwgYXJ0aWN1bGF0ZSB0aGF0IHRoZSBjaGFuZ2VzIHJlc2lkZSB3aXRoaW4gdGhlIFNUTWljcm9lbGVjdHJvbmljcyAvIFN5bm9wc3lzIERlc2lnbldhcmUgRXRoZXJuZXQgTUFDIChzdG1tYWMpIGRyaXZlciwgZm9jdXNpbmcgb24gdGhlIFRDIC8gUW9TIG9mZmxvYWQgaGFuZGxpbmcsIGFuZCBzcGVjaWZpY2FsbHksIHRoZSBNUVBSSU8gYW5kIFRBUFJJTyBxZGlzY3MgaW4gYHN0bW1hY190Yy5jYC4gSSB3aWxsIGVtcGhhc2l6ZSB0aGUgaGFyZHdhcmUgZGVwZW5kZW5jeSwgaGlnaGxpZ2h0aW5nIHRoYXQgaXQgcmVxdWlyZXMgcGh5c2ljYWwgRFdNQUMgaGFyZHdhcmUsIHdoaWNoIGlzIG5vdCBlbXVsYXRlZCBpbiB0aGUgdmlydHVhbGl6ZWQgdGVzdGluZyBlbnZpcm9ubWVudHMuCgpGaW5hbGx5LCBJJiMzOTtsbCBwYXNzIGFuIGVtcHR5IGFycmF5IGZvciBib3RoIGBGb2N1c1N5bWJvbHNgIGFuZCBgRW5hYmxlQ29uZmlnc2Agc2luY2UgdGhlcmUgYXJlbiYjMzk7dCBhbnkgc3BlY2lmaWMgc3ltYm9scyBvciBjb25maWd1cmF0aW9ucyByZWxldmFudCB0byB0aGlzIGZ1enppbmcgYXNzZXNzbWVudC4KClRpbWUgdG8gY2FsbCBgc2V0LXJlc3VsdHNgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE2LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRyYWZmaWMgY29udHJvbCBvZmZsb2FkIGhhbmRsaW5nIChNUVBSSU8gYW5kIFRBUFJJTyBxZGlzYyBjb25maWd1cmF0aW9uIGFuZCBjbGVhbnVwKSBpbiB0aGUgU1RNaWNyb2VsZWN0cm9uaWNzIC8gU3lub3BzeXMgRGVzaWduV2FyZSBFdGhlcm5ldCBNQUMgKHN0bW1hYykgZHJpdmVyIChzdG1tYWNfdGMuYykuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIFN5bm9wc3lzIERXTUFDIGhhcmR3YXJlL1NvQyBJUCBjb3JlcyB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhpcyBjb2RlIHVucmVhY2hhYmxlIGZvciBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdHJhZmZpYyBjb250cm9sIG9mZmxvYWQgaGFuZGxpbmcgKE1RUFJJTyBhbmQgVEFQUklPIHFkaXNjIGNvbmZpZ3VyYXRpb24gYW5kIGNsZWFudXApIGluIHRoZSBTVE1pY3JvZWxlY3Ryb25pY3MgLyBTeW5vcHN5cyBEZXNpZ25XYXJlIEV0aGVybmV0IE1BQyAoc3RtbWFjKSBkcml2ZXIgKHN0bW1hY190Yy5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgU3lub3BzeXMgRFdNQUMgaGFyZHdhcmUvU29DIElQIGNvcmVzIHRoYXQgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGlzIGNvZGUgdW5yZWFjaGFibGUgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE3LzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+SWY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMjlUMDg6Mzg6NTEuNDk1MzM3MDQyWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTc3NTg2OTQ2MjUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJcIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0cmFmZmljIGNvbnRyb2wgb2ZmbG9hZCBoYW5kbGluZyAoTVFQUklPIGFuZCBUQVBSSU8gcWRpc2MgY29uZmlndXJhdGlvbiBhbmQgY2xlYW51cCkgaW4gdGhlIFNUTWljcm9lbGVjdHJvbmljcyAvIFN5bm9wc3lzIERlc2lnbldhcmUgRXRoZXJuZXQgTUFDIChzdG1tYWMpIGRyaXZlciAoc3RtbWFjX3RjLmMpLiBUaGlzIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBTeW5vcHN5cyBEV01BQyBoYXJkd2FyZS9Tb0MgSVAgY29yZXMgdGhhdCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWFraW5nIHRoaXMgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM4OjUxLjQ5NTM1OTg0MloiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTc4NDc4MTYyOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDk0NWMwN2Q4NTNkNmQ2MWQzMjhhMGE0Mjc5NjA1YjZiYzdiY2RmN2JcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFNhdCBBdWcgMjkgMDg6Mzg6NDkgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaFxcbmluZGV4IDc1ODJmY2E2Mzc0MTkuLjk1NzMxN2VjMTQ2MTMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmhcXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaFxcbkBAIC0yNTgsNiArMjU4LDEyIEBAIHN0cnVjdCBzdG1tYWNfbXNpIHtcXG4gXFx0Y2hhciBpbnRfbmFtZV90eF9pcnFbTVRMX01BWF9UWF9RVUVVRVNdW0lGTkFNU0laICsgMThdO1xcbiB9O1xcbiBcXG4rZW51bSBzdG1tYWNfcWRpc2NfdHlwZSB7XFxuK1xcdFNUTU1BQ19RRElTQ19OT05FID0gMCxcXG4rXFx0U1RNTUFDX1FESVNDX01RUFJJTyxcXG4rXFx0U1RNTUFDX1FESVNDX1RBUFJJTyxcXG4rfTtcXG4rXFxuIHN0cnVjdCBzdG1tYWNfcHJpdiB7XFxuIFxcdC8qIEZyZXF1ZW50bHkgdXNlZCB2YWx1ZXMgYXJlIGtlcHQgYWRqYWNlbnQgZm9yIGNhY2hlIGVmZmVjdCAqL1xcbiBcXHR1MzIgdHhfY29hbF9mcmFtZXNbTVRMX01BWF9UWF9RVUVVRVNdO1xcbkBAIC0yOTksNiArMzA1LDcgQEAgc3RydWN0IHN0bW1hY19wcml2IHtcXG4gXFx0LyogUHJvdGVjdCBlc3QgcGFyYW1ldGVycyAqL1xcbiBcXHRzdHJ1Y3QgbXV0ZXggZXN0X2xvY2s7XFxuIFxcdHN0cnVjdCBzdG1tYWNfZXN0ICplc3Q7XFxuK1xcdGVudW0gc3RtbWFjX3FkaXNjX3R5cGUgcWRpc2NfdHlwZTtcXG4gXFx0c3RydWN0IGRtYV9mZWF0dXJlcyBkbWFfY2FwO1xcbiBcXHRzdHJ1Y3Qgc3RtbWFjX2NvdW50ZXJzIG1tYztcXG4gXFx0aW50IGh3X2NhcF9zdXBwb3J0O1xcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jXFxuaW5kZXggMTRjYWJlNzZlNTNlYy4uN2ZlNTg3YjQ3ZDUyNCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jXFxuQEAgLTExMDMsNiArMTEwMyw4IEBAIHN0YXRpYyBpbnQgdGNfdGFwcmlvX2NvbmZpZ3VyZShzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsXFxuIFxcdGlmIChyZXQpXFxuIFxcdFxcdGdvdG8gZGlzYWJsZTtcXG4gXFxuK1xcdHByaXYtXFx1MDAzZXFkaXNjX3R5cGUgPSBTVE1NQUNfUURJU0NfVEFQUklPO1xcbitcXG4gXFx0cmV0dXJuIDA7XFxuIFxcbiBkaXNhYmxlOlxcbkBAIC0xMTIwLDcgKzExMjIsMTEgQEAgc3RhdGljIGludCB0Y190YXByaW9fY29uZmlndXJlKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdixcXG4gXFx0XFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZwcml2LVxcdTAwM2Vlc3RfbG9jayk7XFxuIFxcdH1cXG4gXFxuLVxcdHN0bW1hY19mcGVfbWFwX3ByZWVtcHRpb25fY2xhc3MocHJpdiwgcHJpdi1cXHUwMDNlZGV2LCBleHRhY2ssIDApO1xcbitcXHRpZiAocHJpdi1cXHUwMDNlcWRpc2NfdHlwZSA9PSBTVE1NQUNfUURJU0NfVEFQUklPIFxcdTAwMjZcXHUwMDI2XFxuK1xcdCAgICBxb3B0LVxcdTAwM2VjbWQgPT0gVEFQUklPX0NNRF9ERVNUUk9ZKSB7XFxuK1xcdFxcdHN0bW1hY19mcGVfbWFwX3ByZWVtcHRpb25fY2xhc3MocHJpdiwgcHJpdi1cXHUwMDNlZGV2LCBleHRhY2ssIDApO1xcbitcXHRcXHRwcml2LVxcdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX05PTkU7XFxuK1xcdH1cXG4gXFxuIFxcdHJldHVybiByZXQ7XFxuIH1cXG5AQCAtMTIzNyw1OCArMTI0MywxMDEgQEAgc3RhdGljIGludCB0Y19xdWVyeV9jYXBzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdixcXG4gXFx0fVxcbiB9XFxuIFxcbitzdGF0aWMgaW50IHN0bW1hY19zZXRfbmRldl90Y3Moc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsIHU4IG50YyxcXG4rXFx0XFx0XFx0ICAgICAgIHN0cnVjdCBuZXRkZXZfdGNfdHhxICp0Y190b190eHEpXFxuK3tcXG4rXFx0aW50IGksIGVycjtcXG4rXFxuK1xcdG5ldGRldl9yZXNldF90YyhuZGV2KTtcXG4rXFx0aWYgKG50YyA9PSAxKVxcbitcXHRcXHRyZXR1cm4gMDtcXG4rXFxuK1xcdGVyciA9IG5ldGRldl9zZXRfbnVtX3RjKG5kZXYsIG50Yyk7XFxuK1xcdGlmIChlcnIpXFxuK1xcdFxcdHJldHVybiBlcnI7XFxuK1xcbitcXHRmb3IgKGkgPSAwOyBpIFxcdTAwM2MgbnRjOyBpKyspIHtcXG4rXFx0XFx0dTE2IGNvdW50LCBvZmZzZXQ7XFxuK1xcbitcXHRcXHRjb3VudCA9IHRjX3RvX3R4cVtpXS5jb3VudDtcXG4rXFx0XFx0b2Zmc2V0ID0gdGNfdG9fdHhxW2ldLm9mZnNldDtcXG4rXFx0XFx0bmV0ZGV2X3NldF90Y19xdWV1ZShuZGV2LCBpLCBjb3VudCwgb2Zmc2V0KTtcXG4rXFx0fVxcbitcXG4rXFx0cmV0dXJuIDA7XFxuK31cXG4rXFxuIHN0YXRpYyB2b2lkIHN0bW1hY19yZXNldF90Y19tcXByaW8oc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXFxuIFxcdFxcdFxcdFxcdCAgIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaylcXG4ge1xcbiBcXHRzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihuZGV2KTtcXG4gXFxuLVxcdG5ldGRldl9yZXNldF90YyhuZGV2KTtcXG4tXFx0bmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LCBwcml2LVxcdTAwM2VwbGF0LVxcdTAwM2V0eF9xdWV1ZXNfdG9fdXNlKTtcXG4tXFx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssIDApO1xcbitcXHRpZiAocHJpdi1cXHUwMDNlcWRpc2NfdHlwZSAhPSBTVE1NQUNfUURJU0NfVEFQUklPKVxcbitcXHRcXHRzdG1tYWNfZnBlX21hcF9wcmVlbXB0aW9uX2NsYXNzKHByaXYsIG5kZXYsIGV4dGFjaywgMCk7XFxuK1xcbitcXHRpZiAocHJpdi1cXHUwMDNlcWRpc2NfdHlwZSA9PSBTVE1NQUNfUURJU0NfTVFQUklPKSB7XFxuK1xcdFxcdG5ldGRldl9yZXNldF90YyhuZGV2KTtcXG4rXFx0XFx0bmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LFxcbitcXHRcXHRcXHRcXHRcXHQgICAgIHByaXYtXFx1MDAzZXBsYXQtXFx1MDAzZXR4X3F1ZXVlc190b191c2UpO1xcbitcXHRcXHRwcml2LVxcdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX05PTkU7XFxuK1xcdH1cXG4gfVxcbiBcXG4gc3RhdGljIGludCB0Y19zZXR1cF9kd21hYzUxMF9tcXByaW8oc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxcbiBcXHRcXHRcXHRcXHQgICAgc3RydWN0IHRjX21xcHJpb19xb3B0X29mZmxvYWQgKm1xcHJpbylcXG4ge1xcbitcXHR1bnNpZ25lZCBpbnQgbmRldl9udW1fdHhfcXVldWVzLCBudW1fdHhfcXVldWVzID0gMDtcXG4rXFx0c3RydWN0IG5ldGRldl90Y190eHEgbmRldl90Y190b190eHFbVENfTUFYX1FVRVVFXTtcXG4rXFx0c3RydWN0IG5ldGRldl90Y190eHEgdGNfdG9fdHhxW1RDX01BWF9RVUVVRV0gPSB7fTtcXG4gXFx0c3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrID0gbXFwcmlvLVxcdTAwM2VleHRhY2s7XFxuIFxcdHN0cnVjdCB0Y19tcXByaW9fcW9wdCAqcW9wdCA9IFxcdTAwMjZtcXByaW8tXFx1MDAzZXFvcHQ7XFxuLVxcdHUzMiBvZmZzZXQsIGNvdW50LCBudW1fc3RhY2tfdHhfcXVldWVzID0gMDtcXG4gXFx0c3RydWN0IG5ldF9kZXZpY2UgKm5kZXYgPSBwcml2LVxcdTAwM2VkZXY7XFxuLVxcdHUzMiBudW1fdGMgPSBxb3B0LVxcdTAwM2VudW1fdGM7XFxuLVxcdGludCBlcnI7XFxuK1xcdGludCBpLCBlcnIsIG5kZXZfbnRjO1xcbiBcXG4tXFx0aWYgKCFudW1fdGMpIHtcXG4rXFx0aWYgKCFxb3B0LVxcdTAwM2VudW1fdGMpIHtcXG4gXFx0XFx0c3RtbWFjX3Jlc2V0X3RjX21xcHJpbyhuZGV2LCBleHRhY2spO1xcbiBcXHRcXHRyZXR1cm4gMDtcXG4gXFx0fVxcbiBcXG4tXFx0ZXJyID0gbmV0ZGV2X3NldF9udW1fdGMobmRldiwgbnVtX3RjKTtcXG4tXFx0aWYgKGVycilcXG4tXFx0XFx0cmV0dXJuIGVycjtcXG4tXFxuLVxcdGZvciAodTMyIHRjID0gMDsgdGMgXFx1MDAzYyBudW1fdGM7IHRjKyspIHtcXG4tXFx0XFx0b2Zmc2V0ID0gcW9wdC1cXHUwMDNlb2Zmc2V0W3RjXTtcXG4tXFx0XFx0Y291bnQgPSBxb3B0LVxcdTAwM2Vjb3VudFt0Y107XFxuLVxcdFxcdG51bV9zdGFja190eF9xdWV1ZXMgKz0gY291bnQ7XFxuK1xcdGlmIChxb3B0LVxcdTAwM2VudW1fdGMgXFx1MDAzZSBBUlJBWV9TSVpFKHRjX3RvX3R4cSkpXFxuK1xcdFxcdHJldHVybiAtRUlOVkFMO1xcbiBcXG4tXFx0XFx0ZXJyID0gbmV0ZGV2X3NldF90Y19xdWV1ZShuZGV2LCB0YywgY291bnQsIG9mZnNldCk7XFxuLVxcdFxcdGlmIChlcnIpXFxuLVxcdFxcdFxcdGdvdG8gZXJyX3Jlc2V0X3RjO1xcbitcXHQvKiBzYXZlIGN1cnJlbnQgdGMgdmFsdWVzIGZvciByZXNldCAqL1xcbitcXHRuZGV2X250YyA9IG5ldGRldl9nZXRfbnVtX3RjKG5kZXYpID8gOiAxO1xcbitcXHRmb3IgKGkgPSAwOyBpIFxcdTAwM2MgQVJSQVlfU0laRShuZGV2LVxcdTAwM2V0Y190b190eHEpOyBpKyspXFxuK1xcdFxcdG5kZXZfdGNfdG9fdHhxW2ldLmNvbWJpbmVkID1cXG4rXFx0XFx0XFx0UkVBRF9PTkNFKG5kZXYtXFx1MDAzZXRjX3RvX3R4cVtpXS5jb21iaW5lZCk7XFxuK1xcbitcXHRmb3IgKGkgPSAwOyBpIFxcdTAwM2MgcW9wdC1cXHUwMDNlbnVtX3RjOyBpKyspIHtcXG4rXFx0XFx0dGNfdG9fdHhxW2ldID0gKHN0cnVjdCBuZXRkZXZfdGNfdHhxKSB7XFxuK1xcdFxcdFxcdC5jb3VudCA9IHFvcHQtXFx1MDAzZWNvdW50W2ldLFxcbitcXHRcXHRcXHQub2Zmc2V0ID0gcW9wdC1cXHUwMDNlb2Zmc2V0W2ldLFxcbitcXHRcXHR9O1xcbitcXHRcXHRudW1fdHhfcXVldWVzICs9IHFvcHQtXFx1MDAzZWNvdW50W2ldO1xcbiBcXHR9XFxuIFxcbi1cXHRlcnIgPSBuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIG51bV9zdGFja190eF9xdWV1ZXMpO1xcbitcXHRlcnIgPSBzdG1tYWNfc2V0X25kZXZfdGNzKG5kZXYsIHFvcHQtXFx1MDAzZW51bV90YywgdGNfdG9fdHhxKTtcXG4gXFx0aWYgKGVycilcXG4tXFx0XFx0Z290byBlcnJfcmVzZXRfdGM7XFxuK1xcdFxcdGdvdG8gZXJyb3JfcmVzZXRfdGM7XFxuK1xcbitcXHRuZGV2X251bV90eF9xdWV1ZXMgPSBuZGV2LVxcdTAwM2VyZWFsX251bV90eF9xdWV1ZXM7XFxuK1xcdGVyciA9IG5ldGlmX3NldF9yZWFsX251bV90eF9xdWV1ZXMobmRldiwgbnVtX3R4X3F1ZXVlcyk7XFxuK1xcdGlmIChlcnIpXFxuK1xcdFxcdGdvdG8gZXJyb3JfcmVzZXRfdGM7XFxuIFxcbiBcXHRlcnIgPSBzdG1tYWNfZnBlX21hcF9wcmVlbXB0aW9uX2NsYXNzKHByaXYsIG5kZXYsIGV4dGFjayxcXG4gXFx0XFx0XFx0XFx0XFx0ICAgICAgbXFwcmlvLVxcdTAwM2VwcmVlbXB0aWJsZV90Y3MpO1xcbiBcXHRpZiAoZXJyKVxcbi1cXHRcXHRnb3RvIGVycl9yZXNldF90YztcXG4rXFx0XFx0Z290byBlcnJvcl9yZXNldF9udW1fdHhfcXVldWVzO1xcbitcXG4rXFx0cHJpdi1cXHUwMDNlcWRpc2NfdHlwZSA9IFNUTU1BQ19RRElTQ19NUVBSSU87XFxuIFxcbiBcXHRyZXR1cm4gMDtcXG4gXFxuLWVycl9yZXNldF90YzpcXG4tXFx0c3RtbWFjX3Jlc2V0X3RjX21xcHJpbyhuZGV2LCBleHRhY2spO1xcbitlcnJvcl9yZXNldF9udW1fdHhfcXVldWVzOlxcbitcXHRuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIG5kZXZfbnVtX3R4X3F1ZXVlcyk7XFxuK2Vycm9yX3Jlc2V0X3RjOlxcbitcXHRzdG1tYWNfc2V0X25kZXZfdGNzKG5kZXYsIG5kZXZfbnRjLCBuZGV2X3RjX3RvX3R4cSk7XFxuIFxcbiBcXHRyZXR1cm4gZXJyO1xcbiB9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM4OjUzLjI4MzAwNTc2MVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImNvcmUiLCJEdXJhdGlvbiI6NTU5NzEwMDY2MTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRyYWZmaWMgY29udHJvbCBvZmZsb2FkIGhhbmRsaW5nIChNUVBSSU8gYW5kIFRBUFJJTyBxZGlzYyBjb25maWd1cmF0aW9uIGFuZCBjbGVhbnVwKSBpbiB0aGUgU1RNaWNyb2VsZWN0cm9uaWNzIC8gU3lub3BzeXMgRGVzaWduV2FyZSBFdGhlcm5ldCBNQUMgKHN0bW1hYykgZHJpdmVyIChzdG1tYWNfdGMuYykuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIFN5bm9wc3lzIERXTUFDIGhhcmR3YXJlL1NvQyBJUCBjb3JlcyB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhpcyBjb2RlIHVucmVhY2hhYmxlIGZvciBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgOTQ1YzA3ZDg1M2Q2ZDYxZDMyOGEwYTQyNzk2MDViNmJjN2JjZGY3YlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgQXVnIDI5IDA4OjM4OjQ5IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaFxuaW5kZXggNzU4MmZjYTYzNzQxOS4uOTU3MzE3ZWMxNDYxMyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hYy5oXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaFxuQEAgLTI1OCw2ICsyNTgsMTIgQEAgc3RydWN0IHN0bW1hY19tc2kge1xuIFx0Y2hhciBpbnRfbmFtZV90eF9pcnFbTVRMX01BWF9UWF9RVUVVRVNdW0lGTkFNU0laICsgMThdO1xuIH07XG4gXG4rZW51bSBzdG1tYWNfcWRpc2NfdHlwZSB7XG4rXHRTVE1NQUNfUURJU0NfTk9ORSA9IDAsXG4rXHRTVE1NQUNfUURJU0NfTVFQUklPLFxuK1x0U1RNTUFDX1FESVNDX1RBUFJJTyxcbit9O1xuK1xuIHN0cnVjdCBzdG1tYWNfcHJpdiB7XG4gXHQvKiBGcmVxdWVudGx5IHVzZWQgdmFsdWVzIGFyZSBrZXB0IGFkamFjZW50IGZvciBjYWNoZSBlZmZlY3QgKi9cbiBcdHUzMiB0eF9jb2FsX2ZyYW1lc1tNVExfTUFYX1RYX1FVRVVFU107XG5AQCAtMjk5LDYgKzMwNSw3IEBAIHN0cnVjdCBzdG1tYWNfcHJpdiB7XG4gXHQvKiBQcm90ZWN0IGVzdCBwYXJhbWV0ZXJzICovXG4gXHRzdHJ1Y3QgbXV0ZXggZXN0X2xvY2s7XG4gXHRzdHJ1Y3Qgc3RtbWFjX2VzdCAqZXN0O1xuK1x0ZW51bSBzdG1tYWNfcWRpc2NfdHlwZSBxZGlzY190eXBlO1xuIFx0c3RydWN0IGRtYV9mZWF0dXJlcyBkbWFfY2FwO1xuIFx0c3RydWN0IHN0bW1hY19jb3VudGVycyBtbWM7XG4gXHRpbnQgaHdfY2FwX3N1cHBvcnQ7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3RjLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuY1xuaW5kZXggMTRjYWJlNzZlNTNlYy4uN2ZlNTg3YjQ3ZDUyNCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuY1xuQEAgLTExMDMsNiArMTEwMyw4IEBAIHN0YXRpYyBpbnQgdGNfdGFwcmlvX2NvbmZpZ3VyZShzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsXG4gXHRpZiAocmV0KVxuIFx0XHRnb3RvIGRpc2FibGU7XG4gXG4rXHRwcml2LVx1MDAzZXFkaXNjX3R5cGUgPSBTVE1NQUNfUURJU0NfVEFQUklPO1xuK1xuIFx0cmV0dXJuIDA7XG4gXG4gZGlzYWJsZTpcbkBAIC0xMTIwLDcgKzExMjIsMTEgQEAgc3RhdGljIGludCB0Y190YXByaW9fY29uZmlndXJlKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdixcbiBcdFx0bXV0ZXhfdW5sb2NrKFx1MDAyNnByaXYtXHUwMDNlZXN0X2xvY2spO1xuIFx0fVxuIFxuLVx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LVx1MDAzZWRldiwgZXh0YWNrLCAwKTtcbitcdGlmIChwcml2LVx1MDAzZXFkaXNjX3R5cGUgPT0gU1RNTUFDX1FESVNDX1RBUFJJTyBcdTAwMjZcdTAwMjZcbitcdCAgICBxb3B0LVx1MDAzZWNtZCA9PSBUQVBSSU9fQ01EX0RFU1RST1kpIHtcbitcdFx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LVx1MDAzZWRldiwgZXh0YWNrLCAwKTtcbitcdFx0cHJpdi1cdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX05PTkU7XG4rXHR9XG4gXG4gXHRyZXR1cm4gcmV0O1xuIH1cbkBAIC0xMjM3LDU4ICsxMjQzLDEwMSBAQCBzdGF0aWMgaW50IHRjX3F1ZXJ5X2NhcHMoc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxuIFx0fVxuIH1cbiBcbitzdGF0aWMgaW50IHN0bW1hY19zZXRfbmRldl90Y3Moc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsIHU4IG50YyxcbitcdFx0XHQgICAgICAgc3RydWN0IG5ldGRldl90Y190eHEgKnRjX3RvX3R4cSlcbit7XG4rXHRpbnQgaSwgZXJyO1xuK1xuK1x0bmV0ZGV2X3Jlc2V0X3RjKG5kZXYpO1xuK1x0aWYgKG50YyA9PSAxKVxuK1x0XHRyZXR1cm4gMDtcbitcbitcdGVyciA9IG5ldGRldl9zZXRfbnVtX3RjKG5kZXYsIG50Yyk7XG4rXHRpZiAoZXJyKVxuK1x0XHRyZXR1cm4gZXJyO1xuK1xuK1x0Zm9yIChpID0gMDsgaSBcdTAwM2MgbnRjOyBpKyspIHtcbitcdFx0dTE2IGNvdW50LCBvZmZzZXQ7XG4rXG4rXHRcdGNvdW50ID0gdGNfdG9fdHhxW2ldLmNvdW50O1xuK1x0XHRvZmZzZXQgPSB0Y190b190eHFbaV0ub2Zmc2V0O1xuK1x0XHRuZXRkZXZfc2V0X3RjX3F1ZXVlKG5kZXYsIGksIGNvdW50LCBvZmZzZXQpO1xuK1x0fVxuK1xuK1x0cmV0dXJuIDA7XG4rfVxuK1xuIHN0YXRpYyB2b2lkIHN0bW1hY19yZXNldF90Y19tcXByaW8oc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4gXHRcdFx0XHQgICBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spXG4ge1xuIFx0c3RydWN0IHN0bW1hY19wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYobmRldik7XG4gXG4tXHRuZXRkZXZfcmVzZXRfdGMobmRldik7XG4tXHRuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIHByaXYtXHUwMDNlcGxhdC1cdTAwM2V0eF9xdWV1ZXNfdG9fdXNlKTtcbi1cdHN0bW1hY19mcGVfbWFwX3ByZWVtcHRpb25fY2xhc3MocHJpdiwgbmRldiwgZXh0YWNrLCAwKTtcbitcdGlmIChwcml2LVx1MDAzZXFkaXNjX3R5cGUgIT0gU1RNTUFDX1FESVNDX1RBUFJJTylcbitcdFx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssIDApO1xuK1xuK1x0aWYgKHByaXYtXHUwMDNlcWRpc2NfdHlwZSA9PSBTVE1NQUNfUURJU0NfTVFQUklPKSB7XG4rXHRcdG5ldGRldl9yZXNldF90YyhuZGV2KTtcbitcdFx0bmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LFxuK1x0XHRcdFx0XHQgICAgIHByaXYtXHUwMDNlcGxhdC1cdTAwM2V0eF9xdWV1ZXNfdG9fdXNlKTtcbitcdFx0cHJpdi1cdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX05PTkU7XG4rXHR9XG4gfVxuIFxuIHN0YXRpYyBpbnQgdGNfc2V0dXBfZHdtYWM1MTBfbXFwcmlvKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdixcbiBcdFx0XHRcdCAgICBzdHJ1Y3QgdGNfbXFwcmlvX3FvcHRfb2ZmbG9hZCAqbXFwcmlvKVxuIHtcbitcdHVuc2lnbmVkIGludCBuZGV2X251bV90eF9xdWV1ZXMsIG51bV90eF9xdWV1ZXMgPSAwO1xuK1x0c3RydWN0IG5ldGRldl90Y190eHEgbmRldl90Y190b190eHFbVENfTUFYX1FVRVVFXTtcbitcdHN0cnVjdCBuZXRkZXZfdGNfdHhxIHRjX3RvX3R4cVtUQ19NQVhfUVVFVUVdID0ge307XG4gXHRzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2sgPSBtcXByaW8tXHUwMDNlZXh0YWNrO1xuIFx0c3RydWN0IHRjX21xcHJpb19xb3B0ICpxb3B0ID0gXHUwMDI2bXFwcmlvLVx1MDAzZXFvcHQ7XG4tXHR1MzIgb2Zmc2V0LCBjb3VudCwgbnVtX3N0YWNrX3R4X3F1ZXVlcyA9IDA7XG4gXHRzdHJ1Y3QgbmV0X2RldmljZSAqbmRldiA9IHByaXYtXHUwMDNlZGV2O1xuLVx0dTMyIG51bV90YyA9IHFvcHQtXHUwMDNlbnVtX3RjO1xuLVx0aW50IGVycjtcbitcdGludCBpLCBlcnIsIG5kZXZfbnRjO1xuIFxuLVx0aWYgKCFudW1fdGMpIHtcbitcdGlmICghcW9wdC1cdTAwM2VudW1fdGMpIHtcbiBcdFx0c3RtbWFjX3Jlc2V0X3RjX21xcHJpbyhuZGV2LCBleHRhY2spO1xuIFx0XHRyZXR1cm4gMDtcbiBcdH1cbiBcbi1cdGVyciA9IG5ldGRldl9zZXRfbnVtX3RjKG5kZXYsIG51bV90Yyk7XG4tXHRpZiAoZXJyKVxuLVx0XHRyZXR1cm4gZXJyO1xuLVxuLVx0Zm9yICh1MzIgdGMgPSAwOyB0YyBcdTAwM2MgbnVtX3RjOyB0YysrKSB7XG4tXHRcdG9mZnNldCA9IHFvcHQtXHUwMDNlb2Zmc2V0W3RjXTtcbi1cdFx0Y291bnQgPSBxb3B0LVx1MDAzZWNvdW50W3RjXTtcbi1cdFx0bnVtX3N0YWNrX3R4X3F1ZXVlcyArPSBjb3VudDtcbitcdGlmIChxb3B0LVx1MDAzZW51bV90YyBcdTAwM2UgQVJSQVlfU0laRSh0Y190b190eHEpKVxuK1x0XHRyZXR1cm4gLUVJTlZBTDtcbiBcbi1cdFx0ZXJyID0gbmV0ZGV2X3NldF90Y19xdWV1ZShuZGV2LCB0YywgY291bnQsIG9mZnNldCk7XG4tXHRcdGlmIChlcnIpXG4tXHRcdFx0Z290byBlcnJfcmVzZXRfdGM7XG4rXHQvKiBzYXZlIGN1cnJlbnQgdGMgdmFsdWVzIGZvciByZXNldCAqL1xuK1x0bmRldl9udGMgPSBuZXRkZXZfZ2V0X251bV90YyhuZGV2KSA/IDogMTtcbitcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUobmRldi1cdTAwM2V0Y190b190eHEpOyBpKyspXG4rXHRcdG5kZXZfdGNfdG9fdHhxW2ldLmNvbWJpbmVkID1cbitcdFx0XHRSRUFEX09OQ0UobmRldi1cdTAwM2V0Y190b190eHFbaV0uY29tYmluZWQpO1xuK1xuK1x0Zm9yIChpID0gMDsgaSBcdTAwM2MgcW9wdC1cdTAwM2VudW1fdGM7IGkrKykge1xuK1x0XHR0Y190b190eHFbaV0gPSAoc3RydWN0IG5ldGRldl90Y190eHEpIHtcbitcdFx0XHQuY291bnQgPSBxb3B0LVx1MDAzZWNvdW50W2ldLFxuK1x0XHRcdC5vZmZzZXQgPSBxb3B0LVx1MDAzZW9mZnNldFtpXSxcbitcdFx0fTtcbitcdFx0bnVtX3R4X3F1ZXVlcyArPSBxb3B0LVx1MDAzZWNvdW50W2ldO1xuIFx0fVxuIFxuLVx0ZXJyID0gbmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LCBudW1fc3RhY2tfdHhfcXVldWVzKTtcbitcdGVyciA9IHN0bW1hY19zZXRfbmRldl90Y3MobmRldiwgcW9wdC1cdTAwM2VudW1fdGMsIHRjX3RvX3R4cSk7XG4gXHRpZiAoZXJyKVxuLVx0XHRnb3RvIGVycl9yZXNldF90YztcbitcdFx0Z290byBlcnJvcl9yZXNldF90YztcbitcbitcdG5kZXZfbnVtX3R4X3F1ZXVlcyA9IG5kZXYtXHUwMDNlcmVhbF9udW1fdHhfcXVldWVzO1xuK1x0ZXJyID0gbmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LCBudW1fdHhfcXVldWVzKTtcbitcdGlmIChlcnIpXG4rXHRcdGdvdG8gZXJyb3JfcmVzZXRfdGM7XG4gXG4gXHRlcnIgPSBzdG1tYWNfZnBlX21hcF9wcmVlbXB0aW9uX2NsYXNzKHByaXYsIG5kZXYsIGV4dGFjayxcbiBcdFx0XHRcdFx0ICAgICAgbXFwcmlvLVx1MDAzZXByZWVtcHRpYmxlX3Rjcyk7XG4gXHRpZiAoZXJyKVxuLVx0XHRnb3RvIGVycl9yZXNldF90YztcbitcdFx0Z290byBlcnJvcl9yZXNldF9udW1fdHhfcXVldWVzO1xuK1xuK1x0cHJpdi1cdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX01RUFJJTztcbiBcbiBcdHJldHVybiAwO1xuIFxuLWVycl9yZXNldF90Yzpcbi1cdHN0bW1hY19yZXNldF90Y19tcXByaW8obmRldiwgZXh0YWNrKTtcbitlcnJvcl9yZXNldF9udW1fdHhfcXVldWVzOlxuK1x0bmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LCBuZGV2X251bV90eF9xdWV1ZXMpO1xuK2Vycm9yX3Jlc2V0X3RjOlxuK1x0c3RtbWFjX3NldF9uZGV2X3RjcyhuZGV2LCBuZGV2X250YywgbmRldl90Y190b190eHEpO1xuIFxuIFx0cmV0dXJuIGVycjtcbiB9XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yOVQwODozODo1My4yODMwMDg2ODFaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1OTI4NDgzMjQ3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgRmVhc2liaWxpdHkgQXNzZXNzbWVudCoqXG5cbk9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93bi4gTXkgaW5pdGlhbCBpbnN0aW5jdCBpcyB0byBkZXRlcm1pbmUgaWYgdGhpcyBwYXRjaCB3YXJyYW50cyBmdXp6aW5nLCBhbmQgaWYgc28sIGhvdy4gVGhlIGZpcnN0IHN0ZXAgaXMgdG8gcXVpY2tseSBpZGVudGlmeSB0aGUgc2NvcGUgb2YgdGhlIGNoYW5nZS4gSXQgbG9va3MgbGlrZSB3ZSdyZSBkZWFsaW5nIHdpdGggbW9kaWZpY2F0aW9ucyB0byBgc3RtbWFjLmhgIGFuZCBgc3RtbWFjX3RjLmNgLCBib3RoIGxvY2F0ZWQgd2l0aGluIHRoZSBgZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvYCBkaXJlY3RvcnkuIFRoYXQgcG9pbnRzIHVzIGRpcmVjdGx5IHRvIHRoZSBTVE1pY3JvZWxlY3Ryb25pY3MgRXRoZXJuZXQgZHJpdmVyLlxuXG5Ob3cgdGhlIGNyaXRpY2FsIHF1ZXN0aW9uOiBjYW4gSSBldmVuIHJlYWNoIHRoaXMgY29kZSB3aXRoIG15IGZ1enppbmcgc2V0dXA/IElzIGBzdG1tYWNgIHNvbWV0aGluZyB0aGF0J3Mgb25seSB0aWVkIHRvIHNwZWNpZmljIHBoeXNpY2FsIGhhcmR3YXJlLCBvciBkb2VzIGl0IGhhdmUgc29tZSBzb3J0IG9mIHZpcnR1YWxpemVkIHN1cHBvcnQ/IEkgbmVlZCB0byBrbm93IGlmIHRoaXMgZHJpdmVyIGlzIGFjY2Vzc2libGUgdGhyb3VnaCBzb21ldGhpbmcgbGlrZSBRRU1VIG9yIGluIGEgR0NFIGVudmlyb25tZW50LCBvciBpZiBpdCByZXF1aXJlcyBhIHNwZWNpZmljIGhhcmR3YXJlIHBsYXRmb3JtLiBTcGVjaWZpY2FsbHksIGRvZXMgaXQgdXNlIFBDSSwgb3IgaXMgaXQgYSBwbGF0Zm9ybSBkcml2ZXI/IElmIGl0J3MgYSBwbGF0Zm9ybSBkcml2ZXIsIGRvZXMgaXQgc3BlY2lmeSB3aGljaCBTb0NzIG9yIHBsYXRmb3JtcyBpdCBhdHRhY2hlcyB0bz8gVW5kZXJzdGFuZGluZyB0aGUgYXR0YWNobWVudCBtZWNoYW5pc20gYW5kIHBsYXRmb3JtIHJlcXVpcmVtZW50cyBpcyBrZXkgdG8gZmlndXJpbmcgb3V0IHRoZSBzZXR1cCBjb21wbGV4aXR5IGFuZCBpZiBmdXp6aW5nIGlzIHBvc3NpYmxlLiBTbywgSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCBgc3RtbWFjYCBhY3R1YWxseSAqaXMqIGFuZCBvbiB3aGF0IHBsYXRmb3Jtcy9idXNlcyBpdCBhdHRhY2hlcyB0by5cblxuXG4iLCJJbnB1dFRva2VucyI6NDMxNiwiT3V0cHV0VG9rZW5zIjoyMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE3OCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM4OjU5LjIxMTQ5NDAxOFoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozNDEyMDU1MDgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIkNPTkZJR19TVE1NQUNfRVRIXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy5yc3Q9OTU9S2VybmVsIENvbmZpZ3VyYXRpb25cXG4tLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy5yc3QtOTctXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLnJzdDo5ODpUaGUga2VybmVsIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGlzIGBgQ09ORklHX1NUTU1BQ19FVEhgYDpcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0LTk5LSAtIGBgQ09ORklHX1NUTU1BQ19QTEFURk9STWBgOiBpcyB0byBlbmFibGUgdGhlIHBsYXRmb3JtIGRyaXZlci5cXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvYXhzMTAxX2RlZmNvbmZpZz00ND1DT05GSUdfTkVUREVWSUNFUz15XFxuLS1cXG5hcmNoL2FyYy9jb25maWdzL2F4czEwMV9kZWZjb25maWctNTEtIyBDT05GSUdfTkVUX1ZFTkRPUl9TRUVRIGlzIG5vdCBzZXRcXG5hcmNoL2FyYy9jb25maWdzL2F4czEwMV9kZWZjb25maWc6NTI6Q09ORklHX1NUTU1BQ19FVEg9eVxcbmFyY2gvYXJjL2NvbmZpZ3MvYXhzMTAxX2RlZmNvbmZpZy01My0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2FyYy9jb25maWdzL2F4czEwM19kZWZjb25maWc9NDQ9Q09ORklHX05FVERFVklDRVM9eVxcbi0tXFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfZGVmY29uZmlnLTUxLSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfZGVmY29uZmlnOjUyOkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2FyYy9jb25maWdzL2F4czEwM19kZWZjb25maWctNTMtIyBDT05GSUdfTkVUX1ZFTkRPUl9WSUEgaXMgbm90IHNldFxcbi0tXFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZz00ND1DT05GSUdfTkVUREVWSUNFUz15XFxuLS1cXG5hcmNoL2FyYy9jb25maWdzL2F4czEwM19zbXBfZGVmY29uZmlnLTUxLSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZzo1MjpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZy01My0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2FyYy9jb25maWdzL2hzZGtfZGVmY29uZmlnPTM3PUNPTkZJR19ORVRERVZJQ0VTPXlcXG5hcmNoL2FyYy9jb25maWdzL2hzZGtfZGVmY29uZmlnOjM4OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2FyYy9jb25maWdzL2hzZGtfZGVmY29uZmlnLTM5LUNPTkZJR19NSUNSRUxfUEhZPXlcXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvdGIxMHhfZGVmY29uZmlnPTQxPUNPTkZJR19ORVRERVZJQ0VTPXlcXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvdGIxMHhfZGVmY29uZmlnLTQ3LSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XFxuYXJjaC9hcmMvY29uZmlncy90YjEweF9kZWZjb25maWc6NDg6Q09ORklHX1NUTU1BQ19FVEg9eVxcbmFyY2gvYXJjL2NvbmZpZ3MvdGIxMHhfZGVmY29uZmlnLTQ5LSMgQ09ORklHX05FVF9WRU5ET1JfV0laTkVUIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfZGVmY29uZmlnPTM5PUNPTkZJR19ORVRERVZJQ0VTPXlcXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfZGVmY29uZmlnLTQ2LSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XFxuYXJjaC9hcmMvY29uZmlncy92ZGtfaHMzOF9kZWZjb25maWc6NDc6Q09ORklHX1NUTU1BQ19FVEg9eVxcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfZGVmY29uZmlnLTQ4LSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfc21wX2RlZmNvbmZpZz00MT1DT05GSUdfTkVUREVWSUNFUz15XFxuLS1cXG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X3NtcF9kZWZjb25maWctNDgtIyBDT05GSUdfTkVUX1ZFTkRPUl9TRUVRIGlzIG5vdCBzZXRcXG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X3NtcF9kZWZjb25maWc6NDk6Q09ORklHX1NUTU1BQ19FVEg9eVxcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfc21wX2RlZmNvbmZpZy01MC0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2FybS9jb25maWdzL2xwYzE4eHhfZGVmY29uZmlnPTYxPUNPTkZJR19ORVRERVZJQ0VTPXlcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3MvbHBjMTh4eF9kZWZjb25maWctNzYtIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcXG5hcmNoL2FybS9jb25maWdzL2xwYzE4eHhfZGVmY29uZmlnOjc3OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2FybS9jb25maWdzL2xwYzE4eHhfZGVmY29uZmlnLTc4LSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3MvbXVsdGlfdjdfZGVmY29uZmlnPTI3Nj1DT05GSUdfU05JX0FWRT15XFxuYXJjaC9hcm0vY29uZmlncy9tdWx0aV92N19kZWZjb25maWc6Mjc3OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2FybS9jb25maWdzL211bHRpX3Y3X2RlZmNvbmZpZy0yNzgtQ09ORklHX0RXTUFDX0RXQ19RT1NfRVRIPXlcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3MvcHhhX2RlZmNvbmZpZz0xNzc9Q09ORklHX1NNU0M5MTFYPW1cXG5hcmNoL2FybS9jb25maWdzL3B4YV9kZWZjb25maWc6MTc4OkNPTkZJR19TVE1NQUNfRVRIPW1cXG5hcmNoL2FybS9jb25maWdzL3B4YV9kZWZjb25maWctMTc5LUNPTkZJR19QSFlMSUI9eVxcbi0tXFxuYXJjaC9hcm0vY29uZmlncy9zaG1vYmlsZV9kZWZjb25maWc9NTk9Q09ORklHX1NNU0M5MTFYPXlcXG5hcmNoL2FybS9jb25maWdzL3NobW9iaWxlX2RlZmNvbmZpZzo2MDpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9hcm0vY29uZmlncy9zaG1vYmlsZV9kZWZjb25maWctNjEtIyBDT05GSUdfRFdNQUNfUkVORVNBU19HQkVUSCBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2FybS9jb25maWdzL3NvY2ZwZ2FfZGVmY29uZmlnPTY2PUNPTkZJR19JWEdCRT1tXFxuYXJjaC9hcm0vY29uZmlncy9zb2NmcGdhX2RlZmNvbmZpZzo2NzpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9hcm0vY29uZmlncy9zb2NmcGdhX2RlZmNvbmZpZy02OC1DT05GSUdfTUFSVkVMTF9QSFk9eVxcbi0tXFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjEzeHhfZGVmY29uZmlnPTQyPUNPTkZJR19ORVRERVZJQ0VTPXlcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXIxM3h4X2RlZmNvbmZpZy01MC0jIENPTkZJR19ORVRfVkVORE9SX1NNU0MgaXMgbm90IHNldFxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXIxM3h4X2RlZmNvbmZpZzo1MTpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjEzeHhfZGVmY29uZmlnLTUyLSMgQ09ORklHX1dMQU4gaXMgbm90IHNldFxcbi0tXFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjN4eF9kZWZjb25maWc9MjM9Q09ORklHX05FVERFVklDRVM9eVxcbi0tXFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjN4eF9kZWZjb25maWctMzEtIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcXG5hcmNoL2FybS9jb25maWdzL3NwZWFyM3h4X2RlZmNvbmZpZzozMjpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjN4eF9kZWZjb25maWctMzMtIyBDT05GSUdfV0xBTiBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2FybS9jb25maWdzL3NwZWFyNnh4X2RlZmNvbmZpZz0xOT1DT05GSUdfTkVUREVWSUNFUz15XFxuLS1cXG5hcmNoL2FybS9jb25maWdzL3NwZWFyNnh4X2RlZmNvbmZpZy0yNy0jIENPTkZJR19ORVRfVkVORE9SX1NNU0MgaXMgbm90IHNldFxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXI2eHhfZGVmY29uZmlnOjI4OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2FybS9jb25maWdzL3NwZWFyNnh4X2RlZmNvbmZpZy0yOS0jIENPTkZJR19XTEFOIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3VueGlfZGVmY29uZmlnPTM2PUNPTkZJR19TVU40SV9FTUFDPXlcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3VueGlfZGVmY29uZmlnLTQ4LSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XFxuYXJjaC9hcm0vY29uZmlncy9zdW54aV9kZWZjb25maWc6NDk6Q09ORklHX1NUTU1BQ19FVEg9eVxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3VueGlfZGVmY29uZmlnLTUwLSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvYXJtNjQvY29uZmlncy9kZWZjb25maWc9NDQ1PUNPTkZJR19TTklfTkVUU0VDPW1cXG5hcmNoL2FybTY0L2NvbmZpZ3MvZGVmY29uZmlnOjQ0NjpDT05GSUdfU1RNTUFDX0VUSD1tXFxuYXJjaC9hcm02NC9jb25maWdzL2RlZmNvbmZpZy00NDctQ09ORklHX0RXTUFDX01FRElBVEVLPW1cXG4tLVxcbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb24zMl9kZWZjb25maWc9NjExPUNPTkZJR19SODE2OT15XFxuLS1cXG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uMzJfZGVmY29uZmlnLTYxOS0jIENPTkZJR19ORVRfVkVORE9SX1NNU0MgaXMgbm90IHNldFxcbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb24zMl9kZWZjb25maWc6NjIwOkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uMzJfZGVmY29uZmlnLTYyMS0jIENPTkZJR19ORVRfVkVORE9SX1NVTiBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uNjRfZGVmY29uZmlnPTYyNz1DT05GSUdfUjgxNjk9eVxcbi0tXFxuYXJjaC9sb29uZ2FyY2gvY29uZmlncy9sb29uZ3NvbjY0X2RlZmNvbmZpZy02MzUtIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcXG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uNjRfZGVmY29uZmlnOjYzNjpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9sb29uZ2FyY2gvY29uZmlncy9sb29uZ3NvbjY0X2RlZmNvbmZpZy02MzctIyBDT05GSUdfTkVUX1ZFTkRPUl9TVU4gaXMgbm90IHNldFxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvY3UxMDAwLW5lb19kZWZjb25maWc9NDI9Q09ORklHX05FVERFVklDRVM9eVxcbmFyY2gvbWlwcy9jb25maWdzL2N1MTAwMC1uZW9fZGVmY29uZmlnOjQzOkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL21pcHMvY29uZmlncy9jdTEwMDAtbmVvX2RlZmNvbmZpZy00NC1DT05GSUdfU01TQ19QSFk9eVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvY3UxODMwLW5lb19kZWZjb25maWc9NDU9Q09ORklHX05FVERFVklDRVM9eVxcbmFyY2gvbWlwcy9jb25maWdzL2N1MTgzMC1uZW9fZGVmY29uZmlnOjQ2OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL21pcHMvY29uZmlncy9jdTE4MzAtbmVvX2RlZmNvbmZpZy00Ny1DT05GSUdfSUNQTFVTX1BIWT15XFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9nZW5lcmljL2JvYXJkLW1hcmR1ay5jb25maWc9MjU9Q09ORklHX05FVERFVklDRVM9eVxcbmFyY2gvbWlwcy9jb25maWdzL2dlbmVyaWMvYm9hcmQtbWFyZHVrLmNvbmZpZzoyNjpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1tYXJkdWsuY29uZmlnLTI3LUNPTkZJR19TVE1NQUNfUExBVEZPUk09eVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1uaTE2OTQ0NS5jb25maWc9MjY9Q09ORklHX05FVERFVklDRVM9eVxcbmFyY2gvbWlwcy9jb25maWdzL2dlbmVyaWMvYm9hcmQtbmkxNjk0NDUuY29uZmlnOjI3OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL21pcHMvY29uZmlncy9nZW5lcmljL2JvYXJkLW5pMTY5NDQ1LmNvbmZpZy0yOC1DT05GSUdfU1RNTUFDX1BMQVRGT1JNPXlcXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL2xvb25nc29uMV9kZWZjb25maWc9NTE9Q09ORklHX05FVERFVklDRVM9eVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24xX2RlZmNvbmZpZy04OC0jIENPTkZJR19ORVRfVkVORE9SX1NPQ0lPTkVYVCBpcyBub3Qgc2V0XFxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24xX2RlZmNvbmZpZzo4OTpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24xX2RlZmNvbmZpZy05MC0jIENPTkZJR19EV01BQ19HRU5FUklDIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL2xvb25nc29uMmtfZGVmY29uZmlnPTE3NT1DT05GSUdfUjgxNjk9eVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24ya19kZWZjb25maWctMTgzLSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XFxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24ya19kZWZjb25maWc6MTg0OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL21pcHMvY29uZmlncy9sb29uZ3NvbjJrX2RlZmNvbmZpZy0xODUtIyBDT05GSUdfTkVUX1ZFTkRPUl9TVU4gaXMgbm90IHNldFxcbi0tXFxuYXJjaC9yaXNjdi9jb25maWdzL2RlZmNvbmZpZz0xNDA9Q09ORklHX1I4MTY5PXlcXG5hcmNoL3Jpc2N2L2NvbmZpZ3MvZGVmY29uZmlnOjE0MTpDT05GSUdfU1RNTUFDX0VUSD1tXFxuYXJjaC9yaXNjdi9jb25maWdzL2RlZmNvbmZpZy0xNDItQ09ORklHX0RXTUFDX1RIRUFEPW1cXG4tLVxcbmRyaXZlcnMvZ3Bpby9ncGlvbGliLW9mLmM9MzQzPXN0YXRpYyB2b2lkIG9mX2dwaW9fZmxhZ3NfcXVpcmtzKGNvbnN0IHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsXFxuLS1cXG5kcml2ZXJzL2dwaW8vZ3Bpb2xpYi1vZi5jLTM5OC1cXHQvKiBMZWdhY3kgaGFuZGxpbmcgb2Ygc3RtbWFjJ3MgYWN0aXZlLWxvdyBQSFkgcmVzZXQgbGluZSAqL1xcbmRyaXZlcnMvZ3Bpby9ncGlvbGliLW9mLmM6Mzk5OlxcdGlmIChJU19FTkFCTEVEKENPTkZJR19TVE1NQUNfRVRIKSBcXHUwMDI2XFx1MDAyNlxcbmRyaXZlcnMvZ3Bpby9ncGlvbGliLW9mLmMtNDAwLVxcdCAgICAhc3RyY21wKHByb3BuYW1lLCBcXFwic25wcyxyZXNldC1ncGlvXFxcIikgXFx1MDAyNlxcdTAwMjZcXG4tLVxcbmRyaXZlcnMvZ3B1L2RybS9jaS9hcm02NC5jb25maWc9MzY9Q09ORklHX0RXTUFDX1JPQ0tDSElQPXlcXG5kcml2ZXJzL2dwdS9kcm0vY2kvYXJtNjQuY29uZmlnOjM3OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5kcml2ZXJzL2dwdS9kcm0vY2kvYXJtNjQuY29uZmlnLTM4LUNPTkZJR19UWVBFQ19GVVNCMzAyPXlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vTWFrZWZpbGUtNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL01ha2VmaWxlOjY6b2JqLSQoQ09ORklHX1NUTU1BQ19FVEgpICs9IHN0bW1hYy9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI6b2JqLSQoQ09ORklHX1NUTU1BQ19FVEgpICs9IHN0bW1hYy5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtMy1zdG1tYWMtb2Jqczo9IHN0bW1hY19tYWluLm8gc3RtbWFjX2V0aHRvb2wubyBzdG1tYWNfbWRpby5vIHJpbmdfbW9kZS5vXFx0XFxcXFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yOVQwODozOTowMi42MjM1NTM4NThaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo0ODg2NDY2MDM1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkludmVzdGlnYXRpbmcgU1RNTUFDIEV0aGVybmV0IERyaXZlcnMqKlxuXG5Pa2F5LCBzbyBJIG5lZWQgdG8gZ2V0IGEgaGFuZGxlIG9uIHRoZSBTVE1NQUMgRXRoZXJuZXQgZHJpdmVycy4gVGhlIGZpcnN0IHN0ZXAgaXMgdG8gc2VlIHdoYXQncyBhY3R1YWxseSAqdGhlcmUqIHVuZGVyIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9gLiBJIHdhbnQgdG8ga25vdyB0aGUgc2NvcGUgb2YgdGhlIHNvbHV0aW9uIC0gd2hhdCdzIGltcGxlbWVudGVkLCB3aGF0J3Mgc3VwcG9ydGVkLiBJJ20gbG9va2luZyBmb3IgdGhlIGRpc3RpbmN0IGRyaXZlciBzb3VyY2UgZmlsZXMsIHRoZSBuYW1pbmcgY29udmVudGlvbnMgdGhleSB1c2UsIGFuZCB3aGljaCBzcGVjaWZpYyBTVE1pY3JvZWxlY3Ryb25pY3MgTUFDIGNvbnRyb2xsZXJzIG9yIFNvQ3MgdGhleSdyZSB0YXJnZXRpbmcuIEFyZSB0aGVyZSBtdWx0aXBsZSBkcml2ZXIgZmlsZXMgZm9yIGRpZmZlcmVudCBoYXJkd2FyZSByZXZpc2lvbnMgb3Igc3BlY2lmaWMgUEhZIGNvbmZpZ3VyYXRpb25zPyBBcmUgdGhlcmUgY29tbW9uIGZpbGVzIGZvciBzaGFyZWQgZnVuY3Rpb25hbGl0eSBsaWtlIERNQSBoYW5kbGluZyBvciBpbnRlcnJ1cHQgbWFuYWdlbWVudD8gVWx0aW1hdGVseSwgSSdtIHRyeWluZyB0byBlc3RhYmxpc2ggYSBxdWljayBtZW50YWwgbWFwIG9mIHRoZSBTVE1NQUMgZHJpdmVyIGxhbmRzY2FwZSwgdGhlIGxldmVsIG9mIGFic3RyYWN0aW9uIHByb3ZpZGVkLCBhbmQgaG93IG11Y2ggbG93LWxldmVsIGludGVyYWN0aW9uIGlzIGV4cG9zZWQuIFVuZGVyc3RhbmRpbmcgdGhlIG9yZ2FuaXphdGlvbiB3aWxsIGFsbG93IG1lIHRvIHF1aWNrbHkgcGlucG9pbnQgd2hpY2ggYXJlYXMgYXJlIHJlbGV2YW50IHRvIG15IGN1cnJlbnQgdGFzay5cblxuXG4iLCJJbnB1dFRva2VucyI6ODA1NCwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjA3LjUxMDAyMzA5M1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDU4MTg2NjgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiQ09ORklHX1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyOm9iai0kKENPTkZJR19TVE1NQUNfRVRIKSArPSBzdG1tYWMub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTMtc3RtbWFjLW9ianM6PSBzdG1tYWNfbWFpbi5vIHN0bW1hY19ldGh0b29sLm8gc3RtbWFjX21kaW8ubyByaW5nX21vZGUub1xcdFxcXFxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTExLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjEyOnN0bW1hYy0kKENPTkZJR19TVE1NQUNfU0VMRlRFU1RTKSArPSBzdG1tYWNfc2VsZnRlc3RzLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS0xMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS0xNC0jIE9yZGVyaW5nIG1hdHRlcnMuIEdlbmVyaWMgZHJpdmVyIG11c3QgYmUgbGFzdC5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToxNTpvYmotJChDT05GSUdfU1RNTUFDX1BMQVRGT1JNKVxcdCs9IHN0bW1hYy1wbGF0Zm9ybS5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTY6b2JqLSQoQ09ORklHX0RXTUFDX0FOQVJJT04pXFx0Kz0gZHdtYWMtYW5hcmlvbi5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTc6b2JqLSQoQ09ORklHX0RXTUFDX0VJQzc3MDApXFx0Kz0gZHdtYWMtZWljNzcwMC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTg6b2JqLSQoQ09ORklHX0RXTUFDX0lOR0VOSUMpXFx0Kz0gZHdtYWMtaW5nZW5pYy5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTk6b2JqLSQoQ09ORklHX0RXTUFDX0lQUTgwNlgpXFx0Kz0gZHdtYWMtaXBxODA2eC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MjA6b2JqLSQoQ09ORklHX0RXTUFDX0xQQzE4WFgpXFx0Kz0gZHdtYWMtbHBjMTh4eC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MjE6b2JqLSQoQ09ORklHX0RXTUFDX01FRElBVEVLKVxcdCs9IGR3bWFjLW1lZGlhdGVrLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyMjpvYmotJChDT05GSUdfRFdNQUNfTUVTT04pXFx0Kz0gZHdtYWMtbWVzb24ubyBkd21hYy1tZXNvbjhiLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyMzpvYmotJChDT05GSUdfRFdNQUNfTlVWT1RPTilcXHQrPSBkd21hYy1udXZvdG9uLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyNDpvYmotJChDT05GSUdfRFdNQUNfUUNPTV9FVEhRT1MpXFx0Kz0gZHdtYWMtcWNvbS1ldGhxb3Mub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI1Om9iai0kKENPTkZJR19EV01BQ19SRU5FU0FTX0dCRVRIKSArPSBkd21hYy1yZW5lc2FzLWdiZXRoLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyNjpvYmotJChDT05GSUdfRFdNQUNfUk9DS0NISVApXFx0Kz0gZHdtYWMtcmsub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI3Om9iai0kKENPTkZJR19EV01BQ19SWk4xKVxcdCs9IGR3bWFjLXJ6bjEub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI4Om9iai0kKENPTkZJR19EV01BQ19TMzIpXFx0XFx0Kz0gZHdtYWMtczMyLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyOTpvYmotJChDT05GSUdfRFdNQUNfU09DRlBHQSlcXHQrPSBkd21hYy1hbHRyLXNvY2ZwZ2Eub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjMwOm9iai0kKENPTkZJR19EV01BQ19TT1BIR08pXFx0Kz0gZHdtYWMtc29waGdvLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozMTpvYmotJChDT05GSUdfRFdNQUNfU1BBQ0VNSVQpXFx0Kz0gZHdtYWMtc3BhY2VtaXQub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjMyOm9iai0kKENPTkZJR19EV01BQ19TVEFSRklWRSlcXHQrPSBkd21hYy1zdGFyZml2ZS5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MzM6b2JqLSQoQ09ORklHX0RXTUFDX1NUSSlcXHRcXHQrPSBkd21hYy1zdGkub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjM0Om9iai0kKENPTkZJR19EV01BQ19TVE0zMilcXHQrPSBkd21hYy1zdG0zMi5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MzU6b2JqLSQoQ09ORklHX0RXTUFDX1NVTlhJKVxcdCs9IGR3bWFjLXN1bnhpLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozNjpvYmotJChDT05GSUdfRFdNQUNfU1VOOEkpXFx0Kz0gZHdtYWMtc3VuOGkub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjM3Om9iai0kKENPTkZJR19EV01BQ19TVU41NUkpXFx0Kz0gZHdtYWMtc3VuNTVpLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozODpvYmotJChDT05GSUdfRFdNQUNfVEhFQUQpXFx0Kz0gZHdtYWMtdGhlYWQub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjM5Om9iai0kKENPTkZJR19EV01BQ19EV0NfUU9TX0VUSClcXHQrPSBkd21hYy1kd2MtcW9zLWV0aC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDA6b2JqLSQoQ09ORklHX0RXTUFDX0lOVEVMX1BMQVQpXFx0Kz0gZHdtYWMtaW50ZWwtcGxhdC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDE6b2JqLSQoQ09ORklHX0RXTUFDX0xPT05HU09OMSlcXHQrPSBkd21hYy1sb29uZ3NvbjEub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjQyOm9iai0kKENPTkZJR19EV01BQ19HRU5FUklDKVxcdCs9IGR3bWFjLWdlbmVyaWMub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjQzOm9iai0kKENPTkZJR19EV01BQ19JTVg4KVxcdCs9IGR3bWFjLWlteC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDQ6b2JqLSQoQ09ORklHX0RXTUFDX1RFR1JBKVxcdCs9IGR3bWFjLXRlZ3JhLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo0NTpvYmotJChDT05GSUdfRFdNQUNfVklTQ09OVEkpXFx0Kz0gZHdtYWMtdmlzY29udGkub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTQ2LXN0bW1hYy1wbGF0Zm9ybS1vYmpzOj0gc3RtbWFjX3BsYXRmb3JtLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZT00Nz1kd21hYy1hbHRyLXNvY2ZwZ2Etb2JqcyA6PSBkd21hYy1zb2NmcGdhLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS00OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo0OTpvYmotJChDT05GSUdfU1RNTUFDX0xJQlBDSSlcXHQrPSBzdG1tYWNfbGlicGNpLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo1MDpvYmotJChDT05GSUdfU1RNTUFDX1BDSSlcXHQrPSBzdG1tYWMtcGNpLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo1MTpvYmotJChDT05GSUdfRFdNQUNfSU5URUwpXFx0Kz0gZHdtYWMtaW50ZWwub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjUyOm9iai0kKENPTkZJR19EV01BQ19MT09OR1NPTilcXHQrPSBkd21hYy1sb29uZ3Nvbi5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NTM6b2JqLSQoQ09ORklHX0RXTUFDX01PVE9SQ09NTSlcXHQrPSBkd21hYy1tb3RvcmNvbW0ub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTU0LXN0bW1hYy1wY2ktb2Jqczo9IHN0bW1hY19wY2kub1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yOVQwODozOTowNy42MTU4NDY2NjFaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo2MzM2NjQ3Njc5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgdGhlIHN0bW1hYyBEcml2ZXIncyBUcmFmZmljIENvbnRyb2wgSW1wbGVtZW50YXRpb24qKlxuXG5Pa2F5LCBzbyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdHJhZmZpYyBjb250cm9sIGlzIGhhbmRsZWQgd2l0aGluIHRoZSBgc3RtbWFjYCBkcml2ZXIuIE15IGluaXRpYWwgaW5zdGluY3Qgd2FzIHRvIGp1bXAgc3RyYWlnaHQgaW50byBgc3RtbWFjX3RjLmNgLCB3aGljaCBtYWtlcyBzZW5zZSBhcyBpdCdzIG5hbWVkIHNwZWNpZmljYWxseSBmb3IgdHJhZmZpYyBjb250cm9sLiBJIHdhbnQgdG8gc2VlIGV4YWN0bHkgaG93IGl0J3MgY2FsbGVkLCB0cmFjZSB0aGUgZXhlY3V0aW9uIHBhdGgsIGFuZCBkZXRlcm1pbmUgaWYgaXQgaW50ZXJhY3RzIHdpdGggYW55IFBDSSBvciB2aXJ0dWFsIGRldmljZXMuIEhvd2V2ZXIsIGJlZm9yZSBnZXR0aW5nIGludG8gdGhlIHNwZWNpZmljIGltcGxlbWVudGF0aW9uLCBhIG1vcmUgc3lzdGVtYXRpYyBhcHByb2FjaCBtaWdodCBiZSBiZXN0LiBJIHNob3VsZCBkb3VibGUgY2hlY2sgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4gVGhlIGBLY29uZmlnYCBmaWxlIGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnYCBpcyBwcm9iYWJseSB0aGUgcGxhY2UgdG8gc3RhcnQuIFRoaXMgd2lsbCByZXZlYWwgYW55IGJ1aWxkLXRpbWUgY29uZmlndXJhdGlvbnMgb3IgZGVwZW5kZW5jaWVzIHRoYXQgbWlnaHQgaW5mbHVlbmNlIGhvdyB0cmFmZmljIGNvbnRyb2wgaXMgZW5hYmxlZCBvciBkaXNhYmxlZC4gVGhpcyBoZWxwcyBtZSBmcmFtZSB3aGF0IEknbGwgc2VlIHdoZW4gSSBnZXQgaW50byB0aGUgY29kZSBpdHNlbGYuIENoZWNraW5nIHRoZSBgS2NvbmZpZ2AgZmlyc3Qgd2lsbCBnaXZlIG1lIHNvbWUgb2YgdGhlIGNvbnRleHQgSSBuZWVkLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMDI2OCwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjUzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjEzLjk1MjQ5NzZaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzAyNjM5NzgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI6Y29uZmlnIFNUTU1BQ19FVEhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTMtXFx0dHJpc3RhdGUgXFxcIlNUTWljcm9lbGVjdHJvbmljcyBNdWx0aS1HaWdhYml0IEV0aGVybmV0IGRyaXZlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc9MTg9aWYgU1RNTUFDX0VUSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMDpjb25maWcgU1RNTUFDX1NFTEZURVNUU1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjEtXFx0Ym9vbCBcXFwiU3VwcG9ydCBmb3IgU1RNTUFDIFNlbGZ0ZXN0c1xcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyOTpjb25maWcgU1RNTUFDX1BMQVRGT1JNXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMC1cXHR0cmlzdGF0ZSBcXFwiU1RNTUFDIFBsYXRmb3JtIGJ1cyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZz00Mj1pZiBTVE1NQUNfUExBVEZPUk1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTQzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6NDQ6Y29uZmlnIERXTUFDX0RXQ19RT1NfRVRIXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy00NS1cXHR0cmlzdGF0ZSBcXFwiU3VwcG9ydCBmb3Igc25wcyxkd2MtcW9zLWV0aGVybmV0LnR4dCBEVCBiaW5kaW5nLlxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNTEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzo1Mjpjb25maWcgRFdNQUNfR0VORVJJQ1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNTMtXFx0dHJpc3RhdGUgXFxcIkdlbmVyaWMgZHJpdmVyIGZvciBEV01BQ1xcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNTktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzo2MDpjb25maWcgRFdNQUNfQU5BUklPTlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNjEtXFx0dHJpc3RhdGUgXFxcIkFkYXB0cnVtIEFuYXJpb24gR01BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy02OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjY5OmNvbmZpZyBEV01BQ19FSUM3NzAwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy03MC1cXHR0cmlzdGF0ZSBcXFwiU3VwcG9ydCBmb3IgRXN3aW4gZWljNzcwMCBldGhlcm5ldCBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTc3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6Nzg6Y29uZmlnIERXTUFDX0lOR0VOSUNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTc5LVxcdHRyaXN0YXRlIFxcXCJJbmdlbmljIE1BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy04OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjkwOmNvbmZpZyBEV01BQ19JUFE4MDZYXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy05MS1cXHR0cmlzdGF0ZSBcXFwiUUNBIElQUTgwNnggRFdNQUMgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTAyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTAzOlxcdCAgU2VsZWN0IHRoZSBRQ09NX1NPQ0lORk8gY29uZmlnIGZsYWcgdG8gZW5hYmxlIHNwZWNpZmljIGR3bWFjXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMDQtXFx0ICBmaXh1cCBiYXNlZCBvbiB0aGUgaXBxODA2eCBTb0MgcmV2aXNpb24uXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMDUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoxMDY6Y29uZmlnIERXTUFDX0xQQzE4WFhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEwNy1cXHR0cmlzdGF0ZSBcXFwiTlhQIExQQzE4eHgvNDN4eCBEV01BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoxMTQ6Y29uZmlnIERXTUFDX01FRElBVEVLXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMTUtXFx0dHJpc3RhdGUgXFxcIk1lZGlhVGVrIE1UMjd4eCBHTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEyMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjEyMjpjb25maWcgRFdNQUNfTUVTT05cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEyMy1cXHR0cmlzdGF0ZSBcXFwiQW1sb2dpYyBNZXNvbiBkd21hYyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoxMzM6Y29uZmlnIERXTUFDX05VVk9UT05cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEzNC1cXHR0cmlzdGF0ZSBcXFwiTnV2b3RvbiBNQTM1IGR3bWFjIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE0NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE0NTpjb25maWcgRFdNQUNfUUNPTV9FVEhRT1NcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE0Ni1cXHR0cmlzdGF0ZSBcXFwiUXVhbGNvbW0gRVRIUU9TIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE1NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE1NTpjb25maWcgRFdNQUNfUkVORVNBU19HQkVUSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTU2LVxcdHRyaXN0YXRlIFxcXCJSZW5lc2FzIFJaL1YySChQKSBHQkVUSCBhbmQgUlovVDJILCBSWi9OMkggR01BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xNjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoxNjg6Y29uZmlnIERXTUFDX1JPQ0tDSElQXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xNjktXFx0dHJpc3RhdGUgXFxcIlJvY2tjaGlwIGR3bWFjIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE3OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE3OTpjb25maWcgRFdNQUNfUlpOMVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTgwLVxcdHRyaXN0YXRlIFxcXCJSZW5lc2FzIFJaL04xIGR3bWFjIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE5MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE5MTpjb25maWcgRFdNQUNfUzMyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xOTItXFx0dHJpc3RhdGUgXFxcIk5YUCBTMzJHL1MzMlIgR01BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yMDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMDM6Y29uZmlnIERXTUFDX1NPQ0ZQR0FcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTIwNC1cXHR0cmlzdGF0ZSBcXFwiU09DRlBHQSBkd21hYyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yMTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMTg6Y29uZmlnIERXTUFDX1NPUEhHT1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjE5LVxcdHRyaXN0YXRlIFxcXCJTb3BoZ28gZHdtYWMgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjI4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MjI5OmNvbmZpZyBEV01BQ19TUEFDRU1JVFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjMwLVxcdHRyaXN0YXRlIFxcXCJTcGFjZW1pdCBkd21hYyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNDAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyNDE6Y29uZmlnIERXTUFDX1NUQVJGSVZFXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNDItXFx0dHJpc3RhdGUgXFxcIlN0YXJGaXZlIGR3bWFjIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI1Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI1Mzpjb25maWcgRFdNQUNfU1RJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNTQtXFx0dHJpc3RhdGUgXFxcIlNUaSBHTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI2NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI2NTpjb25maWcgRFdNQUNfU1RNMzJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI2Ni1cXHR0cmlzdGF0ZSBcXFwiU1RNMzIgRFdNQUMgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjc2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6Mjc3OmNvbmZpZyBEV01BQ19TVU5YSVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjc4LVxcdHRyaXN0YXRlIFxcXCJBbGx3aW5uZXIgR01BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yODctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyODg6Y29uZmlnIERXTUFDX1NVTjhJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yODktXFx0dHJpc3RhdGUgXFxcIkFsbHdpbm5lciBzdW44aSBHTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI5OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjMwMDpjb25maWcgRFdNQUNfU1VONTVJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMDEtXFx0dHJpc3RhdGUgXFxcIkFsbHdpbm5lciBzdW41NWkgR01BQzIwMCBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMTEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozMTI6Y29uZmlnIERXTUFDX1RIRUFEXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMTMtXFx0dHJpc3RhdGUgXFxcIlQtSEVBRCBkd21hYyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMjEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozMjI6Y29uZmlnIERXTUFDX0lNWDhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTMyMy1cXHR0cmlzdGF0ZSBcXFwiTlhQIElNWDggRFdNQUMgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzMzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzM0OmNvbmZpZyBEV01BQ19JTlRFTF9QTEFUXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMzUtXFx0dHJpc3RhdGUgXFxcIkludGVsIGR3bWFjIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM0My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM0NDpjb25maWcgRFdNQUNfTE9PTkdTT04xXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zNDUtXFx0dHJpc3RhdGUgXFxcIkxvb25nc29uMSBHTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM1NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM1NTpjb25maWcgRFdNQUNfVEVHUkFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM1Ni1cXHR0cmlzdGF0ZSBcXFwiTlZJRElBIFRlZ3JhIE1HQkUgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzYzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzY0OmNvbmZpZyBEV01BQ19WSVNDT05USVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzY1LVxcdHRyaXN0YXRlIFxcXCJUb3NoaWJhIFZpc2NvbnRpIERXTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnPTM3MT1lbmRpZiAjIFNUTU1BQ19QTEFURk9STVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzcyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzczOmNvbmZpZyBTVE1NQUNfTElCUENJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zNzQtXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzc3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6Mzc4OmNvbmZpZyBEV01BQ19JTlRFTFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzc5LVxcdHRyaXN0YXRlIFxcXCJJbnRlbCBHTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM4Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM4ODpjb25maWcgRFdNQUNfTE9PTkdTT05cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM4OS1cXHR0cmlzdGF0ZSBcXFwiTG9vbmdzb24gUENJIERXTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM5Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM5ODpjb25maWcgRFdNQUNfTU9UT1JDT01NXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zOTktXFx0dHJpc3RhdGUgXFxcIk1vdG9yY29tbSBQQ0kgRFdNQUMgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNDA2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6NDA3OmNvbmZpZyBTVE1NQUNfUENJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy00MDgtXFx0dHJpc3RhdGUgXFxcIlNUTU1BQyBQQ0kgYnVzIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjE0LjAyMjc2NzcwOVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjE4MDYzOTEwMDI2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IFFFTVUgRXRoZXJuZXQgRW11bGF0aW9uIEludmVzdGlnYXRpb24qKlxuXG5Pa2F5LCBzbyBJJ20gdHJ5aW5nIHRvIGZpZ3VyZSBvdXQgaG93IHRvIGludGVyYWN0IHdpdGggYW4gU1RNTUFDIChTeW5vcHN5cyBEZXNpZ25XYXJlIE1BQykgb3Igc2ltaWxhciBFdGhlcm5ldCBkZXZpY2Ugd2l0aGluIFFFTVUuIENhbiBJIHJlYWNoIHRoZXNlIGRldmljZXMsIGVpdGhlciBkaXJlY3RseSBlbXVsYXRlZCBvciB0aHJvdWdoIHNvbWUgb3RoZXIgbWVjaGFuaXNtIGxpa2UgYSBHQ0UgZW52aXJvbm1lbnQ/XG5cbk15IGluaXRpYWwgdGhvdWdodCBpcyB0byBjaGVjayBkaXJlY3RseSBpZiBRRU1VIHN1cHBvcnRzIHRoZSBlbXVsYXRpb24gb2YgYHN0bW1hY2AsIGBkd21hY2AsIGV0Yy4gUGVyaGFwcyBpdCdzIGxpbWl0ZWQgdG8gdmVyeSBzcGVjaWZpYyBwaHlzaWNhbCBTb0MgRXRoZXJuZXQgY29udHJvbGxlcnMgb3IgUENJIE5JQ3MuXG5cbkkgbmVlZCB0byBrZWVwIGluIG1pbmQsIGhvd2V2ZXIsIHRoYXQgdGhlcmUgbWlnaHQgYmUgY29kZSBwYXRocyB0aGF0IGFyZSBzaW1wbHkgaW5hY2Nlc3NpYmxlIGluIHZpcnR1YWwgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIGV2ZW4gaWYgdXNpbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUuIEknbSB0aGlua2luZyBvZiBkcml2ZXJzIGZvciB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFVzLCB3aGljaCBuZWNlc3NpdGF0ZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlLCBzb21ldGhpbmcgUUVNVSBkb2Vzbid0IGRvLiBGb3IgZXhhbXBsZSwgZHJpdmVycyBsaWtlIGBtbHhzd2AsIGBwZHNfY29yZWAsIGBxZWRgLCBgaW9uaWNgLCBvciBgYW1kZ3B1YC5cblxuQWxyaWdodCwgbGV0J3MgbGlzdCBvdXQgd2hhdCBRRU1VIGFjdHVhbGx5ICpkb2VzKiBlbXVsYXRlIGluIHRlcm1zIG9mIGV0aGVybmV0LiBJIGtub3cgaXQgaW5jbHVkZXM6IGBlMTAwMGAsIGBlMTAwMGVgLCBgaWdiYCwgYHJ0bDgxMzlgLCBgODEzOWNwYCwgYHZpcnRpby1uZXRgLCBgcGNuZXQgKGxhbmNlKWAsIGBuZTJrX3BjaWAsIGBuZTJrX2lzYWAsIGBzdW5nZW1gLCBgc3VuaG1lYCwgYHR1bGlwIChkZWMgMjExNDApYCwgYGk4MjU1eCAoZWVwcm8xMDApYCwgYHZteG5ldDNgLCBgcm9ja2VyYCwgYHVzYi1uZXRgLCBgc21jOTFjMTExYCwgYGxhbjkxMThgLCBgY2FkZW5jZV9nZW1gLCBgaW14X2ZlY2AsIGBhbGx3aW5uZXItZW1hY2AsIGBzdW40aS1lbWFjYC5cblxuQnV0IHdhaXQuIFRoZSBgc3VuNGlfZW1hY2AgaXMgbm90IGBzdG1tYWNgLiBJIG5lZWQgdG8gcmVtZW1iZXIgdGhhdCBgc3VuOGlgIGNvdWxkIHBvc3NpYmx5IGV4aXN0IG9uIGFuIEFSTSBtYWNoaW5lLCBidXQgc3l6a2FsbGVyIHVzdWFsbHkgcnVucyBvbiBzdGFuZGFyZCB4ODZfNjQgb3IgYXJtNjQgUUVNVS9HQ0UgVk1zLiBTbyBkb2VzIFFFTVUgZW11bGF0ZSBgZHdtYWNgIG9yIGBzdG1tYWNgPyBJdCdzIHRpbWUgdG8gY2hlY2sgdGhlIFFFTVUgc291cmNlIGRpcmVjdGx5LlxuXG5BY2NvcmRpbmcgdG8gdGhlIFFFTVUgY29kZSwgYGR3bWFjYCBpcyAqbm90KiBhbiBlbXVsYXRlZCBQQ0kgZGV2aWNlIGluIHN0YW5kYXJkIFFFTVUuIFRoYXQncyBhIGtleSBwaWVjZSBvZiBpbmZvcm1hdGlvbi5cblxuT2theSwgbGV0J3Mgbm93IGludmVzdGlnYXRlIGBEV01BQ19JTlRFTGAgb3IgYFNUTU1BQ19QQ0lgLiBXaGF0IFBDSSBJRHMgYXJlIHN1cHBvcnRlZD8gSSBzaG91bGQgY2hlY2sgYHN0bW1hY19wY2kuY2AgYW5kIGBkd21hYy1pbnRlbC5jYCB0byBzZWUgd2hpY2ggc3BlY2lmaWMgaGFyZHdhcmUgaXMgc3VwcG9ydGVkIGlmIGFueS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTQxNzYsIk91dHB1dFRva2VucyI6NDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1NTksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjlUMDg6Mzk6MzIuMDg2NjgwMjY1WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDc4Nzc5MzksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiTU9EVUxFX0RFVklDRV9UQUJMRXxwY2lfZGV2aWNlX2lkXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1hbmFyaW9uLmM9MTE5PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGFuYXJpb25fZHdtYWNfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWFuYXJpb24uYy0xMjItfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1hbmFyaW9uLmM6MTIzOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGFuYXJpb25fZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWFuYXJpb24uYy0xMjQtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1kd2MtcW9zLWV0aC5jPTM1Mz1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBkd2NfZXRoX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1kd2MtcW9zLWV0aC5jLTM1OC19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWR3Yy1xb3MtZXRoLmM6MzU5Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGR3Y19ldGhfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWR3Yy1xb3MtZXRoLmMtMzYwLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtZWljNzcwMC5jPTM1MD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBlaWM3NzAwX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1laWM3NzAwLmMtMzU5LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtZWljNzcwMC5jOjM2MDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBlaWM3NzAwX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1laWM3NzAwLmMtMzYxLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtZ2VuZXJpYy5jPTUyPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGR3bWFjX2dlbmVyaWNfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWdlbmVyaWMuYy02Ni19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWdlbmVyaWMuYzo2NzpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBkd21hY19nZW5lcmljX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1nZW5lcmljLmMtNjgtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbXguYz0zODQ9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgaW14X2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbXguYy0zODktfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbXguYzozOTA6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgaW14X2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbXguYy0zOTEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbmdlbmljLmM9MjYyPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGluZ2VuaWNfbWFjX29mX21hdGNoZXNbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWluZ2VuaWMuYy0yNjktfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbmdlbmljLmM6MjcwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGluZ2VuaWNfbWFjX29mX21hdGNoZXMpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWluZ2VuaWMuYy0yNzEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC1wbGF0LmM9MzY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgaW50ZWxfZXRoX3BsYXRfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLXBsYXQuYy0zOS19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLXBsYXQuYzo0MDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBpbnRlbF9ldGhfcGxhdF9tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwtcGxhdC5jLTQxLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xMjYzPXN0YXRpYyBpbnQgaW50ZWxfZXRoX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEyNjQ6XFx0XFx0XFx0ICAgICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEyNjUte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xMzYyPXN0YXRpYyB2b2lkIGludGVsX2V0aF9wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMzk0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTM5NTpzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgaW50ZWxfZXRoX3BjaV9pZF90YWJsZVtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTM5Ni1cXHR7IFBDSV9ERVZJQ0VfREFUQShJTlRFTCwgUVVBUkssIFxcdTAwMjZxdWFya19pbmZvKSB9LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xNDE0LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxNDE1Ok1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBpbnRlbF9ldGhfcGNpX2lkX3RhYmxlKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTE0MTYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pcHE4MDZ4LmM9NDkxPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGlwcTgwNnhfZ21hY19kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaXBxODA2eC5jLTQ5NC19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWlwcTgwNnguYzo0OTU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgaXBxODA2eF9nbWFjX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pcHE4MDZ4LmMtNDk2LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz00Nzk9c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19maXhfcmVzZXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy00OTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzo0OTg6c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNDk5LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM9NTc4PXN0YXRpYyB2b2lkIGxvb25nc29uX2R3bWFjX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTk1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NTk2OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBsb29uZ3Nvbl9kd21hY19pZF90YWJsZVtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTk3LVxcdHsgUENJX0RFVklDRV9EQVRBKExPT05HU09OLCBHTUFDMSwgXFx1MDAyNmxvb25nc29uX2dtYWNfcGNpX2luZm8pIH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTYwMS19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NjAyOk1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBsb29uZ3Nvbl9kd21hY19pZF90YWJsZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy02MDMtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3NvbjEuYz0yMTY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbHMxeF9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24xLmMtMjI2LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24xLmM6MjI3Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGxzMXhfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uMS5jLTIyOC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxwYzE4eHguYz03MT1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBscGMxOHh4X2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1scGMxOHh4LmMtNzQtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1scGMxOHh4LmM6NzU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgbHBjMTh4eF9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbHBjMTh4eC5jLTc2LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVkaWF0ZWsuYz02NjI9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWVkaWF0ZWtfZHdtYWNfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lZGlhdGVrLmMtNjY5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lZGlhdGVrLmM6NjcwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG1lZGlhdGVrX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZWRpYXRlay5jLTY3MS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lc29uLmM9NzY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWVzb242X2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbi5jLTc5LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVzb24uYzo4MDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBtZXNvbjZfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lc29uLmMtODEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbjhiLmM9NDgyPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG1lc29uOGJfZHdtYWNfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lc29uOGIuYy01MDQtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbjhiLmM6NTA1Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG1lc29uOGJfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lc29uOGIuYy01MDYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0yNjQ9c3RhdGljIGludCBtb3RvcmNvbW1fc2V0dXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMjkyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jOjI5MzpzdGF0aWMgaW50IG1vdG9yY29tbV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTI5NC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0zNjI9c3RhdGljIHZvaWQgbW90b3Jjb21tX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTM2Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYzozNjc6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIGR3bWFjX21vdG9yY29tbV9wY2lfaWRfdGFibGVbXSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYy0zNjgtXFx0eyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfTU9UT1JDT01NLCAweDY4MDEpIH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYy0zNzAtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYzozNzE6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIGR3bWFjX21vdG9yY29tbV9wY2lfaWRfdGFibGUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTM3Mi1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW51dm90b24uYz0xMTg9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbnZ0X2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1udXZvdG9uLmMtMTIxLX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbnV2b3Rvbi5jOjEyMjpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBudnRfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW51dm90b24uYy0xMjMtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1xY29tLWV0aHFvcy5jPTgwMD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBxY29tX2V0aHFvc19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhxb3MuYy04MDYtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1xY29tLWV0aHFvcy5jOjgwNzpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBxY29tX2V0aHFvc19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhxb3MuYy04MDgtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yZW5lc2FzLWdiZXRoLmM9MjE2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHJlbmVzYXNfZ2JldGhfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJlbmVzYXMtZ2JldGguYy0yMjEtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yZW5lc2FzLWdiZXRoLmM6MjIyOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHJlbmVzYXNfZ2JldGhfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJlbmVzYXMtZ2JldGguYy0yMjMtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jPTE2MTY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcmtfZ21hY19kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xNjM0LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYzoxNjM1Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHJrX2dtYWNfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTYzNi1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJ6bjEuYz03NT1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCByem4xX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yem4xLmMtNzgtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yem4xLmM6Nzk6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcnpuMV9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcnpuMS5jLTgwLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtczMyLmM9MjE2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHMzMl9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtczMyLmMtMjE5LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtczMyLmM6MjIwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHMzMl9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtczMyLmMtMjIxLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc29jZnBnYS5jPTY3Mz1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzb2NmcGdhX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zb2NmcGdhLmMtNjc4LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc29jZnBnYS5jOjY3OTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzb2NmcGdhX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zb2NmcGdhLmMtNjgwLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc29waGdvLmM9NzI9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc29waGdvX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zb3BoZ28uYy03Ni19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvcGhnby5jOjc3Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHNvcGhnb19kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc29waGdvLmMtNzgtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zcGFjZW1pdC5jPTIxMD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzcGFjZW1pdF9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3BhY2VtaXQuYy0yMTMtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zcGFjZW1pdC5jOjIxNDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzcGFjZW1pdF9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3BhY2VtaXQuYy0yMTUtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGFyZml2ZS5jPTE2MD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzdGFyZml2ZV9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RhcmZpdmUuYy0xNjQtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGFyZml2ZS5jOjE2NTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzdGFyZml2ZV9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RhcmZpdmUuYy0xNjYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGkuYz0yOTY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3RpX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGkuYy0yOTktfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGkuYzozMDA6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3RpX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGkuYy0zMDEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdG0zMi5jPTY2Mj1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzdG0zMl9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RtMzIuYy02NjgtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdG0zMi5jOjY2OTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzdG0zMl9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RtMzIuYy02NzAtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW41NWkuYz0xNDE9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3VuNTVpX2dtYWMyMDBfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjU1aS5jLTE0NC19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjU1aS5jOjE0NTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzdW41NWlfZ21hYzIwMF9tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuNTVpLmMtMTQ2LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYz0xMjY4PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHN1bjhpX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jLTEyODItfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jOjEyODM6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3VuOGlfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMtMTI4NC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bnhpLmM9MTUwPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHN1bjdpX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jLTE1My19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bnhpLmM6MTU0Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHN1bjdpX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jLTE1NS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXRlZ3JhLmM9Mzk3PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHRlZ3JhX21nYmVfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXRlZ3JhLmMtNDAwLX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGVncmEuYzo0MDE6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgdGVncmFfbWdiZV9tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGVncmEuYy00MDItXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy10aGVhZC5jPTI2Nz1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCB0aGVhZF9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGhlYWQuYy0yNzAtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy10aGVhZC5jOjI3MTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCB0aGVhZF9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGhlYWQuYy0yNzItXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy12aXNjb250aS5jPTI1NT1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCB2aXNjb250aV9ldGhfZHdtYWNfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXZpc2NvbnRpLmMtMjU4LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdmlzY29udGkuYzoyNTk6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgdmlzY29udGlfZXRoX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy12aXNjb250aS5jLTI2MC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xMTg9c3RhdGljIGludCBzdG1tYWNfcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxMTk6XFx0XFx0XFx0ICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTIwLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xOTI9c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjAyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDM6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHN0bW1hY19pZF90YWJsZVtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0yMDQtXFx0eyBQQ0lfREVWSUNFX0RBVEEoU1RNTUFDLCBTVE1NQUMsIFxcdTAwMjZzdG1tYWNfcGNpX2luZm8pIH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjA5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTA6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHN0bW1hY19pZF90YWJsZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxMS1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjlUMDg6Mzk6MzIuMTk0NTYzNjU0WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjI4OTk2ODUzNTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6XG5cbioqRXhhbWluaW5nIHRoZSBzdG1tYWNfaWRfdGFibGUqKlxuXG5BbHJpZ2h0LCBsZXQncyBkaXZlIGluLiBJIG5lZWQgdG8gZ2V0IGEgY2xlYXIgcGljdHVyZSBvZiB3aGF0J3MgZGVmaW5lZCB3aXRoaW4gdGhlIGBzdG1tYWNfaWRfdGFibGVgLiBJJ20gZ29pbmcgdG8gc3RhcnQgYnkgdGFraW5nIGEgY2xvc2UgbG9vayBhdCB0aGF0IGRhdGEgc3RydWN0dXJlLCBiZWNhdXNlIGl0J3MgdGhlIGNvcmUgb2YgaG93IHRoZSBkcml2ZXIgaWRlbnRpZmllcyBhbmQgaGFuZGxlcyBkaWZmZXJlbnQgU1RNaWNyb2VsZWN0cm9uaWNzIEV0aGVybmV0IE1BQyBjb250cm9sbGVycy4gSSBuZWVkIHRvIHJlZnJlc2ggbXkgbWVtb3J5IG9uIHRoZSBkZXZpY2UgSURzLCBjb21wYXRpYmxlIHN0cmluZ3MsIGFuZCBhbnkgYXNzb2NpYXRlZCBwbGF0Zm9ybSBkYXRhIGRlZmluZWQgaW4gdGhhdCB0YWJsZS4gVGhpcyBpcyB0aGUgZW50cnkgcG9pbnQgZm9yIHVuZGVyc3RhbmRpbmcgdGhlIHN1cHBvcnRlZCBoYXJkd2FyZSBhbmQgaG93IHRoZSBkcml2ZXIgcHJvYmVzIGZvciB0aGVtLiBJJ20gdGhpbmtpbmcgSSdsbCB3YW50IHRvIHF1aWNrbHkgcGFyc2UgdGhyb3VnaCB0aGUgY29udGVudHMgb2YgdGhhdCB0YWJsZSB0byBjb25maXJtIHdoYXQgSSdtIGV4cGVjdGluZyB0byBzZWUgYW5kIHRvIGdldCBhIHJlbWluZGVyIG9mIHRoZSBkZXZpY2Utc3BlY2lmaWMgcXVpcmtzIEkgbWlnaHQgbmVlZCB0byBjb25zaWRlciBmb3IgdGhpcyByZXZpZXcuIEJhc2ljYWxseSwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCBkZXZpY2VzIHRoaXMgZHJpdmVyIHRoaW5rcyBpdCBzdXBwb3J0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjE4MDgsIk91dHB1dFRva2VucyI6NTIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yOVQwODozOTozNS4wOTQyNTIzNzNaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjc4NzQ5MDk4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN0bW1hY19pZF90YWJsZXxpbnRlbF9ldGhfcGNpX2lkX3RhYmxlXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTEzNjI9c3RhdGljIHZvaWQgaW50ZWxfZXRoX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEzOTQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMzk1OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBpbnRlbF9ldGhfcGNpX2lkX3RhYmxlW10gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMzk2LVxcdHsgUENJX0RFVklDRV9EQVRBKElOVEVMLCBRVUFSSywgXFx1MDAyNnF1YXJrX2luZm8pIH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTE0MTQtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjE0MTU6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIGludGVsX2V0aF9wY2lfaWRfdGFibGUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTQxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTE0MTc9c3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIGludGVsX2V0aF9wY2lfZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTQxOC1cXHQubmFtZSA9IFxcXCJpbnRlbC1ldGgtcGNpXFxcIixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjE0MTk6XFx0LmlkX3RhYmxlID0gaW50ZWxfZXRoX3BjaV9pZF90YWJsZSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTE0MjAtXFx0LnByb2JlID0gaW50ZWxfZXRoX3BjaV9wcm9iZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xOTI9c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjAyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDM6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHN0bW1hY19pZF90YWJsZVtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0yMDQtXFx0eyBQQ0lfREVWSUNFX0RBVEEoU1RNTUFDLCBTVE1NQUMsIFxcdTAwMjZzdG1tYWNfcGNpX2luZm8pIH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjA5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTA6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHN0bW1hY19pZF90YWJsZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MjEyPXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBzdG1tYWNfcGNpX2RyaXZlciA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjEzLVxcdC5uYW1lID0gU1RNTUFDX1JFU09VUkNFX05BTUUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIxNDpcXHQuaWRfdGFibGUgPSBzdG1tYWNfaWRfdGFibGUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxNS1cXHQucHJvYmUgPSBzdG1tYWNfcGNpX3Byb2JlLFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yOVQwODozOTozNS4xNzMwMDcwNDJaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6ODMyMDQ4MDk2NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipXb3J0aEZ1enppbmcgRGVjaXNpb24gZm9yIFNUTU1BQzogTm90IEFwcGxpY2FibGUqKlxuXG5Pa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24gc3lzdGVtYXRpY2FsbHkuIFRoZSBpbnN0cnVjdGlvbnMgYXJlIGNsZWFyOiBpZiBhIHBhdGNoIHRvdWNoZXMgY29kZSB1bnJlYWNoYWJsZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIHdlIHNob3VsZCByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAuIE15IGZpcnN0IHRob3VnaHQgaXMgdG8gZGV0ZXJtaW5lIGlmIHRoZSBgc3RtbWFjYCBkcml2ZXIgaXMgcmVhY2hhYmxlIGluIFFFTVUgb3IgR0NFLlxuXG5JIGtub3cgU1RNTUFDIHJlZmVycyB0byB0aGUgU3lub3BzeXMgRGVzaWduV2FyZSBFdGhlcm5ldCBNQUMgY29udHJvbGxlci4gVGhlc2UgYXJlIGNvbW1vbmx5IGZvdW5kIGluIGEgdmFyaWV0eSBvZiBTb0NzIOKAkyBTVE0zMiwgUm9ja2NoaXAsIHRoZSB1c3VhbCBzdXNwZWN0cy4gTXkgZ3V0IHRlbGxzIG1lIHRoZXNlIGFyZW4ndCBlYXNpbHkgZW11bGF0ZWQgaW4gYSBzdGFuZGFyZCBRRU1VIHNldHVwIG9yIEdDRS5cblxuTGV0J3MgY29uZmlybS4gSSdsbCBjaGVjayBRRU1VJ3Mgc3VwcG9ydGVkIG5ldHdvcmsgZGV2aWNlcy4gU2Nhbm5pbmcgdGhlIFFFTVUgY29kZWJhc2UgZm9yIG5ldHdvcmsgaGFyZHdhcmUsIEkgc2VlIGEgbGlzdDogZTEwMDAsIHZpcnRpby1uZXQsIHJ0bDgxMzksIHRoZSB1c3VhbC4gSSBkb24ndCBzZWUgYW55dGhpbmcgZXhwbGljaXRseSBsYWJlbGVkIGFzIFwic3RtbWFjXCIgb3IgYW55dGhpbmcgaW1tZWRpYXRlbHkgYW5hbG9nb3VzLiBFdmVuIG9uIHRoZSBzdGFuZGFyZCB4ODZfNjQgdGFyZ2V0LCBpdCB1c2VzIGUxMDAwLCB2aXJ0aW8tbmV0LCBldGMuIFRoZSBBUk0gdmlydCBtYWNoaW5lIHVzZXMgdmlydGlvLW5ldCwgbm90IHN0bW1hYy4gR0NFIHVzZXMgdmlydGlvLW5ldCBvciBndmUsIGZ1cnRoZXIgY29uZmlybWluZyB0aGlzLlxuXG5DYW4gYHN0bW1hY2AgYmUgaW5zdGFudGlhdGVkIHZpYSBzb2Z0d2FyZSBvciBhbnl0aGluZyBsaWtlIGBtb2NrL2h3c2ltYD8gTm8sIGBzdG1tYWNgIGlzIGEgcGxhdGZvcm0vUENJIGRyaXZlci4gVGhlIGtleSBwYXJ0IGlzIHRoYXQgdGhlIHN0bW1hYyBkcml2ZXIncyBwcm9iZSBmdW5jdGlvbnMgKHN0bW1hY19kdnJfcHJvYmUsIHN0bW1hY19wcm9iZV9jb25maWdfZHQsIHN0bW1hY19wY2lfcHJvYmUsIGludGVsX2V0aF9wY2lfcHJvYmUsIGV0Yy4pIGFyZW4ndCB0cmlnZ2VyZWQgd2l0aG91dCB0aGUgdW5kZXJseWluZyBoYXJkd2FyZS5cblxuTGV0J3MgZHJpbGwgZG93biBkZWVwZXIsIGNvbnNpZGVyaW5nIGBzdG1tYWNfdGMuY2Agc3BlY2lmaWNhbGx5LiBgc3RtbWFjX3RjLmNgIHByb3ZpZGVzIGBzdG1tYWNfc2V0dXBfdGMoKWAsIHRoZSBgbmRvX3NldHVwX3RjYCBjYWxsYmFjayBmb3IgdGhlIGBuZXRfZGV2aWNlYCBpbiBzdG1tYWMuIFNwZWNpZmljYWxseSwgYHRjX3NldHVwX2R3bWFjNTEwX21xcHJpb2AgYW5kIGB0Y190YXByaW9fY29uZmlndXJlYCBhcmUgb25seSBjYWxsZWQgdmlhIGBzdG1tYWNfc2V0dXBfdGMoKWAgb24gYSBgc3RydWN0IG5ldF9kZXZpY2VgIHJlZ2lzdGVyZWQgYnkgdGhlIHN0bW1hYyBkcml2ZXIgd2hlbiBwcm9iZWQgYnkgc3RtbWFjIGhhcmR3YXJlLlxuXG5UaGVyZWZvcmUsIGJlY2F1c2UgYHN0bW1hY2AgcmVsaWVzIG9uIHVuZGVybHlpbmcgaGFyZHdhcmUgdGhhdCdzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIHRoZSBkcml2ZXIncyBwcm9iZSBmdW5jdGlvbiBpcyBuZXZlciBleGVjdXRlZCwgYW5kIG5vIGBzdG1tYWNgIGBuZXRfZGV2aWNlYCBpcyBldmVyIGNyZWF0ZWQuXG5cblNvLCByZXJlYWRpbmcgdGhlIGluc3RydWN0aW9ucywgdGhlIHBhdGNoIG1vZGlmaWVzIFwiQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLlwiIFRoaXMgc2VlbXMgdG8gZGlyZWN0bHkgYXBwbHkuIFNpbmNlIHRoZXJlJ3Mgbm8gd2F5IHRvIHJlYWNoIHRoZSBgc3RtbWFjYCBkcml2ZXIgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UsIGl0IGZhbGxzIHVuZGVyIHRoYXQgZXhjZXB0aW9uLiBObyBmdXJ0aGVyIGludmVzdGlnYXRpb24gaW50byByZWFjaGFibGUgY29kZSBpcyBuZWNlc3NhcnkuXG5cbkknbSBjb25maWRlbnQgd2UgY2FuIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjI5ODMsIk91dHB1dFRva2VucyI6NDMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTQ3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjQzLjQ5MzQ5MDI0N1oiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTA1OTc5NjQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInRjX3NldHVwX2R3bWFjNTEwX21xcHJpb1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYz0xMjcwPXN0YXRpYyB2b2lkIHN0bW1hY19yZXNldF90Y19tcXByaW8oc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYy0xMjg1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jOjEyODY6c3RhdGljIGludCB0Y19zZXR1cF9kd21hYzUxMF9tcXByaW8oc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jLTEyODctXFx0XFx0XFx0XFx0ICAgIHN0cnVjdCB0Y19tcXByaW9fcW9wdF9vZmZsb2FkICptcXByaW8pXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYz0xMzY0PWNvbnN0IHN0cnVjdCBzdG1tYWNfdGNfb3BzIGR3bWFjNTEwX3RjX29wcyA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jLTEzNzEtXFx0LnF1ZXJ5X2NhcHMgPSB0Y19xdWVyeV9jYXBzLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jOjEzNzI6XFx0LnNldHVwX21xcHJpbyA9IHRjX3NldHVwX2R3bWFjNTEwX21xcHJpbyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYy0xMzczLX07XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjQzLjU5OTQ3NTIxNloiLCJTZXEiOjE1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1NjU0NDk4MzQxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIEZ1enppbmcgU3VpdGFiaWxpdHkqKlxuXG5Pa2F5LCBzbyBoZXJlJ3Mgd2hhdCBJJ3ZlIGRldGVybWluZWQgYWZ0ZXIgcmV2aWV3aW5nIHRoZSBjb2RlLiBUaGUgYGR3bWFjNTEwX3RjX29wc2Agc3RydWN0dXJlIGlzIGJlaW5nIGFzc2lnbmVkIHRvIGBwcml2LVx1MDAzZWh3LVx1MDAzZXRjYCBkdXJpbmcgdGhlIGhhcmR3YXJlIHNldHVwIHBoYXNlIHdpdGhpbiB0aGUgc3RtbWFjIGRyaXZlci4gRnVydGhlciBpbnZlc3RpZ2F0aW9uIHJldmVhbGVkIHRoYXQgYHRjX3RhcHJpb19jb25maWd1cmVgIGlzIGNhbGxlZCB3aXRoaW4gYHRjX3NldHVwX3RhcHJpbygpYCBmdW5jdGlvbiwgYWxsIHdpdGhpbiB0aGUgYHN0bW1hY2AgZHJpdmVyIGRpcmVjdG9yeS4gVGhpcyBhbGwgcG9pbnRzIHRvIHRoaXMgZnVuY3Rpb25hbGl0eSBiZWluZyBpbnRyaW5zaWNhbGx5IHRpZWQgdG8gc3BlY2lmaWMgU3lub3BzeXMgRFdNQUMgaGFyZHdhcmUsIHNwZWNpZmljYWxseSB2ZXJzaW9uIDUuMTAgb3IgbGF0ZXIuIEl0J3Mgbm90IHNvbWV0aGluZyB0aGF0IGNhbiBiZSByZXBsaWNhdGVkIG9yIGV4ZXJjaXNlZCBpbiBhIHN0YW5kYXJkIHZpcnR1YWwgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIGEgR29vZ2xlIENvbXB1dGUgRW5naW5lIFZNLlxuXG5UaGVyZWZvcmUsIGFmdGVyIGNvbnNpZGVyaW5nIGFsbCBmYWN0b3JzLCB0aGlzIGlzIG5vdCBhIGNhbmRpZGF0ZSBmb3IgZnV6emluZy4gYFdvcnRoRnV6emluZ2AgaXMgZGVmaW5pdGVseSBgZmFsc2VgLlxuXG5Ob3csIEkgbmVlZCB0byBwcm92aWRlIGNsZWFyIHJlYXNvbmluZyBmb3IgdGhpcyBkZWNpc2lvbi4gSSB3aWxsIGFydGljdWxhdGUgdGhhdCB0aGUgY2hhbmdlcyByZXNpZGUgd2l0aGluIHRoZSBTVE1pY3JvZWxlY3Ryb25pY3MgLyBTeW5vcHN5cyBEZXNpZ25XYXJlIEV0aGVybmV0IE1BQyAoc3RtbWFjKSBkcml2ZXIsIGZvY3VzaW5nIG9uIHRoZSBUQyAvIFFvUyBvZmZsb2FkIGhhbmRsaW5nLCBhbmQgc3BlY2lmaWNhbGx5LCB0aGUgTVFQUklPIGFuZCBUQVBSSU8gcWRpc2NzIGluIGBzdG1tYWNfdGMuY2AuIEkgd2lsbCBlbXBoYXNpemUgdGhlIGhhcmR3YXJlIGRlcGVuZGVuY3ksIGhpZ2hsaWdodGluZyB0aGF0IGl0IHJlcXVpcmVzIHBoeXNpY2FsIERXTUFDIGhhcmR3YXJlLCB3aGljaCBpcyBub3QgZW11bGF0ZWQgaW4gdGhlIHZpcnR1YWxpemVkIHRlc3RpbmcgZW52aXJvbm1lbnRzLlxuXG5GaW5hbGx5LCBJJ2xsIHBhc3MgYW4gZW1wdHkgYXJyYXkgZm9yIGJvdGggYEZvY3VzU3ltYm9sc2AgYW5kIGBFbmFibGVDb25maWdzYCBzaW5jZSB0aGVyZSBhcmVuJ3QgYW55IHNwZWNpZmljIHN5bWJvbHMgb3IgY29uZmlndXJhdGlvbnMgcmVsZXZhbnQgdG8gdGhpcyBmdXp6aW5nIGFzc2Vzc21lbnQuXG5cblRpbWUgdG8gY2FsbCBgc2V0LXJlc3VsdHNgLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTE3NCwiT3V0cHV0VG9rZW5zIjoxMjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyODEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjlUMDg6Mzk6NDkuMjUzOTc3Mjk3WiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzMxNjAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdHJhZmZpYyBjb250cm9sIG9mZmxvYWQgaGFuZGxpbmcgKE1RUFJJTyBhbmQgVEFQUklPIHFkaXNjIGNvbmZpZ3VyYXRpb24gYW5kIGNsZWFudXApIGluIHRoZSBTVE1pY3JvZWxlY3Ryb25pY3MgLyBTeW5vcHN5cyBEZXNpZ25XYXJlIEV0aGVybmV0IE1BQyAoc3RtbWFjKSBkcml2ZXIgKHN0bW1hY190Yy5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgU3lub3BzeXMgRFdNQUMgaGFyZHdhcmUvU29DIElQIGNvcmVzIHRoYXQgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGlzIGNvZGUgdW5yZWFjaGFibGUgZm9yIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0cmFmZmljIGNvbnRyb2wgb2ZmbG9hZCBoYW5kbGluZyAoTVFQUklPIGFuZCBUQVBSSU8gcWRpc2MgY29uZmlndXJhdGlvbiBhbmQgY2xlYW51cCkgaW4gdGhlIFNUTWljcm9lbGVjdHJvbmljcyAvIFN5bm9wc3lzIERlc2lnbldhcmUgRXRoZXJuZXQgTUFDIChzdG1tYWMpIGRyaXZlciAoc3RtbWFjX3RjLmMpLiBUaGlzIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBTeW5vcHN5cyBEV01BQyBoYXJkd2FyZS9Tb0MgSVAgY29yZXMgdGhhdCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWFraW5nIHRoaXMgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjQ5LjI1NDAxNTM3N1oiLCJTZXEiOjE3LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzEzMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflowsmnlm[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-29 08:35:05 +0000 UTC FinishedAt: 2026-08-29 08:39:51 +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+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdHJhZmZpYyBjb250cm9sIG9mZmxvYWQgaGFuZGxpbmcgKE1RUFJJTyBhbmQgVEFQUklPIHFkaXNjIGNvbmZpZ3VyYXRpb24gYW5kIGNsZWFudXApIGluIHRoZSBTVE1pY3JvZWxlY3Ryb25pY3MgLyBTeW5vcHN5cyBEZXNpZ25XYXJlIEV0aGVybmV0IE1BQyAoc3RtbWFjKSBkcml2ZXIgKHN0bW1hY190Yy5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgU3lub3BzeXMgRFdNQUMgaGFyZHdhcmUvU29DIElQIGNvcmVzIHRoYXQgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGlzIGNvZGUgdW5yZWFjaGFibGUgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgOTQ1YzA3ZDg1M2Q2ZDYxZDMyOGEwYTQyNzk2MDViNmJjN2JjZGY3YlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgQXVnIDI5IDA4OjM4OjQ5IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hYy5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmhcbmluZGV4IDc1ODJmY2E2Mzc0MTkuLjk1NzMxN2VjMTQ2MTMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaFxuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmhcbkBAIC0yNTgsNiAmIzQzOzI1OCwxMiBAQCBzdHJ1Y3Qgc3RtbWFjX21zaSB7XG4gXHRjaGFyIGludF9uYW1lX3R4X2lycVtNVExfTUFYX1RYX1FVRVVFU11bSUZOQU1TSVogJiM0MzsgMThdO1xuIH07XG4gXG4mIzQzO2VudW0gc3RtbWFjX3FkaXNjX3R5cGUge1xuJiM0MztcdFNUTU1BQ19RRElTQ19OT05FID0gMCxcbiYjNDM7XHRTVE1NQUNfUURJU0NfTVFQUklPLFxuJiM0MztcdFNUTU1BQ19RRElTQ19UQVBSSU8sXG4mIzQzO307XG4mIzQzO1xuIHN0cnVjdCBzdG1tYWNfcHJpdiB7XG4gXHQvKiBGcmVxdWVudGx5IHVzZWQgdmFsdWVzIGFyZSBrZXB0IGFkamFjZW50IGZvciBjYWNoZSBlZmZlY3QgKi9cbiBcdHUzMiB0eF9jb2FsX2ZyYW1lc1tNVExfTUFYX1RYX1FVRVVFU107XG5AQCAtMjk5LDYgJiM0MzszMDUsNyBAQCBzdHJ1Y3Qgc3RtbWFjX3ByaXYge1xuIFx0LyogUHJvdGVjdCBlc3QgcGFyYW1ldGVycyAqL1xuIFx0c3RydWN0IG11dGV4IGVzdF9sb2NrO1xuIFx0c3RydWN0IHN0bW1hY19lc3QgKmVzdDtcbiYjNDM7XHRlbnVtIHN0bW1hY19xZGlzY190eXBlIHFkaXNjX3R5cGU7XG4gXHRzdHJ1Y3QgZG1hX2ZlYXR1cmVzIGRtYV9jYXA7XG4gXHRzdHJ1Y3Qgc3RtbWFjX2NvdW50ZXJzIG1tYztcbiBcdGludCBod19jYXBfc3VwcG9ydDtcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jXG5pbmRleCAxNGNhYmU3NmU1M2VjLi43ZmU1ODdiNDdkNTI0IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3RjLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jXG5AQCAtMTEwMyw2ICYjNDM7MTEwMyw4IEBAIHN0YXRpYyBpbnQgdGNfdGFwcmlvX2NvbmZpZ3VyZShzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsXG4gXHRpZiAocmV0KVxuIFx0XHRnb3RvIGRpc2FibGU7XG4gXG4mIzQzO1x0cHJpdi1cdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX1RBUFJJTztcbiYjNDM7XG4gXHRyZXR1cm4gMDtcbiBcbiBkaXNhYmxlOlxuQEAgLTExMjAsNyAmIzQzOzExMjIsMTEgQEAgc3RhdGljIGludCB0Y190YXByaW9fY29uZmlndXJlKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdixcbiBcdFx0bXV0ZXhfdW5sb2NrKFx1MDAyNnByaXYtXHUwMDNlZXN0X2xvY2spO1xuIFx0fVxuIFxuLVx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LVx1MDAzZWRldiwgZXh0YWNrLCAwKTtcbiYjNDM7XHRpZiAocHJpdi1cdTAwM2VxZGlzY190eXBlID09IFNUTU1BQ19RRElTQ19UQVBSSU8gXHUwMDI2XHUwMDI2XG4mIzQzO1x0ICAgIHFvcHQtXHUwMDNlY21kID09IFRBUFJJT19DTURfREVTVFJPWSkge1xuJiM0MztcdFx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LVx1MDAzZWRldiwgZXh0YWNrLCAwKTtcbiYjNDM7XHRcdHByaXYtXHUwMDNlcWRpc2NfdHlwZSA9IFNUTU1BQ19RRElTQ19OT05FO1xuJiM0MztcdH1cbiBcbiBcdHJldHVybiByZXQ7XG4gfVxuQEAgLTEyMzcsNTggJiM0MzsxMjQzLDEwMSBAQCBzdGF0aWMgaW50IHRjX3F1ZXJ5X2NhcHMoc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxuIFx0fVxuIH1cbiBcbiYjNDM7c3RhdGljIGludCBzdG1tYWNfc2V0X25kZXZfdGNzKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCB1OCBudGMsXG4mIzQzO1x0XHRcdCAgICAgICBzdHJ1Y3QgbmV0ZGV2X3RjX3R4cSAqdGNfdG9fdHhxKVxuJiM0Mzt7XG4mIzQzO1x0aW50IGksIGVycjtcbiYjNDM7XG4mIzQzO1x0bmV0ZGV2X3Jlc2V0X3RjKG5kZXYpO1xuJiM0MztcdGlmIChudGMgPT0gMSlcbiYjNDM7XHRcdHJldHVybiAwO1xuJiM0MztcbiYjNDM7XHRlcnIgPSBuZXRkZXZfc2V0X251bV90YyhuZGV2LCBudGMpO1xuJiM0MztcdGlmIChlcnIpXG4mIzQzO1x0XHRyZXR1cm4gZXJyO1xuJiM0MztcbiYjNDM7XHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBudGM7IGkmIzQzOyYjNDM7KSB7XG4mIzQzO1x0XHR1MTYgY291bnQsIG9mZnNldDtcbiYjNDM7XG4mIzQzO1x0XHRjb3VudCA9IHRjX3RvX3R4cVtpXS5jb3VudDtcbiYjNDM7XHRcdG9mZnNldCA9IHRjX3RvX3R4cVtpXS5vZmZzZXQ7XG4mIzQzO1x0XHRuZXRkZXZfc2V0X3RjX3F1ZXVlKG5kZXYsIGksIGNvdW50LCBvZmZzZXQpO1xuJiM0MztcdH1cbiYjNDM7XG4mIzQzO1x0cmV0dXJuIDA7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIHZvaWQgc3RtbWFjX3Jlc2V0X3RjX21xcHJpbyhzdHJ1Y3QgbmV0X2RldmljZSAqbmRldixcbiBcdFx0XHRcdCAgIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaylcbiB7XG4gXHRzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihuZGV2KTtcbiBcbi1cdG5ldGRldl9yZXNldF90YyhuZGV2KTtcbi1cdG5ldGlmX3NldF9yZWFsX251bV90eF9xdWV1ZXMobmRldiwgcHJpdi1cdTAwM2VwbGF0LVx1MDAzZXR4X3F1ZXVlc190b191c2UpO1xuLVx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssIDApO1xuJiM0MztcdGlmIChwcml2LVx1MDAzZXFkaXNjX3R5cGUgIT0gU1RNTUFDX1FESVNDX1RBUFJJTylcbiYjNDM7XHRcdHN0bW1hY19mcGVfbWFwX3ByZWVtcHRpb25fY2xhc3MocHJpdiwgbmRldiwgZXh0YWNrLCAwKTtcbiYjNDM7XG4mIzQzO1x0aWYgKHByaXYtXHUwMDNlcWRpc2NfdHlwZSA9PSBTVE1NQUNfUURJU0NfTVFQUklPKSB7XG4mIzQzO1x0XHRuZXRkZXZfcmVzZXRfdGMobmRldik7XG4mIzQzO1x0XHRuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsXG4mIzQzO1x0XHRcdFx0XHQgICAgIHByaXYtXHUwMDNlcGxhdC1cdTAwM2V0eF9xdWV1ZXNfdG9fdXNlKTtcbiYjNDM7XHRcdHByaXYtXHUwMDNlcWRpc2NfdHlwZSA9IFNUTU1BQ19RRElTQ19OT05FO1xuJiM0MztcdH1cbiB9XG4gXG4gc3RhdGljIGludCB0Y19zZXR1cF9kd21hYzUxMF9tcXByaW8oc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxuIFx0XHRcdFx0ICAgIHN0cnVjdCB0Y19tcXByaW9fcW9wdF9vZmZsb2FkICptcXByaW8pXG4ge1xuJiM0MztcdHVuc2lnbmVkIGludCBuZGV2X251bV90eF9xdWV1ZXMsIG51bV90eF9xdWV1ZXMgPSAwO1xuJiM0MztcdHN0cnVjdCBuZXRkZXZfdGNfdHhxIG5kZXZfdGNfdG9fdHhxW1RDX01BWF9RVUVVRV07XG4mIzQzO1x0c3RydWN0IG5ldGRldl90Y190eHEgdGNfdG9fdHhxW1RDX01BWF9RVUVVRV0gPSB7fTtcbiBcdHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjayA9IG1xcHJpby1cdTAwM2VleHRhY2s7XG4gXHRzdHJ1Y3QgdGNfbXFwcmlvX3FvcHQgKnFvcHQgPSBcdTAwMjZtcXByaW8tXHUwMDNlcW9wdDtcbi1cdHUzMiBvZmZzZXQsIGNvdW50LCBudW1fc3RhY2tfdHhfcXVldWVzID0gMDtcbiBcdHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2ID0gcHJpdi1cdTAwM2VkZXY7XG4tXHR1MzIgbnVtX3RjID0gcW9wdC1cdTAwM2VudW1fdGM7XG4tXHRpbnQgZXJyO1xuJiM0MztcdGludCBpLCBlcnIsIG5kZXZfbnRjO1xuIFxuLVx0aWYgKCFudW1fdGMpIHtcbiYjNDM7XHRpZiAoIXFvcHQtXHUwMDNlbnVtX3RjKSB7XG4gXHRcdHN0bW1hY19yZXNldF90Y19tcXByaW8obmRldiwgZXh0YWNrKTtcbiBcdFx0cmV0dXJuIDA7XG4gXHR9XG4gXG4tXHRlcnIgPSBuZXRkZXZfc2V0X251bV90YyhuZGV2LCBudW1fdGMpO1xuLVx0aWYgKGVycilcbi1cdFx0cmV0dXJuIGVycjtcbi1cbi1cdGZvciAodTMyIHRjID0gMDsgdGMgXHUwMDNjIG51bV90YzsgdGMmIzQzOyYjNDM7KSB7XG4tXHRcdG9mZnNldCA9IHFvcHQtXHUwMDNlb2Zmc2V0W3RjXTtcbi1cdFx0Y291bnQgPSBxb3B0LVx1MDAzZWNvdW50W3RjXTtcbi1cdFx0bnVtX3N0YWNrX3R4X3F1ZXVlcyAmIzQzOz0gY291bnQ7XG4mIzQzO1x0aWYgKHFvcHQtXHUwMDNlbnVtX3RjIFx1MDAzZSBBUlJBWV9TSVpFKHRjX3RvX3R4cSkpXG4mIzQzO1x0XHRyZXR1cm4gLUVJTlZBTDtcbiBcbi1cdFx0ZXJyID0gbmV0ZGV2X3NldF90Y19xdWV1ZShuZGV2LCB0YywgY291bnQsIG9mZnNldCk7XG4tXHRcdGlmIChlcnIpXG4tXHRcdFx0Z290byBlcnJfcmVzZXRfdGM7XG4mIzQzO1x0Lyogc2F2ZSBjdXJyZW50IHRjIHZhbHVlcyBmb3IgcmVzZXQgKi9cbiYjNDM7XHRuZGV2X250YyA9IG5ldGRldl9nZXRfbnVtX3RjKG5kZXYpID8gOiAxO1xuJiM0MztcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUobmRldi1cdTAwM2V0Y190b190eHEpOyBpJiM0MzsmIzQzOylcbiYjNDM7XHRcdG5kZXZfdGNfdG9fdHhxW2ldLmNvbWJpbmVkID1cbiYjNDM7XHRcdFx0UkVBRF9PTkNFKG5kZXYtXHUwMDNldGNfdG9fdHhxW2ldLmNvbWJpbmVkKTtcbiYjNDM7XG4mIzQzO1x0Zm9yIChpID0gMDsgaSBcdTAwM2MgcW9wdC1cdTAwM2VudW1fdGM7IGkmIzQzOyYjNDM7KSB7XG4mIzQzO1x0XHR0Y190b190eHFbaV0gPSAoc3RydWN0IG5ldGRldl90Y190eHEpIHtcbiYjNDM7XHRcdFx0LmNvdW50ID0gcW9wdC1cdTAwM2Vjb3VudFtpXSxcbiYjNDM7XHRcdFx0Lm9mZnNldCA9IHFvcHQtXHUwMDNlb2Zmc2V0W2ldLFxuJiM0MztcdFx0fTtcbiYjNDM7XHRcdG51bV90eF9xdWV1ZXMgJiM0Mzs9IHFvcHQtXHUwMDNlY291bnRbaV07XG4gXHR9XG4gXG4tXHRlcnIgPSBuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIG51bV9zdGFja190eF9xdWV1ZXMpO1xuJiM0MztcdGVyciA9IHN0bW1hY19zZXRfbmRldl90Y3MobmRldiwgcW9wdC1cdTAwM2VudW1fdGMsIHRjX3RvX3R4cSk7XG4gXHRpZiAoZXJyKVxuLVx0XHRnb3RvIGVycl9yZXNldF90YztcbiYjNDM7XHRcdGdvdG8gZXJyb3JfcmVzZXRfdGM7XG4mIzQzO1xuJiM0MztcdG5kZXZfbnVtX3R4X3F1ZXVlcyA9IG5kZXYtXHUwMDNlcmVhbF9udW1fdHhfcXVldWVzO1xuJiM0MztcdGVyciA9IG5ldGlmX3NldF9yZWFsX251bV90eF9xdWV1ZXMobmRldiwgbnVtX3R4X3F1ZXVlcyk7XG4mIzQzO1x0aWYgKGVycilcbiYjNDM7XHRcdGdvdG8gZXJyb3JfcmVzZXRfdGM7XG4gXG4gXHRlcnIgPSBzdG1tYWNfZnBlX21hcF9wcmVlbXB0aW9uX2NsYXNzKHByaXYsIG5kZXYsIGV4dGFjayxcbiBcdFx0XHRcdFx0ICAgICAgbXFwcmlvLVx1MDAzZXByZWVtcHRpYmxlX3Rjcyk7XG4gXHRpZiAoZXJyKVxuLVx0XHRnb3RvIGVycl9yZXNldF90YztcbiYjNDM7XHRcdGdvdG8gZXJyb3JfcmVzZXRfbnVtX3R4X3F1ZXVlcztcbiYjNDM7XG4mIzQzO1x0cHJpdi1cdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX01RUFJJTztcbiBcbiBcdHJldHVybiAwO1xuIFxuLWVycl9yZXNldF90Yzpcbi1cdHN0bW1hY19yZXNldF90Y19tcXByaW8obmRldiwgZXh0YWNrKTtcbiYjNDM7ZXJyb3JfcmVzZXRfbnVtX3R4X3F1ZXVlczpcbiYjNDM7XHRuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIG5kZXZfbnVtX3R4X3F1ZXVlcyk7XG4mIzQzO2Vycm9yX3Jlc2V0X3RjOlxuJiM0MztcdHN0bW1hY19zZXRfbmRldl90Y3MobmRldiwgbmRldl9udGMsIG5kZXZfdGNfdG9fdHhxKTtcbiBcbiBcdHJldHVybiBlcnI7XG4gfVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM4PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmNvcmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRyYWZmaWMgY29udHJvbCBvZmZsb2FkIGhhbmRsaW5nIChNUVBSSU8gYW5kIFRBUFJJTyBxZGlzYyBjb25maWd1cmF0aW9uIGFuZCBjbGVhbnVwKSBpbiB0aGUgU1RNaWNyb2VsZWN0cm9uaWNzIC8gU3lub3BzeXMgRGVzaWduV2FyZSBFdGhlcm5ldCBNQUMgKHN0bW1hYykgZHJpdmVyIChzdG1tYWNfdGMuYykuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIFN5bm9wc3lzIERXTUFDIGhhcmR3YXJlL1NvQyBJUCBjb3JlcyB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhpcyBjb2RlIHVucmVhY2hhYmxlIGZvciBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLAogIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwKICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKQogIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucwogICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgQWxzbyBjaGVjayAmIzM0O2RlcGVuZHMgb24mIzM0OyBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3MKICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzCiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDk0NWMwN2Q4NTNkNmQ2MWQzMjhhMGE0Mjc5NjA1YjZiYzdiY2RmN2IKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgU2F0IEF1ZyAyOSAwODozODo0OSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hYy5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgKaW5kZXggNzU4MmZjYTYzNzQxOS4uOTU3MzE3ZWMxNDYxMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmgKQEAgLTI1OCw2ICYjNDM7MjU4LDEyIEBAIHN0cnVjdCBzdG1tYWNfbXNpIHsKIAljaGFyIGludF9uYW1lX3R4X2lycVtNVExfTUFYX1RYX1FVRVVFU11bSUZOQU1TSVogJiM0MzsgMThdOwogfTsKIAomIzQzO2VudW0gc3RtbWFjX3FkaXNjX3R5cGUgewomIzQzOwlTVE1NQUNfUURJU0NfTk9ORSA9IDAsCiYjNDM7CVNUTU1BQ19RRElTQ19NUVBSSU8sCiYjNDM7CVNUTU1BQ19RRElTQ19UQVBSSU8sCiYjNDM7fTsKJiM0MzsKIHN0cnVjdCBzdG1tYWNfcHJpdiB7CiAJLyogRnJlcXVlbnRseSB1c2VkIHZhbHVlcyBhcmUga2VwdCBhZGphY2VudCBmb3IgY2FjaGUgZWZmZWN0ICovCiAJdTMyIHR4X2NvYWxfZnJhbWVzW01UTF9NQVhfVFhfUVVFVUVTXTsKQEAgLTI5OSw2ICYjNDM7MzA1LDcgQEAgc3RydWN0IHN0bW1hY19wcml2IHsKIAkvKiBQcm90ZWN0IGVzdCBwYXJhbWV0ZXJzICovCiAJc3RydWN0IG11dGV4IGVzdF9sb2NrOwogCXN0cnVjdCBzdG1tYWNfZXN0ICplc3Q7CiYjNDM7CWVudW0gc3RtbWFjX3FkaXNjX3R5cGUgcWRpc2NfdHlwZTsKIAlzdHJ1Y3QgZG1hX2ZlYXR1cmVzIGRtYV9jYXA7CiAJc3RydWN0IHN0bW1hY19jb3VudGVycyBtbWM7CiAJaW50IGh3X2NhcF9zdXBwb3J0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3RjLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYwppbmRleCAxNGNhYmU3NmU1M2VjLi43ZmU1ODdiNDdkNTI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYwpAQCAtMTEwMyw2ICYjNDM7MTEwMyw4IEBAIHN0YXRpYyBpbnQgdGNfdGFwcmlvX2NvbmZpZ3VyZShzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsCiAJaWYgKHJldCkKIAkJZ290byBkaXNhYmxlOwogCiYjNDM7CXByaXYtJmd0O3FkaXNjX3R5cGUgPSBTVE1NQUNfUURJU0NfVEFQUklPOwomIzQzOwogCXJldHVybiAwOwogCiBkaXNhYmxlOgpAQCAtMTEyMCw3ICYjNDM7MTEyMiwxMSBAQCBzdGF0aWMgaW50IHRjX3RhcHJpb19jb25maWd1cmUoc3RydWN0IHN0bW1hY19wcml2ICpwcml2LAogCQltdXRleF91bmxvY2soJmFtcDtwcml2LSZndDtlc3RfbG9jayk7CiAJfQogCi0Jc3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LSZndDtkZXYsIGV4dGFjaywgMCk7CiYjNDM7CWlmIChwcml2LSZndDtxZGlzY190eXBlID09IFNUTU1BQ19RRElTQ19UQVBSSU8gJmFtcDsmYW1wOwomIzQzOwkgICAgcW9wdC0mZ3Q7Y21kID09IFRBUFJJT19DTURfREVTVFJPWSkgewomIzQzOwkJc3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LSZndDtkZXYsIGV4dGFjaywgMCk7CiYjNDM7CQlwcml2LSZndDtxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX05PTkU7CiYjNDM7CX0KIAogCXJldHVybiByZXQ7CiB9CkBAIC0xMjM3LDU4ICYjNDM7MTI0MywxMDEgQEAgc3RhdGljIGludCB0Y19xdWVyeV9jYXBzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwKIAl9CiB9CiAKJiM0MztzdGF0aWMgaW50IHN0bW1hY19zZXRfbmRldl90Y3Moc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsIHU4IG50YywKJiM0MzsJCQkgICAgICAgc3RydWN0IG5ldGRldl90Y190eHEgKnRjX3RvX3R4cSkKJiM0Mzt7CiYjNDM7CWludCBpLCBlcnI7CiYjNDM7CiYjNDM7CW5ldGRldl9yZXNldF90YyhuZGV2KTsKJiM0MzsJaWYgKG50YyA9PSAxKQomIzQzOwkJcmV0dXJuIDA7CiYjNDM7CiYjNDM7CWVyciA9IG5ldGRldl9zZXRfbnVtX3RjKG5kZXYsIG50Yyk7CiYjNDM7CWlmIChlcnIpCiYjNDM7CQlyZXR1cm4gZXJyOwomIzQzOwomIzQzOwlmb3IgKGkgPSAwOyBpICZsdDsgbnRjOyBpJiM0MzsmIzQzOykgewomIzQzOwkJdTE2IGNvdW50LCBvZmZzZXQ7CiYjNDM7CiYjNDM7CQljb3VudCA9IHRjX3RvX3R4cVtpXS5jb3VudDsKJiM0MzsJCW9mZnNldCA9IHRjX3RvX3R4cVtpXS5vZmZzZXQ7CiYjNDM7CQluZXRkZXZfc2V0X3RjX3F1ZXVlKG5kZXYsIGksIGNvdW50LCBvZmZzZXQpOwomIzQzOwl9CiYjNDM7CiYjNDM7CXJldHVybiAwOwomIzQzO30KJiM0MzsKIHN0YXRpYyB2b2lkIHN0bW1hY19yZXNldF90Y19tcXByaW8oc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsCiAJCQkJICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQogewogCXN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KG5kZXYpOwogCi0JbmV0ZGV2X3Jlc2V0X3RjKG5kZXYpOwotCW5ldGlmX3NldF9yZWFsX251bV90eF9xdWV1ZXMobmRldiwgcHJpdi0mZ3Q7cGxhdC0mZ3Q7dHhfcXVldWVzX3RvX3VzZSk7Ci0Jc3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssIDApOwomIzQzOwlpZiAocHJpdi0mZ3Q7cWRpc2NfdHlwZSAhPSBTVE1NQUNfUURJU0NfVEFQUklPKQomIzQzOwkJc3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssIDApOwomIzQzOwomIzQzOwlpZiAocHJpdi0mZ3Q7cWRpc2NfdHlwZSA9PSBTVE1NQUNfUURJU0NfTVFQUklPKSB7CiYjNDM7CQluZXRkZXZfcmVzZXRfdGMobmRldik7CiYjNDM7CQluZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsCiYjNDM7CQkJCQkgICAgIHByaXYtJmd0O3BsYXQtJmd0O3R4X3F1ZXVlc190b191c2UpOwomIzQzOwkJcHJpdi0mZ3Q7cWRpc2NfdHlwZSA9IFNUTU1BQ19RRElTQ19OT05FOwomIzQzOwl9CiB9CiAKIHN0YXRpYyBpbnQgdGNfc2V0dXBfZHdtYWM1MTBfbXFwcmlvKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwKIAkJCQkgICAgc3RydWN0IHRjX21xcHJpb19xb3B0X29mZmxvYWQgKm1xcHJpbykKIHsKJiM0MzsJdW5zaWduZWQgaW50IG5kZXZfbnVtX3R4X3F1ZXVlcywgbnVtX3R4X3F1ZXVlcyA9IDA7CiYjNDM7CXN0cnVjdCBuZXRkZXZfdGNfdHhxIG5kZXZfdGNfdG9fdHhxW1RDX01BWF9RVUVVRV07CiYjNDM7CXN0cnVjdCBuZXRkZXZfdGNfdHhxIHRjX3RvX3R4cVtUQ19NQVhfUVVFVUVdID0ge307CiAJc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrID0gbXFwcmlvLSZndDtleHRhY2s7CiAJc3RydWN0IHRjX21xcHJpb19xb3B0ICpxb3B0ID0gJmFtcDttcXByaW8tJmd0O3FvcHQ7Ci0JdTMyIG9mZnNldCwgY291bnQsIG51bV9zdGFja190eF9xdWV1ZXMgPSAwOwogCXN0cnVjdCBuZXRfZGV2aWNlICpuZGV2ID0gcHJpdi0mZ3Q7ZGV2OwotCXUzMiBudW1fdGMgPSBxb3B0LSZndDtudW1fdGM7Ci0JaW50IGVycjsKJiM0MzsJaW50IGksIGVyciwgbmRldl9udGM7CiAKLQlpZiAoIW51bV90YykgewomIzQzOwlpZiAoIXFvcHQtJmd0O251bV90YykgewogCQlzdG1tYWNfcmVzZXRfdGNfbXFwcmlvKG5kZXYsIGV4dGFjayk7CiAJCXJldHVybiAwOwogCX0KIAotCWVyciA9IG5ldGRldl9zZXRfbnVtX3RjKG5kZXYsIG51bV90Yyk7Ci0JaWYgKGVycikKLQkJcmV0dXJuIGVycjsKLQotCWZvciAodTMyIHRjID0gMDsgdGMgJmx0OyBudW1fdGM7IHRjJiM0MzsmIzQzOykgewotCQlvZmZzZXQgPSBxb3B0LSZndDtvZmZzZXRbdGNdOwotCQljb3VudCA9IHFvcHQtJmd0O2NvdW50W3RjXTsKLQkJbnVtX3N0YWNrX3R4X3F1ZXVlcyAmIzQzOz0gY291bnQ7CiYjNDM7CWlmIChxb3B0LSZndDtudW1fdGMgJmd0OyBBUlJBWV9TSVpFKHRjX3RvX3R4cSkpCiYjNDM7CQlyZXR1cm4gLUVJTlZBTDsKIAotCQllcnIgPSBuZXRkZXZfc2V0X3RjX3F1ZXVlKG5kZXYsIHRjLCBjb3VudCwgb2Zmc2V0KTsKLQkJaWYgKGVycikKLQkJCWdvdG8gZXJyX3Jlc2V0X3RjOwomIzQzOwkvKiBzYXZlIGN1cnJlbnQgdGMgdmFsdWVzIGZvciByZXNldCAqLwomIzQzOwluZGV2X250YyA9IG5ldGRldl9nZXRfbnVtX3RjKG5kZXYpID8gOiAxOwomIzQzOwlmb3IgKGkgPSAwOyBpICZsdDsgQVJSQVlfU0laRShuZGV2LSZndDt0Y190b190eHEpOyBpJiM0MzsmIzQzOykKJiM0MzsJCW5kZXZfdGNfdG9fdHhxW2ldLmNvbWJpbmVkID0KJiM0MzsJCQlSRUFEX09OQ0UobmRldi0mZ3Q7dGNfdG9fdHhxW2ldLmNvbWJpbmVkKTsKJiM0MzsKJiM0MzsJZm9yIChpID0gMDsgaSAmbHQ7IHFvcHQtJmd0O251bV90YzsgaSYjNDM7JiM0MzspIHsKJiM0MzsJCXRjX3RvX3R4cVtpXSA9IChzdHJ1Y3QgbmV0ZGV2X3RjX3R4cSkgewomIzQzOwkJCS5jb3VudCA9IHFvcHQtJmd0O2NvdW50W2ldLAomIzQzOwkJCS5vZmZzZXQgPSBxb3B0LSZndDtvZmZzZXRbaV0sCiYjNDM7CQl9OwomIzQzOwkJbnVtX3R4X3F1ZXVlcyAmIzQzOz0gcW9wdC0mZ3Q7Y291bnRbaV07CiAJfQogCi0JZXJyID0gbmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LCBudW1fc3RhY2tfdHhfcXVldWVzKTsKJiM0MzsJZXJyID0gc3RtbWFjX3NldF9uZGV2X3RjcyhuZGV2LCBxb3B0LSZndDtudW1fdGMsIHRjX3RvX3R4cSk7CiAJaWYgKGVycikKLQkJZ290byBlcnJfcmVzZXRfdGM7CiYjNDM7CQlnb3RvIGVycm9yX3Jlc2V0X3RjOwomIzQzOwomIzQzOwluZGV2X251bV90eF9xdWV1ZXMgPSBuZGV2LSZndDtyZWFsX251bV90eF9xdWV1ZXM7CiYjNDM7CWVyciA9IG5ldGlmX3NldF9yZWFsX251bV90eF9xdWV1ZXMobmRldiwgbnVtX3R4X3F1ZXVlcyk7CiYjNDM7CWlmIChlcnIpCiYjNDM7CQlnb3RvIGVycm9yX3Jlc2V0X3RjOwogCiAJZXJyID0gc3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssCiAJCQkJCSAgICAgIG1xcHJpby0mZ3Q7cHJlZW1wdGlibGVfdGNzKTsKIAlpZiAoZXJyKQotCQlnb3RvIGVycl9yZXNldF90YzsKJiM0MzsJCWdvdG8gZXJyb3JfcmVzZXRfbnVtX3R4X3F1ZXVlczsKJiM0MzsKJiM0MzsJcHJpdi0mZ3Q7cWRpc2NfdHlwZSA9IFNUTU1BQ19RRElTQ19NUVBSSU87CiAKIAlyZXR1cm4gMDsKIAotZXJyX3Jlc2V0X3RjOgotCXN0bW1hY19yZXNldF90Y19tcXByaW8obmRldiwgZXh0YWNrKTsKJiM0MztlcnJvcl9yZXNldF9udW1fdHhfcXVldWVzOgomIzQzOwluZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIG5kZXZfbnVtX3R4X3F1ZXVlcyk7CiYjNDM7ZXJyb3JfcmVzZXRfdGM6CiYjNDM7CXN0bW1hY19zZXRfbmRldl90Y3MobmRldiwgbmRldl9udGMsIG5kZXZfdGNfdG9fdHhxKTsKIAogCXJldHVybiBlcnI7CiB9CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQzMTYKCQkJCQkJCW91dHB1dDogMjEKCQkJCQkJCXRob3VnaHRzOiAxNzgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBGZWFzaWJpbGl0eSBBc3Nlc3NtZW50KioKCk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uIE15IGluaXRpYWwgaW5zdGluY3QgaXMgdG8gZGV0ZXJtaW5lIGlmIHRoaXMgcGF0Y2ggd2FycmFudHMgZnV6emluZywgYW5kIGlmIHNvLCBob3cuIFRoZSBmaXJzdCBzdGVwIGlzIHRvIHF1aWNrbHkgaWRlbnRpZnkgdGhlIHNjb3BlIG9mIHRoZSBjaGFuZ2UuIEl0IGxvb2tzIGxpa2Ugd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBtb2RpZmljYXRpb25zIHRvIGBzdG1tYWMuaGAgYW5kIGBzdG1tYWNfdGMuY2AsIGJvdGggbG9jYXRlZCB3aXRoaW4gdGhlIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9gIGRpcmVjdG9yeS4gVGhhdCBwb2ludHMgdXMgZGlyZWN0bHkgdG8gdGhlIFNUTWljcm9lbGVjdHJvbmljcyBFdGhlcm5ldCBkcml2ZXIuCgpOb3cgdGhlIGNyaXRpY2FsIHF1ZXN0aW9uOiBjYW4gSSBldmVuIHJlYWNoIHRoaXMgY29kZSB3aXRoIG15IGZ1enppbmcgc2V0dXA/IElzIGBzdG1tYWNgIHNvbWV0aGluZyB0aGF0JiMzOTtzIG9ubHkgdGllZCB0byBzcGVjaWZpYyBwaHlzaWNhbCBoYXJkd2FyZSwgb3IgZG9lcyBpdCBoYXZlIHNvbWUgc29ydCBvZiB2aXJ0dWFsaXplZCBzdXBwb3J0PyBJIG5lZWQgdG8ga25vdyBpZiB0aGlzIGRyaXZlciBpcyBhY2Nlc3NpYmxlIHRocm91Z2ggc29tZXRoaW5nIGxpa2UgUUVNVSBvciBpbiBhIEdDRSBlbnZpcm9ubWVudCwgb3IgaWYgaXQgcmVxdWlyZXMgYSBzcGVjaWZpYyBoYXJkd2FyZSBwbGF0Zm9ybS4gU3BlY2lmaWNhbGx5LCBkb2VzIGl0IHVzZSBQQ0ksIG9yIGlzIGl0IGEgcGxhdGZvcm0gZHJpdmVyPyBJZiBpdCYjMzk7cyBhIHBsYXRmb3JtIGRyaXZlciwgZG9lcyBpdCBzcGVjaWZ5IHdoaWNoIFNvQ3Mgb3IgcGxhdGZvcm1zIGl0IGF0dGFjaGVzIHRvPyBVbmRlcnN0YW5kaW5nIHRoZSBhdHRhY2htZW50IG1lY2hhbmlzbSBhbmQgcGxhdGZvcm0gcmVxdWlyZW1lbnRzIGlzIGtleSB0byBmaWd1cmluZyBvdXQgdGhlIHNldHVwIGNvbXBsZXhpdHkgYW5kIGlmIGZ1enppbmcgaXMgcG9zc2libGUuIFNvLCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IGBzdG1tYWNgIGFjdHVhbGx5ICppcyogYW5kIG9uIHdoYXQgcGxhdGZvcm1zL2J1c2VzIGl0IGF0dGFjaGVzIHRvLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0NPTkZJR19TVE1NQUNfRVRIJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy5yc3Q9OTU9S2VybmVsIENvbmZpZ3VyYXRpb25cbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0LTk3LVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLnJzdDo5ODpUaGUga2VybmVsIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGlzIGBgQ09ORklHX1NUTU1BQ19FVEhgYDpcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy5yc3QtOTktIC0gYGBDT05GSUdfU1RNTUFDX1BMQVRGT1JNYGA6IGlzIHRvIGVuYWJsZSB0aGUgcGxhdGZvcm0gZHJpdmVyLlxuLS1cbmFyY2gvYXJjL2NvbmZpZ3MvYXhzMTAxX2RlZmNvbmZpZz00ND1DT05GSUdfTkVUREVWSUNFUz15XG4tLVxuYXJjaC9hcmMvY29uZmlncy9heHMxMDFfZGVmY29uZmlnLTUxLSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XG5hcmNoL2FyYy9jb25maWdzL2F4czEwMV9kZWZjb25maWc6NTI6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcmMvY29uZmlncy9heHMxMDFfZGVmY29uZmlnLTUzLSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcbi0tXG5hcmNoL2FyYy9jb25maWdzL2F4czEwM19kZWZjb25maWc9NDQ9Q09ORklHX05FVERFVklDRVM9eVxuLS1cbmFyY2gvYXJjL2NvbmZpZ3MvYXhzMTAzX2RlZmNvbmZpZy01MS0jIENPTkZJR19ORVRfVkVORE9SX1NFRVEgaXMgbm90IHNldFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfZGVmY29uZmlnOjUyOkNPTkZJR19TVE1NQUNfRVRIPXlcbmFyY2gvYXJjL2NvbmZpZ3MvYXhzMTAzX2RlZmNvbmZpZy01My0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XG4tLVxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZz00ND1DT05GSUdfTkVUREVWSUNFUz15XG4tLVxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZy01MS0jIENPTkZJR19ORVRfVkVORE9SX1NFRVEgaXMgbm90IHNldFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZzo1MjpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FyYy9jb25maWdzL2F4czEwM19zbXBfZGVmY29uZmlnLTUzLSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcbi0tXG5hcmNoL2FyYy9jb25maWdzL2hzZGtfZGVmY29uZmlnPTM3PUNPTkZJR19ORVRERVZJQ0VTPXlcbmFyY2gvYXJjL2NvbmZpZ3MvaHNka19kZWZjb25maWc6Mzg6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcmMvY29uZmlncy9oc2RrX2RlZmNvbmZpZy0zOS1DT05GSUdfTUlDUkVMX1BIWT15XG4tLVxuYXJjaC9hcmMvY29uZmlncy90YjEweF9kZWZjb25maWc9NDE9Q09ORklHX05FVERFVklDRVM9eVxuLS1cbmFyY2gvYXJjL2NvbmZpZ3MvdGIxMHhfZGVmY29uZmlnLTQ3LSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XG5hcmNoL2FyYy9jb25maWdzL3RiMTB4X2RlZmNvbmZpZzo0ODpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FyYy9jb25maWdzL3RiMTB4X2RlZmNvbmZpZy00OS0jIENPTkZJR19ORVRfVkVORE9SX1dJWk5FVCBpcyBub3Qgc2V0XG4tLVxuYXJjaC9hcmMvY29uZmlncy92ZGtfaHMzOF9kZWZjb25maWc9Mzk9Q09ORklHX05FVERFVklDRVM9eVxuLS1cbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfZGVmY29uZmlnLTQ2LSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X2RlZmNvbmZpZzo0NzpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X2RlZmNvbmZpZy00OC0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XG4tLVxuYXJjaC9hcmMvY29uZmlncy92ZGtfaHMzOF9zbXBfZGVmY29uZmlnPTQxPUNPTkZJR19ORVRERVZJQ0VTPXlcbi0tXG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X3NtcF9kZWZjb25maWctNDgtIyBDT05GSUdfTkVUX1ZFTkRPUl9TRUVRIGlzIG5vdCBzZXRcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfc21wX2RlZmNvbmZpZzo0OTpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X3NtcF9kZWZjb25maWctNTAtIyBDT05GSUdfTkVUX1ZFTkRPUl9WSUEgaXMgbm90IHNldFxuLS1cbmFyY2gvYXJtL2NvbmZpZ3MvbHBjMTh4eF9kZWZjb25maWc9NjE9Q09ORklHX05FVERFVklDRVM9eVxuLS1cbmFyY2gvYXJtL2NvbmZpZ3MvbHBjMTh4eF9kZWZjb25maWctNzYtIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcbmFyY2gvYXJtL2NvbmZpZ3MvbHBjMTh4eF9kZWZjb25maWc6Nzc6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcm0vY29uZmlncy9scGMxOHh4X2RlZmNvbmZpZy03OC0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XG4tLVxuYXJjaC9hcm0vY29uZmlncy9tdWx0aV92N19kZWZjb25maWc9Mjc2PUNPTkZJR19TTklfQVZFPXlcbmFyY2gvYXJtL2NvbmZpZ3MvbXVsdGlfdjdfZGVmY29uZmlnOjI3NzpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FybS9jb25maWdzL211bHRpX3Y3X2RlZmNvbmZpZy0yNzgtQ09ORklHX0RXTUFDX0RXQ19RT1NfRVRIPXlcbi0tXG5hcmNoL2FybS9jb25maWdzL3B4YV9kZWZjb25maWc9MTc3PUNPTkZJR19TTVNDOTExWD1tXG5hcmNoL2FybS9jb25maWdzL3B4YV9kZWZjb25maWc6MTc4OkNPTkZJR19TVE1NQUNfRVRIPW1cbmFyY2gvYXJtL2NvbmZpZ3MvcHhhX2RlZmNvbmZpZy0xNzktQ09ORklHX1BIWUxJQj15XG4tLVxuYXJjaC9hcm0vY29uZmlncy9zaG1vYmlsZV9kZWZjb25maWc9NTk9Q09ORklHX1NNU0M5MTFYPXlcbmFyY2gvYXJtL2NvbmZpZ3Mvc2htb2JpbGVfZGVmY29uZmlnOjYwOkNPTkZJR19TVE1NQUNfRVRIPXlcbmFyY2gvYXJtL2NvbmZpZ3Mvc2htb2JpbGVfZGVmY29uZmlnLTYxLSMgQ09ORklHX0RXTUFDX1JFTkVTQVNfR0JFVEggaXMgbm90IHNldFxuLS1cbmFyY2gvYXJtL2NvbmZpZ3Mvc29jZnBnYV9kZWZjb25maWc9NjY9Q09ORklHX0lYR0JFPW1cbmFyY2gvYXJtL2NvbmZpZ3Mvc29jZnBnYV9kZWZjb25maWc6Njc6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcm0vY29uZmlncy9zb2NmcGdhX2RlZmNvbmZpZy02OC1DT05GSUdfTUFSVkVMTF9QSFk9eVxuLS1cbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXIxM3h4X2RlZmNvbmZpZz00Mj1DT05GSUdfTkVUREVWSUNFUz15XG4tLVxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjEzeHhfZGVmY29uZmlnLTUwLSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XG5hcmNoL2FybS9jb25maWdzL3NwZWFyMTN4eF9kZWZjb25maWc6NTE6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjEzeHhfZGVmY29uZmlnLTUyLSMgQ09ORklHX1dMQU4gaXMgbm90IHNldFxuLS1cbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXIzeHhfZGVmY29uZmlnPTIzPUNPTkZJR19ORVRERVZJQ0VTPXlcbi0tXG5hcmNoL2FybS9jb25maWdzL3NwZWFyM3h4X2RlZmNvbmZpZy0zMS0jIENPTkZJR19ORVRfVkVORE9SX1NNU0MgaXMgbm90IHNldFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjN4eF9kZWZjb25maWc6MzI6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjN4eF9kZWZjb25maWctMzMtIyBDT05GSUdfV0xBTiBpcyBub3Qgc2V0XG4tLVxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjZ4eF9kZWZjb25maWc9MTk9Q09ORklHX05FVERFVklDRVM9eVxuLS1cbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXI2eHhfZGVmY29uZmlnLTI3LSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XG5hcmNoL2FybS9jb25maWdzL3NwZWFyNnh4X2RlZmNvbmZpZzoyODpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2FybS9jb25maWdzL3NwZWFyNnh4X2RlZmNvbmZpZy0yOS0jIENPTkZJR19XTEFOIGlzIG5vdCBzZXRcbi0tXG5hcmNoL2FybS9jb25maWdzL3N1bnhpX2RlZmNvbmZpZz0zNj1DT05GSUdfU1VONElfRU1BQz15XG4tLVxuYXJjaC9hcm0vY29uZmlncy9zdW54aV9kZWZjb25maWctNDgtIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcbmFyY2gvYXJtL2NvbmZpZ3Mvc3VueGlfZGVmY29uZmlnOjQ5OkNPTkZJR19TVE1NQUNfRVRIPXlcbmFyY2gvYXJtL2NvbmZpZ3Mvc3VueGlfZGVmY29uZmlnLTUwLSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcbi0tXG5hcmNoL2FybTY0L2NvbmZpZ3MvZGVmY29uZmlnPTQ0NT1DT05GSUdfU05JX05FVFNFQz1tXG5hcmNoL2FybTY0L2NvbmZpZ3MvZGVmY29uZmlnOjQ0NjpDT05GSUdfU1RNTUFDX0VUSD1tXG5hcmNoL2FybTY0L2NvbmZpZ3MvZGVmY29uZmlnLTQ0Ny1DT05GSUdfRFdNQUNfTUVESUFURUs9bVxuLS1cbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb24zMl9kZWZjb25maWc9NjExPUNPTkZJR19SODE2OT15XG4tLVxuYXJjaC9sb29uZ2FyY2gvY29uZmlncy9sb29uZ3NvbjMyX2RlZmNvbmZpZy02MTktIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb24zMl9kZWZjb25maWc6NjIwOkNPTkZJR19TVE1NQUNfRVRIPXlcbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb24zMl9kZWZjb25maWctNjIxLSMgQ09ORklHX05FVF9WRU5ET1JfU1VOIGlzIG5vdCBzZXRcbi0tXG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uNjRfZGVmY29uZmlnPTYyNz1DT05GSUdfUjgxNjk9eVxuLS1cbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb242NF9kZWZjb25maWctNjM1LSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uNjRfZGVmY29uZmlnOjYzNjpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uNjRfZGVmY29uZmlnLTYzNy0jIENPTkZJR19ORVRfVkVORE9SX1NVTiBpcyBub3Qgc2V0XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvY3UxMDAwLW5lb19kZWZjb25maWc9NDI9Q09ORklHX05FVERFVklDRVM9eVxuYXJjaC9taXBzL2NvbmZpZ3MvY3UxMDAwLW5lb19kZWZjb25maWc6NDM6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9taXBzL2NvbmZpZ3MvY3UxMDAwLW5lb19kZWZjb25maWctNDQtQ09ORklHX1NNU0NfUEhZPXlcbi0tXG5hcmNoL21pcHMvY29uZmlncy9jdTE4MzAtbmVvX2RlZmNvbmZpZz00NT1DT05GSUdfTkVUREVWSUNFUz15XG5hcmNoL21pcHMvY29uZmlncy9jdTE4MzAtbmVvX2RlZmNvbmZpZzo0NjpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL21pcHMvY29uZmlncy9jdTE4MzAtbmVvX2RlZmNvbmZpZy00Ny1DT05GSUdfSUNQTFVTX1BIWT15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1tYXJkdWsuY29uZmlnPTI1PUNPTkZJR19ORVRERVZJQ0VTPXlcbmFyY2gvbWlwcy9jb25maWdzL2dlbmVyaWMvYm9hcmQtbWFyZHVrLmNvbmZpZzoyNjpDT05GSUdfU1RNTUFDX0VUSD15XG5hcmNoL21pcHMvY29uZmlncy9nZW5lcmljL2JvYXJkLW1hcmR1ay5jb25maWctMjctQ09ORklHX1NUTU1BQ19QTEFURk9STT15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1uaTE2OTQ0NS5jb25maWc9MjY9Q09ORklHX05FVERFVklDRVM9eVxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1uaTE2OTQ0NS5jb25maWc6Mjc6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1uaTE2OTQ0NS5jb25maWctMjgtQ09ORklHX1NUTU1BQ19QTEFURk9STT15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24xX2RlZmNvbmZpZz01MT1DT05GSUdfTkVUREVWSUNFUz15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24xX2RlZmNvbmZpZy04OC0jIENPTkZJR19ORVRfVkVORE9SX1NPQ0lPTkVYVCBpcyBub3Qgc2V0XG5hcmNoL21pcHMvY29uZmlncy9sb29uZ3NvbjFfZGVmY29uZmlnOjg5OkNPTkZJR19TVE1NQUNfRVRIPXlcbmFyY2gvbWlwcy9jb25maWdzL2xvb25nc29uMV9kZWZjb25maWctOTAtIyBDT05GSUdfRFdNQUNfR0VORVJJQyBpcyBub3Qgc2V0XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24ya19kZWZjb25maWc9MTc1PUNPTkZJR19SODE2OT15XG4tLVxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24ya19kZWZjb25maWctMTgzLSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XG5hcmNoL21pcHMvY29uZmlncy9sb29uZ3NvbjJrX2RlZmNvbmZpZzoxODQ6Q09ORklHX1NUTU1BQ19FVEg9eVxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24ya19kZWZjb25maWctMTg1LSMgQ09ORklHX05FVF9WRU5ET1JfU1VOIGlzIG5vdCBzZXRcbi0tXG5hcmNoL3Jpc2N2L2NvbmZpZ3MvZGVmY29uZmlnPTE0MD1DT05GSUdfUjgxNjk9eVxuYXJjaC9yaXNjdi9jb25maWdzL2RlZmNvbmZpZzoxNDE6Q09ORklHX1NUTU1BQ19FVEg9bVxuYXJjaC9yaXNjdi9jb25maWdzL2RlZmNvbmZpZy0xNDItQ09ORklHX0RXTUFDX1RIRUFEPW1cbi0tXG5kcml2ZXJzL2dwaW8vZ3Bpb2xpYi1vZi5jPTM0Mz1zdGF0aWMgdm9pZCBvZl9ncGlvX2ZsYWdzX3F1aXJrcyhjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLFxuLS1cbmRyaXZlcnMvZ3Bpby9ncGlvbGliLW9mLmMtMzk4LVx0LyogTGVnYWN5IGhhbmRsaW5nIG9mIHN0bW1hYyYjMzk7cyBhY3RpdmUtbG93IFBIWSByZXNldCBsaW5lICovXG5kcml2ZXJzL2dwaW8vZ3Bpb2xpYi1vZi5jOjM5OTpcdGlmIChJU19FTkFCTEVEKENPTkZJR19TVE1NQUNfRVRIKSBcdTAwMjZcdTAwMjZcbmRyaXZlcnMvZ3Bpby9ncGlvbGliLW9mLmMtNDAwLVx0ICAgICFzdHJjbXAocHJvcG5hbWUsIFwmIzM0O3NucHMscmVzZXQtZ3Bpb1wmIzM0OykgXHUwMDI2XHUwMDI2XG4tLVxuZHJpdmVycy9ncHUvZHJtL2NpL2FybTY0LmNvbmZpZz0zNj1DT05GSUdfRFdNQUNfUk9DS0NISVA9eVxuZHJpdmVycy9ncHUvZHJtL2NpL2FybTY0LmNvbmZpZzozNzpDT05GSUdfU1RNTUFDX0VUSD15XG5kcml2ZXJzL2dwdS9kcm0vY2kvYXJtNjQuY29uZmlnLTM4LUNPTkZJR19UWVBFQ19GVVNCMzAyPXlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL01ha2VmaWxlLTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL01ha2VmaWxlOjY6b2JqLSQoQ09ORklHX1NUTU1BQ19FVEgpICYjNDM7PSBzdG1tYWMvXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyOm9iai0kKENPTkZJR19TVE1NQUNfRVRIKSAmIzQzOz0gc3RtbWFjLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTMtc3RtbWFjLW9ianM6PSBzdG1tYWNfbWFpbi5vIHN0bW1hY19ldGh0b29sLm8gc3RtbWFjX21kaW8ubyByaW5nX21vZGUub1x0XFxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA4MDU0CgkJCQkJCQlvdXRwdXQ6IDM3CgkJCQkJCQl0aG91Z2h0czogMjQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOgoKKipJbnZlc3RpZ2F0aW5nIFNUTU1BQyBFdGhlcm5ldCBEcml2ZXJzKioKCk9rYXksIHNvIEkgbmVlZCB0byBnZXQgYSBoYW5kbGUgb24gdGhlIFNUTU1BQyBFdGhlcm5ldCBkcml2ZXJzLiBUaGUgZmlyc3Qgc3RlcCBpcyB0byBzZWUgd2hhdCYjMzk7cyBhY3R1YWxseSAqdGhlcmUqIHVuZGVyIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9gLiBJIHdhbnQgdG8ga25vdyB0aGUgc2NvcGUgb2YgdGhlIHNvbHV0aW9uIC0gd2hhdCYjMzk7cyBpbXBsZW1lbnRlZCwgd2hhdCYjMzk7cyBzdXBwb3J0ZWQuIEkmIzM5O20gbG9va2luZyBmb3IgdGhlIGRpc3RpbmN0IGRyaXZlciBzb3VyY2UgZmlsZXMsIHRoZSBuYW1pbmcgY29udmVudGlvbnMgdGhleSB1c2UsIGFuZCB3aGljaCBzcGVjaWZpYyBTVE1pY3JvZWxlY3Ryb25pY3MgTUFDIGNvbnRyb2xsZXJzIG9yIFNvQ3MgdGhleSYjMzk7cmUgdGFyZ2V0aW5nLiBBcmUgdGhlcmUgbXVsdGlwbGUgZHJpdmVyIGZpbGVzIGZvciBkaWZmZXJlbnQgaGFyZHdhcmUgcmV2aXNpb25zIG9yIHNwZWNpZmljIFBIWSBjb25maWd1cmF0aW9ucz8gQXJlIHRoZXJlIGNvbW1vbiBmaWxlcyBmb3Igc2hhcmVkIGZ1bmN0aW9uYWxpdHkgbGlrZSBETUEgaGFuZGxpbmcgb3IgaW50ZXJydXB0IG1hbmFnZW1lbnQ/IFVsdGltYXRlbHksIEkmIzM5O20gdHJ5aW5nIHRvIGVzdGFibGlzaCBhIHF1aWNrIG1lbnRhbCBtYXAgb2YgdGhlIFNUTU1BQyBkcml2ZXIgbGFuZHNjYXBlLCB0aGUgbGV2ZWwgb2YgYWJzdHJhY3Rpb24gcHJvdmlkZWQsIGFuZCBob3cgbXVjaCBsb3ctbGV2ZWwgaW50ZXJhY3Rpb24gaXMgZXhwb3NlZC4gVW5kZXJzdGFuZGluZyB0aGUgb3JnYW5pemF0aW9uIHdpbGwgYWxsb3cgbWUgdG8gcXVpY2tseSBwaW5wb2ludCB3aGljaCBhcmVhcyBhcmUgcmVsZXZhbnQgdG8gbXkgY3VycmVudCB0YXNrLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0NPTkZJR18mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI6b2JqLSQoQ09ORklHX1NUTU1BQ19FVEgpICYjNDM7PSBzdG1tYWMub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtMy1zdG1tYWMtb2Jqczo9IHN0bW1hY19tYWluLm8gc3RtbWFjX2V0aHRvb2wubyBzdG1tYWNfbWRpby5vIHJpbmdfbW9kZS5vXHRcXFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTExLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTI6c3RtbWFjLSQoQ09ORklHX1NUTU1BQ19TRUxGVEVTVFMpICYjNDM7PSBzdG1tYWNfc2VsZnRlc3RzLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTEzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtMTQtIyBPcmRlcmluZyBtYXR0ZXJzLiBHZW5lcmljIGRyaXZlciBtdXN0IGJlIGxhc3QuXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToxNTpvYmotJChDT05GSUdfU1RNTUFDX1BMQVRGT1JNKVx0JiM0Mzs9IHN0bW1hYy1wbGF0Zm9ybS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToxNjpvYmotJChDT05GSUdfRFdNQUNfQU5BUklPTilcdCYjNDM7PSBkd21hYy1hbmFyaW9uLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjE3Om9iai0kKENPTkZJR19EV01BQ19FSUM3NzAwKVx0JiM0Mzs9IGR3bWFjLWVpYzc3MDAub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTg6b2JqLSQoQ09ORklHX0RXTUFDX0lOR0VOSUMpXHQmIzQzOz0gZHdtYWMtaW5nZW5pYy5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToxOTpvYmotJChDT05GSUdfRFdNQUNfSVBRODA2WClcdCYjNDM7PSBkd21hYy1pcHE4MDZ4Lm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjIwOm9iai0kKENPTkZJR19EV01BQ19MUEMxOFhYKVx0JiM0Mzs9IGR3bWFjLWxwYzE4eHgub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MjE6b2JqLSQoQ09ORklHX0RXTUFDX01FRElBVEVLKVx0JiM0Mzs9IGR3bWFjLW1lZGlhdGVrLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjIyOm9iai0kKENPTkZJR19EV01BQ19NRVNPTilcdCYjNDM7PSBkd21hYy1tZXNvbi5vIGR3bWFjLW1lc29uOGIub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MjM6b2JqLSQoQ09ORklHX0RXTUFDX05VVk9UT04pXHQmIzQzOz0gZHdtYWMtbnV2b3Rvbi5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyNDpvYmotJChDT05GSUdfRFdNQUNfUUNPTV9FVEhRT1MpXHQmIzQzOz0gZHdtYWMtcWNvbS1ldGhxb3Mub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MjU6b2JqLSQoQ09ORklHX0RXTUFDX1JFTkVTQVNfR0JFVEgpICYjNDM7PSBkd21hYy1yZW5lc2FzLWdiZXRoLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI2Om9iai0kKENPTkZJR19EV01BQ19ST0NLQ0hJUClcdCYjNDM7PSBkd21hYy1yay5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyNzpvYmotJChDT05GSUdfRFdNQUNfUlpOMSlcdCYjNDM7PSBkd21hYy1yem4xLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI4Om9iai0kKENPTkZJR19EV01BQ19TMzIpXHRcdCYjNDM7PSBkd21hYy1zMzIub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6Mjk6b2JqLSQoQ09ORklHX0RXTUFDX1NPQ0ZQR0EpXHQmIzQzOz0gZHdtYWMtYWx0ci1zb2NmcGdhLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjMwOm9iai0kKENPTkZJR19EV01BQ19TT1BIR08pXHQmIzQzOz0gZHdtYWMtc29waGdvLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjMxOm9iai0kKENPTkZJR19EV01BQ19TUEFDRU1JVClcdCYjNDM7PSBkd21hYy1zcGFjZW1pdC5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozMjpvYmotJChDT05GSUdfRFdNQUNfU1RBUkZJVkUpXHQmIzQzOz0gZHdtYWMtc3RhcmZpdmUub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MzM6b2JqLSQoQ09ORklHX0RXTUFDX1NUSSlcdFx0JiM0Mzs9IGR3bWFjLXN0aS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozNDpvYmotJChDT05GSUdfRFdNQUNfU1RNMzIpXHQmIzQzOz0gZHdtYWMtc3RtMzIub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MzU6b2JqLSQoQ09ORklHX0RXTUFDX1NVTlhJKVx0JiM0Mzs9IGR3bWFjLXN1bnhpLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjM2Om9iai0kKENPTkZJR19EV01BQ19TVU44SSlcdCYjNDM7PSBkd21hYy1zdW44aS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozNzpvYmotJChDT05GSUdfRFdNQUNfU1VONTVJKVx0JiM0Mzs9IGR3bWFjLXN1bjU1aS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozODpvYmotJChDT05GSUdfRFdNQUNfVEhFQUQpXHQmIzQzOz0gZHdtYWMtdGhlYWQub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6Mzk6b2JqLSQoQ09ORklHX0RXTUFDX0RXQ19RT1NfRVRIKVx0JiM0Mzs9IGR3bWFjLWR3Yy1xb3MtZXRoLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjQwOm9iai0kKENPTkZJR19EV01BQ19JTlRFTF9QTEFUKVx0JiM0Mzs9IGR3bWFjLWludGVsLXBsYXQub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDE6b2JqLSQoQ09ORklHX0RXTUFDX0xPT05HU09OMSlcdCYjNDM7PSBkd21hYy1sb29uZ3NvbjEub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDI6b2JqLSQoQ09ORklHX0RXTUFDX0dFTkVSSUMpXHQmIzQzOz0gZHdtYWMtZ2VuZXJpYy5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo0MzpvYmotJChDT05GSUdfRFdNQUNfSU1YOClcdCYjNDM7PSBkd21hYy1pbXgub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDQ6b2JqLSQoQ09ORklHX0RXTUFDX1RFR1JBKVx0JiM0Mzs9IGR3bWFjLXRlZ3JhLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjQ1Om9iai0kKENPTkZJR19EV01BQ19WSVNDT05USSlcdCYjNDM7PSBkd21hYy12aXNjb250aS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS00Ni1zdG1tYWMtcGxhdGZvcm0tb2Jqczo9IHN0bW1hY19wbGF0Zm9ybS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZT00Nz1kd21hYy1hbHRyLXNvY2ZwZ2Etb2JqcyA6PSBkd21hYy1zb2NmcGdhLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTQ4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDk6b2JqLSQoQ09ORklHX1NUTU1BQ19MSUJQQ0kpXHQmIzQzOz0gc3RtbWFjX2xpYnBjaS5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo1MDpvYmotJChDT05GSUdfU1RNTUFDX1BDSSlcdCYjNDM7PSBzdG1tYWMtcGNpLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjUxOm9iai0kKENPTkZJR19EV01BQ19JTlRFTClcdCYjNDM7PSBkd21hYy1pbnRlbC5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo1MjpvYmotJChDT05GSUdfRFdNQUNfTE9PTkdTT04pXHQmIzQzOz0gZHdtYWMtbG9vbmdzb24ub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NTM6b2JqLSQoQ09ORklHX0RXTUFDX01PVE9SQ09NTSlcdCYjNDM7PSBkd21hYy1tb3RvcmNvbW0ub1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtNTQtc3RtbWFjLXBjaS1vYmpzOj0gc3RtbWFjX3BjaS5vXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjkgMDg6Mzk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTAyNjgKCQkJCQkJCW91dHB1dDogMzgKCQkJCQkJCXRob3VnaHRzOiA1MwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJbnZlc3RpZ2F0aW5nIHRoZSBzdG1tYWMgRHJpdmVyJiMzOTtzIFRyYWZmaWMgQ29udHJvbCBJbXBsZW1lbnRhdGlvbioqCgpPa2F5LCBzbyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdHJhZmZpYyBjb250cm9sIGlzIGhhbmRsZWQgd2l0aGluIHRoZSBgc3RtbWFjYCBkcml2ZXIuIE15IGluaXRpYWwgaW5zdGluY3Qgd2FzIHRvIGp1bXAgc3RyYWlnaHQgaW50byBgc3RtbWFjX3RjLmNgLCB3aGljaCBtYWtlcyBzZW5zZSBhcyBpdCYjMzk7cyBuYW1lZCBzcGVjaWZpY2FsbHkgZm9yIHRyYWZmaWMgY29udHJvbC4gSSB3YW50IHRvIHNlZSBleGFjdGx5IGhvdyBpdCYjMzk7cyBjYWxsZWQsIHRyYWNlIHRoZSBleGVjdXRpb24gcGF0aCwgYW5kIGRldGVybWluZSBpZiBpdCBpbnRlcmFjdHMgd2l0aCBhbnkgUENJIG9yIHZpcnR1YWwgZGV2aWNlcy4gSG93ZXZlciwgYmVmb3JlIGdldHRpbmcgaW50byB0aGUgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24sIGEgbW9yZSBzeXN0ZW1hdGljIGFwcHJvYWNoIG1pZ2h0IGJlIGJlc3QuIEkgc2hvdWxkIGRvdWJsZSBjaGVjayB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zLiBUaGUgYEtjb25maWdgIGZpbGUgaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWdgIGlzIHByb2JhYmx5IHRoZSBwbGFjZSB0byBzdGFydC4gVGhpcyB3aWxsIHJldmVhbCBhbnkgYnVpbGQtdGltZSBjb25maWd1cmF0aW9ucyBvciBkZXBlbmRlbmNpZXMgdGhhdCBtaWdodCBpbmZsdWVuY2UgaG93IHRyYWZmaWMgY29udHJvbCBpcyBlbmFibGVkIG9yIGRpc2FibGVkLiBUaGlzIGhlbHBzIG1lIGZyYW1lIHdoYXQgSSYjMzk7bGwgc2VlIHdoZW4gSSBnZXQgaW50byB0aGUgY29kZSBpdHNlbGYuIENoZWNraW5nIHRoZSBgS2NvbmZpZ2AgZmlyc3Qgd2lsbCBnaXZlIG1lIHNvbWUgb2YgdGhlIGNvbnRleHQgSSBuZWVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzI5IDA4OjM5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyAmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6Mjpjb25maWcgU1RNTUFDX0VUSFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zLVx0dHJpc3RhdGUgXCYjMzQ7U1RNaWNyb2VsZWN0cm9uaWNzIE11bHRpLUdpZ2FiaXQgRXRoZXJuZXQgZHJpdmVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZz0xOD1pZiBTVE1NQUNfRVRIXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMDpjb25maWcgU1RNTUFDX1NFTEZURVNUU1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yMS1cdGJvb2wgXCYjMzQ7U3VwcG9ydCBmb3IgU1RNTUFDIFNlbGZ0ZXN0c1wmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI5OmNvbmZpZyBTVE1NQUNfUExBVEZPUk1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzAtXHR0cmlzdGF0ZSBcJiMzNDtTVE1NQUMgUGxhdGZvcm0gYnVzIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnPTQyPWlmIFNUTU1BQ19QTEFURk9STVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy00My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6NDQ6Y29uZmlnIERXTUFDX0RXQ19RT1NfRVRIXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTQ1LVx0dHJpc3RhdGUgXCYjMzQ7U3VwcG9ydCBmb3Igc25wcyxkd2MtcW9zLWV0aGVybmV0LnR4dCBEVCBiaW5kaW5nLlwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNTEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjUyOmNvbmZpZyBEV01BQ19HRU5FUklDXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTUzLVx0dHJpc3RhdGUgXCYjMzQ7R2VuZXJpYyBkcml2ZXIgZm9yIERXTUFDXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy01OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6NjA6Y29uZmlnIERXTUFDX0FOQVJJT05cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNjEtXHR0cmlzdGF0ZSBcJiMzNDtBZGFwdHJ1bSBBbmFyaW9uIEdNQUMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNjgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjY5OmNvbmZpZyBEV01BQ19FSUM3NzAwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTcwLVx0dHJpc3RhdGUgXCYjMzQ7U3VwcG9ydCBmb3IgRXN3aW4gZWljNzcwMCBldGhlcm5ldCBkcml2ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTc3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzo3ODpjb25maWcgRFdNQUNfSU5HRU5JQ1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy03OS1cdHRyaXN0YXRlIFwmIzM0O0luZ2VuaWMgTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTg5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzo5MDpjb25maWcgRFdNQUNfSVBRODA2WFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy05MS1cdHRyaXN0YXRlIFwmIzM0O1FDQSBJUFE4MDZ4IERXTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTAzOlx0ICBTZWxlY3QgdGhlIFFDT01fU09DSU5GTyBjb25maWcgZmxhZyB0byBlbmFibGUgc3BlY2lmaWMgZHdtYWNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTA0LVx0ICBmaXh1cCBiYXNlZCBvbiB0aGUgaXBxODA2eCBTb0MgcmV2aXNpb24uXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEwNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTA2OmNvbmZpZyBEV01BQ19MUEMxOFhYXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEwNy1cdHRyaXN0YXRlIFwmIzM0O05YUCBMUEMxOHh4LzQzeHggRFdNQUMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTEzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoxMTQ6Y29uZmlnIERXTUFDX01FRElBVEVLXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTExNS1cdHRyaXN0YXRlIFwmIzM0O01lZGlhVGVrIE1UMjd4eCBHTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEyMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTIyOmNvbmZpZyBEV01BQ19NRVNPTlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMjMtXHR0cmlzdGF0ZSBcJiMzNDtBbWxvZ2ljIE1lc29uIGR3bWFjIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEzMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTMzOmNvbmZpZyBEV01BQ19OVVZPVE9OXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEzNC1cdHRyaXN0YXRlIFwmIzM0O051dm90b24gTUEzNSBkd21hYyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xNDQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE0NTpjb25maWcgRFdNQUNfUUNPTV9FVEhRT1NcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTQ2LVx0dHJpc3RhdGUgXCYjMzQ7UXVhbGNvbW0gRVRIUU9TIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE1NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTU1OmNvbmZpZyBEV01BQ19SRU5FU0FTX0dCRVRIXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE1Ni1cdHRyaXN0YXRlIFwmIzM0O1JlbmVzYXMgUlovVjJIKFApIEdCRVRIIGFuZCBSWi9UMkgsIFJaL04ySCBHTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE2Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTY4OmNvbmZpZyBEV01BQ19ST0NLQ0hJUFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xNjktXHR0cmlzdGF0ZSBcJiMzNDtSb2NrY2hpcCBkd21hYyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xNzgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE3OTpjb25maWcgRFdNQUNfUlpOMVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xODAtXHR0cmlzdGF0ZSBcJiMzNDtSZW5lc2FzIFJaL04xIGR3bWFjIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE5MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTkxOmNvbmZpZyBEV01BQ19TMzJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTkyLVx0dHJpc3RhdGUgXCYjMzQ7TlhQIFMzMkcvUzMyUiBHTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTIwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MjAzOmNvbmZpZyBEV01BQ19TT0NGUEdBXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTIwNC1cdHRyaXN0YXRlIFwmIzM0O1NPQ0ZQR0EgZHdtYWMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjE3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMTg6Y29uZmlnIERXTUFDX1NPUEhHT1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yMTktXHR0cmlzdGF0ZSBcJiMzNDtTb3BoZ28gZHdtYWMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjI4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMjk6Y29uZmlnIERXTUFDX1NQQUNFTUlUXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTIzMC1cdHRyaXN0YXRlIFwmIzM0O1NwYWNlbWl0IGR3bWFjIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI0MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MjQxOmNvbmZpZyBEV01BQ19TVEFSRklWRVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNDItXHR0cmlzdGF0ZSBcJiMzNDtTdGFyRml2ZSBkd21hYyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI1Mzpjb25maWcgRFdNQUNfU1RJXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI1NC1cdHRyaXN0YXRlIFwmIzM0O1NUaSBHTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI2NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MjY1OmNvbmZpZyBEV01BQ19TVE0zMlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNjYtXHR0cmlzdGF0ZSBcJiMzNDtTVE0zMiBEV01BQyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI3Nzpjb25maWcgRFdNQUNfU1VOWElcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjc4LVx0dHJpc3RhdGUgXCYjMzQ7QWxsd2lubmVyIEdNQUMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjg3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyODg6Y29uZmlnIERXTUFDX1NVTjhJXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI4OS1cdHRyaXN0YXRlIFwmIzM0O0FsbHdpbm5lciBzdW44aSBHTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI5OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzAwOmNvbmZpZyBEV01BQ19TVU41NUlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzAxLVx0dHJpc3RhdGUgXCYjMzQ7QWxsd2lubmVyIHN1bjU1aSBHTUFDMjAwIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTMxMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzEyOmNvbmZpZyBEV01BQ19USEVBRFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMTMtXHR0cmlzdGF0ZSBcJiMzNDtULUhFQUQgZHdtYWMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzIxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozMjI6Y29uZmlnIERXTUFDX0lNWDhcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzIzLVx0dHJpc3RhdGUgXCYjMzQ7TlhQIElNWDggRFdNQUMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzMzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozMzQ6Y29uZmlnIERXTUFDX0lOVEVMX1BMQVRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzM1LVx0dHJpc3RhdGUgXCYjMzQ7SW50ZWwgZHdtYWMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzQzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozNDQ6Y29uZmlnIERXTUFDX0xPT05HU09OMVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zNDUtXHR0cmlzdGF0ZSBcJiMzNDtMb29uZ3NvbjEgR01BQyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zNTQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM1NTpjb25maWcgRFdNQUNfVEVHUkFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzU2LVx0dHJpc3RhdGUgXCYjMzQ7TlZJRElBIFRlZ3JhIE1HQkUgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzYzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozNjQ6Y29uZmlnIERXTUFDX1ZJU0NPTlRJXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM2NS1cdHRyaXN0YXRlIFwmIzM0O1Rvc2hpYmEgVmlzY29udGkgRFdNQUMgc3VwcG9ydFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc9MzcxPWVuZGlmICMgU1RNTUFDX1BMQVRGT1JNXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM3Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzczOmNvbmZpZyBTVE1NQUNfTElCUENJXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM3NC1cdHRyaXN0YXRlXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zNzctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM3ODpjb25maWcgRFdNQUNfSU5URUxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzc5LVx0dHJpc3RhdGUgXCYjMzQ7SW50ZWwgR01BQyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zODctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM4ODpjb25maWcgRFdNQUNfTE9PTkdTT05cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzg5LVx0dHJpc3RhdGUgXCYjMzQ7TG9vbmdzb24gUENJIERXTUFDIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM5Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6Mzk4OmNvbmZpZyBEV01BQ19NT1RPUkNPTU1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzk5LVx0dHJpc3RhdGUgXCYjMzQ7TW90b3Jjb21tIFBDSSBEV01BQyBzdXBwb3J0XCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy00MDYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjQwNzpjb25maWcgU1RNTUFDX1BDSVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy00MDgtXHR0cmlzdGF0ZSBcJiMzNDtTVE1NQUMgUENJIGJ1cyBzdXBwb3J0XCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjkgMDg6Mzk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTQxNzYKCQkJCQkJCW91dHB1dDogNDYKCQkJCQkJCXRob3VnaHRzOiA1NTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgUUVNVSBFdGhlcm5ldCBFbXVsYXRpb24gSW52ZXN0aWdhdGlvbioqCgpPa2F5LCBzbyBJJiMzOTttIHRyeWluZyB0byBmaWd1cmUgb3V0IGhvdyB0byBpbnRlcmFjdCB3aXRoIGFuIFNUTU1BQyAoU3lub3BzeXMgRGVzaWduV2FyZSBNQUMpIG9yIHNpbWlsYXIgRXRoZXJuZXQgZGV2aWNlIHdpdGhpbiBRRU1VLiBDYW4gSSByZWFjaCB0aGVzZSBkZXZpY2VzLCBlaXRoZXIgZGlyZWN0bHkgZW11bGF0ZWQgb3IgdGhyb3VnaCBzb21lIG90aGVyIG1lY2hhbmlzbSBsaWtlIGEgR0NFIGVudmlyb25tZW50PwoKTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGNoZWNrIGRpcmVjdGx5IGlmIFFFTVUgc3VwcG9ydHMgdGhlIGVtdWxhdGlvbiBvZiBgc3RtbWFjYCwgYGR3bWFjYCwgZXRjLiBQZXJoYXBzIGl0JiMzOTtzIGxpbWl0ZWQgdG8gdmVyeSBzcGVjaWZpYyBwaHlzaWNhbCBTb0MgRXRoZXJuZXQgY29udHJvbGxlcnMgb3IgUENJIE5JQ3MuCgpJIG5lZWQgdG8ga2VlcCBpbiBtaW5kLCBob3dldmVyLCB0aGF0IHRoZXJlIG1pZ2h0IGJlIGNvZGUgcGF0aHMgdGhhdCBhcmUgc2ltcGx5IGluYWNjZXNzaWJsZSBpbiB2aXJ0dWFsIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLCBldmVuIGlmIHVzaW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlLiBJJiMzOTttIHRoaW5raW5nIG9mIGRyaXZlcnMgZm9yIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaGVzLCBTbWFydE5JQ3MsIG9yIEdQVXMsIHdoaWNoIG5lY2Vzc2l0YXRlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUsIHNvbWV0aGluZyBRRU1VIGRvZXNuJiMzOTt0IGRvLiBGb3IgZXhhbXBsZSwgZHJpdmVycyBsaWtlIGBtbHhzd2AsIGBwZHNfY29yZWAsIGBxZWRgLCBgaW9uaWNgLCBvciBgYW1kZ3B1YC4KCkFscmlnaHQsIGxldCYjMzk7cyBsaXN0IG91dCB3aGF0IFFFTVUgYWN0dWFsbHkgKmRvZXMqIGVtdWxhdGUgaW4gdGVybXMgb2YgZXRoZXJuZXQuIEkga25vdyBpdCBpbmNsdWRlczogYGUxMDAwYCwgYGUxMDAwZWAsIGBpZ2JgLCBgcnRsODEzOWAsIGA4MTM5Y3BgLCBgdmlydGlvLW5ldGAsIGBwY25ldCAobGFuY2UpYCwgYG5lMmtfcGNpYCwgYG5lMmtfaXNhYCwgYHN1bmdlbWAsIGBzdW5obWVgLCBgdHVsaXAgKGRlYyAyMTE0MClgLCBgaTgyNTV4IChlZXBybzEwMClgLCBgdm14bmV0M2AsIGByb2NrZXJgLCBgdXNiLW5ldGAsIGBzbWM5MWMxMTFgLCBgbGFuOTExOGAsIGBjYWRlbmNlX2dlbWAsIGBpbXhfZmVjYCwgYGFsbHdpbm5lci1lbWFjYCwgYHN1bjRpLWVtYWNgLgoKQnV0IHdhaXQuIFRoZSBgc3VuNGlfZW1hY2AgaXMgbm90IGBzdG1tYWNgLiBJIG5lZWQgdG8gcmVtZW1iZXIgdGhhdCBgc3VuOGlgIGNvdWxkIHBvc3NpYmx5IGV4aXN0IG9uIGFuIEFSTSBtYWNoaW5lLCBidXQgc3l6a2FsbGVyIHVzdWFsbHkgcnVucyBvbiBzdGFuZGFyZCB4ODZfNjQgb3IgYXJtNjQgUUVNVS9HQ0UgVk1zLiBTbyBkb2VzIFFFTVUgZW11bGF0ZSBgZHdtYWNgIG9yIGBzdG1tYWNgPyBJdCYjMzk7cyB0aW1lIHRvIGNoZWNrIHRoZSBRRU1VIHNvdXJjZSBkaXJlY3RseS4KCkFjY29yZGluZyB0byB0aGUgUUVNVSBjb2RlLCBgZHdtYWNgIGlzICpub3QqIGFuIGVtdWxhdGVkIFBDSSBkZXZpY2UgaW4gc3RhbmRhcmQgUUVNVS4gVGhhdCYjMzk7cyBhIGtleSBwaWVjZSBvZiBpbmZvcm1hdGlvbi4KCk9rYXksIGxldCYjMzk7cyBub3cgaW52ZXN0aWdhdGUgYERXTUFDX0lOVEVMYCBvciBgU1RNTUFDX1BDSWAuIFdoYXQgUENJIElEcyBhcmUgc3VwcG9ydGVkPyBJIHNob3VsZCBjaGVjayBgc3RtbWFjX3BjaS5jYCBhbmQgYGR3bWFjLWludGVsLmNgIHRvIHNlZSB3aGljaCBzcGVjaWZpYyBoYXJkd2FyZSBpcyBzdXBwb3J0ZWQgaWYgYW55LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtNT0RVTEVfREVWSUNFX1RBQkxFfHBjaV9kZXZpY2VfaWQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtYW5hcmlvbi5jPTExOT1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBhbmFyaW9uX2R3bWFjX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtYW5hcmlvbi5jLTEyMi19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtYW5hcmlvbi5jOjEyMzpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBhbmFyaW9uX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWFuYXJpb24uYy0xMjQtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtZHdjLXFvcy1ldGguYz0zNTM9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZHdjX2V0aF9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWR3Yy1xb3MtZXRoLmMtMzU4LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1kd2MtcW9zLWV0aC5jOjM1OTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBkd2NfZXRoX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWR3Yy1xb3MtZXRoLmMtMzYwLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWVpYzc3MDAuYz0zNTA9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZWljNzcwMF9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWVpYzc3MDAuYy0zNTktfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWVpYzc3MDAuYzozNjA6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZWljNzcwMF9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1laWM3NzAwLmMtMzYxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWdlbmVyaWMuYz01Mj1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBkd21hY19nZW5lcmljX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtZ2VuZXJpYy5jLTY2LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1nZW5lcmljLmM6Njc6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZHdtYWNfZ2VuZXJpY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1nZW5lcmljLmMtNjgtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW14LmM9Mzg0PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGlteF9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWlteC5jLTM4OS19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW14LmM6MzkwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGlteF9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbXguYy0zOTEtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW5nZW5pYy5jPTI2Mj1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBpbmdlbmljX21hY19vZl9tYXRjaGVzW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW5nZW5pYy5jLTI2OS19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW5nZW5pYy5jOjI3MDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBpbmdlbmljX21hY19vZl9tYXRjaGVzKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWluZ2VuaWMuYy0yNzEtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwtcGxhdC5jPTM2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGludGVsX2V0aF9wbGF0X21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwtcGxhdC5jLTM5LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC1wbGF0LmM6NDA6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgaW50ZWxfZXRoX3BsYXRfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwtcGxhdC5jLTQxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM9MTI2Mz1zdGF0aWMgaW50IGludGVsX2V0aF9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEyNjQ6XHRcdFx0ICAgICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTI2NS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xMzYyPXN0YXRpYyB2b2lkIGludGVsX2V0aF9wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTM5NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTM5NTpzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgaW50ZWxfZXRoX3BjaV9pZF90YWJsZVtdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMzk2LVx0eyBQQ0lfREVWSUNFX0RBVEEoSU5URUwsIFFVQVJLLCBcdTAwMjZxdWFya19pbmZvKSB9LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTQxNC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxNDE1Ok1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBpbnRlbF9ldGhfcGNpX2lkX3RhYmxlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTQxNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pcHE4MDZ4LmM9NDkxPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGlwcTgwNnhfZ21hY19kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWlwcTgwNnguYy00OTQtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWlwcTgwNnguYzo0OTU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgaXBxODA2eF9nbWFjX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWlwcTgwNnguYy00OTYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz00Nzk9c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19maXhfcmVzZXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNDk3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzo0OTg6c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy00OTkte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM9NTc4PXN0YXRpYyB2b2lkIGxvb25nc29uX2R3bWFjX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTU5NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NTk2OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBsb29uZ3Nvbl9kd21hY19pZF90YWJsZVtdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy01OTctXHR7IFBDSV9ERVZJQ0VfREFUQShMT09OR1NPTiwgR01BQzEsIFx1MDAyNmxvb25nc29uX2dtYWNfcGNpX2luZm8pIH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy02MDEtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NjAyOk1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBsb29uZ3Nvbl9kd21hY19pZF90YWJsZSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTYwMy1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3NvbjEuYz0yMTY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbHMxeF9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uMS5jLTIyNi19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24xLmM6MjI3Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGxzMXhfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24xLmMtMjI4LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxwYzE4eHguYz03MT1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBscGMxOHh4X2R3bWFjX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbHBjMTh4eC5jLTc0LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1scGMxOHh4LmM6NzU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgbHBjMTh4eF9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1scGMxOHh4LmMtNzYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVkaWF0ZWsuYz02NjI9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWVkaWF0ZWtfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZWRpYXRlay5jLTY2OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lZGlhdGVrLmM6NjcwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG1lZGlhdGVrX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lZGlhdGVrLmMtNjcxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lc29uLmM9NzY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWVzb242X2R3bWFjX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVzb24uYy03OS19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVzb24uYzo4MDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBtZXNvbjZfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVzb24uYy04MS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbjhiLmM9NDgyPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG1lc29uOGJfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbjhiLmMtNTA0LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbjhiLmM6NTA1Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG1lc29uOGJfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVzb244Yi5jLTUwNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0yNjQ9c3RhdGljIGludCBtb3RvcmNvbW1fc2V0dXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTI5Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jOjI5MzpzdGF0aWMgaW50IG1vdG9yY29tbV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMjk0LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0zNjI9c3RhdGljIHZvaWQgbW90b3Jjb21tX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYy0zNjYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYzozNjc6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIGR3bWFjX21vdG9yY29tbV9wY2lfaWRfdGFibGVbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTM2OC1cdHsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX01PVE9SQ09NTSwgMHg2ODAxKSB9LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTM3MC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmM6MzcxOk1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBkd21hY19tb3RvcmNvbW1fcGNpX2lkX3RhYmxlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTM3Mi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1udXZvdG9uLmM9MTE4PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG52dF9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW51dm90b24uYy0xMjEtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW51dm90b24uYzoxMjI6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgbnZ0X2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW51dm90b24uYy0xMjMtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhxb3MuYz04MDA9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcWNvbV9ldGhxb3NfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1xY29tLWV0aHFvcy5jLTgwNi19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhxb3MuYzo4MDc6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcWNvbV9ldGhxb3NfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhxb3MuYy04MDgtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmVuZXNhcy1nYmV0aC5jPTIxNj1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCByZW5lc2FzX2diZXRoX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmVuZXNhcy1nYmV0aC5jLTIyMS19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmVuZXNhcy1nYmV0aC5jOjIyMjpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCByZW5lc2FzX2diZXRoX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJlbmVzYXMtZ2JldGguYy0yMjMtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYz0xNjE2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHJrX2dtYWNfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2MzQtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM6MTYzNTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBya19nbWFjX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTYzNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yem4xLmM9NzU9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcnpuMV9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJ6bjEuYy03OC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcnpuMS5jOjc5Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHJ6bjFfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcnpuMS5jLTgwLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXMzMi5jPTIxNj1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzMzJfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zMzIuYy0yMTktfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXMzMi5jOjIyMDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzMzJfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtczMyLmMtMjIxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvY2ZwZ2EuYz02NzM9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc29jZnBnYV9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvY2ZwZ2EuYy02NzgtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvY2ZwZ2EuYzo2Nzk6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc29jZnBnYV9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zb2NmcGdhLmMtNjgwLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvcGhnby5jPTcyPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHNvcGhnb19kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvcGhnby5jLTc2LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zb3BoZ28uYzo3NzpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzb3BoZ29fZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc29waGdvLmMtNzgtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3BhY2VtaXQuYz0yMTA9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3BhY2VtaXRfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zcGFjZW1pdC5jLTIxMy19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3BhY2VtaXQuYzoyMTQ6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3BhY2VtaXRfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3BhY2VtaXQuYy0yMTUtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RhcmZpdmUuYz0xNjA9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3RhcmZpdmVfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGFyZml2ZS5jLTE2NC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RhcmZpdmUuYzoxNjU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3RhcmZpdmVfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RhcmZpdmUuYy0xNjYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RpLmM9Mjk2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHN0aV9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN0aS5jLTI5OS19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RpLmM6MzAwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHN0aV9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGkuYy0zMDEtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RtMzIuYz02NjI9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3RtMzJfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdG0zMi5jLTY2OC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RtMzIuYzo2Njk6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3RtMzJfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RtMzIuYy02NzAtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuNTVpLmM9MTQxPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHN1bjU1aV9nbWFjMjAwX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuNTVpLmMtMTQ0LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW41NWkuYzoxNDU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3VuNTVpX2dtYWMyMDBfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuNTVpLmMtMTQ2LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmM9MTI2OD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzdW44aV9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMtMTI4Mi19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYzoxMjgzOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHN1bjhpX2R3bWFjX21hdGNoKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMtMTI4NC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jPTE1MD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzdW43aV9kd21hY19tYXRjaFtdID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bnhpLmMtMTUzLX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jOjE1NDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzdW43aV9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jLTE1NS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy10ZWdyYS5jPTM5Nz1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCB0ZWdyYV9tZ2JlX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGVncmEuYy00MDAtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXRlZ3JhLmM6NDAxOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHRlZ3JhX21nYmVfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGVncmEuYy00MDItXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGhlYWQuYz0yNjc9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgdGhlYWRfZHdtYWNfbWF0Y2hbXSA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy10aGVhZC5jLTI3MC19O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGhlYWQuYzoyNzE6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgdGhlYWRfZHdtYWNfbWF0Y2gpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGhlYWQuYy0yNzItXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdmlzY29udGkuYz0yNTU9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgdmlzY29udGlfZXRoX2R3bWFjX21hdGNoW10gPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdmlzY29udGkuYy0yNTgtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXZpc2NvbnRpLmM6MjU5Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHZpc2NvbnRpX2V0aF9kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy12aXNjb250aS5jLTI2MC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MTE4PXN0YXRpYyBpbnQgc3RtbWFjX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxMTk6XHRcdFx0ICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0xMjAte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xOTI9c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDM6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHN0bW1hY19pZF90YWJsZVtdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwNC1cdHsgUENJX0RFVklDRV9EQVRBKFNUTU1BQywgU1RNTUFDLCBcdTAwMjZzdG1tYWNfcGNpX2luZm8pIH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTA6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHN0bW1hY19pZF90YWJsZSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjExLVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMTgwOAoJCQkJCQkJb3V0cHV0OiA1MgoJCQkJCQkJdGhvdWdodHM6IDE2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqRXhhbWluaW5nIHRoZSBzdG1tYWNfaWRfdGFibGUqKgoKQWxyaWdodCwgbGV0JiMzOTtzIGRpdmUgaW4uIEkgbmVlZCB0byBnZXQgYSBjbGVhciBwaWN0dXJlIG9mIHdoYXQmIzM5O3MgZGVmaW5lZCB3aXRoaW4gdGhlIGBzdG1tYWNfaWRfdGFibGVgLiBJJiMzOTttIGdvaW5nIHRvIHN0YXJ0IGJ5IHRha2luZyBhIGNsb3NlIGxvb2sgYXQgdGhhdCBkYXRhIHN0cnVjdHVyZSwgYmVjYXVzZSBpdCYjMzk7cyB0aGUgY29yZSBvZiBob3cgdGhlIGRyaXZlciBpZGVudGlmaWVzIGFuZCBoYW5kbGVzIGRpZmZlcmVudCBTVE1pY3JvZWxlY3Ryb25pY3MgRXRoZXJuZXQgTUFDIGNvbnRyb2xsZXJzLiBJIG5lZWQgdG8gcmVmcmVzaCBteSBtZW1vcnkgb24gdGhlIGRldmljZSBJRHMsIGNvbXBhdGlibGUgc3RyaW5ncywgYW5kIGFueSBhc3NvY2lhdGVkIHBsYXRmb3JtIGRhdGEgZGVmaW5lZCBpbiB0aGF0IHRhYmxlLiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgdW5kZXJzdGFuZGluZyB0aGUgc3VwcG9ydGVkIGhhcmR3YXJlIGFuZCBob3cgdGhlIGRyaXZlciBwcm9iZXMgZm9yIHRoZW0uIEkmIzM5O20gdGhpbmtpbmcgSSYjMzk7bGwgd2FudCB0byBxdWlja2x5IHBhcnNlIHRocm91Z2ggdGhlIGNvbnRlbnRzIG9mIHRoYXQgdGFibGUgdG8gY29uZmlybSB3aGF0IEkmIzM5O20gZXhwZWN0aW5nIHRvIHNlZSBhbmQgdG8gZ2V0IGEgcmVtaW5kZXIgb2YgdGhlIGRldmljZS1zcGVjaWZpYyBxdWlya3MgSSBtaWdodCBuZWVkIHRvIGNvbnNpZGVyIGZvciB0aGlzIHJldmlldy4gQmFzaWNhbGx5LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IGRldmljZXMgdGhpcyBkcml2ZXIgdGhpbmtzIGl0IHN1cHBvcnRzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzdG1tYWNfaWRfdGFibGV8aW50ZWxfZXRoX3BjaV9pZF90YWJsZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTEzNjI9c3RhdGljIHZvaWQgaW50ZWxfZXRoX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMzk0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMzk1OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBpbnRlbF9ldGhfcGNpX2lkX3RhYmxlW10gPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEzOTYtXHR7IFBDSV9ERVZJQ0VfREFUQShJTlRFTCwgUVVBUkssIFx1MDAyNnF1YXJrX2luZm8pIH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xNDE0LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjE0MTU6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIGludGVsX2V0aF9wY2lfaWRfdGFibGUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xNDE2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xNDE3PXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBpbnRlbF9ldGhfcGNpX2RyaXZlciA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTQxOC1cdC5uYW1lID0gXCYjMzQ7aW50ZWwtZXRoLXBjaVwmIzM0OyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTQxOTpcdC5pZF90YWJsZSA9IGludGVsX2V0aF9wY2lfaWRfdGFibGUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTE0MjAtXHQucHJvYmUgPSBpbnRlbF9ldGhfcGNpX3Byb2JlLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xOTI9c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDM6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHN0bW1hY19pZF90YWJsZVtdID0ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwNC1cdHsgUENJX0RFVklDRV9EQVRBKFNUTU1BQywgU1RNTUFDLCBcdTAwMjZzdG1tYWNfcGNpX2luZm8pIH0sXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIwOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTA6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHN0bW1hY19pZF90YWJsZSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjExLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jPTIxMj1zdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgc3RtbWFjX3BjaV9kcml2ZXIgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjEzLVx0Lm5hbWUgPSBTVE1NQUNfUkVTT1VSQ0VfTkFNRSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTQ6XHQuaWRfdGFibGUgPSBzdG1tYWNfaWRfdGFibGUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjE1LVx0LnByb2JlID0gc3RtbWFjX3BjaV9wcm9iZSxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjkgMDg6Mzk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjI5ODMKCQkJCQkJCW91dHB1dDogNDMKCQkJCQkJCXRob3VnaHRzOiAxMTQ3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKldvcnRoRnV6emluZyBEZWNpc2lvbiBmb3IgU1RNTUFDOiBOb3QgQXBwbGljYWJsZSoqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duIHN5c3RlbWF0aWNhbGx5LiBUaGUgaW5zdHJ1Y3Rpb25zIGFyZSBjbGVhcjogaWYgYSBwYXRjaCB0b3VjaGVzIGNvZGUgdW5yZWFjaGFibGUgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCB3ZSBzaG91bGQgcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBNeSBmaXJzdCB0aG91Z2h0IGlzIHRvIGRldGVybWluZSBpZiB0aGUgYHN0bW1hY2AgZHJpdmVyIGlzIHJlYWNoYWJsZSBpbiBRRU1VIG9yIEdDRS4KCkkga25vdyBTVE1NQUMgcmVmZXJzIHRvIHRoZSBTeW5vcHN5cyBEZXNpZ25XYXJlIEV0aGVybmV0IE1BQyBjb250cm9sbGVyLiBUaGVzZSBhcmUgY29tbW9ubHkgZm91bmQgaW4gYSB2YXJpZXR5IG9mIFNvQ3Mg4oCTIFNUTTMyLCBSb2NrY2hpcCwgdGhlIHVzdWFsIHN1c3BlY3RzLiBNeSBndXQgdGVsbHMgbWUgdGhlc2UgYXJlbiYjMzk7dCBlYXNpbHkgZW11bGF0ZWQgaW4gYSBzdGFuZGFyZCBRRU1VIHNldHVwIG9yIEdDRS4KCkxldCYjMzk7cyBjb25maXJtLiBJJiMzOTtsbCBjaGVjayBRRU1VJiMzOTtzIHN1cHBvcnRlZCBuZXR3b3JrIGRldmljZXMuIFNjYW5uaW5nIHRoZSBRRU1VIGNvZGViYXNlIGZvciBuZXR3b3JrIGhhcmR3YXJlLCBJIHNlZSBhIGxpc3Q6IGUxMDAwLCB2aXJ0aW8tbmV0LCBydGw4MTM5LCB0aGUgdXN1YWwuIEkgZG9uJiMzOTt0IHNlZSBhbnl0aGluZyBleHBsaWNpdGx5IGxhYmVsZWQgYXMgJiMzNDtzdG1tYWMmIzM0OyBvciBhbnl0aGluZyBpbW1lZGlhdGVseSBhbmFsb2dvdXMuIEV2ZW4gb24gdGhlIHN0YW5kYXJkIHg4Nl82NCB0YXJnZXQsIGl0IHVzZXMgZTEwMDAsIHZpcnRpby1uZXQsIGV0Yy4gVGhlIEFSTSB2aXJ0IG1hY2hpbmUgdXNlcyB2aXJ0aW8tbmV0LCBub3Qgc3RtbWFjLiBHQ0UgdXNlcyB2aXJ0aW8tbmV0IG9yIGd2ZSwgZnVydGhlciBjb25maXJtaW5nIHRoaXMuCgpDYW4gYHN0bW1hY2AgYmUgaW5zdGFudGlhdGVkIHZpYSBzb2Z0d2FyZSBvciBhbnl0aGluZyBsaWtlIGBtb2NrL2h3c2ltYD8gTm8sIGBzdG1tYWNgIGlzIGEgcGxhdGZvcm0vUENJIGRyaXZlci4gVGhlIGtleSBwYXJ0IGlzIHRoYXQgdGhlIHN0bW1hYyBkcml2ZXImIzM5O3MgcHJvYmUgZnVuY3Rpb25zIChzdG1tYWNfZHZyX3Byb2JlLCBzdG1tYWNfcHJvYmVfY29uZmlnX2R0LCBzdG1tYWNfcGNpX3Byb2JlLCBpbnRlbF9ldGhfcGNpX3Byb2JlLCBldGMuKSBhcmVuJiMzOTt0IHRyaWdnZXJlZCB3aXRob3V0IHRoZSB1bmRlcmx5aW5nIGhhcmR3YXJlLgoKTGV0JiMzOTtzIGRyaWxsIGRvd24gZGVlcGVyLCBjb25zaWRlcmluZyBgc3RtbWFjX3RjLmNgIHNwZWNpZmljYWxseS4gYHN0bW1hY190Yy5jYCBwcm92aWRlcyBgc3RtbWFjX3NldHVwX3RjKClgLCB0aGUgYG5kb19zZXR1cF90Y2AgY2FsbGJhY2sgZm9yIHRoZSBgbmV0X2RldmljZWAgaW4gc3RtbWFjLiBTcGVjaWZpY2FsbHksIGB0Y19zZXR1cF9kd21hYzUxMF9tcXByaW9gIGFuZCBgdGNfdGFwcmlvX2NvbmZpZ3VyZWAgYXJlIG9ubHkgY2FsbGVkIHZpYSBgc3RtbWFjX3NldHVwX3RjKClgIG9uIGEgYHN0cnVjdCBuZXRfZGV2aWNlYCByZWdpc3RlcmVkIGJ5IHRoZSBzdG1tYWMgZHJpdmVyIHdoZW4gcHJvYmVkIGJ5IHN0bW1hYyBoYXJkd2FyZS4KClRoZXJlZm9yZSwgYmVjYXVzZSBgc3RtbWFjYCByZWxpZXMgb24gdW5kZXJseWluZyBoYXJkd2FyZSB0aGF0JiMzOTtzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIHRoZSBkcml2ZXImIzM5O3MgcHJvYmUgZnVuY3Rpb24gaXMgbmV2ZXIgZXhlY3V0ZWQsIGFuZCBubyBgc3RtbWFjYCBgbmV0X2RldmljZWAgaXMgZXZlciBjcmVhdGVkLgoKU28sIHJlcmVhZGluZyB0aGUgaW5zdHJ1Y3Rpb25zLCB0aGUgcGF0Y2ggbW9kaWZpZXMgJiMzNDtDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUuJiMzNDsgVGhpcyBzZWVtcyB0byBkaXJlY3RseSBhcHBseS4gU2luY2UgdGhlcmUmIzM5O3Mgbm8gd2F5IHRvIHJlYWNoIHRoZSBgc3RtbWFjYCBkcml2ZXIgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UsIGl0IGZhbGxzIHVuZGVyIHRoYXQgZXhjZXB0aW9uLiBObyBmdXJ0aGVyIGludmVzdGlnYXRpb24gaW50byByZWFjaGFibGUgY29kZSBpcyBuZWNlc3NhcnkuCgpJJiMzOTttIGNvbmZpZGVudCB3ZSBjYW4gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDt0Y19zZXR1cF9kd21hYzUxMF9tcXByaW8mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYz0xMjcwPXN0YXRpYyB2b2lkIHN0bW1hY19yZXNldF90Y19tcXByaW8oc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3RjLmMtMTI4NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jOjEyODY6c3RhdGljIGludCB0Y19zZXR1cF9kd21hYzUxMF9tcXByaW8oc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3RjLmMtMTI4Ny1cdFx0XHRcdCAgICBzdHJ1Y3QgdGNfbXFwcmlvX3FvcHRfb2ZmbG9hZCAqbXFwcmlvKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jPTEzNjQ9Y29uc3Qgc3RydWN0IHN0bW1hY190Y19vcHMgZHdtYWM1MTBfdGNfb3BzID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jLTEzNzEtXHQucXVlcnlfY2FwcyA9IHRjX3F1ZXJ5X2NhcHMsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYzoxMzcyOlx0LnNldHVwX21xcHJpbyA9IHRjX3NldHVwX2R3bWFjNTEwX21xcHJpbyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jLTEzNzMtfTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMjkgMDg6Mzk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjUxNzQKCQkJCQkJCW91dHB1dDogMTIwCgkJCQkJCQl0aG91Z2h0czogMjgxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIEZ1enppbmcgU3VpdGFiaWxpdHkqKgoKT2theSwgc28gaGVyZSYjMzk7cyB3aGF0IEkmIzM5O3ZlIGRldGVybWluZWQgYWZ0ZXIgcmV2aWV3aW5nIHRoZSBjb2RlLiBUaGUgYGR3bWFjNTEwX3RjX29wc2Agc3RydWN0dXJlIGlzIGJlaW5nIGFzc2lnbmVkIHRvIGBwcml2LSZndDtody0mZ3Q7dGNgIGR1cmluZyB0aGUgaGFyZHdhcmUgc2V0dXAgcGhhc2Ugd2l0aGluIHRoZSBzdG1tYWMgZHJpdmVyLiBGdXJ0aGVyIGludmVzdGlnYXRpb24gcmV2ZWFsZWQgdGhhdCBgdGNfdGFwcmlvX2NvbmZpZ3VyZWAgaXMgY2FsbGVkIHdpdGhpbiBgdGNfc2V0dXBfdGFwcmlvKClgIGZ1bmN0aW9uLCBhbGwgd2l0aGluIHRoZSBgc3RtbWFjYCBkcml2ZXIgZGlyZWN0b3J5LiBUaGlzIGFsbCBwb2ludHMgdG8gdGhpcyBmdW5jdGlvbmFsaXR5IGJlaW5nIGludHJpbnNpY2FsbHkgdGllZCB0byBzcGVjaWZpYyBTeW5vcHN5cyBEV01BQyBoYXJkd2FyZSwgc3BlY2lmaWNhbGx5IHZlcnNpb24gNS4xMCBvciBsYXRlci4gSXQmIzM5O3Mgbm90IHNvbWV0aGluZyB0aGF0IGNhbiBiZSByZXBsaWNhdGVkIG9yIGV4ZXJjaXNlZCBpbiBhIHN0YW5kYXJkIHZpcnR1YWwgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIGEgR29vZ2xlIENvbXB1dGUgRW5naW5lIFZNLgoKVGhlcmVmb3JlLCBhZnRlciBjb25zaWRlcmluZyBhbGwgZmFjdG9ycywgdGhpcyBpcyBub3QgYSBjYW5kaWRhdGUgZm9yIGZ1enppbmcuIGBXb3J0aEZ1enppbmdgIGlzIGRlZmluaXRlbHkgYGZhbHNlYC4KCk5vdywgSSBuZWVkIHRvIHByb3ZpZGUgY2xlYXIgcmVhc29uaW5nIGZvciB0aGlzIGRlY2lzaW9uLiBJIHdpbGwgYXJ0aWN1bGF0ZSB0aGF0IHRoZSBjaGFuZ2VzIHJlc2lkZSB3aXRoaW4gdGhlIFNUTWljcm9lbGVjdHJvbmljcyAvIFN5bm9wc3lzIERlc2lnbldhcmUgRXRoZXJuZXQgTUFDIChzdG1tYWMpIGRyaXZlciwgZm9jdXNpbmcgb24gdGhlIFRDIC8gUW9TIG9mZmxvYWQgaGFuZGxpbmcsIGFuZCBzcGVjaWZpY2FsbHksIHRoZSBNUVBSSU8gYW5kIFRBUFJJTyBxZGlzY3MgaW4gYHN0bW1hY190Yy5jYC4gSSB3aWxsIGVtcGhhc2l6ZSB0aGUgaGFyZHdhcmUgZGVwZW5kZW5jeSwgaGlnaGxpZ2h0aW5nIHRoYXQgaXQgcmVxdWlyZXMgcGh5c2ljYWwgRFdNQUMgaGFyZHdhcmUsIHdoaWNoIGlzIG5vdCBlbXVsYXRlZCBpbiB0aGUgdmlydHVhbGl6ZWQgdGVzdGluZyBlbnZpcm9ubWVudHMuCgpGaW5hbGx5LCBJJiMzOTtsbCBwYXNzIGFuIGVtcHR5IGFycmF5IGZvciBib3RoIGBGb2N1c1N5bWJvbHNgIGFuZCBgRW5hYmxlQ29uZmlnc2Agc2luY2UgdGhlcmUgYXJlbiYjMzk7dCBhbnkgc3BlY2lmaWMgc3ltYm9scyBvciBjb25maWd1cmF0aW9ucyByZWxldmFudCB0byB0aGlzIGZ1enppbmcgYXNzZXNzbWVudC4KClRpbWUgdG8gY2FsbCBgc2V0LXJlc3VsdHNgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE2LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRyYWZmaWMgY29udHJvbCBvZmZsb2FkIGhhbmRsaW5nIChNUVBSSU8gYW5kIFRBUFJJTyBxZGlzYyBjb25maWd1cmF0aW9uIGFuZCBjbGVhbnVwKSBpbiB0aGUgU1RNaWNyb2VsZWN0cm9uaWNzIC8gU3lub3BzeXMgRGVzaWduV2FyZSBFdGhlcm5ldCBNQUMgKHN0bW1hYykgZHJpdmVyIChzdG1tYWNfdGMuYykuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIFN5bm9wc3lzIERXTUFDIGhhcmR3YXJlL1NvQyBJUCBjb3JlcyB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhpcyBjb2RlIHVucmVhY2hhYmxlIGZvciBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdHJhZmZpYyBjb250cm9sIG9mZmxvYWQgaGFuZGxpbmcgKE1RUFJJTyBhbmQgVEFQUklPIHFkaXNjIGNvbmZpZ3VyYXRpb24gYW5kIGNsZWFudXApIGluIHRoZSBTVE1pY3JvZWxlY3Ryb25pY3MgLyBTeW5vcHN5cyBEZXNpZ25XYXJlIEV0aGVybmV0IE1BQyAoc3RtbWFjKSBkcml2ZXIgKHN0bW1hY190Yy5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgU3lub3BzeXMgRFdNQUMgaGFyZHdhcmUvU29DIElQIGNvcmVzIHRoYXQgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGlzIGNvZGUgdW5yZWFjaGFibGUgZm9yIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE3LzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8yOSAwODozOTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+SWY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMjlUMDg6Mzg6NTEuNDk1MzM3MDQyWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTc3NTg2OTQ2MjUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJcIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0cmFmZmljIGNvbnRyb2wgb2ZmbG9hZCBoYW5kbGluZyAoTVFQUklPIGFuZCBUQVBSSU8gcWRpc2MgY29uZmlndXJhdGlvbiBhbmQgY2xlYW51cCkgaW4gdGhlIFNUTWljcm9lbGVjdHJvbmljcyAvIFN5bm9wc3lzIERlc2lnbldhcmUgRXRoZXJuZXQgTUFDIChzdG1tYWMpIGRyaXZlciAoc3RtbWFjX3RjLmMpLiBUaGlzIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBTeW5vcHN5cyBEV01BQyBoYXJkd2FyZS9Tb0MgSVAgY29yZXMgdGhhdCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWFraW5nIHRoaXMgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM4OjUxLjQ5NTM1OTg0MloiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTc4NDc4MTYyOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDk0NWMwN2Q4NTNkNmQ2MWQzMjhhMGE0Mjc5NjA1YjZiYzdiY2RmN2JcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFNhdCBBdWcgMjkgMDg6Mzg6NDkgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaFxcbmluZGV4IDc1ODJmY2E2Mzc0MTkuLjk1NzMxN2VjMTQ2MTMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmhcXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaFxcbkBAIC0yNTgsNiArMjU4LDEyIEBAIHN0cnVjdCBzdG1tYWNfbXNpIHtcXG4gXFx0Y2hhciBpbnRfbmFtZV90eF9pcnFbTVRMX01BWF9UWF9RVUVVRVNdW0lGTkFNU0laICsgMThdO1xcbiB9O1xcbiBcXG4rZW51bSBzdG1tYWNfcWRpc2NfdHlwZSB7XFxuK1xcdFNUTU1BQ19RRElTQ19OT05FID0gMCxcXG4rXFx0U1RNTUFDX1FESVNDX01RUFJJTyxcXG4rXFx0U1RNTUFDX1FESVNDX1RBUFJJTyxcXG4rfTtcXG4rXFxuIHN0cnVjdCBzdG1tYWNfcHJpdiB7XFxuIFxcdC8qIEZyZXF1ZW50bHkgdXNlZCB2YWx1ZXMgYXJlIGtlcHQgYWRqYWNlbnQgZm9yIGNhY2hlIGVmZmVjdCAqL1xcbiBcXHR1MzIgdHhfY29hbF9mcmFtZXNbTVRMX01BWF9UWF9RVUVVRVNdO1xcbkBAIC0yOTksNiArMzA1LDcgQEAgc3RydWN0IHN0bW1hY19wcml2IHtcXG4gXFx0LyogUHJvdGVjdCBlc3QgcGFyYW1ldGVycyAqL1xcbiBcXHRzdHJ1Y3QgbXV0ZXggZXN0X2xvY2s7XFxuIFxcdHN0cnVjdCBzdG1tYWNfZXN0ICplc3Q7XFxuK1xcdGVudW0gc3RtbWFjX3FkaXNjX3R5cGUgcWRpc2NfdHlwZTtcXG4gXFx0c3RydWN0IGRtYV9mZWF0dXJlcyBkbWFfY2FwO1xcbiBcXHRzdHJ1Y3Qgc3RtbWFjX2NvdW50ZXJzIG1tYztcXG4gXFx0aW50IGh3X2NhcF9zdXBwb3J0O1xcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jXFxuaW5kZXggMTRjYWJlNzZlNTNlYy4uN2ZlNTg3YjQ3ZDUyNCAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jXFxuQEAgLTExMDMsNiArMTEwMyw4IEBAIHN0YXRpYyBpbnQgdGNfdGFwcmlvX2NvbmZpZ3VyZShzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsXFxuIFxcdGlmIChyZXQpXFxuIFxcdFxcdGdvdG8gZGlzYWJsZTtcXG4gXFxuK1xcdHByaXYtXFx1MDAzZXFkaXNjX3R5cGUgPSBTVE1NQUNfUURJU0NfVEFQUklPO1xcbitcXG4gXFx0cmV0dXJuIDA7XFxuIFxcbiBkaXNhYmxlOlxcbkBAIC0xMTIwLDcgKzExMjIsMTEgQEAgc3RhdGljIGludCB0Y190YXByaW9fY29uZmlndXJlKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdixcXG4gXFx0XFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZwcml2LVxcdTAwM2Vlc3RfbG9jayk7XFxuIFxcdH1cXG4gXFxuLVxcdHN0bW1hY19mcGVfbWFwX3ByZWVtcHRpb25fY2xhc3MocHJpdiwgcHJpdi1cXHUwMDNlZGV2LCBleHRhY2ssIDApO1xcbitcXHRpZiAocHJpdi1cXHUwMDNlcWRpc2NfdHlwZSA9PSBTVE1NQUNfUURJU0NfVEFQUklPIFxcdTAwMjZcXHUwMDI2XFxuK1xcdCAgICBxb3B0LVxcdTAwM2VjbWQgPT0gVEFQUklPX0NNRF9ERVNUUk9ZKSB7XFxuK1xcdFxcdHN0bW1hY19mcGVfbWFwX3ByZWVtcHRpb25fY2xhc3MocHJpdiwgcHJpdi1cXHUwMDNlZGV2LCBleHRhY2ssIDApO1xcbitcXHRcXHRwcml2LVxcdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX05PTkU7XFxuK1xcdH1cXG4gXFxuIFxcdHJldHVybiByZXQ7XFxuIH1cXG5AQCAtMTIzNyw1OCArMTI0MywxMDEgQEAgc3RhdGljIGludCB0Y19xdWVyeV9jYXBzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdixcXG4gXFx0fVxcbiB9XFxuIFxcbitzdGF0aWMgaW50IHN0bW1hY19zZXRfbmRldl90Y3Moc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsIHU4IG50YyxcXG4rXFx0XFx0XFx0ICAgICAgIHN0cnVjdCBuZXRkZXZfdGNfdHhxICp0Y190b190eHEpXFxuK3tcXG4rXFx0aW50IGksIGVycjtcXG4rXFxuK1xcdG5ldGRldl9yZXNldF90YyhuZGV2KTtcXG4rXFx0aWYgKG50YyA9PSAxKVxcbitcXHRcXHRyZXR1cm4gMDtcXG4rXFxuK1xcdGVyciA9IG5ldGRldl9zZXRfbnVtX3RjKG5kZXYsIG50Yyk7XFxuK1xcdGlmIChlcnIpXFxuK1xcdFxcdHJldHVybiBlcnI7XFxuK1xcbitcXHRmb3IgKGkgPSAwOyBpIFxcdTAwM2MgbnRjOyBpKyspIHtcXG4rXFx0XFx0dTE2IGNvdW50LCBvZmZzZXQ7XFxuK1xcbitcXHRcXHRjb3VudCA9IHRjX3RvX3R4cVtpXS5jb3VudDtcXG4rXFx0XFx0b2Zmc2V0ID0gdGNfdG9fdHhxW2ldLm9mZnNldDtcXG4rXFx0XFx0bmV0ZGV2X3NldF90Y19xdWV1ZShuZGV2LCBpLCBjb3VudCwgb2Zmc2V0KTtcXG4rXFx0fVxcbitcXG4rXFx0cmV0dXJuIDA7XFxuK31cXG4rXFxuIHN0YXRpYyB2b2lkIHN0bW1hY19yZXNldF90Y19tcXByaW8oc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXFxuIFxcdFxcdFxcdFxcdCAgIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaylcXG4ge1xcbiBcXHRzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihuZGV2KTtcXG4gXFxuLVxcdG5ldGRldl9yZXNldF90YyhuZGV2KTtcXG4tXFx0bmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LCBwcml2LVxcdTAwM2VwbGF0LVxcdTAwM2V0eF9xdWV1ZXNfdG9fdXNlKTtcXG4tXFx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssIDApO1xcbitcXHRpZiAocHJpdi1cXHUwMDNlcWRpc2NfdHlwZSAhPSBTVE1NQUNfUURJU0NfVEFQUklPKVxcbitcXHRcXHRzdG1tYWNfZnBlX21hcF9wcmVlbXB0aW9uX2NsYXNzKHByaXYsIG5kZXYsIGV4dGFjaywgMCk7XFxuK1xcbitcXHRpZiAocHJpdi1cXHUwMDNlcWRpc2NfdHlwZSA9PSBTVE1NQUNfUURJU0NfTVFQUklPKSB7XFxuK1xcdFxcdG5ldGRldl9yZXNldF90YyhuZGV2KTtcXG4rXFx0XFx0bmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LFxcbitcXHRcXHRcXHRcXHRcXHQgICAgIHByaXYtXFx1MDAzZXBsYXQtXFx1MDAzZXR4X3F1ZXVlc190b191c2UpO1xcbitcXHRcXHRwcml2LVxcdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX05PTkU7XFxuK1xcdH1cXG4gfVxcbiBcXG4gc3RhdGljIGludCB0Y19zZXR1cF9kd21hYzUxMF9tcXByaW8oc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxcbiBcXHRcXHRcXHRcXHQgICAgc3RydWN0IHRjX21xcHJpb19xb3B0X29mZmxvYWQgKm1xcHJpbylcXG4ge1xcbitcXHR1bnNpZ25lZCBpbnQgbmRldl9udW1fdHhfcXVldWVzLCBudW1fdHhfcXVldWVzID0gMDtcXG4rXFx0c3RydWN0IG5ldGRldl90Y190eHEgbmRldl90Y190b190eHFbVENfTUFYX1FVRVVFXTtcXG4rXFx0c3RydWN0IG5ldGRldl90Y190eHEgdGNfdG9fdHhxW1RDX01BWF9RVUVVRV0gPSB7fTtcXG4gXFx0c3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrID0gbXFwcmlvLVxcdTAwM2VleHRhY2s7XFxuIFxcdHN0cnVjdCB0Y19tcXByaW9fcW9wdCAqcW9wdCA9IFxcdTAwMjZtcXByaW8tXFx1MDAzZXFvcHQ7XFxuLVxcdHUzMiBvZmZzZXQsIGNvdW50LCBudW1fc3RhY2tfdHhfcXVldWVzID0gMDtcXG4gXFx0c3RydWN0IG5ldF9kZXZpY2UgKm5kZXYgPSBwcml2LVxcdTAwM2VkZXY7XFxuLVxcdHUzMiBudW1fdGMgPSBxb3B0LVxcdTAwM2VudW1fdGM7XFxuLVxcdGludCBlcnI7XFxuK1xcdGludCBpLCBlcnIsIG5kZXZfbnRjO1xcbiBcXG4tXFx0aWYgKCFudW1fdGMpIHtcXG4rXFx0aWYgKCFxb3B0LVxcdTAwM2VudW1fdGMpIHtcXG4gXFx0XFx0c3RtbWFjX3Jlc2V0X3RjX21xcHJpbyhuZGV2LCBleHRhY2spO1xcbiBcXHRcXHRyZXR1cm4gMDtcXG4gXFx0fVxcbiBcXG4tXFx0ZXJyID0gbmV0ZGV2X3NldF9udW1fdGMobmRldiwgbnVtX3RjKTtcXG4tXFx0aWYgKGVycilcXG4tXFx0XFx0cmV0dXJuIGVycjtcXG4tXFxuLVxcdGZvciAodTMyIHRjID0gMDsgdGMgXFx1MDAzYyBudW1fdGM7IHRjKyspIHtcXG4tXFx0XFx0b2Zmc2V0ID0gcW9wdC1cXHUwMDNlb2Zmc2V0W3RjXTtcXG4tXFx0XFx0Y291bnQgPSBxb3B0LVxcdTAwM2Vjb3VudFt0Y107XFxuLVxcdFxcdG51bV9zdGFja190eF9xdWV1ZXMgKz0gY291bnQ7XFxuK1xcdGlmIChxb3B0LVxcdTAwM2VudW1fdGMgXFx1MDAzZSBBUlJBWV9TSVpFKHRjX3RvX3R4cSkpXFxuK1xcdFxcdHJldHVybiAtRUlOVkFMO1xcbiBcXG4tXFx0XFx0ZXJyID0gbmV0ZGV2X3NldF90Y19xdWV1ZShuZGV2LCB0YywgY291bnQsIG9mZnNldCk7XFxuLVxcdFxcdGlmIChlcnIpXFxuLVxcdFxcdFxcdGdvdG8gZXJyX3Jlc2V0X3RjO1xcbitcXHQvKiBzYXZlIGN1cnJlbnQgdGMgdmFsdWVzIGZvciByZXNldCAqL1xcbitcXHRuZGV2X250YyA9IG5ldGRldl9nZXRfbnVtX3RjKG5kZXYpID8gOiAxO1xcbitcXHRmb3IgKGkgPSAwOyBpIFxcdTAwM2MgQVJSQVlfU0laRShuZGV2LVxcdTAwM2V0Y190b190eHEpOyBpKyspXFxuK1xcdFxcdG5kZXZfdGNfdG9fdHhxW2ldLmNvbWJpbmVkID1cXG4rXFx0XFx0XFx0UkVBRF9PTkNFKG5kZXYtXFx1MDAzZXRjX3RvX3R4cVtpXS5jb21iaW5lZCk7XFxuK1xcbitcXHRmb3IgKGkgPSAwOyBpIFxcdTAwM2MgcW9wdC1cXHUwMDNlbnVtX3RjOyBpKyspIHtcXG4rXFx0XFx0dGNfdG9fdHhxW2ldID0gKHN0cnVjdCBuZXRkZXZfdGNfdHhxKSB7XFxuK1xcdFxcdFxcdC5jb3VudCA9IHFvcHQtXFx1MDAzZWNvdW50W2ldLFxcbitcXHRcXHRcXHQub2Zmc2V0ID0gcW9wdC1cXHUwMDNlb2Zmc2V0W2ldLFxcbitcXHRcXHR9O1xcbitcXHRcXHRudW1fdHhfcXVldWVzICs9IHFvcHQtXFx1MDAzZWNvdW50W2ldO1xcbiBcXHR9XFxuIFxcbi1cXHRlcnIgPSBuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIG51bV9zdGFja190eF9xdWV1ZXMpO1xcbitcXHRlcnIgPSBzdG1tYWNfc2V0X25kZXZfdGNzKG5kZXYsIHFvcHQtXFx1MDAzZW51bV90YywgdGNfdG9fdHhxKTtcXG4gXFx0aWYgKGVycilcXG4tXFx0XFx0Z290byBlcnJfcmVzZXRfdGM7XFxuK1xcdFxcdGdvdG8gZXJyb3JfcmVzZXRfdGM7XFxuK1xcbitcXHRuZGV2X251bV90eF9xdWV1ZXMgPSBuZGV2LVxcdTAwM2VyZWFsX251bV90eF9xdWV1ZXM7XFxuK1xcdGVyciA9IG5ldGlmX3NldF9yZWFsX251bV90eF9xdWV1ZXMobmRldiwgbnVtX3R4X3F1ZXVlcyk7XFxuK1xcdGlmIChlcnIpXFxuK1xcdFxcdGdvdG8gZXJyb3JfcmVzZXRfdGM7XFxuIFxcbiBcXHRlcnIgPSBzdG1tYWNfZnBlX21hcF9wcmVlbXB0aW9uX2NsYXNzKHByaXYsIG5kZXYsIGV4dGFjayxcXG4gXFx0XFx0XFx0XFx0XFx0ICAgICAgbXFwcmlvLVxcdTAwM2VwcmVlbXB0aWJsZV90Y3MpO1xcbiBcXHRpZiAoZXJyKVxcbi1cXHRcXHRnb3RvIGVycl9yZXNldF90YztcXG4rXFx0XFx0Z290byBlcnJvcl9yZXNldF9udW1fdHhfcXVldWVzO1xcbitcXG4rXFx0cHJpdi1cXHUwMDNlcWRpc2NfdHlwZSA9IFNUTU1BQ19RRElTQ19NUVBSSU87XFxuIFxcbiBcXHRyZXR1cm4gMDtcXG4gXFxuLWVycl9yZXNldF90YzpcXG4tXFx0c3RtbWFjX3Jlc2V0X3RjX21xcHJpbyhuZGV2LCBleHRhY2spO1xcbitlcnJvcl9yZXNldF9udW1fdHhfcXVldWVzOlxcbitcXHRuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIG5kZXZfbnVtX3R4X3F1ZXVlcyk7XFxuK2Vycm9yX3Jlc2V0X3RjOlxcbitcXHRzdG1tYWNfc2V0X25kZXZfdGNzKG5kZXYsIG5kZXZfbnRjLCBuZGV2X3RjX3RvX3R4cSk7XFxuIFxcbiBcXHRyZXR1cm4gZXJyO1xcbiB9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM4OjUzLjI4MzAwNTc2MVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImNvcmUiLCJEdXJhdGlvbiI6NTU5NzEwMDY2MTYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRyYWZmaWMgY29udHJvbCBvZmZsb2FkIGhhbmRsaW5nIChNUVBSSU8gYW5kIFRBUFJJTyBxZGlzYyBjb25maWd1cmF0aW9uIGFuZCBjbGVhbnVwKSBpbiB0aGUgU1RNaWNyb2VsZWN0cm9uaWNzIC8gU3lub3BzeXMgRGVzaWduV2FyZSBFdGhlcm5ldCBNQUMgKHN0bW1hYykgZHJpdmVyIChzdG1tYWNfdGMuYykuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHNwZWNpZmljIFN5bm9wc3lzIERXTUFDIGhhcmR3YXJlL1NvQyBJUCBjb3JlcyB0aGF0IGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhpcyBjb2RlIHVucmVhY2hhYmxlIGZvciBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgOTQ1YzA3ZDg1M2Q2ZDYxZDMyOGEwYTQyNzk2MDViNmJjN2JjZGY3YlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgQXVnIDI5IDA4OjM4OjQ5IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaFxuaW5kZXggNzU4MmZjYTYzNzQxOS4uOTU3MzE3ZWMxNDYxMyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hYy5oXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaFxuQEAgLTI1OCw2ICsyNTgsMTIgQEAgc3RydWN0IHN0bW1hY19tc2kge1xuIFx0Y2hhciBpbnRfbmFtZV90eF9pcnFbTVRMX01BWF9UWF9RVUVVRVNdW0lGTkFNU0laICsgMThdO1xuIH07XG4gXG4rZW51bSBzdG1tYWNfcWRpc2NfdHlwZSB7XG4rXHRTVE1NQUNfUURJU0NfTk9ORSA9IDAsXG4rXHRTVE1NQUNfUURJU0NfTVFQUklPLFxuK1x0U1RNTUFDX1FESVNDX1RBUFJJTyxcbit9O1xuK1xuIHN0cnVjdCBzdG1tYWNfcHJpdiB7XG4gXHQvKiBGcmVxdWVudGx5IHVzZWQgdmFsdWVzIGFyZSBrZXB0IGFkamFjZW50IGZvciBjYWNoZSBlZmZlY3QgKi9cbiBcdHUzMiB0eF9jb2FsX2ZyYW1lc1tNVExfTUFYX1RYX1FVRVVFU107XG5AQCAtMjk5LDYgKzMwNSw3IEBAIHN0cnVjdCBzdG1tYWNfcHJpdiB7XG4gXHQvKiBQcm90ZWN0IGVzdCBwYXJhbWV0ZXJzICovXG4gXHRzdHJ1Y3QgbXV0ZXggZXN0X2xvY2s7XG4gXHRzdHJ1Y3Qgc3RtbWFjX2VzdCAqZXN0O1xuK1x0ZW51bSBzdG1tYWNfcWRpc2NfdHlwZSBxZGlzY190eXBlO1xuIFx0c3RydWN0IGRtYV9mZWF0dXJlcyBkbWFfY2FwO1xuIFx0c3RydWN0IHN0bW1hY19jb3VudGVycyBtbWM7XG4gXHRpbnQgaHdfY2FwX3N1cHBvcnQ7XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3RjLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuY1xuaW5kZXggMTRjYWJlNzZlNTNlYy4uN2ZlNTg3YjQ3ZDUyNCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuY1xuQEAgLTExMDMsNiArMTEwMyw4IEBAIHN0YXRpYyBpbnQgdGNfdGFwcmlvX2NvbmZpZ3VyZShzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsXG4gXHRpZiAocmV0KVxuIFx0XHRnb3RvIGRpc2FibGU7XG4gXG4rXHRwcml2LVx1MDAzZXFkaXNjX3R5cGUgPSBTVE1NQUNfUURJU0NfVEFQUklPO1xuK1xuIFx0cmV0dXJuIDA7XG4gXG4gZGlzYWJsZTpcbkBAIC0xMTIwLDcgKzExMjIsMTEgQEAgc3RhdGljIGludCB0Y190YXByaW9fY29uZmlndXJlKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdixcbiBcdFx0bXV0ZXhfdW5sb2NrKFx1MDAyNnByaXYtXHUwMDNlZXN0X2xvY2spO1xuIFx0fVxuIFxuLVx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LVx1MDAzZWRldiwgZXh0YWNrLCAwKTtcbitcdGlmIChwcml2LVx1MDAzZXFkaXNjX3R5cGUgPT0gU1RNTUFDX1FESVNDX1RBUFJJTyBcdTAwMjZcdTAwMjZcbitcdCAgICBxb3B0LVx1MDAzZWNtZCA9PSBUQVBSSU9fQ01EX0RFU1RST1kpIHtcbitcdFx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBwcml2LVx1MDAzZWRldiwgZXh0YWNrLCAwKTtcbitcdFx0cHJpdi1cdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX05PTkU7XG4rXHR9XG4gXG4gXHRyZXR1cm4gcmV0O1xuIH1cbkBAIC0xMjM3LDU4ICsxMjQzLDEwMSBAQCBzdGF0aWMgaW50IHRjX3F1ZXJ5X2NhcHMoc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxuIFx0fVxuIH1cbiBcbitzdGF0aWMgaW50IHN0bW1hY19zZXRfbmRldl90Y3Moc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsIHU4IG50YyxcbitcdFx0XHQgICAgICAgc3RydWN0IG5ldGRldl90Y190eHEgKnRjX3RvX3R4cSlcbit7XG4rXHRpbnQgaSwgZXJyO1xuK1xuK1x0bmV0ZGV2X3Jlc2V0X3RjKG5kZXYpO1xuK1x0aWYgKG50YyA9PSAxKVxuK1x0XHRyZXR1cm4gMDtcbitcbitcdGVyciA9IG5ldGRldl9zZXRfbnVtX3RjKG5kZXYsIG50Yyk7XG4rXHRpZiAoZXJyKVxuK1x0XHRyZXR1cm4gZXJyO1xuK1xuK1x0Zm9yIChpID0gMDsgaSBcdTAwM2MgbnRjOyBpKyspIHtcbitcdFx0dTE2IGNvdW50LCBvZmZzZXQ7XG4rXG4rXHRcdGNvdW50ID0gdGNfdG9fdHhxW2ldLmNvdW50O1xuK1x0XHRvZmZzZXQgPSB0Y190b190eHFbaV0ub2Zmc2V0O1xuK1x0XHRuZXRkZXZfc2V0X3RjX3F1ZXVlKG5kZXYsIGksIGNvdW50LCBvZmZzZXQpO1xuK1x0fVxuK1xuK1x0cmV0dXJuIDA7XG4rfVxuK1xuIHN0YXRpYyB2b2lkIHN0bW1hY19yZXNldF90Y19tcXByaW8oc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXG4gXHRcdFx0XHQgICBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spXG4ge1xuIFx0c3RydWN0IHN0bW1hY19wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYobmRldik7XG4gXG4tXHRuZXRkZXZfcmVzZXRfdGMobmRldik7XG4tXHRuZXRpZl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIHByaXYtXHUwMDNlcGxhdC1cdTAwM2V0eF9xdWV1ZXNfdG9fdXNlKTtcbi1cdHN0bW1hY19mcGVfbWFwX3ByZWVtcHRpb25fY2xhc3MocHJpdiwgbmRldiwgZXh0YWNrLCAwKTtcbitcdGlmIChwcml2LVx1MDAzZXFkaXNjX3R5cGUgIT0gU1RNTUFDX1FESVNDX1RBUFJJTylcbitcdFx0c3RtbWFjX2ZwZV9tYXBfcHJlZW1wdGlvbl9jbGFzcyhwcml2LCBuZGV2LCBleHRhY2ssIDApO1xuK1xuK1x0aWYgKHByaXYtXHUwMDNlcWRpc2NfdHlwZSA9PSBTVE1NQUNfUURJU0NfTVFQUklPKSB7XG4rXHRcdG5ldGRldl9yZXNldF90YyhuZGV2KTtcbitcdFx0bmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LFxuK1x0XHRcdFx0XHQgICAgIHByaXYtXHUwMDNlcGxhdC1cdTAwM2V0eF9xdWV1ZXNfdG9fdXNlKTtcbitcdFx0cHJpdi1cdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX05PTkU7XG4rXHR9XG4gfVxuIFxuIHN0YXRpYyBpbnQgdGNfc2V0dXBfZHdtYWM1MTBfbXFwcmlvKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdixcbiBcdFx0XHRcdCAgICBzdHJ1Y3QgdGNfbXFwcmlvX3FvcHRfb2ZmbG9hZCAqbXFwcmlvKVxuIHtcbitcdHVuc2lnbmVkIGludCBuZGV2X251bV90eF9xdWV1ZXMsIG51bV90eF9xdWV1ZXMgPSAwO1xuK1x0c3RydWN0IG5ldGRldl90Y190eHEgbmRldl90Y190b190eHFbVENfTUFYX1FVRVVFXTtcbitcdHN0cnVjdCBuZXRkZXZfdGNfdHhxIHRjX3RvX3R4cVtUQ19NQVhfUVVFVUVdID0ge307XG4gXHRzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2sgPSBtcXByaW8tXHUwMDNlZXh0YWNrO1xuIFx0c3RydWN0IHRjX21xcHJpb19xb3B0ICpxb3B0ID0gXHUwMDI2bXFwcmlvLVx1MDAzZXFvcHQ7XG4tXHR1MzIgb2Zmc2V0LCBjb3VudCwgbnVtX3N0YWNrX3R4X3F1ZXVlcyA9IDA7XG4gXHRzdHJ1Y3QgbmV0X2RldmljZSAqbmRldiA9IHByaXYtXHUwMDNlZGV2O1xuLVx0dTMyIG51bV90YyA9IHFvcHQtXHUwMDNlbnVtX3RjO1xuLVx0aW50IGVycjtcbitcdGludCBpLCBlcnIsIG5kZXZfbnRjO1xuIFxuLVx0aWYgKCFudW1fdGMpIHtcbitcdGlmICghcW9wdC1cdTAwM2VudW1fdGMpIHtcbiBcdFx0c3RtbWFjX3Jlc2V0X3RjX21xcHJpbyhuZGV2LCBleHRhY2spO1xuIFx0XHRyZXR1cm4gMDtcbiBcdH1cbiBcbi1cdGVyciA9IG5ldGRldl9zZXRfbnVtX3RjKG5kZXYsIG51bV90Yyk7XG4tXHRpZiAoZXJyKVxuLVx0XHRyZXR1cm4gZXJyO1xuLVxuLVx0Zm9yICh1MzIgdGMgPSAwOyB0YyBcdTAwM2MgbnVtX3RjOyB0YysrKSB7XG4tXHRcdG9mZnNldCA9IHFvcHQtXHUwMDNlb2Zmc2V0W3RjXTtcbi1cdFx0Y291bnQgPSBxb3B0LVx1MDAzZWNvdW50W3RjXTtcbi1cdFx0bnVtX3N0YWNrX3R4X3F1ZXVlcyArPSBjb3VudDtcbitcdGlmIChxb3B0LVx1MDAzZW51bV90YyBcdTAwM2UgQVJSQVlfU0laRSh0Y190b190eHEpKVxuK1x0XHRyZXR1cm4gLUVJTlZBTDtcbiBcbi1cdFx0ZXJyID0gbmV0ZGV2X3NldF90Y19xdWV1ZShuZGV2LCB0YywgY291bnQsIG9mZnNldCk7XG4tXHRcdGlmIChlcnIpXG4tXHRcdFx0Z290byBlcnJfcmVzZXRfdGM7XG4rXHQvKiBzYXZlIGN1cnJlbnQgdGMgdmFsdWVzIGZvciByZXNldCAqL1xuK1x0bmRldl9udGMgPSBuZXRkZXZfZ2V0X251bV90YyhuZGV2KSA/IDogMTtcbitcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUobmRldi1cdTAwM2V0Y190b190eHEpOyBpKyspXG4rXHRcdG5kZXZfdGNfdG9fdHhxW2ldLmNvbWJpbmVkID1cbitcdFx0XHRSRUFEX09OQ0UobmRldi1cdTAwM2V0Y190b190eHFbaV0uY29tYmluZWQpO1xuK1xuK1x0Zm9yIChpID0gMDsgaSBcdTAwM2MgcW9wdC1cdTAwM2VudW1fdGM7IGkrKykge1xuK1x0XHR0Y190b190eHFbaV0gPSAoc3RydWN0IG5ldGRldl90Y190eHEpIHtcbitcdFx0XHQuY291bnQgPSBxb3B0LVx1MDAzZWNvdW50W2ldLFxuK1x0XHRcdC5vZmZzZXQgPSBxb3B0LVx1MDAzZW9mZnNldFtpXSxcbitcdFx0fTtcbitcdFx0bnVtX3R4X3F1ZXVlcyArPSBxb3B0LVx1MDAzZWNvdW50W2ldO1xuIFx0fVxuIFxuLVx0ZXJyID0gbmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LCBudW1fc3RhY2tfdHhfcXVldWVzKTtcbitcdGVyciA9IHN0bW1hY19zZXRfbmRldl90Y3MobmRldiwgcW9wdC1cdTAwM2VudW1fdGMsIHRjX3RvX3R4cSk7XG4gXHRpZiAoZXJyKVxuLVx0XHRnb3RvIGVycl9yZXNldF90YztcbitcdFx0Z290byBlcnJvcl9yZXNldF90YztcbitcbitcdG5kZXZfbnVtX3R4X3F1ZXVlcyA9IG5kZXYtXHUwMDNlcmVhbF9udW1fdHhfcXVldWVzO1xuK1x0ZXJyID0gbmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LCBudW1fdHhfcXVldWVzKTtcbitcdGlmIChlcnIpXG4rXHRcdGdvdG8gZXJyb3JfcmVzZXRfdGM7XG4gXG4gXHRlcnIgPSBzdG1tYWNfZnBlX21hcF9wcmVlbXB0aW9uX2NsYXNzKHByaXYsIG5kZXYsIGV4dGFjayxcbiBcdFx0XHRcdFx0ICAgICAgbXFwcmlvLVx1MDAzZXByZWVtcHRpYmxlX3Rjcyk7XG4gXHRpZiAoZXJyKVxuLVx0XHRnb3RvIGVycl9yZXNldF90YztcbitcdFx0Z290byBlcnJvcl9yZXNldF9udW1fdHhfcXVldWVzO1xuK1xuK1x0cHJpdi1cdTAwM2VxZGlzY190eXBlID0gU1RNTUFDX1FESVNDX01RUFJJTztcbiBcbiBcdHJldHVybiAwO1xuIFxuLWVycl9yZXNldF90Yzpcbi1cdHN0bW1hY19yZXNldF90Y19tcXByaW8obmRldiwgZXh0YWNrKTtcbitlcnJvcl9yZXNldF9udW1fdHhfcXVldWVzOlxuK1x0bmV0aWZfc2V0X3JlYWxfbnVtX3R4X3F1ZXVlcyhuZGV2LCBuZGV2X251bV90eF9xdWV1ZXMpO1xuK2Vycm9yX3Jlc2V0X3RjOlxuK1x0c3RtbWFjX3NldF9uZGV2X3RjcyhuZGV2LCBuZGV2X250YywgbmRldl90Y190b190eHEpO1xuIFxuIFx0cmV0dXJuIGVycjtcbiB9XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yOVQwODozODo1My4yODMwMDg2ODFaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1OTI4NDgzMjQ3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgRmVhc2liaWxpdHkgQXNzZXNzbWVudCoqXG5cbk9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93bi4gTXkgaW5pdGlhbCBpbnN0aW5jdCBpcyB0byBkZXRlcm1pbmUgaWYgdGhpcyBwYXRjaCB3YXJyYW50cyBmdXp6aW5nLCBhbmQgaWYgc28sIGhvdy4gVGhlIGZpcnN0IHN0ZXAgaXMgdG8gcXVpY2tseSBpZGVudGlmeSB0aGUgc2NvcGUgb2YgdGhlIGNoYW5nZS4gSXQgbG9va3MgbGlrZSB3ZSdyZSBkZWFsaW5nIHdpdGggbW9kaWZpY2F0aW9ucyB0byBgc3RtbWFjLmhgIGFuZCBgc3RtbWFjX3RjLmNgLCBib3RoIGxvY2F0ZWQgd2l0aGluIHRoZSBgZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvYCBkaXJlY3RvcnkuIFRoYXQgcG9pbnRzIHVzIGRpcmVjdGx5IHRvIHRoZSBTVE1pY3JvZWxlY3Ryb25pY3MgRXRoZXJuZXQgZHJpdmVyLlxuXG5Ob3cgdGhlIGNyaXRpY2FsIHF1ZXN0aW9uOiBjYW4gSSBldmVuIHJlYWNoIHRoaXMgY29kZSB3aXRoIG15IGZ1enppbmcgc2V0dXA/IElzIGBzdG1tYWNgIHNvbWV0aGluZyB0aGF0J3Mgb25seSB0aWVkIHRvIHNwZWNpZmljIHBoeXNpY2FsIGhhcmR3YXJlLCBvciBkb2VzIGl0IGhhdmUgc29tZSBzb3J0IG9mIHZpcnR1YWxpemVkIHN1cHBvcnQ/IEkgbmVlZCB0byBrbm93IGlmIHRoaXMgZHJpdmVyIGlzIGFjY2Vzc2libGUgdGhyb3VnaCBzb21ldGhpbmcgbGlrZSBRRU1VIG9yIGluIGEgR0NFIGVudmlyb25tZW50LCBvciBpZiBpdCByZXF1aXJlcyBhIHNwZWNpZmljIGhhcmR3YXJlIHBsYXRmb3JtLiBTcGVjaWZpY2FsbHksIGRvZXMgaXQgdXNlIFBDSSwgb3IgaXMgaXQgYSBwbGF0Zm9ybSBkcml2ZXI/IElmIGl0J3MgYSBwbGF0Zm9ybSBkcml2ZXIsIGRvZXMgaXQgc3BlY2lmeSB3aGljaCBTb0NzIG9yIHBsYXRmb3JtcyBpdCBhdHRhY2hlcyB0bz8gVW5kZXJzdGFuZGluZyB0aGUgYXR0YWNobWVudCBtZWNoYW5pc20gYW5kIHBsYXRmb3JtIHJlcXVpcmVtZW50cyBpcyBrZXkgdG8gZmlndXJpbmcgb3V0IHRoZSBzZXR1cCBjb21wbGV4aXR5IGFuZCBpZiBmdXp6aW5nIGlzIHBvc3NpYmxlLiBTbywgSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCBgc3RtbWFjYCBhY3R1YWxseSAqaXMqIGFuZCBvbiB3aGF0IHBsYXRmb3Jtcy9idXNlcyBpdCBhdHRhY2hlcyB0by5cblxuXG4iLCJJbnB1dFRva2VucyI6NDMxNiwiT3V0cHV0VG9rZW5zIjoyMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE3OCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM4OjU5LjIxMTQ5NDAxOFoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozNDEyMDU1MDgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIkNPTkZJR19TVE1NQUNfRVRIXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy5yc3Q9OTU9S2VybmVsIENvbmZpZ3VyYXRpb25cXG4tLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy5yc3QtOTctXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjLnJzdDo5ODpUaGUga2VybmVsIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGlzIGBgQ09ORklHX1NUTU1BQ19FVEhgYDpcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMucnN0LTk5LSAtIGBgQ09ORklHX1NUTU1BQ19QTEFURk9STWBgOiBpcyB0byBlbmFibGUgdGhlIHBsYXRmb3JtIGRyaXZlci5cXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvYXhzMTAxX2RlZmNvbmZpZz00ND1DT05GSUdfTkVUREVWSUNFUz15XFxuLS1cXG5hcmNoL2FyYy9jb25maWdzL2F4czEwMV9kZWZjb25maWctNTEtIyBDT05GSUdfTkVUX1ZFTkRPUl9TRUVRIGlzIG5vdCBzZXRcXG5hcmNoL2FyYy9jb25maWdzL2F4czEwMV9kZWZjb25maWc6NTI6Q09ORklHX1NUTU1BQ19FVEg9eVxcbmFyY2gvYXJjL2NvbmZpZ3MvYXhzMTAxX2RlZmNvbmZpZy01My0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2FyYy9jb25maWdzL2F4czEwM19kZWZjb25maWc9NDQ9Q09ORklHX05FVERFVklDRVM9eVxcbi0tXFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfZGVmY29uZmlnLTUxLSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfZGVmY29uZmlnOjUyOkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2FyYy9jb25maWdzL2F4czEwM19kZWZjb25maWctNTMtIyBDT05GSUdfTkVUX1ZFTkRPUl9WSUEgaXMgbm90IHNldFxcbi0tXFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZz00ND1DT05GSUdfTkVUREVWSUNFUz15XFxuLS1cXG5hcmNoL2FyYy9jb25maWdzL2F4czEwM19zbXBfZGVmY29uZmlnLTUxLSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZzo1MjpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9hcmMvY29uZmlncy9heHMxMDNfc21wX2RlZmNvbmZpZy01My0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2FyYy9jb25maWdzL2hzZGtfZGVmY29uZmlnPTM3PUNPTkZJR19ORVRERVZJQ0VTPXlcXG5hcmNoL2FyYy9jb25maWdzL2hzZGtfZGVmY29uZmlnOjM4OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2FyYy9jb25maWdzL2hzZGtfZGVmY29uZmlnLTM5LUNPTkZJR19NSUNSRUxfUEhZPXlcXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvdGIxMHhfZGVmY29uZmlnPTQxPUNPTkZJR19ORVRERVZJQ0VTPXlcXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvdGIxMHhfZGVmY29uZmlnLTQ3LSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XFxuYXJjaC9hcmMvY29uZmlncy90YjEweF9kZWZjb25maWc6NDg6Q09ORklHX1NUTU1BQ19FVEg9eVxcbmFyY2gvYXJjL2NvbmZpZ3MvdGIxMHhfZGVmY29uZmlnLTQ5LSMgQ09ORklHX05FVF9WRU5ET1JfV0laTkVUIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfZGVmY29uZmlnPTM5PUNPTkZJR19ORVRERVZJQ0VTPXlcXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfZGVmY29uZmlnLTQ2LSMgQ09ORklHX05FVF9WRU5ET1JfU0VFUSBpcyBub3Qgc2V0XFxuYXJjaC9hcmMvY29uZmlncy92ZGtfaHMzOF9kZWZjb25maWc6NDc6Q09ORklHX1NUTU1BQ19FVEg9eVxcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfZGVmY29uZmlnLTQ4LSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfc21wX2RlZmNvbmZpZz00MT1DT05GSUdfTkVUREVWSUNFUz15XFxuLS1cXG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X3NtcF9kZWZjb25maWctNDgtIyBDT05GSUdfTkVUX1ZFTkRPUl9TRUVRIGlzIG5vdCBzZXRcXG5hcmNoL2FyYy9jb25maWdzL3Zka19oczM4X3NtcF9kZWZjb25maWc6NDk6Q09ORklHX1NUTU1BQ19FVEg9eVxcbmFyY2gvYXJjL2NvbmZpZ3MvdmRrX2hzMzhfc21wX2RlZmNvbmZpZy01MC0jIENPTkZJR19ORVRfVkVORE9SX1ZJQSBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2FybS9jb25maWdzL2xwYzE4eHhfZGVmY29uZmlnPTYxPUNPTkZJR19ORVRERVZJQ0VTPXlcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3MvbHBjMTh4eF9kZWZjb25maWctNzYtIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcXG5hcmNoL2FybS9jb25maWdzL2xwYzE4eHhfZGVmY29uZmlnOjc3OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2FybS9jb25maWdzL2xwYzE4eHhfZGVmY29uZmlnLTc4LSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3MvbXVsdGlfdjdfZGVmY29uZmlnPTI3Nj1DT05GSUdfU05JX0FWRT15XFxuYXJjaC9hcm0vY29uZmlncy9tdWx0aV92N19kZWZjb25maWc6Mjc3OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2FybS9jb25maWdzL211bHRpX3Y3X2RlZmNvbmZpZy0yNzgtQ09ORklHX0RXTUFDX0RXQ19RT1NfRVRIPXlcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3MvcHhhX2RlZmNvbmZpZz0xNzc9Q09ORklHX1NNU0M5MTFYPW1cXG5hcmNoL2FybS9jb25maWdzL3B4YV9kZWZjb25maWc6MTc4OkNPTkZJR19TVE1NQUNfRVRIPW1cXG5hcmNoL2FybS9jb25maWdzL3B4YV9kZWZjb25maWctMTc5LUNPTkZJR19QSFlMSUI9eVxcbi0tXFxuYXJjaC9hcm0vY29uZmlncy9zaG1vYmlsZV9kZWZjb25maWc9NTk9Q09ORklHX1NNU0M5MTFYPXlcXG5hcmNoL2FybS9jb25maWdzL3NobW9iaWxlX2RlZmNvbmZpZzo2MDpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9hcm0vY29uZmlncy9zaG1vYmlsZV9kZWZjb25maWctNjEtIyBDT05GSUdfRFdNQUNfUkVORVNBU19HQkVUSCBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2FybS9jb25maWdzL3NvY2ZwZ2FfZGVmY29uZmlnPTY2PUNPTkZJR19JWEdCRT1tXFxuYXJjaC9hcm0vY29uZmlncy9zb2NmcGdhX2RlZmNvbmZpZzo2NzpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9hcm0vY29uZmlncy9zb2NmcGdhX2RlZmNvbmZpZy02OC1DT05GSUdfTUFSVkVMTF9QSFk9eVxcbi0tXFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjEzeHhfZGVmY29uZmlnPTQyPUNPTkZJR19ORVRERVZJQ0VTPXlcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXIxM3h4X2RlZmNvbmZpZy01MC0jIENPTkZJR19ORVRfVkVORE9SX1NNU0MgaXMgbm90IHNldFxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXIxM3h4X2RlZmNvbmZpZzo1MTpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjEzeHhfZGVmY29uZmlnLTUyLSMgQ09ORklHX1dMQU4gaXMgbm90IHNldFxcbi0tXFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjN4eF9kZWZjb25maWc9MjM9Q09ORklHX05FVERFVklDRVM9eVxcbi0tXFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjN4eF9kZWZjb25maWctMzEtIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcXG5hcmNoL2FybS9jb25maWdzL3NwZWFyM3h4X2RlZmNvbmZpZzozMjpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9hcm0vY29uZmlncy9zcGVhcjN4eF9kZWZjb25maWctMzMtIyBDT05GSUdfV0xBTiBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2FybS9jb25maWdzL3NwZWFyNnh4X2RlZmNvbmZpZz0xOT1DT05GSUdfTkVUREVWSUNFUz15XFxuLS1cXG5hcmNoL2FybS9jb25maWdzL3NwZWFyNnh4X2RlZmNvbmZpZy0yNy0jIENPTkZJR19ORVRfVkVORE9SX1NNU0MgaXMgbm90IHNldFxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3BlYXI2eHhfZGVmY29uZmlnOjI4OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2FybS9jb25maWdzL3NwZWFyNnh4X2RlZmNvbmZpZy0yOS0jIENPTkZJR19XTEFOIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3VueGlfZGVmY29uZmlnPTM2PUNPTkZJR19TVU40SV9FTUFDPXlcXG4tLVxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3VueGlfZGVmY29uZmlnLTQ4LSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XFxuYXJjaC9hcm0vY29uZmlncy9zdW54aV9kZWZjb25maWc6NDk6Q09ORklHX1NUTU1BQ19FVEg9eVxcbmFyY2gvYXJtL2NvbmZpZ3Mvc3VueGlfZGVmY29uZmlnLTUwLSMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvYXJtNjQvY29uZmlncy9kZWZjb25maWc9NDQ1PUNPTkZJR19TTklfTkVUU0VDPW1cXG5hcmNoL2FybTY0L2NvbmZpZ3MvZGVmY29uZmlnOjQ0NjpDT05GSUdfU1RNTUFDX0VUSD1tXFxuYXJjaC9hcm02NC9jb25maWdzL2RlZmNvbmZpZy00NDctQ09ORklHX0RXTUFDX01FRElBVEVLPW1cXG4tLVxcbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb24zMl9kZWZjb25maWc9NjExPUNPTkZJR19SODE2OT15XFxuLS1cXG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uMzJfZGVmY29uZmlnLTYxOS0jIENPTkZJR19ORVRfVkVORE9SX1NNU0MgaXMgbm90IHNldFxcbmFyY2gvbG9vbmdhcmNoL2NvbmZpZ3MvbG9vbmdzb24zMl9kZWZjb25maWc6NjIwOkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uMzJfZGVmY29uZmlnLTYyMS0jIENPTkZJR19ORVRfVkVORE9SX1NVTiBpcyBub3Qgc2V0XFxuLS1cXG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uNjRfZGVmY29uZmlnPTYyNz1DT05GSUdfUjgxNjk9eVxcbi0tXFxuYXJjaC9sb29uZ2FyY2gvY29uZmlncy9sb29uZ3NvbjY0X2RlZmNvbmZpZy02MzUtIyBDT05GSUdfTkVUX1ZFTkRPUl9TTVNDIGlzIG5vdCBzZXRcXG5hcmNoL2xvb25nYXJjaC9jb25maWdzL2xvb25nc29uNjRfZGVmY29uZmlnOjYzNjpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9sb29uZ2FyY2gvY29uZmlncy9sb29uZ3NvbjY0X2RlZmNvbmZpZy02MzctIyBDT05GSUdfTkVUX1ZFTkRPUl9TVU4gaXMgbm90IHNldFxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvY3UxMDAwLW5lb19kZWZjb25maWc9NDI9Q09ORklHX05FVERFVklDRVM9eVxcbmFyY2gvbWlwcy9jb25maWdzL2N1MTAwMC1uZW9fZGVmY29uZmlnOjQzOkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL21pcHMvY29uZmlncy9jdTEwMDAtbmVvX2RlZmNvbmZpZy00NC1DT05GSUdfU01TQ19QSFk9eVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvY3UxODMwLW5lb19kZWZjb25maWc9NDU9Q09ORklHX05FVERFVklDRVM9eVxcbmFyY2gvbWlwcy9jb25maWdzL2N1MTgzMC1uZW9fZGVmY29uZmlnOjQ2OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL21pcHMvY29uZmlncy9jdTE4MzAtbmVvX2RlZmNvbmZpZy00Ny1DT05GSUdfSUNQTFVTX1BIWT15XFxuLS1cXG5hcmNoL21pcHMvY29uZmlncy9nZW5lcmljL2JvYXJkLW1hcmR1ay5jb25maWc9MjU9Q09ORklHX05FVERFVklDRVM9eVxcbmFyY2gvbWlwcy9jb25maWdzL2dlbmVyaWMvYm9hcmQtbWFyZHVrLmNvbmZpZzoyNjpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1tYXJkdWsuY29uZmlnLTI3LUNPTkZJR19TVE1NQUNfUExBVEZPUk09eVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvZ2VuZXJpYy9ib2FyZC1uaTE2OTQ0NS5jb25maWc9MjY9Q09ORklHX05FVERFVklDRVM9eVxcbmFyY2gvbWlwcy9jb25maWdzL2dlbmVyaWMvYm9hcmQtbmkxNjk0NDUuY29uZmlnOjI3OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL21pcHMvY29uZmlncy9nZW5lcmljL2JvYXJkLW5pMTY5NDQ1LmNvbmZpZy0yOC1DT05GSUdfU1RNTUFDX1BMQVRGT1JNPXlcXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL2xvb25nc29uMV9kZWZjb25maWc9NTE9Q09ORklHX05FVERFVklDRVM9eVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24xX2RlZmNvbmZpZy04OC0jIENPTkZJR19ORVRfVkVORE9SX1NPQ0lPTkVYVCBpcyBub3Qgc2V0XFxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24xX2RlZmNvbmZpZzo4OTpDT05GSUdfU1RNTUFDX0VUSD15XFxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24xX2RlZmNvbmZpZy05MC0jIENPTkZJR19EV01BQ19HRU5FUklDIGlzIG5vdCBzZXRcXG4tLVxcbmFyY2gvbWlwcy9jb25maWdzL2xvb25nc29uMmtfZGVmY29uZmlnPTE3NT1DT05GSUdfUjgxNjk9eVxcbi0tXFxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24ya19kZWZjb25maWctMTgzLSMgQ09ORklHX05FVF9WRU5ET1JfU01TQyBpcyBub3Qgc2V0XFxuYXJjaC9taXBzL2NvbmZpZ3MvbG9vbmdzb24ya19kZWZjb25maWc6MTg0OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5hcmNoL21pcHMvY29uZmlncy9sb29uZ3NvbjJrX2RlZmNvbmZpZy0xODUtIyBDT05GSUdfTkVUX1ZFTkRPUl9TVU4gaXMgbm90IHNldFxcbi0tXFxuYXJjaC9yaXNjdi9jb25maWdzL2RlZmNvbmZpZz0xNDA9Q09ORklHX1I4MTY5PXlcXG5hcmNoL3Jpc2N2L2NvbmZpZ3MvZGVmY29uZmlnOjE0MTpDT05GSUdfU1RNTUFDX0VUSD1tXFxuYXJjaC9yaXNjdi9jb25maWdzL2RlZmNvbmZpZy0xNDItQ09ORklHX0RXTUFDX1RIRUFEPW1cXG4tLVxcbmRyaXZlcnMvZ3Bpby9ncGlvbGliLW9mLmM9MzQzPXN0YXRpYyB2b2lkIG9mX2dwaW9fZmxhZ3NfcXVpcmtzKGNvbnN0IHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsXFxuLS1cXG5kcml2ZXJzL2dwaW8vZ3Bpb2xpYi1vZi5jLTM5OC1cXHQvKiBMZWdhY3kgaGFuZGxpbmcgb2Ygc3RtbWFjJ3MgYWN0aXZlLWxvdyBQSFkgcmVzZXQgbGluZSAqL1xcbmRyaXZlcnMvZ3Bpby9ncGlvbGliLW9mLmM6Mzk5OlxcdGlmIChJU19FTkFCTEVEKENPTkZJR19TVE1NQUNfRVRIKSBcXHUwMDI2XFx1MDAyNlxcbmRyaXZlcnMvZ3Bpby9ncGlvbGliLW9mLmMtNDAwLVxcdCAgICAhc3RyY21wKHByb3BuYW1lLCBcXFwic25wcyxyZXNldC1ncGlvXFxcIikgXFx1MDAyNlxcdTAwMjZcXG4tLVxcbmRyaXZlcnMvZ3B1L2RybS9jaS9hcm02NC5jb25maWc9MzY9Q09ORklHX0RXTUFDX1JPQ0tDSElQPXlcXG5kcml2ZXJzL2dwdS9kcm0vY2kvYXJtNjQuY29uZmlnOjM3OkNPTkZJR19TVE1NQUNfRVRIPXlcXG5kcml2ZXJzL2dwdS9kcm0vY2kvYXJtNjQuY29uZmlnLTM4LUNPTkZJR19UWVBFQ19GVVNCMzAyPXlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vTWFrZWZpbGUtNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL01ha2VmaWxlOjY6b2JqLSQoQ09ORklHX1NUTU1BQ19FVEgpICs9IHN0bW1hYy9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI6b2JqLSQoQ09ORklHX1NUTU1BQ19FVEgpICs9IHN0bW1hYy5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtMy1zdG1tYWMtb2Jqczo9IHN0bW1hY19tYWluLm8gc3RtbWFjX2V0aHRvb2wubyBzdG1tYWNfbWRpby5vIHJpbmdfbW9kZS5vXFx0XFxcXFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yOVQwODozOTowMi42MjM1NTM4NThaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo0ODg2NDY2MDM1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOlxuXG4qKkludmVzdGlnYXRpbmcgU1RNTUFDIEV0aGVybmV0IERyaXZlcnMqKlxuXG5Pa2F5LCBzbyBJIG5lZWQgdG8gZ2V0IGEgaGFuZGxlIG9uIHRoZSBTVE1NQUMgRXRoZXJuZXQgZHJpdmVycy4gVGhlIGZpcnN0IHN0ZXAgaXMgdG8gc2VlIHdoYXQncyBhY3R1YWxseSAqdGhlcmUqIHVuZGVyIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9gLiBJIHdhbnQgdG8ga25vdyB0aGUgc2NvcGUgb2YgdGhlIHNvbHV0aW9uIC0gd2hhdCdzIGltcGxlbWVudGVkLCB3aGF0J3Mgc3VwcG9ydGVkLiBJJ20gbG9va2luZyBmb3IgdGhlIGRpc3RpbmN0IGRyaXZlciBzb3VyY2UgZmlsZXMsIHRoZSBuYW1pbmcgY29udmVudGlvbnMgdGhleSB1c2UsIGFuZCB3aGljaCBzcGVjaWZpYyBTVE1pY3JvZWxlY3Ryb25pY3MgTUFDIGNvbnRyb2xsZXJzIG9yIFNvQ3MgdGhleSdyZSB0YXJnZXRpbmcuIEFyZSB0aGVyZSBtdWx0aXBsZSBkcml2ZXIgZmlsZXMgZm9yIGRpZmZlcmVudCBoYXJkd2FyZSByZXZpc2lvbnMgb3Igc3BlY2lmaWMgUEhZIGNvbmZpZ3VyYXRpb25zPyBBcmUgdGhlcmUgY29tbW9uIGZpbGVzIGZvciBzaGFyZWQgZnVuY3Rpb25hbGl0eSBsaWtlIERNQSBoYW5kbGluZyBvciBpbnRlcnJ1cHQgbWFuYWdlbWVudD8gVWx0aW1hdGVseSwgSSdtIHRyeWluZyB0byBlc3RhYmxpc2ggYSBxdWljayBtZW50YWwgbWFwIG9mIHRoZSBTVE1NQUMgZHJpdmVyIGxhbmRzY2FwZSwgdGhlIGxldmVsIG9mIGFic3RyYWN0aW9uIHByb3ZpZGVkLCBhbmQgaG93IG11Y2ggbG93LWxldmVsIGludGVyYWN0aW9uIGlzIGV4cG9zZWQuIFVuZGVyc3RhbmRpbmcgdGhlIG9yZ2FuaXphdGlvbiB3aWxsIGFsbG93IG1lIHRvIHF1aWNrbHkgcGlucG9pbnQgd2hpY2ggYXJlYXMgYXJlIHJlbGV2YW50IHRvIG15IGN1cnJlbnQgdGFzay5cblxuXG4iLCJJbnB1dFRva2VucyI6ODA1NCwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjA3LjUxMDAyMzA5M1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDU4MTg2NjgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiQ09ORklHX1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyOm9iai0kKENPTkZJR19TVE1NQUNfRVRIKSArPSBzdG1tYWMub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTMtc3RtbWFjLW9ianM6PSBzdG1tYWNfbWFpbi5vIHN0bW1hY19ldGh0b29sLm8gc3RtbWFjX21kaW8ubyByaW5nX21vZGUub1xcdFxcXFxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTExLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjEyOnN0bW1hYy0kKENPTkZJR19TVE1NQUNfU0VMRlRFU1RTKSArPSBzdG1tYWNfc2VsZnRlc3RzLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS0xMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS0xNC0jIE9yZGVyaW5nIG1hdHRlcnMuIEdlbmVyaWMgZHJpdmVyIG11c3QgYmUgbGFzdC5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToxNTpvYmotJChDT05GSUdfU1RNTUFDX1BMQVRGT1JNKVxcdCs9IHN0bW1hYy1wbGF0Zm9ybS5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTY6b2JqLSQoQ09ORklHX0RXTUFDX0FOQVJJT04pXFx0Kz0gZHdtYWMtYW5hcmlvbi5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTc6b2JqLSQoQ09ORklHX0RXTUFDX0VJQzc3MDApXFx0Kz0gZHdtYWMtZWljNzcwMC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTg6b2JqLSQoQ09ORklHX0RXTUFDX0lOR0VOSUMpXFx0Kz0gZHdtYWMtaW5nZW5pYy5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MTk6b2JqLSQoQ09ORklHX0RXTUFDX0lQUTgwNlgpXFx0Kz0gZHdtYWMtaXBxODA2eC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MjA6b2JqLSQoQ09ORklHX0RXTUFDX0xQQzE4WFgpXFx0Kz0gZHdtYWMtbHBjMTh4eC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MjE6b2JqLSQoQ09ORklHX0RXTUFDX01FRElBVEVLKVxcdCs9IGR3bWFjLW1lZGlhdGVrLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyMjpvYmotJChDT05GSUdfRFdNQUNfTUVTT04pXFx0Kz0gZHdtYWMtbWVzb24ubyBkd21hYy1tZXNvbjhiLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyMzpvYmotJChDT05GSUdfRFdNQUNfTlVWT1RPTilcXHQrPSBkd21hYy1udXZvdG9uLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyNDpvYmotJChDT05GSUdfRFdNQUNfUUNPTV9FVEhRT1MpXFx0Kz0gZHdtYWMtcWNvbS1ldGhxb3Mub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI1Om9iai0kKENPTkZJR19EV01BQ19SRU5FU0FTX0dCRVRIKSArPSBkd21hYy1yZW5lc2FzLWdiZXRoLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyNjpvYmotJChDT05GSUdfRFdNQUNfUk9DS0NISVApXFx0Kz0gZHdtYWMtcmsub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI3Om9iai0kKENPTkZJR19EV01BQ19SWk4xKVxcdCs9IGR3bWFjLXJ6bjEub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI4Om9iai0kKENPTkZJR19EV01BQ19TMzIpXFx0XFx0Kz0gZHdtYWMtczMyLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZToyOTpvYmotJChDT05GSUdfRFdNQUNfU09DRlBHQSlcXHQrPSBkd21hYy1hbHRyLXNvY2ZwZ2Eub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjMwOm9iai0kKENPTkZJR19EV01BQ19TT1BIR08pXFx0Kz0gZHdtYWMtc29waGdvLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozMTpvYmotJChDT05GSUdfRFdNQUNfU1BBQ0VNSVQpXFx0Kz0gZHdtYWMtc3BhY2VtaXQub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjMyOm9iai0kKENPTkZJR19EV01BQ19TVEFSRklWRSlcXHQrPSBkd21hYy1zdGFyZml2ZS5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MzM6b2JqLSQoQ09ORklHX0RXTUFDX1NUSSlcXHRcXHQrPSBkd21hYy1zdGkub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjM0Om9iai0kKENPTkZJR19EV01BQ19TVE0zMilcXHQrPSBkd21hYy1zdG0zMi5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6MzU6b2JqLSQoQ09ORklHX0RXTUFDX1NVTlhJKVxcdCs9IGR3bWFjLXN1bnhpLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozNjpvYmotJChDT05GSUdfRFdNQUNfU1VOOEkpXFx0Kz0gZHdtYWMtc3VuOGkub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjM3Om9iai0kKENPTkZJR19EV01BQ19TVU41NUkpXFx0Kz0gZHdtYWMtc3VuNTVpLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTozODpvYmotJChDT05GSUdfRFdNQUNfVEhFQUQpXFx0Kz0gZHdtYWMtdGhlYWQub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjM5Om9iai0kKENPTkZJR19EV01BQ19EV0NfUU9TX0VUSClcXHQrPSBkd21hYy1kd2MtcW9zLWV0aC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDA6b2JqLSQoQ09ORklHX0RXTUFDX0lOVEVMX1BMQVQpXFx0Kz0gZHdtYWMtaW50ZWwtcGxhdC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDE6b2JqLSQoQ09ORklHX0RXTUFDX0xPT05HU09OMSlcXHQrPSBkd21hYy1sb29uZ3NvbjEub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjQyOm9iai0kKENPTkZJR19EV01BQ19HRU5FUklDKVxcdCs9IGR3bWFjLWdlbmVyaWMub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjQzOm9iai0kKENPTkZJR19EV01BQ19JTVg4KVxcdCs9IGR3bWFjLWlteC5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NDQ6b2JqLSQoQ09ORklHX0RXTUFDX1RFR1JBKVxcdCs9IGR3bWFjLXRlZ3JhLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo0NTpvYmotJChDT05GSUdfRFdNQUNfVklTQ09OVEkpXFx0Kz0gZHdtYWMtdmlzY29udGkub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTQ2LXN0bW1hYy1wbGF0Zm9ybS1vYmpzOj0gc3RtbWFjX3BsYXRmb3JtLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZT00Nz1kd21hYy1hbHRyLXNvY2ZwZ2Etb2JqcyA6PSBkd21hYy1zb2NmcGdhLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS00OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo0OTpvYmotJChDT05GSUdfU1RNTUFDX0xJQlBDSSlcXHQrPSBzdG1tYWNfbGlicGNpLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo1MDpvYmotJChDT05GSUdfU1RNTUFDX1BDSSlcXHQrPSBzdG1tYWMtcGNpLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZTo1MTpvYmotJChDT05GSUdfRFdNQUNfSU5URUwpXFx0Kz0gZHdtYWMtaW50ZWwub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjUyOm9iai0kKENPTkZJR19EV01BQ19MT09OR1NPTilcXHQrPSBkd21hYy1sb29uZ3Nvbi5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU6NTM6b2JqLSQoQ09ORklHX0RXTUFDX01PVE9SQ09NTSlcXHQrPSBkd21hYy1tb3RvcmNvbW0ub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlLTU0LXN0bW1hYy1wY2ktb2Jqczo9IHN0bW1hY19wY2kub1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yOVQwODozOTowNy42MTU4NDY2NjFaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo2MzM2NjQ3Njc5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgdGhlIHN0bW1hYyBEcml2ZXIncyBUcmFmZmljIENvbnRyb2wgSW1wbGVtZW50YXRpb24qKlxuXG5Pa2F5LCBzbyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdHJhZmZpYyBjb250cm9sIGlzIGhhbmRsZWQgd2l0aGluIHRoZSBgc3RtbWFjYCBkcml2ZXIuIE15IGluaXRpYWwgaW5zdGluY3Qgd2FzIHRvIGp1bXAgc3RyYWlnaHQgaW50byBgc3RtbWFjX3RjLmNgLCB3aGljaCBtYWtlcyBzZW5zZSBhcyBpdCdzIG5hbWVkIHNwZWNpZmljYWxseSBmb3IgdHJhZmZpYyBjb250cm9sLiBJIHdhbnQgdG8gc2VlIGV4YWN0bHkgaG93IGl0J3MgY2FsbGVkLCB0cmFjZSB0aGUgZXhlY3V0aW9uIHBhdGgsIGFuZCBkZXRlcm1pbmUgaWYgaXQgaW50ZXJhY3RzIHdpdGggYW55IFBDSSBvciB2aXJ0dWFsIGRldmljZXMuIEhvd2V2ZXIsIGJlZm9yZSBnZXR0aW5nIGludG8gdGhlIHNwZWNpZmljIGltcGxlbWVudGF0aW9uLCBhIG1vcmUgc3lzdGVtYXRpYyBhcHByb2FjaCBtaWdodCBiZSBiZXN0LiBJIHNob3VsZCBkb3VibGUgY2hlY2sgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4gVGhlIGBLY29uZmlnYCBmaWxlIGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnYCBpcyBwcm9iYWJseSB0aGUgcGxhY2UgdG8gc3RhcnQuIFRoaXMgd2lsbCByZXZlYWwgYW55IGJ1aWxkLXRpbWUgY29uZmlndXJhdGlvbnMgb3IgZGVwZW5kZW5jaWVzIHRoYXQgbWlnaHQgaW5mbHVlbmNlIGhvdyB0cmFmZmljIGNvbnRyb2wgaXMgZW5hYmxlZCBvciBkaXNhYmxlZC4gVGhpcyBoZWxwcyBtZSBmcmFtZSB3aGF0IEknbGwgc2VlIHdoZW4gSSBnZXQgaW50byB0aGUgY29kZSBpdHNlbGYuIENoZWNraW5nIHRoZSBgS2NvbmZpZ2AgZmlyc3Qgd2lsbCBnaXZlIG1lIHNvbWUgb2YgdGhlIGNvbnRleHQgSSBuZWVkLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMDI2OCwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjUzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjEzLjk1MjQ5NzZaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzAyNjM5NzgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI6Y29uZmlnIFNUTU1BQ19FVEhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTMtXFx0dHJpc3RhdGUgXFxcIlNUTWljcm9lbGVjdHJvbmljcyBNdWx0aS1HaWdhYml0IEV0aGVybmV0IGRyaXZlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc9MTg9aWYgU1RNTUFDX0VUSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMDpjb25maWcgU1RNTUFDX1NFTEZURVNUU1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjEtXFx0Ym9vbCBcXFwiU3VwcG9ydCBmb3IgU1RNTUFDIFNlbGZ0ZXN0c1xcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyOTpjb25maWcgU1RNTUFDX1BMQVRGT1JNXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMC1cXHR0cmlzdGF0ZSBcXFwiU1RNTUFDIFBsYXRmb3JtIGJ1cyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZz00Mj1pZiBTVE1NQUNfUExBVEZPUk1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTQzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6NDQ6Y29uZmlnIERXTUFDX0RXQ19RT1NfRVRIXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy00NS1cXHR0cmlzdGF0ZSBcXFwiU3VwcG9ydCBmb3Igc25wcyxkd2MtcW9zLWV0aGVybmV0LnR4dCBEVCBiaW5kaW5nLlxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNTEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzo1Mjpjb25maWcgRFdNQUNfR0VORVJJQ1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNTMtXFx0dHJpc3RhdGUgXFxcIkdlbmVyaWMgZHJpdmVyIGZvciBEV01BQ1xcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNTktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzo2MDpjb25maWcgRFdNQUNfQU5BUklPTlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNjEtXFx0dHJpc3RhdGUgXFxcIkFkYXB0cnVtIEFuYXJpb24gR01BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy02OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjY5OmNvbmZpZyBEV01BQ19FSUM3NzAwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy03MC1cXHR0cmlzdGF0ZSBcXFwiU3VwcG9ydCBmb3IgRXN3aW4gZWljNzcwMCBldGhlcm5ldCBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTc3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6Nzg6Y29uZmlnIERXTUFDX0lOR0VOSUNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTc5LVxcdHRyaXN0YXRlIFxcXCJJbmdlbmljIE1BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy04OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjkwOmNvbmZpZyBEV01BQ19JUFE4MDZYXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy05MS1cXHR0cmlzdGF0ZSBcXFwiUUNBIElQUTgwNnggRFdNQUMgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTAyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MTAzOlxcdCAgU2VsZWN0IHRoZSBRQ09NX1NPQ0lORk8gY29uZmlnIGZsYWcgdG8gZW5hYmxlIHNwZWNpZmljIGR3bWFjXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMDQtXFx0ICBmaXh1cCBiYXNlZCBvbiB0aGUgaXBxODA2eCBTb0MgcmV2aXNpb24uXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMDUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoxMDY6Y29uZmlnIERXTUFDX0xQQzE4WFhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEwNy1cXHR0cmlzdGF0ZSBcXFwiTlhQIExQQzE4eHgvNDN4eCBEV01BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoxMTQ6Y29uZmlnIERXTUFDX01FRElBVEVLXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMTUtXFx0dHJpc3RhdGUgXFxcIk1lZGlhVGVrIE1UMjd4eCBHTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEyMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjEyMjpjb25maWcgRFdNQUNfTUVTT05cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEyMy1cXHR0cmlzdGF0ZSBcXFwiQW1sb2dpYyBNZXNvbiBkd21hYyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xMzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoxMzM6Y29uZmlnIERXTUFDX05VVk9UT05cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTEzNC1cXHR0cmlzdGF0ZSBcXFwiTnV2b3RvbiBNQTM1IGR3bWFjIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE0NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE0NTpjb25maWcgRFdNQUNfUUNPTV9FVEhRT1NcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE0Ni1cXHR0cmlzdGF0ZSBcXFwiUXVhbGNvbW0gRVRIUU9TIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE1NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE1NTpjb25maWcgRFdNQUNfUkVORVNBU19HQkVUSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTU2LVxcdHRyaXN0YXRlIFxcXCJSZW5lc2FzIFJaL1YySChQKSBHQkVUSCBhbmQgUlovVDJILCBSWi9OMkggR01BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xNjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoxNjg6Y29uZmlnIERXTUFDX1JPQ0tDSElQXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xNjktXFx0dHJpc3RhdGUgXFxcIlJvY2tjaGlwIGR3bWFjIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE3OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE3OTpjb25maWcgRFdNQUNfUlpOMVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMTgwLVxcdHRyaXN0YXRlIFxcXCJSZW5lc2FzIFJaL04xIGR3bWFjIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTE5MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjE5MTpjb25maWcgRFdNQUNfUzMyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0xOTItXFx0dHJpc3RhdGUgXFxcIk5YUCBTMzJHL1MzMlIgR01BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yMDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMDM6Y29uZmlnIERXTUFDX1NPQ0ZQR0FcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTIwNC1cXHR0cmlzdGF0ZSBcXFwiU09DRlBHQSBkd21hYyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yMTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyMTg6Y29uZmlnIERXTUFDX1NPUEhHT1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjE5LVxcdHRyaXN0YXRlIFxcXCJTb3BoZ28gZHdtYWMgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjI4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MjI5OmNvbmZpZyBEV01BQ19TUEFDRU1JVFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjMwLVxcdHRyaXN0YXRlIFxcXCJTcGFjZW1pdCBkd21hYyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNDAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyNDE6Y29uZmlnIERXTUFDX1NUQVJGSVZFXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNDItXFx0dHJpc3RhdGUgXFxcIlN0YXJGaXZlIGR3bWFjIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI1Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI1Mzpjb25maWcgRFdNQUNfU1RJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yNTQtXFx0dHJpc3RhdGUgXFxcIlNUaSBHTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI2NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjI2NTpjb25maWcgRFdNQUNfU1RNMzJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI2Ni1cXHR0cmlzdGF0ZSBcXFwiU1RNMzIgRFdNQUMgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjc2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6Mjc3OmNvbmZpZyBEV01BQ19TVU5YSVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMjc4LVxcdHRyaXN0YXRlIFxcXCJBbGx3aW5uZXIgR01BQyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yODctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzoyODg6Y29uZmlnIERXTUFDX1NVTjhJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0yODktXFx0dHJpc3RhdGUgXFxcIkFsbHdpbm5lciBzdW44aSBHTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTI5OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjMwMDpjb25maWcgRFdNQUNfU1VONTVJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMDEtXFx0dHJpc3RhdGUgXFxcIkFsbHdpbm5lciBzdW41NWkgR01BQzIwMCBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMTEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozMTI6Y29uZmlnIERXTUFDX1RIRUFEXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMTMtXFx0dHJpc3RhdGUgXFxcIlQtSEVBRCBkd21hYyBzdXBwb3J0XFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMjEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZzozMjI6Y29uZmlnIERXTUFDX0lNWDhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTMyMy1cXHR0cmlzdGF0ZSBcXFwiTlhQIElNWDggRFdNQUMgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzMzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzM0OmNvbmZpZyBEV01BQ19JTlRFTF9QTEFUXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zMzUtXFx0dHJpc3RhdGUgXFxcIkludGVsIGR3bWFjIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM0My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM0NDpjb25maWcgRFdNQUNfTE9PTkdTT04xXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zNDUtXFx0dHJpc3RhdGUgXFxcIkxvb25nc29uMSBHTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM1NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM1NTpjb25maWcgRFdNQUNfVEVHUkFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM1Ni1cXHR0cmlzdGF0ZSBcXFwiTlZJRElBIFRlZ3JhIE1HQkUgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzYzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzY0OmNvbmZpZyBEV01BQ19WSVNDT05USVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzY1LVxcdHRyaXN0YXRlIFxcXCJUb3NoaWJhIFZpc2NvbnRpIERXTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnPTM3MT1lbmRpZiAjIFNUTU1BQ19QTEFURk9STVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzcyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6MzczOmNvbmZpZyBTVE1NQUNfTElCUENJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zNzQtXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzc3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6Mzc4OmNvbmZpZyBEV01BQ19JTlRFTFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctMzc5LVxcdHRyaXN0YXRlIFxcXCJJbnRlbCBHTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM4Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM4ODpjb25maWcgRFdNQUNfTE9PTkdTT05cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM4OS1cXHR0cmlzdGF0ZSBcXFwiTG9vbmdzb24gUENJIERXTUFDIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnLTM5Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnOjM5ODpjb25maWcgRFdNQUNfTU9UT1JDT01NXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy0zOTktXFx0dHJpc3RhdGUgXFxcIk1vdG9yY29tbSBQQ0kgRFdNQUMgc3VwcG9ydFxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWctNDA2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWc6NDA3OmNvbmZpZyBTVE1NQUNfUENJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2NvbmZpZy00MDgtXFx0dHJpc3RhdGUgXFxcIlNUTU1BQyBQQ0kgYnVzIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjE0LjAyMjc2NzcwOVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjE4MDYzOTEwMDI2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IFFFTVUgRXRoZXJuZXQgRW11bGF0aW9uIEludmVzdGlnYXRpb24qKlxuXG5Pa2F5LCBzbyBJJ20gdHJ5aW5nIHRvIGZpZ3VyZSBvdXQgaG93IHRvIGludGVyYWN0IHdpdGggYW4gU1RNTUFDIChTeW5vcHN5cyBEZXNpZ25XYXJlIE1BQykgb3Igc2ltaWxhciBFdGhlcm5ldCBkZXZpY2Ugd2l0aGluIFFFTVUuIENhbiBJIHJlYWNoIHRoZXNlIGRldmljZXMsIGVpdGhlciBkaXJlY3RseSBlbXVsYXRlZCBvciB0aHJvdWdoIHNvbWUgb3RoZXIgbWVjaGFuaXNtIGxpa2UgYSBHQ0UgZW52aXJvbm1lbnQ/XG5cbk15IGluaXRpYWwgdGhvdWdodCBpcyB0byBjaGVjayBkaXJlY3RseSBpZiBRRU1VIHN1cHBvcnRzIHRoZSBlbXVsYXRpb24gb2YgYHN0bW1hY2AsIGBkd21hY2AsIGV0Yy4gUGVyaGFwcyBpdCdzIGxpbWl0ZWQgdG8gdmVyeSBzcGVjaWZpYyBwaHlzaWNhbCBTb0MgRXRoZXJuZXQgY29udHJvbGxlcnMgb3IgUENJIE5JQ3MuXG5cbkkgbmVlZCB0byBrZWVwIGluIG1pbmQsIGhvd2V2ZXIsIHRoYXQgdGhlcmUgbWlnaHQgYmUgY29kZSBwYXRocyB0aGF0IGFyZSBzaW1wbHkgaW5hY2Nlc3NpYmxlIGluIHZpcnR1YWwgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UsIGV2ZW4gaWYgdXNpbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUuIEknbSB0aGlua2luZyBvZiBkcml2ZXJzIGZvciB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFVzLCB3aGljaCBuZWNlc3NpdGF0ZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlLCBzb21ldGhpbmcgUUVNVSBkb2Vzbid0IGRvLiBGb3IgZXhhbXBsZSwgZHJpdmVycyBsaWtlIGBtbHhzd2AsIGBwZHNfY29yZWAsIGBxZWRgLCBgaW9uaWNgLCBvciBgYW1kZ3B1YC5cblxuQWxyaWdodCwgbGV0J3MgbGlzdCBvdXQgd2hhdCBRRU1VIGFjdHVhbGx5ICpkb2VzKiBlbXVsYXRlIGluIHRlcm1zIG9mIGV0aGVybmV0LiBJIGtub3cgaXQgaW5jbHVkZXM6IGBlMTAwMGAsIGBlMTAwMGVgLCBgaWdiYCwgYHJ0bDgxMzlgLCBgODEzOWNwYCwgYHZpcnRpby1uZXRgLCBgcGNuZXQgKGxhbmNlKWAsIGBuZTJrX3BjaWAsIGBuZTJrX2lzYWAsIGBzdW5nZW1gLCBgc3VuaG1lYCwgYHR1bGlwIChkZWMgMjExNDApYCwgYGk4MjU1eCAoZWVwcm8xMDApYCwgYHZteG5ldDNgLCBgcm9ja2VyYCwgYHVzYi1uZXRgLCBgc21jOTFjMTExYCwgYGxhbjkxMThgLCBgY2FkZW5jZV9nZW1gLCBgaW14X2ZlY2AsIGBhbGx3aW5uZXItZW1hY2AsIGBzdW40aS1lbWFjYC5cblxuQnV0IHdhaXQuIFRoZSBgc3VuNGlfZW1hY2AgaXMgbm90IGBzdG1tYWNgLiBJIG5lZWQgdG8gcmVtZW1iZXIgdGhhdCBgc3VuOGlgIGNvdWxkIHBvc3NpYmx5IGV4aXN0IG9uIGFuIEFSTSBtYWNoaW5lLCBidXQgc3l6a2FsbGVyIHVzdWFsbHkgcnVucyBvbiBzdGFuZGFyZCB4ODZfNjQgb3IgYXJtNjQgUUVNVS9HQ0UgVk1zLiBTbyBkb2VzIFFFTVUgZW11bGF0ZSBgZHdtYWNgIG9yIGBzdG1tYWNgPyBJdCdzIHRpbWUgdG8gY2hlY2sgdGhlIFFFTVUgc291cmNlIGRpcmVjdGx5LlxuXG5BY2NvcmRpbmcgdG8gdGhlIFFFTVUgY29kZSwgYGR3bWFjYCBpcyAqbm90KiBhbiBlbXVsYXRlZCBQQ0kgZGV2aWNlIGluIHN0YW5kYXJkIFFFTVUuIFRoYXQncyBhIGtleSBwaWVjZSBvZiBpbmZvcm1hdGlvbi5cblxuT2theSwgbGV0J3Mgbm93IGludmVzdGlnYXRlIGBEV01BQ19JTlRFTGAgb3IgYFNUTU1BQ19QQ0lgLiBXaGF0IFBDSSBJRHMgYXJlIHN1cHBvcnRlZD8gSSBzaG91bGQgY2hlY2sgYHN0bW1hY19wY2kuY2AgYW5kIGBkd21hYy1pbnRlbC5jYCB0byBzZWUgd2hpY2ggc3BlY2lmaWMgaGFyZHdhcmUgaXMgc3VwcG9ydGVkIGlmIGFueS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTQxNzYsIk91dHB1dFRva2VucyI6NDYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1NTksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjlUMDg6Mzk6MzIuMDg2NjgwMjY1WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDc4Nzc5MzksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiTU9EVUxFX0RFVklDRV9UQUJMRXxwY2lfZGV2aWNlX2lkXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1hbmFyaW9uLmM9MTE5PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGFuYXJpb25fZHdtYWNfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWFuYXJpb24uYy0xMjItfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1hbmFyaW9uLmM6MTIzOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGFuYXJpb25fZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWFuYXJpb24uYy0xMjQtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1kd2MtcW9zLWV0aC5jPTM1Mz1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBkd2NfZXRoX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1kd2MtcW9zLWV0aC5jLTM1OC19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWR3Yy1xb3MtZXRoLmM6MzU5Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGR3Y19ldGhfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWR3Yy1xb3MtZXRoLmMtMzYwLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtZWljNzcwMC5jPTM1MD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBlaWM3NzAwX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1laWM3NzAwLmMtMzU5LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtZWljNzcwMC5jOjM2MDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBlaWM3NzAwX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1laWM3NzAwLmMtMzYxLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtZ2VuZXJpYy5jPTUyPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGR3bWFjX2dlbmVyaWNfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWdlbmVyaWMuYy02Ni19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWdlbmVyaWMuYzo2NzpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBkd21hY19nZW5lcmljX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1nZW5lcmljLmMtNjgtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbXguYz0zODQ9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgaW14X2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbXguYy0zODktfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbXguYzozOTA6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgaW14X2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbXguYy0zOTEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbmdlbmljLmM9MjYyPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGluZ2VuaWNfbWFjX29mX21hdGNoZXNbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWluZ2VuaWMuYy0yNjktfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbmdlbmljLmM6MjcwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGluZ2VuaWNfbWFjX29mX21hdGNoZXMpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWluZ2VuaWMuYy0yNzEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC1wbGF0LmM9MzY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgaW50ZWxfZXRoX3BsYXRfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLXBsYXQuYy0zOS19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLXBsYXQuYzo0MDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBpbnRlbF9ldGhfcGxhdF9tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwtcGxhdC5jLTQxLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xMjYzPXN0YXRpYyBpbnQgaW50ZWxfZXRoX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjEyNjQ6XFx0XFx0XFx0ICAgICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEyNjUte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYz0xMzYyPXN0YXRpYyB2b2lkIGludGVsX2V0aF9wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMzk0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmM6MTM5NTpzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgaW50ZWxfZXRoX3BjaV9pZF90YWJsZVtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTM5Ni1cXHR7IFBDSV9ERVZJQ0VfREFUQShJTlRFTCwgUVVBUkssIFxcdTAwMjZxdWFya19pbmZvKSB9LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xNDE0LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxNDE1Ok1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBpbnRlbF9ldGhfcGNpX2lkX3RhYmxlKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTE0MTYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pcHE4MDZ4LmM9NDkxPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGlwcTgwNnhfZ21hY19kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaXBxODA2eC5jLTQ5NC19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWlwcTgwNnguYzo0OTU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgaXBxODA2eF9nbWFjX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pcHE4MDZ4LmMtNDk2LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYz00Nzk9c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19maXhfcmVzZXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy00OTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYzo0OTg6c3RhdGljIGludCBsb29uZ3Nvbl9kd21hY19wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNDk5LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM9NTc4PXN0YXRpYyB2b2lkIGxvb25nc29uX2R3bWFjX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTk1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NTk2OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBsb29uZ3Nvbl9kd21hY19pZF90YWJsZVtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmMtNTk3LVxcdHsgUENJX0RFVklDRV9EQVRBKExPT05HU09OLCBHTUFDMSwgXFx1MDAyNmxvb25nc29uX2dtYWNfcGNpX2luZm8pIH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3Nvbi5jLTYwMS19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uLmM6NjAyOk1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBsb29uZ3Nvbl9kd21hY19pZF90YWJsZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24uYy02MDMtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1sb29uZ3NvbjEuYz0yMTY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbHMxeF9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24xLmMtMjI2LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbG9vbmdzb24xLmM6MjI3Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGxzMXhfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxvb25nc29uMS5jLTIyOC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWxwYzE4eHguYz03MT1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBscGMxOHh4X2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1scGMxOHh4LmMtNzQtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1scGMxOHh4LmM6NzU6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgbHBjMTh4eF9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbHBjMTh4eC5jLTc2LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVkaWF0ZWsuYz02NjI9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWVkaWF0ZWtfZHdtYWNfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lZGlhdGVrLmMtNjY5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lZGlhdGVrLmM6NjcwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG1lZGlhdGVrX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZWRpYXRlay5jLTY3MS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lc29uLmM9NzY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbWVzb242X2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbi5jLTc5LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbWVzb24uYzo4MDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBtZXNvbjZfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lc29uLmMtODEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbjhiLmM9NDgyPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG1lc29uOGJfZHdtYWNfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lc29uOGIuYy01MDQtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tZXNvbjhiLmM6NTA1Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG1lc29uOGJfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1lc29uOGIuYy01MDYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0yNjQ9c3RhdGljIGludCBtb3RvcmNvbW1fc2V0dXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbW90b3Jjb21tLmMtMjkyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jOjI5MzpzdGF0aWMgaW50IG1vdG9yY29tbV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTI5NC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYz0zNjI9c3RhdGljIHZvaWQgbW90b3Jjb21tX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTM2Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYzozNjc6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIGR3bWFjX21vdG9yY29tbV9wY2lfaWRfdGFibGVbXSA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYy0zNjgtXFx0eyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfTU9UT1JDT01NLCAweDY4MDEpIH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYy0zNzAtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1tb3RvcmNvbW0uYzozNzE6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIGR3bWFjX21vdG9yY29tbV9wY2lfaWRfdGFibGUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW1vdG9yY29tbS5jLTM3Mi1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW51dm90b24uYz0xMTg9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbnZ0X2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1udXZvdG9uLmMtMTIxLX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtbnV2b3Rvbi5jOjEyMjpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBudnRfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLW51dm90b24uYy0xMjMtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1xY29tLWV0aHFvcy5jPTgwMD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBxY29tX2V0aHFvc19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhxb3MuYy04MDYtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1xY29tLWV0aHFvcy5jOjgwNzpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBxY29tX2V0aHFvc19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcWNvbS1ldGhxb3MuYy04MDgtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yZW5lc2FzLWdiZXRoLmM9MjE2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHJlbmVzYXNfZ2JldGhfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJlbmVzYXMtZ2JldGguYy0yMjEtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yZW5lc2FzLWdiZXRoLmM6MjIyOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHJlbmVzYXNfZ2JldGhfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJlbmVzYXMtZ2JldGguYy0yMjMtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jPTE2MTY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcmtfZ21hY19kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xNjM0LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYzoxNjM1Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHJrX2dtYWNfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTYzNi1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJ6bjEuYz03NT1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCByem4xX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yem4xLmMtNzgtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yem4xLmM6Nzk6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcnpuMV9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcnpuMS5jLTgwLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtczMyLmM9MjE2PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHMzMl9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtczMyLmMtMjE5LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtczMyLmM6MjIwOk1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHMzMl9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtczMyLmMtMjIxLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc29jZnBnYS5jPTY3Mz1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzb2NmcGdhX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zb2NmcGdhLmMtNjc4LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc29jZnBnYS5jOjY3OTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzb2NmcGdhX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zb2NmcGdhLmMtNjgwLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc29waGdvLmM9NzI9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc29waGdvX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zb3BoZ28uYy03Ni19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXNvcGhnby5jOjc3Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHNvcGhnb19kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc29waGdvLmMtNzgtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zcGFjZW1pdC5jPTIxMD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzcGFjZW1pdF9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3BhY2VtaXQuYy0yMTMtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zcGFjZW1pdC5jOjIxNDpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzcGFjZW1pdF9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3BhY2VtaXQuYy0yMTUtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGFyZml2ZS5jPTE2MD1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzdGFyZml2ZV9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RhcmZpdmUuYy0xNjQtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGFyZml2ZS5jOjE2NTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzdGFyZml2ZV9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RhcmZpdmUuYy0xNjYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGkuYz0yOTY9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3RpX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGkuYy0yOTktfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGkuYzozMDA6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3RpX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdGkuYy0zMDEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdG0zMi5jPTY2Mj1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzdG0zMl9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RtMzIuYy02NjgtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdG0zMi5jOjY2OTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzdG0zMl9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3RtMzIuYy02NzAtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW41NWkuYz0xNDE9c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3VuNTVpX2dtYWMyMDBfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjU1aS5jLTE0NC19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjU1aS5jOjE0NTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzdW41NWlfZ21hYzIwMF9tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuNTVpLmMtMTQ2LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYz0xMjY4PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHN1bjhpX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jLTEyODItfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jOjEyODM6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3VuOGlfZHdtYWNfbWF0Y2gpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMtMTI4NC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bnhpLmM9MTUwPXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHN1bjdpX2R3bWFjX21hdGNoW10gPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jLTE1My19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bnhpLmM6MTU0Ok1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHN1bjdpX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jLTE1NS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXRlZ3JhLmM9Mzk3PXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHRlZ3JhX21nYmVfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXRlZ3JhLmMtNDAwLX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGVncmEuYzo0MDE6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgdGVncmFfbWdiZV9tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGVncmEuYy00MDItXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy10aGVhZC5jPTI2Nz1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCB0aGVhZF9kd21hY19tYXRjaFtdID0ge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGhlYWQuYy0yNzAtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy10aGVhZC5jOjI3MTpNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCB0aGVhZF9kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdGhlYWQuYy0yNzItXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy12aXNjb250aS5jPTI1NT1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCB2aXNjb250aV9ldGhfZHdtYWNfbWF0Y2hbXSA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXZpc2NvbnRpLmMtMjU4LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtdmlzY29udGkuYzoyNTk6TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgdmlzY29udGlfZXRoX2R3bWFjX21hdGNoKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy12aXNjb250aS5jLTI2MC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xMTg9c3RhdGljIGludCBzdG1tYWNfcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoxMTk6XFx0XFx0XFx0ICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMTIwLXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xOTI9c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjAyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDM6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHN0bW1hY19pZF90YWJsZVtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0yMDQtXFx0eyBQQ0lfREVWSUNFX0RBVEEoU1RNTUFDLCBTVE1NQUMsIFxcdTAwMjZzdG1tYWNfcGNpX2luZm8pIH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjA5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTA6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHN0bW1hY19pZF90YWJsZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxMS1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjlUMDg6Mzk6MzIuMTk0NTYzNjU0WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjI4OTk2ODUzNTAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6XG5cbioqRXhhbWluaW5nIHRoZSBzdG1tYWNfaWRfdGFibGUqKlxuXG5BbHJpZ2h0LCBsZXQncyBkaXZlIGluLiBJIG5lZWQgdG8gZ2V0IGEgY2xlYXIgcGljdHVyZSBvZiB3aGF0J3MgZGVmaW5lZCB3aXRoaW4gdGhlIGBzdG1tYWNfaWRfdGFibGVgLiBJJ20gZ29pbmcgdG8gc3RhcnQgYnkgdGFraW5nIGEgY2xvc2UgbG9vayBhdCB0aGF0IGRhdGEgc3RydWN0dXJlLCBiZWNhdXNlIGl0J3MgdGhlIGNvcmUgb2YgaG93IHRoZSBkcml2ZXIgaWRlbnRpZmllcyBhbmQgaGFuZGxlcyBkaWZmZXJlbnQgU1RNaWNyb2VsZWN0cm9uaWNzIEV0aGVybmV0IE1BQyBjb250cm9sbGVycy4gSSBuZWVkIHRvIHJlZnJlc2ggbXkgbWVtb3J5IG9uIHRoZSBkZXZpY2UgSURzLCBjb21wYXRpYmxlIHN0cmluZ3MsIGFuZCBhbnkgYXNzb2NpYXRlZCBwbGF0Zm9ybSBkYXRhIGRlZmluZWQgaW4gdGhhdCB0YWJsZS4gVGhpcyBpcyB0aGUgZW50cnkgcG9pbnQgZm9yIHVuZGVyc3RhbmRpbmcgdGhlIHN1cHBvcnRlZCBoYXJkd2FyZSBhbmQgaG93IHRoZSBkcml2ZXIgcHJvYmVzIGZvciB0aGVtLiBJJ20gdGhpbmtpbmcgSSdsbCB3YW50IHRvIHF1aWNrbHkgcGFyc2UgdGhyb3VnaCB0aGUgY29udGVudHMgb2YgdGhhdCB0YWJsZSB0byBjb25maXJtIHdoYXQgSSdtIGV4cGVjdGluZyB0byBzZWUgYW5kIHRvIGdldCBhIHJlbWluZGVyIG9mIHRoZSBkZXZpY2Utc3BlY2lmaWMgcXVpcmtzIEkgbWlnaHQgbmVlZCB0byBjb25zaWRlciBmb3IgdGhpcyByZXZpZXcuIEJhc2ljYWxseSwgSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCBkZXZpY2VzIHRoaXMgZHJpdmVyIHRoaW5rcyBpdCBzdXBwb3J0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjE4MDgsIk91dHB1dFRva2VucyI6NTIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0yOVQwODozOTozNS4wOTQyNTIzNzNaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjc4NzQ5MDk4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInN0bW1hY19pZF90YWJsZXxpbnRlbF9ldGhfcGNpX2lkX3RhYmxlXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTEzNjI9c3RhdGljIHZvaWQgaW50ZWxfZXRoX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTEzOTQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYzoxMzk1OnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBpbnRlbF9ldGhfcGNpX2lkX3RhYmxlW10gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtaW50ZWwuYy0xMzk2LVxcdHsgUENJX0RFVklDRV9EQVRBKElOVEVMLCBRVUFSSywgXFx1MDAyNnF1YXJrX2luZm8pIH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTE0MTQtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjE0MTU6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIGludGVsX2V0aF9wY2lfaWRfdGFibGUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTQxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jPTE0MTc9c3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIGludGVsX2V0aF9wY2lfZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLWludGVsLmMtMTQxOC1cXHQubmFtZSA9IFxcXCJpbnRlbC1ldGgtcGNpXFxcIixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jOjE0MTk6XFx0LmlkX3RhYmxlID0gaW50ZWxfZXRoX3BjaV9pZF90YWJsZSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1pbnRlbC5jLTE0MjAtXFx0LnByb2JlID0gaW50ZWxfZXRoX3BjaV9wcm9iZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYz0xOTI9c3RhdGljIHZvaWQgc3RtbWFjX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjAyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMDM6c3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHN0bW1hY19pZF90YWJsZVtdID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYy0yMDQtXFx0eyBQQ0lfREVWSUNFX0RBVEEoU1RNTUFDLCBTVE1NQUMsIFxcdTAwMjZzdG1tYWNfcGNpX2luZm8pIH0sXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjA5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYzoyMTA6TU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHN0bW1hY19pZF90YWJsZSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmM9MjEyPXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBzdG1tYWNfcGNpX2RyaXZlciA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGNpLmMtMjEzLVxcdC5uYW1lID0gU1RNTUFDX1JFU09VUkNFX05BTUUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jOjIxNDpcXHQuaWRfdGFibGUgPSBzdG1tYWNfaWRfdGFibGUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jLTIxNS1cXHQucHJvYmUgPSBzdG1tYWNfcGNpX3Byb2JlLFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0yOVQwODozOTozNS4xNzMwMDcwNDJaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6ODMyMDQ4MDk2NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipXb3J0aEZ1enppbmcgRGVjaXNpb24gZm9yIFNUTU1BQzogTm90IEFwcGxpY2FibGUqKlxuXG5Pa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24gc3lzdGVtYXRpY2FsbHkuIFRoZSBpbnN0cnVjdGlvbnMgYXJlIGNsZWFyOiBpZiBhIHBhdGNoIHRvdWNoZXMgY29kZSB1bnJlYWNoYWJsZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIHdlIHNob3VsZCByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAuIE15IGZpcnN0IHRob3VnaHQgaXMgdG8gZGV0ZXJtaW5lIGlmIHRoZSBgc3RtbWFjYCBkcml2ZXIgaXMgcmVhY2hhYmxlIGluIFFFTVUgb3IgR0NFLlxuXG5JIGtub3cgU1RNTUFDIHJlZmVycyB0byB0aGUgU3lub3BzeXMgRGVzaWduV2FyZSBFdGhlcm5ldCBNQUMgY29udHJvbGxlci4gVGhlc2UgYXJlIGNvbW1vbmx5IGZvdW5kIGluIGEgdmFyaWV0eSBvZiBTb0NzIOKAkyBTVE0zMiwgUm9ja2NoaXAsIHRoZSB1c3VhbCBzdXNwZWN0cy4gTXkgZ3V0IHRlbGxzIG1lIHRoZXNlIGFyZW4ndCBlYXNpbHkgZW11bGF0ZWQgaW4gYSBzdGFuZGFyZCBRRU1VIHNldHVwIG9yIEdDRS5cblxuTGV0J3MgY29uZmlybS4gSSdsbCBjaGVjayBRRU1VJ3Mgc3VwcG9ydGVkIG5ldHdvcmsgZGV2aWNlcy4gU2Nhbm5pbmcgdGhlIFFFTVUgY29kZWJhc2UgZm9yIG5ldHdvcmsgaGFyZHdhcmUsIEkgc2VlIGEgbGlzdDogZTEwMDAsIHZpcnRpby1uZXQsIHJ0bDgxMzksIHRoZSB1c3VhbC4gSSBkb24ndCBzZWUgYW55dGhpbmcgZXhwbGljaXRseSBsYWJlbGVkIGFzIFwic3RtbWFjXCIgb3IgYW55dGhpbmcgaW1tZWRpYXRlbHkgYW5hbG9nb3VzLiBFdmVuIG9uIHRoZSBzdGFuZGFyZCB4ODZfNjQgdGFyZ2V0LCBpdCB1c2VzIGUxMDAwLCB2aXJ0aW8tbmV0LCBldGMuIFRoZSBBUk0gdmlydCBtYWNoaW5lIHVzZXMgdmlydGlvLW5ldCwgbm90IHN0bW1hYy4gR0NFIHVzZXMgdmlydGlvLW5ldCBvciBndmUsIGZ1cnRoZXIgY29uZmlybWluZyB0aGlzLlxuXG5DYW4gYHN0bW1hY2AgYmUgaW5zdGFudGlhdGVkIHZpYSBzb2Z0d2FyZSBvciBhbnl0aGluZyBsaWtlIGBtb2NrL2h3c2ltYD8gTm8sIGBzdG1tYWNgIGlzIGEgcGxhdGZvcm0vUENJIGRyaXZlci4gVGhlIGtleSBwYXJ0IGlzIHRoYXQgdGhlIHN0bW1hYyBkcml2ZXIncyBwcm9iZSBmdW5jdGlvbnMgKHN0bW1hY19kdnJfcHJvYmUsIHN0bW1hY19wcm9iZV9jb25maWdfZHQsIHN0bW1hY19wY2lfcHJvYmUsIGludGVsX2V0aF9wY2lfcHJvYmUsIGV0Yy4pIGFyZW4ndCB0cmlnZ2VyZWQgd2l0aG91dCB0aGUgdW5kZXJseWluZyBoYXJkd2FyZS5cblxuTGV0J3MgZHJpbGwgZG93biBkZWVwZXIsIGNvbnNpZGVyaW5nIGBzdG1tYWNfdGMuY2Agc3BlY2lmaWNhbGx5LiBgc3RtbWFjX3RjLmNgIHByb3ZpZGVzIGBzdG1tYWNfc2V0dXBfdGMoKWAsIHRoZSBgbmRvX3NldHVwX3RjYCBjYWxsYmFjayBmb3IgdGhlIGBuZXRfZGV2aWNlYCBpbiBzdG1tYWMuIFNwZWNpZmljYWxseSwgYHRjX3NldHVwX2R3bWFjNTEwX21xcHJpb2AgYW5kIGB0Y190YXByaW9fY29uZmlndXJlYCBhcmUgb25seSBjYWxsZWQgdmlhIGBzdG1tYWNfc2V0dXBfdGMoKWAgb24gYSBgc3RydWN0IG5ldF9kZXZpY2VgIHJlZ2lzdGVyZWQgYnkgdGhlIHN0bW1hYyBkcml2ZXIgd2hlbiBwcm9iZWQgYnkgc3RtbWFjIGhhcmR3YXJlLlxuXG5UaGVyZWZvcmUsIGJlY2F1c2UgYHN0bW1hY2AgcmVsaWVzIG9uIHVuZGVybHlpbmcgaGFyZHdhcmUgdGhhdCdzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIHRoZSBkcml2ZXIncyBwcm9iZSBmdW5jdGlvbiBpcyBuZXZlciBleGVjdXRlZCwgYW5kIG5vIGBzdG1tYWNgIGBuZXRfZGV2aWNlYCBpcyBldmVyIGNyZWF0ZWQuXG5cblNvLCByZXJlYWRpbmcgdGhlIGluc3RydWN0aW9ucywgdGhlIHBhdGNoIG1vZGlmaWVzIFwiQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLlwiIFRoaXMgc2VlbXMgdG8gZGlyZWN0bHkgYXBwbHkuIFNpbmNlIHRoZXJlJ3Mgbm8gd2F5IHRvIHJlYWNoIHRoZSBgc3RtbWFjYCBkcml2ZXIgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UsIGl0IGZhbGxzIHVuZGVyIHRoYXQgZXhjZXB0aW9uLiBObyBmdXJ0aGVyIGludmVzdGlnYXRpb24gaW50byByZWFjaGFibGUgY29kZSBpcyBuZWNlc3NhcnkuXG5cbkknbSBjb25maWRlbnQgd2UgY2FuIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjI5ODMsIk91dHB1dFRva2VucyI6NDMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTQ3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjQzLjQ5MzQ5MDI0N1oiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTA1OTc5NjQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInRjX3NldHVwX2R3bWFjNTEwX21xcHJpb1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYz0xMjcwPXN0YXRpYyB2b2lkIHN0bW1hY19yZXNldF90Y19tcXByaW8oc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYy0xMjg1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jOjEyODY6c3RhdGljIGludCB0Y19zZXR1cF9kd21hYzUxMF9tcXByaW8oc3RydWN0IHN0bW1hY19wcml2ICpwcml2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jLTEyODctXFx0XFx0XFx0XFx0ICAgIHN0cnVjdCB0Y19tcXByaW9fcW9wdF9vZmZsb2FkICptcXByaW8pXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYz0xMzY0PWNvbnN0IHN0cnVjdCBzdG1tYWNfdGNfb3BzIGR3bWFjNTEwX3RjX29wcyA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jLTEzNzEtXFx0LnF1ZXJ5X2NhcHMgPSB0Y19xdWVyeV9jYXBzLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY190Yy5jOjEzNzI6XFx0LnNldHVwX21xcHJpbyA9IHRjX3NldHVwX2R3bWFjNTEwX21xcHJpbyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfdGMuYy0xMzczLX07XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjQzLjU5OTQ3NTIxNloiLCJTZXEiOjE1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1NjU0NDk4MzQxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIEZ1enppbmcgU3VpdGFiaWxpdHkqKlxuXG5Pa2F5LCBzbyBoZXJlJ3Mgd2hhdCBJJ3ZlIGRldGVybWluZWQgYWZ0ZXIgcmV2aWV3aW5nIHRoZSBjb2RlLiBUaGUgYGR3bWFjNTEwX3RjX29wc2Agc3RydWN0dXJlIGlzIGJlaW5nIGFzc2lnbmVkIHRvIGBwcml2LVx1MDAzZWh3LVx1MDAzZXRjYCBkdXJpbmcgdGhlIGhhcmR3YXJlIHNldHVwIHBoYXNlIHdpdGhpbiB0aGUgc3RtbWFjIGRyaXZlci4gRnVydGhlciBpbnZlc3RpZ2F0aW9uIHJldmVhbGVkIHRoYXQgYHRjX3RhcHJpb19jb25maWd1cmVgIGlzIGNhbGxlZCB3aXRoaW4gYHRjX3NldHVwX3RhcHJpbygpYCBmdW5jdGlvbiwgYWxsIHdpdGhpbiB0aGUgYHN0bW1hY2AgZHJpdmVyIGRpcmVjdG9yeS4gVGhpcyBhbGwgcG9pbnRzIHRvIHRoaXMgZnVuY3Rpb25hbGl0eSBiZWluZyBpbnRyaW5zaWNhbGx5IHRpZWQgdG8gc3BlY2lmaWMgU3lub3BzeXMgRFdNQUMgaGFyZHdhcmUsIHNwZWNpZmljYWxseSB2ZXJzaW9uIDUuMTAgb3IgbGF0ZXIuIEl0J3Mgbm90IHNvbWV0aGluZyB0aGF0IGNhbiBiZSByZXBsaWNhdGVkIG9yIGV4ZXJjaXNlZCBpbiBhIHN0YW5kYXJkIHZpcnR1YWwgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIGEgR29vZ2xlIENvbXB1dGUgRW5naW5lIFZNLlxuXG5UaGVyZWZvcmUsIGFmdGVyIGNvbnNpZGVyaW5nIGFsbCBmYWN0b3JzLCB0aGlzIGlzIG5vdCBhIGNhbmRpZGF0ZSBmb3IgZnV6emluZy4gYFdvcnRoRnV6emluZ2AgaXMgZGVmaW5pdGVseSBgZmFsc2VgLlxuXG5Ob3csIEkgbmVlZCB0byBwcm92aWRlIGNsZWFyIHJlYXNvbmluZyBmb3IgdGhpcyBkZWNpc2lvbi4gSSB3aWxsIGFydGljdWxhdGUgdGhhdCB0aGUgY2hhbmdlcyByZXNpZGUgd2l0aGluIHRoZSBTVE1pY3JvZWxlY3Ryb25pY3MgLyBTeW5vcHN5cyBEZXNpZ25XYXJlIEV0aGVybmV0IE1BQyAoc3RtbWFjKSBkcml2ZXIsIGZvY3VzaW5nIG9uIHRoZSBUQyAvIFFvUyBvZmZsb2FkIGhhbmRsaW5nLCBhbmQgc3BlY2lmaWNhbGx5LCB0aGUgTVFQUklPIGFuZCBUQVBSSU8gcWRpc2NzIGluIGBzdG1tYWNfdGMuY2AuIEkgd2lsbCBlbXBoYXNpemUgdGhlIGhhcmR3YXJlIGRlcGVuZGVuY3ksIGhpZ2hsaWdodGluZyB0aGF0IGl0IHJlcXVpcmVzIHBoeXNpY2FsIERXTUFDIGhhcmR3YXJlLCB3aGljaCBpcyBub3QgZW11bGF0ZWQgaW4gdGhlIHZpcnR1YWxpemVkIHRlc3RpbmcgZW52aXJvbm1lbnRzLlxuXG5GaW5hbGx5LCBJJ2xsIHBhc3MgYW4gZW1wdHkgYXJyYXkgZm9yIGJvdGggYEZvY3VzU3ltYm9sc2AgYW5kIGBFbmFibGVDb25maWdzYCBzaW5jZSB0aGVyZSBhcmVuJ3QgYW55IHNwZWNpZmljIHN5bWJvbHMgb3IgY29uZmlndXJhdGlvbnMgcmVsZXZhbnQgdG8gdGhpcyBmdXp6aW5nIGFzc2Vzc21lbnQuXG5cblRpbWUgdG8gY2FsbCBgc2V0LXJlc3VsdHNgLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTE3NCwiT3V0cHV0VG9rZW5zIjoxMjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyODEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMjlUMDg6Mzk6NDkuMjUzOTc3Mjk3WiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzMxNjAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdHJhZmZpYyBjb250cm9sIG9mZmxvYWQgaGFuZGxpbmcgKE1RUFJJTyBhbmQgVEFQUklPIHFkaXNjIGNvbmZpZ3VyYXRpb24gYW5kIGNsZWFudXApIGluIHRoZSBTVE1pY3JvZWxlY3Ryb25pY3MgLyBTeW5vcHN5cyBEZXNpZ25XYXJlIEV0aGVybmV0IE1BQyAoc3RtbWFjKSBkcml2ZXIgKHN0bW1hY190Yy5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgc3BlY2lmaWMgU3lub3BzeXMgRFdNQUMgaGFyZHdhcmUvU29DIElQIGNvcmVzIHRoYXQgYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGlzIGNvZGUgdW5yZWFjaGFibGUgZm9yIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0cmFmZmljIGNvbnRyb2wgb2ZmbG9hZCBoYW5kbGluZyAoTVFQUklPIGFuZCBUQVBSSU8gcWRpc2MgY29uZmlndXJhdGlvbiBhbmQgY2xlYW51cCkgaW4gdGhlIFNUTWljcm9lbGVjdHJvbmljcyAvIFN5bm9wc3lzIERlc2lnbldhcmUgRXRoZXJuZXQgTUFDIChzdG1tYWMpIGRyaXZlciAoc3RtbWFjX3RjLmMpLiBUaGlzIGRyaXZlciByZXF1aXJlcyBzcGVjaWZpYyBTeW5vcHN5cyBEV01BQyBoYXJkd2FyZS9Tb0MgSVAgY29yZXMgdGhhdCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgbWFraW5nIHRoaXMgY29kZSB1bnJlYWNoYWJsZSBmb3IgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTI5VDA4OjM5OjQ5LjI1NDAxNTM3N1oiLCJTZXEiOjE3LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzEzMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflowsmnlm[1] Phase: Running StartedAt: 2026-08-29 08:40:00 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsmnlm[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-29 08:40:00 +0000 UTC FinishedAt: 2026-08-29 08:40:06 +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,}