Name: series-workflowz4m8f Phase: Failed StartedAt: 2026-09-10 04:18:06 +0000 UTC FinishedAt: 2026-09-10 04:38:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflowz4m8f[0] Phase: Succeeded StartedAt: 2026-09-10 04:18:06 +0000 UTC FinishedAt: 2026-09-10 04:38:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowz4m8f[0].run-triage Phase: Succeeded StartedAt: 2026-09-10 04:18:06 +0000 UTC FinishedAt: 2026-09-10 04:38:35 +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+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBNTUlPIHJlYWQgbWVtb3J5IGJhcnJpZXJzIChybWIpIGluIGdlbV90c3VfZ2V0X3RpbWUoKSB3aXRoaW4gdGhlIENhZGVuY2UgTUFDQi9HRU0gRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMpLiBUaGlzIGRyaXZlciByZXF1aXJlcyB2ZW5kb3Itc3BlY2lmaWMgQ2FkZW5jZSBNQUNCL0dFTSBoYXJkd2FyZSAocHJpbWFyaWx5IGZvdW5kIG9uIEF0bWVsL1hpbGlueCBTb0NzKSB0aGF0IGlzIG5vdCBhdmFpbGFibGUgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgYW1kNjQgdmlydHVhbGl6ZWQgZnV6emluZyBlbnZpcm9ubWVudHMgKFFFTVUvR0NFKSwgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTAgMDQ6Mzc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBiNGY3YjU3ZGU1YzBjMDFlZGM5ZTg4NWEyNWFlMWZkMTBjZmVjNWFjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBTZXAgMTAgMDQ6Mzc6MzggMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jXG5pbmRleCBlNTE5NWQ3ZGFjMWQ1Li40ZmIyODc2MDhkYzQ4IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmNcbkBAIC01MCw3ICYjNDM7NTAsMTUgQEAgc3RhdGljIGludCBnZW1fdHN1X2dldF90aW1lKHN0cnVjdCBwdHBfY2xvY2tfaW5mbyAqcHRwLCBzdHJ1Y3QgdGltZXNwZWM2NCAqdHMsXG4gXG4gXHRzcGluX2xvY2tfaXJxc2F2ZShcdTAwMjZicC1cdTAwM2V0c3VfY2xrX2xvY2ssIGZsYWdzKTtcbiBcdHB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpO1xuJiM0MztcdC8qIHB0cF9yZWFkX3N5c3RlbV9wcmV0cygpIHVzZXMgc21wX3JtYigpIGludGVybmFsbHksXG4mIzQzO1x0ICogd2hpY2ggZG9lcyBub3QgZ3VhcmFudGVlIG9yZGVyaW5nIGFnYWluc3QgTU1JTyByZWFkcy5cbiYjNDM7XHQgKi9cbiYjNDM7XHRybWIoKTtcbiBcdGZpcnN0ID0gZ2VtX3JlYWRsKGJwLCBUTik7XG4mIzQzO1x0LyogRW5zdXJlIHRoZSBQSEMgcmVhZCBjb21wbGV0ZXMgYmVmb3JlIHRha2luZ1xuJiM0MztcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cbiYjNDM7XHQgKi9cbiYjNDM7XHRybWIoKTtcbiBcdHB0cF9yZWFkX3N5c3RlbV9wb3N0dHMoc3RzKTtcbiBcdHNlY2wgPSBnZW1fcmVhZGwoYnAsIFRTTCk7XG4gXHRzZWNoID0gZ2VtX3JlYWRsKGJwLCBUU0gpO1xuQEAgLTYyLDcgJiM0Mzs3MCwxNSBAQCBzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cyxcbiBcdFx0ICogKGFzc3VtZSBhbGwgZG9uZSB3aXRoaW4gMXMpXG4gXHRcdCAqL1xuIFx0XHRwdHBfcmVhZF9zeXN0ZW1fcHJldHMoc3RzKTtcbiYjNDM7XHRcdC8qIHB0cF9yZWFkX3N5c3RlbV9wcmV0cygpIHVzZXMgc21wX3JtYigpIGludGVybmFsbHksXG4mIzQzO1x0XHQgKiB3aGljaCBkb2VzIG5vdCBndWFyYW50ZWUgb3JkZXJpbmcgYWdhaW5zdCBNTUlPIHJlYWRzLlxuJiM0MztcdFx0ICovXG4mIzQzO1x0XHRybWIoKTtcbiBcdFx0dHMtXHUwMDNldHZfbnNlYyA9IGdlbV9yZWFkbChicCwgVE4pO1xuJiM0MztcdFx0LyogRW5zdXJlIHRoZSBQSEMgcmVhZCBjb21wbGV0ZXMgYmVmb3JlIHRha2luZ1xuJiM0MztcdFx0ICogdGhlIHBvc3QgdGltZXN0YW1wLlxuJiM0MztcdFx0ICovXG4mIzQzO1x0XHRybWIoKTtcbiBcdFx0cHRwX3JlYWRfc3lzdGVtX3Bvc3R0cyhzdHMpO1xuIFx0XHRzZWNsID0gZ2VtX3JlYWRsKGJwLCBUU0wpO1xuIFx0XHRzZWNoID0gZ2VtX3JlYWRsKGJwLCBUU0gpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmNvcmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgTU1JTyByZWFkIG1lbW9yeSBiYXJyaWVycyAocm1iKSBpbiBnZW1fdHN1X2dldF90aW1lKCkgd2l0aGluIHRoZSBDYWRlbmNlIE1BQ0IvR0VNIEV0aGVybmV0IGRyaXZlciAoZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgdmVuZG9yLXNwZWNpZmljIENhZGVuY2UgTUFDQi9HRU0gaGFyZHdhcmUgKHByaW1hcmlseSBmb3VuZCBvbiBBdG1lbC9YaWxpbnggU29DcykgdGhhdCBpcyBub3QgYXZhaWxhYmxlIG9yIGVtdWxhdGVkIGluIHN0YW5kYXJkIGFtZDY0IHZpcnR1YWxpemVkIGZ1enppbmcgZW52aXJvbm1lbnRzIChRRU1VL0dDRSksIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lciBhbmQgc2VjdXJpdHkgZW5naW5lZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZXZhbHVhdGUgd2hldGhlciBpdCB3YXJyYW50cyBmdXp6aW5nIHdpdGggc3l6a2FsbGVyLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiBpbnRlcm5hbCBhc3N1bXB0aW9ucy4gWW91IG11c3QgYWN0aXZlbHkgdXNlIHlvdXIgY29kZSBhY2Nlc3MKdG9vbHMgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlLCBjYWxsZXJzLCBhbmQgc3Vycm91bmRpbmcgY29udGV4dC4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjEuIENPUkUgVFJJQUdFIFBISUxPU09QSFkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIGdvYWwgb2YgcGF0Y2ggZnV6emluZyBpcyB0byBkaXNjb3ZlciBjcmFzaGVzLCByZWdyZXNzaW9ucywgZXhwb3NlZCBsYXRlbnQgYnVncywKYW5kIG5ld2x5IHRyaWdnZXJlZCBhc3NlcnRpb25zIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIHNlcmllcy4KCi0gUkVBQ0hBQklMSVRZIElTIFRIRSBQUklNQVJZIEdBVEU6CiAgRnV6emluZyBjYW4gb25seSBkaXNjb3ZlciBidWdzIGluIGNvZGUgdGhhdCBjYW4gYWN0dWFsbHkgZXhlY3V0ZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZAogIGVudmlyb25tZW50cyAoR0NFIG9yIFFFTVUsIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzIGxpa2UgVVNCIGdhZGdldHMsIG5ldGRldiwgdHVuL3RhcCkuCiAgSWYgdGhlIG1vZGlmaWVkIGNvZGUgaXMgc3RydWN0dXJhbGx5IHVucmVhY2hhYmxlIChzZWUgU2VjdGlvbiAyKSwgaXQgTVVTVCBOT1QgYmUgZnV6emVkLAogIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBhZGRzIGFzc2VydGlvbnMgb3IgY29tcGxleCBsb2dpYy4KCi0gRE8gTk9UIEJMSU5ETFkgVFJVU1QgJiMzNDtOTyBGVU5DVElPTkFMIENIQU5HRSYjMzQ7IChORkNJKSBPUiAmIzM0O1JFRkFDVE9SSU5HJiMzNDsgQ0xBSU1TOgogIFBhdGNoIGF1dGhvcnMgcm91dGluZWx5IGxhYmVsIGNoYW5nZXMgYXMgJiMzNDtjbGVhbnVwcyYjMzQ7LCAmIzM0O3JlZmFjdG9yaW5ncyYjMzQ7LCBvciBzdGF0ZQogICYjMzQ7Tm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQmIzM0Oy4gRG8gTk9UIHRha2UgdGhlc2UgY2xhaW1zIGF0IGZhY2UgdmFsdWUuCiAgQ29kZSByZWZhY3RvcmluZ3MgdGhhdCByZWFycmFuZ2UgbG9naWMsIGludHJvZHVjZSBoZWxwZXIgZnVuY3Rpb25zLCBvciBhbHRlciBzdGF0ZSBtYW5hZ2VtZW50CiAgaW4gY29yZSBzdWJzeXN0ZW1zIGZyZXF1ZW50bHkgaW50cm9kdWNlIHN1YnRsZSBzZW1hbnRpYyBzaGlmdHMgb3IgdW5jb3ZlciBsYXRlbnQga2VybmVsIGJ1Z3MuCiAgSWYgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSBpcyBtb2RpZmllZCBvciByZWZhY3RvcmVkLCBpdCBNVVNUIGJlIGZ1enplZC4KCi0gTkVXIE9SIE1PRElGSUVEIEFTU0VSVElPTlMgSU4gUkVBQ0hBQkxFIENPREUgTVVTVCBCRSBGVVpaRUQ6CiAgV2hlbiBhIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXMgcnVudGltZSBjaGVja3Mgb3IgYXNzZXJ0aW9ucyAoZS5nLiwgV0FSTl9PTiosIFZNX1dBUk5fT04qLAogIEJVR19PTiosIGxvY2tkZXBfYXNzZXJ0KikgaW4gcmVhY2hhYmxlIGNvZGUgcGF0aHMsIGl0IGVuZm9yY2VzIG5ldyBvciBzdHJpY3RlciBpbnZhcmlhbnRzLgogIEV2ZW4gaWYgdGhlIGF1dGhvciBiZWxpZXZlcyB0aGUgaW52YXJpYW50IGFsd2F5cyBob2xkcywgZnV6emluZyBpcyBlc3NlbnRpYWwgdG8gdmVyaWZ5IHdoZXRoZXIKICBhbiB1bnVzdWFsIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMgY2FuIHZpb2xhdGUgaXQuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoyLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9ZmFsc2UgKE5FR0FUSVZFIENSSVRFUklBKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIE9OTFkgSUYgYWxsIG1vZGlmaWVkIGNvZGUgZmFsbHMgc3RyaWN0bHkgaW50byBvbmUgb3IgbW9yZSBvZiB0aGVzZSBjYXRlZ29yaWVzOgoKLSBOb24ta2VybmVsIGFuZCBub24tZXhlY3V0YWJsZSBjaGFuZ2VzOgogICogTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgY29tbWVudHMsIG9yIHNwZWxsaW5nIGZpeGVzLgogICogVXNlci1zcGFjZSBkaXJlY3Rvcmllcywgc2VsZi10ZXN0cywgc2FtcGxlcywgb3Igc2NyaXB0cyAoZS5nLiwgdG9vbHMvLCBzYW1wbGVzLywgc2NyaXB0cy8sIHVzci8pCiAgICB0aGF0IGRvIG5vdCBhZmZlY3QgdGhlIGNvbXBpbGVkIGtlcm5lbCBpbWFnZSAodm1saW51eCkgb3Iga2VybmVsIG1vZHVsZXMuCiAgKiBQdXJlbHkgZGVjb3JhdGl2ZSBsb2dnaW5nIChlLmcuLCBtZXNzYWdlIHN0cmluZ3MgaW4gcHJfZXJyLCBwcmludGssIGRldl9pbmZvKSBvciB0cmFjZXBvaW50cwogICAgdGhhdCBkbyBub3QgYWx0ZXIgY29udHJvbCBmbG93IG9yIGRhdGEgc3RydWN0dXJlcy4KICAqIEJ1aWxkIHN5c3RlbSBvciBLY29uZmlnIGNoYW5nZXMgdGhhdCBkbyBub3QgYWx0ZXIgY29tcGlsZWQgQyBsb2dpYy4KLSBTdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmU6CiAgKiBWZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgICBpb25pYywgYW1kZ3B1KSByZXF1aXJpbmcgcGh5c2ljYWwgQVNJQy9QQ0llIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRoczoKICAqIERyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKC5yZW1vdmUsIC5zaHV0ZG93biwgcGNpX3VucmVnaXN0ZXJfZHJpdmVyKSBleGVjdXRlZCBvbmx5IGR1cmluZwogICAgcGh5c2ljYWwgUENJIGhvdC11bnBsdWcgb3IgbWFudWFsIHN5c2ZzIGRyaXZlciB1bmJpbmRpbmcuCiAgKiBDb2RlIHBhdGhzIGV4Y2x1c2l2ZSB0byBhcmNoaXRlY3R1cmVzIG90aGVyIHRoYW4gdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQozLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9dHJ1ZSAoUE9TSVRJVkUgQ1JJVEVSSUEpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZSB3aGVuZXZlciB0aGUgcGF0Y2ggdG91Y2hlcyByZWFjaGFibGUgZXhlY3V0YWJsZSBjb2RlLCBpbmNsdWRpbmc6Ci0gQ29yZSBTdWJzeXN0ZW1zOgogICogQW55IGxvZ2ljIG1vZGlmaWNhdGlvbnMgaW4gbWVtb3J5IG1hbmFnZW1lbnQgKG1tLyksIHN5bmNocm9uaXphdGlvbi9sb2NraW5nIChrZXJuZWwvbG9ja2luZy8pLAogICAgQlBGLCBzY2hlZHVsZXIsIGNvcmUgbmV0d29ya2luZywgVkZTLCBvciBzeXNjYWxsIGhhbmRsaW5nLgotIFJlZmFjdG9yaW5ncyBhbmQgQ29kZSBDbGVhbnVwczoKICAqIEFueSByZXN0cnVjdHVyaW5nIG9mIHJlYWNoYWJsZSBkYXRhIHN0cnVjdHVyZXMsIGhlbHBlciBhYnN0cmFjdGlvbnMsIG9yIGFsZ29yaXRobSBmbG93cy4KLSBSdW50aW1lIEFzc2VydGlvbnMgYW5kIERlZmVuc2l2ZSBDaGVja3M6CiAgKiBBbnkgaW50cm9kdWN0aW9uIG9yIGFsdGVyYXRpb24gb2YgYXNzZXJ0aW9ucyAoV0FSTl9PTiosIFZNX1dBUk5fT04qLCBCVUdfT04qLCBldGMuKSBpbiByZWFjaGFibGUgcGF0aHMuCi0gUmVhY2hhYmxlIERyaXZlcnMgYW5kIFByb3RvY29sczoKICAqIERyaXZlcnMgYWNjZXNzaWJsZSB2aWEgdmlydHVhbCBidXNlcyAodmlydGlvLCBVU0IgZ2FkZ2V0LCBsb29wYmFjaywgbmV0bGluaywgYmluZGVyLCBzb2NrZXRzLCBldGMuKS4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjQuIEVYVFJBQ1RJTkcgRm9jdXNTeW1ib2xzIChQUkVWRU5USU5HIERJTFVUSU9OKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpXaGVuIFdvcnRoRnV6emluZz10cnVlLCB5b3UgbXVzdCBleHRyYWN0IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgaW50byBGb2N1c1N5bWJvbHMgdG8gZ3VpZGUgdGhlIGZ1enplcjoKCi0gQVZPSUQgVUJJUVVJVE9VUyBMSUZFQ1lDTEUgSE9ULVBBVEhTOgogIERvIE5PVCBsaXN0IGdlbmVyaWMsIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhbGxlZCBieSBhbG1vc3QgZXZlcnkgcHJvZ3JhbSBpbiB0aGUgY29ycHVzCiAgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvOiBnZW5lcmFsIG1lbW9yeSBhbGxvY2F0b3JzIGFuZCBkZWFsbG9jYXRvcnMsIHBhZ2UgZmF1bHQKICBhbmQgdHJhcCBoYW5kbGVycywgb3IgY29yZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlczsgdGhpcyBpcyBub3QgYW4gZXhoYXVzdGl2ZSBsaXN0KS4KICBMaXN0aW5nIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhdXNlcyB0aGUgZnV6emVyIHRvIGNsYXNzaWZ5IHRob3VzYW5kcyBvZiB1bnJlbGF0ZWQgdGVzdHMgYXMgJiMzNDtmb2N1c2VkJiMzNDssCiAgd2hpY2ggc2V2ZXJlbHkgZGlsdXRlcyBmdXp6aW5nIGVmZm9ydCBhd2F5IGZyb20gdGhlIGFjdHVhbCBjaGFuZ2VzLgoKLSBUQVJHRVQgU1BFQ0lGSUMgRkVBVFVSRSBMT0dJQyBBTkQgRU5UUllQT0lOVFM6CiAgTGlzdCBmdW5jdGlvbnMgdGhhdCBzcGVjaWZpY2FsbHkgaW1wbGVtZW50IHRoZSBsb2dpYyBiZWluZyBhZGRlZCBvciBhbHRlcmVkLCBvciBkaXJlY3QgQVBJIGVudHJ5cG9pbnRzCiAgZm9yIHRoZSBzdWJzeXN0ZW0gZmVhdHVyZSB1bmRlciByZXZpZXcuCgotIEhBTkRMSU5HIFNUQVRJQyBJTkxJTkUgRlVOQ1RJT05TIElOIEhFQURFUlMgKC5oKToKICBDb21waWxlci1pbmxpbmVkIHN0YXRpYyBmdW5jdGlvbnMgKHN1Y2ggYXMgc3RhdGljIGlubGluZXMgaW4gbW0vKi5oIG9yIGluY2x1ZGUvbGludXgvKi5oKSBsYWNrCiAgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcyBpbiB2bWxpbnV4IGFuZCBjYW5ub3QgYmUgdGFyZ2V0ZWQgZGlyZWN0bHkgYnkgc3ltYm9sIGNvdmVyYWdlIGZpbHRlcnMuCiAgSWYgdGhlIGNoYW5nZXMgYXJlIHByaW1hcmlseSBpbiBzdGF0aWMgaW5saW5lIGhlbHBlcnMsIGlkZW50aWZ5IG5vbi1zdGF0aWMsIGZlYXR1cmUtc3BlY2lmaWMgY2FsbGVyCiAgZnVuY3Rpb25zIGluIC5jIGZpbGVzIHRoYXQgZXhlcmNpc2UgdGhlbSAoYXZvaWRpbmcgdWJpcXVpdG91cyBsaWZlY3ljbGUgd3JhcHBlcnMpLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KNS4gSURFTlRJRllJTkcgRW5hYmxlQ29uZmlncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IGNvbXBpbGUgYW5kIHJlYWNoIHRoZSBtb2RpZmllZCBjb2RlOgotIEluc3BlY3QgS2NvbmZpZyBmaWxlcyBhbmQgI2lmZGVmIGd1YXJkczsgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCi0gQ2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzIG5lZWRlZC4KLSBTdHJpcCBhbnkgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+VGFyZ2V0IGFyY2hpdGVjdHVyZTogYW1kNjQKCkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgYjRmN2I1N2RlNWMwYzAxZWRjOWU4ODVhMjVhZTFmZDEwY2ZlYzVhYwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUaHUgU2VwIDEwIDA0OjM3OjM4IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jCmluZGV4IGU1MTk1ZDdkYWMxZDUuLjRmYjI4NzYwOGRjNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMKQEAgLTUwLDcgJiM0Mzs1MCwxNSBAQCBzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cywKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZhbXA7YnAtJmd0O3RzdV9jbGtfbG9jaywgZmxhZ3MpOwogCXB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpOwomIzQzOwkvKiBwdHBfcmVhZF9zeXN0ZW1fcHJldHMoKSB1c2VzIHNtcF9ybWIoKSBpbnRlcm5hbGx5LAomIzQzOwkgKiB3aGljaCBkb2VzIG5vdCBndWFyYW50ZWUgb3JkZXJpbmcgYWdhaW5zdCBNTUlPIHJlYWRzLgomIzQzOwkgKi8KJiM0MzsJcm1iKCk7CiAJZmlyc3QgPSBnZW1fcmVhZGwoYnAsIFROKTsKJiM0MzsJLyogRW5zdXJlIHRoZSBQSEMgcmVhZCBjb21wbGV0ZXMgYmVmb3JlIHRha2luZwomIzQzOwkgKiB0aGUgcG9zdCB0aW1lc3RhbXAuCiYjNDM7CSAqLwomIzQzOwlybWIoKTsKIAlwdHBfcmVhZF9zeXN0ZW1fcG9zdHRzKHN0cyk7CiAJc2VjbCA9IGdlbV9yZWFkbChicCwgVFNMKTsKIAlzZWNoID0gZ2VtX3JlYWRsKGJwLCBUU0gpOwpAQCAtNjIsNyAmIzQzOzcwLDE1IEBAIHN0YXRpYyBpbnQgZ2VtX3RzdV9nZXRfdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgc3RydWN0IHRpbWVzcGVjNjQgKnRzLAogCQkgKiAoYXNzdW1lIGFsbCBkb25lIHdpdGhpbiAxcykKIAkJICovCiAJCXB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpOwomIzQzOwkJLyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSwKJiM0MzsJCSAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuCiYjNDM7CQkgKi8KJiM0MzsJCXJtYigpOwogCQl0cy0mZ3Q7dHZfbnNlYyA9IGdlbV9yZWFkbChicCwgVE4pOwomIzQzOwkJLyogRW5zdXJlIHRoZSBQSEMgcmVhZCBjb21wbGV0ZXMgYmVmb3JlIHRha2luZwomIzQzOwkJICogdGhlIHBvc3QgdGltZXN0YW1wLgomIzQzOwkJICovCiYjNDM7CQlybWIoKTsKIAkJcHRwX3JlYWRfc3lzdGVtX3Bvc3R0cyhzdHMpOwogCQlzZWNsID0gZ2VtX3JlYWRsKGJwLCBUU0wpOwogCQlzZWNoID0gZ2VtX3JlYWRsKGJwLCBUU0gpOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMCAwNDozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzMjEzCgkJCQkJCQlvdXRwdXQ6IDMyCgkJCQkJCQl0aG91Z2h0czogNzUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqSW5pdGlhbCBBc3Nlc3NtZW50IG9mIHRoZSBDb2RlIENoYW5nZSoqCgpPa2F5LCBzbyB0aGUgcGF0Y2ggaXMgdG91Y2hpbmcgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuY2AuIE15IGZpcnN0IG1vdmUgaXMgdG8gZGl2ZSBpbnRvIHRoYXQgZHJpdmVyIGNvZGUgYW5kIHVuZGVyc3RhbmQgaXRzIGNvbm5lY3Rpb24gdG8gdGhlIGhhcmR3YXJlIGFuZCBpdHMgb3ZlcmFsbCBmdW5jdGlvbmFsaXR5LCBlc3BlY2lhbGx5IHRoZSBQVFAgYXNwZWN0LiBHaXZlbiB0aGUgY29udGV4dCBvZiBhIGZ1enppbmcgc2V0dXAsIG15IGltbWVkaWF0ZSBjb25jZXJuIGlzIHdoZXRoZXIgdGhpcyBzcGVjaWZpYyBDYWRlbmNlIE1BQ0IgY29udHJvbGxlciBpcyBldmVuIHJlYWNoYWJsZSB3aXRoaW4gYSBzdGFuZGFyZCBRRU1VIGFtZDY0IGZ1enppbmcgZW52aXJvbm1lbnQuIFRoYXQmIzM5O3MgYSBjcnVjaWFsIGZpcnN0IHN0ZXA7IGlmIGl0JiMzOTtzIG5vdCBwcmVzZW50LCB0aGVuIHRoaXMgd2hvbGUgdGhpbmcgaXMgYSBkZWFkIGVuZCBmb3IgZnV6emluZyBwdXJwb3Nlcy4gSSBuZWVkIHRvIHF1aWNrbHkgZXN0YWJsaXNoIGl0cyBwcmVzZW5jZSBvciBhYnNlbmNlIHdpdGhpbiB0aGF0IHNwZWNpZmljIHRlc3QgZW52aXJvbm1lbnQuIEkmIzM5O2xsIG5lZWQgdG8gY2hlY2sgdGhlIEtjb25maWcsIHNlZSBpZiB0aGVyZSYjMzk7cyBhbnkgc3BlY2lmaWMgaGFyZHdhcmUgY29uZmlndXJhdGlvbiBuZWVkZWQsIG9yIGlmIGl0JiMzOTtzIGRlcGVuZGVudCBvbiBhIHBhcnRpY3VsYXIgbWFjaGluZSBtb2RlbC4gSSYjMzk7bGwgYmUgbG9va2luZyBmb3IgY2x1ZXMgaW4gdGhlIEtjb25maWcgdG8gc2VlIHdoYXQga2luZCBvZiBoYXJkd2FyZSBkZXBlbmRlbmN5IHdlIGFyZSB0YWxraW5nIGFib3V0IGhlcmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTAgMDQ6Mzc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7TUFDQiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiAxNzEzIGxpbmVzLlxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxuXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc9MjA9aWYgTkVUX1ZFTkRPUl9DQURFTkNFXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctMjEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6MjI6Y29uZmlnIE1BQ0JcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzoyMzpcdHRyaXN0YXRlIFwmIzM0O0NhZGVuY2UgTUFDQi9HRU0gc3VwcG9ydFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTI0LVx0ZGVwZW5kcyBvbiBIQVNfRE1BIFx1MDAyNlx1MDAyNiBDT01NT05fQ0xLXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTI4LVx0aGVscFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnOjI5Olx0ICBUaGUgQ2FkZW5jZSBNQUNCIGV0aGVybmV0IGludGVyZmFjZSBpcyBmb3VuZCBvbiBtYW55IEF0bWVsIEFUMzIgYW5kXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctMzAtXHQgIEFUOTEgcGFydHMuICBUaGlzIGRyaXZlciBhbHNvIHN1cHBvcnRzIHRoZSBDYWRlbmNlIEdFTSAoR2lnYWJpdFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTMxLVx0ICBFdGhlcm5ldCBNQUMgZm91bmQgaW4gc29tZSBBUk0gU29DIGRldmljZXMpLiAgU2F5IFkgdG8gaW5jbHVkZVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnOjMyOlx0ICBzdXBwb3J0IGZvciB0aGUgTUFDQi9HRU0gY2hpcC5cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy0zMy1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctMzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6Mzc6Y29uZmlnIE1BQ0JfVVNFX0hXU1RBTVBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy0zOC1cdGJvb2wgXCYjMzQ7VXNlIElFRUUgMTU4OCBod3N0YW1wXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6Mzk6XHRkZXBlbmRzIG9uIE1BQ0JcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy00MC1cdGRlcGVuZHMgb24gUFRQXzE1ODhfQ0xPQ0tcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctNDItXHRoZWxwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6NDM6XHQgIEVuYWJsZSBJRUVFIDE1ODggUHJlY2lzaW9uIFRpbWUgUHJvdG9jb2wgKFBUUCkgc3VwcG9ydCBmb3IgTUFDQi5cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy00NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzo0NTpjb25maWcgTUFDQl9QQ0lcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzo0NjpcdHRyaXN0YXRlIFwmIzM0O0NhZGVuY2UgUENJIE1BQ0IvR0VNIHN1cHBvcnRcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzo0NzpcdGRlcGVuZHMgb24gTUFDQiBcdTAwMjZcdTAwMjYgUENJXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctNDgtXHRoZWxwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6NDk6XHQgIFRoaXMgaXMgUENJIHdyYXBwZXIgZm9yIE1BQ0IgZHJpdmVyLlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTUwLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvTWFrZWZpbGU9NT1tYWNiLXlcdDo9IG1hY2JfbWFpbi5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlLTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlOjc6aWZlcSAoJChDT05GSUdfTUFDQl9VU0VfSFdTVEFNUCkseSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvTWFrZWZpbGUtOC1tYWNiLXlcdCYjNDM7PSBtYWNiX3B0cC5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlPTk9ZW5kaWZcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvTWFrZWZpbGUtMTAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlOjExOm9iai0kKENPTkZJR19NQUNCKSAmIzQzOz0gbWFjYi5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlOjEyOm9iai0kKENPTkZJR19NQUNCX1BDSSkgJiM0Mzs9IG1hY2JfcGNpLm9cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yLS8qXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOiAqIEF0bWVsIE1BQ0IgRXRoZXJuZXQgQ29udHJvbGxlciBkcml2ZXJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQtICpcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC02LSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzojaWZuZGVmIF9NQUNCX0hcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg6I2RlZmluZSBfTUFDQl9IXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC05LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTE3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MTg6I2RlZmluZSBNQUNCX0dSRUdTX05CUiAxNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MTk6I2RlZmluZSBNQUNCX0dSRUdTX1ZFUlNJT04gMlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjA6I2RlZmluZSBNQUNCX01BWF9RVUVVRVMgOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMjEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyMjovKiBNQUNCIHJlZ2lzdGVyIG9mZnNldHMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzOiNkZWZpbmUgTUFDQl9OQ1JcdFx0MHgwMDAwIC8qIE5ldHdvcmsgQ29udHJvbCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQ6I2RlZmluZSBNQUNCX05DRkdSXHRcdDB4MDAwNCAvKiBOZXR3b3JrIENvbmZpZyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU6I2RlZmluZSBNQUNCX05TUlx0XHQweDAwMDggLyogTmV0d29yayBTdGF0dXMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2OiNkZWZpbmUgTUFDQl9UQVJcdFx0MHgwMDBjIC8qIEFUOTFSTTkyMDAgb25seSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjc6I2RlZmluZSBNQUNCX1RDUlx0XHQweDAwMTAgLyogQVQ5MVJNOTIwMCBvbmx5ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODojZGVmaW5lIE1BQ0JfVFNSXHRcdDB4MDAxNCAvKiBUcmFuc21pdCBTdGF0dXMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5OiNkZWZpbmUgTUFDQl9SQlFQXHRcdDB4MDAxOCAvKiBSWCBRIEJhc2UgQWRkcmVzcyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzA6I2RlZmluZSBNQUNCX1RCUVBcdFx0MHgwMDFjIC8qIFRYIFEgQmFzZSBBZGRyZXNzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozMTojZGVmaW5lIE1BQ0JfUlNSXHRcdDB4MDAyMCAvKiBSZWNlaXZlIFN0YXR1cyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzI6I2RlZmluZSBNQUNCX0lTUlx0XHQweDAwMjQgLyogSW50ZXJydXB0IFN0YXR1cyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzM6I2RlZmluZSBNQUNCX0lFUlx0XHQweDAwMjggLyogSW50ZXJydXB0IEVuYWJsZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzQ6I2RlZmluZSBNQUNCX0lEUlx0XHQweDAwMmMgLyogSW50ZXJydXB0IERpc2FibGUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM1OiNkZWZpbmUgTUFDQl9JTVJcdFx0MHgwMDMwIC8qIEludGVycnVwdCBNYXNrICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjojZGVmaW5lIE1BQ0JfTUFOXHRcdDB4MDAzNCAvKiBQSFkgTWFpbnRlbmFuY2UgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3OiNkZWZpbmUgTUFDQl9QVFJcdFx0MHgwMDM4XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODojZGVmaW5lIE1BQ0JfUEZSXHRcdDB4MDAzY1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk6I2RlZmluZSBNQUNCX0ZUT1x0XHQweDAwNDBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwOiNkZWZpbmUgTUFDQl9TQ0ZcdFx0MHgwMDQ0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTojZGVmaW5lIE1BQ0JfTUNGXHRcdDB4MDA0OFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI6I2RlZmluZSBNQUNCX0ZST1x0XHQweDAwNGNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzOiNkZWZpbmUgTUFDQl9GQ1NFXHRcdDB4MDA1MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQ6I2RlZmluZSBNQUNCX0FMRVx0XHQweDAwNTRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1OiNkZWZpbmUgTUFDQl9EVEZcdFx0MHgwMDU4XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjojZGVmaW5lIE1BQ0JfTENPTFx0XHQweDAwNWNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3OiNkZWZpbmUgTUFDQl9FWENPTFx0XHQweDAwNjBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4OiNkZWZpbmUgTUFDQl9UVU5EXHRcdDB4MDA2NFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk6I2RlZmluZSBNQUNCX0NTRVx0XHQweDAwNjhcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwOiNkZWZpbmUgTUFDQl9SUkVcdFx0MHgwMDZjXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MTojZGVmaW5lIE1BQ0JfUk9WUlx0XHQweDAwNzBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUyOiNkZWZpbmUgTUFDQl9SU0VcdFx0MHgwMDc0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MzojZGVmaW5lIE1BQ0JfRUxFXHRcdDB4MDA3OFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NTQ6I2RlZmluZSBNQUNCX1JKQVx0XHQweDAwN2NcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjU1OiNkZWZpbmUgTUFDQl9VU0ZcdFx0MHgwMDgwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1NjojZGVmaW5lIE1BQ0JfU1RFXHRcdDB4MDA4NFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NTc6I2RlZmluZSBNQUNCX1JMRVx0XHQweDAwODhcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjU4OiNkZWZpbmUgTUFDQl9UUEZcdFx0MHgwMDhjXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1OTojZGVmaW5lIE1BQ0JfSFJCXHRcdDB4MDA5MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjA6I2RlZmluZSBNQUNCX0hSVFx0XHQweDAwOTRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjYxOiNkZWZpbmUgTUFDQl9TQTFCXHRcdDB4MDA5OFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjI6I2RlZmluZSBNQUNCX1NBMVRcdFx0MHgwMDljXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2MzojZGVmaW5lIE1BQ0JfU0EyQlx0XHQweDAwYTBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY0OiNkZWZpbmUgTUFDQl9TQTJUXHRcdDB4MDBhNFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjU6I2RlZmluZSBNQUNCX1NBM0JcdFx0MHgwMGE4XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2NjojZGVmaW5lIE1BQ0JfU0EzVFx0XHQweDAwYWNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY3OiNkZWZpbmUgTUFDQl9TQTRCXHRcdDB4MDBiMFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Njg6I2RlZmluZSBNQUNCX1NBNFRcdFx0MHgwMGI0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2OTojZGVmaW5lIE1BQ0JfVElEXHRcdDB4MDBiOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzA6I2RlZmluZSBNQUNCX1RQUVx0XHQweDAwYmNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjcxOiNkZWZpbmUgTUFDQl9VU1JJT1x0XHQweDAwYzBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjcyOiNkZWZpbmUgTUFDQl9XT0xcdFx0MHgwMGM0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3MzojZGVmaW5lIE1BQ0JfTUlEXHRcdDB4MDBmY1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ6I2RlZmluZSBNQUNCX1RCUVBIXHRcdDB4MDRDOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzU6I2RlZmluZSBNQUNCX1JCUVBIXHRcdDB4MDRENFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMjMwLS8qIEJpdGZpZWxkcyBpbiBOQ1IgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzMTojZGVmaW5lIE1BQ0JfTEJfT0ZGU0VUXHRcdDAgLyogcmVzZXJ2ZWQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzMjojZGVmaW5lIE1BQ0JfTEJfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyMzM6I2RlZmluZSBNQUNCX0xMQl9PRkZTRVRcdFx0MSAvKiBMb29wIGJhY2sgbG9jYWwgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzNDojZGVmaW5lIE1BQ0JfTExCX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM1OiNkZWZpbmUgTUFDQl9SRV9PRkZTRVRcdFx0MiAvKiBSZWNlaXZlIGVuYWJsZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM2OiNkZWZpbmUgTUFDQl9SRV9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzNzojZGVmaW5lIE1BQ0JfVEVfT0ZGU0VUXHRcdDMgLyogVHJhbnNtaXQgZW5hYmxlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyMzg6I2RlZmluZSBNQUNCX1RFX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM5OiNkZWZpbmUgTUFDQl9NUEVfT0ZGU0VUXHRcdDQgLyogTWFuYWdlbWVudCBwb3J0IGVuYWJsZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQwOiNkZWZpbmUgTUFDQl9NUEVfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNDE6I2RlZmluZSBNQUNCX0NMUlNUQVRfT0ZGU0VUXHQ1IC8qIENsZWFyIHN0YXRzIHJlZ3MgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0MjojZGVmaW5lIE1BQ0JfQ0xSU1RBVF9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNDM6I2RlZmluZSBNQUNCX0lOQ1NUQVRfT0ZGU0VUXHQ2IC8qIEluY3JlbWVudGFsIHN0YXRzIHJlZ3MgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NDojZGVmaW5lIE1BQ0JfSU5DU1RBVF9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNDU6I2RlZmluZSBNQUNCX1dFU1RBVF9PRkZTRVRcdDcgLyogV3JpdGUgZW5hYmxlIHN0YXRzIHJlZ3MgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NjojZGVmaW5lIE1BQ0JfV0VTVEFUX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NzojZGVmaW5lIE1BQ0JfQlBfT0ZGU0VUXHRcdDggLyogQmFjayBwcmVzc3VyZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQ4OiNkZWZpbmUgTUFDQl9CUF9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0OTojZGVmaW5lIE1BQ0JfVFNUQVJUX09GRlNFVFx0OSAvKiBTdGFydCB0cmFuc21pc3Npb24gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1MDojZGVmaW5lIE1BQ0JfVFNUQVJUX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1MTojZGVmaW5lIE1BQ0JfVEhBTFRfT0ZGU0VUXHQxMCAvKiBUcmFuc21pdCBoYWx0ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTI6I2RlZmluZSBNQUNCX1RIQUxUX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjUzOiNkZWZpbmUgTUFDQl9OQ1JfVFBGX09GRlNFVFx0MTEgLyogVHJhbnNtaXQgcGF1c2UgZnJhbWUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1NDojZGVmaW5lIE1BQ0JfTkNSX1RQRl9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTU6I2RlZmluZSBNQUNCX1RaUV9PRkZTRVRcdFx0MTIgLyogVHJhbnNtaXQgemVybyBxdWFudHVtIHBhdXNlIGZyYW1lICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTY6I2RlZmluZSBNQUNCX1RaUV9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1NzojZGVmaW5lIE1BQ0JfU1JUU01fT0ZGU0VUXHQxNSAvKiBTdG9yZSBSZWNlaXZlIFRpbWVzdGFtcCB0byBNZW1vcnkgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1ODojZGVmaW5lIE1BQ0JfUFRQVU5JX09GRlNFVFx0MjAgLyogUFRQIFVuaWNhc3QgcGFja2V0IGVuYWJsZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU5OiNkZWZpbmUgTUFDQl9QVFBVTklfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjYwOiNkZWZpbmUgTUFDQl9PU1NNT0RFX09GRlNFVFx0MjQgLyogRW5hYmxlIE9uZSBTdGVwIFN5bmNocm8gTW9kZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjYxOiNkZWZpbmUgTUFDQl9PU1NNT0RFX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2MjojZGVmaW5lIE1BQ0JfTUlJT05SR01JSV9PRkZTRVRcdDI4IC8qIE1JSSBVc2FnZSBvbiBSR01JSSBJbnRlcmZhY2UgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2MzojZGVmaW5lIE1BQ0JfTUlJT05SR01JSV9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yNjQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yNjUtLyogQml0ZmllbGRzIGluIE5DRkdSICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNjY6I2RlZmluZSBNQUNCX1NQRF9PRkZTRVRcdFx0MCAvKiBTcGVlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjY3OiNkZWZpbmUgTUFDQl9TUERfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNjg6I2RlZmluZSBNQUNCX0ZEX09GRlNFVFx0XHQxIC8qIEZ1bGwgZHVwbGV4ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNjk6I2RlZmluZSBNQUNCX0ZEX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjcwOiNkZWZpbmUgTUFDQl9CSVRfUkFURV9PRkZTRVRcdDIgLyogRGlzY2FyZCBub24tVkxBTiBmcmFtZXMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3MTojZGVmaW5lIE1BQ0JfQklUX1JBVEVfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjcyOiNkZWZpbmUgTUFDQl9KRlJBTUVfT0ZGU0VUXHQzIC8qIHJlc2VydmVkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzM6I2RlZmluZSBNQUNCX0pGUkFNRV9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzQ6I2RlZmluZSBNQUNCX0NBRl9PRkZTRVRcdFx0NCAvKiBDb3B5IGFsbCBmcmFtZXMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3NTojZGVmaW5lIE1BQ0JfQ0FGX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjc2OiNkZWZpbmUgTUFDQl9OQkNfT0ZGU0VUXHRcdDUgLyogTm8gYnJvYWRjYXN0ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzc6I2RlZmluZSBNQUNCX05CQ19TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3ODojZGVmaW5lIE1BQ0JfTkNGR1JfTVRJX09GRlNFVFx0NiAvKiBNdWx0aWNhc3QgaGFzaCBlbmFibGUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3OTojZGVmaW5lIE1BQ0JfTkNGR1JfTVRJX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4MDojZGVmaW5lIE1BQ0JfVU5JX09GRlNFVFx0XHQ3IC8qIFVuaWNhc3QgaGFzaCBlbmFibGUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4MTojZGVmaW5lIE1BQ0JfVU5JX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjgyOiNkZWZpbmUgTUFDQl9CSUdfT0ZGU0VUXHRcdDggLyogUmVjZWl2ZSAxNTM2IGJ5dGUgZnJhbWVzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODM6I2RlZmluZSBNQUNCX0JJR19TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4NDojZGVmaW5lIE1BQ0JfRUFFX09GRlNFVFx0XHQ5IC8qIEV4dGVybmFsIGFkZHJlc3MgbWF0Y2ggZW5hYmxlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODU6I2RlZmluZSBNQUNCX0VBRV9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4NjojZGVmaW5lIE1BQ0JfQ0xLX09GRlNFVFx0XHQxMFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjg3OiNkZWZpbmUgTUFDQl9DTEtfU0laRVx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODg6I2RlZmluZSBNQUNCX1JUWV9PRkZTRVRcdFx0MTIgLyogUmV0cnkgdGVzdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjg5OiNkZWZpbmUgTUFDQl9SVFlfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTA6I2RlZmluZSBNQUNCX1BBRV9PRkZTRVRcdFx0MTMgLyogUGF1c2UgZW5hYmxlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTE6I2RlZmluZSBNQUNCX1BBRV9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5MjojZGVmaW5lIE1BQ0JfUk05MjAwX1JNSUlfT0ZGU0VUXHQxMyAvKiBBVDkxUk05MjAwIG9ubHkgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5MzojZGVmaW5lIE1BQ0JfUk05MjAwX1JNSUlfU0laRVx0MSAgLyogQVQ5MVJNOTIwMCBvbmx5ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTQ6I2RlZmluZSBNQUNCX1JCT0ZfT0ZGU0VUXHQxNCAvKiBSZWNlaXZlIGJ1ZmZlciBvZmZzZXQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5NTojZGVmaW5lIE1BQ0JfUkJPRl9TSVpFXHRcdDJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5NjojZGVmaW5lIE1BQ0JfUkxDRV9PRkZTRVRcdDE2IC8qIExlbmd0aCBmaWVsZCBlcnJvciBmcmFtZSBkaXNjYXJkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTc6I2RlZmluZSBNQUNCX1JMQ0VfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTg6I2RlZmluZSBNQUNCX0RSRkNTX09GRlNFVFx0MTcgLyogRkNTIHJlbW92ZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk5OiNkZWZpbmUgTUFDQl9EUkZDU19TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjMwMDojZGVmaW5lIE1BQ0JfRUZSSERfT0ZGU0VUXHQxOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzAxOiNkZWZpbmUgTUFDQl9FRlJIRF9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjMwMjojZGVmaW5lIE1BQ0JfSVJYRkNTX09GRlNFVFx0MTlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjMwMzojZGVmaW5lIE1BQ0JfSVJYRkNTX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTMwNC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zNjQtLyogQml0ZmllbGRzIGluIE5TUiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzY1OiNkZWZpbmUgTUFDQl9OU1JfTElOS19PRkZTRVRcdDAgLyogcGNzX2xpbmtfc3RhdGUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM2NjojZGVmaW5lIE1BQ0JfTlNSX0xJTktfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzY3OiNkZWZpbmUgTUFDQl9NRElPX09GRlNFVFx0MSAvKiBzdGF0dXMgb2YgdGhlIG1kaW9faW4gcGluICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjg6I2RlZmluZSBNQUNCX01ESU9fU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjk6I2RlZmluZSBNQUNCX0lETEVfT0ZGU0VUXHQyIC8qIFRoZSBQSFkgbWFuYWdlbWVudCBsb2dpYyBpcyBpZGxlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNzA6I2RlZmluZSBNQUNCX0lETEVfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zNzEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zNzItLyogQml0ZmllbGRzIGluIFRTUiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzczOiNkZWZpbmUgTUFDQl9VQlJfT0ZGU0VUXHRcdDAgLyogVXNlZCBiaXQgcmVhZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc0OiNkZWZpbmUgTUFDQl9VQlJfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNzU6I2RlZmluZSBNQUNCX0NPTF9PRkZTRVRcdFx0MSAvKiBDb2xsaXNpb24gb2NjdXJyZWQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3NjojZGVmaW5lIE1BQ0JfQ09MX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc3OiNkZWZpbmUgTUFDQl9UU1JfUkxFX09GRlNFVFx0MiAvKiBSZXRyeSBsaW1pdCBleGNlZWRlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc4OiNkZWZpbmUgTUFDQl9UU1JfUkxFX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3OTojZGVmaW5lIE1BQ0JfVEdPX09GRlNFVFx0XHQzIC8qIFRyYW5zbWl0IGdvICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODA6I2RlZmluZSBNQUNCX1RHT19TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4MTojZGVmaW5lIE1BQ0JfQkVYX09GRlNFVFx0XHQ0IC8qIFRYIGZyYW1lIGNvcnJ1cHRpb24gZHVlIHRvIEFIQiBlcnJvciAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzgyOiNkZWZpbmUgTUFDQl9CRVhfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODM6I2RlZmluZSBNQUNCX1JNOTIwMF9CTlFfT0ZGU0VUXHQ0IC8qIEFUOTFSTTkyMDAgb25seSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzg0OiNkZWZpbmUgTUFDQl9STTkyMDBfQk5RX1NJWkVcdDEgLyogQVQ5MVJNOTIwMCBvbmx5ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODU6I2RlZmluZSBNQUNCX0NPTVBfT0ZGU0VUXHQ1IC8qIFRybmFzbWl0IGNvbXBsZXRlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODY6I2RlZmluZSBNQUNCX0NPTVBfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODc6I2RlZmluZSBNQUNCX1VORF9PRkZTRVRcdFx0NiAvKiBUcm5hc21pdCB1bmRlciBydW4gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4ODojZGVmaW5lIE1BQ0JfVU5EX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMzg5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMzkwLS8qIEJpdGZpZWxkcyBpbiBSU1IgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM5MTojZGVmaW5lIE1BQ0JfQk5BX09GRlNFVFx0XHQwIC8qIEJ1ZmZlciBub3QgYXZhaWxhYmxlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOTI6I2RlZmluZSBNQUNCX0JOQV9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM5MzojZGVmaW5lIE1BQ0JfUkVDX09GRlNFVFx0XHQxIC8qIEZyYW1lIHJlY2VpdmVkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOTQ6I2RlZmluZSBNQUNCX1JFQ19TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM5NTojZGVmaW5lIE1BQ0JfT1ZSX09GRlNFVFx0XHQyIC8qIFJlY2VpdmUgb3ZlcnJ1biAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk2OiNkZWZpbmUgTUFDQl9PVlJfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zOTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zOTgtLyogQml0ZmllbGRzIGluIElTUi9JRVIvSURSL0lNUiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk5OiNkZWZpbmUgTUFDQl9NRkRfT0ZGU0VUXHRcdDAgLyogTWFuYWdlbWVudCBmcmFtZSBzZW50ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDA6I2RlZmluZSBNQUNCX01GRF9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwMTojZGVmaW5lIE1BQ0JfUkNPTVBfT0ZGU0VUXHQxIC8qIFJlY2VpdmUgY29tcGxldGUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwMjojZGVmaW5lIE1BQ0JfUkNPTVBfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDM6I2RlZmluZSBNQUNCX1JYVUJSX09GRlNFVFx0MiAvKiBSWCB1c2VkIGJpdCByZWFkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDQ6I2RlZmluZSBNQUNCX1JYVUJSX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA1OiNkZWZpbmUgTUFDQl9UWFVCUl9PRkZTRVRcdDMgLyogVFggdXNlZCBiaXQgcmVhZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA2OiNkZWZpbmUgTUFDQl9UWFVCUl9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwNzojZGVmaW5lIE1BQ0JfSVNSX1RVTkRfT0ZGU0VUXHQ0IC8qIEVuYWJsZSBUWCBidWZmZXIgdW5kZXIgcnVuIGludGVycnVwdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA4OiNkZWZpbmUgTUFDQl9JU1JfVFVORF9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDk6I2RlZmluZSBNQUNCX0lTUl9STEVfT0ZGU0VUXHQ1IC8qIEVOIHJldHJ5IGV4Y2VlZGVkL2xhdGUgY29sbCBpbnRlcnJ1cHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxMDojZGVmaW5lIE1BQ0JfSVNSX1JMRV9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTE6I2RlZmluZSBNQUNCX1RYRVJSX09GRlNFVFx0NiAvKiBFTiBUWCBmcmFtZSBjb3JydXB0IGZyb20gZXJyb3IgaW50ZXJydXB0ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTI6I2RlZmluZSBNQUNCX1RYRVJSX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDEzOiNkZWZpbmUgTUFDQl9STTkyMDBfVEJSRV9PRkZTRVRcdDYgLyogRU4gbWF5IHNlbmQgbmV3IGZyYW1lIGludGVycnVwdCAoUk05MjAwKSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE0OiNkZWZpbmUgTUFDQl9STTkyMDBfVEJSRV9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTU6I2RlZmluZSBNQUNCX1RDT01QX09GRlNFVFx0NyAvKiBFbmFibGUgdHJhbnNtaXQgY29tcGxldGUgaW50ZXJydXB0ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTY6I2RlZmluZSBNQUNCX1RDT01QX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE3OiNkZWZpbmUgTUFDQl9JU1JfTElOS19PRkZTRVRcdDkgLyogRW5hYmxlIGxpbmsgY2hhbmdlIGludGVycnVwdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE4OiNkZWZpbmUgTUFDQl9JU1JfTElOS19TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTk6I2RlZmluZSBNQUNCX0lTUl9ST1ZSX09GRlNFVFx0MTAgLyogRW5hYmxlIHJlY2VpdmUgb3ZlcnJ1biBpbnRlcnJ1cHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQyMDojZGVmaW5lIE1BQ0JfSVNSX1JPVlJfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDIxOiNkZWZpbmUgTUFDQl9IUkVTUF9PRkZTRVRcdDExIC8qIEVuYWJsZSBocnNlcCBub3QgT0sgaW50ZXJydXB0ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MjI6I2RlZmluZSBNQUNCX0hSRVNQX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDIzOiNkZWZpbmUgTUFDQl9QRlJfT0ZGU0VUXHRcdDEyIC8qIEVuYWJsZSBwYXVzZSBmcmFtZSB3LyBxdWFudHVtIGludGVycnVwdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI0OiNkZWZpbmUgTUFDQl9QRlJfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MjU6I2RlZmluZSBNQUNCX1BUWl9PRkZTRVRcdFx0MTMgLyogRW5hYmxlIHBhdXNlIHRpbWUgemVybyBpbnRlcnJ1cHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQyNjojZGVmaW5lIE1BQ0JfUFRaX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI3OiNkZWZpbmUgTUFDQl9XT0xfT0ZGU0VUXHRcdDE0IC8qIEVuYWJsZSB3YWtlLW9uLWxhbiBpbnRlcnJ1cHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQyODojZGVmaW5lIE1BQ0JfV09MX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI5OiNkZWZpbmUgTUFDQl9EUlFGUl9PRkZTRVRcdDE4IC8qIFBUUCBEZWxheSBSZXF1ZXN0IEZyYW1lIFJlY2VpdmVkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MzA6I2RlZmluZSBNQUNCX0RSUUZSX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDMxOiNkZWZpbmUgTUFDQl9TRlJfT0ZGU0VUXHRcdDE5IC8qIFBUUCBTeW5jIEZyYW1lIFJlY2VpdmVkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MzI6I2RlZmluZSBNQUNCX1NGUl9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzMzojZGVmaW5lIE1BQ0JfRFJRRlRfT0ZGU0VUXHQyMCAvKiBQVFAgRGVsYXkgUmVxdWVzdCBGcmFtZSBUcmFuc21pdHRlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDM0OiNkZWZpbmUgTUFDQl9EUlFGVF9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzNTojZGVmaW5lIE1BQ0JfU0ZUX09GRlNFVFx0XHQyMSAvKiBQVFAgU3luYyBGcmFtZSBUcmFuc21pdHRlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDM2OiNkZWZpbmUgTUFDQl9TRlRfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mzc6I2RlZmluZSBNQUNCX1BEUlFGUl9PRkZTRVRcdDIyIC8qIFBEZWxheSBSZXF1ZXN0IEZyYW1lIFJlY2VpdmVkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mzg6I2RlZmluZSBNQUNCX1BEUlFGUl9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mzk6I2RlZmluZSBNQUNCX1BEUlNGUl9PRkZTRVRcdDIzIC8qIFBEZWxheSBSZXNwb25zZSBGcmFtZSBSZWNlaXZlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQwOiNkZWZpbmUgTUFDQl9QRFJTRlJfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQxOiNkZWZpbmUgTUFDQl9QRFJRRlRfT0ZGU0VUXHQyNCAvKiBQRGVsYXkgUmVxdWVzdCBGcmFtZSBUcmFuc21pdHRlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQyOiNkZWZpbmUgTUFDQl9QRFJRRlRfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQzOiNkZWZpbmUgTUFDQl9QRFJTRlRfT0ZGU0VUXHQyNSAvKiBQRGVsYXkgUmVzcG9uc2UgRnJhbWUgVHJhbnNtaXR0ZWQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ0NDojZGVmaW5lIE1BQ0JfUERSU0ZUX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ0NTojZGVmaW5lIE1BQ0JfU1JJX09GRlNFVFx0XHQyNiAvKiBUU1UgU2Vjb25kcyBSZWdpc3RlciBJbmNyZW1lbnQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ0NjojZGVmaW5lIE1BQ0JfU1JJX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDQ3LSNkZWZpbmUgR0VNX1dPTF9PRkZTRVRcdFx0MjggLyogRW5hYmxlIHdha2Utb24tbGFuIGludGVycnVwdCAqL1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ1MC0vKiBUaW1lciBpbmNyZW1lbnQgZmllbGRzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTE6I2RlZmluZSBNQUNCX1RJX0NOU19PRkZTRVRcdDBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1MjojZGVmaW5lIE1BQ0JfVElfQ05TX1NJWkVcdDhcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1MzojZGVmaW5lIE1BQ0JfVElfQUNOU19PRkZTRVRcdDhcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1NDojZGVmaW5lIE1BQ0JfVElfQUNOU19TSVpFXHQ4XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTU6I2RlZmluZSBNQUNCX1RJX05JVF9PRkZTRVRcdDE2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTY6I2RlZmluZSBNQUNCX1RJX05JVF9TSVpFXHQ4XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00NTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00NTgtLyogQml0ZmllbGRzIGluIE1BTiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDU5OiNkZWZpbmUgTUFDQl9EQVRBX09GRlNFVFx0MCAvKiBkYXRhICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjA6I2RlZmluZSBNQUNCX0RBVEFfU0laRVx0XHQxNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDYxOiNkZWZpbmUgTUFDQl9DT0RFX09GRlNFVFx0MTYgLyogTXVzdCBiZSB3cml0dGVuIHRvIDEwICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjI6I2RlZmluZSBNQUNCX0NPREVfU0laRVx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjM6I2RlZmluZSBNQUNCX1JFR0FfT0ZGU0VUXHQxOCAvKiBSZWdpc3RlciBhZGRyZXNzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjQ6I2RlZmluZSBNQUNCX1JFR0FfU0laRVx0XHQ1XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjU6I2RlZmluZSBNQUNCX1BIWUFfT0ZGU0VUXHQyMyAvKiBQSFkgYWRkcmVzcyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDY2OiNkZWZpbmUgTUFDQl9QSFlBX1NJWkVcdFx0NVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDY3OiNkZWZpbmUgTUFDQl9SV19PRkZTRVRcdFx0MjggLyogT3BlcmF0aW9uLiAxMCBpcyByZWFkLiAwMSBpcyB3cml0ZS4gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2ODojZGVmaW5lIE1BQ0JfUldfU0laRVx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Njk6I2RlZmluZSBNQUNCX1NPRl9PRkZTRVRcdFx0MzAgLyogTXVzdCBiZSB3cml0dGVuIHRvIDEgZm9yIENsYXVzZSAyMiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDcwOiNkZWZpbmUgTUFDQl9TT0ZfU0laRVx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00NzEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00NzItLyogQml0ZmllbGRzIGluIFVTUklPIChBVlIzMikgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3MzojZGVmaW5lIE1BQ0JfTUlJX09GRlNFVFx0XHRcdFx0MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDc0OiNkZWZpbmUgTUFDQl9NSUlfU0laRVx0XHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDc1OiNkZWZpbmUgTUFDQl9FQU1fT0ZGU0VUXHRcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NzY6I2RlZmluZSBNQUNCX0VBTV9TSVpFXHRcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Nzc6I2RlZmluZSBNQUNCX1RYX1BBVVNFX09GRlNFVFx0XHRcdDJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3ODojZGVmaW5lIE1BQ0JfVFhfUEFVU0VfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3OTojZGVmaW5lIE1BQ0JfVFhfUEFVU0VfWkVST19PRkZTRVRcdFx0M1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDgwOiNkZWZpbmUgTUFDQl9UWF9QQVVTRV9aRVJPX1NJWkVcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODItLyogQml0ZmllbGRzIGluIFVTUklPIChBVDkxKSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDgzOiNkZWZpbmUgTUFDQl9STUlJX09GRlNFVFx0XHRcdDBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4NDojZGVmaW5lIE1BQ0JfUk1JSV9TSVpFXHRcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODUtI2RlZmluZSBHRU1fUkdNSUlfT0ZGU0VUXHRcdFx0MCAvKiBHRU0gZ2lnYWJpdCBtb2RlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODYtI2RlZmluZSBHRU1fUkdNSUlfU0laRVx0XHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDg3OiNkZWZpbmUgTUFDQl9DTEtFTl9PRkZTRVRcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0ODg6I2RlZmluZSBNQUNCX0NMS0VOX1NJWkVcdFx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ4OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ5MC0vKiBCaXRmaWVsZHMgaW4gV09MICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0OTE6I2RlZmluZSBNQUNCX0lQX09GRlNFVFx0XHRcdFx0MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDkyOiNkZWZpbmUgTUFDQl9JUF9TSVpFXHRcdFx0XHQxNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDkzOiNkZWZpbmUgTUFDQl9NQUdfT0ZGU0VUXHRcdFx0XHQxNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk0OiNkZWZpbmUgTUFDQl9NQUdfU0laRVx0XHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk1OiNkZWZpbmUgTUFDQl9BUlBfT0ZGU0VUXHRcdFx0XHQxN1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk2OiNkZWZpbmUgTUFDQl9BUlBfU0laRVx0XHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk3OiNkZWZpbmUgTUFDQl9TQTFfT0ZGU0VUXHRcdFx0XHQxOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk4OiNkZWZpbmUgTUFDQl9TQTFfU0laRVx0XHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk5OiNkZWZpbmUgTUFDQl9XT0xfTVRJX09GRlNFVFx0XHRcdDE5XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDA6I2RlZmluZSBNQUNCX1dPTF9NVElfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTUwMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTUwMi0vKiBCaXRmaWVsZHMgaW4gTUlEICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDM6I2RlZmluZSBNQUNCX0lETlVNX09GRlNFVFx0XHRcdDE2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDQ6I2RlZmluZSBNQUNCX0lETlVNX1NJWkVcdFx0XHRcdDEyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDU6I2RlZmluZSBNQUNCX1JFVl9PRkZTRVRcdFx0XHRcdDBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwNjojZGVmaW5lIE1BQ0JfUkVWX1NJWkVcdFx0XHRcdDE2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC01MDctXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNjc4LS8qIEJpdGZpZWxkcyBpbiBxdWV1ZSBwb2ludGVyIHJlZ2lzdGVycyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Njc5OiNkZWZpbmUgTUFDQl9RVUVVRV9ESVNBQkxFX09GRlNFVFx0XHQwIC8qIGRpc2FibGUgcXVldWUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY4MDojZGVmaW5lIE1BQ0JfUVVFVUVfRElTQUJMRV9TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNjgxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTcyOS0vKiBDb25zdGFudHMgZm9yIENMSyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzMwOiNkZWZpbmUgTUFDQl9DTEtfRElWOFx0XHRcdFx0MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzMxOiNkZWZpbmUgTUFDQl9DTEtfRElWMTZcdFx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjczMjojZGVmaW5lIE1BQ0JfQ0xLX0RJVjMyXHRcdFx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3MzM6I2RlZmluZSBNQUNCX0NMS19ESVY2NFx0XHRcdFx0M1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzM0LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTc0NS0vKiBDb25zdGFudHMgZm9yIE1BTiByZWdpc3RlciAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ2OiNkZWZpbmUgTUFDQl9NQU5fQzIyX1NPRlx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc0NzojZGVmaW5lIE1BQ0JfTUFOX0MyMl9XUklURVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc0ODojZGVmaW5lIE1BQ0JfTUFOX0MyMl9SRUFEXHRcdFx0MlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ5OiNkZWZpbmUgTUFDQl9NQU5fQzIyX0NPREVcdFx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03NTAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTE6I2RlZmluZSBNQUNCX01BTl9DNDVfU09GXHRcdFx0MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzUyOiNkZWZpbmUgTUFDQl9NQU5fQzQ1X0FERFJcdFx0XHQwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTM6I2RlZmluZSBNQUNCX01BTl9DNDVfV1JJVEVcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTQ6I2RlZmluZSBNQUNCX01BTl9DNDVfUE9TVF9SRUFEX0lOQ1JcdFx0MlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzU1OiNkZWZpbmUgTUFDQl9NQU5fQzQ1X1JFQURcdFx0XHQzXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTY6I2RlZmluZSBNQUNCX01BTl9DNDVfQ09ERVx0XHRcdDJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTc1Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTc1OC0vKiBDYXBhYmlsaXR5IG1hc2sgYml0cyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzU5OiNkZWZpbmUgTUFDQl9DQVBTX0lTUl9DTEVBUl9PTl9XUklURVx0XHRCSVQoMClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2MDojZGVmaW5lIE1BQ0JfQ0FQU19VU1JJT19IQVNfQ0xLRU5cdFx0QklUKDEpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjE6I2RlZmluZSBNQUNCX0NBUFNfVVNSSU9fREVGQVVMVF9JU19NSUlfR01JSVx0QklUKDIpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjI6I2RlZmluZSBNQUNCX0NBUFNfTk9fR0lHQUJJVF9IQUxGXHRcdEJJVCgzKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzYzOiNkZWZpbmUgTUFDQl9DQVBTX1VTUklPX0RJU0FCTEVEXHRcdEJJVCg0KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzY0OiNkZWZpbmUgTUFDQl9DQVBTX0pVTUJPXHRcdFx0XHRCSVQoNSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2NTojZGVmaW5lIE1BQ0JfQ0FQU19HRU1fSEFTX1BUUFx0XHRcdEJJVCg2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzY2OiNkZWZpbmUgTUFDQl9DQVBTX0JEX1JEX1BSRUZFVENIXHRcdEJJVCg3KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzY3OiNkZWZpbmUgTUFDQl9DQVBTX05FRURTX1JTVE9OVUJSXHRcdEJJVCg4KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzY4OiNkZWZpbmUgTUFDQl9DQVBTX01JSU9OUkdNSUlcdFx0XHRCSVQoOSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2OTojZGVmaW5lIE1BQ0JfQ0FQU19ORUVEX1RTVUNMS1x0XHRcdEJJVCgxMClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3MDojZGVmaW5lIE1BQ0JfQ0FQU19RVUVVRV9ESVNBQkxFXHRcdFx0QklUKDExKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzcxOiNkZWZpbmUgTUFDQl9DQVBTX1FCVlx0XHRcdFx0QklUKDEyKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzcyOiNkZWZpbmUgTUFDQl9DQVBTX1BDU1x0XHRcdFx0QklUKDEzKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzczOiNkZWZpbmUgTUFDQl9DQVBTX0hJR0hfU1BFRURcdFx0XHRCSVQoMTQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NzQ6I2RlZmluZSBNQUNCX0NBUFNfQ0xLX0hXX0NIR1x0XHRcdEJJVCgxNSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3NTojZGVmaW5lIE1BQ0JfQ0FQU19NQUNCX0lTX0VNQUNcdFx0XHRCSVQoMTYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NzY6I2RlZmluZSBNQUNCX0NBUFNfRklGT19NT0RFXHRcdFx0QklUKDE3KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzc3OiNkZWZpbmUgTUFDQl9DQVBTX0dJR0FCSVRfTU9ERV9BVkFJTEFCTEVcdEJJVCgxOClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3ODojZGVmaW5lIE1BQ0JfQ0FQU19TR19ESVNBQkxFRFx0XHRcdEJJVCgxOSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3OTojZGVmaW5lIE1BQ0JfQ0FQU19NQUNCX0lTX0dFTVx0XHRcdEJJVCgyMClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc4MDojZGVmaW5lIE1BQ0JfQ0FQU19ETUFfNjRCXHRcdFx0QklUKDIxKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzgxOiNkZWZpbmUgTUFDQl9DQVBTX0RNQV9QVFBcdFx0XHRCSVQoMjIpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3ODI6I2RlZmluZSBNQUNCX0NBUFNfUlNDXHRcdFx0XHRCSVQoMjMpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3ODM6I2RlZmluZSBNQUNCX0NBUFNfTk9fTFNPXHRcdFx0QklUKDI0KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzg0OiNkZWZpbmUgTUFDQl9DQVBTX0VFRVx0XHRcdFx0QklUKDI1KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzg1OiNkZWZpbmUgTUFDQl9DQVBTX1VTUklPX0hBU19NSUlcdFx0XHRCSVQoMjYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3ODY6I2RlZmluZSBNQUNCX0NBUFNfVVNSSU9fSEFTX1JFRkNMS19TT1VSQ0VcdEJJVCgyNylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc4NzojZGVmaW5lIE1BQ0JfQ0FQU19VU1JJT19IQVNfVFNVQ0xLX1NPVVJDRVx0QklUKDI4KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzg4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzg5LS8qIExTTyBzZXR0aW5ncyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzkwOiNkZWZpbmUgTUFDQl9MU09fVUZPX0VOQUJMRVx0XHRcdDB4MDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc5MTojZGVmaW5lIE1BQ0JfTFNPX1RTT19FTkFCTEVcdFx0XHQweDAyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03OTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03OTMtLyogQml0IG1hbmlwdWxhdGlvbiBtYWNyb3MgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc5NDojZGVmaW5lIE1BQ0JfQklUKG5hbWUpXHRcdFx0XHRcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3OTU6XHQoMSBcdTAwM2NcdTAwM2MgTUFDQl8jI25hbWUjI19PRkZTRVQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3OTY6I2RlZmluZSBNQUNCX0JGKG5hbWUsdmFsdWUpXHRcdFx0XHRcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk3Olx0KCgodmFsdWUpIFx1MDAyNiAoKDEgXHUwMDNjXHUwMDNjIE1BQ0JfIyNuYW1lIyNfU0laRSkgLSAxKSlcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3OTg6XHQgXHUwMDNjXHUwMDNjIE1BQ0JfIyNuYW1lIyNfT0ZGU0VUKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk5OiNkZWZpbmUgTUFDQl9CRkVYVChuYW1lLHZhbHVlKVxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDA6XHQoKCh2YWx1ZSkgXHUwMDNlXHUwMDNlIE1BQ0JfIyNuYW1lIyNfT0ZGU0VUKVx0XHRcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODAxOlx0IFx1MDAyNiAoKDEgXHUwMDNjXHUwMDNjIE1BQ0JfIyNuYW1lIyNfU0laRSkgLSAxKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjgwMjojZGVmaW5lIE1BQ0JfQkZJTlMobmFtZSx2YWx1ZSxvbGQpXHRcdFx0XFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjgwMzpcdCgoKG9sZCkgXHUwMDI2IH4oKCgxIFx1MDAzY1x1MDAzYyBNQUNCXyMjbmFtZSMjX1NJWkUpIC0gMSlcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDQ6XHRcdCAgICBcdTAwM2NcdTAwM2MgTUFDQl8jI25hbWUjI19PRkZTRVQpKVx0XHRcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODA1Olx0IHwgTUFDQl9CRihuYW1lLHZhbHVlKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTgwNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04MjAtLyogUmVnaXN0ZXIgYWNjZXNzIG1hY3JvcyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODIxOiNkZWZpbmUgbWFjYl9yZWFkbChwb3J0LCByZWcpXHRcdChwb3J0KS1cdTAwM2VtYWNiX3JlZ19yZWFkbCgocG9ydCksIE1BQ0JfIyNyZWcpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MjI6I2RlZmluZSBtYWNiX3dyaXRlbChwb3J0LCByZWcsIHZhbHVlKVx0KHBvcnQpLVx1MDAzZW1hY2JfcmVnX3dyaXRlbCgocG9ydCksIE1BQ0JfIyNyZWcsICh2YWx1ZSkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04MjMtI2RlZmluZSBnZW1fcmVhZGwocG9ydCwgcmVnKVx0XHQocG9ydCktXHUwMDNlbWFjYl9yZWdfcmVhZGwoKHBvcnQpLCBHRU1fIyNyZWcpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODI5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODMwOi8qIENvbmRpdGlvbmFsIEdFTS9NQUNCIG1hY3Jvcy4gIFRoZXNlIHBlcmZvcm0gdGhlIG9wZXJhdGlvbiB0byB0aGUgY29ycmVjdFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODMxOiAqIHJlZ2lzdGVyIGRlcGVuZGVudCBvbiB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgYSBHRU0gb3IgYSBNQUNCLiAgRm9yIHJlZ2lzdGVyc1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODMyLSAqIGFuZCBiaXRmaWVsZHMgdGhhdCBhcmUgY29tbW9uIGFjcm9zcyBib3RoIGRldmljZXMsIHVzZSBtYWNiX3tyZWFkLHdyaXRlfWxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04NTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4NTM6I2RlZmluZSBNQUNCX1JFQURfTlNSKGJwKVx0bWFjYl9yZWFkbChicCwgTlNSKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODU0LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oPTg2OT1zdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTg3NC0vKiBETUEgZGVzY3JpcHRvciBiaXRmaWVsZHMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg3NTojZGVmaW5lIE1BQ0JfUlhfVVNFRF9PRkZTRVRcdFx0XHQwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4NzY6I2RlZmluZSBNQUNCX1JYX1VTRURfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg3NzojZGVmaW5lIE1BQ0JfUlhfV1JBUF9PRkZTRVRcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4Nzg6I2RlZmluZSBNQUNCX1JYX1dSQVBfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg3OTojZGVmaW5lIE1BQ0JfUlhfV0FERFJfT0ZGU0VUXHRcdFx0MlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODgwOiNkZWZpbmUgTUFDQl9SWF9XQUREUl9TSVpFXHRcdFx0MzBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTg4MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4MjojZGVmaW5lIE1BQ0JfUlhfRlJNTEVOX09GRlNFVFx0XHRcdDBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4MzojZGVmaW5lIE1BQ0JfUlhfRlJNTEVOX1NJWkVcdFx0XHQxMlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODg0OiNkZWZpbmUgTUFDQl9SWF9PRkZTRVRfT0ZGU0VUXHRcdFx0MTJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4NTojZGVmaW5lIE1BQ0JfUlhfT0ZGU0VUX1NJWkVcdFx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODY6I2RlZmluZSBNQUNCX1JYX1NPRl9PRkZTRVRcdFx0XHQxNFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODg3OiNkZWZpbmUgTUFDQl9SWF9TT0ZfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4ODojZGVmaW5lIE1BQ0JfUlhfRU9GX09GRlNFVFx0XHRcdDE1XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODk6I2RlZmluZSBNQUNCX1JYX0VPRl9TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODkwOiNkZWZpbmUgTUFDQl9SWF9DRklfT0ZGU0VUXHRcdFx0MTZcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg5MTojZGVmaW5lIE1BQ0JfUlhfQ0ZJX1NJWkVcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTI6I2RlZmluZSBNQUNCX1JYX1ZMQU5fUFJJX09GRlNFVFx0XHRcdDE3XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTM6I2RlZmluZSBNQUNCX1JYX1ZMQU5fUFJJX1NJWkVcdFx0XHQzXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTQ6I2RlZmluZSBNQUNCX1JYX1BSSV9UQUdfT0ZGU0VUXHRcdFx0MjBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg5NTojZGVmaW5lIE1BQ0JfUlhfUFJJX1RBR19TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk2OiNkZWZpbmUgTUFDQl9SWF9WTEFOX1RBR19PRkZTRVRcdFx0XHQyMVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk3OiNkZWZpbmUgTUFDQl9SWF9WTEFOX1RBR19TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk4OiNkZWZpbmUgTUFDQl9SWF9UWVBFSURfTUFUQ0hfT0ZGU0VUXHRcdDIyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTk6I2RlZmluZSBNQUNCX1JYX1RZUEVJRF9NQVRDSF9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwMDojZGVmaW5lIE1BQ0JfUlhfU0E0X01BVENIX09GRlNFVFx0XHQyM1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTAxOiNkZWZpbmUgTUFDQl9SWF9TQTRfTUFUQ0hfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwMjojZGVmaW5lIE1BQ0JfUlhfU0EzX01BVENIX09GRlNFVFx0XHQyNFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTAzOiNkZWZpbmUgTUFDQl9SWF9TQTNfTUFUQ0hfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwNDojZGVmaW5lIE1BQ0JfUlhfU0EyX01BVENIX09GRlNFVFx0XHQyNVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTA1OiNkZWZpbmUgTUFDQl9SWF9TQTJfTUFUQ0hfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwNjojZGVmaW5lIE1BQ0JfUlhfU0ExX01BVENIX09GRlNFVFx0XHQyNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTA3OiNkZWZpbmUgTUFDQl9SWF9TQTFfTUFUQ0hfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwODojZGVmaW5lIE1BQ0JfUlhfRVhUX01BVENIX09GRlNFVFx0XHQyOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTA5OiNkZWZpbmUgTUFDQl9SWF9FWFRfTUFUQ0hfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkxMDojZGVmaW5lIE1BQ0JfUlhfVUhBU0hfTUFUQ0hfT0ZGU0VUXHRcdDI5XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTE6I2RlZmluZSBNQUNCX1JYX1VIQVNIX01BVENIX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTEyOiNkZWZpbmUgTUFDQl9SWF9NSEFTSF9NQVRDSF9PRkZTRVRcdFx0MzBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkxMzojZGVmaW5lIE1BQ0JfUlhfTUhBU0hfTUFUQ0hfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTQ6I2RlZmluZSBNQUNCX1JYX0JST0FEQ0FTVF9PRkZTRVRcdFx0MzFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkxNTojZGVmaW5lIE1BQ0JfUlhfQlJPQURDQVNUX1NJWkVcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC05MTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTc6I2RlZmluZSBNQUNCX1JYX0ZSTUxFTl9NQVNLXHRcdFx0MHhGRkZcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkxODojZGVmaW5lIE1BQ0JfUlhfSkZSTUxFTl9NQVNLXHRcdFx0MHgzRkZGXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC05MTktXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtOTI3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTI4OiNkZWZpbmUgTUFDQl9UWF9GUk1MRU5fT0ZGU0VUXHRcdFx0MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTI5OiNkZWZpbmUgTUFDQl9UWF9GUk1MRU5fU0laRVx0XHRcdDExXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MzA6I2RlZmluZSBNQUNCX1RYX0xBU1RfT0ZGU0VUXHRcdFx0MTVcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkzMTojZGVmaW5lIE1BQ0JfVFhfTEFTVF9TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTMyOiNkZWZpbmUgTUFDQl9UWF9OT0NSQ19PRkZTRVRcdFx0XHQxNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTMzOiNkZWZpbmUgTUFDQl9UWF9OT0NSQ19TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTM0OiNkZWZpbmUgTUFDQl9NU1NfTUZTX09GRlNFVFx0XHRcdDE2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MzU6I2RlZmluZSBNQUNCX01TU19NRlNfU0laRVx0XHRcdDE0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MzY6I2RlZmluZSBNQUNCX1RYX0xTT19PRkZTRVRcdFx0XHQxN1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTM3OiNkZWZpbmUgTUFDQl9UWF9MU09fU0laRVx0XHRcdDJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkzODojZGVmaW5lIE1BQ0JfVFhfVENQX1NFUV9TUkNfT0ZGU0VUXHRcdDE5XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5Mzk6I2RlZmluZSBNQUNCX1RYX1RDUF9TRVFfU1JDX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQwOiNkZWZpbmUgTUFDQl9UWF9CVUZfRVhIQVVTVEVEX09GRlNFVFx0XHQyN1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQxOiNkZWZpbmUgTUFDQl9UWF9CVUZfRVhIQVVTVEVEX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQyOiNkZWZpbmUgTUFDQl9UWF9VTkRFUlJVTl9PRkZTRVRcdFx0XHQyOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQzOiNkZWZpbmUgTUFDQl9UWF9VTkRFUlJVTl9TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQ0OiNkZWZpbmUgTUFDQl9UWF9FUlJPUl9PRkZTRVRcdFx0XHQyOVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQ1OiNkZWZpbmUgTUFDQl9UWF9FUlJPUl9TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQ2OiNkZWZpbmUgTUFDQl9UWF9XUkFQX09GRlNFVFx0XHRcdDMwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5NDc6I2RlZmluZSBNQUNCX1RYX1dSQVBfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0ODojZGVmaW5lIE1BQ0JfVFhfVVNFRF9PRkZTRVRcdFx0XHQzMVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQ5OiNkZWZpbmUgTUFDQl9UWF9VU0VEX1NJWkVcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC05NTAtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg9MTE5Nz1zdHJ1Y3QgbWFjYl9vcl9nZW1fb3BzIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0xMjA0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MTIwNTovKiBNQUNCLVBUUCBpbnRlcmZhY2U6IGFkYXB0IHRvIHBsYXRmb3JtIG5lZWRzLiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMTIwNi1zdHJ1Y3QgbWFjYl9wdHBfaW5mbyB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg9MTMwMT1zdHJ1Y3QgbWFjYiB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMTMxNi1cdHVuc2lnbmVkIGludFx0XHRudW1fcXVldWVzO1xuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTAgMDQ6Mzc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTg4NTMKCQkJCQkJCW91dHB1dDogMzYKCQkJCQkJCXRob3VnaHRzOiAxNjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgUUVNVSAvIENhZGVuY2UgTUFDQiBQQ0kgSW52ZXN0aWdhdGlvbioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgaW50byB0aGUgQ2FkZW5jZSBNQUNCIC8gR0VNIGV0aGVybmV0IGNvbnRyb2xsZXIsIHNwZWNpZmljYWxseSB0aGUgUENJIGltcGxlbWVudGF0aW9uLiBJIGtub3cgYG1hY2JfcGNpLmNgIGFuZCBgbWFjYl9tYWluLmNgIGFyZSB0aGUgcmVsZXZhbnQgc291cmNlIGZpbGVzLiBUaGUgcXVlc3Rpb24gaXMsIGRvZXMgUUVNVSBlbXVsYXRlIHRoZSBDYWRlbmNlIE1BQ0IgaW4gYSBQQ0kgY29uZmlndXJhdGlvbiwgYW5kIGlmIHNvLCBob3c/IE15IGluaXRpYWwgdGhvdWdodCBpcyB0aGF0IGl0IG1pZ2h0IGJlIGVtdWxhdGVkLCBidXQgSSBuZWVkIHRvIGNvbmZpcm0uCgpBaCwgeWVzISBJIHJlbWVtYmVyIFFFTVUgaGF2aW5nIGBjYWRlbmNlX2dlbWAgZW11bGF0aW9uISBCdXQgZG9lcyB0aGF0IGFwcGx5IHRvIHRoZSBQQ0kgaW1wbGVtZW50YXRpb24/IEEgcXVpY2sgc2VhcmNoIHJlbWluZHMgbWUgdGhhdCBRRU1VIHV0aWxpemVzIGBjYWRlbmNlX2dlbWAgZm9yIFhpbGlueCBaeW5xLCBaeW5xTVAsIGFuZCBWZXJzYWwgcGxhdGZvcm1zLCB3aGljaCBhbGwgdXNlIEFSTS9BQXJjaDY0IG9yIE1pY3JvQmxhemUgYXJjaGl0ZWN0dXJlcy4gU28sICp3aGVyZSogZG9lcyB0aGlzIGZpdCBpbiB3aXRoIFBDST8gRG9lcyBRRU1VIHVzZSBgbWFjYl9wY2lgIGRpcmVjdGx5LCBvciBkb2VzIGl0IHNvbWVob3cgbWFwIHRoYXQgdG8gYGNhZGVuY2VfZ2VtYCBvbiBQQ0kgZGV2aWNlcz8KClRvIGJlIHN1cmUsIEkmIzM5O2xsIGNoZWNrIGBtYWNiX3BjaS5jYC4gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hpY2ggUENJIGRldmljZXMgaXQmIzM5O3MgZGVzaWduZWQgdG8gbWF0Y2guIFRoYXQgd2lsbCBnaXZlIG1lIGEgY2xlYXIgaWRlYSBvZiB3aGF0IHRoZSBRRU1VIGVtdWxhdGlvbiB0YXJnZXRzLiBMZXQmIzM5O3MgZGlnIGluLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3BjaV9kZXZpY2VfaWQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcGNpLmMtMjYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcGNpLmM6Mjc6c3RhdGljIGludCBtYWNiX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwY2ksIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wY2kuYy0yOC17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jPTEwOD1zdGF0aWMgdm9pZCBtYWNiX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGNpKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wY2kuYy0xMTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcGNpLmM6MTIwOnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBkZXZfaWRfdGFibGVbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wY2kuYy0xMjEtXHR7IFBDSV9WREVWSUNFKENETlMsIFBDSV9ERVZJQ0VfSURfQ0ROU19NQUNCKSB9LFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5NTg3CgkJCQkJCQlvdXRwdXQ6IDQ0CgkJCQkJCQl0aG91Z2h0czogMjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIGlmIHRoZXkmIzM5O3JlIG1pbmU6CgoqKkRpdmluZyBpbnRvIHRoZSBNQUNCIERyaXZlcioqCgpSaWdodCwgdGltZSB0byBnZXQgbXkgaGFuZHMgZGlydHkuIExldCYjMzk7cyBzZWUuLi4gdGhlIGlzc3VlIHdlJiMzOTtyZSB0YWNrbGluZyBsaWtlbHkgaW52b2x2ZXMgaG93IHRoZSBkZXZpY2UgaXMgaWRlbnRpZmllZCBhbmQgcHJvYmVkLCBzbyBteSBmaXJzdCBpbnN0aW5jdCBpcyB0byB6ZXJvIGluIG9uIGBtYWNiX3BjaS5jYC4gU3BlY2lmaWNhbGx5LCBJIHdhbnQgdG8gcmVmcmVzaCBteSBtZW1vcnkgYWJvdXQgaG93IHRoZSBgZGV2X2lkX3RhYmxlYCBpcyBzdHJ1Y3R1cmVkIOKAkyB0aGF0JiMzOTtzIHRoZSBjcnVjaWFsIG1hcHBpbmcgYmV0d2VlbiBQQ0kgZGV2aWNlIElEcyBhbmQgdGhlIE1BQ0IgZHJpdmVyLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIGRyaXZlciBrbm93cyAqd2hpY2gqIGRldmljZXMgaXQgc2hvdWxkIGF0dGFjaCB0by4gVGhlbiwgSSYjMzk7bGwganVtcCBvdmVyIHRvIHRoZSBgbWFjYl9wcm9iZWAgZnVuY3Rpb24uIFRoYXQmIzM5O3MgdGhlIGZ1bmN0aW9uIHRoYXQgZ2V0cyBjYWxsZWQgd2hlbiBhIG1hdGNoaW5nIGRldmljZSBpcyBmb3VuZC4gSSBuZWVkIHRvIHJlY29uc3RydWN0IHRoZSBleGVjdXRpb24gZmxvdyBoZXJlIC0gaG93IGl0IHZlcmlmaWVzIGRldmljZSBjb21wYXRpYmlsaXR5LCBpbml0aWFsaXplcyB0aGUgaGFyZHdhcmUsIGFuZCB1bHRpbWF0ZWx5IG1ha2VzIHRoZSBkZXZpY2UgcmVhZHkgZm9yIHVzZSBieSB0aGUgc3lzdGVtLiBVbmRlcnN0YW5kaW5nIHRoaXMgY29udHJvbCBmbG93IHNob3VsZCBjbGFyaWZ5IHRoZSByb290IG9mIHRoZSBwcm9ibGVtLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxMzAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbiAgIDI6XHQvKlxuICAgMzpcdCAqIERPQzogQ2FkZW5jZSBHRU0gUENJIHdyYXBwZXIuXG4gICA0Olx0ICpcbiAgIDU6XHQgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQ2FkZW5jZSBEZXNpZ24gU3lzdGVtcyAtIGh0dHBzOi8vd3d3LmNhZGVuY2UuY29tXG4gICA2Olx0ICpcbiAgIDc6XHQgKiBBdXRob3JzOiBSYWZhbCBPemllYmxvIFx1MDAzY3JhZmFsb0BjYWRlbmNlLmNvbVx1MDAzZVxuICAgODpcdCAqXHQgICAgQmFydG9zeiBGb2x0YSBcdTAwM2NiZm9sdGFAY2FkZW5jZS5jb21cdTAwM2VcbiAgIDk6XHQgKi9cbiAgMTA6XHRcbiAgMTE6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9jbGsuaFx1MDAzZVxuICAxMjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2Nsay1wcm92aWRlci5oXHUwMDNlXG4gIDEzOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvZXRoZXJkZXZpY2UuaFx1MDAzZVxuICAxNDpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L21vZHVsZS5oXHUwMDNlXG4gIDE1Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvcGNpLmhcdTAwM2VcbiAgMTY6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFx1MDAzZVxuICAxNzpcdCNpbmNsdWRlIFwmIzM0O21hY2IuaFwmIzM0O1xuICAxODpcdFxuICAxOTpcdCNkZWZpbmUgUENJX0RSSVZFUl9OQU1FIFwmIzM0O21hY2JfcGNpXCYjMzQ7XG4gIDIwOlx0I2RlZmluZSBQTEFUX0RSSVZFUl9OQU1FIFwmIzM0O21hY2JcJiMzNDtcbiAgMjE6XHRcbiAgMjI6XHQjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQ0ROU19NQUNCIDB4ZTAwN1xuICAyMzpcdFxuICAyNDpcdCNkZWZpbmUgR0VNX1BDTEtfUkFURSA1MDAwMDAwMFxuICAyNTpcdCNkZWZpbmUgR0VNX0hDTEtfUkFURSA1MDAwMDAwMFxuICAyNjpcdFxuICAyNzpcdHN0YXRpYyBpbnQgbWFjYl9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGNpLCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpXG4gIDI4Olx0e1xuICAyOTpcdFx0aW50IGVycjtcbiAgMzA6XHRcdHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXY7XG4gIDMxOlx0XHRzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlX2luZm8gcGxhdF9pbmZvO1xuICAzMjpcdFx0c3RydWN0IG1hY2JfcGxhdGZvcm1fZGF0YSBwbGF0X2RhdGE7XG4gIDMzOlx0XHRzdHJ1Y3QgcmVzb3VyY2UgcmVzWzJdO1xuICAzNDpcdFxuICAzNTpcdFx0LyogZW5hYmxlIHBjaSBkZXZpY2UgKi9cbiAgMzY6XHRcdGVyciA9IHBjaW1fZW5hYmxlX2RldmljZShwY2kpO1xuICAzNzpcdFx0aWYgKGVyciBcdTAwM2MgMCkge1xuICAzODpcdFx0XHRkZXZfZXJyKFx1MDAyNnBjaS1cdTAwM2VkZXYsIFwmIzM0O0VuYWJsaW5nIFBDSSBkZXZpY2UgaGFzIGZhaWxlZDogJWRcJiMzNDssIGVycik7XG4gIDM5Olx0XHRcdHJldHVybiBlcnI7XG4gIDQwOlx0XHR9XG4gIDQxOlx0XG4gIDQyOlx0XHRwY2lfc2V0X21hc3RlcihwY2kpO1xuICA0MzpcdFxuICA0NDpcdFx0Lyogc2V0IHVwIHJlc291cmNlcyAqL1xuICA0NTpcdFx0bWVtc2V0KHJlcywgMHgwMCwgc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSkgKiBBUlJBWV9TSVpFKHJlcykpO1xuICA0NjpcdFx0cmVzWzBdLnN0YXJ0ID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMCk7XG4gIDQ3Olx0XHRyZXNbMF0uZW5kID0gcGNpX3Jlc291cmNlX2VuZChwY2ksIDApO1xuICA0ODpcdFx0cmVzWzBdLm5hbWUgPSBQQ0lfRFJJVkVSX05BTUU7XG4gIDQ5Olx0XHRyZXNbMF0uZmxhZ3MgPSBJT1JFU09VUkNFX01FTTtcbiAgNTA6XHRcdHJlc1sxXS5zdGFydCA9IHBjaV9pcnFfdmVjdG9yKHBjaSwgMCk7XG4gIDUxOlx0XHRyZXNbMV0ubmFtZSA9IFBDSV9EUklWRVJfTkFNRTtcbiAgNTI6XHRcdHJlc1sxXS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRO1xuICA1MzpcdFxuICA1NDpcdFx0ZGV2X2luZm8oXHUwMDI2cGNpLVx1MDAzZWRldiwgXCYjMzQ7RU1BQyBwaHlzaWNhbCBiYXNlIGFkZHI6ICVwYVxcblwmIzM0OyxcbiAgNTU6XHRcdFx0IFx1MDAyNnJlc1swXS5zdGFydCk7XG4gIDU2Olx0XG4gIDU3Olx0XHQvKiBzZXQgdXAgbWFjYiBwbGF0Zm9ybSBkYXRhICovXG4gIDU4Olx0XHRtZW1zZXQoXHUwMDI2cGxhdF9kYXRhLCAwLCBzaXplb2YocGxhdF9kYXRhKSk7XG4gIDU5Olx0XG4gIDYwOlx0XHQvKiBpbml0aWFsaXplIGNsb2NrcyAqL1xuICA2MTpcdFx0cGxhdF9kYXRhLnBjbGsgPSBjbGtfcmVnaXN0ZXJfZml4ZWRfcmF0ZShcdTAwMjZwY2ktXHUwMDNlZGV2LCBcJiMzNDtwY2xrXCYjMzQ7LCBOVUxMLCAwLFxuICA2MjpcdFx0XHRcdFx0XHRcdCBHRU1fUENMS19SQVRFKTtcbiAgNjM6XHRcdGlmIChJU19FUlIocGxhdF9kYXRhLnBjbGspKSB7XG4gIDY0Olx0XHRcdGVyciA9IFBUUl9FUlIocGxhdF9kYXRhLnBjbGspO1xuICA2NTpcdFx0XHRnb3RvIGVycl9wY2xrX3JlZ2lzdGVyO1xuICA2NjpcdFx0fVxuICA2NzpcdFxuICA2ODpcdFx0cGxhdF9kYXRhLmhjbGsgPSBjbGtfcmVnaXN0ZXJfZml4ZWRfcmF0ZShcdTAwMjZwY2ktXHUwMDNlZGV2LCBcJiMzNDtoY2xrXCYjMzQ7LCBOVUxMLCAwLFxuICA2OTpcdFx0XHRcdFx0XHRcdCBHRU1fSENMS19SQVRFKTtcbiAgNzA6XHRcdGlmIChJU19FUlIocGxhdF9kYXRhLmhjbGspKSB7XG4gIDcxOlx0XHRcdGVyciA9IFBUUl9FUlIocGxhdF9kYXRhLmhjbGspO1xuICA3MjpcdFx0XHRnb3RvIGVycl9oY2xrX3JlZ2lzdGVyO1xuICA3MzpcdFx0fVxuICA3NDpcdFxuICA3NTpcdFx0Lyogc2V0IHVwIHBsYXRmb3JtIGRldmljZSBpbmZvICovXG4gIDc2Olx0XHRtZW1zZXQoXHUwMDI2cGxhdF9pbmZvLCAwLCBzaXplb2YocGxhdF9pbmZvKSk7XG4gIDc3Olx0XHRwbGF0X2luZm8ucGFyZW50ID0gXHUwMDI2cGNpLVx1MDAzZWRldjtcbiAgNzg6XHRcdHBsYXRfaW5mby5md25vZGUgPSBwY2ktXHUwMDNlZGV2LmZ3bm9kZTtcbiAgNzk6XHRcdHBsYXRfaW5mby5uYW1lID0gUExBVF9EUklWRVJfTkFNRTtcbiAgODA6XHRcdHBsYXRfaW5mby5pZCA9IHBjaS1cdTAwM2VkZXZmbjtcbiAgODE6XHRcdHBsYXRfaW5mby5yZXMgPSByZXM7XG4gIDgyOlx0XHRwbGF0X2luZm8ubnVtX3JlcyA9IEFSUkFZX1NJWkUocmVzKTtcbiAgODM6XHRcdHBsYXRfaW5mby5kYXRhID0gXHUwMDI2cGxhdF9kYXRhO1xuICA4NDpcdFx0cGxhdF9pbmZvLnNpemVfZGF0YSA9IHNpemVvZihwbGF0X2RhdGEpO1xuICA4NTpcdFx0cGxhdF9pbmZvLmRtYV9tYXNrID0gcGNpLVx1MDAzZWRtYV9tYXNrO1xuICA4NjpcdFxuICA4NzpcdFx0LyogcmVnaXN0ZXIgcGxhdGZvcm0gZGV2aWNlICovXG4gIDg4Olx0XHRwZGV2ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX2Z1bGwoXHUwMDI2cGxhdF9pbmZvKTtcbiAgODk6XHRcdGlmIChJU19FUlIocGRldikpIHtcbiAgOTA6XHRcdFx0ZXJyID0gUFRSX0VSUihwZGV2KTtcbiAgOTE6XHRcdFx0Z290byBlcnJfcGxhdF9kZXZfcmVnaXN0ZXI7XG4gIDkyOlx0XHR9XG4gIDkzOlx0XG4gIDk0Olx0XHRwY2lfc2V0X2RydmRhdGEocGNpLCBwZGV2KTtcbiAgOTU6XHRcbiAgOTY6XHRcdHJldHVybiAwO1xuICA5NzpcdFxuICA5ODpcdGVycl9wbGF0X2Rldl9yZWdpc3RlcjpcbiAgOTk6XHRcdGNsa191bnJlZ2lzdGVyX2ZpeGVkX3JhdGUocGxhdF9kYXRhLmhjbGspO1xuIDEwMDpcdFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIxMzk0CgkJCQkJCQlvdXRwdXQ6IDQzCgkJCQkJCQl0aG91Z2h0czogMzMzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIENhZGVuY2UgTUFDQiAvIEdFTSBFdGhlcm5ldCBDb250cm9sbGVyIGZvciBGdXp6aW5nKioKCk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIENhZGVuY2UgTUFDQi9HRU0gZXRoZXJuZXQgY29udHJvbGxlciDigJMgaXQmIzM5O3MgYSB2ZW5kb3Itc3BlY2lmaWMgaGFyZHdhcmUgTUFDLCBsaWtlIHlvdSYjMzk7ZCBmaW5kIG9uIEF0bWVsLCBBVDMyLCBvciBwb3RlbnRpYWxseSBDYWRlbmNlJiMzOTtzIEdFTSBJUCBpbiBYaWxpbnggWnlucSBBUk0gc3lzdGVtcywgRlBHQXMsIG9yIGV2ZW4gYSBQQ0kgcHJvdG90eXBlIGNhcmQuIFRoZSBpbW1lZGlhdGUgcXVlc3Rpb24gaW4gbXkgbWluZCBpcywgb24gYSBzdGFuZGFyZCBhbWQ2NCBzeXN0ZW0sIHJ1bm5pbmcgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCBsaWtlIEdDRSBvciBRRU1VLCBjYW4gSSAqYWN0dWFsbHkqIHJlYWNoIGFuZCBleGVjdXRlIHRoaXMgY29kZSwgc3BlY2lmaWNhbGx5IHdpdGggYENPTkZJR19NQUNCYCBlbmFibGVkPwoKSSBuZWVkIHRvIHJlZmVyIHRvIHRoZSBmdXp6aW5nIGd1aWRlbGluZXMuIFRoZSBrZXkgdGFrZWF3YXksIHRoZSAqcHJpbWFyeSogZ2F0ZWtlZXBlciwgaXMgcmVhY2hhYmlsaXR5LiBUaGUgZ3VpZGVsaW5lcyBzdGF0ZSBjbGVhcmx5IHRoYXQgZnV6emluZyBpcyBvbmx5IHZhbGlkIGZvciBjb2RlIHRoYXQgKmV4ZWN1dGVzKiB3aXRoaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgc2V0dXBzLCB1c2luZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzLiBJZiB0aGUgY29kZSBpcywgaW4gYSB3b3JkLCB1bnJlYWNoYWJsZSwgdGhlbiBmdXp6aW5nIGlzIG91dCBvZiB0aGUgcXVlc3Rpb24sIHJlZ2FyZGxlc3Mgb2YgaXRzIGludGVybmFsIGNvbXBsZXhpdHkgb3IgaWYgdGhlcmUgYXJlIGFkZGl0aW9uYWwgYXNzZXJ0aW9uIHN0YXRlbWVudHMuCgpOb3csIGFjY29yZGluZyB0byB0aGUgZ3VpZGVsaW5lcywgSSBjYW4gbWFyayBzb21ldGhpbmcgYXMgYFdvcnRoRnV6emluZz1mYWxzZWAgb25seSBpZiB0aGUgbW9kaWZpZWQgY29kZSBmYWxscyBpbnRvIGNlcnRhaW4gY2F0ZWdvcmllcy4gVGhlIGNydWNpYWwgb25lIGZvciBtZSBoZXJlIGlzIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSBoYXJkd2FyZSwgc3VjaCBhcyB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgb3IgZHJpdmVycyB0aGF0IG5lZWQgc3BlY2lmaWMgcGh5c2ljYWwgaGFyZHdhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRocyBhcmUgYWxzbyBub3Qgc3VpdGFibGUuCgpOb3csIGxldCYjMzk7cyBzaGlmdCBmb2N1cyB0byBgbWFjYl9wdHAuY2AuIEkgbmVlZCB0byBkaWcgaW50byB0aGF0IGZpbGUgYW5kIHNlZSB3aGF0IGl0IGRvZXMuIEl0cyByb2xlIGluIHRoZSBvdmVyYWxsIHBpY3R1cmUsIGFuZCBpdHMgcmVsYXRpb24gdG8gdGhlIGhhcmR3YXJlLCBuZWVkcyB0byBiZSBpbnNwZWN0ZWQuIFNvLCBsZXQgbWUgb3BlbiB0aGF0IHVwIGFuZCBpbnZlc3RpZ2F0ZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTAgMDQ6Mzg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDgwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgIDE6XHQvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG4gICAyOlx0LypcbiAgIDM6XHQgKiAxNTg4IFBUUCBzdXBwb3J0IGZvciBDYWRlbmNlIEdFTSBkZXZpY2UuXG4gICA0Olx0ICpcbiAgIDU6XHQgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQ2FkZW5jZSBEZXNpZ24gU3lzdGVtcyAtIGh0dHBzOi8vd3d3LmNhZGVuY2UuY29tXG4gICA2Olx0ICpcbiAgIDc6XHQgKiBBdXRob3JzOiBSYWZhbCBPemllYmxvIFx1MDAzY3JhZmFsb0BjYWRlbmNlLmNvbVx1MDAzZVxuICAgODpcdCAqICAgICAgICAgIEJhcnRvc3ogRm9sdGEgXHUwMDNjYmZvbHRhQGNhZGVuY2UuY29tXHUwMDNlXG4gICA5Olx0ICovXG4gIDEwOlx0I2luY2x1ZGUgXHUwMDNjbGludXgva2VybmVsLmhcdTAwM2VcbiAgMTE6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC90eXBlcy5oXHUwMDNlXG4gIDEyOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvY2xrLmhcdTAwM2VcbiAgMTM6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9kZXZpY2UuaFx1MDAzZVxuICAxNDpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2V0aGVyZGV2aWNlLmhcdTAwM2VcbiAgMTU6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFx1MDAzZVxuICAxNjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L3RpbWU2NC5oXHUwMDNlXG4gIDE3Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvcHRwX2NsYXNzaWZ5LmhcdTAwM2VcbiAgMTg6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9pZl9ldGhlci5oXHUwMDNlXG4gIDE5Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvaWZfdmxhbi5oXHUwMDNlXG4gIDIwOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvbmV0X3RzdGFtcC5oXHUwMDNlXG4gIDIxOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvY2lyY19idWYuaFx1MDAzZVxuICAyMjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L3NwaW5sb2NrLmhcdTAwM2VcbiAgMjM6XHRcbiAgMjQ6XHQjaW5jbHVkZSBcJiMzNDttYWNiLmhcJiMzNDtcbiAgMjU6XHRcbiAgMjY6XHQjZGVmaW5lICBHRU1fUFRQX1RJTUVSX05BTUUgXCYjMzQ7Z2VtLXB0cC10aW1lclwmIzM0O1xuICAyNzpcdFxuICAyODpcdHN0YXRpYyBzdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAgKm1hY2JfcHRwX2Rlc2Moc3RydWN0IG1hY2IgKmJwLFxuICAyOTpcdFx0XHRcdFx0XHQgICAgICAgc3RydWN0IG1hY2JfZG1hX2Rlc2MgKmRlc2MpXG4gIDMwOlx0e1xuICAzMTpcdFx0aWYgKCFtYWNiX2RtYV9wdHAoYnApKVxuICAzMjpcdFx0XHRyZXR1cm4gTlVMTDtcbiAgMzM6XHRcbiAgMzQ6XHRcdGlmIChtYWNiX2RtYTY0KGJwKSlcbiAgMzU6XHRcdFx0cmV0dXJuIChzdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAgKilcbiAgMzY6XHRcdFx0XHRcdCgodTggKilkZXNjICYjNDM7IHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzYylcbiAgMzc6XHRcdFx0XHRcdCYjNDM7IHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzY182NCkpO1xuICAzODpcdFx0ZWxzZVxuICAzOTpcdFx0XHRyZXR1cm4gKHN0cnVjdCBtYWNiX2RtYV9kZXNjX3B0cCAqKVxuICA0MDpcdFx0XHRcdFx0KCh1OCAqKWRlc2MgJiM0Mzsgc2l6ZW9mKHN0cnVjdCBtYWNiX2RtYV9kZXNjKSk7XG4gIDQxOlx0fVxuICA0MjpcdFxuICA0MzpcdHN0YXRpYyBpbnQgZ2VtX3RzdV9nZXRfdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgc3RydWN0IHRpbWVzcGVjNjQgKnRzLFxuICA0NDpcdFx0XHRcdCAgICBzdHJ1Y3QgcHRwX3N5c3RlbV90aW1lc3RhbXAgKnN0cylcbiAgNDU6XHR7XG4gIDQ2Olx0XHRzdHJ1Y3QgbWFjYiAqYnAgPSBjb250YWluZXJfb2YocHRwLCBzdHJ1Y3QgbWFjYiwgcHRwX2Nsb2NrX2luZm8pO1xuICA0NzpcdFx0dW5zaWduZWQgbG9uZyBmbGFncztcbiAgNDg6XHRcdGxvbmcgZmlyc3QsIHNlY29uZDtcbiAgNDk6XHRcdHUzMiBzZWNsLCBzZWNoO1xuICA1MDpcdFxuICA1MTpcdFx0c3Bpbl9sb2NrX2lycXNhdmUoXHUwMDI2YnAtXHUwMDNldHN1X2Nsa19sb2NrLCBmbGFncyk7XG4gIDUyOlx0XHRwdHBfcmVhZF9zeXN0ZW1fcHJldHMoc3RzKTtcbiAgNTM6XHRcdC8qIHB0cF9yZWFkX3N5c3RlbV9wcmV0cygpIHVzZXMgc21wX3JtYigpIGludGVybmFsbHksXG4gIDU0Olx0XHQgKiB3aGljaCBkb2VzIG5vdCBndWFyYW50ZWUgb3JkZXJpbmcgYWdhaW5zdCBNTUlPIHJlYWRzLlxuICA1NTpcdFx0ICovXG4gIDU2Olx0XHRybWIoKTtcbiAgNTc6XHRcdGZpcnN0ID0gZ2VtX3JlYWRsKGJwLCBUTik7XG4gIDU4Olx0XHQvKiBFbnN1cmUgdGhlIFBIQyByZWFkIGNvbXBsZXRlcyBiZWZvcmUgdGFraW5nXG4gIDU5Olx0XHQgKiB0aGUgcG9zdCB0aW1lc3RhbXAuXG4gIDYwOlx0XHQgKi9cbiAgNjE6XHRcdHJtYigpO1xuICA2MjpcdFx0cHRwX3JlYWRfc3lzdGVtX3Bvc3R0cyhzdHMpO1xuICA2MzpcdFx0c2VjbCA9IGdlbV9yZWFkbChicCwgVFNMKTtcbiAgNjQ6XHRcdHNlY2ggPSBnZW1fcmVhZGwoYnAsIFRTSCk7XG4gIDY1Olx0XHRzZWNvbmQgPSBnZW1fcmVhZGwoYnAsIFROKTtcbiAgNjY6XHRcbiAgNjc6XHRcdC8qIHRlc3QgZm9yIG5zZWMgcm9sbG92ZXIgKi9cbiAgNjg6XHRcdGlmIChmaXJzdCBcdTAwM2Ugc2Vjb25kKSB7XG4gIDY5Olx0XHRcdC8qIGlmIHNvLCB1c2UgbGF0ZXIgcmVhZCBcdTAwMjYgcmUtcmVhZCBzZWNvbmRzXG4gIDcwOlx0XHRcdCAqIChhc3N1bWUgYWxsIGRvbmUgd2l0aGluIDFzKVxuICA3MTpcdFx0XHQgKi9cbiAgNzI6XHRcdFx0cHRwX3JlYWRfc3lzdGVtX3ByZXRzKHN0cyk7XG4gIDczOlx0XHRcdC8qIHB0cF9yZWFkX3N5c3RlbV9wcmV0cygpIHVzZXMgc21wX3JtYigpIGludGVybmFsbHksXG4gIDc0Olx0XHRcdCAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuXG4gIDc1Olx0XHRcdCAqL1xuICA3NjpcdFx0XHRybWIoKTtcbiAgNzc6XHRcdFx0dHMtXHUwMDNldHZfbnNlYyA9IGdlbV9yZWFkbChicCwgVE4pO1xuICA3ODpcdFx0XHQvKiBFbnN1cmUgdGhlIFBIQyByZWFkIGNvbXBsZXRlcyBiZWZvcmUgdGFraW5nXG4gIDc5Olx0XHRcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cbiAgODA6XHRcdFx0ICovXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzMzY0CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogNzYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGhvdWdodCBwcm9jZXNzLCBkaXN0aWxsZWQ6CgoqKkZpbmRpbmcgdGhlIFNvdXJjZSBvZiBhIFBUUCBUaW1lIENhbGxiYWNrKioKCk9rYXksIHNvIGBnZW1fdHN1X2dldF90aW1lKClg4oCmIHJpZ2h0LCB0aGF0JiMzOTtzIGEgUFRQIGNsb2NrIGNhbGxiYWNrLCBzcGVjaWZpY2FsbHkgdGhlIG9uZSBkZWZpbmVkIGFzIGBwdHBfY2xvY2tfaW5mby5nZXR0aW1leDY0YCB3aXRoaW4gdGhlIGBtYWNiX3B0cC5jYCBtb2R1bGUuIFRoZSBmdW5jdGlvbiYjMzk7cyBwdXJwb3NlIGlzIGNsZWFyLCBidXQgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgKndoZXJlKiBpdCYjMzk7cyBiZWluZyByZWdpc3RlcmVkLCB3aGljaCBkZXZpY2Ugb3IgZHJpdmVyIGlzIGFjdHVhbGx5IHVzaW5nIGl0LiBJIG5lZWQgdG8gdHJhY2UgaXRzIHVzYWdlLiBJJiMzOTtsbCBzZWFyY2ggdGhlIGNvZGViYXNlIGRpcmVjdGx5IGZvciBpbnN0YW5jZXMgb2YgYGdlbV90c3VfZ2V0X3RpbWVgIGFuZCBzZWUgd2hhdCBjb21lcyB1cC4gVGhhdCBzaG91bGQgcG9pbnQgbWUgdG8gdGhlIHJlbGV2YW50IGluaXRpYWxpemF0aW9uIG9yIHJlZ2lzdHJhdGlvbiBjb2RlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMCAwNDozODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtnZW1fdHN1X2dldF90aW1lJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jPTI4PXN0YXRpYyBzdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAgKm1hY2JfcHRwX2Rlc2Moc3RydWN0IG1hY2IgKmJwLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYy00Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYzo0MzpzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYy00NC1cdFx0XHQgICAgc3RydWN0IHB0cF9zeXN0ZW1fdGltZXN0YW1wICpzdHMpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jPTE3NT1zdGF0aWMgaW50IGdlbV9wdHBfYWRqdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgczY0IGRlbHRhKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYy0xODYtXHRpZiAoZGVsdGEgXHUwMDNlIFRTVV9OU0VDX01BWF9WQUwpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYzoxODc6XHRcdGdlbV90c3VfZ2V0X3RpbWUoXHUwMDI2YnAtXHUwMDNlcHRwX2Nsb2NrX2luZm8sIFx1MDAyNm5vdywgTlVMTCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMtMTg4LVx0XHRub3cgPSB0aW1lc3BlYzY0X2FkZChub3csIHRoZW4pO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYz0yMDc9c3RhdGljIGNvbnN0IHN0cnVjdCBwdHBfY2xvY2tfaW5mbyBnZW1fcHRwX2NhcHNfdGVtcGxhdGUgPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTIxNy1cdC5hZGp0aW1lXHQ9IGdlbV9wdHBfYWRqdGltZSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYzoyMTg6XHQuZ2V0dGltZXg2NFx0PSBnZW1fdHN1X2dldF90aW1lLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTIxOS1cdC5zZXR0aW1lNjRcdD0gZ2VtX3RzdV9zZXRfdGltZSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmM9MjY0PXN0YXRpYyBpbnQgZ2VtX2h3X3RpbWVzdGFtcChzdHJ1Y3QgbWFjYiAqYnAsIHUzMiBkbWFfZGVzY190c18xLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYy0yNzYtXHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYzoyNzc6XHRnZW1fdHN1X2dldF90aW1lKFx1MDAyNmJwLVx1MDAzZXB0cF9jbG9ja19pbmZvLCBcdTAwMjZ0c3UsIE5VTEwpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTI3OC1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTAgMDQ6Mzg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjQyOTUKCQkJCQkJCW91dHB1dDogMTQwCgkJCQkJCQl0aG91Z2h0czogOTEzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgVmVyZGljdDogU3RydWN0dXJhbGx5IFVucmVhY2hhYmxlIENvZGUqKgoKT2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4gRmlyc3QsIEkgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoZSBDYWRlbmNlIE1BQ0IgZGV2aWNlLCBzcGVjaWZpY2FsbHkgdGhlIGBtYWNiX3B0cC5jYCBkcml2ZXIsIGlzIGV2ZW4gYWNjZXNzaWJsZSBpbiBhIHN0YW5kYXJkIFFFTVUgeDg2XzY0IGZ1enppbmcgZW52aXJvbm1lbnQuIFRoZSBpbml0aWFsIGNoZWNrIHJldmVhbHMgdGhhdCBzdGFuZGFyZCBRRU1VIHByaW1hcmlseSBlbXVsYXRlcyBhIHNldCBvZiBuZXR3b3JrIGRldmljZXMsIGJ1dCBub25lIG9mIHRoZW0gYXJlIENhZGVuY2UgR0VNLiBXZSYjMzk7cmUgdGFsa2luZyBhYm91dCBlMTAwMCwgdmlydGlvLCBydGw4MTM5LCBhbmQgc2ltaWxhciBjb21tb24gTklDcyDigJMgbm90aGluZyB0aGF0IGludm9sdmVzIGEgQ2FkZW5jZSBHRU0gY29udHJvbGxlciwgZXNwZWNpYWxseSBub3Qgb24gYSBQQ0kgYnVzIHdpdGhpbiB0aGUgeDg2XzY0IGFyY2hpdGVjdHVyZS4KCk15IFFFTVUgc291cmNlIGRpdmUgY29uZmlybWVkIHRoaXMuIFRoZSBgY2FkZW5jZV9nZW0uY2AgZHJpdmVyICpkb2VzKiBleGlzdCwgYnV0IGl0JiMzOTtzIGluc3RhbnRpYXRlZCBhcyBhIHN5c2J1cyBkZXZpY2UsIGFuZCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBjb250ZXh0IG9mIEFSTSBTb0NzIGxpa2UgdGhlIFhpbGlueCBaeW5xIGFuZCBWZXJzYWwgcGxhdGZvcm1zLiBRRU1VJiMzOTtzIHg4Nl82NCBQQy9RMzUgZW11bGF0aW9uIGRvZXNuJiMzOTt0IHByb2JlIG9yIGluc3RhbnRpYXRlIHRoaXMgZGV2aWNlLgoKQWxyaWdodCwgd2hhdCBhYm91dCBjbGV2ZXIgdHJpY2tzIHdpdGggdmlydHVhbCBidXNlcyBvciBzeXprYWxsZXI/IENhbiBzeXprYWxsZXIgc29tZWhvdyBmb3JjZSB0aGUgZGV2aWNlIHRvIGNvbWUgaW50byBleGlzdGVuY2UsIGVpdGhlciBhcyBhIHBsYXRmb3JtIGRldmljZSBvciBhIFBDSSBkZXZpY2U/IEkmIzM5O20gZmFtaWxpYXIgd2l0aCB0aG9zZSBjYXBhYmlsaXRpZXMsIGJ1dCBpbiB0aGlzIGNhc2UsIHRoZSBhbnN3ZXIgaXMgYSBmaXJtIG5vLiBTeXprYWxsZXIgcmVsaWVzIG9uIHRoZSBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50LCBhbmQgaXQmIzM5O3Mgbm90IGdvaW5nIHRvIGNvbmp1cmUgdXAgcGh5c2ljYWwgb3Igc3BlY2lhbGl6ZWQgQ2FkZW5jZSBoYXJkd2FyZS4gRnVydGhlcm1vcmUsIGxvb2tpbmcgYXQgdGhlIHN5emthbGxlciBkb2N1bWVudGF0aW9uLCB0aGlzIHNpdHVhdGlvbiBmYWxscyBzcXVhcmVseSBpbnRvIHRoZSAmIzM0O1N0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSBoYXJkd2FyZSYjMzQ7IGNhdGVnb3J5LgoKTGV0JiMzOTtzIG5haWwgZG93biB0aGlzIHBvaW50LiBUaGUgY29yZSBmdW5jdGlvbiBpbiBxdWVzdGlvbiBpcyBgZ2VtX3RzdV9nZXRfdGltZWAuIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhlIENhZGVuY2UgR0VNIGRldmljZSBpcyBzdWNjZXNzZnVsbHkgcHJvYmVkIGFuZCBpbml0aWFsaXplZCDigJMgYSBwcm9jZXNzIHRoYXQgaW52b2x2ZXMgdGhlIGBnZW1fcHRwX2luaXRgIGZ1bmN0aW9uLCBjcmVhdGluZyBhIFBUUCBjbG9jayBmb3IgdGhlIG5ldHdvcmsgaW50ZXJmYWNlLiBXaXRob3V0IHRoYXQgaGFyZHdhcmUgcHJvYmUsIGBnZW1fdHN1X2dldF90aW1lYCAqY2Fubm90KiBiZSBleGVjdXRlZC4gV2UmIzM5O3JlIGNoYXNpbmcgZ2hvc3RzIGhlcmUuCgpTbywgbGV0JiMzOTtzIGNsYXJpZnkgdGhlIHBhdGNoJiMzOTtzIHB1cnBvc2UuIEl0JiMzOTtzIGFkZGluZyBgcm1iKClgIGJhcnJpZXJzIGJlZm9yZSBhbmQgYWZ0ZXIgYGdlbV9yZWFkbChicCwgVE4pYCB3aXRoaW4gYGdlbV90c3VfZ2V0X3RpbWVgLiBUaGVzZSBiYXJyaWVycyBhcmUgbWVhbnQgdG8gZW5mb3JjZSBtZW1vcnkgb3JkZXJpbmcgZm9yIE1NSU8gcmVnaXN0ZXIgcmVhZHMsIHN5bmNocm9uaXppbmcgdGhlbSB3aXRoIHN5c3RlbSB0aW1lc3RhbXBzIGFzIHBhcnQgb2YgdGhlIFBUUCAoUHJlY2lzaW9uIFRpbWUgUHJvdG9jb2wpIGZ1bmN0aW9uYWxpdHkuIFNvLCBpdCYjMzk7cyBhYm91dCBoYXJkd2FyZSBtZW1vcnktYmFycmllciBvcmRlcmluZyBmb3IgTU1JTyByZWFkcywgYnV0IGZvciBzcGVjaWZpYyBDYWRlbmNlIEdFTSBoYXJkd2FyZS4KClRoZXJlZm9yZSwgdGhpcyBwYXRjaCBkaXJlY3RseSBtb2RpZmllcyB0aGUgY29kZSBmb3IgdGhlIENhZGVuY2UgTUFDQi9HRU0gRXRoZXJuZXQgY29udHJvbGxlciwgd2hpY2ggaXMgdmVuZG9yLXNwZWNpZmljIGhhcmR3YXJlLCBhbmQgaXMgYWJzZW50IGZyb20gc3RhbmRhcmQgeDg2XzY0IChhbWQ2NCkgZW52aXJvbm1lbnRzLiBJdCBjYW4mIzM5O3QgYmUgcmVhY2hlZCBiZWNhdXNlIG9mIHRoZSBhcmNoaXRlY3R1cmUgb2YgdGhlIHNpbXVsYXRlZCBtYWNoaW5lLgoKSGVyZSYjMzk7cyB0aGUgZmluYWxpemVkIG91dHB1dCBmb3JtYXQ6CgoqICAgYFdvcnRoRnV6emluZ2A6IGZhbHNlCiogICBgRm9jdXNTeW1ib2xzYDogXFsgXQoqICAgYEVuYWJsZUNvbmZpZ3NgOiBcWyBdCiogICBgUmVhc29uaW5nYDogVGhlIHBhdGNoIG1vZGlmaWVzIGRyaXZlciBjb2RlIGZvciB0aGUgQ2FkZW5jZSBNQUNCL0dFTSBFdGhlcm5ldCBjb250cm9sbGVyIChgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jYCkuIFRoaXMgaGFyZHdhcmUgaXMgbm90IHByZXNlbnQgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgeDg2XzY0IChhbWQ2NCkgZnV6emluZyBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgYW5kIG5vdCB3YXJyYW50aW5nIGZ1enppbmcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBNTUlPIHJlYWQgbWVtb3J5IGJhcnJpZXJzIChybWIpIGluIGdlbV90c3VfZ2V0X3RpbWUoKSB3aXRoaW4gdGhlIENhZGVuY2UgTUFDQi9HRU0gRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMpLiBUaGlzIGRyaXZlciByZXF1aXJlcyB2ZW5kb3Itc3BlY2lmaWMgQ2FkZW5jZSBNQUNCL0dFTSBoYXJkd2FyZSAocHJpbWFyaWx5IGZvdW5kIG9uIEF0bWVsL1hpbGlueCBTb0NzKSB0aGF0IGlzIG5vdCBhdmFpbGFibGUgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgYW1kNjQgdmlydHVhbGl6ZWQgZnV6emluZyBlbnZpcm9ubWVudHMgKFFFTVUvR0NFKSwgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgTU1JTyByZWFkIG1lbW9yeSBiYXJyaWVycyAocm1iKSBpbiBnZW1fdHN1X2dldF90aW1lKCkgd2l0aGluIHRoZSBDYWRlbmNlIE1BQ0IvR0VNIEV0aGVybmV0IGRyaXZlciAoZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgdmVuZG9yLXNwZWNpZmljIENhZGVuY2UgTUFDQi9HRU0gaGFyZHdhcmUgKHByaW1hcmlseSBmb3VuZCBvbiBBdG1lbC9YaWxpbnggU29DcykgdGhhdCBpcyBub3QgYXZhaWxhYmxlIG9yIGVtdWxhdGVkIGluIHN0YW5kYXJkIGFtZDY0IHZpcnR1YWxpemVkIGZ1enppbmcgZW52aXJvbm1lbnRzIChRRU1VL0dDRSksIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzE8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMCAwNDozODwvdGQ+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+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDktMTBUMDQ6Mzc6MzguODY5MzcxMjgyWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDUyOTI3Nzc3OTEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJcIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIE1NSU8gcmVhZCBtZW1vcnkgYmFycmllcnMgKHJtYikgaW4gZ2VtX3RzdV9nZXRfdGltZSgpIHdpdGhpbiB0aGUgQ2FkZW5jZSBNQUNCL0dFTSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYykuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHZlbmRvci1zcGVjaWZpYyBDYWRlbmNlIE1BQ0IvR0VNIGhhcmR3YXJlIChwcmltYXJpbHkgZm91bmQgb24gQXRtZWwvWGlsaW54IFNvQ3MpIHRoYXQgaXMgbm90IGF2YWlsYWJsZSBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCBhbWQ2NCB2aXJ0dWFsaXplZCBmdXp6aW5nIGVudmlyb25tZW50cyAoUUVNVS9HQ0UpLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgc3RydWN0dXJhbGx5IHVucmVhY2hhYmxlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTBUMDQ6Mzc6MzguODY5Mzc3MTAyWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NzkzNzUyNTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBiNGY3YjU3ZGU1YzBjMDFlZGM5ZTg4NWEyNWFlMWZkMTBjZmVjNWFjXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUaHUgU2VwIDEwIDA0OjM3OjM4IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuY1xcbmluZGV4IGU1MTk1ZDdkYWMxZDUuLjRmYjI4NzYwOGRjNDggMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jXFxuQEAgLTUwLDcgKzUwLDE1IEBAIHN0YXRpYyBpbnQgZ2VtX3RzdV9nZXRfdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgc3RydWN0IHRpbWVzcGVjNjQgKnRzLFxcbiBcXG4gXFx0c3Bpbl9sb2NrX2lycXNhdmUoXFx1MDAyNmJwLVxcdTAwM2V0c3VfY2xrX2xvY2ssIGZsYWdzKTtcXG4gXFx0cHRwX3JlYWRfc3lzdGVtX3ByZXRzKHN0cyk7XFxuK1xcdC8qIHB0cF9yZWFkX3N5c3RlbV9wcmV0cygpIHVzZXMgc21wX3JtYigpIGludGVybmFsbHksXFxuK1xcdCAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuXFxuK1xcdCAqL1xcbitcXHRybWIoKTtcXG4gXFx0Zmlyc3QgPSBnZW1fcmVhZGwoYnAsIFROKTtcXG4rXFx0LyogRW5zdXJlIHRoZSBQSEMgcmVhZCBjb21wbGV0ZXMgYmVmb3JlIHRha2luZ1xcbitcXHQgKiB0aGUgcG9zdCB0aW1lc3RhbXAuXFxuK1xcdCAqL1xcbitcXHRybWIoKTtcXG4gXFx0cHRwX3JlYWRfc3lzdGVtX3Bvc3R0cyhzdHMpO1xcbiBcXHRzZWNsID0gZ2VtX3JlYWRsKGJwLCBUU0wpO1xcbiBcXHRzZWNoID0gZ2VtX3JlYWRsKGJwLCBUU0gpO1xcbkBAIC02Miw3ICs3MCwxNSBAQCBzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cyxcXG4gXFx0XFx0ICogKGFzc3VtZSBhbGwgZG9uZSB3aXRoaW4gMXMpXFxuIFxcdFxcdCAqL1xcbiBcXHRcXHRwdHBfcmVhZF9zeXN0ZW1fcHJldHMoc3RzKTtcXG4rXFx0XFx0LyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSxcXG4rXFx0XFx0ICogd2hpY2ggZG9lcyBub3QgZ3VhcmFudGVlIG9yZGVyaW5nIGFnYWluc3QgTU1JTyByZWFkcy5cXG4rXFx0XFx0ICovXFxuK1xcdFxcdHJtYigpO1xcbiBcXHRcXHR0cy1cXHUwMDNldHZfbnNlYyA9IGdlbV9yZWFkbChicCwgVE4pO1xcbitcXHRcXHQvKiBFbnN1cmUgdGhlIFBIQyByZWFkIGNvbXBsZXRlcyBiZWZvcmUgdGFraW5nXFxuK1xcdFxcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cXG4rXFx0XFx0ICovXFxuK1xcdFxcdHJtYigpO1xcbiBcXHRcXHRwdHBfcmVhZF9zeXN0ZW1fcG9zdHRzKHN0cyk7XFxuIFxcdFxcdHNlY2wgPSBnZW1fcmVhZGwoYnAsIFRTTCk7XFxuIFxcdFxcdHNlY2ggPSBnZW1fcmVhZGwoYnAsIFRTSCk7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM3OjM5LjM0OTUwMTQxNVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImNvcmUiLCJEdXJhdGlvbiI6NDQ4MTI2MzM0OTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgTU1JTyByZWFkIG1lbW9yeSBiYXJyaWVycyAocm1iKSBpbiBnZW1fdHN1X2dldF90aW1lKCkgd2l0aGluIHRoZSBDYWRlbmNlIE1BQ0IvR0VNIEV0aGVybmV0IGRyaXZlciAoZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgdmVuZG9yLXNwZWNpZmljIENhZGVuY2UgTUFDQi9HRU0gaGFyZHdhcmUgKHByaW1hcmlseSBmb3VuZCBvbiBBdG1lbC9YaWxpbnggU29DcykgdGhhdCBpcyBub3QgYXZhaWxhYmxlIG9yIGVtdWxhdGVkIGluIHN0YW5kYXJkIGFtZDY0IHZpcnR1YWxpemVkIGZ1enppbmcgZW52aXJvbm1lbnRzIChRRU1VL0dDRSksIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lciBhbmQgc2VjdXJpdHkgZW5naW5lZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGV2YWx1YXRlIHdoZXRoZXIgaXQgd2FycmFudHMgZnV6emluZyB3aXRoIHN5emthbGxlci5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24gaW50ZXJuYWwgYXNzdW1wdGlvbnMuIFlvdSBtdXN0IGFjdGl2ZWx5IHVzZSB5b3VyIGNvZGUgYWNjZXNzXG50b29scyB0byBpbnNwZWN0IHRoZSBhY3R1YWwgc291cmNlIGNvZGUsIGNhbGxlcnMsIGFuZCBzdXJyb3VuZGluZyBjb250ZXh0LlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMS4gQ09SRSBUUklBR0UgUEhJTE9TT1BIWVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRoZSBnb2FsIG9mIHBhdGNoIGZ1enppbmcgaXMgdG8gZGlzY292ZXIgY3Jhc2hlcywgcmVncmVzc2lvbnMsIGV4cG9zZWQgbGF0ZW50IGJ1Z3MsXG5hbmQgbmV3bHkgdHJpZ2dlcmVkIGFzc2VydGlvbnMgaW50cm9kdWNlZCBieSB0aGUgcGF0Y2ggc2VyaWVzLlxuXG4tIFJFQUNIQUJJTElUWSBJUyBUSEUgUFJJTUFSWSBHQVRFOlxuICBGdXp6aW5nIGNhbiBvbmx5IGRpc2NvdmVyIGJ1Z3MgaW4gY29kZSB0aGF0IGNhbiBhY3R1YWxseSBleGVjdXRlIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkXG4gIGVudmlyb25tZW50cyAoR0NFIG9yIFFFTVUsIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzIGxpa2UgVVNCIGdhZGdldHMsIG5ldGRldiwgdHVuL3RhcCkuXG4gIElmIHRoZSBtb2RpZmllZCBjb2RlIGlzIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSAoc2VlIFNlY3Rpb24gMiksIGl0IE1VU1QgTk9UIGJlIGZ1enplZCxcbiAgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGFkZHMgYXNzZXJ0aW9ucyBvciBjb21wbGV4IGxvZ2ljLlxuXG4tIERPIE5PVCBCTElORExZIFRSVVNUIFwiTk8gRlVOQ1RJT05BTCBDSEFOR0VcIiAoTkZDSSkgT1IgXCJSRUZBQ1RPUklOR1wiIENMQUlNUzpcbiAgUGF0Y2ggYXV0aG9ycyByb3V0aW5lbHkgbGFiZWwgY2hhbmdlcyBhcyBcImNsZWFudXBzXCIsIFwicmVmYWN0b3JpbmdzXCIsIG9yIHN0YXRlXG4gIFwiTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWRcIi4gRG8gTk9UIHRha2UgdGhlc2UgY2xhaW1zIGF0IGZhY2UgdmFsdWUuXG4gIENvZGUgcmVmYWN0b3JpbmdzIHRoYXQgcmVhcnJhbmdlIGxvZ2ljLCBpbnRyb2R1Y2UgaGVscGVyIGZ1bmN0aW9ucywgb3IgYWx0ZXIgc3RhdGUgbWFuYWdlbWVudFxuICBpbiBjb3JlIHN1YnN5c3RlbXMgZnJlcXVlbnRseSBpbnRyb2R1Y2Ugc3VidGxlIHNlbWFudGljIHNoaWZ0cyBvciB1bmNvdmVyIGxhdGVudCBrZXJuZWwgYnVncy5cbiAgSWYgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSBpcyBtb2RpZmllZCBvciByZWZhY3RvcmVkLCBpdCBNVVNUIGJlIGZ1enplZC5cblxuLSBORVcgT1IgTU9ESUZJRUQgQVNTRVJUSU9OUyBJTiBSRUFDSEFCTEUgQ09ERSBNVVNUIEJFIEZVWlpFRDpcbiAgV2hlbiBhIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXMgcnVudGltZSBjaGVja3Mgb3IgYXNzZXJ0aW9ucyAoZS5nLiwgV0FSTl9PTiosIFZNX1dBUk5fT04qLFxuICBCVUdfT04qLCBsb2NrZGVwX2Fzc2VydCopIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLCBpdCBlbmZvcmNlcyBuZXcgb3Igc3RyaWN0ZXIgaW52YXJpYW50cy5cbiAgRXZlbiBpZiB0aGUgYXV0aG9yIGJlbGlldmVzIHRoZSBpbnZhcmlhbnQgYWx3YXlzIGhvbGRzLCBmdXp6aW5nIGlzIGVzc2VudGlhbCB0byB2ZXJpZnkgd2hldGhlclxuICBhbiB1bnVzdWFsIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMgY2FuIHZpb2xhdGUgaXQuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4yLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9ZmFsc2UgKE5FR0FUSVZFIENSSVRFUklBKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgT05MWSBJRiBhbGwgbW9kaWZpZWQgY29kZSBmYWxscyBzdHJpY3RseSBpbnRvIG9uZSBvciBtb3JlIG9mIHRoZXNlIGNhdGVnb3JpZXM6XG5cbi0gTm9uLWtlcm5lbCBhbmQgbm9uLWV4ZWN1dGFibGUgY2hhbmdlczpcbiAgKiBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBjb21tZW50cywgb3Igc3BlbGxpbmcgZml4ZXMuXG4gICogVXNlci1zcGFjZSBkaXJlY3Rvcmllcywgc2VsZi10ZXN0cywgc2FtcGxlcywgb3Igc2NyaXB0cyAoZS5nLiwgdG9vbHMvLCBzYW1wbGVzLywgc2NyaXB0cy8sIHVzci8pXG4gICAgdGhhdCBkbyBub3QgYWZmZWN0IHRoZSBjb21waWxlZCBrZXJuZWwgaW1hZ2UgKHZtbGludXgpIG9yIGtlcm5lbCBtb2R1bGVzLlxuICAqIFB1cmVseSBkZWNvcmF0aXZlIGxvZ2dpbmcgKGUuZy4sIG1lc3NhZ2Ugc3RyaW5ncyBpbiBwcl9lcnIsIHByaW50aywgZGV2X2luZm8pIG9yIHRyYWNlcG9pbnRzXG4gICAgdGhhdCBkbyBub3QgYWx0ZXIgY29udHJvbCBmbG93IG9yIGRhdGEgc3RydWN0dXJlcy5cbiAgKiBCdWlsZCBzeXN0ZW0gb3IgS2NvbmZpZyBjaGFuZ2VzIHRoYXQgZG8gbm90IGFsdGVyIGNvbXBpbGVkIEMgbG9naWMuXG4tIFN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSBoYXJkd2FyZTpcbiAgKiBWZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gICAgaW9uaWMsIGFtZGdwdSkgcmVxdWlyaW5nIHBoeXNpY2FsIEFTSUMvUENJZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gVW5yZWFjaGFibGUgZXhlY3V0aW9uIHBhdGhzOlxuICAqIERyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKC5yZW1vdmUsIC5zaHV0ZG93biwgcGNpX3VucmVnaXN0ZXJfZHJpdmVyKSBleGVjdXRlZCBvbmx5IGR1cmluZ1xuICAgIHBoeXNpY2FsIFBDSSBob3QtdW5wbHVnIG9yIG1hbnVhbCBzeXNmcyBkcml2ZXIgdW5iaW5kaW5nLlxuICAqIENvZGUgcGF0aHMgZXhjbHVzaXZlIHRvIGFyY2hpdGVjdHVyZXMgb3RoZXIgdGhhbiB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZS5cblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjMuIFdIRU4gVE8gUkVUVVJOIFdvcnRoRnV6emluZz10cnVlIChQT1NJVElWRSBDUklURVJJQSlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5SZXR1cm4gV29ydGhGdXp6aW5nPXRydWUgd2hlbmV2ZXIgdGhlIHBhdGNoIHRvdWNoZXMgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSwgaW5jbHVkaW5nOlxuLSBDb3JlIFN1YnN5c3RlbXM6XG4gICogQW55IGxvZ2ljIG1vZGlmaWNhdGlvbnMgaW4gbWVtb3J5IG1hbmFnZW1lbnQgKG1tLyksIHN5bmNocm9uaXphdGlvbi9sb2NraW5nIChrZXJuZWwvbG9ja2luZy8pLFxuICAgIEJQRiwgc2NoZWR1bGVyLCBjb3JlIG5ldHdvcmtpbmcsIFZGUywgb3Igc3lzY2FsbCBoYW5kbGluZy5cbi0gUmVmYWN0b3JpbmdzIGFuZCBDb2RlIENsZWFudXBzOlxuICAqIEFueSByZXN0cnVjdHVyaW5nIG9mIHJlYWNoYWJsZSBkYXRhIHN0cnVjdHVyZXMsIGhlbHBlciBhYnN0cmFjdGlvbnMsIG9yIGFsZ29yaXRobSBmbG93cy5cbi0gUnVudGltZSBBc3NlcnRpb25zIGFuZCBEZWZlbnNpdmUgQ2hlY2tzOlxuICAqIEFueSBpbnRyb2R1Y3Rpb24gb3IgYWx0ZXJhdGlvbiBvZiBhc3NlcnRpb25zIChXQVJOX09OKiwgVk1fV0FSTl9PTiosIEJVR19PTiosIGV0Yy4pIGluIHJlYWNoYWJsZSBwYXRocy5cbi0gUmVhY2hhYmxlIERyaXZlcnMgYW5kIFByb3RvY29sczpcbiAgKiBEcml2ZXJzIGFjY2Vzc2libGUgdmlhIHZpcnR1YWwgYnVzZXMgKHZpcnRpbywgVVNCIGdhZGdldCwgbG9vcGJhY2ssIG5ldGxpbmssIGJpbmRlciwgc29ja2V0cywgZXRjLikuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG40LiBFWFRSQUNUSU5HIEZvY3VzU3ltYm9scyAoUFJFVkVOVElORyBESUxVVElPTilcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5XaGVuIFdvcnRoRnV6emluZz10cnVlLCB5b3UgbXVzdCBleHRyYWN0IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgaW50byBGb2N1c1N5bWJvbHMgdG8gZ3VpZGUgdGhlIGZ1enplcjpcblxuLSBBVk9JRCBVQklRVUlUT1VTIExJRkVDWUNMRSBIT1QtUEFUSFM6XG4gIERvIE5PVCBsaXN0IGdlbmVyaWMsIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhbGxlZCBieSBhbG1vc3QgZXZlcnkgcHJvZ3JhbSBpbiB0aGUgY29ycHVzXG4gIChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bzogZ2VuZXJhbCBtZW1vcnkgYWxsb2NhdG9ycyBhbmQgZGVhbGxvY2F0b3JzLCBwYWdlIGZhdWx0XG4gIGFuZCB0cmFwIGhhbmRsZXJzLCBvciBjb3JlIHN5bmNocm9uaXphdGlvbiBwcmltaXRpdmVzOyB0aGlzIGlzIG5vdCBhbiBleGhhdXN0aXZlIGxpc3QpLlxuICBMaXN0aW5nIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhdXNlcyB0aGUgZnV6emVyIHRvIGNsYXNzaWZ5IHRob3VzYW5kcyBvZiB1bnJlbGF0ZWQgdGVzdHMgYXMgXCJmb2N1c2VkXCIsXG4gIHdoaWNoIHNldmVyZWx5IGRpbHV0ZXMgZnV6emluZyBlZmZvcnQgYXdheSBmcm9tIHRoZSBhY3R1YWwgY2hhbmdlcy5cblxuLSBUQVJHRVQgU1BFQ0lGSUMgRkVBVFVSRSBMT0dJQyBBTkQgRU5UUllQT0lOVFM6XG4gIExpc3QgZnVuY3Rpb25zIHRoYXQgc3BlY2lmaWNhbGx5IGltcGxlbWVudCB0aGUgbG9naWMgYmVpbmcgYWRkZWQgb3IgYWx0ZXJlZCwgb3IgZGlyZWN0IEFQSSBlbnRyeXBvaW50c1xuICBmb3IgdGhlIHN1YnN5c3RlbSBmZWF0dXJlIHVuZGVyIHJldmlldy5cblxuLSBIQU5ETElORyBTVEFUSUMgSU5MSU5FIEZVTkNUSU9OUyBJTiBIRUFERVJTICguaCk6XG4gIENvbXBpbGVyLWlubGluZWQgc3RhdGljIGZ1bmN0aW9ucyAoc3VjaCBhcyBzdGF0aWMgaW5saW5lcyBpbiBtbS8qLmggb3IgaW5jbHVkZS9saW51eC8qLmgpIGxhY2tcbiAgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcyBpbiB2bWxpbnV4IGFuZCBjYW5ub3QgYmUgdGFyZ2V0ZWQgZGlyZWN0bHkgYnkgc3ltYm9sIGNvdmVyYWdlIGZpbHRlcnMuXG4gIElmIHRoZSBjaGFuZ2VzIGFyZSBwcmltYXJpbHkgaW4gc3RhdGljIGlubGluZSBoZWxwZXJzLCBpZGVudGlmeSBub24tc3RhdGljLCBmZWF0dXJlLXNwZWNpZmljIGNhbGxlclxuICBmdW5jdGlvbnMgaW4gLmMgZmlsZXMgdGhhdCBleGVyY2lzZSB0aGVtIChhdm9pZGluZyB1YmlxdWl0b3VzIGxpZmVjeWNsZSB3cmFwcGVycykuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG41LiBJREVOVElGWUlORyBFbmFibGVDb25maWdzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSBjb21waWxlIGFuZCByZWFjaCB0aGUgbW9kaWZpZWQgY29kZTpcbi0gSW5zcGVjdCBLY29uZmlnIGZpbGVzIGFuZCAjaWZkZWYgZ3VhcmRzOyBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbi0gQ2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzIG5lZWRlZC5cbi0gU3RyaXAgYW55ICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IlRhcmdldCBhcmNoaXRlY3R1cmU6IGFtZDY0XG5cbkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGI0ZjdiNTdkZTVjMGMwMWVkYzllODg1YTI1YWUxZmQxMGNmZWM1YWNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IFNlcCAxMCAwNDozNzozOCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuY1xuaW5kZXggZTUxOTVkN2RhYzFkNS4uNGZiMjg3NjA4ZGM0OCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuY1xuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jXG5AQCAtNTAsNyArNTAsMTUgQEAgc3RhdGljIGludCBnZW1fdHN1X2dldF90aW1lKHN0cnVjdCBwdHBfY2xvY2tfaW5mbyAqcHRwLCBzdHJ1Y3QgdGltZXNwZWM2NCAqdHMsXG4gXG4gXHRzcGluX2xvY2tfaXJxc2F2ZShcdTAwMjZicC1cdTAwM2V0c3VfY2xrX2xvY2ssIGZsYWdzKTtcbiBcdHB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpO1xuK1x0LyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSxcbitcdCAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuXG4rXHQgKi9cbitcdHJtYigpO1xuIFx0Zmlyc3QgPSBnZW1fcmVhZGwoYnAsIFROKTtcbitcdC8qIEVuc3VyZSB0aGUgUEhDIHJlYWQgY29tcGxldGVzIGJlZm9yZSB0YWtpbmdcbitcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cbitcdCAqL1xuK1x0cm1iKCk7XG4gXHRwdHBfcmVhZF9zeXN0ZW1fcG9zdHRzKHN0cyk7XG4gXHRzZWNsID0gZ2VtX3JlYWRsKGJwLCBUU0wpO1xuIFx0c2VjaCA9IGdlbV9yZWFkbChicCwgVFNIKTtcbkBAIC02Miw3ICs3MCwxNSBAQCBzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cyxcbiBcdFx0ICogKGFzc3VtZSBhbGwgZG9uZSB3aXRoaW4gMXMpXG4gXHRcdCAqL1xuIFx0XHRwdHBfcmVhZF9zeXN0ZW1fcHJldHMoc3RzKTtcbitcdFx0LyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSxcbitcdFx0ICogd2hpY2ggZG9lcyBub3QgZ3VhcmFudGVlIG9yZGVyaW5nIGFnYWluc3QgTU1JTyByZWFkcy5cbitcdFx0ICovXG4rXHRcdHJtYigpO1xuIFx0XHR0cy1cdTAwM2V0dl9uc2VjID0gZ2VtX3JlYWRsKGJwLCBUTik7XG4rXHRcdC8qIEVuc3VyZSB0aGUgUEhDIHJlYWQgY29tcGxldGVzIGJlZm9yZSB0YWtpbmdcbitcdFx0ICogdGhlIHBvc3QgdGltZXN0YW1wLlxuK1x0XHQgKi9cbitcdFx0cm1iKCk7XG4gXHRcdHB0cF9yZWFkX3N5c3RlbV9wb3N0dHMoc3RzKTtcbiBcdFx0c2VjbCA9IGdlbV9yZWFkbChicCwgVFNMKTtcbiBcdFx0c2VjaCA9IGdlbV9yZWFkbChicCwgVFNIKTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM3OjM5LjM0OTUwMjQ0NVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjQ4NDUwNTIzOTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqSW5pdGlhbCBBc3Nlc3NtZW50IG9mIHRoZSBDb2RlIENoYW5nZSoqXG5cbk9rYXksIHNvIHRoZSBwYXRjaCBpcyB0b3VjaGluZyBgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jYC4gTXkgZmlyc3QgbW92ZSBpcyB0byBkaXZlIGludG8gdGhhdCBkcml2ZXIgY29kZSBhbmQgdW5kZXJzdGFuZCBpdHMgY29ubmVjdGlvbiB0byB0aGUgaGFyZHdhcmUgYW5kIGl0cyBvdmVyYWxsIGZ1bmN0aW9uYWxpdHksIGVzcGVjaWFsbHkgdGhlIFBUUCBhc3BlY3QuIEdpdmVuIHRoZSBjb250ZXh0IG9mIGEgZnV6emluZyBzZXR1cCwgbXkgaW1tZWRpYXRlIGNvbmNlcm4gaXMgd2hldGhlciB0aGlzIHNwZWNpZmljIENhZGVuY2UgTUFDQiBjb250cm9sbGVyIGlzIGV2ZW4gcmVhY2hhYmxlIHdpdGhpbiBhIHN0YW5kYXJkIFFFTVUgYW1kNjQgZnV6emluZyBlbnZpcm9ubWVudC4gVGhhdCdzIGEgY3J1Y2lhbCBmaXJzdCBzdGVwOyBpZiBpdCdzIG5vdCBwcmVzZW50LCB0aGVuIHRoaXMgd2hvbGUgdGhpbmcgaXMgYSBkZWFkIGVuZCBmb3IgZnV6emluZyBwdXJwb3Nlcy4gSSBuZWVkIHRvIHF1aWNrbHkgZXN0YWJsaXNoIGl0cyBwcmVzZW5jZSBvciBhYnNlbmNlIHdpdGhpbiB0aGF0IHNwZWNpZmljIHRlc3QgZW52aXJvbm1lbnQuIEknbGwgbmVlZCB0byBjaGVjayB0aGUgS2NvbmZpZywgc2VlIGlmIHRoZXJlJ3MgYW55IHNwZWNpZmljIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24gbmVlZGVkLCBvciBpZiBpdCdzIGRlcGVuZGVudCBvbiBhIHBhcnRpY3VsYXIgbWFjaGluZSBtb2RlbC4gSSdsbCBiZSBsb29raW5nIGZvciBjbHVlcyBpbiB0aGUgS2NvbmZpZyB0byBzZWUgd2hhdCBraW5kIG9mIGhhcmR3YXJlIGRlcGVuZGVuY3kgd2UgYXJlIHRhbGtpbmcgYWJvdXQgaGVyZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzIxMywiT3V0cHV0VG9rZW5zIjozMiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjc1LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTBUMDQ6Mzc6NDQuMTk0NTU3MDk4WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ5OTkwODI5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIk1BQ0JcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiAxNzEzIGxpbmVzLlxcblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cXG5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc9MjA9aWYgTkVUX1ZFTkRPUl9DQURFTkNFXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTIxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzoyMjpjb25maWcgTUFDQlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzoyMzpcXHR0cmlzdGF0ZSBcXFwiQ2FkZW5jZSBNQUNCL0dFTSBzdXBwb3J0XFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy0yNC1cXHRkZXBlbmRzIG9uIEhBU19ETUEgXFx1MDAyNlxcdTAwMjYgQ09NTU9OX0NMS1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTI4LVxcdGhlbHBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6Mjk6XFx0ICBUaGUgQ2FkZW5jZSBNQUNCIGV0aGVybmV0IGludGVyZmFjZSBpcyBmb3VuZCBvbiBtYW55IEF0bWVsIEFUMzIgYW5kXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTMwLVxcdCAgQVQ5MSBwYXJ0cy4gIFRoaXMgZHJpdmVyIGFsc28gc3VwcG9ydHMgdGhlIENhZGVuY2UgR0VNIChHaWdhYml0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTMxLVxcdCAgRXRoZXJuZXQgTUFDIGZvdW5kIGluIHNvbWUgQVJNIFNvQyBkZXZpY2VzKS4gIFNheSBZIHRvIGluY2x1ZGVcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6MzI6XFx0ICBzdXBwb3J0IGZvciB0aGUgTUFDQi9HRU0gY2hpcC5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctMzMtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctMzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnOjM3OmNvbmZpZyBNQUNCX1VTRV9IV1NUQU1QXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTM4LVxcdGJvb2wgXFxcIlVzZSBJRUVFIDE1ODggaHdzdGFtcFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6Mzk6XFx0ZGVwZW5kcyBvbiBNQUNCXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTQwLVxcdGRlcGVuZHMgb24gUFRQXzE1ODhfQ0xPQ0tcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy00Mi1cXHRoZWxwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnOjQzOlxcdCAgRW5hYmxlIElFRUUgMTU4OCBQcmVjaXNpb24gVGltZSBQcm90b2NvbCAoUFRQKSBzdXBwb3J0IGZvciBNQUNCLlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy00NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6NDU6Y29uZmlnIE1BQ0JfUENJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnOjQ2OlxcdHRyaXN0YXRlIFxcXCJDYWRlbmNlIFBDSSBNQUNCL0dFTSBzdXBwb3J0XFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzo0NzpcXHRkZXBlbmRzIG9uIE1BQ0IgXFx1MDAyNlxcdTAwMjYgUENJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTQ4LVxcdGhlbHBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6NDk6XFx0ICBUaGlzIGlzIFBDSSB3cmFwcGVyIGZvciBNQUNCIGRyaXZlci5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctNTAtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlPTU9bWFjYi15XFx0Oj0gbWFjYl9tYWluLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlLTYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9NYWtlZmlsZTo3OmlmZXEgKCQoQ09ORklHX01BQ0JfVVNFX0hXU1RBTVApLHkpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9NYWtlZmlsZS04LW1hY2IteVxcdCs9IG1hY2JfcHRwLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlPTk9ZW5kaWZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlLTEwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvTWFrZWZpbGU6MTE6b2JqLSQoQ09ORklHX01BQ0IpICs9IG1hY2Iub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvTWFrZWZpbGU6MTI6b2JqLSQoQ09ORklHX01BQ0JfUENJKSArPSBtYWNiX3BjaS5vXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yLS8qXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzogKiBBdG1lbCBNQUNCIEV0aGVybmV0IENvbnRyb2xsZXIgZHJpdmVyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNC0gKlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNi0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3OiNpZm5kZWYgX01BQ0JfSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg6I2RlZmluZSBfTUFDQl9IXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtOS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTE3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjE4OiNkZWZpbmUgTUFDQl9HUkVHU19OQlIgMTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoxOTojZGVmaW5lIE1BQ0JfR1JFR1NfVkVSU0lPTiAyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjA6I2RlZmluZSBNQUNCX01BWF9RVUVVRVMgOFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTIxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIyOi8qIE1BQ0IgcmVnaXN0ZXIgb2Zmc2V0cyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzOiNkZWZpbmUgTUFDQl9OQ1JcXHRcXHQweDAwMDAgLyogTmV0d29yayBDb250cm9sICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQ6I2RlZmluZSBNQUNCX05DRkdSXFx0XFx0MHgwMDA0IC8qIE5ldHdvcmsgQ29uZmlnICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU6I2RlZmluZSBNQUNCX05TUlxcdFxcdDB4MDAwOCAvKiBOZXR3b3JrIFN0YXR1cyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2OiNkZWZpbmUgTUFDQl9UQVJcXHRcXHQweDAwMGMgLyogQVQ5MVJNOTIwMCBvbmx5ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjc6I2RlZmluZSBNQUNCX1RDUlxcdFxcdDB4MDAxMCAvKiBBVDkxUk05MjAwIG9ubHkgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODojZGVmaW5lIE1BQ0JfVFNSXFx0XFx0MHgwMDE0IC8qIFRyYW5zbWl0IFN0YXR1cyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5OiNkZWZpbmUgTUFDQl9SQlFQXFx0XFx0MHgwMDE4IC8qIFJYIFEgQmFzZSBBZGRyZXNzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzA6I2RlZmluZSBNQUNCX1RCUVBcXHRcXHQweDAwMWMgLyogVFggUSBCYXNlIEFkZHJlc3MgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozMTojZGVmaW5lIE1BQ0JfUlNSXFx0XFx0MHgwMDIwIC8qIFJlY2VpdmUgU3RhdHVzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzI6I2RlZmluZSBNQUNCX0lTUlxcdFxcdDB4MDAyNCAvKiBJbnRlcnJ1cHQgU3RhdHVzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzM6I2RlZmluZSBNQUNCX0lFUlxcdFxcdDB4MDAyOCAvKiBJbnRlcnJ1cHQgRW5hYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzQ6I2RlZmluZSBNQUNCX0lEUlxcdFxcdDB4MDAyYyAvKiBJbnRlcnJ1cHQgRGlzYWJsZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM1OiNkZWZpbmUgTUFDQl9JTVJcXHRcXHQweDAwMzAgLyogSW50ZXJydXB0IE1hc2sgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjojZGVmaW5lIE1BQ0JfTUFOXFx0XFx0MHgwMDM0IC8qIFBIWSBNYWludGVuYW5jZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3OiNkZWZpbmUgTUFDQl9QVFJcXHRcXHQweDAwMzhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODojZGVmaW5lIE1BQ0JfUEZSXFx0XFx0MHgwMDNjXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk6I2RlZmluZSBNQUNCX0ZUT1xcdFxcdDB4MDA0MFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwOiNkZWZpbmUgTUFDQl9TQ0ZcXHRcXHQweDAwNDRcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTojZGVmaW5lIE1BQ0JfTUNGXFx0XFx0MHgwMDQ4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI6I2RlZmluZSBNQUNCX0ZST1xcdFxcdDB4MDA0Y1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzOiNkZWZpbmUgTUFDQl9GQ1NFXFx0XFx0MHgwMDUwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQ6I2RlZmluZSBNQUNCX0FMRVxcdFxcdDB4MDA1NFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1OiNkZWZpbmUgTUFDQl9EVEZcXHRcXHQweDAwNThcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjojZGVmaW5lIE1BQ0JfTENPTFxcdFxcdDB4MDA1Y1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3OiNkZWZpbmUgTUFDQl9FWENPTFxcdFxcdDB4MDA2MFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4OiNkZWZpbmUgTUFDQl9UVU5EXFx0XFx0MHgwMDY0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk6I2RlZmluZSBNQUNCX0NTRVxcdFxcdDB4MDA2OFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwOiNkZWZpbmUgTUFDQl9SUkVcXHRcXHQweDAwNmNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MTojZGVmaW5lIE1BQ0JfUk9WUlxcdFxcdDB4MDA3MFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUyOiNkZWZpbmUgTUFDQl9SU0VcXHRcXHQweDAwNzRcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MzojZGVmaW5lIE1BQ0JfRUxFXFx0XFx0MHgwMDc4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NTQ6I2RlZmluZSBNQUNCX1JKQVxcdFxcdDB4MDA3Y1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjU1OiNkZWZpbmUgTUFDQl9VU0ZcXHRcXHQweDAwODBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1NjojZGVmaW5lIE1BQ0JfU1RFXFx0XFx0MHgwMDg0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NTc6I2RlZmluZSBNQUNCX1JMRVxcdFxcdDB4MDA4OFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjU4OiNkZWZpbmUgTUFDQl9UUEZcXHRcXHQweDAwOGNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1OTojZGVmaW5lIE1BQ0JfSFJCXFx0XFx0MHgwMDkwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjA6I2RlZmluZSBNQUNCX0hSVFxcdFxcdDB4MDA5NFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjYxOiNkZWZpbmUgTUFDQl9TQTFCXFx0XFx0MHgwMDk4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjI6I2RlZmluZSBNQUNCX1NBMVRcXHRcXHQweDAwOWNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2MzojZGVmaW5lIE1BQ0JfU0EyQlxcdFxcdDB4MDBhMFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY0OiNkZWZpbmUgTUFDQl9TQTJUXFx0XFx0MHgwMGE0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjU6I2RlZmluZSBNQUNCX1NBM0JcXHRcXHQweDAwYThcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2NjojZGVmaW5lIE1BQ0JfU0EzVFxcdFxcdDB4MDBhY1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY3OiNkZWZpbmUgTUFDQl9TQTRCXFx0XFx0MHgwMGIwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Njg6I2RlZmluZSBNQUNCX1NBNFRcXHRcXHQweDAwYjRcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2OTojZGVmaW5lIE1BQ0JfVElEXFx0XFx0MHgwMGI4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzA6I2RlZmluZSBNQUNCX1RQUVxcdFxcdDB4MDBiY1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjcxOiNkZWZpbmUgTUFDQl9VU1JJT1xcdFxcdDB4MDBjMFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjcyOiNkZWZpbmUgTUFDQl9XT0xcXHRcXHQweDAwYzRcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3MzojZGVmaW5lIE1BQ0JfTUlEXFx0XFx0MHgwMGZjXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ6I2RlZmluZSBNQUNCX1RCUVBIXFx0XFx0MHgwNEM4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzU6I2RlZmluZSBNQUNCX1JCUVBIXFx0XFx0MHgwNEQ0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yMzAtLyogQml0ZmllbGRzIGluIE5DUiAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzMTojZGVmaW5lIE1BQ0JfTEJfT0ZGU0VUXFx0XFx0MCAvKiByZXNlcnZlZCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzMjojZGVmaW5lIE1BQ0JfTEJfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyMzM6I2RlZmluZSBNQUNCX0xMQl9PRkZTRVRcXHRcXHQxIC8qIExvb3AgYmFjayBsb2NhbCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzNDojZGVmaW5lIE1BQ0JfTExCX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM1OiNkZWZpbmUgTUFDQl9SRV9PRkZTRVRcXHRcXHQyIC8qIFJlY2VpdmUgZW5hYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM2OiNkZWZpbmUgTUFDQl9SRV9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzNzojZGVmaW5lIE1BQ0JfVEVfT0ZGU0VUXFx0XFx0MyAvKiBUcmFuc21pdCBlbmFibGUgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyMzg6I2RlZmluZSBNQUNCX1RFX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM5OiNkZWZpbmUgTUFDQl9NUEVfT0ZGU0VUXFx0XFx0NCAvKiBNYW5hZ2VtZW50IHBvcnQgZW5hYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQwOiNkZWZpbmUgTUFDQl9NUEVfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNDE6I2RlZmluZSBNQUNCX0NMUlNUQVRfT0ZGU0VUXFx0NSAvKiBDbGVhciBzdGF0cyByZWdzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQyOiNkZWZpbmUgTUFDQl9DTFJTVEFUX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQzOiNkZWZpbmUgTUFDQl9JTkNTVEFUX09GRlNFVFxcdDYgLyogSW5jcmVtZW50YWwgc3RhdHMgcmVncyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NDojZGVmaW5lIE1BQ0JfSU5DU1RBVF9TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NTojZGVmaW5lIE1BQ0JfV0VTVEFUX09GRlNFVFxcdDcgLyogV3JpdGUgZW5hYmxlIHN0YXRzIHJlZ3MgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNDY6I2RlZmluZSBNQUNCX1dFU1RBVF9TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NzojZGVmaW5lIE1BQ0JfQlBfT0ZGU0VUXFx0XFx0OCAvKiBCYWNrIHByZXNzdXJlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQ4OiNkZWZpbmUgTUFDQl9CUF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0OTojZGVmaW5lIE1BQ0JfVFNUQVJUX09GRlNFVFxcdDkgLyogU3RhcnQgdHJhbnNtaXNzaW9uICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjUwOiNkZWZpbmUgTUFDQl9UU1RBUlRfU0laRVxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTE6I2RlZmluZSBNQUNCX1RIQUxUX09GRlNFVFxcdDEwIC8qIFRyYW5zbWl0IGhhbHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTI6I2RlZmluZSBNQUNCX1RIQUxUX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjUzOiNkZWZpbmUgTUFDQl9OQ1JfVFBGX09GRlNFVFxcdDExIC8qIFRyYW5zbWl0IHBhdXNlIGZyYW1lICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU0OiNkZWZpbmUgTUFDQl9OQ1JfVFBGX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU1OiNkZWZpbmUgTUFDQl9UWlFfT0ZGU0VUXFx0XFx0MTIgLyogVHJhbnNtaXQgemVybyBxdWFudHVtIHBhdXNlIGZyYW1lICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU2OiNkZWZpbmUgTUFDQl9UWlFfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTc6I2RlZmluZSBNQUNCX1NSVFNNX09GRlNFVFxcdDE1IC8qIFN0b3JlIFJlY2VpdmUgVGltZXN0YW1wIHRvIE1lbW9yeSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1ODojZGVmaW5lIE1BQ0JfUFRQVU5JX09GRlNFVFxcdDIwIC8qIFBUUCBVbmljYXN0IHBhY2tldCBlbmFibGUgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTk6I2RlZmluZSBNQUNCX1BUUFVOSV9TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2MDojZGVmaW5lIE1BQ0JfT1NTTU9ERV9PRkZTRVRcXHQyNCAvKiBFbmFibGUgT25lIFN0ZXAgU3luY2hybyBNb2RlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjYxOiNkZWZpbmUgTUFDQl9PU1NNT0RFX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjYyOiNkZWZpbmUgTUFDQl9NSUlPTlJHTUlJX09GRlNFVFxcdDI4IC8qIE1JSSBVc2FnZSBvbiBSR01JSSBJbnRlcmZhY2UgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNjM6I2RlZmluZSBNQUNCX01JSU9OUkdNSUlfU0laRVxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yNjQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMjY1LS8qIEJpdGZpZWxkcyBpbiBOQ0ZHUiAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2NjojZGVmaW5lIE1BQ0JfU1BEX09GRlNFVFxcdFxcdDAgLyogU3BlZWQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNjc6I2RlZmluZSBNQUNCX1NQRF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2ODojZGVmaW5lIE1BQ0JfRkRfT0ZGU0VUXFx0XFx0MSAvKiBGdWxsIGR1cGxleCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2OTojZGVmaW5lIE1BQ0JfRkRfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzA6I2RlZmluZSBNQUNCX0JJVF9SQVRFX09GRlNFVFxcdDIgLyogRGlzY2FyZCBub24tVkxBTiBmcmFtZXMgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzE6I2RlZmluZSBNQUNCX0JJVF9SQVRFX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjcyOiNkZWZpbmUgTUFDQl9KRlJBTUVfT0ZGU0VUXFx0MyAvKiByZXNlcnZlZCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3MzojZGVmaW5lIE1BQ0JfSkZSQU1FX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjc0OiNkZWZpbmUgTUFDQl9DQUZfT0ZGU0VUXFx0XFx0NCAvKiBDb3B5IGFsbCBmcmFtZXMgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzU6I2RlZmluZSBNQUNCX0NBRl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3NjojZGVmaW5lIE1BQ0JfTkJDX09GRlNFVFxcdFxcdDUgLyogTm8gYnJvYWRjYXN0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjc3OiNkZWZpbmUgTUFDQl9OQkNfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzg6I2RlZmluZSBNQUNCX05DRkdSX01USV9PRkZTRVRcXHQ2IC8qIE11bHRpY2FzdCBoYXNoIGVuYWJsZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3OTojZGVmaW5lIE1BQ0JfTkNGR1JfTVRJX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjgwOiNkZWZpbmUgTUFDQl9VTklfT0ZGU0VUXFx0XFx0NyAvKiBVbmljYXN0IGhhc2ggZW5hYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjgxOiNkZWZpbmUgTUFDQl9VTklfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODI6I2RlZmluZSBNQUNCX0JJR19PRkZTRVRcXHRcXHQ4IC8qIFJlY2VpdmUgMTUzNiBieXRlIGZyYW1lcyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4MzojZGVmaW5lIE1BQ0JfQklHX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjg0OiNkZWZpbmUgTUFDQl9FQUVfT0ZGU0VUXFx0XFx0OSAvKiBFeHRlcm5hbCBhZGRyZXNzIG1hdGNoIGVuYWJsZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4NTojZGVmaW5lIE1BQ0JfRUFFX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjg2OiNkZWZpbmUgTUFDQl9DTEtfT0ZGU0VUXFx0XFx0MTBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODc6I2RlZmluZSBNQUNCX0NMS19TSVpFXFx0XFx0MlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4ODojZGVmaW5lIE1BQ0JfUlRZX09GRlNFVFxcdFxcdDEyIC8qIFJldHJ5IHRlc3QgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODk6I2RlZmluZSBNQUNCX1JUWV9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5MDojZGVmaW5lIE1BQ0JfUEFFX09GRlNFVFxcdFxcdDEzIC8qIFBhdXNlIGVuYWJsZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5MTojZGVmaW5lIE1BQ0JfUEFFX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjkyOiNkZWZpbmUgTUFDQl9STTkyMDBfUk1JSV9PRkZTRVRcXHQxMyAvKiBBVDkxUk05MjAwIG9ubHkgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTM6I2RlZmluZSBNQUNCX1JNOTIwMF9STUlJX1NJWkVcXHQxICAvKiBBVDkxUk05MjAwIG9ubHkgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTQ6I2RlZmluZSBNQUNCX1JCT0ZfT0ZGU0VUXFx0MTQgLyogUmVjZWl2ZSBidWZmZXIgb2Zmc2V0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk1OiNkZWZpbmUgTUFDQl9SQk9GX1NJWkVcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk2OiNkZWZpbmUgTUFDQl9STENFX09GRlNFVFxcdDE2IC8qIExlbmd0aCBmaWVsZCBlcnJvciBmcmFtZSBkaXNjYXJkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk3OiNkZWZpbmUgTUFDQl9STENFX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk4OiNkZWZpbmUgTUFDQl9EUkZDU19PRkZTRVRcXHQxNyAvKiBGQ1MgcmVtb3ZlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk5OiNkZWZpbmUgTUFDQl9EUkZDU19TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjMwMDojZGVmaW5lIE1BQ0JfRUZSSERfT0ZGU0VUXFx0MThcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozMDE6I2RlZmluZSBNQUNCX0VGUkhEX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzAyOiNkZWZpbmUgTUFDQl9JUlhGQ1NfT0ZGU0VUXFx0MTlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozMDM6I2RlZmluZSBNQUNCX0lSWEZDU19TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTMwNC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTM2NC0vKiBCaXRmaWVsZHMgaW4gTlNSICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzY1OiNkZWZpbmUgTUFDQl9OU1JfTElOS19PRkZTRVRcXHQwIC8qIHBjc19saW5rX3N0YXRlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzY2OiNkZWZpbmUgTUFDQl9OU1JfTElOS19TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM2NzojZGVmaW5lIE1BQ0JfTURJT19PRkZTRVRcXHQxIC8qIHN0YXR1cyBvZiB0aGUgbWRpb19pbiBwaW4gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjg6I2RlZmluZSBNQUNCX01ESU9fU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjk6I2RlZmluZSBNQUNCX0lETEVfT0ZGU0VUXFx0MiAvKiBUaGUgUEhZIG1hbmFnZW1lbnQgbG9naWMgaXMgaWRsZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3MDojZGVmaW5lIE1BQ0JfSURMRV9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTM3MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zNzItLyogQml0ZmllbGRzIGluIFRTUiAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3MzojZGVmaW5lIE1BQ0JfVUJSX09GRlNFVFxcdFxcdDAgLyogVXNlZCBiaXQgcmVhZCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3NDojZGVmaW5lIE1BQ0JfVUJSX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc1OiNkZWZpbmUgTUFDQl9DT0xfT0ZGU0VUXFx0XFx0MSAvKiBDb2xsaXNpb24gb2NjdXJyZWQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNzY6I2RlZmluZSBNQUNCX0NPTF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3NzojZGVmaW5lIE1BQ0JfVFNSX1JMRV9PRkZTRVRcXHQyIC8qIFJldHJ5IGxpbWl0IGV4Y2VlZGVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc4OiNkZWZpbmUgTUFDQl9UU1JfUkxFX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc5OiNkZWZpbmUgTUFDQl9UR09fT0ZGU0VUXFx0XFx0MyAvKiBUcmFuc21pdCBnbyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4MDojZGVmaW5lIE1BQ0JfVEdPX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzgxOiNkZWZpbmUgTUFDQl9CRVhfT0ZGU0VUXFx0XFx0NCAvKiBUWCBmcmFtZSBjb3JydXB0aW9uIGR1ZSB0byBBSEIgZXJyb3IgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODI6I2RlZmluZSBNQUNCX0JFWF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4MzojZGVmaW5lIE1BQ0JfUk05MjAwX0JOUV9PRkZTRVRcXHQ0IC8qIEFUOTFSTTkyMDAgb25seSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4NDojZGVmaW5lIE1BQ0JfUk05MjAwX0JOUV9TSVpFXFx0MSAvKiBBVDkxUk05MjAwIG9ubHkgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODU6I2RlZmluZSBNQUNCX0NPTVBfT0ZGU0VUXFx0NSAvKiBUcm5hc21pdCBjb21wbGV0ZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4NjojZGVmaW5lIE1BQ0JfQ09NUF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4NzojZGVmaW5lIE1BQ0JfVU5EX09GRlNFVFxcdFxcdDYgLyogVHJuYXNtaXQgdW5kZXIgcnVuICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzg4OiNkZWZpbmUgTUFDQl9VTkRfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zODktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMzkwLS8qIEJpdGZpZWxkcyBpbiBSU1IgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOTE6I2RlZmluZSBNQUNCX0JOQV9PRkZTRVRcXHRcXHQwIC8qIEJ1ZmZlciBub3QgYXZhaWxhYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzkyOiNkZWZpbmUgTUFDQl9CTkFfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOTM6I2RlZmluZSBNQUNCX1JFQ19PRkZTRVRcXHRcXHQxIC8qIEZyYW1lIHJlY2VpdmVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk0OiNkZWZpbmUgTUFDQl9SRUNfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOTU6I2RlZmluZSBNQUNCX09WUl9PRkZTRVRcXHRcXHQyIC8qIFJlY2VpdmUgb3ZlcnJ1biAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM5NjojZGVmaW5lIE1BQ0JfT1ZSX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMzk3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTM5OC0vKiBCaXRmaWVsZHMgaW4gSVNSL0lFUi9JRFIvSU1SICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk5OiNkZWZpbmUgTUFDQl9NRkRfT0ZGU0VUXFx0XFx0MCAvKiBNYW5hZ2VtZW50IGZyYW1lIHNlbnQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDA6I2RlZmluZSBNQUNCX01GRF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwMTojZGVmaW5lIE1BQ0JfUkNPTVBfT0ZGU0VUXFx0MSAvKiBSZWNlaXZlIGNvbXBsZXRlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDAyOiNkZWZpbmUgTUFDQl9SQ09NUF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwMzojZGVmaW5lIE1BQ0JfUlhVQlJfT0ZGU0VUXFx0MiAvKiBSWCB1c2VkIGJpdCByZWFkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA0OiNkZWZpbmUgTUFDQl9SWFVCUl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwNTojZGVmaW5lIE1BQ0JfVFhVQlJfT0ZGU0VUXFx0MyAvKiBUWCB1c2VkIGJpdCByZWFkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA2OiNkZWZpbmUgTUFDQl9UWFVCUl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwNzojZGVmaW5lIE1BQ0JfSVNSX1RVTkRfT0ZGU0VUXFx0NCAvKiBFbmFibGUgVFggYnVmZmVyIHVuZGVyIHJ1biBpbnRlcnJ1cHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDg6I2RlZmluZSBNQUNCX0lTUl9UVU5EX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA5OiNkZWZpbmUgTUFDQl9JU1JfUkxFX09GRlNFVFxcdDUgLyogRU4gcmV0cnkgZXhjZWVkZWQvbGF0ZSBjb2xsIGludGVycnVwdCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxMDojZGVmaW5lIE1BQ0JfSVNSX1JMRV9TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxMTojZGVmaW5lIE1BQ0JfVFhFUlJfT0ZGU0VUXFx0NiAvKiBFTiBUWCBmcmFtZSBjb3JydXB0IGZyb20gZXJyb3IgaW50ZXJydXB0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDEyOiNkZWZpbmUgTUFDQl9UWEVSUl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxMzojZGVmaW5lIE1BQ0JfUk05MjAwX1RCUkVfT0ZGU0VUXFx0NiAvKiBFTiBtYXkgc2VuZCBuZXcgZnJhbWUgaW50ZXJydXB0IChSTTkyMDApICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE0OiNkZWZpbmUgTUFDQl9STTkyMDBfVEJSRV9TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxNTojZGVmaW5lIE1BQ0JfVENPTVBfT0ZGU0VUXFx0NyAvKiBFbmFibGUgdHJhbnNtaXQgY29tcGxldGUgaW50ZXJydXB0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE2OiNkZWZpbmUgTUFDQl9UQ09NUF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxNzojZGVmaW5lIE1BQ0JfSVNSX0xJTktfT0ZGU0VUXFx0OSAvKiBFbmFibGUgbGluayBjaGFuZ2UgaW50ZXJydXB0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE4OiNkZWZpbmUgTUFDQl9JU1JfTElOS19TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxOTojZGVmaW5lIE1BQ0JfSVNSX1JPVlJfT0ZGU0VUXFx0MTAgLyogRW5hYmxlIHJlY2VpdmUgb3ZlcnJ1biBpbnRlcnJ1cHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MjA6I2RlZmluZSBNQUNCX0lTUl9ST1ZSX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDIxOiNkZWZpbmUgTUFDQl9IUkVTUF9PRkZTRVRcXHQxMSAvKiBFbmFibGUgaHJzZXAgbm90IE9LIGludGVycnVwdCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQyMjojZGVmaW5lIE1BQ0JfSFJFU1BfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MjM6I2RlZmluZSBNQUNCX1BGUl9PRkZTRVRcXHRcXHQxMiAvKiBFbmFibGUgcGF1c2UgZnJhbWUgdy8gcXVhbnR1bSBpbnRlcnJ1cHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MjQ6I2RlZmluZSBNQUNCX1BGUl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQyNTojZGVmaW5lIE1BQ0JfUFRaX09GRlNFVFxcdFxcdDEzIC8qIEVuYWJsZSBwYXVzZSB0aW1lIHplcm8gaW50ZXJydXB0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI2OiNkZWZpbmUgTUFDQl9QVFpfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mjc6I2RlZmluZSBNQUNCX1dPTF9PRkZTRVRcXHRcXHQxNCAvKiBFbmFibGUgd2FrZS1vbi1sYW4gaW50ZXJydXB0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI4OiNkZWZpbmUgTUFDQl9XT0xfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mjk6I2RlZmluZSBNQUNCX0RSUUZSX09GRlNFVFxcdDE4IC8qIFBUUCBEZWxheSBSZXF1ZXN0IEZyYW1lIFJlY2VpdmVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDMwOiNkZWZpbmUgTUFDQl9EUlFGUl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzMTojZGVmaW5lIE1BQ0JfU0ZSX09GRlNFVFxcdFxcdDE5IC8qIFBUUCBTeW5jIEZyYW1lIFJlY2VpdmVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDMyOiNkZWZpbmUgTUFDQl9TRlJfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MzM6I2RlZmluZSBNQUNCX0RSUUZUX09GRlNFVFxcdDIwIC8qIFBUUCBEZWxheSBSZXF1ZXN0IEZyYW1lIFRyYW5zbWl0dGVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDM0OiNkZWZpbmUgTUFDQl9EUlFGVF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzNTojZGVmaW5lIE1BQ0JfU0ZUX09GRlNFVFxcdFxcdDIxIC8qIFBUUCBTeW5jIEZyYW1lIFRyYW5zbWl0dGVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDM2OiNkZWZpbmUgTUFDQl9TRlRfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mzc6I2RlZmluZSBNQUNCX1BEUlFGUl9PRkZTRVRcXHQyMiAvKiBQRGVsYXkgUmVxdWVzdCBGcmFtZSBSZWNlaXZlZCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzODojZGVmaW5lIE1BQ0JfUERSUUZSX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDM5OiNkZWZpbmUgTUFDQl9QRFJTRlJfT0ZGU0VUXFx0MjMgLyogUERlbGF5IFJlc3BvbnNlIEZyYW1lIFJlY2VpdmVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQwOiNkZWZpbmUgTUFDQl9QRFJTRlJfU0laRVxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NDE6I2RlZmluZSBNQUNCX1BEUlFGVF9PRkZTRVRcXHQyNCAvKiBQRGVsYXkgUmVxdWVzdCBGcmFtZSBUcmFuc21pdHRlZCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ0MjojZGVmaW5lIE1BQ0JfUERSUUZUX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQzOiNkZWZpbmUgTUFDQl9QRFJTRlRfT0ZGU0VUXFx0MjUgLyogUERlbGF5IFJlc3BvbnNlIEZyYW1lIFRyYW5zbWl0dGVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQ0OiNkZWZpbmUgTUFDQl9QRFJTRlRfU0laRVxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NDU6I2RlZmluZSBNQUNCX1NSSV9PRkZTRVRcXHRcXHQyNiAvKiBUU1UgU2Vjb25kcyBSZWdpc3RlciBJbmNyZW1lbnQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NDY6I2RlZmluZSBNQUNCX1NSSV9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ0Ny0jZGVmaW5lIEdFTV9XT0xfT0ZGU0VUXFx0XFx0MjggLyogRW5hYmxlIHdha2Utb24tbGFuIGludGVycnVwdCAqL1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDUwLS8qIFRpbWVyIGluY3JlbWVudCBmaWVsZHMgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTE6I2RlZmluZSBNQUNCX1RJX0NOU19PRkZTRVRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDUyOiNkZWZpbmUgTUFDQl9USV9DTlNfU0laRVxcdDhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTM6I2RlZmluZSBNQUNCX1RJX0FDTlNfT0ZGU0VUXFx0OFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1NDojZGVmaW5lIE1BQ0JfVElfQUNOU19TSVpFXFx0OFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1NTojZGVmaW5lIE1BQ0JfVElfTklUX09GRlNFVFxcdDE2XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDU2OiNkZWZpbmUgTUFDQl9USV9OSVRfU0laRVxcdDhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00NTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDU4LS8qIEJpdGZpZWxkcyBpbiBNQU4gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTk6I2RlZmluZSBNQUNCX0RBVEFfT0ZGU0VUXFx0MCAvKiBkYXRhICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDYwOiNkZWZpbmUgTUFDQl9EQVRBX1NJWkVcXHRcXHQxNlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2MTojZGVmaW5lIE1BQ0JfQ09ERV9PRkZTRVRcXHQxNiAvKiBNdXN0IGJlIHdyaXR0ZW4gdG8gMTAgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjI6I2RlZmluZSBNQUNCX0NPREVfU0laRVxcdFxcdDJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjM6I2RlZmluZSBNQUNCX1JFR0FfT0ZGU0VUXFx0MTggLyogUmVnaXN0ZXIgYWRkcmVzcyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2NDojZGVmaW5lIE1BQ0JfUkVHQV9TSVpFXFx0XFx0NVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2NTojZGVmaW5lIE1BQ0JfUEhZQV9PRkZTRVRcXHQyMyAvKiBQSFkgYWRkcmVzcyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2NjojZGVmaW5lIE1BQ0JfUEhZQV9TSVpFXFx0XFx0NVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2NzojZGVmaW5lIE1BQ0JfUldfT0ZGU0VUXFx0XFx0MjggLyogT3BlcmF0aW9uLiAxMCBpcyByZWFkLiAwMSBpcyB3cml0ZS4gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Njg6I2RlZmluZSBNQUNCX1JXX1NJWkVcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDY5OiNkZWZpbmUgTUFDQl9TT0ZfT0ZGU0VUXFx0XFx0MzAgLyogTXVzdCBiZSB3cml0dGVuIHRvIDEgZm9yIENsYXVzZSAyMiAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3MDojZGVmaW5lIE1BQ0JfU09GX1NJWkVcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDcxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ3Mi0vKiBCaXRmaWVsZHMgaW4gVVNSSU8gKEFWUjMyKSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3MzojZGVmaW5lIE1BQ0JfTUlJX09GRlNFVFxcdFxcdFxcdFxcdDBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NzQ6I2RlZmluZSBNQUNCX01JSV9TSVpFXFx0XFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3NTojZGVmaW5lIE1BQ0JfRUFNX09GRlNFVFxcdFxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NzY6I2RlZmluZSBNQUNCX0VBTV9TSVpFXFx0XFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3NzojZGVmaW5lIE1BQ0JfVFhfUEFVU0VfT0ZGU0VUXFx0XFx0XFx0MlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3ODojZGVmaW5lIE1BQ0JfVFhfUEFVU0VfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Nzk6I2RlZmluZSBNQUNCX1RYX1BBVVNFX1pFUk9fT0ZGU0VUXFx0XFx0M1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4MDojZGVmaW5lIE1BQ0JfVFhfUEFVU0VfWkVST19TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ4MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODItLyogQml0ZmllbGRzIGluIFVTUklPIChBVDkxKSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4MzojZGVmaW5lIE1BQ0JfUk1JSV9PRkZTRVRcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDg0OiNkZWZpbmUgTUFDQl9STUlJX1NJWkVcXHRcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDg1LSNkZWZpbmUgR0VNX1JHTUlJX09GRlNFVFxcdFxcdFxcdDAgLyogR0VNIGdpZ2FiaXQgbW9kZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ4Ni0jZGVmaW5lIEdFTV9SR01JSV9TSVpFXFx0XFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4NzojZGVmaW5lIE1BQ0JfQ0xLRU5fT0ZGU0VUXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4ODojZGVmaW5lIE1BQ0JfQ0xLRU5fU0laRVxcdFxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDkwLS8qIEJpdGZpZWxkcyBpbiBXT0wgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0OTE6I2RlZmluZSBNQUNCX0lQX09GRlNFVFxcdFxcdFxcdFxcdDBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0OTI6I2RlZmluZSBNQUNCX0lQX1NJWkVcXHRcXHRcXHRcXHQxNlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ5MzojZGVmaW5lIE1BQ0JfTUFHX09GRlNFVFxcdFxcdFxcdFxcdDE2XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk0OiNkZWZpbmUgTUFDQl9NQUdfU0laRVxcdFxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0OTU6I2RlZmluZSBNQUNCX0FSUF9PRkZTRVRcXHRcXHRcXHRcXHQxN1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ5NjojZGVmaW5lIE1BQ0JfQVJQX1NJWkVcXHRcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk3OiNkZWZpbmUgTUFDQl9TQTFfT0ZGU0VUXFx0XFx0XFx0XFx0MThcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0OTg6I2RlZmluZSBNQUNCX1NBMV9TSVpFXFx0XFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ5OTojZGVmaW5lIE1BQ0JfV09MX01USV9PRkZTRVRcXHRcXHRcXHQxOVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwMDojZGVmaW5lIE1BQ0JfV09MX01USV9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTUwMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC01MDItLyogQml0ZmllbGRzIGluIE1JRCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwMzojZGVmaW5lIE1BQ0JfSUROVU1fT0ZGU0VUXFx0XFx0XFx0MTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDQ6I2RlZmluZSBNQUNCX0lETlVNX1NJWkVcXHRcXHRcXHRcXHQxMlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwNTojZGVmaW5lIE1BQ0JfUkVWX09GRlNFVFxcdFxcdFxcdFxcdDBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDY6I2RlZmluZSBNQUNCX1JFVl9TSVpFXFx0XFx0XFx0XFx0MTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC01MDctXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC02NzgtLyogQml0ZmllbGRzIGluIHF1ZXVlIHBvaW50ZXIgcmVnaXN0ZXJzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Njc5OiNkZWZpbmUgTUFDQl9RVUVVRV9ESVNBQkxFX09GRlNFVFxcdFxcdDAgLyogZGlzYWJsZSBxdWV1ZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY4MDojZGVmaW5lIE1BQ0JfUVVFVUVfRElTQUJMRV9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTY4MS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTcyOS0vKiBDb25zdGFudHMgZm9yIENMSyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjczMDojZGVmaW5lIE1BQ0JfQ0xLX0RJVjhcXHRcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzMxOiNkZWZpbmUgTUFDQl9DTEtfRElWMTZcXHRcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzMyOiNkZWZpbmUgTUFDQl9DTEtfRElWMzJcXHRcXHRcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzMzOiNkZWZpbmUgTUFDQl9DTEtfRElWNjRcXHRcXHRcXHRcXHQzXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzM0LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzQ1LS8qIENvbnN0YW50cyBmb3IgTUFOIHJlZ2lzdGVyICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ2OiNkZWZpbmUgTUFDQl9NQU5fQzIyX1NPRlxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NDc6I2RlZmluZSBNQUNCX01BTl9DMjJfV1JJVEVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ4OiNkZWZpbmUgTUFDQl9NQU5fQzIyX1JFQURcXHRcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ5OiNkZWZpbmUgTUFDQl9NQU5fQzIyX0NPREVcXHRcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzUwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc1MTojZGVmaW5lIE1BQ0JfTUFOX0M0NV9TT0ZcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzUyOiNkZWZpbmUgTUFDQl9NQU5fQzQ1X0FERFJcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzUzOiNkZWZpbmUgTUFDQl9NQU5fQzQ1X1dSSVRFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc1NDojZGVmaW5lIE1BQ0JfTUFOX0M0NV9QT1NUX1JFQURfSU5DUlxcdFxcdDJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTU6I2RlZmluZSBNQUNCX01BTl9DNDVfUkVBRFxcdFxcdFxcdDNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTY6I2RlZmluZSBNQUNCX01BTl9DNDVfQ09ERVxcdFxcdFxcdDJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03NTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzU4LS8qIENhcGFiaWxpdHkgbWFzayBiaXRzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzU5OiNkZWZpbmUgTUFDQl9DQVBTX0lTUl9DTEVBUl9PTl9XUklURVxcdFxcdEJJVCgwKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2MDojZGVmaW5lIE1BQ0JfQ0FQU19VU1JJT19IQVNfQ0xLRU5cXHRcXHRCSVQoMSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjE6I2RlZmluZSBNQUNCX0NBUFNfVVNSSU9fREVGQVVMVF9JU19NSUlfR01JSVxcdEJJVCgyKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2MjojZGVmaW5lIE1BQ0JfQ0FQU19OT19HSUdBQklUX0hBTEZcXHRcXHRCSVQoMylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjM6I2RlZmluZSBNQUNCX0NBUFNfVVNSSU9fRElTQUJMRURcXHRcXHRCSVQoNClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjQ6I2RlZmluZSBNQUNCX0NBUFNfSlVNQk9cXHRcXHRcXHRcXHRCSVQoNSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjU6I2RlZmluZSBNQUNCX0NBUFNfR0VNX0hBU19QVFBcXHRcXHRcXHRCSVQoNilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjY6I2RlZmluZSBNQUNCX0NBUFNfQkRfUkRfUFJFRkVUQ0hcXHRcXHRCSVQoNylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3Njc6I2RlZmluZSBNQUNCX0NBUFNfTkVFRFNfUlNUT05VQlJcXHRcXHRCSVQoOClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3Njg6I2RlZmluZSBNQUNCX0NBUFNfTUlJT05SR01JSVxcdFxcdFxcdEJJVCg5KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2OTojZGVmaW5lIE1BQ0JfQ0FQU19ORUVEX1RTVUNMS1xcdFxcdFxcdEJJVCgxMClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NzA6I2RlZmluZSBNQUNCX0NBUFNfUVVFVUVfRElTQUJMRVxcdFxcdFxcdEJJVCgxMSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NzE6I2RlZmluZSBNQUNCX0NBUFNfUUJWXFx0XFx0XFx0XFx0QklUKDEyKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3MjojZGVmaW5lIE1BQ0JfQ0FQU19QQ1NcXHRcXHRcXHRcXHRCSVQoMTMpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzczOiNkZWZpbmUgTUFDQl9DQVBTX0hJR0hfU1BFRURcXHRcXHRcXHRCSVQoMTQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzc0OiNkZWZpbmUgTUFDQl9DQVBTX0NMS19IV19DSEdcXHRcXHRcXHRCSVQoMTUpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzc1OiNkZWZpbmUgTUFDQl9DQVBTX01BQ0JfSVNfRU1BQ1xcdFxcdFxcdEJJVCgxNilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NzY6I2RlZmluZSBNQUNCX0NBUFNfRklGT19NT0RFXFx0XFx0XFx0QklUKDE3KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3NzojZGVmaW5lIE1BQ0JfQ0FQU19HSUdBQklUX01PREVfQVZBSUxBQkxFXFx0QklUKDE4KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3ODojZGVmaW5lIE1BQ0JfQ0FQU19TR19ESVNBQkxFRFxcdFxcdFxcdEJJVCgxOSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3Nzk6I2RlZmluZSBNQUNCX0NBUFNfTUFDQl9JU19HRU1cXHRcXHRcXHRCSVQoMjApXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzgwOiNkZWZpbmUgTUFDQl9DQVBTX0RNQV82NEJcXHRcXHRcXHRCSVQoMjEpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzgxOiNkZWZpbmUgTUFDQl9DQVBTX0RNQV9QVFBcXHRcXHRcXHRCSVQoMjIpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzgyOiNkZWZpbmUgTUFDQl9DQVBTX1JTQ1xcdFxcdFxcdFxcdEJJVCgyMylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3ODM6I2RlZmluZSBNQUNCX0NBUFNfTk9fTFNPXFx0XFx0XFx0QklUKDI0KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc4NDojZGVmaW5lIE1BQ0JfQ0FQU19FRUVcXHRcXHRcXHRcXHRCSVQoMjUpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzg1OiNkZWZpbmUgTUFDQl9DQVBTX1VTUklPX0hBU19NSUlcXHRcXHRcXHRCSVQoMjYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzg2OiNkZWZpbmUgTUFDQl9DQVBTX1VTUklPX0hBU19SRUZDTEtfU09VUkNFXFx0QklUKDI3KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc4NzojZGVmaW5lIE1BQ0JfQ0FQU19VU1JJT19IQVNfVFNVQ0xLX1NPVVJDRVxcdEJJVCgyOClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03ODgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzg5LS8qIExTTyBzZXR0aW5ncyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc5MDojZGVmaW5lIE1BQ0JfTFNPX1VGT19FTkFCTEVcXHRcXHRcXHQweDAxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzkxOiNkZWZpbmUgTUFDQl9MU09fVFNPX0VOQUJMRVxcdFxcdFxcdDB4MDJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03OTItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzkzLS8qIEJpdCBtYW5pcHVsYXRpb24gbWFjcm9zICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk0OiNkZWZpbmUgTUFDQl9CSVQobmFtZSlcXHRcXHRcXHRcXHRcXHRcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk1OlxcdCgxIFxcdTAwM2NcXHUwMDNjIE1BQ0JfIyNuYW1lIyNfT0ZGU0VUKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc5NjojZGVmaW5lIE1BQ0JfQkYobmFtZSx2YWx1ZSlcXHRcXHRcXHRcXHRcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk3OlxcdCgoKHZhbHVlKSBcXHUwMDI2ICgoMSBcXHUwMDNjXFx1MDAzYyBNQUNCXyMjbmFtZSMjX1NJWkUpIC0gMSkpXFx0XFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc5ODpcXHQgXFx1MDAzY1xcdTAwM2MgTUFDQl8jI25hbWUjI19PRkZTRVQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk5OiNkZWZpbmUgTUFDQl9CRkVYVChuYW1lLHZhbHVlKVxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDA6XFx0KCgodmFsdWUpIFxcdTAwM2VcXHUwMDNlIE1BQ0JfIyNuYW1lIyNfT0ZGU0VUKVxcdFxcdFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDE6XFx0IFxcdTAwMjYgKCgxIFxcdTAwM2NcXHUwMDNjIE1BQ0JfIyNuYW1lIyNfU0laRSkgLSAxKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDI6I2RlZmluZSBNQUNCX0JGSU5TKG5hbWUsdmFsdWUsb2xkKVxcdFxcdFxcdFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDM6XFx0KCgob2xkKSBcXHUwMDI2IH4oKCgxIFxcdTAwM2NcXHUwMDNjIE1BQ0JfIyNuYW1lIyNfU0laRSkgLSAxKVxcdFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDQ6XFx0XFx0ICAgIFxcdTAwM2NcXHUwMDNjIE1BQ0JfIyNuYW1lIyNfT0ZGU0VUKSlcXHRcXHRcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODA1OlxcdCB8IE1BQ0JfQkYobmFtZSx2YWx1ZSkpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODA2LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODIwLS8qIFJlZ2lzdGVyIGFjY2VzcyBtYWNyb3MgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MjE6I2RlZmluZSBtYWNiX3JlYWRsKHBvcnQsIHJlZylcXHRcXHQocG9ydCktXFx1MDAzZW1hY2JfcmVnX3JlYWRsKChwb3J0KSwgTUFDQl8jI3JlZylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MjI6I2RlZmluZSBtYWNiX3dyaXRlbChwb3J0LCByZWcsIHZhbHVlKVxcdChwb3J0KS1cXHUwMDNlbWFjYl9yZWdfd3JpdGVsKChwb3J0KSwgTUFDQl8jI3JlZywgKHZhbHVlKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04MjMtI2RlZmluZSBnZW1fcmVhZGwocG9ydCwgcmVnKVxcdFxcdChwb3J0KS1cXHUwMDNlbWFjYl9yZWdfcmVhZGwoKHBvcnQpLCBHRU1fIyNyZWcpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04MjktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODMwOi8qIENvbmRpdGlvbmFsIEdFTS9NQUNCIG1hY3Jvcy4gIFRoZXNlIHBlcmZvcm0gdGhlIG9wZXJhdGlvbiB0byB0aGUgY29ycmVjdFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjgzMTogKiByZWdpc3RlciBkZXBlbmRlbnQgb24gd2hldGhlciB0aGUgZGV2aWNlIGlzIGEgR0VNIG9yIGEgTUFDQi4gIEZvciByZWdpc3RlcnNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04MzItICogYW5kIGJpdGZpZWxkcyB0aGF0IGFyZSBjb21tb24gYWNyb3NzIGJvdGggZGV2aWNlcywgdXNlIG1hY2Jfe3JlYWQsd3JpdGV9bFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODUyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg1MzojZGVmaW5lIE1BQ0JfUkVBRF9OU1IoYnApXFx0bWFjYl9yZWFkbChicCwgTlNSKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTg1NC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oPTg2OT1zdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODc0LS8qIERNQSBkZXNjcmlwdG9yIGJpdGZpZWxkcyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg3NTojZGVmaW5lIE1BQ0JfUlhfVVNFRF9PRkZTRVRcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODc2OiNkZWZpbmUgTUFDQl9SWF9VU0VEX1NJWkVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODc3OiNkZWZpbmUgTUFDQl9SWF9XUkFQX09GRlNFVFxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4Nzg6I2RlZmluZSBNQUNCX1JYX1dSQVBfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4Nzk6I2RlZmluZSBNQUNCX1JYX1dBRERSX09GRlNFVFxcdFxcdFxcdDJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODA6I2RlZmluZSBNQUNCX1JYX1dBRERSX1NJWkVcXHRcXHRcXHQzMFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTg4MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODI6I2RlZmluZSBNQUNCX1JYX0ZSTUxFTl9PRkZTRVRcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODgzOiNkZWZpbmUgTUFDQl9SWF9GUk1MRU5fU0laRVxcdFxcdFxcdDEyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODg0OiNkZWZpbmUgTUFDQl9SWF9PRkZTRVRfT0ZGU0VUXFx0XFx0XFx0MTJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODU6I2RlZmluZSBNQUNCX1JYX09GRlNFVF9TSVpFXFx0XFx0XFx0MlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4NjojZGVmaW5lIE1BQ0JfUlhfU09GX09GRlNFVFxcdFxcdFxcdDE0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODg3OiNkZWZpbmUgTUFDQl9SWF9TT0ZfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODg6I2RlZmluZSBNQUNCX1JYX0VPRl9PRkZTRVRcXHRcXHRcXHQxNVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4OTojZGVmaW5lIE1BQ0JfUlhfRU9GX1NJWkVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODkwOiNkZWZpbmUgTUFDQl9SWF9DRklfT0ZGU0VUXFx0XFx0XFx0MTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTE6I2RlZmluZSBNQUNCX1JYX0NGSV9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg5MjojZGVmaW5lIE1BQ0JfUlhfVkxBTl9QUklfT0ZGU0VUXFx0XFx0XFx0MTdcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTM6I2RlZmluZSBNQUNCX1JYX1ZMQU5fUFJJX1NJWkVcXHRcXHRcXHQzXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk0OiNkZWZpbmUgTUFDQl9SWF9QUklfVEFHX09GRlNFVFxcdFxcdFxcdDIwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk1OiNkZWZpbmUgTUFDQl9SWF9QUklfVEFHX1NJWkVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk2OiNkZWZpbmUgTUFDQl9SWF9WTEFOX1RBR19PRkZTRVRcXHRcXHRcXHQyMVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg5NzojZGVmaW5lIE1BQ0JfUlhfVkxBTl9UQUdfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTg6I2RlZmluZSBNQUNCX1JYX1RZUEVJRF9NQVRDSF9PRkZTRVRcXHRcXHQyMlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg5OTojZGVmaW5lIE1BQ0JfUlhfVFlQRUlEX01BVENIX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTAwOiNkZWZpbmUgTUFDQl9SWF9TQTRfTUFUQ0hfT0ZGU0VUXFx0XFx0MjNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MDE6I2RlZmluZSBNQUNCX1JYX1NBNF9NQVRDSF9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwMjojZGVmaW5lIE1BQ0JfUlhfU0EzX01BVENIX09GRlNFVFxcdFxcdDI0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTAzOiNkZWZpbmUgTUFDQl9SWF9TQTNfTUFUQ0hfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MDQ6I2RlZmluZSBNQUNCX1JYX1NBMl9NQVRDSF9PRkZTRVRcXHRcXHQyNVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwNTojZGVmaW5lIE1BQ0JfUlhfU0EyX01BVENIX1NJWkVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTA2OiNkZWZpbmUgTUFDQl9SWF9TQTFfTUFUQ0hfT0ZGU0VUXFx0XFx0MjZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MDc6I2RlZmluZSBNQUNCX1JYX1NBMV9NQVRDSF9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwODojZGVmaW5lIE1BQ0JfUlhfRVhUX01BVENIX09GRlNFVFxcdFxcdDI4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTA5OiNkZWZpbmUgTUFDQl9SWF9FWFRfTUFUQ0hfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTA6I2RlZmluZSBNQUNCX1JYX1VIQVNIX01BVENIX09GRlNFVFxcdFxcdDI5XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTExOiNkZWZpbmUgTUFDQl9SWF9VSEFTSF9NQVRDSF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkxMjojZGVmaW5lIE1BQ0JfUlhfTUhBU0hfTUFUQ0hfT0ZGU0VUXFx0XFx0MzBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTM6I2RlZmluZSBNQUNCX1JYX01IQVNIX01BVENIX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTE0OiNkZWZpbmUgTUFDQl9SWF9CUk9BRENBU1RfT0ZGU0VUXFx0XFx0MzFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTU6I2RlZmluZSBNQUNCX1JYX0JST0FEQ0FTVF9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTkxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTc6I2RlZmluZSBNQUNCX1JYX0ZSTUxFTl9NQVNLXFx0XFx0XFx0MHhGRkZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTg6I2RlZmluZSBNQUNCX1JYX0pGUk1MRU5fTUFTS1xcdFxcdFxcdDB4M0ZGRlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTkxOS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTkyNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5Mjg6I2RlZmluZSBNQUNCX1RYX0ZSTUxFTl9PRkZTRVRcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTI5OiNkZWZpbmUgTUFDQl9UWF9GUk1MRU5fU0laRVxcdFxcdFxcdDExXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTMwOiNkZWZpbmUgTUFDQl9UWF9MQVNUX09GRlNFVFxcdFxcdFxcdDE1XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTMxOiNkZWZpbmUgTUFDQl9UWF9MQVNUX1NJWkVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTMyOiNkZWZpbmUgTUFDQl9UWF9OT0NSQ19PRkZTRVRcXHRcXHRcXHQxNlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkzMzojZGVmaW5lIE1BQ0JfVFhfTk9DUkNfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MzQ6I2RlZmluZSBNQUNCX01TU19NRlNfT0ZGU0VUXFx0XFx0XFx0MTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MzU6I2RlZmluZSBNQUNCX01TU19NRlNfU0laRVxcdFxcdFxcdDE0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTM2OiNkZWZpbmUgTUFDQl9UWF9MU09fT0ZGU0VUXFx0XFx0XFx0MTdcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5Mzc6I2RlZmluZSBNQUNCX1RYX0xTT19TSVpFXFx0XFx0XFx0MlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkzODojZGVmaW5lIE1BQ0JfVFhfVENQX1NFUV9TUkNfT0ZGU0VUXFx0XFx0MTlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5Mzk6I2RlZmluZSBNQUNCX1RYX1RDUF9TRVFfU1JDX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQwOiNkZWZpbmUgTUFDQl9UWF9CVUZfRVhIQVVTVEVEX09GRlNFVFxcdFxcdDI3XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQxOiNkZWZpbmUgTUFDQl9UWF9CVUZfRVhIQVVTVEVEX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQyOiNkZWZpbmUgTUFDQl9UWF9VTkRFUlJVTl9PRkZTRVRcXHRcXHRcXHQyOFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0MzojZGVmaW5lIE1BQ0JfVFhfVU5ERVJSVU5fU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5NDQ6I2RlZmluZSBNQUNCX1RYX0VSUk9SX09GRlNFVFxcdFxcdFxcdDI5XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQ1OiNkZWZpbmUgTUFDQl9UWF9FUlJPUl9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0NjojZGVmaW5lIE1BQ0JfVFhfV1JBUF9PRkZTRVRcXHRcXHRcXHQzMFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0NzojZGVmaW5lIE1BQ0JfVFhfV1JBUF9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0ODojZGVmaW5lIE1BQ0JfVFhfVVNFRF9PRkZTRVRcXHRcXHRcXHQzMVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0OTojZGVmaW5lIE1BQ0JfVFhfVVNFRF9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTk1MC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oPTExOTc9c3RydWN0IG1hY2Jfb3JfZ2VtX29wcyB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0xMjA0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjEyMDU6LyogTUFDQi1QVFAgaW50ZXJmYWNlOiBhZGFwdCB0byBwbGF0Zm9ybSBuZWVkcy4gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0xMjA2LXN0cnVjdCBtYWNiX3B0cF9pbmZvIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oPTEzMDE9c3RydWN0IG1hY2Ige1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMTMxNi1cXHR1bnNpZ25lZCBpbnRcXHRcXHRudW1fcXVldWVzO1xcblxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozNzo0NC4yNDQ1NTI3MzdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjozNDExMzEzNjk2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IFFFTVUgLyBDYWRlbmNlIE1BQ0IgUENJIEludmVzdGlnYXRpb24qKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBpbnRvIHRoZSBDYWRlbmNlIE1BQ0IgLyBHRU0gZXRoZXJuZXQgY29udHJvbGxlciwgc3BlY2lmaWNhbGx5IHRoZSBQQ0kgaW1wbGVtZW50YXRpb24uIEkga25vdyBgbWFjYl9wY2kuY2AgYW5kIGBtYWNiX21haW4uY2AgYXJlIHRoZSByZWxldmFudCBzb3VyY2UgZmlsZXMuIFRoZSBxdWVzdGlvbiBpcywgZG9lcyBRRU1VIGVtdWxhdGUgdGhlIENhZGVuY2UgTUFDQiBpbiBhIFBDSSBjb25maWd1cmF0aW9uLCBhbmQgaWYgc28sIGhvdz8gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgaXQgbWlnaHQgYmUgZW11bGF0ZWQsIGJ1dCBJIG5lZWQgdG8gY29uZmlybS5cblxuQWgsIHllcyEgSSByZW1lbWJlciBRRU1VIGhhdmluZyBgY2FkZW5jZV9nZW1gIGVtdWxhdGlvbiEgQnV0IGRvZXMgdGhhdCBhcHBseSB0byB0aGUgUENJIGltcGxlbWVudGF0aW9uPyBBIHF1aWNrIHNlYXJjaCByZW1pbmRzIG1lIHRoYXQgUUVNVSB1dGlsaXplcyBgY2FkZW5jZV9nZW1gIGZvciBYaWxpbnggWnlucSwgWnlucU1QLCBhbmQgVmVyc2FsIHBsYXRmb3Jtcywgd2hpY2ggYWxsIHVzZSBBUk0vQUFyY2g2NCBvciBNaWNyb0JsYXplIGFyY2hpdGVjdHVyZXMuIFNvLCAqd2hlcmUqIGRvZXMgdGhpcyBmaXQgaW4gd2l0aCBQQ0k/IERvZXMgUUVNVSB1c2UgYG1hY2JfcGNpYCBkaXJlY3RseSwgb3IgZG9lcyBpdCBzb21laG93IG1hcCB0aGF0IHRvIGBjYWRlbmNlX2dlbWAgb24gUENJIGRldmljZXM/XG5cblRvIGJlIHN1cmUsIEknbGwgY2hlY2sgYG1hY2JfcGNpLmNgLiBJIG5lZWQgdG8gZmlndXJlIG91dCB3aGljaCBQQ0kgZGV2aWNlcyBpdCdzIGRlc2lnbmVkIHRvIG1hdGNoLiBUaGF0IHdpbGwgZ2l2ZSBtZSBhIGNsZWFyIGlkZWEgb2Ygd2hhdCB0aGUgUUVNVSBlbXVsYXRpb24gdGFyZ2V0cy4gTGV0J3MgZGlnIGluLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxODg1MywiT3V0cHV0VG9rZW5zIjozNiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE2MCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozNzo0Ny42NTU4Njg5NzNaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDgyNzAzMTksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwicGNpX2RldmljZV9pZFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcGNpLmMtMjYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jOjI3OnN0YXRpYyBpbnQgbWFjYl9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGNpLCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jLTI4LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wY2kuYz0xMDg9c3RhdGljIHZvaWQgbWFjYl9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBjaSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wY2kuYy0xMTktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jOjEyMDpzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgZGV2X2lkX3RhYmxlW10gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jLTEyMS1cXHR7IFBDSV9WREVWSUNFKENETlMsIFBDSV9ERVZJQ0VfSURfQ0ROU19NQUNCKSB9LFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozNzo0Ny43MDQxNDY3MTJaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjozNDM0MDAwNTQ1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIGlmIHRoZXkncmUgbWluZTpcblxuKipEaXZpbmcgaW50byB0aGUgTUFDQiBEcml2ZXIqKlxuXG5SaWdodCwgdGltZSB0byBnZXQgbXkgaGFuZHMgZGlydHkuIExldCdzIHNlZS4uLiB0aGUgaXNzdWUgd2UncmUgdGFja2xpbmcgbGlrZWx5IGludm9sdmVzIGhvdyB0aGUgZGV2aWNlIGlzIGlkZW50aWZpZWQgYW5kIHByb2JlZCwgc28gbXkgZmlyc3QgaW5zdGluY3QgaXMgdG8gemVybyBpbiBvbiBgbWFjYl9wY2kuY2AuIFNwZWNpZmljYWxseSwgSSB3YW50IHRvIHJlZnJlc2ggbXkgbWVtb3J5IGFib3V0IGhvdyB0aGUgYGRldl9pZF90YWJsZWAgaXMgc3RydWN0dXJlZCDigJMgdGhhdCdzIHRoZSBjcnVjaWFsIG1hcHBpbmcgYmV0d2VlbiBQQ0kgZGV2aWNlIElEcyBhbmQgdGhlIE1BQ0IgZHJpdmVyLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIGRyaXZlciBrbm93cyAqd2hpY2gqIGRldmljZXMgaXQgc2hvdWxkIGF0dGFjaCB0by4gVGhlbiwgSSdsbCBqdW1wIG92ZXIgdG8gdGhlIGBtYWNiX3Byb2JlYCBmdW5jdGlvbi4gVGhhdCdzIHRoZSBmdW5jdGlvbiB0aGF0IGdldHMgY2FsbGVkIHdoZW4gYSBtYXRjaGluZyBkZXZpY2UgaXMgZm91bmQuIEkgbmVlZCB0byByZWNvbnN0cnVjdCB0aGUgZXhlY3V0aW9uIGZsb3cgaGVyZSAtIGhvdyBpdCB2ZXJpZmllcyBkZXZpY2UgY29tcGF0aWJpbGl0eSwgaW5pdGlhbGl6ZXMgdGhlIGhhcmR3YXJlLCBhbmQgdWx0aW1hdGVseSBtYWtlcyB0aGUgZGV2aWNlIHJlYWR5IGZvciB1c2UgYnkgdGhlIHN5c3RlbS4gVW5kZXJzdGFuZGluZyB0aGlzIGNvbnRyb2wgZmxvdyBzaG91bGQgY2xhcmlmeSB0aGUgcm9vdCBvZiB0aGUgcHJvYmxlbS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTk1ODcsIk91dHB1dFRva2VucyI6NDQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyOSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozNzo1MS4xMzgxNDk5NTdaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MjUyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcGNpLmNcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogMTMwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbiAgIDI6XFx0LypcXG4gICAzOlxcdCAqIERPQzogQ2FkZW5jZSBHRU0gUENJIHdyYXBwZXIuXFxuICAgNDpcXHQgKlxcbiAgIDU6XFx0ICogQ29weXJpZ2h0IChDKSAyMDE2IENhZGVuY2UgRGVzaWduIFN5c3RlbXMgLSBodHRwczovL3d3dy5jYWRlbmNlLmNvbVxcbiAgIDY6XFx0ICpcXG4gICA3OlxcdCAqIEF1dGhvcnM6IFJhZmFsIE96aWVibG8gXFx1MDAzY3JhZmFsb0BjYWRlbmNlLmNvbVxcdTAwM2VcXG4gICA4OlxcdCAqXFx0ICAgIEJhcnRvc3ogRm9sdGEgXFx1MDAzY2Jmb2x0YUBjYWRlbmNlLmNvbVxcdTAwM2VcXG4gICA5OlxcdCAqL1xcbiAgMTA6XFx0XFxuICAxMTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvY2xrLmhcXHUwMDNlXFxuICAxMjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvY2xrLXByb3ZpZGVyLmhcXHUwMDNlXFxuICAxMzpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvZXRoZXJkZXZpY2UuaFxcdTAwM2VcXG4gIDE0OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9tb2R1bGUuaFxcdTAwM2VcXG4gIDE1OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9wY2kuaFxcdTAwM2VcXG4gIDE2OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFxcdTAwM2VcXG4gIDE3OlxcdCNpbmNsdWRlIFxcXCJtYWNiLmhcXFwiXFxuICAxODpcXHRcXG4gIDE5OlxcdCNkZWZpbmUgUENJX0RSSVZFUl9OQU1FIFxcXCJtYWNiX3BjaVxcXCJcXG4gIDIwOlxcdCNkZWZpbmUgUExBVF9EUklWRVJfTkFNRSBcXFwibWFjYlxcXCJcXG4gIDIxOlxcdFxcbiAgMjI6XFx0I2RlZmluZSBQQ0lfREVWSUNFX0lEX0NETlNfTUFDQiAweGUwMDdcXG4gIDIzOlxcdFxcbiAgMjQ6XFx0I2RlZmluZSBHRU1fUENMS19SQVRFIDUwMDAwMDAwXFxuICAyNTpcXHQjZGVmaW5lIEdFTV9IQ0xLX1JBVEUgNTAwMDAwMDBcXG4gIDI2OlxcdFxcbiAgMjc6XFx0c3RhdGljIGludCBtYWNiX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwY2ksIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcXG4gIDI4OlxcdHtcXG4gIDI5OlxcdFxcdGludCBlcnI7XFxuICAzMDpcXHRcXHRzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2O1xcbiAgMzE6XFx0XFx0c3RydWN0IHBsYXRmb3JtX2RldmljZV9pbmZvIHBsYXRfaW5mbztcXG4gIDMyOlxcdFxcdHN0cnVjdCBtYWNiX3BsYXRmb3JtX2RhdGEgcGxhdF9kYXRhO1xcbiAgMzM6XFx0XFx0c3RydWN0IHJlc291cmNlIHJlc1syXTtcXG4gIDM0OlxcdFxcbiAgMzU6XFx0XFx0LyogZW5hYmxlIHBjaSBkZXZpY2UgKi9cXG4gIDM2OlxcdFxcdGVyciA9IHBjaW1fZW5hYmxlX2RldmljZShwY2kpO1xcbiAgMzc6XFx0XFx0aWYgKGVyciBcXHUwMDNjIDApIHtcXG4gIDM4OlxcdFxcdFxcdGRldl9lcnIoXFx1MDAyNnBjaS1cXHUwMDNlZGV2LCBcXFwiRW5hYmxpbmcgUENJIGRldmljZSBoYXMgZmFpbGVkOiAlZFxcXCIsIGVycik7XFxuICAzOTpcXHRcXHRcXHRyZXR1cm4gZXJyO1xcbiAgNDA6XFx0XFx0fVxcbiAgNDE6XFx0XFxuICA0MjpcXHRcXHRwY2lfc2V0X21hc3RlcihwY2kpO1xcbiAgNDM6XFx0XFxuICA0NDpcXHRcXHQvKiBzZXQgdXAgcmVzb3VyY2VzICovXFxuICA0NTpcXHRcXHRtZW1zZXQocmVzLCAweDAwLCBzaXplb2Yoc3RydWN0IHJlc291cmNlKSAqIEFSUkFZX1NJWkUocmVzKSk7XFxuICA0NjpcXHRcXHRyZXNbMF0uc3RhcnQgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAwKTtcXG4gIDQ3OlxcdFxcdHJlc1swXS5lbmQgPSBwY2lfcmVzb3VyY2VfZW5kKHBjaSwgMCk7XFxuICA0ODpcXHRcXHRyZXNbMF0ubmFtZSA9IFBDSV9EUklWRVJfTkFNRTtcXG4gIDQ5OlxcdFxcdHJlc1swXS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNO1xcbiAgNTA6XFx0XFx0cmVzWzFdLnN0YXJ0ID0gcGNpX2lycV92ZWN0b3IocGNpLCAwKTtcXG4gIDUxOlxcdFxcdHJlc1sxXS5uYW1lID0gUENJX0RSSVZFUl9OQU1FO1xcbiAgNTI6XFx0XFx0cmVzWzFdLmZsYWdzID0gSU9SRVNPVVJDRV9JUlE7XFxuICA1MzpcXHRcXG4gIDU0OlxcdFxcdGRldl9pbmZvKFxcdTAwMjZwY2ktXFx1MDAzZWRldiwgXFxcIkVNQUMgcGh5c2ljYWwgYmFzZSBhZGRyOiAlcGFcXFxcblxcXCIsXFxuICA1NTpcXHRcXHRcXHQgXFx1MDAyNnJlc1swXS5zdGFydCk7XFxuICA1NjpcXHRcXG4gIDU3OlxcdFxcdC8qIHNldCB1cCBtYWNiIHBsYXRmb3JtIGRhdGEgKi9cXG4gIDU4OlxcdFxcdG1lbXNldChcXHUwMDI2cGxhdF9kYXRhLCAwLCBzaXplb2YocGxhdF9kYXRhKSk7XFxuICA1OTpcXHRcXG4gIDYwOlxcdFxcdC8qIGluaXRpYWxpemUgY2xvY2tzICovXFxuICA2MTpcXHRcXHRwbGF0X2RhdGEucGNsayA9IGNsa19yZWdpc3Rlcl9maXhlZF9yYXRlKFxcdTAwMjZwY2ktXFx1MDAzZWRldiwgXFxcInBjbGtcXFwiLCBOVUxMLCAwLFxcbiAgNjI6XFx0XFx0XFx0XFx0XFx0XFx0XFx0IEdFTV9QQ0xLX1JBVEUpO1xcbiAgNjM6XFx0XFx0aWYgKElTX0VSUihwbGF0X2RhdGEucGNsaykpIHtcXG4gIDY0OlxcdFxcdFxcdGVyciA9IFBUUl9FUlIocGxhdF9kYXRhLnBjbGspO1xcbiAgNjU6XFx0XFx0XFx0Z290byBlcnJfcGNsa19yZWdpc3RlcjtcXG4gIDY2OlxcdFxcdH1cXG4gIDY3OlxcdFxcbiAgNjg6XFx0XFx0cGxhdF9kYXRhLmhjbGsgPSBjbGtfcmVnaXN0ZXJfZml4ZWRfcmF0ZShcXHUwMDI2cGNpLVxcdTAwM2VkZXYsIFxcXCJoY2xrXFxcIiwgTlVMTCwgMCxcXG4gIDY5OlxcdFxcdFxcdFxcdFxcdFxcdFxcdCBHRU1fSENMS19SQVRFKTtcXG4gIDcwOlxcdFxcdGlmIChJU19FUlIocGxhdF9kYXRhLmhjbGspKSB7XFxuICA3MTpcXHRcXHRcXHRlcnIgPSBQVFJfRVJSKHBsYXRfZGF0YS5oY2xrKTtcXG4gIDcyOlxcdFxcdFxcdGdvdG8gZXJyX2hjbGtfcmVnaXN0ZXI7XFxuICA3MzpcXHRcXHR9XFxuICA3NDpcXHRcXG4gIDc1OlxcdFxcdC8qIHNldCB1cCBwbGF0Zm9ybSBkZXZpY2UgaW5mbyAqL1xcbiAgNzY6XFx0XFx0bWVtc2V0KFxcdTAwMjZwbGF0X2luZm8sIDAsIHNpemVvZihwbGF0X2luZm8pKTtcXG4gIDc3OlxcdFxcdHBsYXRfaW5mby5wYXJlbnQgPSBcXHUwMDI2cGNpLVxcdTAwM2VkZXY7XFxuICA3ODpcXHRcXHRwbGF0X2luZm8uZndub2RlID0gcGNpLVxcdTAwM2VkZXYuZndub2RlO1xcbiAgNzk6XFx0XFx0cGxhdF9pbmZvLm5hbWUgPSBQTEFUX0RSSVZFUl9OQU1FO1xcbiAgODA6XFx0XFx0cGxhdF9pbmZvLmlkID0gcGNpLVxcdTAwM2VkZXZmbjtcXG4gIDgxOlxcdFxcdHBsYXRfaW5mby5yZXMgPSByZXM7XFxuICA4MjpcXHRcXHRwbGF0X2luZm8ubnVtX3JlcyA9IEFSUkFZX1NJWkUocmVzKTtcXG4gIDgzOlxcdFxcdHBsYXRfaW5mby5kYXRhID0gXFx1MDAyNnBsYXRfZGF0YTtcXG4gIDg0OlxcdFxcdHBsYXRfaW5mby5zaXplX2RhdGEgPSBzaXplb2YocGxhdF9kYXRhKTtcXG4gIDg1OlxcdFxcdHBsYXRfaW5mby5kbWFfbWFzayA9IHBjaS1cXHUwMDNlZG1hX21hc2s7XFxuICA4NjpcXHRcXG4gIDg3OlxcdFxcdC8qIHJlZ2lzdGVyIHBsYXRmb3JtIGRldmljZSAqL1xcbiAgODg6XFx0XFx0cGRldiA9IHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9mdWxsKFxcdTAwMjZwbGF0X2luZm8pO1xcbiAgODk6XFx0XFx0aWYgKElTX0VSUihwZGV2KSkge1xcbiAgOTA6XFx0XFx0XFx0ZXJyID0gUFRSX0VSUihwZGV2KTtcXG4gIDkxOlxcdFxcdFxcdGdvdG8gZXJyX3BsYXRfZGV2X3JlZ2lzdGVyO1xcbiAgOTI6XFx0XFx0fVxcbiAgOTM6XFx0XFxuICA5NDpcXHRcXHRwY2lfc2V0X2RydmRhdGEocGNpLCBwZGV2KTtcXG4gIDk1OlxcdFxcbiAgOTY6XFx0XFx0cmV0dXJuIDA7XFxuICA5NzpcXHRcXG4gIDk4OlxcdGVycl9wbGF0X2Rldl9yZWdpc3RlcjpcXG4gIDk5OlxcdFxcdGNsa191bnJlZ2lzdGVyX2ZpeGVkX3JhdGUocGxhdF9kYXRhLmhjbGspO1xcbiAxMDA6XFx0XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM3OjUxLjEzODIzNjI1N1oiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjE3MTU5MDc4MDQ2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIENhZGVuY2UgTUFDQiAvIEdFTSBFdGhlcm5ldCBDb250cm9sbGVyIGZvciBGdXp6aW5nKipcblxuT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLiBJJ20gbG9va2luZyBhdCB0aGlzIENhZGVuY2UgTUFDQi9HRU0gZXRoZXJuZXQgY29udHJvbGxlciDigJMgaXQncyBhIHZlbmRvci1zcGVjaWZpYyBoYXJkd2FyZSBNQUMsIGxpa2UgeW91J2QgZmluZCBvbiBBdG1lbCwgQVQzMiwgb3IgcG90ZW50aWFsbHkgQ2FkZW5jZSdzIEdFTSBJUCBpbiBYaWxpbnggWnlucSBBUk0gc3lzdGVtcywgRlBHQXMsIG9yIGV2ZW4gYSBQQ0kgcHJvdG90eXBlIGNhcmQuIFRoZSBpbW1lZGlhdGUgcXVlc3Rpb24gaW4gbXkgbWluZCBpcywgb24gYSBzdGFuZGFyZCBhbWQ2NCBzeXN0ZW0sIHJ1bm5pbmcgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCBsaWtlIEdDRSBvciBRRU1VLCBjYW4gSSAqYWN0dWFsbHkqIHJlYWNoIGFuZCBleGVjdXRlIHRoaXMgY29kZSwgc3BlY2lmaWNhbGx5IHdpdGggYENPTkZJR19NQUNCYCBlbmFibGVkP1xuXG5JIG5lZWQgdG8gcmVmZXIgdG8gdGhlIGZ1enppbmcgZ3VpZGVsaW5lcy4gVGhlIGtleSB0YWtlYXdheSwgdGhlICpwcmltYXJ5KiBnYXRla2VlcGVyLCBpcyByZWFjaGFiaWxpdHkuIFRoZSBndWlkZWxpbmVzIHN0YXRlIGNsZWFybHkgdGhhdCBmdXp6aW5nIGlzIG9ubHkgdmFsaWQgZm9yIGNvZGUgdGhhdCAqZXhlY3V0ZXMqIHdpdGhpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBzZXR1cHMsIHVzaW5nIHNvZnR3YXJlLWVtdWxhdGVkIGRldmljZXMuIElmIHRoZSBjb2RlIGlzLCBpbiBhIHdvcmQsIHVucmVhY2hhYmxlLCB0aGVuIGZ1enppbmcgaXMgb3V0IG9mIHRoZSBxdWVzdGlvbiwgcmVnYXJkbGVzcyBvZiBpdHMgaW50ZXJuYWwgY29tcGxleGl0eSBvciBpZiB0aGVyZSBhcmUgYWRkaXRpb25hbCBhc3NlcnRpb24gc3RhdGVtZW50cy5cblxuTm93LCBhY2NvcmRpbmcgdG8gdGhlIGd1aWRlbGluZXMsIEkgY2FuIG1hcmsgc29tZXRoaW5nIGFzIGBXb3J0aEZ1enppbmc9ZmFsc2VgIG9ubHkgaWYgdGhlIG1vZGlmaWVkIGNvZGUgZmFsbHMgaW50byBjZXJ0YWluIGNhdGVnb3JpZXMuIFRoZSBjcnVjaWFsIG9uZSBmb3IgbWUgaGVyZSBpcyBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmUsIHN1Y2ggYXMgdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoZXMsIG9yIGRyaXZlcnMgdGhhdCBuZWVkIHNwZWNpZmljIHBoeXNpY2FsIGhhcmR3YXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBVbnJlYWNoYWJsZSBleGVjdXRpb24gcGF0aHMgYXJlIGFsc28gbm90IHN1aXRhYmxlLlxuXG5Ob3csIGxldCdzIHNoaWZ0IGZvY3VzIHRvIGBtYWNiX3B0cC5jYC4gSSBuZWVkIHRvIGRpZyBpbnRvIHRoYXQgZmlsZSBhbmQgc2VlIHdoYXQgaXQgZG9lcy4gSXRzIHJvbGUgaW4gdGhlIG92ZXJhbGwgcGljdHVyZSwgYW5kIGl0cyByZWxhdGlvbiB0byB0aGUgaGFyZHdhcmUsIG5lZWRzIHRvIGJlIGluc3BlY3RlZC4gU28sIGxldCBtZSBvcGVuIHRoYXQgdXAgYW5kIGludmVzdGlnYXRlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTM5NCwiT3V0cHV0VG9rZW5zIjo0MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjMzMywiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM4OjA4LjI5NzMxNjk3M1oiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4NDM1MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmNcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogODBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiICAgMTpcXHQvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuICAgMjpcXHQvKlxcbiAgIDM6XFx0ICogMTU4OCBQVFAgc3VwcG9ydCBmb3IgQ2FkZW5jZSBHRU0gZGV2aWNlLlxcbiAgIDQ6XFx0ICpcXG4gICA1OlxcdCAqIENvcHlyaWdodCAoQykgMjAxNyBDYWRlbmNlIERlc2lnbiBTeXN0ZW1zIC0gaHR0cHM6Ly93d3cuY2FkZW5jZS5jb21cXG4gICA2OlxcdCAqXFxuICAgNzpcXHQgKiBBdXRob3JzOiBSYWZhbCBPemllYmxvIFxcdTAwM2NyYWZhbG9AY2FkZW5jZS5jb21cXHUwMDNlXFxuICAgODpcXHQgKiAgICAgICAgICBCYXJ0b3N6IEZvbHRhIFxcdTAwM2NiZm9sdGFAY2FkZW5jZS5jb21cXHUwMDNlXFxuICAgOTpcXHQgKi9cXG4gIDEwOlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9rZXJuZWwuaFxcdTAwM2VcXG4gIDExOlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC90eXBlcy5oXFx1MDAzZVxcbiAgMTI6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Nsay5oXFx1MDAzZVxcbiAgMTM6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2RldmljZS5oXFx1MDAzZVxcbiAgMTQ6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2V0aGVyZGV2aWNlLmhcXHUwMDNlXFxuICAxNTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvcGxhdGZvcm1fZGV2aWNlLmhcXHUwMDNlXFxuICAxNjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvdGltZTY0LmhcXHUwMDNlXFxuICAxNzpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvcHRwX2NsYXNzaWZ5LmhcXHUwMDNlXFxuICAxODpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvaWZfZXRoZXIuaFxcdTAwM2VcXG4gIDE5OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9pZl92bGFuLmhcXHUwMDNlXFxuICAyMDpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvbmV0X3RzdGFtcC5oXFx1MDAzZVxcbiAgMjE6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2NpcmNfYnVmLmhcXHUwMDNlXFxuICAyMjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvc3BpbmxvY2suaFxcdTAwM2VcXG4gIDIzOlxcdFxcbiAgMjQ6XFx0I2luY2x1ZGUgXFxcIm1hY2IuaFxcXCJcXG4gIDI1OlxcdFxcbiAgMjY6XFx0I2RlZmluZSAgR0VNX1BUUF9USU1FUl9OQU1FIFxcXCJnZW0tcHRwLXRpbWVyXFxcIlxcbiAgMjc6XFx0XFxuICAyODpcXHRzdGF0aWMgc3RydWN0IG1hY2JfZG1hX2Rlc2NfcHRwICptYWNiX3B0cF9kZXNjKHN0cnVjdCBtYWNiICpicCxcXG4gIDI5OlxcdFxcdFxcdFxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgbWFjYl9kbWFfZGVzYyAqZGVzYylcXG4gIDMwOlxcdHtcXG4gIDMxOlxcdFxcdGlmICghbWFjYl9kbWFfcHRwKGJwKSlcXG4gIDMyOlxcdFxcdFxcdHJldHVybiBOVUxMO1xcbiAgMzM6XFx0XFxuICAzNDpcXHRcXHRpZiAobWFjYl9kbWE2NChicCkpXFxuICAzNTpcXHRcXHRcXHRyZXR1cm4gKHN0cnVjdCBtYWNiX2RtYV9kZXNjX3B0cCAqKVxcbiAgMzY6XFx0XFx0XFx0XFx0XFx0KCh1OCAqKWRlc2MgKyBzaXplb2Yoc3RydWN0IG1hY2JfZG1hX2Rlc2MpXFxuICAzNzpcXHRcXHRcXHRcXHRcXHQrIHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzY182NCkpO1xcbiAgMzg6XFx0XFx0ZWxzZVxcbiAgMzk6XFx0XFx0XFx0cmV0dXJuIChzdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAgKilcXG4gIDQwOlxcdFxcdFxcdFxcdFxcdCgodTggKilkZXNjICsgc2l6ZW9mKHN0cnVjdCBtYWNiX2RtYV9kZXNjKSk7XFxuICA0MTpcXHR9XFxuICA0MjpcXHRcXG4gIDQzOlxcdHN0YXRpYyBpbnQgZ2VtX3RzdV9nZXRfdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgc3RydWN0IHRpbWVzcGVjNjQgKnRzLFxcbiAgNDQ6XFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBwdHBfc3lzdGVtX3RpbWVzdGFtcCAqc3RzKVxcbiAgNDU6XFx0e1xcbiAgNDY6XFx0XFx0c3RydWN0IG1hY2IgKmJwID0gY29udGFpbmVyX29mKHB0cCwgc3RydWN0IG1hY2IsIHB0cF9jbG9ja19pbmZvKTtcXG4gIDQ3OlxcdFxcdHVuc2lnbmVkIGxvbmcgZmxhZ3M7XFxuICA0ODpcXHRcXHRsb25nIGZpcnN0LCBzZWNvbmQ7XFxuICA0OTpcXHRcXHR1MzIgc2VjbCwgc2VjaDtcXG4gIDUwOlxcdFxcbiAgNTE6XFx0XFx0c3Bpbl9sb2NrX2lycXNhdmUoXFx1MDAyNmJwLVxcdTAwM2V0c3VfY2xrX2xvY2ssIGZsYWdzKTtcXG4gIDUyOlxcdFxcdHB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpO1xcbiAgNTM6XFx0XFx0LyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSxcXG4gIDU0OlxcdFxcdCAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuXFxuICA1NTpcXHRcXHQgKi9cXG4gIDU2OlxcdFxcdHJtYigpO1xcbiAgNTc6XFx0XFx0Zmlyc3QgPSBnZW1fcmVhZGwoYnAsIFROKTtcXG4gIDU4OlxcdFxcdC8qIEVuc3VyZSB0aGUgUEhDIHJlYWQgY29tcGxldGVzIGJlZm9yZSB0YWtpbmdcXG4gIDU5OlxcdFxcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cXG4gIDYwOlxcdFxcdCAqL1xcbiAgNjE6XFx0XFx0cm1iKCk7XFxuICA2MjpcXHRcXHRwdHBfcmVhZF9zeXN0ZW1fcG9zdHRzKHN0cyk7XFxuICA2MzpcXHRcXHRzZWNsID0gZ2VtX3JlYWRsKGJwLCBUU0wpO1xcbiAgNjQ6XFx0XFx0c2VjaCA9IGdlbV9yZWFkbChicCwgVFNIKTtcXG4gIDY1OlxcdFxcdHNlY29uZCA9IGdlbV9yZWFkbChicCwgVE4pO1xcbiAgNjY6XFx0XFxuICA2NzpcXHRcXHQvKiB0ZXN0IGZvciBuc2VjIHJvbGxvdmVyICovXFxuICA2ODpcXHRcXHRpZiAoZmlyc3QgXFx1MDAzZSBzZWNvbmQpIHtcXG4gIDY5OlxcdFxcdFxcdC8qIGlmIHNvLCB1c2UgbGF0ZXIgcmVhZCBcXHUwMDI2IHJlLXJlYWQgc2Vjb25kc1xcbiAgNzA6XFx0XFx0XFx0ICogKGFzc3VtZSBhbGwgZG9uZSB3aXRoaW4gMXMpXFxuICA3MTpcXHRcXHRcXHQgKi9cXG4gIDcyOlxcdFxcdFxcdHB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpO1xcbiAgNzM6XFx0XFx0XFx0LyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSxcXG4gIDc0OlxcdFxcdFxcdCAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuXFxuICA3NTpcXHRcXHRcXHQgKi9cXG4gIDc2OlxcdFxcdFxcdHJtYigpO1xcbiAgNzc6XFx0XFx0XFx0dHMtXFx1MDAzZXR2X25zZWMgPSBnZW1fcmVhZGwoYnAsIFROKTtcXG4gIDc4OlxcdFxcdFxcdC8qIEVuc3VyZSB0aGUgUEhDIHJlYWQgY29tcGxldGVzIGJlZm9yZSB0YWtpbmdcXG4gIDc5OlxcdFxcdFxcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cXG4gIDgwOlxcdFxcdFxcdCAqL1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozODowOC4yOTc0MDUzMTNaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6MzQ5NDQ5NjM3NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2VzcywgZGlzdGlsbGVkOlxuXG4qKkZpbmRpbmcgdGhlIFNvdXJjZSBvZiBhIFBUUCBUaW1lIENhbGxiYWNrKipcblxuT2theSwgc28gYGdlbV90c3VfZ2V0X3RpbWUoKWDigKYgcmlnaHQsIHRoYXQncyBhIFBUUCBjbG9jayBjYWxsYmFjaywgc3BlY2lmaWNhbGx5IHRoZSBvbmUgZGVmaW5lZCBhcyBgcHRwX2Nsb2NrX2luZm8uZ2V0dGltZXg2NGAgd2l0aGluIHRoZSBgbWFjYl9wdHAuY2AgbW9kdWxlLiBUaGUgZnVuY3Rpb24ncyBwdXJwb3NlIGlzIGNsZWFyLCBidXQgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgKndoZXJlKiBpdCdzIGJlaW5nIHJlZ2lzdGVyZWQsIHdoaWNoIGRldmljZSBvciBkcml2ZXIgaXMgYWN0dWFsbHkgdXNpbmcgaXQuIEkgbmVlZCB0byB0cmFjZSBpdHMgdXNhZ2UuIEknbGwgc2VhcmNoIHRoZSBjb2RlYmFzZSBkaXJlY3RseSBmb3IgaW5zdGFuY2VzIG9mIGBnZW1fdHN1X2dldF90aW1lYCBhbmQgc2VlIHdoYXQgY29tZXMgdXAuIFRoYXQgc2hvdWxkIHBvaW50IG1lIHRvIHRoZSByZWxldmFudCBpbml0aWFsaXphdGlvbiBvciByZWdpc3RyYXRpb24gY29kZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MjMzNjQsIk91dHB1dFRva2VucyI6MzgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3NiwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM4OjExLjc5MTkwNDA2OVoiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTc0OTY1NDQ3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImdlbV90c3VfZ2V0X3RpbWVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jPTI4PXN0YXRpYyBzdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAgKm1hY2JfcHRwX2Rlc2Moc3RydWN0IG1hY2IgKmJwLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTQyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYzo0MzpzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMtNDQtXFx0XFx0XFx0ICAgIHN0cnVjdCBwdHBfc3lzdGVtX3RpbWVzdGFtcCAqc3RzKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jPTE3NT1zdGF0aWMgaW50IGdlbV9wdHBfYWRqdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgczY0IGRlbHRhKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTE4Ni1cXHRpZiAoZGVsdGEgXFx1MDAzZSBUU1VfTlNFQ19NQVhfVkFMKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jOjE4NzpcXHRcXHRnZW1fdHN1X2dldF90aW1lKFxcdTAwMjZicC1cXHUwMDNlcHRwX2Nsb2NrX2luZm8sIFxcdTAwMjZub3csIE5VTEwpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYy0xODgtXFx0XFx0bm93ID0gdGltZXNwZWM2NF9hZGQobm93LCB0aGVuKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYz0yMDc9c3RhdGljIGNvbnN0IHN0cnVjdCBwdHBfY2xvY2tfaW5mbyBnZW1fcHRwX2NhcHNfdGVtcGxhdGUgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMtMjE3LVxcdC5hZGp0aW1lXFx0PSBnZW1fcHRwX2FkanRpbWUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jOjIxODpcXHQuZ2V0dGltZXg2NFxcdD0gZ2VtX3RzdV9nZXRfdGltZSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMtMjE5LVxcdC5zZXR0aW1lNjRcXHQ9IGdlbV90c3Vfc2V0X3RpbWUsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmM9MjY0PXN0YXRpYyBpbnQgZ2VtX2h3X3RpbWVzdGFtcChzdHJ1Y3QgbWFjYiAqYnAsIHUzMiBkbWFfZGVzY190c18xLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTI3Ni1cXHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmM6Mjc3OlxcdGdlbV90c3VfZ2V0X3RpbWUoXFx1MDAyNmJwLVxcdTAwM2VwdHBfY2xvY2tfaW5mbywgXFx1MDAyNnRzdSwgTlVMTCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTI3OC1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTBUMDQ6Mzg6MTEuOTY2ODc2NDM2WiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjEyMTk1MjMwNTM3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgVmVyZGljdDogU3RydWN0dXJhbGx5IFVucmVhY2hhYmxlIENvZGUqKlxuXG5Pa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uIEZpcnN0LCBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGUgQ2FkZW5jZSBNQUNCIGRldmljZSwgc3BlY2lmaWNhbGx5IHRoZSBgbWFjYl9wdHAuY2AgZHJpdmVyLCBpcyBldmVuIGFjY2Vzc2libGUgaW4gYSBzdGFuZGFyZCBRRU1VIHg4Nl82NCBmdXp6aW5nIGVudmlyb25tZW50LiBUaGUgaW5pdGlhbCBjaGVjayByZXZlYWxzIHRoYXQgc3RhbmRhcmQgUUVNVSBwcmltYXJpbHkgZW11bGF0ZXMgYSBzZXQgb2YgbmV0d29yayBkZXZpY2VzLCBidXQgbm9uZSBvZiB0aGVtIGFyZSBDYWRlbmNlIEdFTS4gV2UncmUgdGFsa2luZyBhYm91dCBlMTAwMCwgdmlydGlvLCBydGw4MTM5LCBhbmQgc2ltaWxhciBjb21tb24gTklDcyDigJMgbm90aGluZyB0aGF0IGludm9sdmVzIGEgQ2FkZW5jZSBHRU0gY29udHJvbGxlciwgZXNwZWNpYWxseSBub3Qgb24gYSBQQ0kgYnVzIHdpdGhpbiB0aGUgeDg2XzY0IGFyY2hpdGVjdHVyZS5cblxuTXkgUUVNVSBzb3VyY2UgZGl2ZSBjb25maXJtZWQgdGhpcy4gVGhlIGBjYWRlbmNlX2dlbS5jYCBkcml2ZXIgKmRvZXMqIGV4aXN0LCBidXQgaXQncyBpbnN0YW50aWF0ZWQgYXMgYSBzeXNidXMgZGV2aWNlLCBhbmQgc3BlY2lmaWNhbGx5IHdpdGhpbiB0aGUgY29udGV4dCBvZiBBUk0gU29DcyBsaWtlIHRoZSBYaWxpbnggWnlucSBhbmQgVmVyc2FsIHBsYXRmb3Jtcy4gUUVNVSdzIHg4Nl82NCBQQy9RMzUgZW11bGF0aW9uIGRvZXNuJ3QgcHJvYmUgb3IgaW5zdGFudGlhdGUgdGhpcyBkZXZpY2UuXG5cbkFscmlnaHQsIHdoYXQgYWJvdXQgY2xldmVyIHRyaWNrcyB3aXRoIHZpcnR1YWwgYnVzZXMgb3Igc3l6a2FsbGVyPyBDYW4gc3l6a2FsbGVyIHNvbWVob3cgZm9yY2UgdGhlIGRldmljZSB0byBjb21lIGludG8gZXhpc3RlbmNlLCBlaXRoZXIgYXMgYSBwbGF0Zm9ybSBkZXZpY2Ugb3IgYSBQQ0kgZGV2aWNlPyBJJ20gZmFtaWxpYXIgd2l0aCB0aG9zZSBjYXBhYmlsaXRpZXMsIGJ1dCBpbiB0aGlzIGNhc2UsIHRoZSBhbnN3ZXIgaXMgYSBmaXJtIG5vLiBTeXprYWxsZXIgcmVsaWVzIG9uIHRoZSBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50LCBhbmQgaXQncyBub3QgZ29pbmcgdG8gY29uanVyZSB1cCBwaHlzaWNhbCBvciBzcGVjaWFsaXplZCBDYWRlbmNlIGhhcmR3YXJlLiBGdXJ0aGVybW9yZSwgbG9va2luZyBhdCB0aGUgc3l6a2FsbGVyIGRvY3VtZW50YXRpb24sIHRoaXMgc2l0dWF0aW9uIGZhbGxzIHNxdWFyZWx5IGludG8gdGhlIFwiU3RydWN0dXJhbGx5IHVucmVhY2hhYmxlIGhhcmR3YXJlXCIgY2F0ZWdvcnkuXG5cbkxldCdzIG5haWwgZG93biB0aGlzIHBvaW50LiBUaGUgY29yZSBmdW5jdGlvbiBpbiBxdWVzdGlvbiBpcyBgZ2VtX3RzdV9nZXRfdGltZWAuIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhlIENhZGVuY2UgR0VNIGRldmljZSBpcyBzdWNjZXNzZnVsbHkgcHJvYmVkIGFuZCBpbml0aWFsaXplZCDigJMgYSBwcm9jZXNzIHRoYXQgaW52b2x2ZXMgdGhlIGBnZW1fcHRwX2luaXRgIGZ1bmN0aW9uLCBjcmVhdGluZyBhIFBUUCBjbG9jayBmb3IgdGhlIG5ldHdvcmsgaW50ZXJmYWNlLiBXaXRob3V0IHRoYXQgaGFyZHdhcmUgcHJvYmUsIGBnZW1fdHN1X2dldF90aW1lYCAqY2Fubm90KiBiZSBleGVjdXRlZC4gV2UncmUgY2hhc2luZyBnaG9zdHMgaGVyZS5cblxuU28sIGxldCdzIGNsYXJpZnkgdGhlIHBhdGNoJ3MgcHVycG9zZS4gSXQncyBhZGRpbmcgYHJtYigpYCBiYXJyaWVycyBiZWZvcmUgYW5kIGFmdGVyIGBnZW1fcmVhZGwoYnAsIFROKWAgd2l0aGluIGBnZW1fdHN1X2dldF90aW1lYC4gVGhlc2UgYmFycmllcnMgYXJlIG1lYW50IHRvIGVuZm9yY2UgbWVtb3J5IG9yZGVyaW5nIGZvciBNTUlPIHJlZ2lzdGVyIHJlYWRzLCBzeW5jaHJvbml6aW5nIHRoZW0gd2l0aCBzeXN0ZW0gdGltZXN0YW1wcyBhcyBwYXJ0IG9mIHRoZSBQVFAgKFByZWNpc2lvbiBUaW1lIFByb3RvY29sKSBmdW5jdGlvbmFsaXR5LiBTbywgaXQncyBhYm91dCBoYXJkd2FyZSBtZW1vcnktYmFycmllciBvcmRlcmluZyBmb3IgTU1JTyByZWFkcywgYnV0IGZvciBzcGVjaWZpYyBDYWRlbmNlIEdFTSBoYXJkd2FyZS5cblxuVGhlcmVmb3JlLCB0aGlzIHBhdGNoIGRpcmVjdGx5IG1vZGlmaWVzIHRoZSBjb2RlIGZvciB0aGUgQ2FkZW5jZSBNQUNCL0dFTSBFdGhlcm5ldCBjb250cm9sbGVyLCB3aGljaCBpcyB2ZW5kb3Itc3BlY2lmaWMgaGFyZHdhcmUsIGFuZCBpcyBhYnNlbnQgZnJvbSBzdGFuZGFyZCB4ODZfNjQgKGFtZDY0KSBlbnZpcm9ubWVudHMuIEl0IGNhbid0IGJlIHJlYWNoZWQgYmVjYXVzZSBvZiB0aGUgYXJjaGl0ZWN0dXJlIG9mIHRoZSBzaW11bGF0ZWQgbWFjaGluZS5cblxuSGVyZSdzIHRoZSBmaW5hbGl6ZWQgb3V0cHV0IGZvcm1hdDpcblxuKiAgIGBXb3J0aEZ1enppbmdgOiBmYWxzZVxuKiAgIGBGb2N1c1N5bWJvbHNgOiBcXFsgXVxuKiAgIGBFbmFibGVDb25maWdzYDogXFxbIF1cbiogICBgUmVhc29uaW5nYDogVGhlIHBhdGNoIG1vZGlmaWVzIGRyaXZlciBjb2RlIGZvciB0aGUgQ2FkZW5jZSBNQUNCL0dFTSBFdGhlcm5ldCBjb250cm9sbGVyIChgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jYCkuIFRoaXMgaGFyZHdhcmUgaXMgbm90IHByZXNlbnQgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgeDg2XzY0IChhbWQ2NCkgZnV6emluZyBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgYW5kIG5vdCB3YXJyYW50aW5nIGZ1enppbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0Mjk1LCJPdXRwdXRUb2tlbnMiOjE0MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjkxMywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozODoyNC4xNjIxMDk1NzNaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMzU2MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIE1NSU8gcmVhZCBtZW1vcnkgYmFycmllcnMgKHJtYikgaW4gZ2VtX3RzdV9nZXRfdGltZSgpIHdpdGhpbiB0aGUgQ2FkZW5jZSBNQUNCL0dFTSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYykuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHZlbmRvci1zcGVjaWZpYyBDYWRlbmNlIE1BQ0IvR0VNIGhhcmR3YXJlIChwcmltYXJpbHkgZm91bmQgb24gQXRtZWwvWGlsaW54IFNvQ3MpIHRoYXQgaXMgbm90IGF2YWlsYWJsZSBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCBhbWQ2NCB2aXJ0dWFsaXplZCBmdXp6aW5nIGVudmlyb25tZW50cyAoUUVNVS9HQ0UpLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgc3RydWN0dXJhbGx5IHVucmVhY2hhYmxlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBNTUlPIHJlYWQgbWVtb3J5IGJhcnJpZXJzIChybWIpIGluIGdlbV90c3VfZ2V0X3RpbWUoKSB3aXRoaW4gdGhlIENhZGVuY2UgTUFDQi9HRU0gRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMpLiBUaGlzIGRyaXZlciByZXF1aXJlcyB2ZW5kb3Itc3BlY2lmaWMgQ2FkZW5jZSBNQUNCL0dFTSBoYXJkd2FyZSAocHJpbWFyaWx5IGZvdW5kIG9uIEF0bWVsL1hpbGlueCBTb0NzKSB0aGF0IGlzIG5vdCBhdmFpbGFibGUgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgYW1kNjQgdmlydHVhbGl6ZWQgZnV6emluZyBlbnZpcm9ubWVudHMgKFFFTVUvR0NFKSwgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM4OjI0LjE2MjEzNzA3M1oiLCJTZXEiOjE1LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjMwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowz4m8f[0].run-triage(0) Phase: Succeeded StartedAt: 2026-09-10 04:18:06 +0000 UTC FinishedAt: 2026-09-10 04:38:25 +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+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBNTUlPIHJlYWQgbWVtb3J5IGJhcnJpZXJzIChybWIpIGluIGdlbV90c3VfZ2V0X3RpbWUoKSB3aXRoaW4gdGhlIENhZGVuY2UgTUFDQi9HRU0gRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMpLiBUaGlzIGRyaXZlciByZXF1aXJlcyB2ZW5kb3Itc3BlY2lmaWMgQ2FkZW5jZSBNQUNCL0dFTSBoYXJkd2FyZSAocHJpbWFyaWx5IGZvdW5kIG9uIEF0bWVsL1hpbGlueCBTb0NzKSB0aGF0IGlzIG5vdCBhdmFpbGFibGUgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgYW1kNjQgdmlydHVhbGl6ZWQgZnV6emluZyBlbnZpcm9ubWVudHMgKFFFTVUvR0NFKSwgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTAgMDQ6Mzc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBiNGY3YjU3ZGU1YzBjMDFlZGM5ZTg4NWEyNWFlMWZkMTBjZmVjNWFjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBTZXAgMTAgMDQ6Mzc6MzggMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jXG5pbmRleCBlNTE5NWQ3ZGFjMWQ1Li40ZmIyODc2MDhkYzQ4IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmNcbkBAIC01MCw3ICYjNDM7NTAsMTUgQEAgc3RhdGljIGludCBnZW1fdHN1X2dldF90aW1lKHN0cnVjdCBwdHBfY2xvY2tfaW5mbyAqcHRwLCBzdHJ1Y3QgdGltZXNwZWM2NCAqdHMsXG4gXG4gXHRzcGluX2xvY2tfaXJxc2F2ZShcdTAwMjZicC1cdTAwM2V0c3VfY2xrX2xvY2ssIGZsYWdzKTtcbiBcdHB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpO1xuJiM0MztcdC8qIHB0cF9yZWFkX3N5c3RlbV9wcmV0cygpIHVzZXMgc21wX3JtYigpIGludGVybmFsbHksXG4mIzQzO1x0ICogd2hpY2ggZG9lcyBub3QgZ3VhcmFudGVlIG9yZGVyaW5nIGFnYWluc3QgTU1JTyByZWFkcy5cbiYjNDM7XHQgKi9cbiYjNDM7XHRybWIoKTtcbiBcdGZpcnN0ID0gZ2VtX3JlYWRsKGJwLCBUTik7XG4mIzQzO1x0LyogRW5zdXJlIHRoZSBQSEMgcmVhZCBjb21wbGV0ZXMgYmVmb3JlIHRha2luZ1xuJiM0MztcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cbiYjNDM7XHQgKi9cbiYjNDM7XHRybWIoKTtcbiBcdHB0cF9yZWFkX3N5c3RlbV9wb3N0dHMoc3RzKTtcbiBcdHNlY2wgPSBnZW1fcmVhZGwoYnAsIFRTTCk7XG4gXHRzZWNoID0gZ2VtX3JlYWRsKGJwLCBUU0gpO1xuQEAgLTYyLDcgJiM0Mzs3MCwxNSBAQCBzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cyxcbiBcdFx0ICogKGFzc3VtZSBhbGwgZG9uZSB3aXRoaW4gMXMpXG4gXHRcdCAqL1xuIFx0XHRwdHBfcmVhZF9zeXN0ZW1fcHJldHMoc3RzKTtcbiYjNDM7XHRcdC8qIHB0cF9yZWFkX3N5c3RlbV9wcmV0cygpIHVzZXMgc21wX3JtYigpIGludGVybmFsbHksXG4mIzQzO1x0XHQgKiB3aGljaCBkb2VzIG5vdCBndWFyYW50ZWUgb3JkZXJpbmcgYWdhaW5zdCBNTUlPIHJlYWRzLlxuJiM0MztcdFx0ICovXG4mIzQzO1x0XHRybWIoKTtcbiBcdFx0dHMtXHUwMDNldHZfbnNlYyA9IGdlbV9yZWFkbChicCwgVE4pO1xuJiM0MztcdFx0LyogRW5zdXJlIHRoZSBQSEMgcmVhZCBjb21wbGV0ZXMgYmVmb3JlIHRha2luZ1xuJiM0MztcdFx0ICogdGhlIHBvc3QgdGltZXN0YW1wLlxuJiM0MztcdFx0ICovXG4mIzQzO1x0XHRybWIoKTtcbiBcdFx0cHRwX3JlYWRfc3lzdGVtX3Bvc3R0cyhzdHMpO1xuIFx0XHRzZWNsID0gZ2VtX3JlYWRsKGJwLCBUU0wpO1xuIFx0XHRzZWNoID0gZ2VtX3JlYWRsKGJwLCBUU0gpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmNvcmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgTU1JTyByZWFkIG1lbW9yeSBiYXJyaWVycyAocm1iKSBpbiBnZW1fdHN1X2dldF90aW1lKCkgd2l0aGluIHRoZSBDYWRlbmNlIE1BQ0IvR0VNIEV0aGVybmV0IGRyaXZlciAoZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgdmVuZG9yLXNwZWNpZmljIENhZGVuY2UgTUFDQi9HRU0gaGFyZHdhcmUgKHByaW1hcmlseSBmb3VuZCBvbiBBdG1lbC9YaWxpbnggU29DcykgdGhhdCBpcyBub3QgYXZhaWxhYmxlIG9yIGVtdWxhdGVkIGluIHN0YW5kYXJkIGFtZDY0IHZpcnR1YWxpemVkIGZ1enppbmcgZW52aXJvbm1lbnRzIChRRU1VL0dDRSksIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lciBhbmQgc2VjdXJpdHkgZW5naW5lZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZXZhbHVhdGUgd2hldGhlciBpdCB3YXJyYW50cyBmdXp6aW5nIHdpdGggc3l6a2FsbGVyLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiBpbnRlcm5hbCBhc3N1bXB0aW9ucy4gWW91IG11c3QgYWN0aXZlbHkgdXNlIHlvdXIgY29kZSBhY2Nlc3MKdG9vbHMgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlLCBjYWxsZXJzLCBhbmQgc3Vycm91bmRpbmcgY29udGV4dC4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjEuIENPUkUgVFJJQUdFIFBISUxPU09QSFkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIGdvYWwgb2YgcGF0Y2ggZnV6emluZyBpcyB0byBkaXNjb3ZlciBjcmFzaGVzLCByZWdyZXNzaW9ucywgZXhwb3NlZCBsYXRlbnQgYnVncywKYW5kIG5ld2x5IHRyaWdnZXJlZCBhc3NlcnRpb25zIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIHNlcmllcy4KCi0gUkVBQ0hBQklMSVRZIElTIFRIRSBQUklNQVJZIEdBVEU6CiAgRnV6emluZyBjYW4gb25seSBkaXNjb3ZlciBidWdzIGluIGNvZGUgdGhhdCBjYW4gYWN0dWFsbHkgZXhlY3V0ZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZAogIGVudmlyb25tZW50cyAoR0NFIG9yIFFFTVUsIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzIGxpa2UgVVNCIGdhZGdldHMsIG5ldGRldiwgdHVuL3RhcCkuCiAgSWYgdGhlIG1vZGlmaWVkIGNvZGUgaXMgc3RydWN0dXJhbGx5IHVucmVhY2hhYmxlIChzZWUgU2VjdGlvbiAyKSwgaXQgTVVTVCBOT1QgYmUgZnV6emVkLAogIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBhZGRzIGFzc2VydGlvbnMgb3IgY29tcGxleCBsb2dpYy4KCi0gRE8gTk9UIEJMSU5ETFkgVFJVU1QgJiMzNDtOTyBGVU5DVElPTkFMIENIQU5HRSYjMzQ7IChORkNJKSBPUiAmIzM0O1JFRkFDVE9SSU5HJiMzNDsgQ0xBSU1TOgogIFBhdGNoIGF1dGhvcnMgcm91dGluZWx5IGxhYmVsIGNoYW5nZXMgYXMgJiMzNDtjbGVhbnVwcyYjMzQ7LCAmIzM0O3JlZmFjdG9yaW5ncyYjMzQ7LCBvciBzdGF0ZQogICYjMzQ7Tm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQmIzM0Oy4gRG8gTk9UIHRha2UgdGhlc2UgY2xhaW1zIGF0IGZhY2UgdmFsdWUuCiAgQ29kZSByZWZhY3RvcmluZ3MgdGhhdCByZWFycmFuZ2UgbG9naWMsIGludHJvZHVjZSBoZWxwZXIgZnVuY3Rpb25zLCBvciBhbHRlciBzdGF0ZSBtYW5hZ2VtZW50CiAgaW4gY29yZSBzdWJzeXN0ZW1zIGZyZXF1ZW50bHkgaW50cm9kdWNlIHN1YnRsZSBzZW1hbnRpYyBzaGlmdHMgb3IgdW5jb3ZlciBsYXRlbnQga2VybmVsIGJ1Z3MuCiAgSWYgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSBpcyBtb2RpZmllZCBvciByZWZhY3RvcmVkLCBpdCBNVVNUIGJlIGZ1enplZC4KCi0gTkVXIE9SIE1PRElGSUVEIEFTU0VSVElPTlMgSU4gUkVBQ0hBQkxFIENPREUgTVVTVCBCRSBGVVpaRUQ6CiAgV2hlbiBhIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXMgcnVudGltZSBjaGVja3Mgb3IgYXNzZXJ0aW9ucyAoZS5nLiwgV0FSTl9PTiosIFZNX1dBUk5fT04qLAogIEJVR19PTiosIGxvY2tkZXBfYXNzZXJ0KikgaW4gcmVhY2hhYmxlIGNvZGUgcGF0aHMsIGl0IGVuZm9yY2VzIG5ldyBvciBzdHJpY3RlciBpbnZhcmlhbnRzLgogIEV2ZW4gaWYgdGhlIGF1dGhvciBiZWxpZXZlcyB0aGUgaW52YXJpYW50IGFsd2F5cyBob2xkcywgZnV6emluZyBpcyBlc3NlbnRpYWwgdG8gdmVyaWZ5IHdoZXRoZXIKICBhbiB1bnVzdWFsIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMgY2FuIHZpb2xhdGUgaXQuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoyLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9ZmFsc2UgKE5FR0FUSVZFIENSSVRFUklBKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIE9OTFkgSUYgYWxsIG1vZGlmaWVkIGNvZGUgZmFsbHMgc3RyaWN0bHkgaW50byBvbmUgb3IgbW9yZSBvZiB0aGVzZSBjYXRlZ29yaWVzOgoKLSBOb24ta2VybmVsIGFuZCBub24tZXhlY3V0YWJsZSBjaGFuZ2VzOgogICogTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgY29tbWVudHMsIG9yIHNwZWxsaW5nIGZpeGVzLgogICogVXNlci1zcGFjZSBkaXJlY3Rvcmllcywgc2VsZi10ZXN0cywgc2FtcGxlcywgb3Igc2NyaXB0cyAoZS5nLiwgdG9vbHMvLCBzYW1wbGVzLywgc2NyaXB0cy8sIHVzci8pCiAgICB0aGF0IGRvIG5vdCBhZmZlY3QgdGhlIGNvbXBpbGVkIGtlcm5lbCBpbWFnZSAodm1saW51eCkgb3Iga2VybmVsIG1vZHVsZXMuCiAgKiBQdXJlbHkgZGVjb3JhdGl2ZSBsb2dnaW5nIChlLmcuLCBtZXNzYWdlIHN0cmluZ3MgaW4gcHJfZXJyLCBwcmludGssIGRldl9pbmZvKSBvciB0cmFjZXBvaW50cwogICAgdGhhdCBkbyBub3QgYWx0ZXIgY29udHJvbCBmbG93IG9yIGRhdGEgc3RydWN0dXJlcy4KICAqIEJ1aWxkIHN5c3RlbSBvciBLY29uZmlnIGNoYW5nZXMgdGhhdCBkbyBub3QgYWx0ZXIgY29tcGlsZWQgQyBsb2dpYy4KLSBTdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmU6CiAgKiBWZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgICBpb25pYywgYW1kZ3B1KSByZXF1aXJpbmcgcGh5c2ljYWwgQVNJQy9QQ0llIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRoczoKICAqIERyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKC5yZW1vdmUsIC5zaHV0ZG93biwgcGNpX3VucmVnaXN0ZXJfZHJpdmVyKSBleGVjdXRlZCBvbmx5IGR1cmluZwogICAgcGh5c2ljYWwgUENJIGhvdC11bnBsdWcgb3IgbWFudWFsIHN5c2ZzIGRyaXZlciB1bmJpbmRpbmcuCiAgKiBDb2RlIHBhdGhzIGV4Y2x1c2l2ZSB0byBhcmNoaXRlY3R1cmVzIG90aGVyIHRoYW4gdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQozLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9dHJ1ZSAoUE9TSVRJVkUgQ1JJVEVSSUEpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZSB3aGVuZXZlciB0aGUgcGF0Y2ggdG91Y2hlcyByZWFjaGFibGUgZXhlY3V0YWJsZSBjb2RlLCBpbmNsdWRpbmc6Ci0gQ29yZSBTdWJzeXN0ZW1zOgogICogQW55IGxvZ2ljIG1vZGlmaWNhdGlvbnMgaW4gbWVtb3J5IG1hbmFnZW1lbnQgKG1tLyksIHN5bmNocm9uaXphdGlvbi9sb2NraW5nIChrZXJuZWwvbG9ja2luZy8pLAogICAgQlBGLCBzY2hlZHVsZXIsIGNvcmUgbmV0d29ya2luZywgVkZTLCBvciBzeXNjYWxsIGhhbmRsaW5nLgotIFJlZmFjdG9yaW5ncyBhbmQgQ29kZSBDbGVhbnVwczoKICAqIEFueSByZXN0cnVjdHVyaW5nIG9mIHJlYWNoYWJsZSBkYXRhIHN0cnVjdHVyZXMsIGhlbHBlciBhYnN0cmFjdGlvbnMsIG9yIGFsZ29yaXRobSBmbG93cy4KLSBSdW50aW1lIEFzc2VydGlvbnMgYW5kIERlZmVuc2l2ZSBDaGVja3M6CiAgKiBBbnkgaW50cm9kdWN0aW9uIG9yIGFsdGVyYXRpb24gb2YgYXNzZXJ0aW9ucyAoV0FSTl9PTiosIFZNX1dBUk5fT04qLCBCVUdfT04qLCBldGMuKSBpbiByZWFjaGFibGUgcGF0aHMuCi0gUmVhY2hhYmxlIERyaXZlcnMgYW5kIFByb3RvY29sczoKICAqIERyaXZlcnMgYWNjZXNzaWJsZSB2aWEgdmlydHVhbCBidXNlcyAodmlydGlvLCBVU0IgZ2FkZ2V0LCBsb29wYmFjaywgbmV0bGluaywgYmluZGVyLCBzb2NrZXRzLCBldGMuKS4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjQuIEVYVFJBQ1RJTkcgRm9jdXNTeW1ib2xzIChQUkVWRU5USU5HIERJTFVUSU9OKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpXaGVuIFdvcnRoRnV6emluZz10cnVlLCB5b3UgbXVzdCBleHRyYWN0IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgaW50byBGb2N1c1N5bWJvbHMgdG8gZ3VpZGUgdGhlIGZ1enplcjoKCi0gQVZPSUQgVUJJUVVJVE9VUyBMSUZFQ1lDTEUgSE9ULVBBVEhTOgogIERvIE5PVCBsaXN0IGdlbmVyaWMsIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhbGxlZCBieSBhbG1vc3QgZXZlcnkgcHJvZ3JhbSBpbiB0aGUgY29ycHVzCiAgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvOiBnZW5lcmFsIG1lbW9yeSBhbGxvY2F0b3JzIGFuZCBkZWFsbG9jYXRvcnMsIHBhZ2UgZmF1bHQKICBhbmQgdHJhcCBoYW5kbGVycywgb3IgY29yZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlczsgdGhpcyBpcyBub3QgYW4gZXhoYXVzdGl2ZSBsaXN0KS4KICBMaXN0aW5nIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhdXNlcyB0aGUgZnV6emVyIHRvIGNsYXNzaWZ5IHRob3VzYW5kcyBvZiB1bnJlbGF0ZWQgdGVzdHMgYXMgJiMzNDtmb2N1c2VkJiMzNDssCiAgd2hpY2ggc2V2ZXJlbHkgZGlsdXRlcyBmdXp6aW5nIGVmZm9ydCBhd2F5IGZyb20gdGhlIGFjdHVhbCBjaGFuZ2VzLgoKLSBUQVJHRVQgU1BFQ0lGSUMgRkVBVFVSRSBMT0dJQyBBTkQgRU5UUllQT0lOVFM6CiAgTGlzdCBmdW5jdGlvbnMgdGhhdCBzcGVjaWZpY2FsbHkgaW1wbGVtZW50IHRoZSBsb2dpYyBiZWluZyBhZGRlZCBvciBhbHRlcmVkLCBvciBkaXJlY3QgQVBJIGVudHJ5cG9pbnRzCiAgZm9yIHRoZSBzdWJzeXN0ZW0gZmVhdHVyZSB1bmRlciByZXZpZXcuCgotIEhBTkRMSU5HIFNUQVRJQyBJTkxJTkUgRlVOQ1RJT05TIElOIEhFQURFUlMgKC5oKToKICBDb21waWxlci1pbmxpbmVkIHN0YXRpYyBmdW5jdGlvbnMgKHN1Y2ggYXMgc3RhdGljIGlubGluZXMgaW4gbW0vKi5oIG9yIGluY2x1ZGUvbGludXgvKi5oKSBsYWNrCiAgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcyBpbiB2bWxpbnV4IGFuZCBjYW5ub3QgYmUgdGFyZ2V0ZWQgZGlyZWN0bHkgYnkgc3ltYm9sIGNvdmVyYWdlIGZpbHRlcnMuCiAgSWYgdGhlIGNoYW5nZXMgYXJlIHByaW1hcmlseSBpbiBzdGF0aWMgaW5saW5lIGhlbHBlcnMsIGlkZW50aWZ5IG5vbi1zdGF0aWMsIGZlYXR1cmUtc3BlY2lmaWMgY2FsbGVyCiAgZnVuY3Rpb25zIGluIC5jIGZpbGVzIHRoYXQgZXhlcmNpc2UgdGhlbSAoYXZvaWRpbmcgdWJpcXVpdG91cyBsaWZlY3ljbGUgd3JhcHBlcnMpLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KNS4gSURFTlRJRllJTkcgRW5hYmxlQ29uZmlncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IGNvbXBpbGUgYW5kIHJlYWNoIHRoZSBtb2RpZmllZCBjb2RlOgotIEluc3BlY3QgS2NvbmZpZyBmaWxlcyBhbmQgI2lmZGVmIGd1YXJkczsgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCi0gQ2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzIG5lZWRlZC4KLSBTdHJpcCBhbnkgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+VGFyZ2V0IGFyY2hpdGVjdHVyZTogYW1kNjQKCkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgYjRmN2I1N2RlNWMwYzAxZWRjOWU4ODVhMjVhZTFmZDEwY2ZlYzVhYwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUaHUgU2VwIDEwIDA0OjM3OjM4IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jCmluZGV4IGU1MTk1ZDdkYWMxZDUuLjRmYjI4NzYwOGRjNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMKQEAgLTUwLDcgJiM0Mzs1MCwxNSBAQCBzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cywKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZhbXA7YnAtJmd0O3RzdV9jbGtfbG9jaywgZmxhZ3MpOwogCXB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpOwomIzQzOwkvKiBwdHBfcmVhZF9zeXN0ZW1fcHJldHMoKSB1c2VzIHNtcF9ybWIoKSBpbnRlcm5hbGx5LAomIzQzOwkgKiB3aGljaCBkb2VzIG5vdCBndWFyYW50ZWUgb3JkZXJpbmcgYWdhaW5zdCBNTUlPIHJlYWRzLgomIzQzOwkgKi8KJiM0MzsJcm1iKCk7CiAJZmlyc3QgPSBnZW1fcmVhZGwoYnAsIFROKTsKJiM0MzsJLyogRW5zdXJlIHRoZSBQSEMgcmVhZCBjb21wbGV0ZXMgYmVmb3JlIHRha2luZwomIzQzOwkgKiB0aGUgcG9zdCB0aW1lc3RhbXAuCiYjNDM7CSAqLwomIzQzOwlybWIoKTsKIAlwdHBfcmVhZF9zeXN0ZW1fcG9zdHRzKHN0cyk7CiAJc2VjbCA9IGdlbV9yZWFkbChicCwgVFNMKTsKIAlzZWNoID0gZ2VtX3JlYWRsKGJwLCBUU0gpOwpAQCAtNjIsNyAmIzQzOzcwLDE1IEBAIHN0YXRpYyBpbnQgZ2VtX3RzdV9nZXRfdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgc3RydWN0IHRpbWVzcGVjNjQgKnRzLAogCQkgKiAoYXNzdW1lIGFsbCBkb25lIHdpdGhpbiAxcykKIAkJICovCiAJCXB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpOwomIzQzOwkJLyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSwKJiM0MzsJCSAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuCiYjNDM7CQkgKi8KJiM0MzsJCXJtYigpOwogCQl0cy0mZ3Q7dHZfbnNlYyA9IGdlbV9yZWFkbChicCwgVE4pOwomIzQzOwkJLyogRW5zdXJlIHRoZSBQSEMgcmVhZCBjb21wbGV0ZXMgYmVmb3JlIHRha2luZwomIzQzOwkJICogdGhlIHBvc3QgdGltZXN0YW1wLgomIzQzOwkJICovCiYjNDM7CQlybWIoKTsKIAkJcHRwX3JlYWRfc3lzdGVtX3Bvc3R0cyhzdHMpOwogCQlzZWNsID0gZ2VtX3JlYWRsKGJwLCBUU0wpOwogCQlzZWNoID0gZ2VtX3JlYWRsKGJwLCBUU0gpOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMCAwNDozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzMjEzCgkJCQkJCQlvdXRwdXQ6IDMyCgkJCQkJCQl0aG91Z2h0czogNzUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqSW5pdGlhbCBBc3Nlc3NtZW50IG9mIHRoZSBDb2RlIENoYW5nZSoqCgpPa2F5LCBzbyB0aGUgcGF0Y2ggaXMgdG91Y2hpbmcgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuY2AuIE15IGZpcnN0IG1vdmUgaXMgdG8gZGl2ZSBpbnRvIHRoYXQgZHJpdmVyIGNvZGUgYW5kIHVuZGVyc3RhbmQgaXRzIGNvbm5lY3Rpb24gdG8gdGhlIGhhcmR3YXJlIGFuZCBpdHMgb3ZlcmFsbCBmdW5jdGlvbmFsaXR5LCBlc3BlY2lhbGx5IHRoZSBQVFAgYXNwZWN0LiBHaXZlbiB0aGUgY29udGV4dCBvZiBhIGZ1enppbmcgc2V0dXAsIG15IGltbWVkaWF0ZSBjb25jZXJuIGlzIHdoZXRoZXIgdGhpcyBzcGVjaWZpYyBDYWRlbmNlIE1BQ0IgY29udHJvbGxlciBpcyBldmVuIHJlYWNoYWJsZSB3aXRoaW4gYSBzdGFuZGFyZCBRRU1VIGFtZDY0IGZ1enppbmcgZW52aXJvbm1lbnQuIFRoYXQmIzM5O3MgYSBjcnVjaWFsIGZpcnN0IHN0ZXA7IGlmIGl0JiMzOTtzIG5vdCBwcmVzZW50LCB0aGVuIHRoaXMgd2hvbGUgdGhpbmcgaXMgYSBkZWFkIGVuZCBmb3IgZnV6emluZyBwdXJwb3Nlcy4gSSBuZWVkIHRvIHF1aWNrbHkgZXN0YWJsaXNoIGl0cyBwcmVzZW5jZSBvciBhYnNlbmNlIHdpdGhpbiB0aGF0IHNwZWNpZmljIHRlc3QgZW52aXJvbm1lbnQuIEkmIzM5O2xsIG5lZWQgdG8gY2hlY2sgdGhlIEtjb25maWcsIHNlZSBpZiB0aGVyZSYjMzk7cyBhbnkgc3BlY2lmaWMgaGFyZHdhcmUgY29uZmlndXJhdGlvbiBuZWVkZWQsIG9yIGlmIGl0JiMzOTtzIGRlcGVuZGVudCBvbiBhIHBhcnRpY3VsYXIgbWFjaGluZSBtb2RlbC4gSSYjMzk7bGwgYmUgbG9va2luZyBmb3IgY2x1ZXMgaW4gdGhlIEtjb25maWcgdG8gc2VlIHdoYXQga2luZCBvZiBoYXJkd2FyZSBkZXBlbmRlbmN5IHdlIGFyZSB0YWxraW5nIGFib3V0IGhlcmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTAgMDQ6Mzc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7TUFDQiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiAxNzEzIGxpbmVzLlxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxuXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc9MjA9aWYgTkVUX1ZFTkRPUl9DQURFTkNFXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctMjEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6MjI6Y29uZmlnIE1BQ0JcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzoyMzpcdHRyaXN0YXRlIFwmIzM0O0NhZGVuY2UgTUFDQi9HRU0gc3VwcG9ydFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTI0LVx0ZGVwZW5kcyBvbiBIQVNfRE1BIFx1MDAyNlx1MDAyNiBDT01NT05fQ0xLXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTI4LVx0aGVscFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnOjI5Olx0ICBUaGUgQ2FkZW5jZSBNQUNCIGV0aGVybmV0IGludGVyZmFjZSBpcyBmb3VuZCBvbiBtYW55IEF0bWVsIEFUMzIgYW5kXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctMzAtXHQgIEFUOTEgcGFydHMuICBUaGlzIGRyaXZlciBhbHNvIHN1cHBvcnRzIHRoZSBDYWRlbmNlIEdFTSAoR2lnYWJpdFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTMxLVx0ICBFdGhlcm5ldCBNQUMgZm91bmQgaW4gc29tZSBBUk0gU29DIGRldmljZXMpLiAgU2F5IFkgdG8gaW5jbHVkZVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnOjMyOlx0ICBzdXBwb3J0IGZvciB0aGUgTUFDQi9HRU0gY2hpcC5cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy0zMy1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctMzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6Mzc6Y29uZmlnIE1BQ0JfVVNFX0hXU1RBTVBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy0zOC1cdGJvb2wgXCYjMzQ7VXNlIElFRUUgMTU4OCBod3N0YW1wXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6Mzk6XHRkZXBlbmRzIG9uIE1BQ0JcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy00MC1cdGRlcGVuZHMgb24gUFRQXzE1ODhfQ0xPQ0tcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctNDItXHRoZWxwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6NDM6XHQgIEVuYWJsZSBJRUVFIDE1ODggUHJlY2lzaW9uIFRpbWUgUHJvdG9jb2wgKFBUUCkgc3VwcG9ydCBmb3IgTUFDQi5cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy00NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzo0NTpjb25maWcgTUFDQl9QQ0lcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzo0NjpcdHRyaXN0YXRlIFwmIzM0O0NhZGVuY2UgUENJIE1BQ0IvR0VNIHN1cHBvcnRcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzo0NzpcdGRlcGVuZHMgb24gTUFDQiBcdTAwMjZcdTAwMjYgUENJXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctNDgtXHRoZWxwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6NDk6XHQgIFRoaXMgaXMgUENJIHdyYXBwZXIgZm9yIE1BQ0IgZHJpdmVyLlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTUwLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvTWFrZWZpbGU9NT1tYWNiLXlcdDo9IG1hY2JfbWFpbi5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlLTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlOjc6aWZlcSAoJChDT05GSUdfTUFDQl9VU0VfSFdTVEFNUCkseSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvTWFrZWZpbGUtOC1tYWNiLXlcdCYjNDM7PSBtYWNiX3B0cC5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlPTk9ZW5kaWZcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvTWFrZWZpbGUtMTAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlOjExOm9iai0kKENPTkZJR19NQUNCKSAmIzQzOz0gbWFjYi5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlOjEyOm9iai0kKENPTkZJR19NQUNCX1BDSSkgJiM0Mzs9IG1hY2JfcGNpLm9cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yLS8qXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOiAqIEF0bWVsIE1BQ0IgRXRoZXJuZXQgQ29udHJvbGxlciBkcml2ZXJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQtICpcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC02LSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzojaWZuZGVmIF9NQUNCX0hcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg6I2RlZmluZSBfTUFDQl9IXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC05LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTE3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MTg6I2RlZmluZSBNQUNCX0dSRUdTX05CUiAxNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MTk6I2RlZmluZSBNQUNCX0dSRUdTX1ZFUlNJT04gMlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjA6I2RlZmluZSBNQUNCX01BWF9RVUVVRVMgOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMjEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyMjovKiBNQUNCIHJlZ2lzdGVyIG9mZnNldHMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzOiNkZWZpbmUgTUFDQl9OQ1JcdFx0MHgwMDAwIC8qIE5ldHdvcmsgQ29udHJvbCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQ6I2RlZmluZSBNQUNCX05DRkdSXHRcdDB4MDAwNCAvKiBOZXR3b3JrIENvbmZpZyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU6I2RlZmluZSBNQUNCX05TUlx0XHQweDAwMDggLyogTmV0d29yayBTdGF0dXMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2OiNkZWZpbmUgTUFDQl9UQVJcdFx0MHgwMDBjIC8qIEFUOTFSTTkyMDAgb25seSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjc6I2RlZmluZSBNQUNCX1RDUlx0XHQweDAwMTAgLyogQVQ5MVJNOTIwMCBvbmx5ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODojZGVmaW5lIE1BQ0JfVFNSXHRcdDB4MDAxNCAvKiBUcmFuc21pdCBTdGF0dXMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5OiNkZWZpbmUgTUFDQl9SQlFQXHRcdDB4MDAxOCAvKiBSWCBRIEJhc2UgQWRkcmVzcyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzA6I2RlZmluZSBNQUNCX1RCUVBcdFx0MHgwMDFjIC8qIFRYIFEgQmFzZSBBZGRyZXNzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozMTojZGVmaW5lIE1BQ0JfUlNSXHRcdDB4MDAyMCAvKiBSZWNlaXZlIFN0YXR1cyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzI6I2RlZmluZSBNQUNCX0lTUlx0XHQweDAwMjQgLyogSW50ZXJydXB0IFN0YXR1cyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzM6I2RlZmluZSBNQUNCX0lFUlx0XHQweDAwMjggLyogSW50ZXJydXB0IEVuYWJsZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzQ6I2RlZmluZSBNQUNCX0lEUlx0XHQweDAwMmMgLyogSW50ZXJydXB0IERpc2FibGUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM1OiNkZWZpbmUgTUFDQl9JTVJcdFx0MHgwMDMwIC8qIEludGVycnVwdCBNYXNrICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjojZGVmaW5lIE1BQ0JfTUFOXHRcdDB4MDAzNCAvKiBQSFkgTWFpbnRlbmFuY2UgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3OiNkZWZpbmUgTUFDQl9QVFJcdFx0MHgwMDM4XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODojZGVmaW5lIE1BQ0JfUEZSXHRcdDB4MDAzY1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk6I2RlZmluZSBNQUNCX0ZUT1x0XHQweDAwNDBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwOiNkZWZpbmUgTUFDQl9TQ0ZcdFx0MHgwMDQ0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTojZGVmaW5lIE1BQ0JfTUNGXHRcdDB4MDA0OFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI6I2RlZmluZSBNQUNCX0ZST1x0XHQweDAwNGNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzOiNkZWZpbmUgTUFDQl9GQ1NFXHRcdDB4MDA1MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQ6I2RlZmluZSBNQUNCX0FMRVx0XHQweDAwNTRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1OiNkZWZpbmUgTUFDQl9EVEZcdFx0MHgwMDU4XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjojZGVmaW5lIE1BQ0JfTENPTFx0XHQweDAwNWNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3OiNkZWZpbmUgTUFDQl9FWENPTFx0XHQweDAwNjBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4OiNkZWZpbmUgTUFDQl9UVU5EXHRcdDB4MDA2NFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk6I2RlZmluZSBNQUNCX0NTRVx0XHQweDAwNjhcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwOiNkZWZpbmUgTUFDQl9SUkVcdFx0MHgwMDZjXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MTojZGVmaW5lIE1BQ0JfUk9WUlx0XHQweDAwNzBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUyOiNkZWZpbmUgTUFDQl9SU0VcdFx0MHgwMDc0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MzojZGVmaW5lIE1BQ0JfRUxFXHRcdDB4MDA3OFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NTQ6I2RlZmluZSBNQUNCX1JKQVx0XHQweDAwN2NcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjU1OiNkZWZpbmUgTUFDQl9VU0ZcdFx0MHgwMDgwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1NjojZGVmaW5lIE1BQ0JfU1RFXHRcdDB4MDA4NFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NTc6I2RlZmluZSBNQUNCX1JMRVx0XHQweDAwODhcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjU4OiNkZWZpbmUgTUFDQl9UUEZcdFx0MHgwMDhjXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1OTojZGVmaW5lIE1BQ0JfSFJCXHRcdDB4MDA5MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjA6I2RlZmluZSBNQUNCX0hSVFx0XHQweDAwOTRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjYxOiNkZWZpbmUgTUFDQl9TQTFCXHRcdDB4MDA5OFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjI6I2RlZmluZSBNQUNCX1NBMVRcdFx0MHgwMDljXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2MzojZGVmaW5lIE1BQ0JfU0EyQlx0XHQweDAwYTBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY0OiNkZWZpbmUgTUFDQl9TQTJUXHRcdDB4MDBhNFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjU6I2RlZmluZSBNQUNCX1NBM0JcdFx0MHgwMGE4XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2NjojZGVmaW5lIE1BQ0JfU0EzVFx0XHQweDAwYWNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY3OiNkZWZpbmUgTUFDQl9TQTRCXHRcdDB4MDBiMFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Njg6I2RlZmluZSBNQUNCX1NBNFRcdFx0MHgwMGI0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2OTojZGVmaW5lIE1BQ0JfVElEXHRcdDB4MDBiOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzA6I2RlZmluZSBNQUNCX1RQUVx0XHQweDAwYmNcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjcxOiNkZWZpbmUgTUFDQl9VU1JJT1x0XHQweDAwYzBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjcyOiNkZWZpbmUgTUFDQl9XT0xcdFx0MHgwMGM0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3MzojZGVmaW5lIE1BQ0JfTUlEXHRcdDB4MDBmY1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ6I2RlZmluZSBNQUNCX1RCUVBIXHRcdDB4MDRDOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzU6I2RlZmluZSBNQUNCX1JCUVBIXHRcdDB4MDRENFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzYtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMjMwLS8qIEJpdGZpZWxkcyBpbiBOQ1IgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzMTojZGVmaW5lIE1BQ0JfTEJfT0ZGU0VUXHRcdDAgLyogcmVzZXJ2ZWQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzMjojZGVmaW5lIE1BQ0JfTEJfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyMzM6I2RlZmluZSBNQUNCX0xMQl9PRkZTRVRcdFx0MSAvKiBMb29wIGJhY2sgbG9jYWwgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzNDojZGVmaW5lIE1BQ0JfTExCX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM1OiNkZWZpbmUgTUFDQl9SRV9PRkZTRVRcdFx0MiAvKiBSZWNlaXZlIGVuYWJsZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM2OiNkZWZpbmUgTUFDQl9SRV9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzNzojZGVmaW5lIE1BQ0JfVEVfT0ZGU0VUXHRcdDMgLyogVHJhbnNtaXQgZW5hYmxlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyMzg6I2RlZmluZSBNQUNCX1RFX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM5OiNkZWZpbmUgTUFDQl9NUEVfT0ZGU0VUXHRcdDQgLyogTWFuYWdlbWVudCBwb3J0IGVuYWJsZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQwOiNkZWZpbmUgTUFDQl9NUEVfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNDE6I2RlZmluZSBNQUNCX0NMUlNUQVRfT0ZGU0VUXHQ1IC8qIENsZWFyIHN0YXRzIHJlZ3MgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0MjojZGVmaW5lIE1BQ0JfQ0xSU1RBVF9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNDM6I2RlZmluZSBNQUNCX0lOQ1NUQVRfT0ZGU0VUXHQ2IC8qIEluY3JlbWVudGFsIHN0YXRzIHJlZ3MgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NDojZGVmaW5lIE1BQ0JfSU5DU1RBVF9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNDU6I2RlZmluZSBNQUNCX1dFU1RBVF9PRkZTRVRcdDcgLyogV3JpdGUgZW5hYmxlIHN0YXRzIHJlZ3MgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NjojZGVmaW5lIE1BQ0JfV0VTVEFUX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NzojZGVmaW5lIE1BQ0JfQlBfT0ZGU0VUXHRcdDggLyogQmFjayBwcmVzc3VyZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQ4OiNkZWZpbmUgTUFDQl9CUF9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0OTojZGVmaW5lIE1BQ0JfVFNUQVJUX09GRlNFVFx0OSAvKiBTdGFydCB0cmFuc21pc3Npb24gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1MDojZGVmaW5lIE1BQ0JfVFNUQVJUX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1MTojZGVmaW5lIE1BQ0JfVEhBTFRfT0ZGU0VUXHQxMCAvKiBUcmFuc21pdCBoYWx0ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTI6I2RlZmluZSBNQUNCX1RIQUxUX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjUzOiNkZWZpbmUgTUFDQl9OQ1JfVFBGX09GRlNFVFx0MTEgLyogVHJhbnNtaXQgcGF1c2UgZnJhbWUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1NDojZGVmaW5lIE1BQ0JfTkNSX1RQRl9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTU6I2RlZmluZSBNQUNCX1RaUV9PRkZTRVRcdFx0MTIgLyogVHJhbnNtaXQgemVybyBxdWFudHVtIHBhdXNlIGZyYW1lICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTY6I2RlZmluZSBNQUNCX1RaUV9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1NzojZGVmaW5lIE1BQ0JfU1JUU01fT0ZGU0VUXHQxNSAvKiBTdG9yZSBSZWNlaXZlIFRpbWVzdGFtcCB0byBNZW1vcnkgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1ODojZGVmaW5lIE1BQ0JfUFRQVU5JX09GRlNFVFx0MjAgLyogUFRQIFVuaWNhc3QgcGFja2V0IGVuYWJsZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU5OiNkZWZpbmUgTUFDQl9QVFBVTklfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjYwOiNkZWZpbmUgTUFDQl9PU1NNT0RFX09GRlNFVFx0MjQgLyogRW5hYmxlIE9uZSBTdGVwIFN5bmNocm8gTW9kZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjYxOiNkZWZpbmUgTUFDQl9PU1NNT0RFX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2MjojZGVmaW5lIE1BQ0JfTUlJT05SR01JSV9PRkZTRVRcdDI4IC8qIE1JSSBVc2FnZSBvbiBSR01JSSBJbnRlcmZhY2UgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2MzojZGVmaW5lIE1BQ0JfTUlJT05SR01JSV9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yNjQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yNjUtLyogQml0ZmllbGRzIGluIE5DRkdSICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNjY6I2RlZmluZSBNQUNCX1NQRF9PRkZTRVRcdFx0MCAvKiBTcGVlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjY3OiNkZWZpbmUgTUFDQl9TUERfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNjg6I2RlZmluZSBNQUNCX0ZEX09GRlNFVFx0XHQxIC8qIEZ1bGwgZHVwbGV4ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNjk6I2RlZmluZSBNQUNCX0ZEX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjcwOiNkZWZpbmUgTUFDQl9CSVRfUkFURV9PRkZTRVRcdDIgLyogRGlzY2FyZCBub24tVkxBTiBmcmFtZXMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3MTojZGVmaW5lIE1BQ0JfQklUX1JBVEVfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjcyOiNkZWZpbmUgTUFDQl9KRlJBTUVfT0ZGU0VUXHQzIC8qIHJlc2VydmVkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzM6I2RlZmluZSBNQUNCX0pGUkFNRV9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzQ6I2RlZmluZSBNQUNCX0NBRl9PRkZTRVRcdFx0NCAvKiBDb3B5IGFsbCBmcmFtZXMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3NTojZGVmaW5lIE1BQ0JfQ0FGX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjc2OiNkZWZpbmUgTUFDQl9OQkNfT0ZGU0VUXHRcdDUgLyogTm8gYnJvYWRjYXN0ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzc6I2RlZmluZSBNQUNCX05CQ19TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3ODojZGVmaW5lIE1BQ0JfTkNGR1JfTVRJX09GRlNFVFx0NiAvKiBNdWx0aWNhc3QgaGFzaCBlbmFibGUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3OTojZGVmaW5lIE1BQ0JfTkNGR1JfTVRJX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4MDojZGVmaW5lIE1BQ0JfVU5JX09GRlNFVFx0XHQ3IC8qIFVuaWNhc3QgaGFzaCBlbmFibGUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4MTojZGVmaW5lIE1BQ0JfVU5JX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjgyOiNkZWZpbmUgTUFDQl9CSUdfT0ZGU0VUXHRcdDggLyogUmVjZWl2ZSAxNTM2IGJ5dGUgZnJhbWVzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODM6I2RlZmluZSBNQUNCX0JJR19TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4NDojZGVmaW5lIE1BQ0JfRUFFX09GRlNFVFx0XHQ5IC8qIEV4dGVybmFsIGFkZHJlc3MgbWF0Y2ggZW5hYmxlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODU6I2RlZmluZSBNQUNCX0VBRV9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4NjojZGVmaW5lIE1BQ0JfQ0xLX09GRlNFVFx0XHQxMFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjg3OiNkZWZpbmUgTUFDQl9DTEtfU0laRVx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODg6I2RlZmluZSBNQUNCX1JUWV9PRkZTRVRcdFx0MTIgLyogUmV0cnkgdGVzdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjg5OiNkZWZpbmUgTUFDQl9SVFlfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTA6I2RlZmluZSBNQUNCX1BBRV9PRkZTRVRcdFx0MTMgLyogUGF1c2UgZW5hYmxlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTE6I2RlZmluZSBNQUNCX1BBRV9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5MjojZGVmaW5lIE1BQ0JfUk05MjAwX1JNSUlfT0ZGU0VUXHQxMyAvKiBBVDkxUk05MjAwIG9ubHkgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5MzojZGVmaW5lIE1BQ0JfUk05MjAwX1JNSUlfU0laRVx0MSAgLyogQVQ5MVJNOTIwMCBvbmx5ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTQ6I2RlZmluZSBNQUNCX1JCT0ZfT0ZGU0VUXHQxNCAvKiBSZWNlaXZlIGJ1ZmZlciBvZmZzZXQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5NTojZGVmaW5lIE1BQ0JfUkJPRl9TSVpFXHRcdDJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5NjojZGVmaW5lIE1BQ0JfUkxDRV9PRkZTRVRcdDE2IC8qIExlbmd0aCBmaWVsZCBlcnJvciBmcmFtZSBkaXNjYXJkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTc6I2RlZmluZSBNQUNCX1JMQ0VfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTg6I2RlZmluZSBNQUNCX0RSRkNTX09GRlNFVFx0MTcgLyogRkNTIHJlbW92ZSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk5OiNkZWZpbmUgTUFDQl9EUkZDU19TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjMwMDojZGVmaW5lIE1BQ0JfRUZSSERfT0ZGU0VUXHQxOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzAxOiNkZWZpbmUgTUFDQl9FRlJIRF9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjMwMjojZGVmaW5lIE1BQ0JfSVJYRkNTX09GRlNFVFx0MTlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjMwMzojZGVmaW5lIE1BQ0JfSVJYRkNTX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTMwNC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zNjQtLyogQml0ZmllbGRzIGluIE5TUiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzY1OiNkZWZpbmUgTUFDQl9OU1JfTElOS19PRkZTRVRcdDAgLyogcGNzX2xpbmtfc3RhdGUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM2NjojZGVmaW5lIE1BQ0JfTlNSX0xJTktfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzY3OiNkZWZpbmUgTUFDQl9NRElPX09GRlNFVFx0MSAvKiBzdGF0dXMgb2YgdGhlIG1kaW9faW4gcGluICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjg6I2RlZmluZSBNQUNCX01ESU9fU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjk6I2RlZmluZSBNQUNCX0lETEVfT0ZGU0VUXHQyIC8qIFRoZSBQSFkgbWFuYWdlbWVudCBsb2dpYyBpcyBpZGxlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNzA6I2RlZmluZSBNQUNCX0lETEVfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zNzEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zNzItLyogQml0ZmllbGRzIGluIFRTUiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzczOiNkZWZpbmUgTUFDQl9VQlJfT0ZGU0VUXHRcdDAgLyogVXNlZCBiaXQgcmVhZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc0OiNkZWZpbmUgTUFDQl9VQlJfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNzU6I2RlZmluZSBNQUNCX0NPTF9PRkZTRVRcdFx0MSAvKiBDb2xsaXNpb24gb2NjdXJyZWQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3NjojZGVmaW5lIE1BQ0JfQ09MX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc3OiNkZWZpbmUgTUFDQl9UU1JfUkxFX09GRlNFVFx0MiAvKiBSZXRyeSBsaW1pdCBleGNlZWRlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc4OiNkZWZpbmUgTUFDQl9UU1JfUkxFX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3OTojZGVmaW5lIE1BQ0JfVEdPX09GRlNFVFx0XHQzIC8qIFRyYW5zbWl0IGdvICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODA6I2RlZmluZSBNQUNCX1RHT19TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4MTojZGVmaW5lIE1BQ0JfQkVYX09GRlNFVFx0XHQ0IC8qIFRYIGZyYW1lIGNvcnJ1cHRpb24gZHVlIHRvIEFIQiBlcnJvciAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzgyOiNkZWZpbmUgTUFDQl9CRVhfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODM6I2RlZmluZSBNQUNCX1JNOTIwMF9CTlFfT0ZGU0VUXHQ0IC8qIEFUOTFSTTkyMDAgb25seSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzg0OiNkZWZpbmUgTUFDQl9STTkyMDBfQk5RX1NJWkVcdDEgLyogQVQ5MVJNOTIwMCBvbmx5ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODU6I2RlZmluZSBNQUNCX0NPTVBfT0ZGU0VUXHQ1IC8qIFRybmFzbWl0IGNvbXBsZXRlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODY6I2RlZmluZSBNQUNCX0NPTVBfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODc6I2RlZmluZSBNQUNCX1VORF9PRkZTRVRcdFx0NiAvKiBUcm5hc21pdCB1bmRlciBydW4gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4ODojZGVmaW5lIE1BQ0JfVU5EX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMzg5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMzkwLS8qIEJpdGZpZWxkcyBpbiBSU1IgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM5MTojZGVmaW5lIE1BQ0JfQk5BX09GRlNFVFx0XHQwIC8qIEJ1ZmZlciBub3QgYXZhaWxhYmxlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOTI6I2RlZmluZSBNQUNCX0JOQV9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM5MzojZGVmaW5lIE1BQ0JfUkVDX09GRlNFVFx0XHQxIC8qIEZyYW1lIHJlY2VpdmVkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOTQ6I2RlZmluZSBNQUNCX1JFQ19TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM5NTojZGVmaW5lIE1BQ0JfT1ZSX09GRlNFVFx0XHQyIC8qIFJlY2VpdmUgb3ZlcnJ1biAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk2OiNkZWZpbmUgTUFDQl9PVlJfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zOTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zOTgtLyogQml0ZmllbGRzIGluIElTUi9JRVIvSURSL0lNUiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk5OiNkZWZpbmUgTUFDQl9NRkRfT0ZGU0VUXHRcdDAgLyogTWFuYWdlbWVudCBmcmFtZSBzZW50ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDA6I2RlZmluZSBNQUNCX01GRF9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwMTojZGVmaW5lIE1BQ0JfUkNPTVBfT0ZGU0VUXHQxIC8qIFJlY2VpdmUgY29tcGxldGUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwMjojZGVmaW5lIE1BQ0JfUkNPTVBfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDM6I2RlZmluZSBNQUNCX1JYVUJSX09GRlNFVFx0MiAvKiBSWCB1c2VkIGJpdCByZWFkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDQ6I2RlZmluZSBNQUNCX1JYVUJSX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA1OiNkZWZpbmUgTUFDQl9UWFVCUl9PRkZTRVRcdDMgLyogVFggdXNlZCBiaXQgcmVhZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA2OiNkZWZpbmUgTUFDQl9UWFVCUl9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwNzojZGVmaW5lIE1BQ0JfSVNSX1RVTkRfT0ZGU0VUXHQ0IC8qIEVuYWJsZSBUWCBidWZmZXIgdW5kZXIgcnVuIGludGVycnVwdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA4OiNkZWZpbmUgTUFDQl9JU1JfVFVORF9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDk6I2RlZmluZSBNQUNCX0lTUl9STEVfT0ZGU0VUXHQ1IC8qIEVOIHJldHJ5IGV4Y2VlZGVkL2xhdGUgY29sbCBpbnRlcnJ1cHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxMDojZGVmaW5lIE1BQ0JfSVNSX1JMRV9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTE6I2RlZmluZSBNQUNCX1RYRVJSX09GRlNFVFx0NiAvKiBFTiBUWCBmcmFtZSBjb3JydXB0IGZyb20gZXJyb3IgaW50ZXJydXB0ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTI6I2RlZmluZSBNQUNCX1RYRVJSX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDEzOiNkZWZpbmUgTUFDQl9STTkyMDBfVEJSRV9PRkZTRVRcdDYgLyogRU4gbWF5IHNlbmQgbmV3IGZyYW1lIGludGVycnVwdCAoUk05MjAwKSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE0OiNkZWZpbmUgTUFDQl9STTkyMDBfVEJSRV9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTU6I2RlZmluZSBNQUNCX1RDT01QX09GRlNFVFx0NyAvKiBFbmFibGUgdHJhbnNtaXQgY29tcGxldGUgaW50ZXJydXB0ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTY6I2RlZmluZSBNQUNCX1RDT01QX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE3OiNkZWZpbmUgTUFDQl9JU1JfTElOS19PRkZTRVRcdDkgLyogRW5hYmxlIGxpbmsgY2hhbmdlIGludGVycnVwdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE4OiNkZWZpbmUgTUFDQl9JU1JfTElOS19TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTk6I2RlZmluZSBNQUNCX0lTUl9ST1ZSX09GRlNFVFx0MTAgLyogRW5hYmxlIHJlY2VpdmUgb3ZlcnJ1biBpbnRlcnJ1cHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQyMDojZGVmaW5lIE1BQ0JfSVNSX1JPVlJfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDIxOiNkZWZpbmUgTUFDQl9IUkVTUF9PRkZTRVRcdDExIC8qIEVuYWJsZSBocnNlcCBub3QgT0sgaW50ZXJydXB0ICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MjI6I2RlZmluZSBNQUNCX0hSRVNQX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDIzOiNkZWZpbmUgTUFDQl9QRlJfT0ZGU0VUXHRcdDEyIC8qIEVuYWJsZSBwYXVzZSBmcmFtZSB3LyBxdWFudHVtIGludGVycnVwdCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI0OiNkZWZpbmUgTUFDQl9QRlJfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MjU6I2RlZmluZSBNQUNCX1BUWl9PRkZTRVRcdFx0MTMgLyogRW5hYmxlIHBhdXNlIHRpbWUgemVybyBpbnRlcnJ1cHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQyNjojZGVmaW5lIE1BQ0JfUFRaX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI3OiNkZWZpbmUgTUFDQl9XT0xfT0ZGU0VUXHRcdDE0IC8qIEVuYWJsZSB3YWtlLW9uLWxhbiBpbnRlcnJ1cHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQyODojZGVmaW5lIE1BQ0JfV09MX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI5OiNkZWZpbmUgTUFDQl9EUlFGUl9PRkZTRVRcdDE4IC8qIFBUUCBEZWxheSBSZXF1ZXN0IEZyYW1lIFJlY2VpdmVkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MzA6I2RlZmluZSBNQUNCX0RSUUZSX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDMxOiNkZWZpbmUgTUFDQl9TRlJfT0ZGU0VUXHRcdDE5IC8qIFBUUCBTeW5jIEZyYW1lIFJlY2VpdmVkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MzI6I2RlZmluZSBNQUNCX1NGUl9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzMzojZGVmaW5lIE1BQ0JfRFJRRlRfT0ZGU0VUXHQyMCAvKiBQVFAgRGVsYXkgUmVxdWVzdCBGcmFtZSBUcmFuc21pdHRlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDM0OiNkZWZpbmUgTUFDQl9EUlFGVF9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzNTojZGVmaW5lIE1BQ0JfU0ZUX09GRlNFVFx0XHQyMSAvKiBQVFAgU3luYyBGcmFtZSBUcmFuc21pdHRlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDM2OiNkZWZpbmUgTUFDQl9TRlRfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mzc6I2RlZmluZSBNQUNCX1BEUlFGUl9PRkZTRVRcdDIyIC8qIFBEZWxheSBSZXF1ZXN0IEZyYW1lIFJlY2VpdmVkICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mzg6I2RlZmluZSBNQUNCX1BEUlFGUl9TSVpFXHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mzk6I2RlZmluZSBNQUNCX1BEUlNGUl9PRkZTRVRcdDIzIC8qIFBEZWxheSBSZXNwb25zZSBGcmFtZSBSZWNlaXZlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQwOiNkZWZpbmUgTUFDQl9QRFJTRlJfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQxOiNkZWZpbmUgTUFDQl9QRFJRRlRfT0ZGU0VUXHQyNCAvKiBQRGVsYXkgUmVxdWVzdCBGcmFtZSBUcmFuc21pdHRlZCAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQyOiNkZWZpbmUgTUFDQl9QRFJRRlRfU0laRVx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQzOiNkZWZpbmUgTUFDQl9QRFJTRlRfT0ZGU0VUXHQyNSAvKiBQRGVsYXkgUmVzcG9uc2UgRnJhbWUgVHJhbnNtaXR0ZWQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ0NDojZGVmaW5lIE1BQ0JfUERSU0ZUX1NJWkVcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ0NTojZGVmaW5lIE1BQ0JfU1JJX09GRlNFVFx0XHQyNiAvKiBUU1UgU2Vjb25kcyBSZWdpc3RlciBJbmNyZW1lbnQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ0NjojZGVmaW5lIE1BQ0JfU1JJX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDQ3LSNkZWZpbmUgR0VNX1dPTF9PRkZTRVRcdFx0MjggLyogRW5hYmxlIHdha2Utb24tbGFuIGludGVycnVwdCAqL1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ1MC0vKiBUaW1lciBpbmNyZW1lbnQgZmllbGRzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTE6I2RlZmluZSBNQUNCX1RJX0NOU19PRkZTRVRcdDBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1MjojZGVmaW5lIE1BQ0JfVElfQ05TX1NJWkVcdDhcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1MzojZGVmaW5lIE1BQ0JfVElfQUNOU19PRkZTRVRcdDhcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1NDojZGVmaW5lIE1BQ0JfVElfQUNOU19TSVpFXHQ4XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTU6I2RlZmluZSBNQUNCX1RJX05JVF9PRkZTRVRcdDE2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTY6I2RlZmluZSBNQUNCX1RJX05JVF9TSVpFXHQ4XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00NTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00NTgtLyogQml0ZmllbGRzIGluIE1BTiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDU5OiNkZWZpbmUgTUFDQl9EQVRBX09GRlNFVFx0MCAvKiBkYXRhICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjA6I2RlZmluZSBNQUNCX0RBVEFfU0laRVx0XHQxNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDYxOiNkZWZpbmUgTUFDQl9DT0RFX09GRlNFVFx0MTYgLyogTXVzdCBiZSB3cml0dGVuIHRvIDEwICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjI6I2RlZmluZSBNQUNCX0NPREVfU0laRVx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjM6I2RlZmluZSBNQUNCX1JFR0FfT0ZGU0VUXHQxOCAvKiBSZWdpc3RlciBhZGRyZXNzICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjQ6I2RlZmluZSBNQUNCX1JFR0FfU0laRVx0XHQ1XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjU6I2RlZmluZSBNQUNCX1BIWUFfT0ZGU0VUXHQyMyAvKiBQSFkgYWRkcmVzcyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDY2OiNkZWZpbmUgTUFDQl9QSFlBX1NJWkVcdFx0NVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDY3OiNkZWZpbmUgTUFDQl9SV19PRkZTRVRcdFx0MjggLyogT3BlcmF0aW9uLiAxMCBpcyByZWFkLiAwMSBpcyB3cml0ZS4gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2ODojZGVmaW5lIE1BQ0JfUldfU0laRVx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Njk6I2RlZmluZSBNQUNCX1NPRl9PRkZTRVRcdFx0MzAgLyogTXVzdCBiZSB3cml0dGVuIHRvIDEgZm9yIENsYXVzZSAyMiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDcwOiNkZWZpbmUgTUFDQl9TT0ZfU0laRVx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00NzEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00NzItLyogQml0ZmllbGRzIGluIFVTUklPIChBVlIzMikgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3MzojZGVmaW5lIE1BQ0JfTUlJX09GRlNFVFx0XHRcdFx0MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDc0OiNkZWZpbmUgTUFDQl9NSUlfU0laRVx0XHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDc1OiNkZWZpbmUgTUFDQl9FQU1fT0ZGU0VUXHRcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NzY6I2RlZmluZSBNQUNCX0VBTV9TSVpFXHRcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Nzc6I2RlZmluZSBNQUNCX1RYX1BBVVNFX09GRlNFVFx0XHRcdDJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3ODojZGVmaW5lIE1BQ0JfVFhfUEFVU0VfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3OTojZGVmaW5lIE1BQ0JfVFhfUEFVU0VfWkVST19PRkZTRVRcdFx0M1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDgwOiNkZWZpbmUgTUFDQl9UWF9QQVVTRV9aRVJPX1NJWkVcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODItLyogQml0ZmllbGRzIGluIFVTUklPIChBVDkxKSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDgzOiNkZWZpbmUgTUFDQl9STUlJX09GRlNFVFx0XHRcdDBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4NDojZGVmaW5lIE1BQ0JfUk1JSV9TSVpFXHRcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODUtI2RlZmluZSBHRU1fUkdNSUlfT0ZGU0VUXHRcdFx0MCAvKiBHRU0gZ2lnYWJpdCBtb2RlICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODYtI2RlZmluZSBHRU1fUkdNSUlfU0laRVx0XHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDg3OiNkZWZpbmUgTUFDQl9DTEtFTl9PRkZTRVRcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0ODg6I2RlZmluZSBNQUNCX0NMS0VOX1NJWkVcdFx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ4OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ5MC0vKiBCaXRmaWVsZHMgaW4gV09MICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0OTE6I2RlZmluZSBNQUNCX0lQX09GRlNFVFx0XHRcdFx0MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDkyOiNkZWZpbmUgTUFDQl9JUF9TSVpFXHRcdFx0XHQxNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDkzOiNkZWZpbmUgTUFDQl9NQUdfT0ZGU0VUXHRcdFx0XHQxNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk0OiNkZWZpbmUgTUFDQl9NQUdfU0laRVx0XHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk1OiNkZWZpbmUgTUFDQl9BUlBfT0ZGU0VUXHRcdFx0XHQxN1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk2OiNkZWZpbmUgTUFDQl9BUlBfU0laRVx0XHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk3OiNkZWZpbmUgTUFDQl9TQTFfT0ZGU0VUXHRcdFx0XHQxOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk4OiNkZWZpbmUgTUFDQl9TQTFfU0laRVx0XHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk5OiNkZWZpbmUgTUFDQl9XT0xfTVRJX09GRlNFVFx0XHRcdDE5XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDA6I2RlZmluZSBNQUNCX1dPTF9NVElfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTUwMS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTUwMi0vKiBCaXRmaWVsZHMgaW4gTUlEICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDM6I2RlZmluZSBNQUNCX0lETlVNX09GRlNFVFx0XHRcdDE2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDQ6I2RlZmluZSBNQUNCX0lETlVNX1NJWkVcdFx0XHRcdDEyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDU6I2RlZmluZSBNQUNCX1JFVl9PRkZTRVRcdFx0XHRcdDBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwNjojZGVmaW5lIE1BQ0JfUkVWX1NJWkVcdFx0XHRcdDE2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC01MDctXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNjc4LS8qIEJpdGZpZWxkcyBpbiBxdWV1ZSBwb2ludGVyIHJlZ2lzdGVycyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Njc5OiNkZWZpbmUgTUFDQl9RVUVVRV9ESVNBQkxFX09GRlNFVFx0XHQwIC8qIGRpc2FibGUgcXVldWUgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY4MDojZGVmaW5lIE1BQ0JfUVVFVUVfRElTQUJMRV9TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNjgxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTcyOS0vKiBDb25zdGFudHMgZm9yIENMSyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzMwOiNkZWZpbmUgTUFDQl9DTEtfRElWOFx0XHRcdFx0MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzMxOiNkZWZpbmUgTUFDQl9DTEtfRElWMTZcdFx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjczMjojZGVmaW5lIE1BQ0JfQ0xLX0RJVjMyXHRcdFx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3MzM6I2RlZmluZSBNQUNCX0NMS19ESVY2NFx0XHRcdFx0M1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzM0LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTc0NS0vKiBDb25zdGFudHMgZm9yIE1BTiByZWdpc3RlciAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ2OiNkZWZpbmUgTUFDQl9NQU5fQzIyX1NPRlx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc0NzojZGVmaW5lIE1BQ0JfTUFOX0MyMl9XUklURVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc0ODojZGVmaW5lIE1BQ0JfTUFOX0MyMl9SRUFEXHRcdFx0MlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ5OiNkZWZpbmUgTUFDQl9NQU5fQzIyX0NPREVcdFx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03NTAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTE6I2RlZmluZSBNQUNCX01BTl9DNDVfU09GXHRcdFx0MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzUyOiNkZWZpbmUgTUFDQl9NQU5fQzQ1X0FERFJcdFx0XHQwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTM6I2RlZmluZSBNQUNCX01BTl9DNDVfV1JJVEVcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTQ6I2RlZmluZSBNQUNCX01BTl9DNDVfUE9TVF9SRUFEX0lOQ1JcdFx0MlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzU1OiNkZWZpbmUgTUFDQl9NQU5fQzQ1X1JFQURcdFx0XHQzXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTY6I2RlZmluZSBNQUNCX01BTl9DNDVfQ09ERVx0XHRcdDJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTc1Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTc1OC0vKiBDYXBhYmlsaXR5IG1hc2sgYml0cyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzU5OiNkZWZpbmUgTUFDQl9DQVBTX0lTUl9DTEVBUl9PTl9XUklURVx0XHRCSVQoMClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2MDojZGVmaW5lIE1BQ0JfQ0FQU19VU1JJT19IQVNfQ0xLRU5cdFx0QklUKDEpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjE6I2RlZmluZSBNQUNCX0NBUFNfVVNSSU9fREVGQVVMVF9JU19NSUlfR01JSVx0QklUKDIpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjI6I2RlZmluZSBNQUNCX0NBUFNfTk9fR0lHQUJJVF9IQUxGXHRcdEJJVCgzKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzYzOiNkZWZpbmUgTUFDQl9DQVBTX1VTUklPX0RJU0FCTEVEXHRcdEJJVCg0KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzY0OiNkZWZpbmUgTUFDQl9DQVBTX0pVTUJPXHRcdFx0XHRCSVQoNSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2NTojZGVmaW5lIE1BQ0JfQ0FQU19HRU1fSEFTX1BUUFx0XHRcdEJJVCg2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzY2OiNkZWZpbmUgTUFDQl9DQVBTX0JEX1JEX1BSRUZFVENIXHRcdEJJVCg3KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzY3OiNkZWZpbmUgTUFDQl9DQVBTX05FRURTX1JTVE9OVUJSXHRcdEJJVCg4KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzY4OiNkZWZpbmUgTUFDQl9DQVBTX01JSU9OUkdNSUlcdFx0XHRCSVQoOSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2OTojZGVmaW5lIE1BQ0JfQ0FQU19ORUVEX1RTVUNMS1x0XHRcdEJJVCgxMClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3MDojZGVmaW5lIE1BQ0JfQ0FQU19RVUVVRV9ESVNBQkxFXHRcdFx0QklUKDExKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzcxOiNkZWZpbmUgTUFDQl9DQVBTX1FCVlx0XHRcdFx0QklUKDEyKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzcyOiNkZWZpbmUgTUFDQl9DQVBTX1BDU1x0XHRcdFx0QklUKDEzKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzczOiNkZWZpbmUgTUFDQl9DQVBTX0hJR0hfU1BFRURcdFx0XHRCSVQoMTQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NzQ6I2RlZmluZSBNQUNCX0NBUFNfQ0xLX0hXX0NIR1x0XHRcdEJJVCgxNSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3NTojZGVmaW5lIE1BQ0JfQ0FQU19NQUNCX0lTX0VNQUNcdFx0XHRCSVQoMTYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NzY6I2RlZmluZSBNQUNCX0NBUFNfRklGT19NT0RFXHRcdFx0QklUKDE3KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzc3OiNkZWZpbmUgTUFDQl9DQVBTX0dJR0FCSVRfTU9ERV9BVkFJTEFCTEVcdEJJVCgxOClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3ODojZGVmaW5lIE1BQ0JfQ0FQU19TR19ESVNBQkxFRFx0XHRcdEJJVCgxOSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3OTojZGVmaW5lIE1BQ0JfQ0FQU19NQUNCX0lTX0dFTVx0XHRcdEJJVCgyMClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc4MDojZGVmaW5lIE1BQ0JfQ0FQU19ETUFfNjRCXHRcdFx0QklUKDIxKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzgxOiNkZWZpbmUgTUFDQl9DQVBTX0RNQV9QVFBcdFx0XHRCSVQoMjIpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3ODI6I2RlZmluZSBNQUNCX0NBUFNfUlNDXHRcdFx0XHRCSVQoMjMpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3ODM6I2RlZmluZSBNQUNCX0NBUFNfTk9fTFNPXHRcdFx0QklUKDI0KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzg0OiNkZWZpbmUgTUFDQl9DQVBTX0VFRVx0XHRcdFx0QklUKDI1KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzg1OiNkZWZpbmUgTUFDQl9DQVBTX1VTUklPX0hBU19NSUlcdFx0XHRCSVQoMjYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3ODY6I2RlZmluZSBNQUNCX0NBUFNfVVNSSU9fSEFTX1JFRkNMS19TT1VSQ0VcdEJJVCgyNylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc4NzojZGVmaW5lIE1BQ0JfQ0FQU19VU1JJT19IQVNfVFNVQ0xLX1NPVVJDRVx0QklUKDI4KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzg4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzg5LS8qIExTTyBzZXR0aW5ncyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzkwOiNkZWZpbmUgTUFDQl9MU09fVUZPX0VOQUJMRVx0XHRcdDB4MDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc5MTojZGVmaW5lIE1BQ0JfTFNPX1RTT19FTkFCTEVcdFx0XHQweDAyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03OTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03OTMtLyogQml0IG1hbmlwdWxhdGlvbiBtYWNyb3MgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc5NDojZGVmaW5lIE1BQ0JfQklUKG5hbWUpXHRcdFx0XHRcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3OTU6XHQoMSBcdTAwM2NcdTAwM2MgTUFDQl8jI25hbWUjI19PRkZTRVQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3OTY6I2RlZmluZSBNQUNCX0JGKG5hbWUsdmFsdWUpXHRcdFx0XHRcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk3Olx0KCgodmFsdWUpIFx1MDAyNiAoKDEgXHUwMDNjXHUwMDNjIE1BQ0JfIyNuYW1lIyNfU0laRSkgLSAxKSlcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3OTg6XHQgXHUwMDNjXHUwMDNjIE1BQ0JfIyNuYW1lIyNfT0ZGU0VUKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk5OiNkZWZpbmUgTUFDQl9CRkVYVChuYW1lLHZhbHVlKVxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDA6XHQoKCh2YWx1ZSkgXHUwMDNlXHUwMDNlIE1BQ0JfIyNuYW1lIyNfT0ZGU0VUKVx0XHRcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODAxOlx0IFx1MDAyNiAoKDEgXHUwMDNjXHUwMDNjIE1BQ0JfIyNuYW1lIyNfU0laRSkgLSAxKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjgwMjojZGVmaW5lIE1BQ0JfQkZJTlMobmFtZSx2YWx1ZSxvbGQpXHRcdFx0XFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjgwMzpcdCgoKG9sZCkgXHUwMDI2IH4oKCgxIFx1MDAzY1x1MDAzYyBNQUNCXyMjbmFtZSMjX1NJWkUpIC0gMSlcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDQ6XHRcdCAgICBcdTAwM2NcdTAwM2MgTUFDQl8jI25hbWUjI19PRkZTRVQpKVx0XHRcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODA1Olx0IHwgTUFDQl9CRihuYW1lLHZhbHVlKSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTgwNi1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04MjAtLyogUmVnaXN0ZXIgYWNjZXNzIG1hY3JvcyAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODIxOiNkZWZpbmUgbWFjYl9yZWFkbChwb3J0LCByZWcpXHRcdChwb3J0KS1cdTAwM2VtYWNiX3JlZ19yZWFkbCgocG9ydCksIE1BQ0JfIyNyZWcpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MjI6I2RlZmluZSBtYWNiX3dyaXRlbChwb3J0LCByZWcsIHZhbHVlKVx0KHBvcnQpLVx1MDAzZW1hY2JfcmVnX3dyaXRlbCgocG9ydCksIE1BQ0JfIyNyZWcsICh2YWx1ZSkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04MjMtI2RlZmluZSBnZW1fcmVhZGwocG9ydCwgcmVnKVx0XHQocG9ydCktXHUwMDNlbWFjYl9yZWdfcmVhZGwoKHBvcnQpLCBHRU1fIyNyZWcpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODI5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODMwOi8qIENvbmRpdGlvbmFsIEdFTS9NQUNCIG1hY3Jvcy4gIFRoZXNlIHBlcmZvcm0gdGhlIG9wZXJhdGlvbiB0byB0aGUgY29ycmVjdFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODMxOiAqIHJlZ2lzdGVyIGRlcGVuZGVudCBvbiB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgYSBHRU0gb3IgYSBNQUNCLiAgRm9yIHJlZ2lzdGVyc1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODMyLSAqIGFuZCBiaXRmaWVsZHMgdGhhdCBhcmUgY29tbW9uIGFjcm9zcyBib3RoIGRldmljZXMsIHVzZSBtYWNiX3tyZWFkLHdyaXRlfWxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04NTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4NTM6I2RlZmluZSBNQUNCX1JFQURfTlNSKGJwKVx0bWFjYl9yZWFkbChicCwgTlNSKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODU0LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oPTg2OT1zdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTg3NC0vKiBETUEgZGVzY3JpcHRvciBiaXRmaWVsZHMgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg3NTojZGVmaW5lIE1BQ0JfUlhfVVNFRF9PRkZTRVRcdFx0XHQwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4NzY6I2RlZmluZSBNQUNCX1JYX1VTRURfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg3NzojZGVmaW5lIE1BQ0JfUlhfV1JBUF9PRkZTRVRcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4Nzg6I2RlZmluZSBNQUNCX1JYX1dSQVBfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg3OTojZGVmaW5lIE1BQ0JfUlhfV0FERFJfT0ZGU0VUXHRcdFx0MlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODgwOiNkZWZpbmUgTUFDQl9SWF9XQUREUl9TSVpFXHRcdFx0MzBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTg4MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4MjojZGVmaW5lIE1BQ0JfUlhfRlJNTEVOX09GRlNFVFx0XHRcdDBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4MzojZGVmaW5lIE1BQ0JfUlhfRlJNTEVOX1NJWkVcdFx0XHQxMlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODg0OiNkZWZpbmUgTUFDQl9SWF9PRkZTRVRfT0ZGU0VUXHRcdFx0MTJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4NTojZGVmaW5lIE1BQ0JfUlhfT0ZGU0VUX1NJWkVcdFx0XHQyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODY6I2RlZmluZSBNQUNCX1JYX1NPRl9PRkZTRVRcdFx0XHQxNFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODg3OiNkZWZpbmUgTUFDQl9SWF9TT0ZfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4ODojZGVmaW5lIE1BQ0JfUlhfRU9GX09GRlNFVFx0XHRcdDE1XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODk6I2RlZmluZSBNQUNCX1JYX0VPRl9TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODkwOiNkZWZpbmUgTUFDQl9SWF9DRklfT0ZGU0VUXHRcdFx0MTZcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg5MTojZGVmaW5lIE1BQ0JfUlhfQ0ZJX1NJWkVcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTI6I2RlZmluZSBNQUNCX1JYX1ZMQU5fUFJJX09GRlNFVFx0XHRcdDE3XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTM6I2RlZmluZSBNQUNCX1JYX1ZMQU5fUFJJX1NJWkVcdFx0XHQzXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTQ6I2RlZmluZSBNQUNCX1JYX1BSSV9UQUdfT0ZGU0VUXHRcdFx0MjBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg5NTojZGVmaW5lIE1BQ0JfUlhfUFJJX1RBR19TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk2OiNkZWZpbmUgTUFDQl9SWF9WTEFOX1RBR19PRkZTRVRcdFx0XHQyMVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk3OiNkZWZpbmUgTUFDQl9SWF9WTEFOX1RBR19TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk4OiNkZWZpbmUgTUFDQl9SWF9UWVBFSURfTUFUQ0hfT0ZGU0VUXHRcdDIyXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTk6I2RlZmluZSBNQUNCX1JYX1RZUEVJRF9NQVRDSF9TSVpFXHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwMDojZGVmaW5lIE1BQ0JfUlhfU0E0X01BVENIX09GRlNFVFx0XHQyM1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTAxOiNkZWZpbmUgTUFDQl9SWF9TQTRfTUFUQ0hfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwMjojZGVmaW5lIE1BQ0JfUlhfU0EzX01BVENIX09GRlNFVFx0XHQyNFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTAzOiNkZWZpbmUgTUFDQl9SWF9TQTNfTUFUQ0hfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwNDojZGVmaW5lIE1BQ0JfUlhfU0EyX01BVENIX09GRlNFVFx0XHQyNVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTA1OiNkZWZpbmUgTUFDQl9SWF9TQTJfTUFUQ0hfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwNjojZGVmaW5lIE1BQ0JfUlhfU0ExX01BVENIX09GRlNFVFx0XHQyNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTA3OiNkZWZpbmUgTUFDQl9SWF9TQTFfTUFUQ0hfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwODojZGVmaW5lIE1BQ0JfUlhfRVhUX01BVENIX09GRlNFVFx0XHQyOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTA5OiNkZWZpbmUgTUFDQl9SWF9FWFRfTUFUQ0hfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkxMDojZGVmaW5lIE1BQ0JfUlhfVUhBU0hfTUFUQ0hfT0ZGU0VUXHRcdDI5XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTE6I2RlZmluZSBNQUNCX1JYX1VIQVNIX01BVENIX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTEyOiNkZWZpbmUgTUFDQl9SWF9NSEFTSF9NQVRDSF9PRkZTRVRcdFx0MzBcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkxMzojZGVmaW5lIE1BQ0JfUlhfTUhBU0hfTUFUQ0hfU0laRVx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTQ6I2RlZmluZSBNQUNCX1JYX0JST0FEQ0FTVF9PRkZTRVRcdFx0MzFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkxNTojZGVmaW5lIE1BQ0JfUlhfQlJPQURDQVNUX1NJWkVcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC05MTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTc6I2RlZmluZSBNQUNCX1JYX0ZSTUxFTl9NQVNLXHRcdFx0MHhGRkZcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkxODojZGVmaW5lIE1BQ0JfUlhfSkZSTUxFTl9NQVNLXHRcdFx0MHgzRkZGXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC05MTktXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtOTI3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTI4OiNkZWZpbmUgTUFDQl9UWF9GUk1MRU5fT0ZGU0VUXHRcdFx0MFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTI5OiNkZWZpbmUgTUFDQl9UWF9GUk1MRU5fU0laRVx0XHRcdDExXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MzA6I2RlZmluZSBNQUNCX1RYX0xBU1RfT0ZGU0VUXHRcdFx0MTVcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkzMTojZGVmaW5lIE1BQ0JfVFhfTEFTVF9TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTMyOiNkZWZpbmUgTUFDQl9UWF9OT0NSQ19PRkZTRVRcdFx0XHQxNlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTMzOiNkZWZpbmUgTUFDQl9UWF9OT0NSQ19TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTM0OiNkZWZpbmUgTUFDQl9NU1NfTUZTX09GRlNFVFx0XHRcdDE2XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MzU6I2RlZmluZSBNQUNCX01TU19NRlNfU0laRVx0XHRcdDE0XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MzY6I2RlZmluZSBNQUNCX1RYX0xTT19PRkZTRVRcdFx0XHQxN1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTM3OiNkZWZpbmUgTUFDQl9UWF9MU09fU0laRVx0XHRcdDJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkzODojZGVmaW5lIE1BQ0JfVFhfVENQX1NFUV9TUkNfT0ZGU0VUXHRcdDE5XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5Mzk6I2RlZmluZSBNQUNCX1RYX1RDUF9TRVFfU1JDX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQwOiNkZWZpbmUgTUFDQl9UWF9CVUZfRVhIQVVTVEVEX09GRlNFVFx0XHQyN1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQxOiNkZWZpbmUgTUFDQl9UWF9CVUZfRVhIQVVTVEVEX1NJWkVcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQyOiNkZWZpbmUgTUFDQl9UWF9VTkRFUlJVTl9PRkZTRVRcdFx0XHQyOFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQzOiNkZWZpbmUgTUFDQl9UWF9VTkRFUlJVTl9TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQ0OiNkZWZpbmUgTUFDQl9UWF9FUlJPUl9PRkZTRVRcdFx0XHQyOVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQ1OiNkZWZpbmUgTUFDQl9UWF9FUlJPUl9TSVpFXHRcdFx0MVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQ2OiNkZWZpbmUgTUFDQl9UWF9XUkFQX09GRlNFVFx0XHRcdDMwXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5NDc6I2RlZmluZSBNQUNCX1RYX1dSQVBfU0laRVx0XHRcdDFcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0ODojZGVmaW5lIE1BQ0JfVFhfVVNFRF9PRkZTRVRcdFx0XHQzMVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQ5OiNkZWZpbmUgTUFDQl9UWF9VU0VEX1NJWkVcdFx0XHQxXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC05NTAtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg9MTE5Nz1zdHJ1Y3QgbWFjYl9vcl9nZW1fb3BzIHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0xMjA0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MTIwNTovKiBNQUNCLVBUUCBpbnRlcmZhY2U6IGFkYXB0IHRvIHBsYXRmb3JtIG5lZWRzLiAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMTIwNi1zdHJ1Y3QgbWFjYl9wdHBfaW5mbyB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg9MTMwMT1zdHJ1Y3QgbWFjYiB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMTMxNi1cdHVuc2lnbmVkIGludFx0XHRudW1fcXVldWVzO1xuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTAgMDQ6Mzc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTg4NTMKCQkJCQkJCW91dHB1dDogMzYKCQkJCQkJCXRob3VnaHRzOiAxNjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgUUVNVSAvIENhZGVuY2UgTUFDQiBQQ0kgSW52ZXN0aWdhdGlvbioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgaW50byB0aGUgQ2FkZW5jZSBNQUNCIC8gR0VNIGV0aGVybmV0IGNvbnRyb2xsZXIsIHNwZWNpZmljYWxseSB0aGUgUENJIGltcGxlbWVudGF0aW9uLiBJIGtub3cgYG1hY2JfcGNpLmNgIGFuZCBgbWFjYl9tYWluLmNgIGFyZSB0aGUgcmVsZXZhbnQgc291cmNlIGZpbGVzLiBUaGUgcXVlc3Rpb24gaXMsIGRvZXMgUUVNVSBlbXVsYXRlIHRoZSBDYWRlbmNlIE1BQ0IgaW4gYSBQQ0kgY29uZmlndXJhdGlvbiwgYW5kIGlmIHNvLCBob3c/IE15IGluaXRpYWwgdGhvdWdodCBpcyB0aGF0IGl0IG1pZ2h0IGJlIGVtdWxhdGVkLCBidXQgSSBuZWVkIHRvIGNvbmZpcm0uCgpBaCwgeWVzISBJIHJlbWVtYmVyIFFFTVUgaGF2aW5nIGBjYWRlbmNlX2dlbWAgZW11bGF0aW9uISBCdXQgZG9lcyB0aGF0IGFwcGx5IHRvIHRoZSBQQ0kgaW1wbGVtZW50YXRpb24/IEEgcXVpY2sgc2VhcmNoIHJlbWluZHMgbWUgdGhhdCBRRU1VIHV0aWxpemVzIGBjYWRlbmNlX2dlbWAgZm9yIFhpbGlueCBaeW5xLCBaeW5xTVAsIGFuZCBWZXJzYWwgcGxhdGZvcm1zLCB3aGljaCBhbGwgdXNlIEFSTS9BQXJjaDY0IG9yIE1pY3JvQmxhemUgYXJjaGl0ZWN0dXJlcy4gU28sICp3aGVyZSogZG9lcyB0aGlzIGZpdCBpbiB3aXRoIFBDST8gRG9lcyBRRU1VIHVzZSBgbWFjYl9wY2lgIGRpcmVjdGx5LCBvciBkb2VzIGl0IHNvbWVob3cgbWFwIHRoYXQgdG8gYGNhZGVuY2VfZ2VtYCBvbiBQQ0kgZGV2aWNlcz8KClRvIGJlIHN1cmUsIEkmIzM5O2xsIGNoZWNrIGBtYWNiX3BjaS5jYC4gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hpY2ggUENJIGRldmljZXMgaXQmIzM5O3MgZGVzaWduZWQgdG8gbWF0Y2guIFRoYXQgd2lsbCBnaXZlIG1lIGEgY2xlYXIgaWRlYSBvZiB3aGF0IHRoZSBRRU1VIGVtdWxhdGlvbiB0YXJnZXRzLiBMZXQmIzM5O3MgZGlnIGluLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3BjaV9kZXZpY2VfaWQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcGNpLmMtMjYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcGNpLmM6Mjc6c3RhdGljIGludCBtYWNiX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwY2ksIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wY2kuYy0yOC17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jPTEwOD1zdGF0aWMgdm9pZCBtYWNiX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGNpKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wY2kuYy0xMTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcGNpLmM6MTIwOnN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBkZXZfaWRfdGFibGVbXSA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wY2kuYy0xMjEtXHR7IFBDSV9WREVWSUNFKENETlMsIFBDSV9ERVZJQ0VfSURfQ0ROU19NQUNCKSB9LFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5NTg3CgkJCQkJCQlvdXRwdXQ6IDQ0CgkJCQkJCQl0aG91Z2h0czogMjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIGlmIHRoZXkmIzM5O3JlIG1pbmU6CgoqKkRpdmluZyBpbnRvIHRoZSBNQUNCIERyaXZlcioqCgpSaWdodCwgdGltZSB0byBnZXQgbXkgaGFuZHMgZGlydHkuIExldCYjMzk7cyBzZWUuLi4gdGhlIGlzc3VlIHdlJiMzOTtyZSB0YWNrbGluZyBsaWtlbHkgaW52b2x2ZXMgaG93IHRoZSBkZXZpY2UgaXMgaWRlbnRpZmllZCBhbmQgcHJvYmVkLCBzbyBteSBmaXJzdCBpbnN0aW5jdCBpcyB0byB6ZXJvIGluIG9uIGBtYWNiX3BjaS5jYC4gU3BlY2lmaWNhbGx5LCBJIHdhbnQgdG8gcmVmcmVzaCBteSBtZW1vcnkgYWJvdXQgaG93IHRoZSBgZGV2X2lkX3RhYmxlYCBpcyBzdHJ1Y3R1cmVkIOKAkyB0aGF0JiMzOTtzIHRoZSBjcnVjaWFsIG1hcHBpbmcgYmV0d2VlbiBQQ0kgZGV2aWNlIElEcyBhbmQgdGhlIE1BQ0IgZHJpdmVyLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIGRyaXZlciBrbm93cyAqd2hpY2gqIGRldmljZXMgaXQgc2hvdWxkIGF0dGFjaCB0by4gVGhlbiwgSSYjMzk7bGwganVtcCBvdmVyIHRvIHRoZSBgbWFjYl9wcm9iZWAgZnVuY3Rpb24uIFRoYXQmIzM5O3MgdGhlIGZ1bmN0aW9uIHRoYXQgZ2V0cyBjYWxsZWQgd2hlbiBhIG1hdGNoaW5nIGRldmljZSBpcyBmb3VuZC4gSSBuZWVkIHRvIHJlY29uc3RydWN0IHRoZSBleGVjdXRpb24gZmxvdyBoZXJlIC0gaG93IGl0IHZlcmlmaWVzIGRldmljZSBjb21wYXRpYmlsaXR5LCBpbml0aWFsaXplcyB0aGUgaGFyZHdhcmUsIGFuZCB1bHRpbWF0ZWx5IG1ha2VzIHRoZSBkZXZpY2UgcmVhZHkgZm9yIHVzZSBieSB0aGUgc3lzdGVtLiBVbmRlcnN0YW5kaW5nIHRoaXMgY29udHJvbCBmbG93IHNob3VsZCBjbGFyaWZ5IHRoZSByb290IG9mIHRoZSBwcm9ibGVtLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxMzAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbiAgIDI6XHQvKlxuICAgMzpcdCAqIERPQzogQ2FkZW5jZSBHRU0gUENJIHdyYXBwZXIuXG4gICA0Olx0ICpcbiAgIDU6XHQgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQ2FkZW5jZSBEZXNpZ24gU3lzdGVtcyAtIGh0dHBzOi8vd3d3LmNhZGVuY2UuY29tXG4gICA2Olx0ICpcbiAgIDc6XHQgKiBBdXRob3JzOiBSYWZhbCBPemllYmxvIFx1MDAzY3JhZmFsb0BjYWRlbmNlLmNvbVx1MDAzZVxuICAgODpcdCAqXHQgICAgQmFydG9zeiBGb2x0YSBcdTAwM2NiZm9sdGFAY2FkZW5jZS5jb21cdTAwM2VcbiAgIDk6XHQgKi9cbiAgMTA6XHRcbiAgMTE6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9jbGsuaFx1MDAzZVxuICAxMjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2Nsay1wcm92aWRlci5oXHUwMDNlXG4gIDEzOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvZXRoZXJkZXZpY2UuaFx1MDAzZVxuICAxNDpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L21vZHVsZS5oXHUwMDNlXG4gIDE1Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvcGNpLmhcdTAwM2VcbiAgMTY6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFx1MDAzZVxuICAxNzpcdCNpbmNsdWRlIFwmIzM0O21hY2IuaFwmIzM0O1xuICAxODpcdFxuICAxOTpcdCNkZWZpbmUgUENJX0RSSVZFUl9OQU1FIFwmIzM0O21hY2JfcGNpXCYjMzQ7XG4gIDIwOlx0I2RlZmluZSBQTEFUX0RSSVZFUl9OQU1FIFwmIzM0O21hY2JcJiMzNDtcbiAgMjE6XHRcbiAgMjI6XHQjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQ0ROU19NQUNCIDB4ZTAwN1xuICAyMzpcdFxuICAyNDpcdCNkZWZpbmUgR0VNX1BDTEtfUkFURSA1MDAwMDAwMFxuICAyNTpcdCNkZWZpbmUgR0VNX0hDTEtfUkFURSA1MDAwMDAwMFxuICAyNjpcdFxuICAyNzpcdHN0YXRpYyBpbnQgbWFjYl9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGNpLCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpXG4gIDI4Olx0e1xuICAyOTpcdFx0aW50IGVycjtcbiAgMzA6XHRcdHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXY7XG4gIDMxOlx0XHRzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlX2luZm8gcGxhdF9pbmZvO1xuICAzMjpcdFx0c3RydWN0IG1hY2JfcGxhdGZvcm1fZGF0YSBwbGF0X2RhdGE7XG4gIDMzOlx0XHRzdHJ1Y3QgcmVzb3VyY2UgcmVzWzJdO1xuICAzNDpcdFxuICAzNTpcdFx0LyogZW5hYmxlIHBjaSBkZXZpY2UgKi9cbiAgMzY6XHRcdGVyciA9IHBjaW1fZW5hYmxlX2RldmljZShwY2kpO1xuICAzNzpcdFx0aWYgKGVyciBcdTAwM2MgMCkge1xuICAzODpcdFx0XHRkZXZfZXJyKFx1MDAyNnBjaS1cdTAwM2VkZXYsIFwmIzM0O0VuYWJsaW5nIFBDSSBkZXZpY2UgaGFzIGZhaWxlZDogJWRcJiMzNDssIGVycik7XG4gIDM5Olx0XHRcdHJldHVybiBlcnI7XG4gIDQwOlx0XHR9XG4gIDQxOlx0XG4gIDQyOlx0XHRwY2lfc2V0X21hc3RlcihwY2kpO1xuICA0MzpcdFxuICA0NDpcdFx0Lyogc2V0IHVwIHJlc291cmNlcyAqL1xuICA0NTpcdFx0bWVtc2V0KHJlcywgMHgwMCwgc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSkgKiBBUlJBWV9TSVpFKHJlcykpO1xuICA0NjpcdFx0cmVzWzBdLnN0YXJ0ID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMCk7XG4gIDQ3Olx0XHRyZXNbMF0uZW5kID0gcGNpX3Jlc291cmNlX2VuZChwY2ksIDApO1xuICA0ODpcdFx0cmVzWzBdLm5hbWUgPSBQQ0lfRFJJVkVSX05BTUU7XG4gIDQ5Olx0XHRyZXNbMF0uZmxhZ3MgPSBJT1JFU09VUkNFX01FTTtcbiAgNTA6XHRcdHJlc1sxXS5zdGFydCA9IHBjaV9pcnFfdmVjdG9yKHBjaSwgMCk7XG4gIDUxOlx0XHRyZXNbMV0ubmFtZSA9IFBDSV9EUklWRVJfTkFNRTtcbiAgNTI6XHRcdHJlc1sxXS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRO1xuICA1MzpcdFxuICA1NDpcdFx0ZGV2X2luZm8oXHUwMDI2cGNpLVx1MDAzZWRldiwgXCYjMzQ7RU1BQyBwaHlzaWNhbCBiYXNlIGFkZHI6ICVwYVxcblwmIzM0OyxcbiAgNTU6XHRcdFx0IFx1MDAyNnJlc1swXS5zdGFydCk7XG4gIDU2Olx0XG4gIDU3Olx0XHQvKiBzZXQgdXAgbWFjYiBwbGF0Zm9ybSBkYXRhICovXG4gIDU4Olx0XHRtZW1zZXQoXHUwMDI2cGxhdF9kYXRhLCAwLCBzaXplb2YocGxhdF9kYXRhKSk7XG4gIDU5Olx0XG4gIDYwOlx0XHQvKiBpbml0aWFsaXplIGNsb2NrcyAqL1xuICA2MTpcdFx0cGxhdF9kYXRhLnBjbGsgPSBjbGtfcmVnaXN0ZXJfZml4ZWRfcmF0ZShcdTAwMjZwY2ktXHUwMDNlZGV2LCBcJiMzNDtwY2xrXCYjMzQ7LCBOVUxMLCAwLFxuICA2MjpcdFx0XHRcdFx0XHRcdCBHRU1fUENMS19SQVRFKTtcbiAgNjM6XHRcdGlmIChJU19FUlIocGxhdF9kYXRhLnBjbGspKSB7XG4gIDY0Olx0XHRcdGVyciA9IFBUUl9FUlIocGxhdF9kYXRhLnBjbGspO1xuICA2NTpcdFx0XHRnb3RvIGVycl9wY2xrX3JlZ2lzdGVyO1xuICA2NjpcdFx0fVxuICA2NzpcdFxuICA2ODpcdFx0cGxhdF9kYXRhLmhjbGsgPSBjbGtfcmVnaXN0ZXJfZml4ZWRfcmF0ZShcdTAwMjZwY2ktXHUwMDNlZGV2LCBcJiMzNDtoY2xrXCYjMzQ7LCBOVUxMLCAwLFxuICA2OTpcdFx0XHRcdFx0XHRcdCBHRU1fSENMS19SQVRFKTtcbiAgNzA6XHRcdGlmIChJU19FUlIocGxhdF9kYXRhLmhjbGspKSB7XG4gIDcxOlx0XHRcdGVyciA9IFBUUl9FUlIocGxhdF9kYXRhLmhjbGspO1xuICA3MjpcdFx0XHRnb3RvIGVycl9oY2xrX3JlZ2lzdGVyO1xuICA3MzpcdFx0fVxuICA3NDpcdFxuICA3NTpcdFx0Lyogc2V0IHVwIHBsYXRmb3JtIGRldmljZSBpbmZvICovXG4gIDc2Olx0XHRtZW1zZXQoXHUwMDI2cGxhdF9pbmZvLCAwLCBzaXplb2YocGxhdF9pbmZvKSk7XG4gIDc3Olx0XHRwbGF0X2luZm8ucGFyZW50ID0gXHUwMDI2cGNpLVx1MDAzZWRldjtcbiAgNzg6XHRcdHBsYXRfaW5mby5md25vZGUgPSBwY2ktXHUwMDNlZGV2LmZ3bm9kZTtcbiAgNzk6XHRcdHBsYXRfaW5mby5uYW1lID0gUExBVF9EUklWRVJfTkFNRTtcbiAgODA6XHRcdHBsYXRfaW5mby5pZCA9IHBjaS1cdTAwM2VkZXZmbjtcbiAgODE6XHRcdHBsYXRfaW5mby5yZXMgPSByZXM7XG4gIDgyOlx0XHRwbGF0X2luZm8ubnVtX3JlcyA9IEFSUkFZX1NJWkUocmVzKTtcbiAgODM6XHRcdHBsYXRfaW5mby5kYXRhID0gXHUwMDI2cGxhdF9kYXRhO1xuICA4NDpcdFx0cGxhdF9pbmZvLnNpemVfZGF0YSA9IHNpemVvZihwbGF0X2RhdGEpO1xuICA4NTpcdFx0cGxhdF9pbmZvLmRtYV9tYXNrID0gcGNpLVx1MDAzZWRtYV9tYXNrO1xuICA4NjpcdFxuICA4NzpcdFx0LyogcmVnaXN0ZXIgcGxhdGZvcm0gZGV2aWNlICovXG4gIDg4Olx0XHRwZGV2ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX2Z1bGwoXHUwMDI2cGxhdF9pbmZvKTtcbiAgODk6XHRcdGlmIChJU19FUlIocGRldikpIHtcbiAgOTA6XHRcdFx0ZXJyID0gUFRSX0VSUihwZGV2KTtcbiAgOTE6XHRcdFx0Z290byBlcnJfcGxhdF9kZXZfcmVnaXN0ZXI7XG4gIDkyOlx0XHR9XG4gIDkzOlx0XG4gIDk0Olx0XHRwY2lfc2V0X2RydmRhdGEocGNpLCBwZGV2KTtcbiAgOTU6XHRcbiAgOTY6XHRcdHJldHVybiAwO1xuICA5NzpcdFxuICA5ODpcdGVycl9wbGF0X2Rldl9yZWdpc3RlcjpcbiAgOTk6XHRcdGNsa191bnJlZ2lzdGVyX2ZpeGVkX3JhdGUocGxhdF9kYXRhLmhjbGspO1xuIDEwMDpcdFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIxMzk0CgkJCQkJCQlvdXRwdXQ6IDQzCgkJCQkJCQl0aG91Z2h0czogMzMzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIENhZGVuY2UgTUFDQiAvIEdFTSBFdGhlcm5ldCBDb250cm9sbGVyIGZvciBGdXp6aW5nKioKCk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIENhZGVuY2UgTUFDQi9HRU0gZXRoZXJuZXQgY29udHJvbGxlciDigJMgaXQmIzM5O3MgYSB2ZW5kb3Itc3BlY2lmaWMgaGFyZHdhcmUgTUFDLCBsaWtlIHlvdSYjMzk7ZCBmaW5kIG9uIEF0bWVsLCBBVDMyLCBvciBwb3RlbnRpYWxseSBDYWRlbmNlJiMzOTtzIEdFTSBJUCBpbiBYaWxpbnggWnlucSBBUk0gc3lzdGVtcywgRlBHQXMsIG9yIGV2ZW4gYSBQQ0kgcHJvdG90eXBlIGNhcmQuIFRoZSBpbW1lZGlhdGUgcXVlc3Rpb24gaW4gbXkgbWluZCBpcywgb24gYSBzdGFuZGFyZCBhbWQ2NCBzeXN0ZW0sIHJ1bm5pbmcgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCBsaWtlIEdDRSBvciBRRU1VLCBjYW4gSSAqYWN0dWFsbHkqIHJlYWNoIGFuZCBleGVjdXRlIHRoaXMgY29kZSwgc3BlY2lmaWNhbGx5IHdpdGggYENPTkZJR19NQUNCYCBlbmFibGVkPwoKSSBuZWVkIHRvIHJlZmVyIHRvIHRoZSBmdXp6aW5nIGd1aWRlbGluZXMuIFRoZSBrZXkgdGFrZWF3YXksIHRoZSAqcHJpbWFyeSogZ2F0ZWtlZXBlciwgaXMgcmVhY2hhYmlsaXR5LiBUaGUgZ3VpZGVsaW5lcyBzdGF0ZSBjbGVhcmx5IHRoYXQgZnV6emluZyBpcyBvbmx5IHZhbGlkIGZvciBjb2RlIHRoYXQgKmV4ZWN1dGVzKiB3aXRoaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgc2V0dXBzLCB1c2luZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzLiBJZiB0aGUgY29kZSBpcywgaW4gYSB3b3JkLCB1bnJlYWNoYWJsZSwgdGhlbiBmdXp6aW5nIGlzIG91dCBvZiB0aGUgcXVlc3Rpb24sIHJlZ2FyZGxlc3Mgb2YgaXRzIGludGVybmFsIGNvbXBsZXhpdHkgb3IgaWYgdGhlcmUgYXJlIGFkZGl0aW9uYWwgYXNzZXJ0aW9uIHN0YXRlbWVudHMuCgpOb3csIGFjY29yZGluZyB0byB0aGUgZ3VpZGVsaW5lcywgSSBjYW4gbWFyayBzb21ldGhpbmcgYXMgYFdvcnRoRnV6emluZz1mYWxzZWAgb25seSBpZiB0aGUgbW9kaWZpZWQgY29kZSBmYWxscyBpbnRvIGNlcnRhaW4gY2F0ZWdvcmllcy4gVGhlIGNydWNpYWwgb25lIGZvciBtZSBoZXJlIGlzIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSBoYXJkd2FyZSwgc3VjaCBhcyB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgb3IgZHJpdmVycyB0aGF0IG5lZWQgc3BlY2lmaWMgcGh5c2ljYWwgaGFyZHdhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRocyBhcmUgYWxzbyBub3Qgc3VpdGFibGUuCgpOb3csIGxldCYjMzk7cyBzaGlmdCBmb2N1cyB0byBgbWFjYl9wdHAuY2AuIEkgbmVlZCB0byBkaWcgaW50byB0aGF0IGZpbGUgYW5kIHNlZSB3aGF0IGl0IGRvZXMuIEl0cyByb2xlIGluIHRoZSBvdmVyYWxsIHBpY3R1cmUsIGFuZCBpdHMgcmVsYXRpb24gdG8gdGhlIGhhcmR3YXJlLCBuZWVkcyB0byBiZSBpbnNwZWN0ZWQuIFNvLCBsZXQgbWUgb3BlbiB0aGF0IHVwIGFuZCBpbnZlc3RpZ2F0ZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTAgMDQ6Mzg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDgwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgIDE6XHQvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG4gICAyOlx0LypcbiAgIDM6XHQgKiAxNTg4IFBUUCBzdXBwb3J0IGZvciBDYWRlbmNlIEdFTSBkZXZpY2UuXG4gICA0Olx0ICpcbiAgIDU6XHQgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQ2FkZW5jZSBEZXNpZ24gU3lzdGVtcyAtIGh0dHBzOi8vd3d3LmNhZGVuY2UuY29tXG4gICA2Olx0ICpcbiAgIDc6XHQgKiBBdXRob3JzOiBSYWZhbCBPemllYmxvIFx1MDAzY3JhZmFsb0BjYWRlbmNlLmNvbVx1MDAzZVxuICAgODpcdCAqICAgICAgICAgIEJhcnRvc3ogRm9sdGEgXHUwMDNjYmZvbHRhQGNhZGVuY2UuY29tXHUwMDNlXG4gICA5Olx0ICovXG4gIDEwOlx0I2luY2x1ZGUgXHUwMDNjbGludXgva2VybmVsLmhcdTAwM2VcbiAgMTE6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC90eXBlcy5oXHUwMDNlXG4gIDEyOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvY2xrLmhcdTAwM2VcbiAgMTM6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9kZXZpY2UuaFx1MDAzZVxuICAxNDpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L2V0aGVyZGV2aWNlLmhcdTAwM2VcbiAgMTU6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFx1MDAzZVxuICAxNjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L3RpbWU2NC5oXHUwMDNlXG4gIDE3Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvcHRwX2NsYXNzaWZ5LmhcdTAwM2VcbiAgMTg6XHQjaW5jbHVkZSBcdTAwM2NsaW51eC9pZl9ldGhlci5oXHUwMDNlXG4gIDE5Olx0I2luY2x1ZGUgXHUwMDNjbGludXgvaWZfdmxhbi5oXHUwMDNlXG4gIDIwOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvbmV0X3RzdGFtcC5oXHUwMDNlXG4gIDIxOlx0I2luY2x1ZGUgXHUwMDNjbGludXgvY2lyY19idWYuaFx1MDAzZVxuICAyMjpcdCNpbmNsdWRlIFx1MDAzY2xpbnV4L3NwaW5sb2NrLmhcdTAwM2VcbiAgMjM6XHRcbiAgMjQ6XHQjaW5jbHVkZSBcJiMzNDttYWNiLmhcJiMzNDtcbiAgMjU6XHRcbiAgMjY6XHQjZGVmaW5lICBHRU1fUFRQX1RJTUVSX05BTUUgXCYjMzQ7Z2VtLXB0cC10aW1lclwmIzM0O1xuICAyNzpcdFxuICAyODpcdHN0YXRpYyBzdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAgKm1hY2JfcHRwX2Rlc2Moc3RydWN0IG1hY2IgKmJwLFxuICAyOTpcdFx0XHRcdFx0XHQgICAgICAgc3RydWN0IG1hY2JfZG1hX2Rlc2MgKmRlc2MpXG4gIDMwOlx0e1xuICAzMTpcdFx0aWYgKCFtYWNiX2RtYV9wdHAoYnApKVxuICAzMjpcdFx0XHRyZXR1cm4gTlVMTDtcbiAgMzM6XHRcbiAgMzQ6XHRcdGlmIChtYWNiX2RtYTY0KGJwKSlcbiAgMzU6XHRcdFx0cmV0dXJuIChzdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAgKilcbiAgMzY6XHRcdFx0XHRcdCgodTggKilkZXNjICYjNDM7IHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzYylcbiAgMzc6XHRcdFx0XHRcdCYjNDM7IHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzY182NCkpO1xuICAzODpcdFx0ZWxzZVxuICAzOTpcdFx0XHRyZXR1cm4gKHN0cnVjdCBtYWNiX2RtYV9kZXNjX3B0cCAqKVxuICA0MDpcdFx0XHRcdFx0KCh1OCAqKWRlc2MgJiM0Mzsgc2l6ZW9mKHN0cnVjdCBtYWNiX2RtYV9kZXNjKSk7XG4gIDQxOlx0fVxuICA0MjpcdFxuICA0MzpcdHN0YXRpYyBpbnQgZ2VtX3RzdV9nZXRfdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgc3RydWN0IHRpbWVzcGVjNjQgKnRzLFxuICA0NDpcdFx0XHRcdCAgICBzdHJ1Y3QgcHRwX3N5c3RlbV90aW1lc3RhbXAgKnN0cylcbiAgNDU6XHR7XG4gIDQ2Olx0XHRzdHJ1Y3QgbWFjYiAqYnAgPSBjb250YWluZXJfb2YocHRwLCBzdHJ1Y3QgbWFjYiwgcHRwX2Nsb2NrX2luZm8pO1xuICA0NzpcdFx0dW5zaWduZWQgbG9uZyBmbGFncztcbiAgNDg6XHRcdGxvbmcgZmlyc3QsIHNlY29uZDtcbiAgNDk6XHRcdHUzMiBzZWNsLCBzZWNoO1xuICA1MDpcdFxuICA1MTpcdFx0c3Bpbl9sb2NrX2lycXNhdmUoXHUwMDI2YnAtXHUwMDNldHN1X2Nsa19sb2NrLCBmbGFncyk7XG4gIDUyOlx0XHRwdHBfcmVhZF9zeXN0ZW1fcHJldHMoc3RzKTtcbiAgNTM6XHRcdC8qIHB0cF9yZWFkX3N5c3RlbV9wcmV0cygpIHVzZXMgc21wX3JtYigpIGludGVybmFsbHksXG4gIDU0Olx0XHQgKiB3aGljaCBkb2VzIG5vdCBndWFyYW50ZWUgb3JkZXJpbmcgYWdhaW5zdCBNTUlPIHJlYWRzLlxuICA1NTpcdFx0ICovXG4gIDU2Olx0XHRybWIoKTtcbiAgNTc6XHRcdGZpcnN0ID0gZ2VtX3JlYWRsKGJwLCBUTik7XG4gIDU4Olx0XHQvKiBFbnN1cmUgdGhlIFBIQyByZWFkIGNvbXBsZXRlcyBiZWZvcmUgdGFraW5nXG4gIDU5Olx0XHQgKiB0aGUgcG9zdCB0aW1lc3RhbXAuXG4gIDYwOlx0XHQgKi9cbiAgNjE6XHRcdHJtYigpO1xuICA2MjpcdFx0cHRwX3JlYWRfc3lzdGVtX3Bvc3R0cyhzdHMpO1xuICA2MzpcdFx0c2VjbCA9IGdlbV9yZWFkbChicCwgVFNMKTtcbiAgNjQ6XHRcdHNlY2ggPSBnZW1fcmVhZGwoYnAsIFRTSCk7XG4gIDY1Olx0XHRzZWNvbmQgPSBnZW1fcmVhZGwoYnAsIFROKTtcbiAgNjY6XHRcbiAgNjc6XHRcdC8qIHRlc3QgZm9yIG5zZWMgcm9sbG92ZXIgKi9cbiAgNjg6XHRcdGlmIChmaXJzdCBcdTAwM2Ugc2Vjb25kKSB7XG4gIDY5Olx0XHRcdC8qIGlmIHNvLCB1c2UgbGF0ZXIgcmVhZCBcdTAwMjYgcmUtcmVhZCBzZWNvbmRzXG4gIDcwOlx0XHRcdCAqIChhc3N1bWUgYWxsIGRvbmUgd2l0aGluIDFzKVxuICA3MTpcdFx0XHQgKi9cbiAgNzI6XHRcdFx0cHRwX3JlYWRfc3lzdGVtX3ByZXRzKHN0cyk7XG4gIDczOlx0XHRcdC8qIHB0cF9yZWFkX3N5c3RlbV9wcmV0cygpIHVzZXMgc21wX3JtYigpIGludGVybmFsbHksXG4gIDc0Olx0XHRcdCAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuXG4gIDc1Olx0XHRcdCAqL1xuICA3NjpcdFx0XHRybWIoKTtcbiAgNzc6XHRcdFx0dHMtXHUwMDNldHZfbnNlYyA9IGdlbV9yZWFkbChicCwgVE4pO1xuICA3ODpcdFx0XHQvKiBFbnN1cmUgdGhlIFBIQyByZWFkIGNvbXBsZXRlcyBiZWZvcmUgdGFraW5nXG4gIDc5Olx0XHRcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cbiAgODA6XHRcdFx0ICovXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzMzY0CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogNzYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGhvdWdodCBwcm9jZXNzLCBkaXN0aWxsZWQ6CgoqKkZpbmRpbmcgdGhlIFNvdXJjZSBvZiBhIFBUUCBUaW1lIENhbGxiYWNrKioKCk9rYXksIHNvIGBnZW1fdHN1X2dldF90aW1lKClg4oCmIHJpZ2h0LCB0aGF0JiMzOTtzIGEgUFRQIGNsb2NrIGNhbGxiYWNrLCBzcGVjaWZpY2FsbHkgdGhlIG9uZSBkZWZpbmVkIGFzIGBwdHBfY2xvY2tfaW5mby5nZXR0aW1leDY0YCB3aXRoaW4gdGhlIGBtYWNiX3B0cC5jYCBtb2R1bGUuIFRoZSBmdW5jdGlvbiYjMzk7cyBwdXJwb3NlIGlzIGNsZWFyLCBidXQgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgKndoZXJlKiBpdCYjMzk7cyBiZWluZyByZWdpc3RlcmVkLCB3aGljaCBkZXZpY2Ugb3IgZHJpdmVyIGlzIGFjdHVhbGx5IHVzaW5nIGl0LiBJIG5lZWQgdG8gdHJhY2UgaXRzIHVzYWdlLiBJJiMzOTtsbCBzZWFyY2ggdGhlIGNvZGViYXNlIGRpcmVjdGx5IGZvciBpbnN0YW5jZXMgb2YgYGdlbV90c3VfZ2V0X3RpbWVgIGFuZCBzZWUgd2hhdCBjb21lcyB1cC4gVGhhdCBzaG91bGQgcG9pbnQgbWUgdG8gdGhlIHJlbGV2YW50IGluaXRpYWxpemF0aW9uIG9yIHJlZ2lzdHJhdGlvbiBjb2RlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMCAwNDozODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtnZW1fdHN1X2dldF90aW1lJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jPTI4PXN0YXRpYyBzdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAgKm1hY2JfcHRwX2Rlc2Moc3RydWN0IG1hY2IgKmJwLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYy00Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYzo0MzpzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYy00NC1cdFx0XHQgICAgc3RydWN0IHB0cF9zeXN0ZW1fdGltZXN0YW1wICpzdHMpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jPTE3NT1zdGF0aWMgaW50IGdlbV9wdHBfYWRqdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgczY0IGRlbHRhKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYy0xODYtXHRpZiAoZGVsdGEgXHUwMDNlIFRTVV9OU0VDX01BWF9WQUwpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYzoxODc6XHRcdGdlbV90c3VfZ2V0X3RpbWUoXHUwMDI2YnAtXHUwMDNlcHRwX2Nsb2NrX2luZm8sIFx1MDAyNm5vdywgTlVMTCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMtMTg4LVx0XHRub3cgPSB0aW1lc3BlYzY0X2FkZChub3csIHRoZW4pO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYz0yMDc9c3RhdGljIGNvbnN0IHN0cnVjdCBwdHBfY2xvY2tfaW5mbyBnZW1fcHRwX2NhcHNfdGVtcGxhdGUgPSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTIxNy1cdC5hZGp0aW1lXHQ9IGdlbV9wdHBfYWRqdGltZSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYzoyMTg6XHQuZ2V0dGltZXg2NFx0PSBnZW1fdHN1X2dldF90aW1lLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTIxOS1cdC5zZXR0aW1lNjRcdD0gZ2VtX3RzdV9zZXRfdGltZSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmM9MjY0PXN0YXRpYyBpbnQgZ2VtX2h3X3RpbWVzdGFtcChzdHJ1Y3QgbWFjYiAqYnAsIHUzMiBkbWFfZGVzY190c18xLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYy0yNzYtXHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYzoyNzc6XHRnZW1fdHN1X2dldF90aW1lKFx1MDAyNmJwLVx1MDAzZXB0cF9jbG9ja19pbmZvLCBcdTAwMjZ0c3UsIE5VTEwpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTI3OC1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMTAgMDQ6Mzg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjQyOTUKCQkJCQkJCW91dHB1dDogMTQwCgkJCQkJCQl0aG91Z2h0czogOTEzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgVmVyZGljdDogU3RydWN0dXJhbGx5IFVucmVhY2hhYmxlIENvZGUqKgoKT2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4gRmlyc3QsIEkgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoZSBDYWRlbmNlIE1BQ0IgZGV2aWNlLCBzcGVjaWZpY2FsbHkgdGhlIGBtYWNiX3B0cC5jYCBkcml2ZXIsIGlzIGV2ZW4gYWNjZXNzaWJsZSBpbiBhIHN0YW5kYXJkIFFFTVUgeDg2XzY0IGZ1enppbmcgZW52aXJvbm1lbnQuIFRoZSBpbml0aWFsIGNoZWNrIHJldmVhbHMgdGhhdCBzdGFuZGFyZCBRRU1VIHByaW1hcmlseSBlbXVsYXRlcyBhIHNldCBvZiBuZXR3b3JrIGRldmljZXMsIGJ1dCBub25lIG9mIHRoZW0gYXJlIENhZGVuY2UgR0VNLiBXZSYjMzk7cmUgdGFsa2luZyBhYm91dCBlMTAwMCwgdmlydGlvLCBydGw4MTM5LCBhbmQgc2ltaWxhciBjb21tb24gTklDcyDigJMgbm90aGluZyB0aGF0IGludm9sdmVzIGEgQ2FkZW5jZSBHRU0gY29udHJvbGxlciwgZXNwZWNpYWxseSBub3Qgb24gYSBQQ0kgYnVzIHdpdGhpbiB0aGUgeDg2XzY0IGFyY2hpdGVjdHVyZS4KCk15IFFFTVUgc291cmNlIGRpdmUgY29uZmlybWVkIHRoaXMuIFRoZSBgY2FkZW5jZV9nZW0uY2AgZHJpdmVyICpkb2VzKiBleGlzdCwgYnV0IGl0JiMzOTtzIGluc3RhbnRpYXRlZCBhcyBhIHN5c2J1cyBkZXZpY2UsIGFuZCBzcGVjaWZpY2FsbHkgd2l0aGluIHRoZSBjb250ZXh0IG9mIEFSTSBTb0NzIGxpa2UgdGhlIFhpbGlueCBaeW5xIGFuZCBWZXJzYWwgcGxhdGZvcm1zLiBRRU1VJiMzOTtzIHg4Nl82NCBQQy9RMzUgZW11bGF0aW9uIGRvZXNuJiMzOTt0IHByb2JlIG9yIGluc3RhbnRpYXRlIHRoaXMgZGV2aWNlLgoKQWxyaWdodCwgd2hhdCBhYm91dCBjbGV2ZXIgdHJpY2tzIHdpdGggdmlydHVhbCBidXNlcyBvciBzeXprYWxsZXI/IENhbiBzeXprYWxsZXIgc29tZWhvdyBmb3JjZSB0aGUgZGV2aWNlIHRvIGNvbWUgaW50byBleGlzdGVuY2UsIGVpdGhlciBhcyBhIHBsYXRmb3JtIGRldmljZSBvciBhIFBDSSBkZXZpY2U/IEkmIzM5O20gZmFtaWxpYXIgd2l0aCB0aG9zZSBjYXBhYmlsaXRpZXMsIGJ1dCBpbiB0aGlzIGNhc2UsIHRoZSBhbnN3ZXIgaXMgYSBmaXJtIG5vLiBTeXprYWxsZXIgcmVsaWVzIG9uIHRoZSBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50LCBhbmQgaXQmIzM5O3Mgbm90IGdvaW5nIHRvIGNvbmp1cmUgdXAgcGh5c2ljYWwgb3Igc3BlY2lhbGl6ZWQgQ2FkZW5jZSBoYXJkd2FyZS4gRnVydGhlcm1vcmUsIGxvb2tpbmcgYXQgdGhlIHN5emthbGxlciBkb2N1bWVudGF0aW9uLCB0aGlzIHNpdHVhdGlvbiBmYWxscyBzcXVhcmVseSBpbnRvIHRoZSAmIzM0O1N0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSBoYXJkd2FyZSYjMzQ7IGNhdGVnb3J5LgoKTGV0JiMzOTtzIG5haWwgZG93biB0aGlzIHBvaW50LiBUaGUgY29yZSBmdW5jdGlvbiBpbiBxdWVzdGlvbiBpcyBgZ2VtX3RzdV9nZXRfdGltZWAuIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhlIENhZGVuY2UgR0VNIGRldmljZSBpcyBzdWNjZXNzZnVsbHkgcHJvYmVkIGFuZCBpbml0aWFsaXplZCDigJMgYSBwcm9jZXNzIHRoYXQgaW52b2x2ZXMgdGhlIGBnZW1fcHRwX2luaXRgIGZ1bmN0aW9uLCBjcmVhdGluZyBhIFBUUCBjbG9jayBmb3IgdGhlIG5ldHdvcmsgaW50ZXJmYWNlLiBXaXRob3V0IHRoYXQgaGFyZHdhcmUgcHJvYmUsIGBnZW1fdHN1X2dldF90aW1lYCAqY2Fubm90KiBiZSBleGVjdXRlZC4gV2UmIzM5O3JlIGNoYXNpbmcgZ2hvc3RzIGhlcmUuCgpTbywgbGV0JiMzOTtzIGNsYXJpZnkgdGhlIHBhdGNoJiMzOTtzIHB1cnBvc2UuIEl0JiMzOTtzIGFkZGluZyBgcm1iKClgIGJhcnJpZXJzIGJlZm9yZSBhbmQgYWZ0ZXIgYGdlbV9yZWFkbChicCwgVE4pYCB3aXRoaW4gYGdlbV90c3VfZ2V0X3RpbWVgLiBUaGVzZSBiYXJyaWVycyBhcmUgbWVhbnQgdG8gZW5mb3JjZSBtZW1vcnkgb3JkZXJpbmcgZm9yIE1NSU8gcmVnaXN0ZXIgcmVhZHMsIHN5bmNocm9uaXppbmcgdGhlbSB3aXRoIHN5c3RlbSB0aW1lc3RhbXBzIGFzIHBhcnQgb2YgdGhlIFBUUCAoUHJlY2lzaW9uIFRpbWUgUHJvdG9jb2wpIGZ1bmN0aW9uYWxpdHkuIFNvLCBpdCYjMzk7cyBhYm91dCBoYXJkd2FyZSBtZW1vcnktYmFycmllciBvcmRlcmluZyBmb3IgTU1JTyByZWFkcywgYnV0IGZvciBzcGVjaWZpYyBDYWRlbmNlIEdFTSBoYXJkd2FyZS4KClRoZXJlZm9yZSwgdGhpcyBwYXRjaCBkaXJlY3RseSBtb2RpZmllcyB0aGUgY29kZSBmb3IgdGhlIENhZGVuY2UgTUFDQi9HRU0gRXRoZXJuZXQgY29udHJvbGxlciwgd2hpY2ggaXMgdmVuZG9yLXNwZWNpZmljIGhhcmR3YXJlLCBhbmQgaXMgYWJzZW50IGZyb20gc3RhbmRhcmQgeDg2XzY0IChhbWQ2NCkgZW52aXJvbm1lbnRzLiBJdCBjYW4mIzM5O3QgYmUgcmVhY2hlZCBiZWNhdXNlIG9mIHRoZSBhcmNoaXRlY3R1cmUgb2YgdGhlIHNpbXVsYXRlZCBtYWNoaW5lLgoKSGVyZSYjMzk7cyB0aGUgZmluYWxpemVkIG91dHB1dCBmb3JtYXQ6CgoqICAgYFdvcnRoRnV6emluZ2A6IGZhbHNlCiogICBgRm9jdXNTeW1ib2xzYDogXFsgXQoqICAgYEVuYWJsZUNvbmZpZ3NgOiBcWyBdCiogICBgUmVhc29uaW5nYDogVGhlIHBhdGNoIG1vZGlmaWVzIGRyaXZlciBjb2RlIGZvciB0aGUgQ2FkZW5jZSBNQUNCL0dFTSBFdGhlcm5ldCBjb250cm9sbGVyIChgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jYCkuIFRoaXMgaGFyZHdhcmUgaXMgbm90IHByZXNlbnQgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgeDg2XzY0IChhbWQ2NCkgZnV6emluZyBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgYW5kIG5vdCB3YXJyYW50aW5nIGZ1enppbmcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzEwIDA0OjM4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBNTUlPIHJlYWQgbWVtb3J5IGJhcnJpZXJzIChybWIpIGluIGdlbV90c3VfZ2V0X3RpbWUoKSB3aXRoaW4gdGhlIENhZGVuY2UgTUFDQi9HRU0gRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMpLiBUaGlzIGRyaXZlciByZXF1aXJlcyB2ZW5kb3Itc3BlY2lmaWMgQ2FkZW5jZSBNQUNCL0dFTSBoYXJkd2FyZSAocHJpbWFyaWx5IGZvdW5kIG9uIEF0bWVsL1hpbGlueCBTb0NzKSB0aGF0IGlzIG5vdCBhdmFpbGFibGUgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgYW1kNjQgdmlydHVhbGl6ZWQgZnV6emluZyBlbnZpcm9ubWVudHMgKFFFTVUvR0NFKSwgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgTU1JTyByZWFkIG1lbW9yeSBiYXJyaWVycyAocm1iKSBpbiBnZW1fdHN1X2dldF90aW1lKCkgd2l0aGluIHRoZSBDYWRlbmNlIE1BQ0IvR0VNIEV0aGVybmV0IGRyaXZlciAoZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgdmVuZG9yLXNwZWNpZmljIENhZGVuY2UgTUFDQi9HRU0gaGFyZHdhcmUgKHByaW1hcmlseSBmb3VuZCBvbiBBdG1lbC9YaWxpbnggU29DcykgdGhhdCBpcyBub3QgYXZhaWxhYmxlIG9yIGVtdWxhdGVkIGluIHN0YW5kYXJkIGFtZDY0IHZpcnR1YWxpemVkIGZ1enppbmcgZW52aXJvbm1lbnRzIChRRU1VL0dDRSksIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE1LzE8L3RkPgoJCQk8dGQ+MjAyNi8wOS8xMCAwNDozODwvdGQ+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+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDktMTBUMDQ6Mzc6MzguODY5MzcxMjgyWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDUyOTI3Nzc3OTEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJcIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIE1NSU8gcmVhZCBtZW1vcnkgYmFycmllcnMgKHJtYikgaW4gZ2VtX3RzdV9nZXRfdGltZSgpIHdpdGhpbiB0aGUgQ2FkZW5jZSBNQUNCL0dFTSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYykuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHZlbmRvci1zcGVjaWZpYyBDYWRlbmNlIE1BQ0IvR0VNIGhhcmR3YXJlIChwcmltYXJpbHkgZm91bmQgb24gQXRtZWwvWGlsaW54IFNvQ3MpIHRoYXQgaXMgbm90IGF2YWlsYWJsZSBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCBhbWQ2NCB2aXJ0dWFsaXplZCBmdXp6aW5nIGVudmlyb25tZW50cyAoUUVNVS9HQ0UpLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgc3RydWN0dXJhbGx5IHVucmVhY2hhYmxlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTBUMDQ6Mzc6MzguODY5Mzc3MTAyWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NzkzNzUyNTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBiNGY3YjU3ZGU1YzBjMDFlZGM5ZTg4NWEyNWFlMWZkMTBjZmVjNWFjXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUaHUgU2VwIDEwIDA0OjM3OjM4IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuY1xcbmluZGV4IGU1MTk1ZDdkYWMxZDUuLjRmYjI4NzYwOGRjNDggMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jXFxuQEAgLTUwLDcgKzUwLDE1IEBAIHN0YXRpYyBpbnQgZ2VtX3RzdV9nZXRfdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgc3RydWN0IHRpbWVzcGVjNjQgKnRzLFxcbiBcXG4gXFx0c3Bpbl9sb2NrX2lycXNhdmUoXFx1MDAyNmJwLVxcdTAwM2V0c3VfY2xrX2xvY2ssIGZsYWdzKTtcXG4gXFx0cHRwX3JlYWRfc3lzdGVtX3ByZXRzKHN0cyk7XFxuK1xcdC8qIHB0cF9yZWFkX3N5c3RlbV9wcmV0cygpIHVzZXMgc21wX3JtYigpIGludGVybmFsbHksXFxuK1xcdCAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuXFxuK1xcdCAqL1xcbitcXHRybWIoKTtcXG4gXFx0Zmlyc3QgPSBnZW1fcmVhZGwoYnAsIFROKTtcXG4rXFx0LyogRW5zdXJlIHRoZSBQSEMgcmVhZCBjb21wbGV0ZXMgYmVmb3JlIHRha2luZ1xcbitcXHQgKiB0aGUgcG9zdCB0aW1lc3RhbXAuXFxuK1xcdCAqL1xcbitcXHRybWIoKTtcXG4gXFx0cHRwX3JlYWRfc3lzdGVtX3Bvc3R0cyhzdHMpO1xcbiBcXHRzZWNsID0gZ2VtX3JlYWRsKGJwLCBUU0wpO1xcbiBcXHRzZWNoID0gZ2VtX3JlYWRsKGJwLCBUU0gpO1xcbkBAIC02Miw3ICs3MCwxNSBAQCBzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cyxcXG4gXFx0XFx0ICogKGFzc3VtZSBhbGwgZG9uZSB3aXRoaW4gMXMpXFxuIFxcdFxcdCAqL1xcbiBcXHRcXHRwdHBfcmVhZF9zeXN0ZW1fcHJldHMoc3RzKTtcXG4rXFx0XFx0LyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSxcXG4rXFx0XFx0ICogd2hpY2ggZG9lcyBub3QgZ3VhcmFudGVlIG9yZGVyaW5nIGFnYWluc3QgTU1JTyByZWFkcy5cXG4rXFx0XFx0ICovXFxuK1xcdFxcdHJtYigpO1xcbiBcXHRcXHR0cy1cXHUwMDNldHZfbnNlYyA9IGdlbV9yZWFkbChicCwgVE4pO1xcbitcXHRcXHQvKiBFbnN1cmUgdGhlIFBIQyByZWFkIGNvbXBsZXRlcyBiZWZvcmUgdGFraW5nXFxuK1xcdFxcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cXG4rXFx0XFx0ICovXFxuK1xcdFxcdHJtYigpO1xcbiBcXHRcXHRwdHBfcmVhZF9zeXN0ZW1fcG9zdHRzKHN0cyk7XFxuIFxcdFxcdHNlY2wgPSBnZW1fcmVhZGwoYnAsIFRTTCk7XFxuIFxcdFxcdHNlY2ggPSBnZW1fcmVhZGwoYnAsIFRTSCk7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM3OjM5LjM0OTUwMTQxNVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImNvcmUiLCJEdXJhdGlvbiI6NDQ4MTI2MzM0OTgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgTU1JTyByZWFkIG1lbW9yeSBiYXJyaWVycyAocm1iKSBpbiBnZW1fdHN1X2dldF90aW1lKCkgd2l0aGluIHRoZSBDYWRlbmNlIE1BQ0IvR0VNIEV0aGVybmV0IGRyaXZlciAoZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgdmVuZG9yLXNwZWNpZmljIENhZGVuY2UgTUFDQi9HRU0gaGFyZHdhcmUgKHByaW1hcmlseSBmb3VuZCBvbiBBdG1lbC9YaWxpbnggU29DcykgdGhhdCBpcyBub3QgYXZhaWxhYmxlIG9yIGVtdWxhdGVkIGluIHN0YW5kYXJkIGFtZDY0IHZpcnR1YWxpemVkIGZ1enppbmcgZW52aXJvbm1lbnRzIChRRU1VL0dDRSksIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lciBhbmQgc2VjdXJpdHkgZW5naW5lZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGV2YWx1YXRlIHdoZXRoZXIgaXQgd2FycmFudHMgZnV6emluZyB3aXRoIHN5emthbGxlci5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24gaW50ZXJuYWwgYXNzdW1wdGlvbnMuIFlvdSBtdXN0IGFjdGl2ZWx5IHVzZSB5b3VyIGNvZGUgYWNjZXNzXG50b29scyB0byBpbnNwZWN0IHRoZSBhY3R1YWwgc291cmNlIGNvZGUsIGNhbGxlcnMsIGFuZCBzdXJyb3VuZGluZyBjb250ZXh0LlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMS4gQ09SRSBUUklBR0UgUEhJTE9TT1BIWVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblRoZSBnb2FsIG9mIHBhdGNoIGZ1enppbmcgaXMgdG8gZGlzY292ZXIgY3Jhc2hlcywgcmVncmVzc2lvbnMsIGV4cG9zZWQgbGF0ZW50IGJ1Z3MsXG5hbmQgbmV3bHkgdHJpZ2dlcmVkIGFzc2VydGlvbnMgaW50cm9kdWNlZCBieSB0aGUgcGF0Y2ggc2VyaWVzLlxuXG4tIFJFQUNIQUJJTElUWSBJUyBUSEUgUFJJTUFSWSBHQVRFOlxuICBGdXp6aW5nIGNhbiBvbmx5IGRpc2NvdmVyIGJ1Z3MgaW4gY29kZSB0aGF0IGNhbiBhY3R1YWxseSBleGVjdXRlIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkXG4gIGVudmlyb25tZW50cyAoR0NFIG9yIFFFTVUsIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzIGxpa2UgVVNCIGdhZGdldHMsIG5ldGRldiwgdHVuL3RhcCkuXG4gIElmIHRoZSBtb2RpZmllZCBjb2RlIGlzIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSAoc2VlIFNlY3Rpb24gMiksIGl0IE1VU1QgTk9UIGJlIGZ1enplZCxcbiAgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGFkZHMgYXNzZXJ0aW9ucyBvciBjb21wbGV4IGxvZ2ljLlxuXG4tIERPIE5PVCBCTElORExZIFRSVVNUIFwiTk8gRlVOQ1RJT05BTCBDSEFOR0VcIiAoTkZDSSkgT1IgXCJSRUZBQ1RPUklOR1wiIENMQUlNUzpcbiAgUGF0Y2ggYXV0aG9ycyByb3V0aW5lbHkgbGFiZWwgY2hhbmdlcyBhcyBcImNsZWFudXBzXCIsIFwicmVmYWN0b3JpbmdzXCIsIG9yIHN0YXRlXG4gIFwiTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWRcIi4gRG8gTk9UIHRha2UgdGhlc2UgY2xhaW1zIGF0IGZhY2UgdmFsdWUuXG4gIENvZGUgcmVmYWN0b3JpbmdzIHRoYXQgcmVhcnJhbmdlIGxvZ2ljLCBpbnRyb2R1Y2UgaGVscGVyIGZ1bmN0aW9ucywgb3IgYWx0ZXIgc3RhdGUgbWFuYWdlbWVudFxuICBpbiBjb3JlIHN1YnN5c3RlbXMgZnJlcXVlbnRseSBpbnRyb2R1Y2Ugc3VidGxlIHNlbWFudGljIHNoaWZ0cyBvciB1bmNvdmVyIGxhdGVudCBrZXJuZWwgYnVncy5cbiAgSWYgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSBpcyBtb2RpZmllZCBvciByZWZhY3RvcmVkLCBpdCBNVVNUIGJlIGZ1enplZC5cblxuLSBORVcgT1IgTU9ESUZJRUQgQVNTRVJUSU9OUyBJTiBSRUFDSEFCTEUgQ09ERSBNVVNUIEJFIEZVWlpFRDpcbiAgV2hlbiBhIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXMgcnVudGltZSBjaGVja3Mgb3IgYXNzZXJ0aW9ucyAoZS5nLiwgV0FSTl9PTiosIFZNX1dBUk5fT04qLFxuICBCVUdfT04qLCBsb2NrZGVwX2Fzc2VydCopIGluIHJlYWNoYWJsZSBjb2RlIHBhdGhzLCBpdCBlbmZvcmNlcyBuZXcgb3Igc3RyaWN0ZXIgaW52YXJpYW50cy5cbiAgRXZlbiBpZiB0aGUgYXV0aG9yIGJlbGlldmVzIHRoZSBpbnZhcmlhbnQgYWx3YXlzIGhvbGRzLCBmdXp6aW5nIGlzIGVzc2VudGlhbCB0byB2ZXJpZnkgd2hldGhlclxuICBhbiB1bnVzdWFsIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMgY2FuIHZpb2xhdGUgaXQuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4yLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9ZmFsc2UgKE5FR0FUSVZFIENSSVRFUklBKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgT05MWSBJRiBhbGwgbW9kaWZpZWQgY29kZSBmYWxscyBzdHJpY3RseSBpbnRvIG9uZSBvciBtb3JlIG9mIHRoZXNlIGNhdGVnb3JpZXM6XG5cbi0gTm9uLWtlcm5lbCBhbmQgbm9uLWV4ZWN1dGFibGUgY2hhbmdlczpcbiAgKiBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBjb21tZW50cywgb3Igc3BlbGxpbmcgZml4ZXMuXG4gICogVXNlci1zcGFjZSBkaXJlY3Rvcmllcywgc2VsZi10ZXN0cywgc2FtcGxlcywgb3Igc2NyaXB0cyAoZS5nLiwgdG9vbHMvLCBzYW1wbGVzLywgc2NyaXB0cy8sIHVzci8pXG4gICAgdGhhdCBkbyBub3QgYWZmZWN0IHRoZSBjb21waWxlZCBrZXJuZWwgaW1hZ2UgKHZtbGludXgpIG9yIGtlcm5lbCBtb2R1bGVzLlxuICAqIFB1cmVseSBkZWNvcmF0aXZlIGxvZ2dpbmcgKGUuZy4sIG1lc3NhZ2Ugc3RyaW5ncyBpbiBwcl9lcnIsIHByaW50aywgZGV2X2luZm8pIG9yIHRyYWNlcG9pbnRzXG4gICAgdGhhdCBkbyBub3QgYWx0ZXIgY29udHJvbCBmbG93IG9yIGRhdGEgc3RydWN0dXJlcy5cbiAgKiBCdWlsZCBzeXN0ZW0gb3IgS2NvbmZpZyBjaGFuZ2VzIHRoYXQgZG8gbm90IGFsdGVyIGNvbXBpbGVkIEMgbG9naWMuXG4tIFN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZSBoYXJkd2FyZTpcbiAgKiBWZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gICAgaW9uaWMsIGFtZGdwdSkgcmVxdWlyaW5nIHBoeXNpY2FsIEFTSUMvUENJZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gVW5yZWFjaGFibGUgZXhlY3V0aW9uIHBhdGhzOlxuICAqIERyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKC5yZW1vdmUsIC5zaHV0ZG93biwgcGNpX3VucmVnaXN0ZXJfZHJpdmVyKSBleGVjdXRlZCBvbmx5IGR1cmluZ1xuICAgIHBoeXNpY2FsIFBDSSBob3QtdW5wbHVnIG9yIG1hbnVhbCBzeXNmcyBkcml2ZXIgdW5iaW5kaW5nLlxuICAqIENvZGUgcGF0aHMgZXhjbHVzaXZlIHRvIGFyY2hpdGVjdHVyZXMgb3RoZXIgdGhhbiB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZS5cblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjMuIFdIRU4gVE8gUkVUVVJOIFdvcnRoRnV6emluZz10cnVlIChQT1NJVElWRSBDUklURVJJQSlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5SZXR1cm4gV29ydGhGdXp6aW5nPXRydWUgd2hlbmV2ZXIgdGhlIHBhdGNoIHRvdWNoZXMgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSwgaW5jbHVkaW5nOlxuLSBDb3JlIFN1YnN5c3RlbXM6XG4gICogQW55IGxvZ2ljIG1vZGlmaWNhdGlvbnMgaW4gbWVtb3J5IG1hbmFnZW1lbnQgKG1tLyksIHN5bmNocm9uaXphdGlvbi9sb2NraW5nIChrZXJuZWwvbG9ja2luZy8pLFxuICAgIEJQRiwgc2NoZWR1bGVyLCBjb3JlIG5ldHdvcmtpbmcsIFZGUywgb3Igc3lzY2FsbCBoYW5kbGluZy5cbi0gUmVmYWN0b3JpbmdzIGFuZCBDb2RlIENsZWFudXBzOlxuICAqIEFueSByZXN0cnVjdHVyaW5nIG9mIHJlYWNoYWJsZSBkYXRhIHN0cnVjdHVyZXMsIGhlbHBlciBhYnN0cmFjdGlvbnMsIG9yIGFsZ29yaXRobSBmbG93cy5cbi0gUnVudGltZSBBc3NlcnRpb25zIGFuZCBEZWZlbnNpdmUgQ2hlY2tzOlxuICAqIEFueSBpbnRyb2R1Y3Rpb24gb3IgYWx0ZXJhdGlvbiBvZiBhc3NlcnRpb25zIChXQVJOX09OKiwgVk1fV0FSTl9PTiosIEJVR19PTiosIGV0Yy4pIGluIHJlYWNoYWJsZSBwYXRocy5cbi0gUmVhY2hhYmxlIERyaXZlcnMgYW5kIFByb3RvY29sczpcbiAgKiBEcml2ZXJzIGFjY2Vzc2libGUgdmlhIHZpcnR1YWwgYnVzZXMgKHZpcnRpbywgVVNCIGdhZGdldCwgbG9vcGJhY2ssIG5ldGxpbmssIGJpbmRlciwgc29ja2V0cywgZXRjLikuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG40LiBFWFRSQUNUSU5HIEZvY3VzU3ltYm9scyAoUFJFVkVOVElORyBESUxVVElPTilcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5XaGVuIFdvcnRoRnV6emluZz10cnVlLCB5b3UgbXVzdCBleHRyYWN0IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgaW50byBGb2N1c1N5bWJvbHMgdG8gZ3VpZGUgdGhlIGZ1enplcjpcblxuLSBBVk9JRCBVQklRVUlUT1VTIExJRkVDWUNMRSBIT1QtUEFUSFM6XG4gIERvIE5PVCBsaXN0IGdlbmVyaWMsIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhbGxlZCBieSBhbG1vc3QgZXZlcnkgcHJvZ3JhbSBpbiB0aGUgY29ycHVzXG4gIChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bzogZ2VuZXJhbCBtZW1vcnkgYWxsb2NhdG9ycyBhbmQgZGVhbGxvY2F0b3JzLCBwYWdlIGZhdWx0XG4gIGFuZCB0cmFwIGhhbmRsZXJzLCBvciBjb3JlIHN5bmNocm9uaXphdGlvbiBwcmltaXRpdmVzOyB0aGlzIGlzIG5vdCBhbiBleGhhdXN0aXZlIGxpc3QpLlxuICBMaXN0aW5nIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhdXNlcyB0aGUgZnV6emVyIHRvIGNsYXNzaWZ5IHRob3VzYW5kcyBvZiB1bnJlbGF0ZWQgdGVzdHMgYXMgXCJmb2N1c2VkXCIsXG4gIHdoaWNoIHNldmVyZWx5IGRpbHV0ZXMgZnV6emluZyBlZmZvcnQgYXdheSBmcm9tIHRoZSBhY3R1YWwgY2hhbmdlcy5cblxuLSBUQVJHRVQgU1BFQ0lGSUMgRkVBVFVSRSBMT0dJQyBBTkQgRU5UUllQT0lOVFM6XG4gIExpc3QgZnVuY3Rpb25zIHRoYXQgc3BlY2lmaWNhbGx5IGltcGxlbWVudCB0aGUgbG9naWMgYmVpbmcgYWRkZWQgb3IgYWx0ZXJlZCwgb3IgZGlyZWN0IEFQSSBlbnRyeXBvaW50c1xuICBmb3IgdGhlIHN1YnN5c3RlbSBmZWF0dXJlIHVuZGVyIHJldmlldy5cblxuLSBIQU5ETElORyBTVEFUSUMgSU5MSU5FIEZVTkNUSU9OUyBJTiBIRUFERVJTICguaCk6XG4gIENvbXBpbGVyLWlubGluZWQgc3RhdGljIGZ1bmN0aW9ucyAoc3VjaCBhcyBzdGF0aWMgaW5saW5lcyBpbiBtbS8qLmggb3IgaW5jbHVkZS9saW51eC8qLmgpIGxhY2tcbiAgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcyBpbiB2bWxpbnV4IGFuZCBjYW5ub3QgYmUgdGFyZ2V0ZWQgZGlyZWN0bHkgYnkgc3ltYm9sIGNvdmVyYWdlIGZpbHRlcnMuXG4gIElmIHRoZSBjaGFuZ2VzIGFyZSBwcmltYXJpbHkgaW4gc3RhdGljIGlubGluZSBoZWxwZXJzLCBpZGVudGlmeSBub24tc3RhdGljLCBmZWF0dXJlLXNwZWNpZmljIGNhbGxlclxuICBmdW5jdGlvbnMgaW4gLmMgZmlsZXMgdGhhdCBleGVyY2lzZSB0aGVtIChhdm9pZGluZyB1YmlxdWl0b3VzIGxpZmVjeWNsZSB3cmFwcGVycykuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG41LiBJREVOVElGWUlORyBFbmFibGVDb25maWdzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSBjb21waWxlIGFuZCByZWFjaCB0aGUgbW9kaWZpZWQgY29kZTpcbi0gSW5zcGVjdCBLY29uZmlnIGZpbGVzIGFuZCAjaWZkZWYgZ3VhcmRzOyBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbi0gQ2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzIG5lZWRlZC5cbi0gU3RyaXAgYW55ICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IlRhcmdldCBhcmNoaXRlY3R1cmU6IGFtZDY0XG5cbkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGI0ZjdiNTdkZTVjMGMwMWVkYzllODg1YTI1YWUxZmQxMGNmZWM1YWNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IFNlcCAxMCAwNDozNzozOCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuY1xuaW5kZXggZTUxOTVkN2RhYzFkNS4uNGZiMjg3NjA4ZGM0OCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuY1xuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jXG5AQCAtNTAsNyArNTAsMTUgQEAgc3RhdGljIGludCBnZW1fdHN1X2dldF90aW1lKHN0cnVjdCBwdHBfY2xvY2tfaW5mbyAqcHRwLCBzdHJ1Y3QgdGltZXNwZWM2NCAqdHMsXG4gXG4gXHRzcGluX2xvY2tfaXJxc2F2ZShcdTAwMjZicC1cdTAwM2V0c3VfY2xrX2xvY2ssIGZsYWdzKTtcbiBcdHB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpO1xuK1x0LyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSxcbitcdCAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuXG4rXHQgKi9cbitcdHJtYigpO1xuIFx0Zmlyc3QgPSBnZW1fcmVhZGwoYnAsIFROKTtcbitcdC8qIEVuc3VyZSB0aGUgUEhDIHJlYWQgY29tcGxldGVzIGJlZm9yZSB0YWtpbmdcbitcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cbitcdCAqL1xuK1x0cm1iKCk7XG4gXHRwdHBfcmVhZF9zeXN0ZW1fcG9zdHRzKHN0cyk7XG4gXHRzZWNsID0gZ2VtX3JlYWRsKGJwLCBUU0wpO1xuIFx0c2VjaCA9IGdlbV9yZWFkbChicCwgVFNIKTtcbkBAIC02Miw3ICs3MCwxNSBAQCBzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cyxcbiBcdFx0ICogKGFzc3VtZSBhbGwgZG9uZSB3aXRoaW4gMXMpXG4gXHRcdCAqL1xuIFx0XHRwdHBfcmVhZF9zeXN0ZW1fcHJldHMoc3RzKTtcbitcdFx0LyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSxcbitcdFx0ICogd2hpY2ggZG9lcyBub3QgZ3VhcmFudGVlIG9yZGVyaW5nIGFnYWluc3QgTU1JTyByZWFkcy5cbitcdFx0ICovXG4rXHRcdHJtYigpO1xuIFx0XHR0cy1cdTAwM2V0dl9uc2VjID0gZ2VtX3JlYWRsKGJwLCBUTik7XG4rXHRcdC8qIEVuc3VyZSB0aGUgUEhDIHJlYWQgY29tcGxldGVzIGJlZm9yZSB0YWtpbmdcbitcdFx0ICogdGhlIHBvc3QgdGltZXN0YW1wLlxuK1x0XHQgKi9cbitcdFx0cm1iKCk7XG4gXHRcdHB0cF9yZWFkX3N5c3RlbV9wb3N0dHMoc3RzKTtcbiBcdFx0c2VjbCA9IGdlbV9yZWFkbChicCwgVFNMKTtcbiBcdFx0c2VjaCA9IGdlbV9yZWFkbChicCwgVFNIKTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM3OjM5LjM0OTUwMjQ0NVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjQ4NDUwNTIzOTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqSW5pdGlhbCBBc3Nlc3NtZW50IG9mIHRoZSBDb2RlIENoYW5nZSoqXG5cbk9rYXksIHNvIHRoZSBwYXRjaCBpcyB0b3VjaGluZyBgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jYC4gTXkgZmlyc3QgbW92ZSBpcyB0byBkaXZlIGludG8gdGhhdCBkcml2ZXIgY29kZSBhbmQgdW5kZXJzdGFuZCBpdHMgY29ubmVjdGlvbiB0byB0aGUgaGFyZHdhcmUgYW5kIGl0cyBvdmVyYWxsIGZ1bmN0aW9uYWxpdHksIGVzcGVjaWFsbHkgdGhlIFBUUCBhc3BlY3QuIEdpdmVuIHRoZSBjb250ZXh0IG9mIGEgZnV6emluZyBzZXR1cCwgbXkgaW1tZWRpYXRlIGNvbmNlcm4gaXMgd2hldGhlciB0aGlzIHNwZWNpZmljIENhZGVuY2UgTUFDQiBjb250cm9sbGVyIGlzIGV2ZW4gcmVhY2hhYmxlIHdpdGhpbiBhIHN0YW5kYXJkIFFFTVUgYW1kNjQgZnV6emluZyBlbnZpcm9ubWVudC4gVGhhdCdzIGEgY3J1Y2lhbCBmaXJzdCBzdGVwOyBpZiBpdCdzIG5vdCBwcmVzZW50LCB0aGVuIHRoaXMgd2hvbGUgdGhpbmcgaXMgYSBkZWFkIGVuZCBmb3IgZnV6emluZyBwdXJwb3Nlcy4gSSBuZWVkIHRvIHF1aWNrbHkgZXN0YWJsaXNoIGl0cyBwcmVzZW5jZSBvciBhYnNlbmNlIHdpdGhpbiB0aGF0IHNwZWNpZmljIHRlc3QgZW52aXJvbm1lbnQuIEknbGwgbmVlZCB0byBjaGVjayB0aGUgS2NvbmZpZywgc2VlIGlmIHRoZXJlJ3MgYW55IHNwZWNpZmljIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24gbmVlZGVkLCBvciBpZiBpdCdzIGRlcGVuZGVudCBvbiBhIHBhcnRpY3VsYXIgbWFjaGluZSBtb2RlbC4gSSdsbCBiZSBsb29raW5nIGZvciBjbHVlcyBpbiB0aGUgS2NvbmZpZyB0byBzZWUgd2hhdCBraW5kIG9mIGhhcmR3YXJlIGRlcGVuZGVuY3kgd2UgYXJlIHRhbGtpbmcgYWJvdXQgaGVyZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzIxMywiT3V0cHV0VG9rZW5zIjozMiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjc1LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTBUMDQ6Mzc6NDQuMTk0NTU3MDk4WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ5OTkwODI5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIk1BQ0JcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiAxNzEzIGxpbmVzLlxcblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cXG5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc9MjA9aWYgTkVUX1ZFTkRPUl9DQURFTkNFXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTIxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzoyMjpjb25maWcgTUFDQlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzoyMzpcXHR0cmlzdGF0ZSBcXFwiQ2FkZW5jZSBNQUNCL0dFTSBzdXBwb3J0XFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy0yNC1cXHRkZXBlbmRzIG9uIEhBU19ETUEgXFx1MDAyNlxcdTAwMjYgQ09NTU9OX0NMS1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTI4LVxcdGhlbHBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6Mjk6XFx0ICBUaGUgQ2FkZW5jZSBNQUNCIGV0aGVybmV0IGludGVyZmFjZSBpcyBmb3VuZCBvbiBtYW55IEF0bWVsIEFUMzIgYW5kXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTMwLVxcdCAgQVQ5MSBwYXJ0cy4gIFRoaXMgZHJpdmVyIGFsc28gc3VwcG9ydHMgdGhlIENhZGVuY2UgR0VNIChHaWdhYml0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTMxLVxcdCAgRXRoZXJuZXQgTUFDIGZvdW5kIGluIHNvbWUgQVJNIFNvQyBkZXZpY2VzKS4gIFNheSBZIHRvIGluY2x1ZGVcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6MzI6XFx0ICBzdXBwb3J0IGZvciB0aGUgTUFDQi9HRU0gY2hpcC5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctMzMtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctMzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnOjM3OmNvbmZpZyBNQUNCX1VTRV9IV1NUQU1QXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTM4LVxcdGJvb2wgXFxcIlVzZSBJRUVFIDE1ODggaHdzdGFtcFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6Mzk6XFx0ZGVwZW5kcyBvbiBNQUNCXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTQwLVxcdGRlcGVuZHMgb24gUFRQXzE1ODhfQ0xPQ0tcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy00Mi1cXHRoZWxwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnOjQzOlxcdCAgRW5hYmxlIElFRUUgMTU4OCBQcmVjaXNpb24gVGltZSBQcm90b2NvbCAoUFRQKSBzdXBwb3J0IGZvciBNQUNCLlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZy00NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6NDU6Y29uZmlnIE1BQ0JfUENJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnOjQ2OlxcdHRyaXN0YXRlIFxcXCJDYWRlbmNlIFBDSSBNQUNCL0dFTSBzdXBwb3J0XFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvS2NvbmZpZzo0NzpcXHRkZXBlbmRzIG9uIE1BQ0IgXFx1MDAyNlxcdTAwMjYgUENJXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9LY29uZmlnLTQ4LVxcdGhlbHBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWc6NDk6XFx0ICBUaGlzIGlzIFBDSSB3cmFwcGVyIGZvciBNQUNCIGRyaXZlci5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL0tjb25maWctNTAtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlPTU9bWFjYi15XFx0Oj0gbWFjYl9tYWluLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlLTYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9NYWtlZmlsZTo3OmlmZXEgKCQoQ09ORklHX01BQ0JfVVNFX0hXU1RBTVApLHkpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9NYWtlZmlsZS04LW1hY2IteVxcdCs9IG1hY2JfcHRwLm9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlPTk9ZW5kaWZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL01ha2VmaWxlLTEwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvTWFrZWZpbGU6MTE6b2JqLSQoQ09ORklHX01BQ0IpICs9IG1hY2Iub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvTWFrZWZpbGU6MTI6b2JqLSQoQ09ORklHX01BQ0JfUENJKSArPSBtYWNiX3BjaS5vXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yLS8qXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzogKiBBdG1lbCBNQUNCIEV0aGVybmV0IENvbnRyb2xsZXIgZHJpdmVyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNC0gKlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNi0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3OiNpZm5kZWYgX01BQ0JfSFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg6I2RlZmluZSBfTUFDQl9IXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtOS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTE3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjE4OiNkZWZpbmUgTUFDQl9HUkVHU19OQlIgMTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoxOTojZGVmaW5lIE1BQ0JfR1JFR1NfVkVSU0lPTiAyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjA6I2RlZmluZSBNQUNCX01BWF9RVUVVRVMgOFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTIxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIyOi8qIE1BQ0IgcmVnaXN0ZXIgb2Zmc2V0cyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzOiNkZWZpbmUgTUFDQl9OQ1JcXHRcXHQweDAwMDAgLyogTmV0d29yayBDb250cm9sICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQ6I2RlZmluZSBNQUNCX05DRkdSXFx0XFx0MHgwMDA0IC8qIE5ldHdvcmsgQ29uZmlnICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU6I2RlZmluZSBNQUNCX05TUlxcdFxcdDB4MDAwOCAvKiBOZXR3b3JrIFN0YXR1cyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2OiNkZWZpbmUgTUFDQl9UQVJcXHRcXHQweDAwMGMgLyogQVQ5MVJNOTIwMCBvbmx5ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjc6I2RlZmluZSBNQUNCX1RDUlxcdFxcdDB4MDAxMCAvKiBBVDkxUk05MjAwIG9ubHkgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODojZGVmaW5lIE1BQ0JfVFNSXFx0XFx0MHgwMDE0IC8qIFRyYW5zbWl0IFN0YXR1cyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5OiNkZWZpbmUgTUFDQl9SQlFQXFx0XFx0MHgwMDE4IC8qIFJYIFEgQmFzZSBBZGRyZXNzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzA6I2RlZmluZSBNQUNCX1RCUVBcXHRcXHQweDAwMWMgLyogVFggUSBCYXNlIEFkZHJlc3MgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozMTojZGVmaW5lIE1BQ0JfUlNSXFx0XFx0MHgwMDIwIC8qIFJlY2VpdmUgU3RhdHVzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzI6I2RlZmluZSBNQUNCX0lTUlxcdFxcdDB4MDAyNCAvKiBJbnRlcnJ1cHQgU3RhdHVzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzM6I2RlZmluZSBNQUNCX0lFUlxcdFxcdDB4MDAyOCAvKiBJbnRlcnJ1cHQgRW5hYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzQ6I2RlZmluZSBNQUNCX0lEUlxcdFxcdDB4MDAyYyAvKiBJbnRlcnJ1cHQgRGlzYWJsZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM1OiNkZWZpbmUgTUFDQl9JTVJcXHRcXHQweDAwMzAgLyogSW50ZXJydXB0IE1hc2sgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjojZGVmaW5lIE1BQ0JfTUFOXFx0XFx0MHgwMDM0IC8qIFBIWSBNYWludGVuYW5jZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3OiNkZWZpbmUgTUFDQl9QVFJcXHRcXHQweDAwMzhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODojZGVmaW5lIE1BQ0JfUEZSXFx0XFx0MHgwMDNjXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk6I2RlZmluZSBNQUNCX0ZUT1xcdFxcdDB4MDA0MFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwOiNkZWZpbmUgTUFDQl9TQ0ZcXHRcXHQweDAwNDRcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MTojZGVmaW5lIE1BQ0JfTUNGXFx0XFx0MHgwMDQ4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI6I2RlZmluZSBNQUNCX0ZST1xcdFxcdDB4MDA0Y1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzOiNkZWZpbmUgTUFDQl9GQ1NFXFx0XFx0MHgwMDUwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQ6I2RlZmluZSBNQUNCX0FMRVxcdFxcdDB4MDA1NFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1OiNkZWZpbmUgTUFDQl9EVEZcXHRcXHQweDAwNThcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjojZGVmaW5lIE1BQ0JfTENPTFxcdFxcdDB4MDA1Y1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3OiNkZWZpbmUgTUFDQl9FWENPTFxcdFxcdDB4MDA2MFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4OiNkZWZpbmUgTUFDQl9UVU5EXFx0XFx0MHgwMDY0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk6I2RlZmluZSBNQUNCX0NTRVxcdFxcdDB4MDA2OFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwOiNkZWZpbmUgTUFDQl9SUkVcXHRcXHQweDAwNmNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MTojZGVmaW5lIE1BQ0JfUk9WUlxcdFxcdDB4MDA3MFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUyOiNkZWZpbmUgTUFDQl9SU0VcXHRcXHQweDAwNzRcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MzojZGVmaW5lIE1BQ0JfRUxFXFx0XFx0MHgwMDc4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NTQ6I2RlZmluZSBNQUNCX1JKQVxcdFxcdDB4MDA3Y1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjU1OiNkZWZpbmUgTUFDQl9VU0ZcXHRcXHQweDAwODBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1NjojZGVmaW5lIE1BQ0JfU1RFXFx0XFx0MHgwMDg0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NTc6I2RlZmluZSBNQUNCX1JMRVxcdFxcdDB4MDA4OFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjU4OiNkZWZpbmUgTUFDQl9UUEZcXHRcXHQweDAwOGNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1OTojZGVmaW5lIE1BQ0JfSFJCXFx0XFx0MHgwMDkwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjA6I2RlZmluZSBNQUNCX0hSVFxcdFxcdDB4MDA5NFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjYxOiNkZWZpbmUgTUFDQl9TQTFCXFx0XFx0MHgwMDk4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjI6I2RlZmluZSBNQUNCX1NBMVRcXHRcXHQweDAwOWNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2MzojZGVmaW5lIE1BQ0JfU0EyQlxcdFxcdDB4MDBhMFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY0OiNkZWZpbmUgTUFDQl9TQTJUXFx0XFx0MHgwMGE0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NjU6I2RlZmluZSBNQUNCX1NBM0JcXHRcXHQweDAwYThcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2NjojZGVmaW5lIE1BQ0JfU0EzVFxcdFxcdDB4MDBhY1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY3OiNkZWZpbmUgTUFDQl9TQTRCXFx0XFx0MHgwMGIwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Njg6I2RlZmluZSBNQUNCX1NBNFRcXHRcXHQweDAwYjRcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo2OTojZGVmaW5lIE1BQ0JfVElEXFx0XFx0MHgwMGI4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzA6I2RlZmluZSBNQUNCX1RQUVxcdFxcdDB4MDBiY1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjcxOiNkZWZpbmUgTUFDQl9VU1JJT1xcdFxcdDB4MDBjMFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjcyOiNkZWZpbmUgTUFDQl9XT0xcXHRcXHQweDAwYzRcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3MzojZGVmaW5lIE1BQ0JfTUlEXFx0XFx0MHgwMGZjXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ6I2RlZmluZSBNQUNCX1RCUVBIXFx0XFx0MHgwNEM4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzU6I2RlZmluZSBNQUNCX1JCUVBIXFx0XFx0MHgwNEQ0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yMzAtLyogQml0ZmllbGRzIGluIE5DUiAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzMTojZGVmaW5lIE1BQ0JfTEJfT0ZGU0VUXFx0XFx0MCAvKiByZXNlcnZlZCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzMjojZGVmaW5lIE1BQ0JfTEJfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyMzM6I2RlZmluZSBNQUNCX0xMQl9PRkZTRVRcXHRcXHQxIC8qIExvb3AgYmFjayBsb2NhbCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzNDojZGVmaW5lIE1BQ0JfTExCX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM1OiNkZWZpbmUgTUFDQl9SRV9PRkZTRVRcXHRcXHQyIC8qIFJlY2VpdmUgZW5hYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM2OiNkZWZpbmUgTUFDQl9SRV9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjIzNzojZGVmaW5lIE1BQ0JfVEVfT0ZGU0VUXFx0XFx0MyAvKiBUcmFuc21pdCBlbmFibGUgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyMzg6I2RlZmluZSBNQUNCX1RFX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjM5OiNkZWZpbmUgTUFDQl9NUEVfT0ZGU0VUXFx0XFx0NCAvKiBNYW5hZ2VtZW50IHBvcnQgZW5hYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQwOiNkZWZpbmUgTUFDQl9NUEVfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNDE6I2RlZmluZSBNQUNCX0NMUlNUQVRfT0ZGU0VUXFx0NSAvKiBDbGVhciBzdGF0cyByZWdzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQyOiNkZWZpbmUgTUFDQl9DTFJTVEFUX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQzOiNkZWZpbmUgTUFDQl9JTkNTVEFUX09GRlNFVFxcdDYgLyogSW5jcmVtZW50YWwgc3RhdHMgcmVncyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NDojZGVmaW5lIE1BQ0JfSU5DU1RBVF9TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NTojZGVmaW5lIE1BQ0JfV0VTVEFUX09GRlNFVFxcdDcgLyogV3JpdGUgZW5hYmxlIHN0YXRzIHJlZ3MgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNDY6I2RlZmluZSBNQUNCX1dFU1RBVF9TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0NzojZGVmaW5lIE1BQ0JfQlBfT0ZGU0VUXFx0XFx0OCAvKiBCYWNrIHByZXNzdXJlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjQ4OiNkZWZpbmUgTUFDQl9CUF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI0OTojZGVmaW5lIE1BQ0JfVFNUQVJUX09GRlNFVFxcdDkgLyogU3RhcnQgdHJhbnNtaXNzaW9uICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjUwOiNkZWZpbmUgTUFDQl9UU1RBUlRfU0laRVxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTE6I2RlZmluZSBNQUNCX1RIQUxUX09GRlNFVFxcdDEwIC8qIFRyYW5zbWl0IGhhbHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTI6I2RlZmluZSBNQUNCX1RIQUxUX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjUzOiNkZWZpbmUgTUFDQl9OQ1JfVFBGX09GRlNFVFxcdDExIC8qIFRyYW5zbWl0IHBhdXNlIGZyYW1lICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU0OiNkZWZpbmUgTUFDQl9OQ1JfVFBGX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU1OiNkZWZpbmUgTUFDQl9UWlFfT0ZGU0VUXFx0XFx0MTIgLyogVHJhbnNtaXQgemVybyBxdWFudHVtIHBhdXNlIGZyYW1lICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjU2OiNkZWZpbmUgTUFDQl9UWlFfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTc6I2RlZmluZSBNQUNCX1NSVFNNX09GRlNFVFxcdDE1IC8qIFN0b3JlIFJlY2VpdmUgVGltZXN0YW1wIHRvIE1lbW9yeSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI1ODojZGVmaW5lIE1BQ0JfUFRQVU5JX09GRlNFVFxcdDIwIC8qIFBUUCBVbmljYXN0IHBhY2tldCBlbmFibGUgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNTk6I2RlZmluZSBNQUNCX1BUUFVOSV9TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2MDojZGVmaW5lIE1BQ0JfT1NTTU9ERV9PRkZTRVRcXHQyNCAvKiBFbmFibGUgT25lIFN0ZXAgU3luY2hybyBNb2RlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjYxOiNkZWZpbmUgTUFDQl9PU1NNT0RFX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjYyOiNkZWZpbmUgTUFDQl9NSUlPTlJHTUlJX09GRlNFVFxcdDI4IC8qIE1JSSBVc2FnZSBvbiBSR01JSSBJbnRlcmZhY2UgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNjM6I2RlZmluZSBNQUNCX01JSU9OUkdNSUlfU0laRVxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0yNjQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMjY1LS8qIEJpdGZpZWxkcyBpbiBOQ0ZHUiAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2NjojZGVmaW5lIE1BQ0JfU1BEX09GRlNFVFxcdFxcdDAgLyogU3BlZWQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNjc6I2RlZmluZSBNQUNCX1NQRF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2ODojZGVmaW5lIE1BQ0JfRkRfT0ZGU0VUXFx0XFx0MSAvKiBGdWxsIGR1cGxleCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI2OTojZGVmaW5lIE1BQ0JfRkRfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzA6I2RlZmluZSBNQUNCX0JJVF9SQVRFX09GRlNFVFxcdDIgLyogRGlzY2FyZCBub24tVkxBTiBmcmFtZXMgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzE6I2RlZmluZSBNQUNCX0JJVF9SQVRFX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjcyOiNkZWZpbmUgTUFDQl9KRlJBTUVfT0ZGU0VUXFx0MyAvKiByZXNlcnZlZCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3MzojZGVmaW5lIE1BQ0JfSkZSQU1FX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjc0OiNkZWZpbmUgTUFDQl9DQUZfT0ZGU0VUXFx0XFx0NCAvKiBDb3B5IGFsbCBmcmFtZXMgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzU6I2RlZmluZSBNQUNCX0NBRl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3NjojZGVmaW5lIE1BQ0JfTkJDX09GRlNFVFxcdFxcdDUgLyogTm8gYnJvYWRjYXN0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjc3OiNkZWZpbmUgTUFDQl9OQkNfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyNzg6I2RlZmluZSBNQUNCX05DRkdSX01USV9PRkZTRVRcXHQ2IC8qIE11bHRpY2FzdCBoYXNoIGVuYWJsZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI3OTojZGVmaW5lIE1BQ0JfTkNGR1JfTVRJX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjgwOiNkZWZpbmUgTUFDQl9VTklfT0ZGU0VUXFx0XFx0NyAvKiBVbmljYXN0IGhhc2ggZW5hYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjgxOiNkZWZpbmUgTUFDQl9VTklfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODI6I2RlZmluZSBNQUNCX0JJR19PRkZTRVRcXHRcXHQ4IC8qIFJlY2VpdmUgMTUzNiBieXRlIGZyYW1lcyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4MzojZGVmaW5lIE1BQ0JfQklHX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjg0OiNkZWZpbmUgTUFDQl9FQUVfT0ZGU0VUXFx0XFx0OSAvKiBFeHRlcm5hbCBhZGRyZXNzIG1hdGNoIGVuYWJsZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4NTojZGVmaW5lIE1BQ0JfRUFFX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjg2OiNkZWZpbmUgTUFDQl9DTEtfT0ZGU0VUXFx0XFx0MTBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODc6I2RlZmluZSBNQUNCX0NMS19TSVpFXFx0XFx0MlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI4ODojZGVmaW5lIE1BQ0JfUlRZX09GRlNFVFxcdFxcdDEyIC8qIFJldHJ5IHRlc3QgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyODk6I2RlZmluZSBNQUNCX1JUWV9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5MDojZGVmaW5lIE1BQ0JfUEFFX09GRlNFVFxcdFxcdDEzIC8qIFBhdXNlIGVuYWJsZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjI5MTojZGVmaW5lIE1BQ0JfUEFFX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MjkyOiNkZWZpbmUgTUFDQl9STTkyMDBfUk1JSV9PRkZTRVRcXHQxMyAvKiBBVDkxUk05MjAwIG9ubHkgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTM6I2RlZmluZSBNQUNCX1JNOTIwMF9STUlJX1NJWkVcXHQxICAvKiBBVDkxUk05MjAwIG9ubHkgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDoyOTQ6I2RlZmluZSBNQUNCX1JCT0ZfT0ZGU0VUXFx0MTQgLyogUmVjZWl2ZSBidWZmZXIgb2Zmc2V0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk1OiNkZWZpbmUgTUFDQl9SQk9GX1NJWkVcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk2OiNkZWZpbmUgTUFDQl9STENFX09GRlNFVFxcdDE2IC8qIExlbmd0aCBmaWVsZCBlcnJvciBmcmFtZSBkaXNjYXJkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk3OiNkZWZpbmUgTUFDQl9STENFX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk4OiNkZWZpbmUgTUFDQl9EUkZDU19PRkZTRVRcXHQxNyAvKiBGQ1MgcmVtb3ZlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mjk5OiNkZWZpbmUgTUFDQl9EUkZDU19TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjMwMDojZGVmaW5lIE1BQ0JfRUZSSERfT0ZGU0VUXFx0MThcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozMDE6I2RlZmluZSBNQUNCX0VGUkhEX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzAyOiNkZWZpbmUgTUFDQl9JUlhGQ1NfT0ZGU0VUXFx0MTlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozMDM6I2RlZmluZSBNQUNCX0lSWEZDU19TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTMwNC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTM2NC0vKiBCaXRmaWVsZHMgaW4gTlNSICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzY1OiNkZWZpbmUgTUFDQl9OU1JfTElOS19PRkZTRVRcXHQwIC8qIHBjc19saW5rX3N0YXRlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzY2OiNkZWZpbmUgTUFDQl9OU1JfTElOS19TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM2NzojZGVmaW5lIE1BQ0JfTURJT19PRkZTRVRcXHQxIC8qIHN0YXR1cyBvZiB0aGUgbWRpb19pbiBwaW4gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjg6I2RlZmluZSBNQUNCX01ESU9fU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNjk6I2RlZmluZSBNQUNCX0lETEVfT0ZGU0VUXFx0MiAvKiBUaGUgUEhZIG1hbmFnZW1lbnQgbG9naWMgaXMgaWRsZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3MDojZGVmaW5lIE1BQ0JfSURMRV9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTM3MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zNzItLyogQml0ZmllbGRzIGluIFRTUiAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3MzojZGVmaW5lIE1BQ0JfVUJSX09GRlNFVFxcdFxcdDAgLyogVXNlZCBiaXQgcmVhZCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3NDojZGVmaW5lIE1BQ0JfVUJSX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc1OiNkZWZpbmUgTUFDQl9DT0xfT0ZGU0VUXFx0XFx0MSAvKiBDb2xsaXNpb24gb2NjdXJyZWQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozNzY6I2RlZmluZSBNQUNCX0NPTF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM3NzojZGVmaW5lIE1BQ0JfVFNSX1JMRV9PRkZTRVRcXHQyIC8qIFJldHJ5IGxpbWl0IGV4Y2VlZGVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc4OiNkZWZpbmUgTUFDQl9UU1JfUkxFX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzc5OiNkZWZpbmUgTUFDQl9UR09fT0ZGU0VUXFx0XFx0MyAvKiBUcmFuc21pdCBnbyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4MDojZGVmaW5lIE1BQ0JfVEdPX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzgxOiNkZWZpbmUgTUFDQl9CRVhfT0ZGU0VUXFx0XFx0NCAvKiBUWCBmcmFtZSBjb3JydXB0aW9uIGR1ZSB0byBBSEIgZXJyb3IgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODI6I2RlZmluZSBNQUNCX0JFWF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4MzojZGVmaW5lIE1BQ0JfUk05MjAwX0JOUV9PRkZTRVRcXHQ0IC8qIEFUOTFSTTkyMDAgb25seSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4NDojZGVmaW5lIE1BQ0JfUk05MjAwX0JOUV9TSVpFXFx0MSAvKiBBVDkxUk05MjAwIG9ubHkgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozODU6I2RlZmluZSBNQUNCX0NPTVBfT0ZGU0VUXFx0NSAvKiBUcm5hc21pdCBjb21wbGV0ZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4NjojZGVmaW5lIE1BQ0JfQ09NUF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM4NzojZGVmaW5lIE1BQ0JfVU5EX09GRlNFVFxcdFxcdDYgLyogVHJuYXNtaXQgdW5kZXIgcnVuICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzg4OiNkZWZpbmUgTUFDQl9VTkRfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0zODktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMzkwLS8qIEJpdGZpZWxkcyBpbiBSU1IgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOTE6I2RlZmluZSBNQUNCX0JOQV9PRkZTRVRcXHRcXHQwIC8qIEJ1ZmZlciBub3QgYXZhaWxhYmxlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6MzkyOiNkZWZpbmUgTUFDQl9CTkFfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOTM6I2RlZmluZSBNQUNCX1JFQ19PRkZTRVRcXHRcXHQxIC8qIEZyYW1lIHJlY2VpdmVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk0OiNkZWZpbmUgTUFDQl9SRUNfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDozOTU6I2RlZmluZSBNQUNCX09WUl9PRkZTRVRcXHRcXHQyIC8qIFJlY2VpdmUgb3ZlcnJ1biAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjM5NjojZGVmaW5lIE1BQ0JfT1ZSX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMzk3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTM5OC0vKiBCaXRmaWVsZHMgaW4gSVNSL0lFUi9JRFIvSU1SICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Mzk5OiNkZWZpbmUgTUFDQl9NRkRfT0ZGU0VUXFx0XFx0MCAvKiBNYW5hZ2VtZW50IGZyYW1lIHNlbnQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDA6I2RlZmluZSBNQUNCX01GRF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwMTojZGVmaW5lIE1BQ0JfUkNPTVBfT0ZGU0VUXFx0MSAvKiBSZWNlaXZlIGNvbXBsZXRlICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDAyOiNkZWZpbmUgTUFDQl9SQ09NUF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwMzojZGVmaW5lIE1BQ0JfUlhVQlJfT0ZGU0VUXFx0MiAvKiBSWCB1c2VkIGJpdCByZWFkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA0OiNkZWZpbmUgTUFDQl9SWFVCUl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwNTojZGVmaW5lIE1BQ0JfVFhVQlJfT0ZGU0VUXFx0MyAvKiBUWCB1c2VkIGJpdCByZWFkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA2OiNkZWZpbmUgTUFDQl9UWFVCUl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQwNzojZGVmaW5lIE1BQ0JfSVNSX1RVTkRfT0ZGU0VUXFx0NCAvKiBFbmFibGUgVFggYnVmZmVyIHVuZGVyIHJ1biBpbnRlcnJ1cHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MDg6I2RlZmluZSBNQUNCX0lTUl9UVU5EX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDA5OiNkZWZpbmUgTUFDQl9JU1JfUkxFX09GRlNFVFxcdDUgLyogRU4gcmV0cnkgZXhjZWVkZWQvbGF0ZSBjb2xsIGludGVycnVwdCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxMDojZGVmaW5lIE1BQ0JfSVNSX1JMRV9TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxMTojZGVmaW5lIE1BQ0JfVFhFUlJfT0ZGU0VUXFx0NiAvKiBFTiBUWCBmcmFtZSBjb3JydXB0IGZyb20gZXJyb3IgaW50ZXJydXB0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDEyOiNkZWZpbmUgTUFDQl9UWEVSUl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxMzojZGVmaW5lIE1BQ0JfUk05MjAwX1RCUkVfT0ZGU0VUXFx0NiAvKiBFTiBtYXkgc2VuZCBuZXcgZnJhbWUgaW50ZXJydXB0IChSTTkyMDApICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE0OiNkZWZpbmUgTUFDQl9STTkyMDBfVEJSRV9TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxNTojZGVmaW5lIE1BQ0JfVENPTVBfT0ZGU0VUXFx0NyAvKiBFbmFibGUgdHJhbnNtaXQgY29tcGxldGUgaW50ZXJydXB0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE2OiNkZWZpbmUgTUFDQl9UQ09NUF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxNzojZGVmaW5lIE1BQ0JfSVNSX0xJTktfT0ZGU0VUXFx0OSAvKiBFbmFibGUgbGluayBjaGFuZ2UgaW50ZXJydXB0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDE4OiNkZWZpbmUgTUFDQl9JU1JfTElOS19TSVpFXFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQxOTojZGVmaW5lIE1BQ0JfSVNSX1JPVlJfT0ZGU0VUXFx0MTAgLyogRW5hYmxlIHJlY2VpdmUgb3ZlcnJ1biBpbnRlcnJ1cHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MjA6I2RlZmluZSBNQUNCX0lTUl9ST1ZSX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDIxOiNkZWZpbmUgTUFDQl9IUkVTUF9PRkZTRVRcXHQxMSAvKiBFbmFibGUgaHJzZXAgbm90IE9LIGludGVycnVwdCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQyMjojZGVmaW5lIE1BQ0JfSFJFU1BfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MjM6I2RlZmluZSBNQUNCX1BGUl9PRkZTRVRcXHRcXHQxMiAvKiBFbmFibGUgcGF1c2UgZnJhbWUgdy8gcXVhbnR1bSBpbnRlcnJ1cHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MjQ6I2RlZmluZSBNQUNCX1BGUl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQyNTojZGVmaW5lIE1BQ0JfUFRaX09GRlNFVFxcdFxcdDEzIC8qIEVuYWJsZSBwYXVzZSB0aW1lIHplcm8gaW50ZXJydXB0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI2OiNkZWZpbmUgTUFDQl9QVFpfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mjc6I2RlZmluZSBNQUNCX1dPTF9PRkZTRVRcXHRcXHQxNCAvKiBFbmFibGUgd2FrZS1vbi1sYW4gaW50ZXJydXB0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDI4OiNkZWZpbmUgTUFDQl9XT0xfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mjk6I2RlZmluZSBNQUNCX0RSUUZSX09GRlNFVFxcdDE4IC8qIFBUUCBEZWxheSBSZXF1ZXN0IEZyYW1lIFJlY2VpdmVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDMwOiNkZWZpbmUgTUFDQl9EUlFGUl9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzMTojZGVmaW5lIE1BQ0JfU0ZSX09GRlNFVFxcdFxcdDE5IC8qIFBUUCBTeW5jIEZyYW1lIFJlY2VpdmVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDMyOiNkZWZpbmUgTUFDQl9TRlJfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0MzM6I2RlZmluZSBNQUNCX0RSUUZUX09GRlNFVFxcdDIwIC8qIFBUUCBEZWxheSBSZXF1ZXN0IEZyYW1lIFRyYW5zbWl0dGVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDM0OiNkZWZpbmUgTUFDQl9EUlFGVF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzNTojZGVmaW5lIE1BQ0JfU0ZUX09GRlNFVFxcdFxcdDIxIC8qIFBUUCBTeW5jIEZyYW1lIFRyYW5zbWl0dGVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDM2OiNkZWZpbmUgTUFDQl9TRlRfU0laRVxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Mzc6I2RlZmluZSBNQUNCX1BEUlFGUl9PRkZTRVRcXHQyMiAvKiBQRGVsYXkgUmVxdWVzdCBGcmFtZSBSZWNlaXZlZCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQzODojZGVmaW5lIE1BQ0JfUERSUUZSX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDM5OiNkZWZpbmUgTUFDQl9QRFJTRlJfT0ZGU0VUXFx0MjMgLyogUERlbGF5IFJlc3BvbnNlIEZyYW1lIFJlY2VpdmVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQwOiNkZWZpbmUgTUFDQl9QRFJTRlJfU0laRVxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NDE6I2RlZmluZSBNQUNCX1BEUlFGVF9PRkZTRVRcXHQyNCAvKiBQRGVsYXkgUmVxdWVzdCBGcmFtZSBUcmFuc21pdHRlZCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ0MjojZGVmaW5lIE1BQ0JfUERSUUZUX1NJWkVcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQzOiNkZWZpbmUgTUFDQl9QRFJTRlRfT0ZGU0VUXFx0MjUgLyogUERlbGF5IFJlc3BvbnNlIEZyYW1lIFRyYW5zbWl0dGVkICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDQ0OiNkZWZpbmUgTUFDQl9QRFJTRlRfU0laRVxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NDU6I2RlZmluZSBNQUNCX1NSSV9PRkZTRVRcXHRcXHQyNiAvKiBUU1UgU2Vjb25kcyBSZWdpc3RlciBJbmNyZW1lbnQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NDY6I2RlZmluZSBNQUNCX1NSSV9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ0Ny0jZGVmaW5lIEdFTV9XT0xfT0ZGU0VUXFx0XFx0MjggLyogRW5hYmxlIHdha2Utb24tbGFuIGludGVycnVwdCAqL1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDUwLS8qIFRpbWVyIGluY3JlbWVudCBmaWVsZHMgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTE6I2RlZmluZSBNQUNCX1RJX0NOU19PRkZTRVRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDUyOiNkZWZpbmUgTUFDQl9USV9DTlNfU0laRVxcdDhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTM6I2RlZmluZSBNQUNCX1RJX0FDTlNfT0ZGU0VUXFx0OFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1NDojZGVmaW5lIE1BQ0JfVElfQUNOU19TSVpFXFx0OFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ1NTojZGVmaW5lIE1BQ0JfVElfTklUX09GRlNFVFxcdDE2XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDU2OiNkZWZpbmUgTUFDQl9USV9OSVRfU0laRVxcdDhcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00NTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDU4LS8qIEJpdGZpZWxkcyBpbiBNQU4gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NTk6I2RlZmluZSBNQUNCX0RBVEFfT0ZGU0VUXFx0MCAvKiBkYXRhICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDYwOiNkZWZpbmUgTUFDQl9EQVRBX1NJWkVcXHRcXHQxNlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2MTojZGVmaW5lIE1BQ0JfQ09ERV9PRkZTRVRcXHQxNiAvKiBNdXN0IGJlIHdyaXR0ZW4gdG8gMTAgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjI6I2RlZmluZSBNQUNCX0NPREVfU0laRVxcdFxcdDJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NjM6I2RlZmluZSBNQUNCX1JFR0FfT0ZGU0VUXFx0MTggLyogUmVnaXN0ZXIgYWRkcmVzcyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2NDojZGVmaW5lIE1BQ0JfUkVHQV9TSVpFXFx0XFx0NVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2NTojZGVmaW5lIE1BQ0JfUEhZQV9PRkZTRVRcXHQyMyAvKiBQSFkgYWRkcmVzcyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2NjojZGVmaW5lIE1BQ0JfUEhZQV9TSVpFXFx0XFx0NVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ2NzojZGVmaW5lIE1BQ0JfUldfT0ZGU0VUXFx0XFx0MjggLyogT3BlcmF0aW9uLiAxMCBpcyByZWFkLiAwMSBpcyB3cml0ZS4gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Njg6I2RlZmluZSBNQUNCX1JXX1NJWkVcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDY5OiNkZWZpbmUgTUFDQl9TT0ZfT0ZGU0VUXFx0XFx0MzAgLyogTXVzdCBiZSB3cml0dGVuIHRvIDEgZm9yIENsYXVzZSAyMiAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3MDojZGVmaW5lIE1BQ0JfU09GX1NJWkVcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDcxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ3Mi0vKiBCaXRmaWVsZHMgaW4gVVNSSU8gKEFWUjMyKSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3MzojZGVmaW5lIE1BQ0JfTUlJX09GRlNFVFxcdFxcdFxcdFxcdDBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NzQ6I2RlZmluZSBNQUNCX01JSV9TSVpFXFx0XFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3NTojZGVmaW5lIE1BQ0JfRUFNX09GRlNFVFxcdFxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0NzY6I2RlZmluZSBNQUNCX0VBTV9TSVpFXFx0XFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3NzojZGVmaW5lIE1BQ0JfVFhfUEFVU0VfT0ZGU0VUXFx0XFx0XFx0MlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ3ODojZGVmaW5lIE1BQ0JfVFhfUEFVU0VfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0Nzk6I2RlZmluZSBNQUNCX1RYX1BBVVNFX1pFUk9fT0ZGU0VUXFx0XFx0M1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4MDojZGVmaW5lIE1BQ0JfVFhfUEFVU0VfWkVST19TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ4MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODItLyogQml0ZmllbGRzIGluIFVTUklPIChBVDkxKSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4MzojZGVmaW5lIE1BQ0JfUk1JSV9PRkZTRVRcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDg0OiNkZWZpbmUgTUFDQl9STUlJX1NJWkVcXHRcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDg1LSNkZWZpbmUgR0VNX1JHTUlJX09GRlNFVFxcdFxcdFxcdDAgLyogR0VNIGdpZ2FiaXQgbW9kZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTQ4Ni0jZGVmaW5lIEdFTV9SR01JSV9TSVpFXFx0XFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4NzojZGVmaW5lIE1BQ0JfQ0xLRU5fT0ZGU0VUXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ4ODojZGVmaW5lIE1BQ0JfQ0xLRU5fU0laRVxcdFxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC00ODktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNDkwLS8qIEJpdGZpZWxkcyBpbiBXT0wgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0OTE6I2RlZmluZSBNQUNCX0lQX09GRlNFVFxcdFxcdFxcdFxcdDBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0OTI6I2RlZmluZSBNQUNCX0lQX1NJWkVcXHRcXHRcXHRcXHQxNlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ5MzojZGVmaW5lIE1BQ0JfTUFHX09GRlNFVFxcdFxcdFxcdFxcdDE2XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk0OiNkZWZpbmUgTUFDQl9NQUdfU0laRVxcdFxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0OTU6I2RlZmluZSBNQUNCX0FSUF9PRkZTRVRcXHRcXHRcXHRcXHQxN1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ5NjojZGVmaW5lIE1BQ0JfQVJQX1NJWkVcXHRcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NDk3OiNkZWZpbmUgTUFDQl9TQTFfT0ZGU0VUXFx0XFx0XFx0XFx0MThcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo0OTg6I2RlZmluZSBNQUNCX1NBMV9TSVpFXFx0XFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjQ5OTojZGVmaW5lIE1BQ0JfV09MX01USV9PRkZTRVRcXHRcXHRcXHQxOVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwMDojZGVmaW5lIE1BQ0JfV09MX01USV9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTUwMS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC01MDItLyogQml0ZmllbGRzIGluIE1JRCAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwMzojZGVmaW5lIE1BQ0JfSUROVU1fT0ZGU0VUXFx0XFx0XFx0MTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDQ6I2RlZmluZSBNQUNCX0lETlVNX1NJWkVcXHRcXHRcXHRcXHQxMlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjUwNTojZGVmaW5lIE1BQ0JfUkVWX09GRlNFVFxcdFxcdFxcdFxcdDBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo1MDY6I2RlZmluZSBNQUNCX1JFVl9TSVpFXFx0XFx0XFx0XFx0MTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC01MDctXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC02NzgtLyogQml0ZmllbGRzIGluIHF1ZXVlIHBvaW50ZXIgcmVnaXN0ZXJzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Njc5OiNkZWZpbmUgTUFDQl9RVUVVRV9ESVNBQkxFX09GRlNFVFxcdFxcdDAgLyogZGlzYWJsZSBxdWV1ZSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjY4MDojZGVmaW5lIE1BQ0JfUVVFVUVfRElTQUJMRV9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTY4MS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTcyOS0vKiBDb25zdGFudHMgZm9yIENMSyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjczMDojZGVmaW5lIE1BQ0JfQ0xLX0RJVjhcXHRcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzMxOiNkZWZpbmUgTUFDQl9DTEtfRElWMTZcXHRcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzMyOiNkZWZpbmUgTUFDQl9DTEtfRElWMzJcXHRcXHRcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzMzOiNkZWZpbmUgTUFDQl9DTEtfRElWNjRcXHRcXHRcXHRcXHQzXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzM0LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzQ1LS8qIENvbnN0YW50cyBmb3IgTUFOIHJlZ2lzdGVyICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ2OiNkZWZpbmUgTUFDQl9NQU5fQzIyX1NPRlxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NDc6I2RlZmluZSBNQUNCX01BTl9DMjJfV1JJVEVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ4OiNkZWZpbmUgTUFDQl9NQU5fQzIyX1JFQURcXHRcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzQ5OiNkZWZpbmUgTUFDQl9NQU5fQzIyX0NPREVcXHRcXHRcXHQyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzUwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc1MTojZGVmaW5lIE1BQ0JfTUFOX0M0NV9TT0ZcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzUyOiNkZWZpbmUgTUFDQl9NQU5fQzQ1X0FERFJcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzUzOiNkZWZpbmUgTUFDQl9NQU5fQzQ1X1dSSVRFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc1NDojZGVmaW5lIE1BQ0JfTUFOX0M0NV9QT1NUX1JFQURfSU5DUlxcdFxcdDJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTU6I2RlZmluZSBNQUNCX01BTl9DNDVfUkVBRFxcdFxcdFxcdDNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NTY6I2RlZmluZSBNQUNCX01BTl9DNDVfQ09ERVxcdFxcdFxcdDJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03NTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzU4LS8qIENhcGFiaWxpdHkgbWFzayBiaXRzICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzU5OiNkZWZpbmUgTUFDQl9DQVBTX0lTUl9DTEVBUl9PTl9XUklURVxcdFxcdEJJVCgwKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2MDojZGVmaW5lIE1BQ0JfQ0FQU19VU1JJT19IQVNfQ0xLRU5cXHRcXHRCSVQoMSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjE6I2RlZmluZSBNQUNCX0NBUFNfVVNSSU9fREVGQVVMVF9JU19NSUlfR01JSVxcdEJJVCgyKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2MjojZGVmaW5lIE1BQ0JfQ0FQU19OT19HSUdBQklUX0hBTEZcXHRcXHRCSVQoMylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjM6I2RlZmluZSBNQUNCX0NBUFNfVVNSSU9fRElTQUJMRURcXHRcXHRCSVQoNClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjQ6I2RlZmluZSBNQUNCX0NBUFNfSlVNQk9cXHRcXHRcXHRcXHRCSVQoNSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjU6I2RlZmluZSBNQUNCX0NBUFNfR0VNX0hBU19QVFBcXHRcXHRcXHRCSVQoNilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NjY6I2RlZmluZSBNQUNCX0NBUFNfQkRfUkRfUFJFRkVUQ0hcXHRcXHRCSVQoNylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3Njc6I2RlZmluZSBNQUNCX0NBUFNfTkVFRFNfUlNUT05VQlJcXHRcXHRCSVQoOClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3Njg6I2RlZmluZSBNQUNCX0NBUFNfTUlJT05SR01JSVxcdFxcdFxcdEJJVCg5KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc2OTojZGVmaW5lIE1BQ0JfQ0FQU19ORUVEX1RTVUNMS1xcdFxcdFxcdEJJVCgxMClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NzA6I2RlZmluZSBNQUNCX0NBUFNfUVVFVUVfRElTQUJMRVxcdFxcdFxcdEJJVCgxMSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NzE6I2RlZmluZSBNQUNCX0NBUFNfUUJWXFx0XFx0XFx0XFx0QklUKDEyKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3MjojZGVmaW5lIE1BQ0JfQ0FQU19QQ1NcXHRcXHRcXHRcXHRCSVQoMTMpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzczOiNkZWZpbmUgTUFDQl9DQVBTX0hJR0hfU1BFRURcXHRcXHRcXHRCSVQoMTQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzc0OiNkZWZpbmUgTUFDQl9DQVBTX0NMS19IV19DSEdcXHRcXHRcXHRCSVQoMTUpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzc1OiNkZWZpbmUgTUFDQl9DQVBTX01BQ0JfSVNfRU1BQ1xcdFxcdFxcdEJJVCgxNilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3NzY6I2RlZmluZSBNQUNCX0NBUFNfRklGT19NT0RFXFx0XFx0XFx0QklUKDE3KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3NzojZGVmaW5lIE1BQ0JfQ0FQU19HSUdBQklUX01PREVfQVZBSUxBQkxFXFx0QklUKDE4KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc3ODojZGVmaW5lIE1BQ0JfQ0FQU19TR19ESVNBQkxFRFxcdFxcdFxcdEJJVCgxOSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3Nzk6I2RlZmluZSBNQUNCX0NBUFNfTUFDQl9JU19HRU1cXHRcXHRcXHRCSVQoMjApXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzgwOiNkZWZpbmUgTUFDQl9DQVBTX0RNQV82NEJcXHRcXHRcXHRCSVQoMjEpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzgxOiNkZWZpbmUgTUFDQl9DQVBTX0RNQV9QVFBcXHRcXHRcXHRCSVQoMjIpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzgyOiNkZWZpbmUgTUFDQl9DQVBTX1JTQ1xcdFxcdFxcdFxcdEJJVCgyMylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo3ODM6I2RlZmluZSBNQUNCX0NBUFNfTk9fTFNPXFx0XFx0XFx0QklUKDI0KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc4NDojZGVmaW5lIE1BQ0JfQ0FQU19FRUVcXHRcXHRcXHRcXHRCSVQoMjUpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzg1OiNkZWZpbmUgTUFDQl9DQVBTX1VTUklPX0hBU19NSUlcXHRcXHRcXHRCSVQoMjYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzg2OiNkZWZpbmUgTUFDQl9DQVBTX1VTUklPX0hBU19SRUZDTEtfU09VUkNFXFx0QklUKDI3KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc4NzojZGVmaW5lIE1BQ0JfQ0FQU19VU1JJT19IQVNfVFNVQ0xLX1NPVVJDRVxcdEJJVCgyOClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03ODgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzg5LS8qIExTTyBzZXR0aW5ncyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc5MDojZGVmaW5lIE1BQ0JfTFNPX1VGT19FTkFCTEVcXHRcXHRcXHQweDAxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6NzkxOiNkZWZpbmUgTUFDQl9MU09fVFNPX0VOQUJMRVxcdFxcdFxcdDB4MDJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC03OTItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtNzkzLS8qIEJpdCBtYW5pcHVsYXRpb24gbWFjcm9zICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk0OiNkZWZpbmUgTUFDQl9CSVQobmFtZSlcXHRcXHRcXHRcXHRcXHRcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk1OlxcdCgxIFxcdTAwM2NcXHUwMDNjIE1BQ0JfIyNuYW1lIyNfT0ZGU0VUKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc5NjojZGVmaW5lIE1BQ0JfQkYobmFtZSx2YWx1ZSlcXHRcXHRcXHRcXHRcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk3OlxcdCgoKHZhbHVlKSBcXHUwMDI2ICgoMSBcXHUwMDNjXFx1MDAzYyBNQUNCXyMjbmFtZSMjX1NJWkUpIC0gMSkpXFx0XFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjc5ODpcXHQgXFx1MDAzY1xcdTAwM2MgTUFDQl8jI25hbWUjI19PRkZTRVQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6Nzk5OiNkZWZpbmUgTUFDQl9CRkVYVChuYW1lLHZhbHVlKVxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDA6XFx0KCgodmFsdWUpIFxcdTAwM2VcXHUwMDNlIE1BQ0JfIyNuYW1lIyNfT0ZGU0VUKVxcdFxcdFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDE6XFx0IFxcdTAwMjYgKCgxIFxcdTAwM2NcXHUwMDNjIE1BQ0JfIyNuYW1lIyNfU0laRSkgLSAxKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDI6I2RlZmluZSBNQUNCX0JGSU5TKG5hbWUsdmFsdWUsb2xkKVxcdFxcdFxcdFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDM6XFx0KCgob2xkKSBcXHUwMDI2IH4oKCgxIFxcdTAwM2NcXHUwMDNjIE1BQ0JfIyNuYW1lIyNfU0laRSkgLSAxKVxcdFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MDQ6XFx0XFx0ICAgIFxcdTAwM2NcXHUwMDNjIE1BQ0JfIyNuYW1lIyNfT0ZGU0VUKSlcXHRcXHRcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODA1OlxcdCB8IE1BQ0JfQkYobmFtZSx2YWx1ZSkpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODA2LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODIwLS8qIFJlZ2lzdGVyIGFjY2VzcyBtYWNyb3MgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MjE6I2RlZmluZSBtYWNiX3JlYWRsKHBvcnQsIHJlZylcXHRcXHQocG9ydCktXFx1MDAzZW1hY2JfcmVnX3JlYWRsKChwb3J0KSwgTUFDQl8jI3JlZylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4MjI6I2RlZmluZSBtYWNiX3dyaXRlbChwb3J0LCByZWcsIHZhbHVlKVxcdChwb3J0KS1cXHUwMDNlbWFjYl9yZWdfd3JpdGVsKChwb3J0KSwgTUFDQl8jI3JlZywgKHZhbHVlKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04MjMtI2RlZmluZSBnZW1fcmVhZGwocG9ydCwgcmVnKVxcdFxcdChwb3J0KS1cXHUwMDNlbWFjYl9yZWdfcmVhZGwoKHBvcnQpLCBHRU1fIyNyZWcpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04MjktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODMwOi8qIENvbmRpdGlvbmFsIEdFTS9NQUNCIG1hY3Jvcy4gIFRoZXNlIHBlcmZvcm0gdGhlIG9wZXJhdGlvbiB0byB0aGUgY29ycmVjdFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjgzMTogKiByZWdpc3RlciBkZXBlbmRlbnQgb24gd2hldGhlciB0aGUgZGV2aWNlIGlzIGEgR0VNIG9yIGEgTUFDQi4gIEZvciByZWdpc3RlcnNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC04MzItICogYW5kIGJpdGZpZWxkcyB0aGF0IGFyZSBjb21tb24gYWNyb3NzIGJvdGggZGV2aWNlcywgdXNlIG1hY2Jfe3JlYWQsd3JpdGV9bFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODUyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg1MzojZGVmaW5lIE1BQ0JfUkVBRF9OU1IoYnApXFx0bWFjYl9yZWFkbChicCwgTlNSKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTg1NC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oPTg2OT1zdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtODc0LS8qIERNQSBkZXNjcmlwdG9yIGJpdGZpZWxkcyAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg3NTojZGVmaW5lIE1BQ0JfUlhfVVNFRF9PRkZTRVRcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODc2OiNkZWZpbmUgTUFDQl9SWF9VU0VEX1NJWkVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODc3OiNkZWZpbmUgTUFDQl9SWF9XUkFQX09GRlNFVFxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4Nzg6I2RlZmluZSBNQUNCX1JYX1dSQVBfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4Nzk6I2RlZmluZSBNQUNCX1JYX1dBRERSX09GRlNFVFxcdFxcdFxcdDJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODA6I2RlZmluZSBNQUNCX1JYX1dBRERSX1NJWkVcXHRcXHRcXHQzMFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTg4MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODI6I2RlZmluZSBNQUNCX1JYX0ZSTUxFTl9PRkZTRVRcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODgzOiNkZWZpbmUgTUFDQl9SWF9GUk1MRU5fU0laRVxcdFxcdFxcdDEyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODg0OiNkZWZpbmUgTUFDQl9SWF9PRkZTRVRfT0ZGU0VUXFx0XFx0XFx0MTJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODU6I2RlZmluZSBNQUNCX1JYX09GRlNFVF9TSVpFXFx0XFx0XFx0MlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4NjojZGVmaW5lIE1BQ0JfUlhfU09GX09GRlNFVFxcdFxcdFxcdDE0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODg3OiNkZWZpbmUgTUFDQl9SWF9TT0ZfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4ODg6I2RlZmluZSBNQUNCX1JYX0VPRl9PRkZTRVRcXHRcXHRcXHQxNVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg4OTojZGVmaW5lIE1BQ0JfUlhfRU9GX1NJWkVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODkwOiNkZWZpbmUgTUFDQl9SWF9DRklfT0ZGU0VUXFx0XFx0XFx0MTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTE6I2RlZmluZSBNQUNCX1JYX0NGSV9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg5MjojZGVmaW5lIE1BQ0JfUlhfVkxBTl9QUklfT0ZGU0VUXFx0XFx0XFx0MTdcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTM6I2RlZmluZSBNQUNCX1JYX1ZMQU5fUFJJX1NJWkVcXHRcXHRcXHQzXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk0OiNkZWZpbmUgTUFDQl9SWF9QUklfVEFHX09GRlNFVFxcdFxcdFxcdDIwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk1OiNkZWZpbmUgTUFDQl9SWF9QUklfVEFHX1NJWkVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6ODk2OiNkZWZpbmUgTUFDQl9SWF9WTEFOX1RBR19PRkZTRVRcXHRcXHRcXHQyMVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg5NzojZGVmaW5lIE1BQ0JfUlhfVkxBTl9UQUdfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo4OTg6I2RlZmluZSBNQUNCX1JYX1RZUEVJRF9NQVRDSF9PRkZTRVRcXHRcXHQyMlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjg5OTojZGVmaW5lIE1BQ0JfUlhfVFlQRUlEX01BVENIX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTAwOiNkZWZpbmUgTUFDQl9SWF9TQTRfTUFUQ0hfT0ZGU0VUXFx0XFx0MjNcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MDE6I2RlZmluZSBNQUNCX1JYX1NBNF9NQVRDSF9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwMjojZGVmaW5lIE1BQ0JfUlhfU0EzX01BVENIX09GRlNFVFxcdFxcdDI0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTAzOiNkZWZpbmUgTUFDQl9SWF9TQTNfTUFUQ0hfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MDQ6I2RlZmluZSBNQUNCX1JYX1NBMl9NQVRDSF9PRkZTRVRcXHRcXHQyNVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwNTojZGVmaW5lIE1BQ0JfUlhfU0EyX01BVENIX1NJWkVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTA2OiNkZWZpbmUgTUFDQl9SWF9TQTFfTUFUQ0hfT0ZGU0VUXFx0XFx0MjZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MDc6I2RlZmluZSBNQUNCX1JYX1NBMV9NQVRDSF9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkwODojZGVmaW5lIE1BQ0JfUlhfRVhUX01BVENIX09GRlNFVFxcdFxcdDI4XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTA5OiNkZWZpbmUgTUFDQl9SWF9FWFRfTUFUQ0hfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTA6I2RlZmluZSBNQUNCX1JYX1VIQVNIX01BVENIX09GRlNFVFxcdFxcdDI5XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTExOiNkZWZpbmUgTUFDQl9SWF9VSEFTSF9NQVRDSF9TSVpFXFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkxMjojZGVmaW5lIE1BQ0JfUlhfTUhBU0hfTUFUQ0hfT0ZGU0VUXFx0XFx0MzBcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTM6I2RlZmluZSBNQUNCX1JYX01IQVNIX01BVENIX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTE0OiNkZWZpbmUgTUFDQl9SWF9CUk9BRENBU1RfT0ZGU0VUXFx0XFx0MzFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTU6I2RlZmluZSBNQUNCX1JYX0JST0FEQ0FTVF9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTkxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTc6I2RlZmluZSBNQUNCX1JYX0ZSTUxFTl9NQVNLXFx0XFx0XFx0MHhGRkZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MTg6I2RlZmluZSBNQUNCX1JYX0pGUk1MRU5fTUFTS1xcdFxcdFxcdDB4M0ZGRlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTkxOS1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTkyNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5Mjg6I2RlZmluZSBNQUNCX1RYX0ZSTUxFTl9PRkZTRVRcXHRcXHRcXHQwXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTI5OiNkZWZpbmUgTUFDQl9UWF9GUk1MRU5fU0laRVxcdFxcdFxcdDExXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTMwOiNkZWZpbmUgTUFDQl9UWF9MQVNUX09GRlNFVFxcdFxcdFxcdDE1XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTMxOiNkZWZpbmUgTUFDQl9UWF9MQVNUX1NJWkVcXHRcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTMyOiNkZWZpbmUgTUFDQl9UWF9OT0NSQ19PRkZTRVRcXHRcXHRcXHQxNlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkzMzojZGVmaW5lIE1BQ0JfVFhfTk9DUkNfU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MzQ6I2RlZmluZSBNQUNCX01TU19NRlNfT0ZGU0VUXFx0XFx0XFx0MTZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5MzU6I2RlZmluZSBNQUNCX01TU19NRlNfU0laRVxcdFxcdFxcdDE0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTM2OiNkZWZpbmUgTUFDQl9UWF9MU09fT0ZGU0VUXFx0XFx0XFx0MTdcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5Mzc6I2RlZmluZSBNQUNCX1RYX0xTT19TSVpFXFx0XFx0XFx0MlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjkzODojZGVmaW5lIE1BQ0JfVFhfVENQX1NFUV9TUkNfT0ZGU0VUXFx0XFx0MTlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5Mzk6I2RlZmluZSBNQUNCX1RYX1RDUF9TRVFfU1JDX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQwOiNkZWZpbmUgTUFDQl9UWF9CVUZfRVhIQVVTVEVEX09GRlNFVFxcdFxcdDI3XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQxOiNkZWZpbmUgTUFDQl9UWF9CVUZfRVhIQVVTVEVEX1NJWkVcXHRcXHQxXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQyOiNkZWZpbmUgTUFDQl9UWF9VTkRFUlJVTl9PRkZTRVRcXHRcXHRcXHQyOFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0MzojZGVmaW5lIE1BQ0JfVFhfVU5ERVJSVU5fU0laRVxcdFxcdFxcdDFcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaDo5NDQ6I2RlZmluZSBNQUNCX1RYX0VSUk9SX09GRlNFVFxcdFxcdFxcdDI5XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmg6OTQ1OiNkZWZpbmUgTUFDQl9UWF9FUlJPUl9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0NjojZGVmaW5lIE1BQ0JfVFhfV1JBUF9PRkZTRVRcXHRcXHRcXHQzMFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0NzojZGVmaW5lIE1BQ0JfVFhfV1JBUF9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0ODojZGVmaW5lIE1BQ0JfVFhfVVNFRF9PRkZTRVRcXHRcXHRcXHQzMVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjk0OTojZGVmaW5lIE1BQ0JfVFhfVVNFRF9TSVpFXFx0XFx0XFx0MVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oLTk1MC1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oPTExOTc9c3RydWN0IG1hY2Jfb3JfZ2VtX29wcyB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0xMjA0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oOjEyMDU6LyogTUFDQi1QVFAgaW50ZXJmYWNlOiBhZGFwdCB0byBwbGF0Zm9ybSBuZWVkcy4gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2IuaC0xMjA2LXN0cnVjdCBtYWNiX3B0cF9pbmZvIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYi5oPTEzMDE9c3RydWN0IG1hY2Ige1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiLmgtMTMxNi1cXHR1bnNpZ25lZCBpbnRcXHRcXHRudW1fcXVldWVzO1xcblxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozNzo0NC4yNDQ1NTI3MzdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjozNDExMzEzNjk2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IFFFTVUgLyBDYWRlbmNlIE1BQ0IgUENJIEludmVzdGlnYXRpb24qKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBpbnRvIHRoZSBDYWRlbmNlIE1BQ0IgLyBHRU0gZXRoZXJuZXQgY29udHJvbGxlciwgc3BlY2lmaWNhbGx5IHRoZSBQQ0kgaW1wbGVtZW50YXRpb24uIEkga25vdyBgbWFjYl9wY2kuY2AgYW5kIGBtYWNiX21haW4uY2AgYXJlIHRoZSByZWxldmFudCBzb3VyY2UgZmlsZXMuIFRoZSBxdWVzdGlvbiBpcywgZG9lcyBRRU1VIGVtdWxhdGUgdGhlIENhZGVuY2UgTUFDQiBpbiBhIFBDSSBjb25maWd1cmF0aW9uLCBhbmQgaWYgc28sIGhvdz8gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgaXQgbWlnaHQgYmUgZW11bGF0ZWQsIGJ1dCBJIG5lZWQgdG8gY29uZmlybS5cblxuQWgsIHllcyEgSSByZW1lbWJlciBRRU1VIGhhdmluZyBgY2FkZW5jZV9nZW1gIGVtdWxhdGlvbiEgQnV0IGRvZXMgdGhhdCBhcHBseSB0byB0aGUgUENJIGltcGxlbWVudGF0aW9uPyBBIHF1aWNrIHNlYXJjaCByZW1pbmRzIG1lIHRoYXQgUUVNVSB1dGlsaXplcyBgY2FkZW5jZV9nZW1gIGZvciBYaWxpbnggWnlucSwgWnlucU1QLCBhbmQgVmVyc2FsIHBsYXRmb3Jtcywgd2hpY2ggYWxsIHVzZSBBUk0vQUFyY2g2NCBvciBNaWNyb0JsYXplIGFyY2hpdGVjdHVyZXMuIFNvLCAqd2hlcmUqIGRvZXMgdGhpcyBmaXQgaW4gd2l0aCBQQ0k/IERvZXMgUUVNVSB1c2UgYG1hY2JfcGNpYCBkaXJlY3RseSwgb3IgZG9lcyBpdCBzb21laG93IG1hcCB0aGF0IHRvIGBjYWRlbmNlX2dlbWAgb24gUENJIGRldmljZXM/XG5cblRvIGJlIHN1cmUsIEknbGwgY2hlY2sgYG1hY2JfcGNpLmNgLiBJIG5lZWQgdG8gZmlndXJlIG91dCB3aGljaCBQQ0kgZGV2aWNlcyBpdCdzIGRlc2lnbmVkIHRvIG1hdGNoLiBUaGF0IHdpbGwgZ2l2ZSBtZSBhIGNsZWFyIGlkZWEgb2Ygd2hhdCB0aGUgUUVNVSBlbXVsYXRpb24gdGFyZ2V0cy4gTGV0J3MgZGlnIGluLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxODg1MywiT3V0cHV0VG9rZW5zIjozNiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE2MCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozNzo0Ny42NTU4Njg5NzNaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDgyNzAzMTksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwicGNpX2RldmljZV9pZFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcGNpLmMtMjYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jOjI3OnN0YXRpYyBpbnQgbWFjYl9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGNpLCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jLTI4LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wY2kuYz0xMDg9c3RhdGljIHZvaWQgbWFjYl9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBjaSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wY2kuYy0xMTktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jOjEyMDpzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgZGV2X2lkX3RhYmxlW10gPSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3BjaS5jLTEyMS1cXHR7IFBDSV9WREVWSUNFKENETlMsIFBDSV9ERVZJQ0VfSURfQ0ROU19NQUNCKSB9LFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozNzo0Ny43MDQxNDY3MTJaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjozNDM0MDAwNTQ1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIGlmIHRoZXkncmUgbWluZTpcblxuKipEaXZpbmcgaW50byB0aGUgTUFDQiBEcml2ZXIqKlxuXG5SaWdodCwgdGltZSB0byBnZXQgbXkgaGFuZHMgZGlydHkuIExldCdzIHNlZS4uLiB0aGUgaXNzdWUgd2UncmUgdGFja2xpbmcgbGlrZWx5IGludm9sdmVzIGhvdyB0aGUgZGV2aWNlIGlzIGlkZW50aWZpZWQgYW5kIHByb2JlZCwgc28gbXkgZmlyc3QgaW5zdGluY3QgaXMgdG8gemVybyBpbiBvbiBgbWFjYl9wY2kuY2AuIFNwZWNpZmljYWxseSwgSSB3YW50IHRvIHJlZnJlc2ggbXkgbWVtb3J5IGFib3V0IGhvdyB0aGUgYGRldl9pZF90YWJsZWAgaXMgc3RydWN0dXJlZCDigJMgdGhhdCdzIHRoZSBjcnVjaWFsIG1hcHBpbmcgYmV0d2VlbiBQQ0kgZGV2aWNlIElEcyBhbmQgdGhlIE1BQ0IgZHJpdmVyLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIGRyaXZlciBrbm93cyAqd2hpY2gqIGRldmljZXMgaXQgc2hvdWxkIGF0dGFjaCB0by4gVGhlbiwgSSdsbCBqdW1wIG92ZXIgdG8gdGhlIGBtYWNiX3Byb2JlYCBmdW5jdGlvbi4gVGhhdCdzIHRoZSBmdW5jdGlvbiB0aGF0IGdldHMgY2FsbGVkIHdoZW4gYSBtYXRjaGluZyBkZXZpY2UgaXMgZm91bmQuIEkgbmVlZCB0byByZWNvbnN0cnVjdCB0aGUgZXhlY3V0aW9uIGZsb3cgaGVyZSAtIGhvdyBpdCB2ZXJpZmllcyBkZXZpY2UgY29tcGF0aWJpbGl0eSwgaW5pdGlhbGl6ZXMgdGhlIGhhcmR3YXJlLCBhbmQgdWx0aW1hdGVseSBtYWtlcyB0aGUgZGV2aWNlIHJlYWR5IGZvciB1c2UgYnkgdGhlIHN5c3RlbS4gVW5kZXJzdGFuZGluZyB0aGlzIGNvbnRyb2wgZmxvdyBzaG91bGQgY2xhcmlmeSB0aGUgcm9vdCBvZiB0aGUgcHJvYmxlbS5cblxuXG4iLCJJbnB1dFRva2VucyI6MTk1ODcsIk91dHB1dFRva2VucyI6NDQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyOSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozNzo1MS4xMzgxNDk5NTdaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MjUyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcGNpLmNcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogMTMwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbiAgIDI6XFx0LypcXG4gICAzOlxcdCAqIERPQzogQ2FkZW5jZSBHRU0gUENJIHdyYXBwZXIuXFxuICAgNDpcXHQgKlxcbiAgIDU6XFx0ICogQ29weXJpZ2h0IChDKSAyMDE2IENhZGVuY2UgRGVzaWduIFN5c3RlbXMgLSBodHRwczovL3d3dy5jYWRlbmNlLmNvbVxcbiAgIDY6XFx0ICpcXG4gICA3OlxcdCAqIEF1dGhvcnM6IFJhZmFsIE96aWVibG8gXFx1MDAzY3JhZmFsb0BjYWRlbmNlLmNvbVxcdTAwM2VcXG4gICA4OlxcdCAqXFx0ICAgIEJhcnRvc3ogRm9sdGEgXFx1MDAzY2Jmb2x0YUBjYWRlbmNlLmNvbVxcdTAwM2VcXG4gICA5OlxcdCAqL1xcbiAgMTA6XFx0XFxuICAxMTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvY2xrLmhcXHUwMDNlXFxuICAxMjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvY2xrLXByb3ZpZGVyLmhcXHUwMDNlXFxuICAxMzpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvZXRoZXJkZXZpY2UuaFxcdTAwM2VcXG4gIDE0OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9tb2R1bGUuaFxcdTAwM2VcXG4gIDE1OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9wY2kuaFxcdTAwM2VcXG4gIDE2OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaFxcdTAwM2VcXG4gIDE3OlxcdCNpbmNsdWRlIFxcXCJtYWNiLmhcXFwiXFxuICAxODpcXHRcXG4gIDE5OlxcdCNkZWZpbmUgUENJX0RSSVZFUl9OQU1FIFxcXCJtYWNiX3BjaVxcXCJcXG4gIDIwOlxcdCNkZWZpbmUgUExBVF9EUklWRVJfTkFNRSBcXFwibWFjYlxcXCJcXG4gIDIxOlxcdFxcbiAgMjI6XFx0I2RlZmluZSBQQ0lfREVWSUNFX0lEX0NETlNfTUFDQiAweGUwMDdcXG4gIDIzOlxcdFxcbiAgMjQ6XFx0I2RlZmluZSBHRU1fUENMS19SQVRFIDUwMDAwMDAwXFxuICAyNTpcXHQjZGVmaW5lIEdFTV9IQ0xLX1JBVEUgNTAwMDAwMDBcXG4gIDI2OlxcdFxcbiAgMjc6XFx0c3RhdGljIGludCBtYWNiX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwY2ksIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZClcXG4gIDI4OlxcdHtcXG4gIDI5OlxcdFxcdGludCBlcnI7XFxuICAzMDpcXHRcXHRzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2O1xcbiAgMzE6XFx0XFx0c3RydWN0IHBsYXRmb3JtX2RldmljZV9pbmZvIHBsYXRfaW5mbztcXG4gIDMyOlxcdFxcdHN0cnVjdCBtYWNiX3BsYXRmb3JtX2RhdGEgcGxhdF9kYXRhO1xcbiAgMzM6XFx0XFx0c3RydWN0IHJlc291cmNlIHJlc1syXTtcXG4gIDM0OlxcdFxcbiAgMzU6XFx0XFx0LyogZW5hYmxlIHBjaSBkZXZpY2UgKi9cXG4gIDM2OlxcdFxcdGVyciA9IHBjaW1fZW5hYmxlX2RldmljZShwY2kpO1xcbiAgMzc6XFx0XFx0aWYgKGVyciBcXHUwMDNjIDApIHtcXG4gIDM4OlxcdFxcdFxcdGRldl9lcnIoXFx1MDAyNnBjaS1cXHUwMDNlZGV2LCBcXFwiRW5hYmxpbmcgUENJIGRldmljZSBoYXMgZmFpbGVkOiAlZFxcXCIsIGVycik7XFxuICAzOTpcXHRcXHRcXHRyZXR1cm4gZXJyO1xcbiAgNDA6XFx0XFx0fVxcbiAgNDE6XFx0XFxuICA0MjpcXHRcXHRwY2lfc2V0X21hc3RlcihwY2kpO1xcbiAgNDM6XFx0XFxuICA0NDpcXHRcXHQvKiBzZXQgdXAgcmVzb3VyY2VzICovXFxuICA0NTpcXHRcXHRtZW1zZXQocmVzLCAweDAwLCBzaXplb2Yoc3RydWN0IHJlc291cmNlKSAqIEFSUkFZX1NJWkUocmVzKSk7XFxuICA0NjpcXHRcXHRyZXNbMF0uc3RhcnQgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAwKTtcXG4gIDQ3OlxcdFxcdHJlc1swXS5lbmQgPSBwY2lfcmVzb3VyY2VfZW5kKHBjaSwgMCk7XFxuICA0ODpcXHRcXHRyZXNbMF0ubmFtZSA9IFBDSV9EUklWRVJfTkFNRTtcXG4gIDQ5OlxcdFxcdHJlc1swXS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNO1xcbiAgNTA6XFx0XFx0cmVzWzFdLnN0YXJ0ID0gcGNpX2lycV92ZWN0b3IocGNpLCAwKTtcXG4gIDUxOlxcdFxcdHJlc1sxXS5uYW1lID0gUENJX0RSSVZFUl9OQU1FO1xcbiAgNTI6XFx0XFx0cmVzWzFdLmZsYWdzID0gSU9SRVNPVVJDRV9JUlE7XFxuICA1MzpcXHRcXG4gIDU0OlxcdFxcdGRldl9pbmZvKFxcdTAwMjZwY2ktXFx1MDAzZWRldiwgXFxcIkVNQUMgcGh5c2ljYWwgYmFzZSBhZGRyOiAlcGFcXFxcblxcXCIsXFxuICA1NTpcXHRcXHRcXHQgXFx1MDAyNnJlc1swXS5zdGFydCk7XFxuICA1NjpcXHRcXG4gIDU3OlxcdFxcdC8qIHNldCB1cCBtYWNiIHBsYXRmb3JtIGRhdGEgKi9cXG4gIDU4OlxcdFxcdG1lbXNldChcXHUwMDI2cGxhdF9kYXRhLCAwLCBzaXplb2YocGxhdF9kYXRhKSk7XFxuICA1OTpcXHRcXG4gIDYwOlxcdFxcdC8qIGluaXRpYWxpemUgY2xvY2tzICovXFxuICA2MTpcXHRcXHRwbGF0X2RhdGEucGNsayA9IGNsa19yZWdpc3Rlcl9maXhlZF9yYXRlKFxcdTAwMjZwY2ktXFx1MDAzZWRldiwgXFxcInBjbGtcXFwiLCBOVUxMLCAwLFxcbiAgNjI6XFx0XFx0XFx0XFx0XFx0XFx0XFx0IEdFTV9QQ0xLX1JBVEUpO1xcbiAgNjM6XFx0XFx0aWYgKElTX0VSUihwbGF0X2RhdGEucGNsaykpIHtcXG4gIDY0OlxcdFxcdFxcdGVyciA9IFBUUl9FUlIocGxhdF9kYXRhLnBjbGspO1xcbiAgNjU6XFx0XFx0XFx0Z290byBlcnJfcGNsa19yZWdpc3RlcjtcXG4gIDY2OlxcdFxcdH1cXG4gIDY3OlxcdFxcbiAgNjg6XFx0XFx0cGxhdF9kYXRhLmhjbGsgPSBjbGtfcmVnaXN0ZXJfZml4ZWRfcmF0ZShcXHUwMDI2cGNpLVxcdTAwM2VkZXYsIFxcXCJoY2xrXFxcIiwgTlVMTCwgMCxcXG4gIDY5OlxcdFxcdFxcdFxcdFxcdFxcdFxcdCBHRU1fSENMS19SQVRFKTtcXG4gIDcwOlxcdFxcdGlmIChJU19FUlIocGxhdF9kYXRhLmhjbGspKSB7XFxuICA3MTpcXHRcXHRcXHRlcnIgPSBQVFJfRVJSKHBsYXRfZGF0YS5oY2xrKTtcXG4gIDcyOlxcdFxcdFxcdGdvdG8gZXJyX2hjbGtfcmVnaXN0ZXI7XFxuICA3MzpcXHRcXHR9XFxuICA3NDpcXHRcXG4gIDc1OlxcdFxcdC8qIHNldCB1cCBwbGF0Zm9ybSBkZXZpY2UgaW5mbyAqL1xcbiAgNzY6XFx0XFx0bWVtc2V0KFxcdTAwMjZwbGF0X2luZm8sIDAsIHNpemVvZihwbGF0X2luZm8pKTtcXG4gIDc3OlxcdFxcdHBsYXRfaW5mby5wYXJlbnQgPSBcXHUwMDI2cGNpLVxcdTAwM2VkZXY7XFxuICA3ODpcXHRcXHRwbGF0X2luZm8uZndub2RlID0gcGNpLVxcdTAwM2VkZXYuZndub2RlO1xcbiAgNzk6XFx0XFx0cGxhdF9pbmZvLm5hbWUgPSBQTEFUX0RSSVZFUl9OQU1FO1xcbiAgODA6XFx0XFx0cGxhdF9pbmZvLmlkID0gcGNpLVxcdTAwM2VkZXZmbjtcXG4gIDgxOlxcdFxcdHBsYXRfaW5mby5yZXMgPSByZXM7XFxuICA4MjpcXHRcXHRwbGF0X2luZm8ubnVtX3JlcyA9IEFSUkFZX1NJWkUocmVzKTtcXG4gIDgzOlxcdFxcdHBsYXRfaW5mby5kYXRhID0gXFx1MDAyNnBsYXRfZGF0YTtcXG4gIDg0OlxcdFxcdHBsYXRfaW5mby5zaXplX2RhdGEgPSBzaXplb2YocGxhdF9kYXRhKTtcXG4gIDg1OlxcdFxcdHBsYXRfaW5mby5kbWFfbWFzayA9IHBjaS1cXHUwMDNlZG1hX21hc2s7XFxuICA4NjpcXHRcXG4gIDg3OlxcdFxcdC8qIHJlZ2lzdGVyIHBsYXRmb3JtIGRldmljZSAqL1xcbiAgODg6XFx0XFx0cGRldiA9IHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9mdWxsKFxcdTAwMjZwbGF0X2luZm8pO1xcbiAgODk6XFx0XFx0aWYgKElTX0VSUihwZGV2KSkge1xcbiAgOTA6XFx0XFx0XFx0ZXJyID0gUFRSX0VSUihwZGV2KTtcXG4gIDkxOlxcdFxcdFxcdGdvdG8gZXJyX3BsYXRfZGV2X3JlZ2lzdGVyO1xcbiAgOTI6XFx0XFx0fVxcbiAgOTM6XFx0XFxuICA5NDpcXHRcXHRwY2lfc2V0X2RydmRhdGEocGNpLCBwZGV2KTtcXG4gIDk1OlxcdFxcbiAgOTY6XFx0XFx0cmV0dXJuIDA7XFxuICA5NzpcXHRcXG4gIDk4OlxcdGVycl9wbGF0X2Rldl9yZWdpc3RlcjpcXG4gIDk5OlxcdFxcdGNsa191bnJlZ2lzdGVyX2ZpeGVkX3JhdGUocGxhdF9kYXRhLmhjbGspO1xcbiAxMDA6XFx0XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM3OjUxLjEzODIzNjI1N1oiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjE3MTU5MDc4MDQ2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIENhZGVuY2UgTUFDQiAvIEdFTSBFdGhlcm5ldCBDb250cm9sbGVyIGZvciBGdXp6aW5nKipcblxuT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLiBJJ20gbG9va2luZyBhdCB0aGlzIENhZGVuY2UgTUFDQi9HRU0gZXRoZXJuZXQgY29udHJvbGxlciDigJMgaXQncyBhIHZlbmRvci1zcGVjaWZpYyBoYXJkd2FyZSBNQUMsIGxpa2UgeW91J2QgZmluZCBvbiBBdG1lbCwgQVQzMiwgb3IgcG90ZW50aWFsbHkgQ2FkZW5jZSdzIEdFTSBJUCBpbiBYaWxpbnggWnlucSBBUk0gc3lzdGVtcywgRlBHQXMsIG9yIGV2ZW4gYSBQQ0kgcHJvdG90eXBlIGNhcmQuIFRoZSBpbW1lZGlhdGUgcXVlc3Rpb24gaW4gbXkgbWluZCBpcywgb24gYSBzdGFuZGFyZCBhbWQ2NCBzeXN0ZW0sIHJ1bm5pbmcgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCBsaWtlIEdDRSBvciBRRU1VLCBjYW4gSSAqYWN0dWFsbHkqIHJlYWNoIGFuZCBleGVjdXRlIHRoaXMgY29kZSwgc3BlY2lmaWNhbGx5IHdpdGggYENPTkZJR19NQUNCYCBlbmFibGVkP1xuXG5JIG5lZWQgdG8gcmVmZXIgdG8gdGhlIGZ1enppbmcgZ3VpZGVsaW5lcy4gVGhlIGtleSB0YWtlYXdheSwgdGhlICpwcmltYXJ5KiBnYXRla2VlcGVyLCBpcyByZWFjaGFiaWxpdHkuIFRoZSBndWlkZWxpbmVzIHN0YXRlIGNsZWFybHkgdGhhdCBmdXp6aW5nIGlzIG9ubHkgdmFsaWQgZm9yIGNvZGUgdGhhdCAqZXhlY3V0ZXMqIHdpdGhpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBzZXR1cHMsIHVzaW5nIHNvZnR3YXJlLWVtdWxhdGVkIGRldmljZXMuIElmIHRoZSBjb2RlIGlzLCBpbiBhIHdvcmQsIHVucmVhY2hhYmxlLCB0aGVuIGZ1enppbmcgaXMgb3V0IG9mIHRoZSBxdWVzdGlvbiwgcmVnYXJkbGVzcyBvZiBpdHMgaW50ZXJuYWwgY29tcGxleGl0eSBvciBpZiB0aGVyZSBhcmUgYWRkaXRpb25hbCBhc3NlcnRpb24gc3RhdGVtZW50cy5cblxuTm93LCBhY2NvcmRpbmcgdG8gdGhlIGd1aWRlbGluZXMsIEkgY2FuIG1hcmsgc29tZXRoaW5nIGFzIGBXb3J0aEZ1enppbmc9ZmFsc2VgIG9ubHkgaWYgdGhlIG1vZGlmaWVkIGNvZGUgZmFsbHMgaW50byBjZXJ0YWluIGNhdGVnb3JpZXMuIFRoZSBjcnVjaWFsIG9uZSBmb3IgbWUgaGVyZSBpcyBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmUsIHN1Y2ggYXMgdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoZXMsIG9yIGRyaXZlcnMgdGhhdCBuZWVkIHNwZWNpZmljIHBoeXNpY2FsIGhhcmR3YXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBVbnJlYWNoYWJsZSBleGVjdXRpb24gcGF0aHMgYXJlIGFsc28gbm90IHN1aXRhYmxlLlxuXG5Ob3csIGxldCdzIHNoaWZ0IGZvY3VzIHRvIGBtYWNiX3B0cC5jYC4gSSBuZWVkIHRvIGRpZyBpbnRvIHRoYXQgZmlsZSBhbmQgc2VlIHdoYXQgaXQgZG9lcy4gSXRzIHJvbGUgaW4gdGhlIG92ZXJhbGwgcGljdHVyZSwgYW5kIGl0cyByZWxhdGlvbiB0byB0aGUgaGFyZHdhcmUsIG5lZWRzIHRvIGJlIGluc3BlY3RlZC4gU28sIGxldCBtZSBvcGVuIHRoYXQgdXAgYW5kIGludmVzdGlnYXRlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTM5NCwiT3V0cHV0VG9rZW5zIjo0MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjMzMywiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM4OjA4LjI5NzMxNjk3M1oiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4NDM1MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmNcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogODBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiICAgMTpcXHQvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuICAgMjpcXHQvKlxcbiAgIDM6XFx0ICogMTU4OCBQVFAgc3VwcG9ydCBmb3IgQ2FkZW5jZSBHRU0gZGV2aWNlLlxcbiAgIDQ6XFx0ICpcXG4gICA1OlxcdCAqIENvcHlyaWdodCAoQykgMjAxNyBDYWRlbmNlIERlc2lnbiBTeXN0ZW1zIC0gaHR0cHM6Ly93d3cuY2FkZW5jZS5jb21cXG4gICA2OlxcdCAqXFxuICAgNzpcXHQgKiBBdXRob3JzOiBSYWZhbCBPemllYmxvIFxcdTAwM2NyYWZhbG9AY2FkZW5jZS5jb21cXHUwMDNlXFxuICAgODpcXHQgKiAgICAgICAgICBCYXJ0b3N6IEZvbHRhIFxcdTAwM2NiZm9sdGFAY2FkZW5jZS5jb21cXHUwMDNlXFxuICAgOTpcXHQgKi9cXG4gIDEwOlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9rZXJuZWwuaFxcdTAwM2VcXG4gIDExOlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC90eXBlcy5oXFx1MDAzZVxcbiAgMTI6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2Nsay5oXFx1MDAzZVxcbiAgMTM6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2RldmljZS5oXFx1MDAzZVxcbiAgMTQ6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2V0aGVyZGV2aWNlLmhcXHUwMDNlXFxuICAxNTpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvcGxhdGZvcm1fZGV2aWNlLmhcXHUwMDNlXFxuICAxNjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvdGltZTY0LmhcXHUwMDNlXFxuICAxNzpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvcHRwX2NsYXNzaWZ5LmhcXHUwMDNlXFxuICAxODpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvaWZfZXRoZXIuaFxcdTAwM2VcXG4gIDE5OlxcdCNpbmNsdWRlIFxcdTAwM2NsaW51eC9pZl92bGFuLmhcXHUwMDNlXFxuICAyMDpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvbmV0X3RzdGFtcC5oXFx1MDAzZVxcbiAgMjE6XFx0I2luY2x1ZGUgXFx1MDAzY2xpbnV4L2NpcmNfYnVmLmhcXHUwMDNlXFxuICAyMjpcXHQjaW5jbHVkZSBcXHUwMDNjbGludXgvc3BpbmxvY2suaFxcdTAwM2VcXG4gIDIzOlxcdFxcbiAgMjQ6XFx0I2luY2x1ZGUgXFxcIm1hY2IuaFxcXCJcXG4gIDI1OlxcdFxcbiAgMjY6XFx0I2RlZmluZSAgR0VNX1BUUF9USU1FUl9OQU1FIFxcXCJnZW0tcHRwLXRpbWVyXFxcIlxcbiAgMjc6XFx0XFxuICAyODpcXHRzdGF0aWMgc3RydWN0IG1hY2JfZG1hX2Rlc2NfcHRwICptYWNiX3B0cF9kZXNjKHN0cnVjdCBtYWNiICpicCxcXG4gIDI5OlxcdFxcdFxcdFxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgbWFjYl9kbWFfZGVzYyAqZGVzYylcXG4gIDMwOlxcdHtcXG4gIDMxOlxcdFxcdGlmICghbWFjYl9kbWFfcHRwKGJwKSlcXG4gIDMyOlxcdFxcdFxcdHJldHVybiBOVUxMO1xcbiAgMzM6XFx0XFxuICAzNDpcXHRcXHRpZiAobWFjYl9kbWE2NChicCkpXFxuICAzNTpcXHRcXHRcXHRyZXR1cm4gKHN0cnVjdCBtYWNiX2RtYV9kZXNjX3B0cCAqKVxcbiAgMzY6XFx0XFx0XFx0XFx0XFx0KCh1OCAqKWRlc2MgKyBzaXplb2Yoc3RydWN0IG1hY2JfZG1hX2Rlc2MpXFxuICAzNzpcXHRcXHRcXHRcXHRcXHQrIHNpemVvZihzdHJ1Y3QgbWFjYl9kbWFfZGVzY182NCkpO1xcbiAgMzg6XFx0XFx0ZWxzZVxcbiAgMzk6XFx0XFx0XFx0cmV0dXJuIChzdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAgKilcXG4gIDQwOlxcdFxcdFxcdFxcdFxcdCgodTggKilkZXNjICsgc2l6ZW9mKHN0cnVjdCBtYWNiX2RtYV9kZXNjKSk7XFxuICA0MTpcXHR9XFxuICA0MjpcXHRcXG4gIDQzOlxcdHN0YXRpYyBpbnQgZ2VtX3RzdV9nZXRfdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgc3RydWN0IHRpbWVzcGVjNjQgKnRzLFxcbiAgNDQ6XFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBwdHBfc3lzdGVtX3RpbWVzdGFtcCAqc3RzKVxcbiAgNDU6XFx0e1xcbiAgNDY6XFx0XFx0c3RydWN0IG1hY2IgKmJwID0gY29udGFpbmVyX29mKHB0cCwgc3RydWN0IG1hY2IsIHB0cF9jbG9ja19pbmZvKTtcXG4gIDQ3OlxcdFxcdHVuc2lnbmVkIGxvbmcgZmxhZ3M7XFxuICA0ODpcXHRcXHRsb25nIGZpcnN0LCBzZWNvbmQ7XFxuICA0OTpcXHRcXHR1MzIgc2VjbCwgc2VjaDtcXG4gIDUwOlxcdFxcbiAgNTE6XFx0XFx0c3Bpbl9sb2NrX2lycXNhdmUoXFx1MDAyNmJwLVxcdTAwM2V0c3VfY2xrX2xvY2ssIGZsYWdzKTtcXG4gIDUyOlxcdFxcdHB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpO1xcbiAgNTM6XFx0XFx0LyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSxcXG4gIDU0OlxcdFxcdCAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuXFxuICA1NTpcXHRcXHQgKi9cXG4gIDU2OlxcdFxcdHJtYigpO1xcbiAgNTc6XFx0XFx0Zmlyc3QgPSBnZW1fcmVhZGwoYnAsIFROKTtcXG4gIDU4OlxcdFxcdC8qIEVuc3VyZSB0aGUgUEhDIHJlYWQgY29tcGxldGVzIGJlZm9yZSB0YWtpbmdcXG4gIDU5OlxcdFxcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cXG4gIDYwOlxcdFxcdCAqL1xcbiAgNjE6XFx0XFx0cm1iKCk7XFxuICA2MjpcXHRcXHRwdHBfcmVhZF9zeXN0ZW1fcG9zdHRzKHN0cyk7XFxuICA2MzpcXHRcXHRzZWNsID0gZ2VtX3JlYWRsKGJwLCBUU0wpO1xcbiAgNjQ6XFx0XFx0c2VjaCA9IGdlbV9yZWFkbChicCwgVFNIKTtcXG4gIDY1OlxcdFxcdHNlY29uZCA9IGdlbV9yZWFkbChicCwgVE4pO1xcbiAgNjY6XFx0XFxuICA2NzpcXHRcXHQvKiB0ZXN0IGZvciBuc2VjIHJvbGxvdmVyICovXFxuICA2ODpcXHRcXHRpZiAoZmlyc3QgXFx1MDAzZSBzZWNvbmQpIHtcXG4gIDY5OlxcdFxcdFxcdC8qIGlmIHNvLCB1c2UgbGF0ZXIgcmVhZCBcXHUwMDI2IHJlLXJlYWQgc2Vjb25kc1xcbiAgNzA6XFx0XFx0XFx0ICogKGFzc3VtZSBhbGwgZG9uZSB3aXRoaW4gMXMpXFxuICA3MTpcXHRcXHRcXHQgKi9cXG4gIDcyOlxcdFxcdFxcdHB0cF9yZWFkX3N5c3RlbV9wcmV0cyhzdHMpO1xcbiAgNzM6XFx0XFx0XFx0LyogcHRwX3JlYWRfc3lzdGVtX3ByZXRzKCkgdXNlcyBzbXBfcm1iKCkgaW50ZXJuYWxseSxcXG4gIDc0OlxcdFxcdFxcdCAqIHdoaWNoIGRvZXMgbm90IGd1YXJhbnRlZSBvcmRlcmluZyBhZ2FpbnN0IE1NSU8gcmVhZHMuXFxuICA3NTpcXHRcXHRcXHQgKi9cXG4gIDc2OlxcdFxcdFxcdHJtYigpO1xcbiAgNzc6XFx0XFx0XFx0dHMtXFx1MDAzZXR2X25zZWMgPSBnZW1fcmVhZGwoYnAsIFROKTtcXG4gIDc4OlxcdFxcdFxcdC8qIEVuc3VyZSB0aGUgUEhDIHJlYWQgY29tcGxldGVzIGJlZm9yZSB0YWtpbmdcXG4gIDc5OlxcdFxcdFxcdCAqIHRoZSBwb3N0IHRpbWVzdGFtcC5cXG4gIDgwOlxcdFxcdFxcdCAqL1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozODowOC4yOTc0MDUzMTNaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6MzQ5NDQ5NjM3NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHRob3VnaHQgcHJvY2VzcywgZGlzdGlsbGVkOlxuXG4qKkZpbmRpbmcgdGhlIFNvdXJjZSBvZiBhIFBUUCBUaW1lIENhbGxiYWNrKipcblxuT2theSwgc28gYGdlbV90c3VfZ2V0X3RpbWUoKWDigKYgcmlnaHQsIHRoYXQncyBhIFBUUCBjbG9jayBjYWxsYmFjaywgc3BlY2lmaWNhbGx5IHRoZSBvbmUgZGVmaW5lZCBhcyBgcHRwX2Nsb2NrX2luZm8uZ2V0dGltZXg2NGAgd2l0aGluIHRoZSBgbWFjYl9wdHAuY2AgbW9kdWxlLiBUaGUgZnVuY3Rpb24ncyBwdXJwb3NlIGlzIGNsZWFyLCBidXQgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgKndoZXJlKiBpdCdzIGJlaW5nIHJlZ2lzdGVyZWQsIHdoaWNoIGRldmljZSBvciBkcml2ZXIgaXMgYWN0dWFsbHkgdXNpbmcgaXQuIEkgbmVlZCB0byB0cmFjZSBpdHMgdXNhZ2UuIEknbGwgc2VhcmNoIHRoZSBjb2RlYmFzZSBkaXJlY3RseSBmb3IgaW5zdGFuY2VzIG9mIGBnZW1fdHN1X2dldF90aW1lYCBhbmQgc2VlIHdoYXQgY29tZXMgdXAuIFRoYXQgc2hvdWxkIHBvaW50IG1lIHRvIHRoZSByZWxldmFudCBpbml0aWFsaXphdGlvbiBvciByZWdpc3RyYXRpb24gY29kZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MjMzNjQsIk91dHB1dFRva2VucyI6MzgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3NiwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM4OjExLjc5MTkwNDA2OVoiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTc0OTY1NDQ3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImdlbV90c3VfZ2V0X3RpbWVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jPTI4PXN0YXRpYyBzdHJ1Y3QgbWFjYl9kbWFfZGVzY19wdHAgKm1hY2JfcHRwX2Rlc2Moc3RydWN0IG1hY2IgKmJwLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTQyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYzo0MzpzdGF0aWMgaW50IGdlbV90c3VfZ2V0X3RpbWUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHN0cnVjdCB0aW1lc3BlYzY0ICp0cyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMtNDQtXFx0XFx0XFx0ICAgIHN0cnVjdCBwdHBfc3lzdGVtX3RpbWVzdGFtcCAqc3RzKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jPTE3NT1zdGF0aWMgaW50IGdlbV9wdHBfYWRqdGltZShzdHJ1Y3QgcHRwX2Nsb2NrX2luZm8gKnB0cCwgczY0IGRlbHRhKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTE4Ni1cXHRpZiAoZGVsdGEgXFx1MDAzZSBUU1VfTlNFQ19NQVhfVkFMKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jOjE4NzpcXHRcXHRnZW1fdHN1X2dldF90aW1lKFxcdTAwMjZicC1cXHUwMDNlcHRwX2Nsb2NrX2luZm8sIFxcdTAwMjZub3csIE5VTEwpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYy0xODgtXFx0XFx0bm93ID0gdGltZXNwZWM2NF9hZGQobm93LCB0aGVuKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYz0yMDc9c3RhdGljIGNvbnN0IHN0cnVjdCBwdHBfY2xvY2tfaW5mbyBnZW1fcHRwX2NhcHNfdGVtcGxhdGUgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMtMjE3LVxcdC5hZGp0aW1lXFx0PSBnZW1fcHRwX2FkanRpbWUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jOjIxODpcXHQuZ2V0dGltZXg2NFxcdD0gZ2VtX3RzdV9nZXRfdGltZSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMtMjE5LVxcdC5zZXR0aW1lNjRcXHQ9IGdlbV90c3Vfc2V0X3RpbWUsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmM9MjY0PXN0YXRpYyBpbnQgZ2VtX2h3X3RpbWVzdGFtcChzdHJ1Y3QgbWFjYiAqYnAsIHUzMiBkbWFfZGVzY190c18xLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTI3Ni1cXHQgKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmM6Mjc3OlxcdGdlbV90c3VfZ2V0X3RpbWUoXFx1MDAyNmJwLVxcdTAwM2VwdHBfY2xvY2tfaW5mbywgXFx1MDAyNnRzdSwgTlVMTCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jLTI3OC1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMTBUMDQ6Mzg6MTEuOTY2ODc2NDM2WiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjEyMTk1MjMwNTM3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgVmVyZGljdDogU3RydWN0dXJhbGx5IFVucmVhY2hhYmxlIENvZGUqKlxuXG5Pa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uIEZpcnN0LCBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGUgQ2FkZW5jZSBNQUNCIGRldmljZSwgc3BlY2lmaWNhbGx5IHRoZSBgbWFjYl9wdHAuY2AgZHJpdmVyLCBpcyBldmVuIGFjY2Vzc2libGUgaW4gYSBzdGFuZGFyZCBRRU1VIHg4Nl82NCBmdXp6aW5nIGVudmlyb25tZW50LiBUaGUgaW5pdGlhbCBjaGVjayByZXZlYWxzIHRoYXQgc3RhbmRhcmQgUUVNVSBwcmltYXJpbHkgZW11bGF0ZXMgYSBzZXQgb2YgbmV0d29yayBkZXZpY2VzLCBidXQgbm9uZSBvZiB0aGVtIGFyZSBDYWRlbmNlIEdFTS4gV2UncmUgdGFsa2luZyBhYm91dCBlMTAwMCwgdmlydGlvLCBydGw4MTM5LCBhbmQgc2ltaWxhciBjb21tb24gTklDcyDigJMgbm90aGluZyB0aGF0IGludm9sdmVzIGEgQ2FkZW5jZSBHRU0gY29udHJvbGxlciwgZXNwZWNpYWxseSBub3Qgb24gYSBQQ0kgYnVzIHdpdGhpbiB0aGUgeDg2XzY0IGFyY2hpdGVjdHVyZS5cblxuTXkgUUVNVSBzb3VyY2UgZGl2ZSBjb25maXJtZWQgdGhpcy4gVGhlIGBjYWRlbmNlX2dlbS5jYCBkcml2ZXIgKmRvZXMqIGV4aXN0LCBidXQgaXQncyBpbnN0YW50aWF0ZWQgYXMgYSBzeXNidXMgZGV2aWNlLCBhbmQgc3BlY2lmaWNhbGx5IHdpdGhpbiB0aGUgY29udGV4dCBvZiBBUk0gU29DcyBsaWtlIHRoZSBYaWxpbnggWnlucSBhbmQgVmVyc2FsIHBsYXRmb3Jtcy4gUUVNVSdzIHg4Nl82NCBQQy9RMzUgZW11bGF0aW9uIGRvZXNuJ3QgcHJvYmUgb3IgaW5zdGFudGlhdGUgdGhpcyBkZXZpY2UuXG5cbkFscmlnaHQsIHdoYXQgYWJvdXQgY2xldmVyIHRyaWNrcyB3aXRoIHZpcnR1YWwgYnVzZXMgb3Igc3l6a2FsbGVyPyBDYW4gc3l6a2FsbGVyIHNvbWVob3cgZm9yY2UgdGhlIGRldmljZSB0byBjb21lIGludG8gZXhpc3RlbmNlLCBlaXRoZXIgYXMgYSBwbGF0Zm9ybSBkZXZpY2Ugb3IgYSBQQ0kgZGV2aWNlPyBJJ20gZmFtaWxpYXIgd2l0aCB0aG9zZSBjYXBhYmlsaXRpZXMsIGJ1dCBpbiB0aGlzIGNhc2UsIHRoZSBhbnN3ZXIgaXMgYSBmaXJtIG5vLiBTeXprYWxsZXIgcmVsaWVzIG9uIHRoZSBzdGFuZGFyZCBRRU1VIGVudmlyb25tZW50LCBhbmQgaXQncyBub3QgZ29pbmcgdG8gY29uanVyZSB1cCBwaHlzaWNhbCBvciBzcGVjaWFsaXplZCBDYWRlbmNlIGhhcmR3YXJlLiBGdXJ0aGVybW9yZSwgbG9va2luZyBhdCB0aGUgc3l6a2FsbGVyIGRvY3VtZW50YXRpb24sIHRoaXMgc2l0dWF0aW9uIGZhbGxzIHNxdWFyZWx5IGludG8gdGhlIFwiU3RydWN0dXJhbGx5IHVucmVhY2hhYmxlIGhhcmR3YXJlXCIgY2F0ZWdvcnkuXG5cbkxldCdzIG5haWwgZG93biB0aGlzIHBvaW50LiBUaGUgY29yZSBmdW5jdGlvbiBpbiBxdWVzdGlvbiBpcyBgZ2VtX3RzdV9nZXRfdGltZWAuIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgaWYgdGhlIENhZGVuY2UgR0VNIGRldmljZSBpcyBzdWNjZXNzZnVsbHkgcHJvYmVkIGFuZCBpbml0aWFsaXplZCDigJMgYSBwcm9jZXNzIHRoYXQgaW52b2x2ZXMgdGhlIGBnZW1fcHRwX2luaXRgIGZ1bmN0aW9uLCBjcmVhdGluZyBhIFBUUCBjbG9jayBmb3IgdGhlIG5ldHdvcmsgaW50ZXJmYWNlLiBXaXRob3V0IHRoYXQgaGFyZHdhcmUgcHJvYmUsIGBnZW1fdHN1X2dldF90aW1lYCAqY2Fubm90KiBiZSBleGVjdXRlZC4gV2UncmUgY2hhc2luZyBnaG9zdHMgaGVyZS5cblxuU28sIGxldCdzIGNsYXJpZnkgdGhlIHBhdGNoJ3MgcHVycG9zZS4gSXQncyBhZGRpbmcgYHJtYigpYCBiYXJyaWVycyBiZWZvcmUgYW5kIGFmdGVyIGBnZW1fcmVhZGwoYnAsIFROKWAgd2l0aGluIGBnZW1fdHN1X2dldF90aW1lYC4gVGhlc2UgYmFycmllcnMgYXJlIG1lYW50IHRvIGVuZm9yY2UgbWVtb3J5IG9yZGVyaW5nIGZvciBNTUlPIHJlZ2lzdGVyIHJlYWRzLCBzeW5jaHJvbml6aW5nIHRoZW0gd2l0aCBzeXN0ZW0gdGltZXN0YW1wcyBhcyBwYXJ0IG9mIHRoZSBQVFAgKFByZWNpc2lvbiBUaW1lIFByb3RvY29sKSBmdW5jdGlvbmFsaXR5LiBTbywgaXQncyBhYm91dCBoYXJkd2FyZSBtZW1vcnktYmFycmllciBvcmRlcmluZyBmb3IgTU1JTyByZWFkcywgYnV0IGZvciBzcGVjaWZpYyBDYWRlbmNlIEdFTSBoYXJkd2FyZS5cblxuVGhlcmVmb3JlLCB0aGlzIHBhdGNoIGRpcmVjdGx5IG1vZGlmaWVzIHRoZSBjb2RlIGZvciB0aGUgQ2FkZW5jZSBNQUNCL0dFTSBFdGhlcm5ldCBjb250cm9sbGVyLCB3aGljaCBpcyB2ZW5kb3Itc3BlY2lmaWMgaGFyZHdhcmUsIGFuZCBpcyBhYnNlbnQgZnJvbSBzdGFuZGFyZCB4ODZfNjQgKGFtZDY0KSBlbnZpcm9ubWVudHMuIEl0IGNhbid0IGJlIHJlYWNoZWQgYmVjYXVzZSBvZiB0aGUgYXJjaGl0ZWN0dXJlIG9mIHRoZSBzaW11bGF0ZWQgbWFjaGluZS5cblxuSGVyZSdzIHRoZSBmaW5hbGl6ZWQgb3V0cHV0IGZvcm1hdDpcblxuKiAgIGBXb3J0aEZ1enppbmdgOiBmYWxzZVxuKiAgIGBGb2N1c1N5bWJvbHNgOiBcXFsgXVxuKiAgIGBFbmFibGVDb25maWdzYDogXFxbIF1cbiogICBgUmVhc29uaW5nYDogVGhlIHBhdGNoIG1vZGlmaWVzIGRyaXZlciBjb2RlIGZvciB0aGUgQ2FkZW5jZSBNQUNCL0dFTSBFdGhlcm5ldCBjb250cm9sbGVyIChgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX3B0cC5jYCkuIFRoaXMgaGFyZHdhcmUgaXMgbm90IHByZXNlbnQgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgeDg2XzY0IChhbWQ2NCkgZnV6emluZyBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgbW9kaWZpZWQgY29kZSBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgYW5kIG5vdCB3YXJyYW50aW5nIGZ1enppbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0Mjk1LCJPdXRwdXRUb2tlbnMiOjE0MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjkxMywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOS0xMFQwNDozODoyNC4xNjIxMDk1NzNaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMzU2MCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIE1NSU8gcmVhZCBtZW1vcnkgYmFycmllcnMgKHJtYikgaW4gZ2VtX3RzdV9nZXRfdGltZSgpIHdpdGhpbiB0aGUgQ2FkZW5jZSBNQUNCL0dFTSBFdGhlcm5ldCBkcml2ZXIgKGRyaXZlcnMvbmV0L2V0aGVybmV0L2NhZGVuY2UvbWFjYl9wdHAuYykuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHZlbmRvci1zcGVjaWZpYyBDYWRlbmNlIE1BQ0IvR0VNIGhhcmR3YXJlIChwcmltYXJpbHkgZm91bmQgb24gQXRtZWwvWGlsaW54IFNvQ3MpIHRoYXQgaXMgbm90IGF2YWlsYWJsZSBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCBhbWQ2NCB2aXJ0dWFsaXplZCBmdXp6aW5nIGVudmlyb25tZW50cyAoUUVNVS9HQ0UpLCBtYWtpbmcgdGhlIG1vZGlmaWVkIGNvZGUgc3RydWN0dXJhbGx5IHVucmVhY2hhYmxlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBNTUlPIHJlYWQgbWVtb3J5IGJhcnJpZXJzIChybWIpIGluIGdlbV90c3VfZ2V0X3RpbWUoKSB3aXRoaW4gdGhlIENhZGVuY2UgTUFDQi9HRU0gRXRoZXJuZXQgZHJpdmVyIChkcml2ZXJzL25ldC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfcHRwLmMpLiBUaGlzIGRyaXZlciByZXF1aXJlcyB2ZW5kb3Itc3BlY2lmaWMgQ2FkZW5jZSBNQUNCL0dFTSBoYXJkd2FyZSAocHJpbWFyaWx5IGZvdW5kIG9uIEF0bWVsL1hpbGlueCBTb0NzKSB0aGF0IGlzIG5vdCBhdmFpbGFibGUgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgYW1kNjQgdmlydHVhbGl6ZWQgZnV6emluZyBlbnZpcm9ubWVudHMgKFFFTVUvR0NFKSwgbWFraW5nIHRoZSBtb2RpZmllZCBjb2RlIHN0cnVjdHVyYWxseSB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTEwVDA0OjM4OjI0LjE2MjEzNzA3M1oiLCJTZXEiOjE1LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjMwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflowz4m8f[1] Phase: Running StartedAt: 2026-09-10 04:38:35 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowz4m8f[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-09-10 04:38:35 +0000 UTC FinishedAt: 2026-09-10 04:38:39 +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,}