Name: series-workflowlx8h2 Phase: Failed StartedAt: 2026-07-17 08:59:44 +0000 UTC FinishedAt: 2026-07-17 09:33:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlx8h2[0] Phase: Succeeded StartedAt: 2026-07-17 08:59:44 +0000 UTC FinishedAt: 2026-07-17 09:32:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlx8h2[0].run-triage Phase: Succeeded StartedAt: 2026-07-17 08:59:44 +0000 UTC FinishedAt: 2026-07-17 09:32:50 +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+CgkJCTx0ZD4yMDI2LzA3LzE3IDA5OjI5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6Mjk8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBkMzcyZWExMTYwYjI2N2NjNDY5NGQwZjA0YzJjZTRjY2E0NjQzMTBkXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTcgMDk6Mjk6MzkgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sXG5pbmRleCA4MGMyNTI4NDUzNDljNC4uZDU4MTZkNmRjMDI2MTQgMTAwNjQ0XG4tLS0gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWxcbiYjNDM7JiM0MzsmIzQzOyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbFxuQEAgLTg5LDggJiM0Mzs4OSw5IEBAIHByb3BlcnRpZXM6XG4gXG4gICBjbG9ja19pbl9vdXQ6XG4gICAgIGRlc2NyaXB0aW9uOlxuLSAgICAgIEZvciBSR01JSSwgaXQgbXVzdCBiZSBcJiMzNDtpbnB1dFwmIzM0OywgbWVhbnMgbWFpbiBjbG9jaygxMjVNSHopXG4tICAgICAgaXMgbm90IHNvdXJjZWQgZnJvbSBTb0MmIzM5O3MgUExMLCBidXQgaW5wdXQgZnJvbSBQSFkuXG4mIzQzOyAgICAgIEZvciBSR01JSSwgXCYjMzQ7aW5wdXRcJiMzNDsgbWVhbnMgdGhlIDEyNU1IeiBtYWluIGNsb2NrIGlzIGlucHV0IGZyb20gdGhlXG4mIzQzOyAgICAgIFBIWSwgbm90IHNvdXJjZWQgZnJvbSB0aGUgU29DIFBMTDsgXCYjMzQ7b3V0cHV0XCYjMzQ7IG1lYW5zIHRoZSBTb0MgcHJvdmlkZXNcbiYjNDM7ICAgICAgYSAyNU1IeiByZWZlcmVuY2UgY2xvY2sgb3V0IHRvIGEgY3J5c3RhbC1sZXNzIFBIWS5cbiAgICAgICBGb3IgUk1JSSwgXCYjMzQ7aW5wdXRcJiMzNDsgbWVhbnMgUEhZIHByb3ZpZGVzIHRoZSByZWZlcmVuY2UgY2xvY2soNTBNSHopLFxuICAgICAgIFwmIzM0O291dHB1dFwmIzM0OyBtZWFucyBHTUFDIHByb3ZpZGVzIHRoZSByZWZlcmVuY2UgY2xvY2suXG4gICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3N0cmluZ1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG5pbmRleCA4ZDcwNDJlNjg5MjYxOS4uZGQwNjBlNGI4YzA2ODcgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG5AQCAtMTExMiw3ICYjNDM7MTExMiw3IEBAIHN0YXRpYyBpbnQgcmtfZ21hY19jbGtfaW5pdChzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpXG4gXHRic3BfcHJpdi1cdTAwM2VjbGtfZW5hYmxlZCA9IGZhbHNlO1xuIFxuIFx0YnNwX3ByaXYtXHUwMDNlbnVtX2Nsa3MgPSBBUlJBWV9TSVpFKHJrX2Nsb2Nrcyk7XG4tXHRpZiAocGh5X2lmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9STUlJKVxuJiM0MztcdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkgfHwgIWJzcF9wcml2LVx1MDAzZWNsb2NrX2lucHV0KVxuIFx0XHRic3BfcHJpdi1cdTAwM2VudW1fY2xrcyAmIzQzOz0gQVJSQVlfU0laRShya19ybWlpX2Nsb2Nrcyk7XG4gXG4gXHRic3BfcHJpdi1cdTAwM2VjbGtzID0gZGV2bV9rY2FsbG9jKGRldiwgYnNwX3ByaXYtXHUwMDNlbnVtX2Nsa3MsXG5AQCAtMTEyMyw3ICYjNDM7MTEyMyw3IEBAIHN0YXRpYyBpbnQgcmtfZ21hY19jbGtfaW5pdChzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpXG4gXHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBBUlJBWV9TSVpFKHJrX2Nsb2Nrcyk7IGkmIzQzOyYjNDM7KVxuIFx0XHRic3BfcHJpdi1cdTAwM2VjbGtzW2ldLmlkID0gcmtfY2xvY2tzW2ldO1xuIFxuLVx0aWYgKHBoeV9pZmFjZSA9PSBQSFlfSU5URVJGQUNFX01PREVfUk1JSSkge1xuJiM0MztcdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkgfHwgIWJzcF9wcml2LVx1MDAzZWNsb2NrX2lucHV0KSB7XG4gXHRcdGZvciAoaiA9IDA7IGogXHUwMDNjIEFSUkFZX1NJWkUocmtfcm1paV9jbG9ja3MpOyBqJiM0MzsmIzQzOylcbiBcdFx0XHRic3BfcHJpdi1cdTAwM2VjbGtzW2kmIzQzOyYjNDM7XS5pZCA9IHJrX3JtaWlfY2xvY2tzW2pdO1xuIFx0fVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE3IDA5OjI5PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGQzNzJlYTExNjBiMjY3Y2M0Njk0ZDBmMDRjMmNlNGNjYTQ2NDMxMGQKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgRnJpIEp1bCAxNyAwOToyOTozOSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbAppbmRleCA4MGMyNTI4NDUzNDljNC4uZDU4MTZkNmRjMDI2MTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbAomIzQzOyYjNDM7JiM0MzsgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwKQEAgLTg5LDggJiM0Mzs4OSw5IEBAIHByb3BlcnRpZXM6CiAKICAgY2xvY2tfaW5fb3V0OgogICAgIGRlc2NyaXB0aW9uOgotICAgICAgRm9yIFJHTUlJLCBpdCBtdXN0IGJlICYjMzQ7aW5wdXQmIzM0OywgbWVhbnMgbWFpbiBjbG9jaygxMjVNSHopCi0gICAgICBpcyBub3Qgc291cmNlZCBmcm9tIFNvQyYjMzk7cyBQTEwsIGJ1dCBpbnB1dCBmcm9tIFBIWS4KJiM0MzsgICAgICBGb3IgUkdNSUksICYjMzQ7aW5wdXQmIzM0OyBtZWFucyB0aGUgMTI1TUh6IG1haW4gY2xvY2sgaXMgaW5wdXQgZnJvbSB0aGUKJiM0MzsgICAgICBQSFksIG5vdCBzb3VyY2VkIGZyb20gdGhlIFNvQyBQTEw7ICYjMzQ7b3V0cHV0JiMzNDsgbWVhbnMgdGhlIFNvQyBwcm92aWRlcwomIzQzOyAgICAgIGEgMjVNSHogcmVmZXJlbmNlIGNsb2NrIG91dCB0byBhIGNyeXN0YWwtbGVzcyBQSFkuCiAgICAgICBGb3IgUk1JSSwgJiMzNDtpbnB1dCYjMzQ7IG1lYW5zIFBIWSBwcm92aWRlcyB0aGUgcmVmZXJlbmNlIGNsb2NrKDUwTUh6KSwKICAgICAgICYjMzQ7b3V0cHV0JiMzNDsgbWVhbnMgR01BQyBwcm92aWRlcyB0aGUgcmVmZXJlbmNlIGNsb2NrLgogICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3N0cmluZwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMKaW5kZXggOGQ3MDQyZTY4OTI2MTkuLmRkMDYwZTRiOGMwNjg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMKQEAgLTExMTIsNyAmIzQzOzExMTIsNyBAQCBzdGF0aWMgaW50IHJrX2dtYWNfY2xrX2luaXQoc3RydWN0IHBsYXRfc3RtbWFjZW5ldF9kYXRhICpwbGF0KQogCWJzcF9wcml2LSZndDtjbGtfZW5hYmxlZCA9IGZhbHNlOwogCiAJYnNwX3ByaXYtJmd0O251bV9jbGtzID0gQVJSQVlfU0laRShya19jbG9ja3MpOwotCWlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkpCiYjNDM7CWlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkgfHwgIWJzcF9wcml2LSZndDtjbG9ja19pbnB1dCkKIAkJYnNwX3ByaXYtJmd0O251bV9jbGtzICYjNDM7PSBBUlJBWV9TSVpFKHJrX3JtaWlfY2xvY2tzKTsKIAogCWJzcF9wcml2LSZndDtjbGtzID0gZGV2bV9rY2FsbG9jKGRldiwgYnNwX3ByaXYtJmd0O251bV9jbGtzLApAQCAtMTEyMyw3ICYjNDM7MTEyMyw3IEBAIHN0YXRpYyBpbnQgcmtfZ21hY19jbGtfaW5pdChzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpCiAJZm9yIChpID0gMDsgaSAmbHQ7IEFSUkFZX1NJWkUocmtfY2xvY2tzKTsgaSYjNDM7JiM0MzspCiAJCWJzcF9wcml2LSZndDtjbGtzW2ldLmlkID0gcmtfY2xvY2tzW2ldOwogCi0JaWYgKHBoeV9pZmFjZSA9PSBQSFlfSU5URVJGQUNFX01PREVfUk1JSSkgewomIzQzOwlpZiAocGh5X2lmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9STUlJIHx8ICFic3BfcHJpdi0mZ3Q7Y2xvY2tfaW5wdXQpIHsKIAkJZm9yIChqID0gMDsgaiAmbHQ7IEFSUkFZX1NJWkUocmtfcm1paV9jbG9ja3MpOyBqJiM0MzsmIzQzOykKIAkJCWJzcF9wcml2LSZndDtjbGtzW2kmIzQzOyYjNDM7XS5pZCA9IHJrX3JtaWlfY2xvY2tzW2pdOwogCX0KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6Mjk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjQ0MAoJCQkJCQkJb3V0cHV0OiA0OAoJCQkJCQkJdGhvdWdodHM6IDI3NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBSb2NrY2hpcCBEV01BQyBEcml2ZXIqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggdGhhdCB0d2Vha3MgYERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbGAgYW5kIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jYC4gU3BlY2lmaWNhbGx5LCB0aGUgY2hhbmdlcyBhcmUgaW4gYHJrX2dtYWNfY2xrX2luaXRgIHdpdGhpbiB0aGF0IGBkd21hYy1yay5jYCBmaWxlLiBNeSBpbW1lZGlhdGUgY29uY2VybiBpcyB3aGV0aGVyIHRoaXMgaXMgZXZlbiBmdXp6YWJsZSwgZ2l2ZW4gaXQgbG9va3MgbGlrZSBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlci4gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgaXQmIzM5O3MgcmVhY2hhYmxlIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuCgpUaGUgZmlsZSBuYW1lIGBkd21hYy1yay5jYCB0ZWxscyBtZSB0aGlzIGlzIHRoZSBSb2NrY2hpcCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgRGVzaWduV2FyZSBNQUMgKERXTUFDKSBkcml2ZXIuIFRoaXMgbWVhbnMgaXQmIzM5O3MgYSBwbGF0Zm9ybSBkcml2ZXIsIHNwZWNpZmljYWxseSBmb3IgUm9ja2NoaXAgU29Dcy4gU28sIHRoZSBxdWVzdGlvbiBpczogQ2FuIEkgZXZlbiAqZ2V0KiB0byB0aGlzIGRyaXZlciBpbiBhIGZ1enppbmcgc2V0dXA/IE5vcm1hbGx5LCB0aGVzZSBTb0Mtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVycyBhcmUgYSBwYWluIGJlY2F1c2UgdGhleSYjMzk7cmUgdGlnaHRseSBjb3VwbGVkIHRvIHRoZSBoYXJkd2FyZS4gWW91IG9mdGVuIGNhbiYjMzk7dCBqdXN0IGluc3RhbnRpYXRlIHRoZW0gd2l0aG91dCB0aGUgdGFyZ2V0IFNvQywgb3IgYXQgbGVhc3QgYSBnb29kIGVtdWxhdGlvbi4gUENJL1VTQiBkcml2ZXJzIGFyZSBlYXNpZXIsIGJ1dCB0aGlzIGlzbiYjMzk7dCBvbmUgb2YgdGhvc2UuCgpIb3dldmVyLCBzeXprYWxsZXIgKmNhbiogZnV6eiBwbGF0Zm9ybSBkcml2ZXJzLiBJdCBkZXBlbmRzIG9uIHdoZXRoZXIgdGhleSBjYW4gYmUgaW5zdGFudGlhdGVkIHZpYSBwc2V1ZG8tZGV2aWNlcyBvciBkZXZpY2UgdHJlZSBvdmVybGF5cy4gQnV0IGV2ZW4gd2l0aCB0aG9zZSB0ZWNobmlxdWVzLCB0aGVzZSBTb0Mtc3BlY2lmaWMgRXRoZXJuZXQgZHJpdmVycyBhcmUgb2Z0ZW4gYSByZWFsIGNoYWxsZW5nZSB3aXRob3V0IHRoZSBhY3R1YWwgaGFyZHdhcmUgb3IgYSB2ZXJ5IGFjY3VyYXRlIGVtdWxhdGlvbi4gSSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGlzIGlzIGFjdHVhbGx5IGEgcGxhdGZvcm0gZHJpdmVyLiBJJiMzOTtsbCBjb25maXJtIHRoYXQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6Mjk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cmtfZ21hY19jbGtfaW5pdCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYz0xMDk1PXN0YXRpYyBjb25zdCBzdHJ1Y3QgcmtfZ21hY19vcHMgcnYxMTI2X29wcyA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTExMDQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jOjExMDU6c3RhdGljIGludCBya19nbWFjX2Nsa19pbml0KHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTEwNi17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYz0xNTY4PXN0YXRpYyBpbnQgcmtfZ21hY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTYwOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM6MTYwOTpcdHJldCA9IHJrX2dtYWNfY2xrX2luaXQocGxhdF9kYXQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xNjEwLVx0aWYgKHJldClcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAwOToyOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNDE2CgkJCQkJCQlvdXRwdXQ6IDQzCgkJCQkJCQl0aG91Z2h0czogMzIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhvc2UgdGhvdWdodHMsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2UsIGFuZCBkZWxpdmVyZWQgYXMgYSBmaXJzdC1wZXJzb24gc3VtbWFyeToKCioqRGlnZ2luZyBpbnRvIHRoZSBHTUFDIERyaXZlcioqCgpSaWdodCwgc28gSSYjMzk7bSB0cmFjaW5nIHRocm91Z2ggdGhpcyBzeXN0ZW0gYW5kIEkmIzM5O3ZlIGhpdCBhIGNhbGwgZnJvbSBgcmtfZ21hY19wcm9iZWAuIE9rYXksIHRoYXQmIzM5O3MgdGhlIHN0YXJ0aW5nIHBvaW50LiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gcXVpY2tseSB2ZXJpZnkgdGhlIG5hdHVyZSBvZiB0aGlzIGRyaXZlciwgdG8gYmUgc3VyZSBJJiMzOTttIG9yaWVudGVkIGluIHRoZSByaWdodCBwbGFjZS4gVGhlIHByaW1hcnkgcXVlc3Rpb24gb24gbXkgbWluZCBhdCB0aGlzIHN0YWdlIGlzICYjMzQ7SXMgYGR3bWFjLXJrLmNgIGltcGxlbWVudGVkIGFzIGEgcGxhdGZvcm0gZHJpdmVyPyYjMzQ7LiBUaGlzIGlzIGEgY3JpdGljYWwgcGllY2Ugb2YgY29udGV4dCwgaXQgd2lsbCBpbXBhY3QgaG93IHRoZSBkcml2ZXIgaXMgcmVnaXN0ZXJlZC4gS25vd2luZyBpdHMgZHJpdmVyIHR5cGUgZW5hYmxlcyBtZSB0byBhbnRpY2lwYXRlIHRoZSBjb250cm9sIGZsb3cuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6Mjk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cGxhdGZvcm1fZHJpdmVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jPTE2MzU9TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcmtfZ21hY19kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2MzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jOjE2Mzc6c3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcmtfZ21hY19kd21hY19kcml2ZXIgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2MzgtXHQucHJvYmUgID0gcmtfZ21hY19wcm9iZSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2NDQtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM6MTY0NTptb2R1bGVfcGxhdGZvcm1fZHJpdmVyKHJrX2dtYWNfZHdtYWNfZHJpdmVyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTY0Ni1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAwOToyOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzOTEzCgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogNDMxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKldvcnRoRnV6emluZyBBc3Nlc3NtZW50OiBkd21hYy1yay5jKioKCk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uIFRoaXMgbG9va3MgbGlrZSBhIHBsYXRmb3JtIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvciB0aGUgUm9ja2NoaXAgRFdNQUMgRXRoZXJuZXQgY29udHJvbGxlci4gSW1tZWRpYXRlbHksIGFsYXJtIGJlbGxzIGFyZSByaW5naW5nLiBJbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgdGhlIFJvY2tjaGlwIGhhcmR3YXJlIGlzbiYjMzk7dCBwcmVzZW50LCBpcyBpdD8gV2UgY2FuJiMzOTt0IGp1c3QgZXhwZWN0IGl0IHRvIGJlIHRoZXJlLiBTbywgdGhlIHF1ZXN0aW9uIGlzOiBjYW4gd2UgZXZlbiBmdXp6IHRoaXM/CgpQbGF0Zm9ybSBkcml2ZXJzIGFyZSB0eXBpY2FsbHkgYSBuby1nbyBmb3IgZnV6emluZyBiZWNhdXNlIHRoZXkmIzM5O3JlIHNvIHRpZ2h0bHkgY291cGxlZCB3aXRoIHNwZWNpZmljIGhhcmR3YXJlIG9yIGRldmljZSB0cmVlIGNvbmZpZ3VyYXRpb25zLCBzdHVmZiB0aGF0IHlvdSBqdXN0IGRvbiYjMzk7dCBmaW5kIGluIHlvdXIgYXZlcmFnZSB4ODYgVk0uIFRob3VnaCwgd2FpdCwgaXNuJiMzOTt0IHRoZXJlIHNvbWUgbGltaXRlZCBzdXBwb3J0IGluIHN5emthbGxlciBmb3IgaW5qZWN0aW5nIHBsYXRmb3JtIGRldmljZXM/IEhtbW0uIExldCYjMzk7cyBzZWUgaWYgdGhlcmUmIzM5O3MgYW55IHdheSB0byBnZXQgYXQgdGhpcyBkcml2ZXIuCgpUaGUgcHJvbXB0LCBob3dldmVyLCBzZXRzIHRoZSBleHBlY3RhdGlvbjogJiMzNDtSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zIGNvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMuLi4mIzM0OyBUaGF0IHNvdW5kcyBsaWtlIHRoaXMgZHJpdmVyIHRvIG1lLCBzaW5jZSBpdCYjMzk7cyBSb2NrY2hpcCBzcGVjaWZpYy4KClNvLCBzaW5jZSBpdCYjMzk7cyBhIFJvY2tjaGlwLXNwZWNpZmljIEV0aGVybmV0IE1BQyBkcml2ZXIsIGl0JiMzOTtzIGJvdW5kIHRvIFJvY2tjaGlwIFNvQ3MuIFdlJiMzOTtyZSBub3QgZ29pbmcgdG8gYmUgYWJsZSB0byByZWFjaCBpdCBpbiBhIHN0YW5kYXJkIHg4NiBRRU1VL0dDRSBzZXR1cC4KCkp1c3QgdG8gYmUgYWJzb2x1dGVseSBzdXJlLCBsZXQmIzM5O3MgY2hlY2sgZm9yIGFueSBwb3RlbnRpYWwgZW11bGF0aW9uIG9mIFJvY2tjaGlwIERXTUFDIGluIFFFTVUuIFFFTVUgZG9lcyBoYXZlIHNvbWUgUm9ja2NoaXAgYm9hcmQgc3VwcG9ydOKAlHJvY2twcm82NCBjb21lcyB0byBtaW5k4oCUYnV0IHN5emthbGxlciB0eXBpY2FsbHkgcnVucyBvbiB4ODZfNjQgVk1zIG9yIGFybTY0IFZNcyB3aXRoIGEgZ2VuZXJpYyB2aXJ0IGJvYXJkLiBUaGlzIGdlbmVyaWMgdmlydCBib2FyZCwgb2YgY291cnNlLCBkb2VzIG5vdCBoYXZlIHRoZSBSb2NrY2hpcCBEV01BQy4gVGhlcmVmb3JlLCBpdCYjMzk7cyBpbXBvc3NpYmxlIHRvIHJlYWNoLgoKT2theSwgSSYjMzk7bSBjb25maWRlbnQuIEkmIzM5O20gZ29pbmcgdG8gc2V0IGBXb3J0aEZ1enppbmdgIHRvIGBmYWxzZWAuCgoqKlJlYXNvbmluZzoqKiBUaGUgcGF0Y2ggbW9kaWZpZXMgYGR3bWFjLXJrLmNgLCBhIFJvY2tjaGlwLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlci4gVGhpcyBoYXJkd2FyZSBpcyBzaW1wbHkgbm90IHByZXNlbnQgb3IgZW11bGF0ZWQgaW4gdGhlIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAobGlrZSBHQ0Ugb3IgUUVNVSBnZW5lcmljIFZNcykgdXNlZCBmb3IgZnV6emluZywgbWFraW5nIHRoZSBjb2RlIHBhdGhzIHVucmVhY2hhYmxlLiBPbmUgZmluYWwgY2hlY2sgb2YgdGhlIEtjb25maWcgZm9yIGR3bWFjLXJrLmMgd2lsbCBjb25maXJtIG15IGFzc2Vzc21lbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6Mjk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7ZHdtYWMtcmsmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU9MjU9b2JqLSQoQ09ORklHX0RXTUFDX1JFTkVTQVNfR0JFVEgpICYjNDM7PSBkd21hYy1yZW5lc2FzLWdiZXRoLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI2Om9iai0kKENPTkZJR19EV01BQ19ST0NLQ0hJUClcdCYjNDM7PSBkd21hYy1yay5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS0yNy1vYmotJChDT05GSUdfRFdNQUNfUlpOMSlcdCYjNDM7PSBkd21hYy1yem4xLm9cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTItLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jOjM6ICogRE9DOiBkd21hYy1yay5jIC0gUm9ja2NoaXAgUkszMjg4IERXTUFDIHNwZWNpZmljIGdsdWUgbGF5ZXJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtNC0gKlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE3IDA5OjI5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUxMDcKCQkJCQkJCW91dHB1dDogOTgKCQkJCQkJCXRob3VnaHRzOiAyNQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZSwgcHJlc2VudGVkIGluIHRoZSBmaXJzdCBwZXJzb246CgoqKkRlY2lzaW9uIG9uIGBDT05GSUdfRFdNQUNfUk9DS0NISVBgIGFuZCBGdXp6aW5nKioKCkFscmlnaHQsIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGNvbmZpZ3VyYXRpb24gb3B0aW9uLCBgQ09ORklHX0RXTUFDX1JPQ0tDSElQYC4gQmFzZWQgb24gbXkgdW5kZXJzdGFuZGluZyBvZiB0aGlzIGNvZGViYXNlIGFuZCB0aGUgaW1wbGljYXRpb25zIG9mIHRoaXMgc3BlY2lmaWMgaGFyZHdhcmUsIEkmIzM5O3ZlIGRlY2lkZWQgdGhhdCBgV29ydGhGdXp6aW5nYCBzaG91bGQgYmUgc2V0IHRvIGBmYWxzZWAuIE15IHJlYXNvbmluZyBoZXJlIGlzIGxpa2VseSB0aGF0IGVpdGhlciB0aGlzIHBhcnRpY3VsYXIgbW9kdWxlIGRvZXNuJiMzOTt0IHByZXNlbnQgYSBzaWduaWZpY2FudCBhdHRhY2sgc3VyZmFjZSB3b3J0aHkgb2YgZnV6emluZyBlZmZvcnRzIGdpdmVuIG15IGN1cnJlbnQga25vd2xlZGdlLCBvciB0aGF0IEkgYWxyZWFkeSBoYXZlIGEgY2xlYXIgdW5kZXJzdGFuZGluZyB0aGF0IHRoZXJlIGFyZSBubyBsaWtlbHkgaXNzdWVzIHRoYXQgZnV6emluZyB3b3VsZCBmaW5kLCBvciB0aGF0IHRoZSBjdXJyZW50IGZ1enppbmcgaW5mcmFzdHJ1Y3R1cmUgaXMgbm90IHN1aXRhYmxlIHRvIHRob3JvdWdobHkgZnV6eiB0aGlzIHBhcnRpY3VsYXIgbW9kdWxlLCBvciB0aGF0IGZ1enppbmcgd291bGQgYmUgcmVkdW5kYW50IGJhc2VkIG9uIHByZXZpb3VzIGFuYWx5c2lzIG9yIHRlc3RpbmcuIE15IHRpbWUgaXMgYmV0dGVyIHNwZW50IGZvY3VzaW5nIG9uIG90aGVyIGFyZWFzIHdoZXJlIGZ1enppbmcgd2lsbCB5aWVsZCBoaWdoZXIgcmV0dXJucywgb3IgSSBtaWdodCBoYXZlIGEgcHJlLWV4aXN0aW5nIHJlYXNvbiB0byBleGNsdWRlIHRoaXMgcGFydGljdWxhciBjb25maWd1cmF0aW9uIGZyb20gZnV6emluZyBydW5zLiBJdCBpcyBub3QgbmVjZXNzYXJpbHkgZHVlIHRvIGEgdG90YWwgbGFjayBvZiBjb25jZXJuLCBidXQgc2ltcGx5IGEgZGVjaXNpb24gcmVsYXRlZCB0byBwcmlvcml0aXphdGlvbiBhbmQgZWZmaWNpZW5jeSBpbiBmaW5kaW5nIHZ1bG5lcmFiaWxpdGllcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6MzA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgUm9ja2NoaXAgRFdNQUMgZHJpdmVyIChkd21hYy1yay5jKSwgd2hpY2ggaXMgYSBwbGF0Zm9ybS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXIgZm9yIFJvY2tjaGlwIFNvQ3MuIFRoaXMgaGFyZHdhcmUgaXMgbm90IHByZXNlbnQgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIChsaWtlIEdDRSBvciBRRU1VIGdlbmVyaWMgVk1zKSB1c2VkIGZvciBmdXp6aW5nLCBtYWtpbmcgdGhlIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgUm9ja2NoaXAgRFdNQUMgZHJpdmVyIChkd21hYy1yay5jKSwgd2hpY2ggaXMgYSBwbGF0Zm9ybS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXIgZm9yIFJvY2tjaGlwIFNvQ3MuIFRoaXMgaGFyZHdhcmUgaXMgbm90IHByZXNlbnQgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIChsaWtlIEdDRSBvciBRRU1VIGdlbmVyaWMgVk1zKSB1c2VkIGZvciBmdXp6aW5nLCBtYWtpbmcgdGhlIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMTdUMDk6Mjk6NDEuMTg3MDA0OTU5WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjExMzczNTEwMzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjQxLjE4NzAxMDI1OVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDgyMTM1NDIwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZDM3MmVhMTE2MGIyNjdjYzQ2OTRkMGYwNGMyY2U0Y2NhNDY0MzEwZFxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEp1bCAxNyAwOToyOTozOSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWxcXG5pbmRleCA4MGMyNTI4NDUzNDljNC4uZDU4MTZkNmRjMDI2MTQgMTAwNjQ0XFxuLS0tIGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sXFxuKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sXFxuQEAgLTg5LDggKzg5LDkgQEAgcHJvcGVydGllczpcXG4gXFxuICAgY2xvY2tfaW5fb3V0OlxcbiAgICAgZGVzY3JpcHRpb246XFxuLSAgICAgIEZvciBSR01JSSwgaXQgbXVzdCBiZSBcXFwiaW5wdXRcXFwiLCBtZWFucyBtYWluIGNsb2NrKDEyNU1IeilcXG4tICAgICAgaXMgbm90IHNvdXJjZWQgZnJvbSBTb0MncyBQTEwsIGJ1dCBpbnB1dCBmcm9tIFBIWS5cXG4rICAgICAgRm9yIFJHTUlJLCBcXFwiaW5wdXRcXFwiIG1lYW5zIHRoZSAxMjVNSHogbWFpbiBjbG9jayBpcyBpbnB1dCBmcm9tIHRoZVxcbisgICAgICBQSFksIG5vdCBzb3VyY2VkIGZyb20gdGhlIFNvQyBQTEw7IFxcXCJvdXRwdXRcXFwiIG1lYW5zIHRoZSBTb0MgcHJvdmlkZXNcXG4rICAgICAgYSAyNU1IeiByZWZlcmVuY2UgY2xvY2sgb3V0IHRvIGEgY3J5c3RhbC1sZXNzIFBIWS5cXG4gICAgICAgRm9yIFJNSUksIFxcXCJpbnB1dFxcXCIgbWVhbnMgUEhZIHByb3ZpZGVzIHRoZSByZWZlcmVuY2UgY2xvY2soNTBNSHopLFxcbiAgICAgICBcXFwib3V0cHV0XFxcIiBtZWFucyBHTUFDIHByb3ZpZGVzIHRoZSByZWZlcmVuY2UgY2xvY2suXFxuICAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9zdHJpbmdcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmNcXG5pbmRleCA4ZDcwNDJlNjg5MjYxOS4uZGQwNjBlNGI4YzA2ODcgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmNcXG5AQCAtMTExMiw3ICsxMTEyLDcgQEAgc3RhdGljIGludCBya19nbWFjX2Nsa19pbml0KHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdClcXG4gXFx0YnNwX3ByaXYtXFx1MDAzZWNsa19lbmFibGVkID0gZmFsc2U7XFxuIFxcbiBcXHRic3BfcHJpdi1cXHUwMDNlbnVtX2Nsa3MgPSBBUlJBWV9TSVpFKHJrX2Nsb2Nrcyk7XFxuLVxcdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkpXFxuK1xcdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkgfHwgIWJzcF9wcml2LVxcdTAwM2VjbG9ja19pbnB1dClcXG4gXFx0XFx0YnNwX3ByaXYtXFx1MDAzZW51bV9jbGtzICs9IEFSUkFZX1NJWkUocmtfcm1paV9jbG9ja3MpO1xcbiBcXG4gXFx0YnNwX3ByaXYtXFx1MDAzZWNsa3MgPSBkZXZtX2tjYWxsb2MoZGV2LCBic3BfcHJpdi1cXHUwMDNlbnVtX2Nsa3MsXFxuQEAgLTExMjMsNyArMTEyMyw3IEBAIHN0YXRpYyBpbnQgcmtfZ21hY19jbGtfaW5pdChzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpXFxuIFxcdGZvciAoaSA9IDA7IGkgXFx1MDAzYyBBUlJBWV9TSVpFKHJrX2Nsb2Nrcyk7IGkrKylcXG4gXFx0XFx0YnNwX3ByaXYtXFx1MDAzZWNsa3NbaV0uaWQgPSBya19jbG9ja3NbaV07XFxuIFxcbi1cXHRpZiAocGh5X2lmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9STUlJKSB7XFxuK1xcdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkgfHwgIWJzcF9wcml2LVxcdTAwM2VjbG9ja19pbnB1dCkge1xcbiBcXHRcXHRmb3IgKGogPSAwOyBqIFxcdTAwM2MgQVJSQVlfU0laRShya19ybWlpX2Nsb2Nrcyk7IGorKylcXG4gXFx0XFx0XFx0YnNwX3ByaXYtXFx1MDAzZWNsa3NbaSsrXS5pZCA9IHJrX3JtaWlfY2xvY2tzW2pdO1xcbiBcXHR9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjQxLjY2OTg5MzczOFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjA2NTQ0NTYyOTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZDM3MmVhMTE2MGIyNjdjYzQ2OTRkMGYwNGMyY2U0Y2NhNDY0MzEwZFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDE3IDA5OjI5OjM5IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sXG5pbmRleCA4MGMyNTI4NDUzNDljNC4uZDU4MTZkNmRjMDI2MTQgMTAwNjQ0XG4tLS0gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWxcbisrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbFxuQEAgLTg5LDggKzg5LDkgQEAgcHJvcGVydGllczpcbiBcbiAgIGNsb2NrX2luX291dDpcbiAgICAgZGVzY3JpcHRpb246XG4tICAgICAgRm9yIFJHTUlJLCBpdCBtdXN0IGJlIFwiaW5wdXRcIiwgbWVhbnMgbWFpbiBjbG9jaygxMjVNSHopXG4tICAgICAgaXMgbm90IHNvdXJjZWQgZnJvbSBTb0MncyBQTEwsIGJ1dCBpbnB1dCBmcm9tIFBIWS5cbisgICAgICBGb3IgUkdNSUksIFwiaW5wdXRcIiBtZWFucyB0aGUgMTI1TUh6IG1haW4gY2xvY2sgaXMgaW5wdXQgZnJvbSB0aGVcbisgICAgICBQSFksIG5vdCBzb3VyY2VkIGZyb20gdGhlIFNvQyBQTEw7IFwib3V0cHV0XCIgbWVhbnMgdGhlIFNvQyBwcm92aWRlc1xuKyAgICAgIGEgMjVNSHogcmVmZXJlbmNlIGNsb2NrIG91dCB0byBhIGNyeXN0YWwtbGVzcyBQSFkuXG4gICAgICAgRm9yIFJNSUksIFwiaW5wdXRcIiBtZWFucyBQSFkgcHJvdmlkZXMgdGhlIHJlZmVyZW5jZSBjbG9jayg1ME1IeiksXG4gICAgICAgXCJvdXRwdXRcIiBtZWFucyBHTUFDIHByb3ZpZGVzIHRoZSByZWZlcmVuY2UgY2xvY2suXG4gICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3N0cmluZ1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG5pbmRleCA4ZDcwNDJlNjg5MjYxOS4uZGQwNjBlNGI4YzA2ODcgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG5AQCAtMTExMiw3ICsxMTEyLDcgQEAgc3RhdGljIGludCBya19nbWFjX2Nsa19pbml0KHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdClcbiBcdGJzcF9wcml2LVx1MDAzZWNsa19lbmFibGVkID0gZmFsc2U7XG4gXG4gXHRic3BfcHJpdi1cdTAwM2VudW1fY2xrcyA9IEFSUkFZX1NJWkUocmtfY2xvY2tzKTtcbi1cdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkpXG4rXHRpZiAocGh5X2lmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9STUlJIHx8ICFic3BfcHJpdi1cdTAwM2VjbG9ja19pbnB1dClcbiBcdFx0YnNwX3ByaXYtXHUwMDNlbnVtX2Nsa3MgKz0gQVJSQVlfU0laRShya19ybWlpX2Nsb2Nrcyk7XG4gXG4gXHRic3BfcHJpdi1cdTAwM2VjbGtzID0gZGV2bV9rY2FsbG9jKGRldiwgYnNwX3ByaXYtXHUwMDNlbnVtX2Nsa3MsXG5AQCAtMTEyMyw3ICsxMTIzLDcgQEAgc3RhdGljIGludCBya19nbWFjX2Nsa19pbml0KHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdClcbiBcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUocmtfY2xvY2tzKTsgaSsrKVxuIFx0XHRic3BfcHJpdi1cdTAwM2VjbGtzW2ldLmlkID0gcmtfY2xvY2tzW2ldO1xuIFxuLVx0aWYgKHBoeV9pZmFjZSA9PSBQSFlfSU5URVJGQUNFX01PREVfUk1JSSkge1xuK1x0aWYgKHBoeV9pZmFjZSA9PSBQSFlfSU5URVJGQUNFX01PREVfUk1JSSB8fCAhYnNwX3ByaXYtXHUwMDNlY2xvY2tfaW5wdXQpIHtcbiBcdFx0Zm9yIChqID0gMDsgaiBcdTAwM2MgQVJSQVlfU0laRShya19ybWlpX2Nsb2Nrcyk7IGorKylcbiBcdFx0XHRic3BfcHJpdi1cdTAwM2VjbGtzW2krK10uaWQgPSBya19ybWlpX2Nsb2Nrc1tqXTtcbiBcdH1cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjQxLjY2OTg5NTQyOFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU5NDIyNDA1NDAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgUm9ja2NoaXAgRFdNQUMgRHJpdmVyKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IHR3ZWFrcyBgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sYCBhbmQgYGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmNgLiBTcGVjaWZpY2FsbHksIHRoZSBjaGFuZ2VzIGFyZSBpbiBgcmtfZ21hY19jbGtfaW5pdGAgd2l0aGluIHRoYXQgYGR3bWFjLXJrLmNgIGZpbGUuIE15IGltbWVkaWF0ZSBjb25jZXJuIGlzIHdoZXRoZXIgdGhpcyBpcyBldmVuIGZ1enphYmxlLCBnaXZlbiBpdCBsb29rcyBsaWtlIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyLiBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiBpdCdzIHJlYWNoYWJsZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LlxuXG5UaGUgZmlsZSBuYW1lIGBkd21hYy1yay5jYCB0ZWxscyBtZSB0aGlzIGlzIHRoZSBSb2NrY2hpcCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgRGVzaWduV2FyZSBNQUMgKERXTUFDKSBkcml2ZXIuIFRoaXMgbWVhbnMgaXQncyBhIHBsYXRmb3JtIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvciBSb2NrY2hpcCBTb0NzLiBTbywgdGhlIHF1ZXN0aW9uIGlzOiBDYW4gSSBldmVuICpnZXQqIHRvIHRoaXMgZHJpdmVyIGluIGEgZnV6emluZyBzZXR1cD8gTm9ybWFsbHksIHRoZXNlIFNvQy1zcGVjaWZpYyBwbGF0Zm9ybSBkcml2ZXJzIGFyZSBhIHBhaW4gYmVjYXVzZSB0aGV5J3JlIHRpZ2h0bHkgY291cGxlZCB0byB0aGUgaGFyZHdhcmUuIFlvdSBvZnRlbiBjYW4ndCBqdXN0IGluc3RhbnRpYXRlIHRoZW0gd2l0aG91dCB0aGUgdGFyZ2V0IFNvQywgb3IgYXQgbGVhc3QgYSBnb29kIGVtdWxhdGlvbi4gUENJL1VTQiBkcml2ZXJzIGFyZSBlYXNpZXIsIGJ1dCB0aGlzIGlzbid0IG9uZSBvZiB0aG9zZS5cblxuSG93ZXZlciwgc3l6a2FsbGVyICpjYW4qIGZ1enogcGxhdGZvcm0gZHJpdmVycy4gSXQgZGVwZW5kcyBvbiB3aGV0aGVyIHRoZXkgY2FuIGJlIGluc3RhbnRpYXRlZCB2aWEgcHNldWRvLWRldmljZXMgb3IgZGV2aWNlIHRyZWUgb3ZlcmxheXMuIEJ1dCBldmVuIHdpdGggdGhvc2UgdGVjaG5pcXVlcywgdGhlc2UgU29DLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlcnMgYXJlIG9mdGVuIGEgcmVhbCBjaGFsbGVuZ2Ugd2l0aG91dCB0aGUgYWN0dWFsIGhhcmR3YXJlIG9yIGEgdmVyeSBhY2N1cmF0ZSBlbXVsYXRpb24uIEkgbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBpcyBhY3R1YWxseSBhIHBsYXRmb3JtIGRyaXZlci4gSSdsbCBjb25maXJtIHRoYXQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0NDAsIk91dHB1dFRva2VucyI6NDgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNzYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QwOToyOTo0Ny42MTIxMzg4NjdaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTg3MjExMjksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwicmtfZ21hY19jbGtfaW5pdFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM9MTA5NT1zdGF0aWMgY29uc3Qgc3RydWN0IHJrX2dtYWNfb3BzIHJ2MTEyNl9vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTExMDQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYzoxMTA1OnN0YXRpYyBpbnQgcmtfZ21hY19jbGtfaW5pdChzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xMTA2LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM9MTU2OD1zdGF0aWMgaW50IHJrX2dtYWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTYwOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jOjE2MDk6XFx0cmV0ID0gcmtfZ21hY19jbGtfaW5pdChwbGF0X2RhdCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xNjEwLVxcdGlmIChyZXQpXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjQ3LjY3MDg2NTk3NloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI4NTQxODExMDcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZSwgYW5kIGRlbGl2ZXJlZCBhcyBhIGZpcnN0LXBlcnNvbiBzdW1tYXJ5OlxuXG4qKkRpZ2dpbmcgaW50byB0aGUgR01BQyBEcml2ZXIqKlxuXG5SaWdodCwgc28gSSdtIHRyYWNpbmcgdGhyb3VnaCB0aGlzIHN5c3RlbSBhbmQgSSd2ZSBoaXQgYSBjYWxsIGZyb20gYHJrX2dtYWNfcHJvYmVgLiBPa2F5LCB0aGF0J3MgdGhlIHN0YXJ0aW5nIHBvaW50LiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gcXVpY2tseSB2ZXJpZnkgdGhlIG5hdHVyZSBvZiB0aGlzIGRyaXZlciwgdG8gYmUgc3VyZSBJJ20gb3JpZW50ZWQgaW4gdGhlIHJpZ2h0IHBsYWNlLiBUaGUgcHJpbWFyeSBxdWVzdGlvbiBvbiBteSBtaW5kIGF0IHRoaXMgc3RhZ2UgaXMgXCJJcyBgZHdtYWMtcmsuY2AgaW1wbGVtZW50ZWQgYXMgYSBwbGF0Zm9ybSBkcml2ZXI/XCIuIFRoaXMgaXMgYSBjcml0aWNhbCBwaWVjZSBvZiBjb250ZXh0LCBpdCB3aWxsIGltcGFjdCBob3cgdGhlIGRyaXZlciBpcyByZWdpc3RlcmVkLiBLbm93aW5nIGl0cyBkcml2ZXIgdHlwZSBlbmFibGVzIG1lIHRvIGFudGljaXBhdGUgdGhlIGNvbnRyb2wgZmxvdy5cblxuXG4iLCJJbnB1dFRva2VucyI6MzQxNiwiT3V0cHV0VG9rZW5zIjo0MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjMyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjUwLjUyNTA0ODczNFoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2NDA1MDEyOSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJwbGF0Zm9ybV9kcml2ZXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jPTE2MzU9TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcmtfZ21hY19kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xNjM2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM6MTYzNzpzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBya19nbWFjX2R3bWFjX2RyaXZlciA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2MzgtXFx0LnByb2JlICA9IHJrX2dtYWNfcHJvYmUsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2NDQtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jOjE2NDU6bW9kdWxlX3BsYXRmb3JtX2RyaXZlcihya19nbWFjX2R3bWFjX2RyaXZlcik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xNjQ2LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QwOToyOTo1MC41ODkxMDc3OTJaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NzY4Njc5NjAwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKldvcnRoRnV6emluZyBBc3Nlc3NtZW50OiBkd21hYy1yay5jKipcblxuT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLiBUaGlzIGxvb2tzIGxpa2UgYSBwbGF0Zm9ybSBkcml2ZXIsIHNwZWNpZmljYWxseSBmb3IgdGhlIFJvY2tjaGlwIERXTUFDIEV0aGVybmV0IGNvbnRyb2xsZXIuIEltbWVkaWF0ZWx5LCBhbGFybSBiZWxscyBhcmUgcmluZ2luZy4gSW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsIHRoZSBSb2NrY2hpcCBoYXJkd2FyZSBpc24ndCBwcmVzZW50LCBpcyBpdD8gV2UgY2FuJ3QganVzdCBleHBlY3QgaXQgdG8gYmUgdGhlcmUuIFNvLCB0aGUgcXVlc3Rpb24gaXM6IGNhbiB3ZSBldmVuIGZ1enogdGhpcz9cblxuUGxhdGZvcm0gZHJpdmVycyBhcmUgdHlwaWNhbGx5IGEgbm8tZ28gZm9yIGZ1enppbmcgYmVjYXVzZSB0aGV5J3JlIHNvIHRpZ2h0bHkgY291cGxlZCB3aXRoIHNwZWNpZmljIGhhcmR3YXJlIG9yIGRldmljZSB0cmVlIGNvbmZpZ3VyYXRpb25zLCBzdHVmZiB0aGF0IHlvdSBqdXN0IGRvbid0IGZpbmQgaW4geW91ciBhdmVyYWdlIHg4NiBWTS4gVGhvdWdoLCB3YWl0LCBpc24ndCB0aGVyZSBzb21lIGxpbWl0ZWQgc3VwcG9ydCBpbiBzeXprYWxsZXIgZm9yIGluamVjdGluZyBwbGF0Zm9ybSBkZXZpY2VzPyBIbW1tLiBMZXQncyBzZWUgaWYgdGhlcmUncyBhbnkgd2F5IHRvIGdldCBhdCB0aGlzIGRyaXZlci5cblxuVGhlIHByb21wdCwgaG93ZXZlciwgc2V0cyB0aGUgZXhwZWN0YXRpb246IFwiUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWlucyBjb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLi4uXCIgVGhhdCBzb3VuZHMgbGlrZSB0aGlzIGRyaXZlciB0byBtZSwgc2luY2UgaXQncyBSb2NrY2hpcCBzcGVjaWZpYy5cblxuU28sIHNpbmNlIGl0J3MgYSBSb2NrY2hpcC1zcGVjaWZpYyBFdGhlcm5ldCBNQUMgZHJpdmVyLCBpdCdzIGJvdW5kIHRvIFJvY2tjaGlwIFNvQ3MuIFdlJ3JlIG5vdCBnb2luZyB0byBiZSBhYmxlIHRvIHJlYWNoIGl0IGluIGEgc3RhbmRhcmQgeDg2IFFFTVUvR0NFIHNldHVwLlxuXG5KdXN0IHRvIGJlIGFic29sdXRlbHkgc3VyZSwgbGV0J3MgY2hlY2sgZm9yIGFueSBwb3RlbnRpYWwgZW11bGF0aW9uIG9mIFJvY2tjaGlwIERXTUFDIGluIFFFTVUuIFFFTVUgZG9lcyBoYXZlIHNvbWUgUm9ja2NoaXAgYm9hcmQgc3VwcG9ydOKAlHJvY2twcm82NCBjb21lcyB0byBtaW5k4oCUYnV0IHN5emthbGxlciB0eXBpY2FsbHkgcnVucyBvbiB4ODZfNjQgVk1zIG9yIGFybTY0IFZNcyB3aXRoIGEgZ2VuZXJpYyB2aXJ0IGJvYXJkLiBUaGlzIGdlbmVyaWMgdmlydCBib2FyZCwgb2YgY291cnNlLCBkb2VzIG5vdCBoYXZlIHRoZSBSb2NrY2hpcCBEV01BQy4gVGhlcmVmb3JlLCBpdCdzIGltcG9zc2libGUgdG8gcmVhY2guXG5cbk9rYXksIEknbSBjb25maWRlbnQuIEknbSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZ2AgdG8gYGZhbHNlYC5cblxuKipSZWFzb25pbmc6KiogVGhlIHBhdGNoIG1vZGlmaWVzIGBkd21hYy1yay5jYCwgYSBSb2NrY2hpcC1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgc2ltcGx5IG5vdCBwcmVzZW50IG9yIGVtdWxhdGVkIGluIHRoZSBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS4gT25lIGZpbmFsIGNoZWNrIG9mIHRoZSBLY29uZmlnIGZvciBkd21hYy1yay5jIHdpbGwgY29uZmlybSBteSBhc3Nlc3NtZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjozOTEzLCJPdXRwdXRUb2tlbnMiOjM4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDMxLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjU4LjM1Nzc4OTM0MloiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1ODkwNjk1OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJkd21hYy1ya1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU9MjU9b2JqLSQoQ09ORklHX0RXTUFDX1JFTkVTQVNfR0JFVEgpICs9IGR3bWFjLXJlbmVzYXMtZ2JldGgub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI2Om9iai0kKENPTkZJR19EV01BQ19ST0NLQ0hJUClcXHQrPSBkd21hYy1yay5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtMjctb2JqLSQoQ09ORklHX0RXTUFDX1JaTjEpXFx0Kz0gZHdtYWMtcnpuMS5vXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTItLyoqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYzozOiAqIERPQzogZHdtYWMtcmsuYyAtIFJvY2tjaGlwIFJLMzI4OCBEV01BQyBzcGVjaWZpYyBnbHVlIGxheWVyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy00LSAqXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjU4LjQxNjcwMzQzWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzkwNzYxOTAxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGludGVycHJldGF0aW9uIG9mIHRob3NlIHRob3VnaHRzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBwcmVzZW50ZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjpcblxuKipEZWNpc2lvbiBvbiBgQ09ORklHX0RXTUFDX1JPQ0tDSElQYCBhbmQgRnV6emluZyoqXG5cbkFscmlnaHQsIEknbSBsb29raW5nIGF0IHRoaXMgY29uZmlndXJhdGlvbiBvcHRpb24sIGBDT05GSUdfRFdNQUNfUk9DS0NISVBgLiBCYXNlZCBvbiBteSB1bmRlcnN0YW5kaW5nIG9mIHRoaXMgY29kZWJhc2UgYW5kIHRoZSBpbXBsaWNhdGlvbnMgb2YgdGhpcyBzcGVjaWZpYyBoYXJkd2FyZSwgSSd2ZSBkZWNpZGVkIHRoYXQgYFdvcnRoRnV6emluZ2Agc2hvdWxkIGJlIHNldCB0byBgZmFsc2VgLiBNeSByZWFzb25pbmcgaGVyZSBpcyBsaWtlbHkgdGhhdCBlaXRoZXIgdGhpcyBwYXJ0aWN1bGFyIG1vZHVsZSBkb2Vzbid0IHByZXNlbnQgYSBzaWduaWZpY2FudCBhdHRhY2sgc3VyZmFjZSB3b3J0aHkgb2YgZnV6emluZyBlZmZvcnRzIGdpdmVuIG15IGN1cnJlbnQga25vd2xlZGdlLCBvciB0aGF0IEkgYWxyZWFkeSBoYXZlIGEgY2xlYXIgdW5kZXJzdGFuZGluZyB0aGF0IHRoZXJlIGFyZSBubyBsaWtlbHkgaXNzdWVzIHRoYXQgZnV6emluZyB3b3VsZCBmaW5kLCBvciB0aGF0IHRoZSBjdXJyZW50IGZ1enppbmcgaW5mcmFzdHJ1Y3R1cmUgaXMgbm90IHN1aXRhYmxlIHRvIHRob3JvdWdobHkgZnV6eiB0aGlzIHBhcnRpY3VsYXIgbW9kdWxlLCBvciB0aGF0IGZ1enppbmcgd291bGQgYmUgcmVkdW5kYW50IGJhc2VkIG9uIHByZXZpb3VzIGFuYWx5c2lzIG9yIHRlc3RpbmcuIE15IHRpbWUgaXMgYmV0dGVyIHNwZW50IGZvY3VzaW5nIG9uIG90aGVyIGFyZWFzIHdoZXJlIGZ1enppbmcgd2lsbCB5aWVsZCBoaWdoZXIgcmV0dXJucywgb3IgSSBtaWdodCBoYXZlIGEgcHJlLWV4aXN0aW5nIHJlYXNvbiB0byBleGNsdWRlIHRoaXMgcGFydGljdWxhciBjb25maWd1cmF0aW9uIGZyb20gZnV6emluZyBydW5zLiBJdCBpcyBub3QgbmVjZXNzYXJpbHkgZHVlIHRvIGEgdG90YWwgbGFjayBvZiBjb25jZXJuLCBidXQgc2ltcGx5IGEgZGVjaXNpb24gcmVsYXRlZCB0byBwcmlvcml0aXphdGlvbiBhbmQgZWZmaWNpZW5jeSBpbiBmaW5kaW5nIHZ1bG5lcmFiaWxpdGllcy5cblxuXG4iLCJJbnB1dFRva2VucyI6NTEwNywiT3V0cHV0VG9rZW5zIjo5OCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI1LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjMwOjAyLjMyNDMyNTMxNVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyOTAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowlx8h2[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-17 08:59:44 +0000 UTC FinishedAt: 2026-07-17 09:30:03 +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+CgkJCTx0ZD4yMDI2LzA3LzE3IDA5OjI5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6Mjk8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBkMzcyZWExMTYwYjI2N2NjNDY5NGQwZjA0YzJjZTRjY2E0NjQzMTBkXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTcgMDk6Mjk6MzkgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sXG5pbmRleCA4MGMyNTI4NDUzNDljNC4uZDU4MTZkNmRjMDI2MTQgMTAwNjQ0XG4tLS0gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWxcbiYjNDM7JiM0MzsmIzQzOyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbFxuQEAgLTg5LDggJiM0Mzs4OSw5IEBAIHByb3BlcnRpZXM6XG4gXG4gICBjbG9ja19pbl9vdXQ6XG4gICAgIGRlc2NyaXB0aW9uOlxuLSAgICAgIEZvciBSR01JSSwgaXQgbXVzdCBiZSBcJiMzNDtpbnB1dFwmIzM0OywgbWVhbnMgbWFpbiBjbG9jaygxMjVNSHopXG4tICAgICAgaXMgbm90IHNvdXJjZWQgZnJvbSBTb0MmIzM5O3MgUExMLCBidXQgaW5wdXQgZnJvbSBQSFkuXG4mIzQzOyAgICAgIEZvciBSR01JSSwgXCYjMzQ7aW5wdXRcJiMzNDsgbWVhbnMgdGhlIDEyNU1IeiBtYWluIGNsb2NrIGlzIGlucHV0IGZyb20gdGhlXG4mIzQzOyAgICAgIFBIWSwgbm90IHNvdXJjZWQgZnJvbSB0aGUgU29DIFBMTDsgXCYjMzQ7b3V0cHV0XCYjMzQ7IG1lYW5zIHRoZSBTb0MgcHJvdmlkZXNcbiYjNDM7ICAgICAgYSAyNU1IeiByZWZlcmVuY2UgY2xvY2sgb3V0IHRvIGEgY3J5c3RhbC1sZXNzIFBIWS5cbiAgICAgICBGb3IgUk1JSSwgXCYjMzQ7aW5wdXRcJiMzNDsgbWVhbnMgUEhZIHByb3ZpZGVzIHRoZSByZWZlcmVuY2UgY2xvY2soNTBNSHopLFxuICAgICAgIFwmIzM0O291dHB1dFwmIzM0OyBtZWFucyBHTUFDIHByb3ZpZGVzIHRoZSByZWZlcmVuY2UgY2xvY2suXG4gICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3N0cmluZ1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG5pbmRleCA4ZDcwNDJlNjg5MjYxOS4uZGQwNjBlNGI4YzA2ODcgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG5AQCAtMTExMiw3ICYjNDM7MTExMiw3IEBAIHN0YXRpYyBpbnQgcmtfZ21hY19jbGtfaW5pdChzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpXG4gXHRic3BfcHJpdi1cdTAwM2VjbGtfZW5hYmxlZCA9IGZhbHNlO1xuIFxuIFx0YnNwX3ByaXYtXHUwMDNlbnVtX2Nsa3MgPSBBUlJBWV9TSVpFKHJrX2Nsb2Nrcyk7XG4tXHRpZiAocGh5X2lmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9STUlJKVxuJiM0MztcdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkgfHwgIWJzcF9wcml2LVx1MDAzZWNsb2NrX2lucHV0KVxuIFx0XHRic3BfcHJpdi1cdTAwM2VudW1fY2xrcyAmIzQzOz0gQVJSQVlfU0laRShya19ybWlpX2Nsb2Nrcyk7XG4gXG4gXHRic3BfcHJpdi1cdTAwM2VjbGtzID0gZGV2bV9rY2FsbG9jKGRldiwgYnNwX3ByaXYtXHUwMDNlbnVtX2Nsa3MsXG5AQCAtMTEyMyw3ICYjNDM7MTEyMyw3IEBAIHN0YXRpYyBpbnQgcmtfZ21hY19jbGtfaW5pdChzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpXG4gXHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBBUlJBWV9TSVpFKHJrX2Nsb2Nrcyk7IGkmIzQzOyYjNDM7KVxuIFx0XHRic3BfcHJpdi1cdTAwM2VjbGtzW2ldLmlkID0gcmtfY2xvY2tzW2ldO1xuIFxuLVx0aWYgKHBoeV9pZmFjZSA9PSBQSFlfSU5URVJGQUNFX01PREVfUk1JSSkge1xuJiM0MztcdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkgfHwgIWJzcF9wcml2LVx1MDAzZWNsb2NrX2lucHV0KSB7XG4gXHRcdGZvciAoaiA9IDA7IGogXHUwMDNjIEFSUkFZX1NJWkUocmtfcm1paV9jbG9ja3MpOyBqJiM0MzsmIzQzOylcbiBcdFx0XHRic3BfcHJpdi1cdTAwM2VjbGtzW2kmIzQzOyYjNDM7XS5pZCA9IHJrX3JtaWlfY2xvY2tzW2pdO1xuIFx0fVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE3IDA5OjI5PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGQzNzJlYTExNjBiMjY3Y2M0Njk0ZDBmMDRjMmNlNGNjYTQ2NDMxMGQKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgRnJpIEp1bCAxNyAwOToyOTozOSAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbAppbmRleCA4MGMyNTI4NDUzNDljNC4uZDU4MTZkNmRjMDI2MTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbAomIzQzOyYjNDM7JiM0MzsgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwKQEAgLTg5LDggJiM0Mzs4OSw5IEBAIHByb3BlcnRpZXM6CiAKICAgY2xvY2tfaW5fb3V0OgogICAgIGRlc2NyaXB0aW9uOgotICAgICAgRm9yIFJHTUlJLCBpdCBtdXN0IGJlICYjMzQ7aW5wdXQmIzM0OywgbWVhbnMgbWFpbiBjbG9jaygxMjVNSHopCi0gICAgICBpcyBub3Qgc291cmNlZCBmcm9tIFNvQyYjMzk7cyBQTEwsIGJ1dCBpbnB1dCBmcm9tIFBIWS4KJiM0MzsgICAgICBGb3IgUkdNSUksICYjMzQ7aW5wdXQmIzM0OyBtZWFucyB0aGUgMTI1TUh6IG1haW4gY2xvY2sgaXMgaW5wdXQgZnJvbSB0aGUKJiM0MzsgICAgICBQSFksIG5vdCBzb3VyY2VkIGZyb20gdGhlIFNvQyBQTEw7ICYjMzQ7b3V0cHV0JiMzNDsgbWVhbnMgdGhlIFNvQyBwcm92aWRlcwomIzQzOyAgICAgIGEgMjVNSHogcmVmZXJlbmNlIGNsb2NrIG91dCB0byBhIGNyeXN0YWwtbGVzcyBQSFkuCiAgICAgICBGb3IgUk1JSSwgJiMzNDtpbnB1dCYjMzQ7IG1lYW5zIFBIWSBwcm92aWRlcyB0aGUgcmVmZXJlbmNlIGNsb2NrKDUwTUh6KSwKICAgICAgICYjMzQ7b3V0cHV0JiMzNDsgbWVhbnMgR01BQyBwcm92aWRlcyB0aGUgcmVmZXJlbmNlIGNsb2NrLgogICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3N0cmluZwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMKaW5kZXggOGQ3MDQyZTY4OTI2MTkuLmRkMDYwZTRiOGMwNjg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMKQEAgLTExMTIsNyAmIzQzOzExMTIsNyBAQCBzdGF0aWMgaW50IHJrX2dtYWNfY2xrX2luaXQoc3RydWN0IHBsYXRfc3RtbWFjZW5ldF9kYXRhICpwbGF0KQogCWJzcF9wcml2LSZndDtjbGtfZW5hYmxlZCA9IGZhbHNlOwogCiAJYnNwX3ByaXYtJmd0O251bV9jbGtzID0gQVJSQVlfU0laRShya19jbG9ja3MpOwotCWlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkpCiYjNDM7CWlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkgfHwgIWJzcF9wcml2LSZndDtjbG9ja19pbnB1dCkKIAkJYnNwX3ByaXYtJmd0O251bV9jbGtzICYjNDM7PSBBUlJBWV9TSVpFKHJrX3JtaWlfY2xvY2tzKTsKIAogCWJzcF9wcml2LSZndDtjbGtzID0gZGV2bV9rY2FsbG9jKGRldiwgYnNwX3ByaXYtJmd0O251bV9jbGtzLApAQCAtMTEyMyw3ICYjNDM7MTEyMyw3IEBAIHN0YXRpYyBpbnQgcmtfZ21hY19jbGtfaW5pdChzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpCiAJZm9yIChpID0gMDsgaSAmbHQ7IEFSUkFZX1NJWkUocmtfY2xvY2tzKTsgaSYjNDM7JiM0MzspCiAJCWJzcF9wcml2LSZndDtjbGtzW2ldLmlkID0gcmtfY2xvY2tzW2ldOwogCi0JaWYgKHBoeV9pZmFjZSA9PSBQSFlfSU5URVJGQUNFX01PREVfUk1JSSkgewomIzQzOwlpZiAocGh5X2lmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9STUlJIHx8ICFic3BfcHJpdi0mZ3Q7Y2xvY2tfaW5wdXQpIHsKIAkJZm9yIChqID0gMDsgaiAmbHQ7IEFSUkFZX1NJWkUocmtfcm1paV9jbG9ja3MpOyBqJiM0MzsmIzQzOykKIAkJCWJzcF9wcml2LSZndDtjbGtzW2kmIzQzOyYjNDM7XS5pZCA9IHJrX3JtaWlfY2xvY2tzW2pdOwogCX0KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6Mjk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjQ0MAoJCQkJCQkJb3V0cHV0OiA0OAoJCQkJCQkJdGhvdWdodHM6IDI3NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBSb2NrY2hpcCBEV01BQyBEcml2ZXIqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggdGhhdCB0d2Vha3MgYERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbGAgYW5kIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jYC4gU3BlY2lmaWNhbGx5LCB0aGUgY2hhbmdlcyBhcmUgaW4gYHJrX2dtYWNfY2xrX2luaXRgIHdpdGhpbiB0aGF0IGBkd21hYy1yay5jYCBmaWxlLiBNeSBpbW1lZGlhdGUgY29uY2VybiBpcyB3aGV0aGVyIHRoaXMgaXMgZXZlbiBmdXp6YWJsZSwgZ2l2ZW4gaXQgbG9va3MgbGlrZSBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlci4gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgaXQmIzM5O3MgcmVhY2hhYmxlIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQuCgpUaGUgZmlsZSBuYW1lIGBkd21hYy1yay5jYCB0ZWxscyBtZSB0aGlzIGlzIHRoZSBSb2NrY2hpcCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgRGVzaWduV2FyZSBNQUMgKERXTUFDKSBkcml2ZXIuIFRoaXMgbWVhbnMgaXQmIzM5O3MgYSBwbGF0Zm9ybSBkcml2ZXIsIHNwZWNpZmljYWxseSBmb3IgUm9ja2NoaXAgU29Dcy4gU28sIHRoZSBxdWVzdGlvbiBpczogQ2FuIEkgZXZlbiAqZ2V0KiB0byB0aGlzIGRyaXZlciBpbiBhIGZ1enppbmcgc2V0dXA/IE5vcm1hbGx5LCB0aGVzZSBTb0Mtc3BlY2lmaWMgcGxhdGZvcm0gZHJpdmVycyBhcmUgYSBwYWluIGJlY2F1c2UgdGhleSYjMzk7cmUgdGlnaHRseSBjb3VwbGVkIHRvIHRoZSBoYXJkd2FyZS4gWW91IG9mdGVuIGNhbiYjMzk7dCBqdXN0IGluc3RhbnRpYXRlIHRoZW0gd2l0aG91dCB0aGUgdGFyZ2V0IFNvQywgb3IgYXQgbGVhc3QgYSBnb29kIGVtdWxhdGlvbi4gUENJL1VTQiBkcml2ZXJzIGFyZSBlYXNpZXIsIGJ1dCB0aGlzIGlzbiYjMzk7dCBvbmUgb2YgdGhvc2UuCgpIb3dldmVyLCBzeXprYWxsZXIgKmNhbiogZnV6eiBwbGF0Zm9ybSBkcml2ZXJzLiBJdCBkZXBlbmRzIG9uIHdoZXRoZXIgdGhleSBjYW4gYmUgaW5zdGFudGlhdGVkIHZpYSBwc2V1ZG8tZGV2aWNlcyBvciBkZXZpY2UgdHJlZSBvdmVybGF5cy4gQnV0IGV2ZW4gd2l0aCB0aG9zZSB0ZWNobmlxdWVzLCB0aGVzZSBTb0Mtc3BlY2lmaWMgRXRoZXJuZXQgZHJpdmVycyBhcmUgb2Z0ZW4gYSByZWFsIGNoYWxsZW5nZSB3aXRob3V0IHRoZSBhY3R1YWwgaGFyZHdhcmUgb3IgYSB2ZXJ5IGFjY3VyYXRlIGVtdWxhdGlvbi4gSSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGlzIGlzIGFjdHVhbGx5IGEgcGxhdGZvcm0gZHJpdmVyLiBJJiMzOTtsbCBjb25maXJtIHRoYXQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6Mjk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cmtfZ21hY19jbGtfaW5pdCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYz0xMDk1PXN0YXRpYyBjb25zdCBzdHJ1Y3QgcmtfZ21hY19vcHMgcnYxMTI2X29wcyA9IHtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTExMDQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jOjExMDU6c3RhdGljIGludCBya19nbWFjX2Nsa19pbml0KHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTEwNi17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYz0xNTY4PXN0YXRpYyBpbnQgcmtfZ21hY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTYwOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM6MTYwOTpcdHJldCA9IHJrX2dtYWNfY2xrX2luaXQocGxhdF9kYXQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xNjEwLVx0aWYgKHJldClcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAwOToyOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNDE2CgkJCQkJCQlvdXRwdXQ6IDQzCgkJCQkJCQl0aG91Z2h0czogMzIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgaW50ZXJwcmV0YXRpb24gb2YgdGhvc2UgdGhvdWdodHMsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2UsIGFuZCBkZWxpdmVyZWQgYXMgYSBmaXJzdC1wZXJzb24gc3VtbWFyeToKCioqRGlnZ2luZyBpbnRvIHRoZSBHTUFDIERyaXZlcioqCgpSaWdodCwgc28gSSYjMzk7bSB0cmFjaW5nIHRocm91Z2ggdGhpcyBzeXN0ZW0gYW5kIEkmIzM5O3ZlIGhpdCBhIGNhbGwgZnJvbSBgcmtfZ21hY19wcm9iZWAuIE9rYXksIHRoYXQmIzM5O3MgdGhlIHN0YXJ0aW5nIHBvaW50LiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gcXVpY2tseSB2ZXJpZnkgdGhlIG5hdHVyZSBvZiB0aGlzIGRyaXZlciwgdG8gYmUgc3VyZSBJJiMzOTttIG9yaWVudGVkIGluIHRoZSByaWdodCBwbGFjZS4gVGhlIHByaW1hcnkgcXVlc3Rpb24gb24gbXkgbWluZCBhdCB0aGlzIHN0YWdlIGlzICYjMzQ7SXMgYGR3bWFjLXJrLmNgIGltcGxlbWVudGVkIGFzIGEgcGxhdGZvcm0gZHJpdmVyPyYjMzQ7LiBUaGlzIGlzIGEgY3JpdGljYWwgcGllY2Ugb2YgY29udGV4dCwgaXQgd2lsbCBpbXBhY3QgaG93IHRoZSBkcml2ZXIgaXMgcmVnaXN0ZXJlZC4gS25vd2luZyBpdHMgZHJpdmVyIHR5cGUgZW5hYmxlcyBtZSB0byBhbnRpY2lwYXRlIHRoZSBjb250cm9sIGZsb3cuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6Mjk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cGxhdGZvcm1fZHJpdmVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jPTE2MzU9TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcmtfZ21hY19kd21hY19tYXRjaCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2MzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jOjE2Mzc6c3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcmtfZ21hY19kd21hY19kcml2ZXIgPSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2MzgtXHQucHJvYmUgID0gcmtfZ21hY19wcm9iZSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2NDQtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM6MTY0NTptb2R1bGVfcGxhdGZvcm1fZHJpdmVyKHJrX2dtYWNfZHdtYWNfZHJpdmVyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTY0Ni1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNyAwOToyOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzOTEzCgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogNDMxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKldvcnRoRnV6emluZyBBc3Nlc3NtZW50OiBkd21hYy1yay5jKioKCk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uIFRoaXMgbG9va3MgbGlrZSBhIHBsYXRmb3JtIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvciB0aGUgUm9ja2NoaXAgRFdNQUMgRXRoZXJuZXQgY29udHJvbGxlci4gSW1tZWRpYXRlbHksIGFsYXJtIGJlbGxzIGFyZSByaW5naW5nLiBJbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgdGhlIFJvY2tjaGlwIGhhcmR3YXJlIGlzbiYjMzk7dCBwcmVzZW50LCBpcyBpdD8gV2UgY2FuJiMzOTt0IGp1c3QgZXhwZWN0IGl0IHRvIGJlIHRoZXJlLiBTbywgdGhlIHF1ZXN0aW9uIGlzOiBjYW4gd2UgZXZlbiBmdXp6IHRoaXM/CgpQbGF0Zm9ybSBkcml2ZXJzIGFyZSB0eXBpY2FsbHkgYSBuby1nbyBmb3IgZnV6emluZyBiZWNhdXNlIHRoZXkmIzM5O3JlIHNvIHRpZ2h0bHkgY291cGxlZCB3aXRoIHNwZWNpZmljIGhhcmR3YXJlIG9yIGRldmljZSB0cmVlIGNvbmZpZ3VyYXRpb25zLCBzdHVmZiB0aGF0IHlvdSBqdXN0IGRvbiYjMzk7dCBmaW5kIGluIHlvdXIgYXZlcmFnZSB4ODYgVk0uIFRob3VnaCwgd2FpdCwgaXNuJiMzOTt0IHRoZXJlIHNvbWUgbGltaXRlZCBzdXBwb3J0IGluIHN5emthbGxlciBmb3IgaW5qZWN0aW5nIHBsYXRmb3JtIGRldmljZXM/IEhtbW0uIExldCYjMzk7cyBzZWUgaWYgdGhlcmUmIzM5O3MgYW55IHdheSB0byBnZXQgYXQgdGhpcyBkcml2ZXIuCgpUaGUgcHJvbXB0LCBob3dldmVyLCBzZXRzIHRoZSBleHBlY3RhdGlvbjogJiMzNDtSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zIGNvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMuLi4mIzM0OyBUaGF0IHNvdW5kcyBsaWtlIHRoaXMgZHJpdmVyIHRvIG1lLCBzaW5jZSBpdCYjMzk7cyBSb2NrY2hpcCBzcGVjaWZpYy4KClNvLCBzaW5jZSBpdCYjMzk7cyBhIFJvY2tjaGlwLXNwZWNpZmljIEV0aGVybmV0IE1BQyBkcml2ZXIsIGl0JiMzOTtzIGJvdW5kIHRvIFJvY2tjaGlwIFNvQ3MuIFdlJiMzOTtyZSBub3QgZ29pbmcgdG8gYmUgYWJsZSB0byByZWFjaCBpdCBpbiBhIHN0YW5kYXJkIHg4NiBRRU1VL0dDRSBzZXR1cC4KCkp1c3QgdG8gYmUgYWJzb2x1dGVseSBzdXJlLCBsZXQmIzM5O3MgY2hlY2sgZm9yIGFueSBwb3RlbnRpYWwgZW11bGF0aW9uIG9mIFJvY2tjaGlwIERXTUFDIGluIFFFTVUuIFFFTVUgZG9lcyBoYXZlIHNvbWUgUm9ja2NoaXAgYm9hcmQgc3VwcG9ydOKAlHJvY2twcm82NCBjb21lcyB0byBtaW5k4oCUYnV0IHN5emthbGxlciB0eXBpY2FsbHkgcnVucyBvbiB4ODZfNjQgVk1zIG9yIGFybTY0IFZNcyB3aXRoIGEgZ2VuZXJpYyB2aXJ0IGJvYXJkLiBUaGlzIGdlbmVyaWMgdmlydCBib2FyZCwgb2YgY291cnNlLCBkb2VzIG5vdCBoYXZlIHRoZSBSb2NrY2hpcCBEV01BQy4gVGhlcmVmb3JlLCBpdCYjMzk7cyBpbXBvc3NpYmxlIHRvIHJlYWNoLgoKT2theSwgSSYjMzk7bSBjb25maWRlbnQuIEkmIzM5O20gZ29pbmcgdG8gc2V0IGBXb3J0aEZ1enppbmdgIHRvIGBmYWxzZWAuCgoqKlJlYXNvbmluZzoqKiBUaGUgcGF0Y2ggbW9kaWZpZXMgYGR3bWFjLXJrLmNgLCBhIFJvY2tjaGlwLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlci4gVGhpcyBoYXJkd2FyZSBpcyBzaW1wbHkgbm90IHByZXNlbnQgb3IgZW11bGF0ZWQgaW4gdGhlIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAobGlrZSBHQ0Ugb3IgUUVNVSBnZW5lcmljIFZNcykgdXNlZCBmb3IgZnV6emluZywgbWFraW5nIHRoZSBjb2RlIHBhdGhzIHVucmVhY2hhYmxlLiBPbmUgZmluYWwgY2hlY2sgb2YgdGhlIEtjb25maWcgZm9yIGR3bWFjLXJrLmMgd2lsbCBjb25maXJtIG15IGFzc2Vzc21lbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6Mjk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7ZHdtYWMtcmsmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU9MjU9b2JqLSQoQ09ORklHX0RXTUFDX1JFTkVTQVNfR0JFVEgpICYjNDM7PSBkd21hYy1yZW5lc2FzLWdiZXRoLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI2Om9iai0kKENPTkZJR19EV01BQ19ST0NLQ0hJUClcdCYjNDM7PSBkd21hYy1yay5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9NYWtlZmlsZS0yNy1vYmotJChDT05GSUdfRFdNQUNfUlpOMSlcdCYjNDM7PSBkd21hYy1yem4xLm9cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTItLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jOjM6ICogRE9DOiBkd21hYy1yay5jIC0gUm9ja2NoaXAgUkszMjg4IERXTUFDIHNwZWNpZmljIGdsdWUgbGF5ZXJcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtNC0gKlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE3IDA5OjI5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUxMDcKCQkJCQkJCW91dHB1dDogOTgKCQkJCQkJCXRob3VnaHRzOiAyNQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZSwgcHJlc2VudGVkIGluIHRoZSBmaXJzdCBwZXJzb246CgoqKkRlY2lzaW9uIG9uIGBDT05GSUdfRFdNQUNfUk9DS0NISVBgIGFuZCBGdXp6aW5nKioKCkFscmlnaHQsIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGNvbmZpZ3VyYXRpb24gb3B0aW9uLCBgQ09ORklHX0RXTUFDX1JPQ0tDSElQYC4gQmFzZWQgb24gbXkgdW5kZXJzdGFuZGluZyBvZiB0aGlzIGNvZGViYXNlIGFuZCB0aGUgaW1wbGljYXRpb25zIG9mIHRoaXMgc3BlY2lmaWMgaGFyZHdhcmUsIEkmIzM5O3ZlIGRlY2lkZWQgdGhhdCBgV29ydGhGdXp6aW5nYCBzaG91bGQgYmUgc2V0IHRvIGBmYWxzZWAuIE15IHJlYXNvbmluZyBoZXJlIGlzIGxpa2VseSB0aGF0IGVpdGhlciB0aGlzIHBhcnRpY3VsYXIgbW9kdWxlIGRvZXNuJiMzOTt0IHByZXNlbnQgYSBzaWduaWZpY2FudCBhdHRhY2sgc3VyZmFjZSB3b3J0aHkgb2YgZnV6emluZyBlZmZvcnRzIGdpdmVuIG15IGN1cnJlbnQga25vd2xlZGdlLCBvciB0aGF0IEkgYWxyZWFkeSBoYXZlIGEgY2xlYXIgdW5kZXJzdGFuZGluZyB0aGF0IHRoZXJlIGFyZSBubyBsaWtlbHkgaXNzdWVzIHRoYXQgZnV6emluZyB3b3VsZCBmaW5kLCBvciB0aGF0IHRoZSBjdXJyZW50IGZ1enppbmcgaW5mcmFzdHJ1Y3R1cmUgaXMgbm90IHN1aXRhYmxlIHRvIHRob3JvdWdobHkgZnV6eiB0aGlzIHBhcnRpY3VsYXIgbW9kdWxlLCBvciB0aGF0IGZ1enppbmcgd291bGQgYmUgcmVkdW5kYW50IGJhc2VkIG9uIHByZXZpb3VzIGFuYWx5c2lzIG9yIHRlc3RpbmcuIE15IHRpbWUgaXMgYmV0dGVyIHNwZW50IGZvY3VzaW5nIG9uIG90aGVyIGFyZWFzIHdoZXJlIGZ1enppbmcgd2lsbCB5aWVsZCBoaWdoZXIgcmV0dXJucywgb3IgSSBtaWdodCBoYXZlIGEgcHJlLWV4aXN0aW5nIHJlYXNvbiB0byBleGNsdWRlIHRoaXMgcGFydGljdWxhciBjb25maWd1cmF0aW9uIGZyb20gZnV6emluZyBydW5zLiBJdCBpcyBub3QgbmVjZXNzYXJpbHkgZHVlIHRvIGEgdG90YWwgbGFjayBvZiBjb25jZXJuLCBidXQgc2ltcGx5IGEgZGVjaXNpb24gcmVsYXRlZCB0byBwcmlvcml0aXphdGlvbiBhbmQgZWZmaWNpZW5jeSBpbiBmaW5kaW5nIHZ1bG5lcmFiaWxpdGllcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTcgMDk6MzA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgUm9ja2NoaXAgRFdNQUMgZHJpdmVyIChkd21hYy1yay5jKSwgd2hpY2ggaXMgYSBwbGF0Zm9ybS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXIgZm9yIFJvY2tjaGlwIFNvQ3MuIFRoaXMgaGFyZHdhcmUgaXMgbm90IHByZXNlbnQgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIChsaWtlIEdDRSBvciBRRU1VIGdlbmVyaWMgVk1zKSB1c2VkIGZvciBmdXp6aW5nLCBtYWtpbmcgdGhlIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgUm9ja2NoaXAgRFdNQUMgZHJpdmVyIChkd21hYy1yay5jKSwgd2hpY2ggaXMgYSBwbGF0Zm9ybS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXIgZm9yIFJvY2tjaGlwIFNvQ3MuIFRoaXMgaGFyZHdhcmUgaXMgbm90IHByZXNlbnQgb3IgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIChsaWtlIEdDRSBvciBRRU1VIGdlbmVyaWMgVk1zKSB1c2VkIGZvciBmdXp6aW5nLCBtYWtpbmcgdGhlIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMTdUMDk6Mjk6NDEuMTg3MDA0OTU5WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjExMzczNTEwMzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjQxLjE4NzAxMDI1OVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDgyMTM1NDIwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZDM3MmVhMTE2MGIyNjdjYzQ2OTRkMGYwNGMyY2U0Y2NhNDY0MzEwZFxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEp1bCAxNyAwOToyOTozOSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWwgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWxcXG5pbmRleCA4MGMyNTI4NDUzNDljNC4uZDU4MTZkNmRjMDI2MTQgMTAwNjQ0XFxuLS0tIGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sXFxuKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sXFxuQEAgLTg5LDggKzg5LDkgQEAgcHJvcGVydGllczpcXG4gXFxuICAgY2xvY2tfaW5fb3V0OlxcbiAgICAgZGVzY3JpcHRpb246XFxuLSAgICAgIEZvciBSR01JSSwgaXQgbXVzdCBiZSBcXFwiaW5wdXRcXFwiLCBtZWFucyBtYWluIGNsb2NrKDEyNU1IeilcXG4tICAgICAgaXMgbm90IHNvdXJjZWQgZnJvbSBTb0MncyBQTEwsIGJ1dCBpbnB1dCBmcm9tIFBIWS5cXG4rICAgICAgRm9yIFJHTUlJLCBcXFwiaW5wdXRcXFwiIG1lYW5zIHRoZSAxMjVNSHogbWFpbiBjbG9jayBpcyBpbnB1dCBmcm9tIHRoZVxcbisgICAgICBQSFksIG5vdCBzb3VyY2VkIGZyb20gdGhlIFNvQyBQTEw7IFxcXCJvdXRwdXRcXFwiIG1lYW5zIHRoZSBTb0MgcHJvdmlkZXNcXG4rICAgICAgYSAyNU1IeiByZWZlcmVuY2UgY2xvY2sgb3V0IHRvIGEgY3J5c3RhbC1sZXNzIFBIWS5cXG4gICAgICAgRm9yIFJNSUksIFxcXCJpbnB1dFxcXCIgbWVhbnMgUEhZIHByb3ZpZGVzIHRoZSByZWZlcmVuY2UgY2xvY2soNTBNSHopLFxcbiAgICAgICBcXFwib3V0cHV0XFxcIiBtZWFucyBHTUFDIHByb3ZpZGVzIHRoZSByZWZlcmVuY2UgY2xvY2suXFxuICAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9zdHJpbmdcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmNcXG5pbmRleCA4ZDcwNDJlNjg5MjYxOS4uZGQwNjBlNGI4YzA2ODcgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmNcXG5AQCAtMTExMiw3ICsxMTEyLDcgQEAgc3RhdGljIGludCBya19nbWFjX2Nsa19pbml0KHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdClcXG4gXFx0YnNwX3ByaXYtXFx1MDAzZWNsa19lbmFibGVkID0gZmFsc2U7XFxuIFxcbiBcXHRic3BfcHJpdi1cXHUwMDNlbnVtX2Nsa3MgPSBBUlJBWV9TSVpFKHJrX2Nsb2Nrcyk7XFxuLVxcdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkpXFxuK1xcdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkgfHwgIWJzcF9wcml2LVxcdTAwM2VjbG9ja19pbnB1dClcXG4gXFx0XFx0YnNwX3ByaXYtXFx1MDAzZW51bV9jbGtzICs9IEFSUkFZX1NJWkUocmtfcm1paV9jbG9ja3MpO1xcbiBcXG4gXFx0YnNwX3ByaXYtXFx1MDAzZWNsa3MgPSBkZXZtX2tjYWxsb2MoZGV2LCBic3BfcHJpdi1cXHUwMDNlbnVtX2Nsa3MsXFxuQEAgLTExMjMsNyArMTEyMyw3IEBAIHN0YXRpYyBpbnQgcmtfZ21hY19jbGtfaW5pdChzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpXFxuIFxcdGZvciAoaSA9IDA7IGkgXFx1MDAzYyBBUlJBWV9TSVpFKHJrX2Nsb2Nrcyk7IGkrKylcXG4gXFx0XFx0YnNwX3ByaXYtXFx1MDAzZWNsa3NbaV0uaWQgPSBya19jbG9ja3NbaV07XFxuIFxcbi1cXHRpZiAocGh5X2lmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9STUlJKSB7XFxuK1xcdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkgfHwgIWJzcF9wcml2LVxcdTAwM2VjbG9ja19pbnB1dCkge1xcbiBcXHRcXHRmb3IgKGogPSAwOyBqIFxcdTAwM2MgQVJSQVlfU0laRShya19ybWlpX2Nsb2Nrcyk7IGorKylcXG4gXFx0XFx0XFx0YnNwX3ByaXYtXFx1MDAzZWNsa3NbaSsrXS5pZCA9IHJrX3JtaWlfY2xvY2tzW2pdO1xcbiBcXHR9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjQxLjY2OTg5MzczOFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjA2NTQ0NTYyOTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZDM3MmVhMTE2MGIyNjdjYzQ2OTRkMGYwNGMyY2U0Y2NhNDY0MzEwZFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBGcmkgSnVsIDE3IDA5OjI5OjM5IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sXG5pbmRleCA4MGMyNTI4NDUzNDljNC4uZDU4MTZkNmRjMDI2MTQgMTAwNjQ0XG4tLS0gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L3JvY2tjaGlwLWR3bWFjLnlhbWxcbisrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9uZXQvcm9ja2NoaXAtZHdtYWMueWFtbFxuQEAgLTg5LDggKzg5LDkgQEAgcHJvcGVydGllczpcbiBcbiAgIGNsb2NrX2luX291dDpcbiAgICAgZGVzY3JpcHRpb246XG4tICAgICAgRm9yIFJHTUlJLCBpdCBtdXN0IGJlIFwiaW5wdXRcIiwgbWVhbnMgbWFpbiBjbG9jaygxMjVNSHopXG4tICAgICAgaXMgbm90IHNvdXJjZWQgZnJvbSBTb0MncyBQTEwsIGJ1dCBpbnB1dCBmcm9tIFBIWS5cbisgICAgICBGb3IgUkdNSUksIFwiaW5wdXRcIiBtZWFucyB0aGUgMTI1TUh6IG1haW4gY2xvY2sgaXMgaW5wdXQgZnJvbSB0aGVcbisgICAgICBQSFksIG5vdCBzb3VyY2VkIGZyb20gdGhlIFNvQyBQTEw7IFwib3V0cHV0XCIgbWVhbnMgdGhlIFNvQyBwcm92aWRlc1xuKyAgICAgIGEgMjVNSHogcmVmZXJlbmNlIGNsb2NrIG91dCB0byBhIGNyeXN0YWwtbGVzcyBQSFkuXG4gICAgICAgRm9yIFJNSUksIFwiaW5wdXRcIiBtZWFucyBQSFkgcHJvdmlkZXMgdGhlIHJlZmVyZW5jZSBjbG9jayg1ME1IeiksXG4gICAgICAgXCJvdXRwdXRcIiBtZWFucyBHTUFDIHByb3ZpZGVzIHRoZSByZWZlcmVuY2UgY2xvY2suXG4gICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3N0cmluZ1xuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG5pbmRleCA4ZDcwNDJlNjg5MjYxOS4uZGQwNjBlNGI4YzA2ODcgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXG5AQCAtMTExMiw3ICsxMTEyLDcgQEAgc3RhdGljIGludCBya19nbWFjX2Nsa19pbml0KHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdClcbiBcdGJzcF9wcml2LVx1MDAzZWNsa19lbmFibGVkID0gZmFsc2U7XG4gXG4gXHRic3BfcHJpdi1cdTAwM2VudW1fY2xrcyA9IEFSUkFZX1NJWkUocmtfY2xvY2tzKTtcbi1cdGlmIChwaHlfaWZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkpXG4rXHRpZiAocGh5X2lmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9STUlJIHx8ICFic3BfcHJpdi1cdTAwM2VjbG9ja19pbnB1dClcbiBcdFx0YnNwX3ByaXYtXHUwMDNlbnVtX2Nsa3MgKz0gQVJSQVlfU0laRShya19ybWlpX2Nsb2Nrcyk7XG4gXG4gXHRic3BfcHJpdi1cdTAwM2VjbGtzID0gZGV2bV9rY2FsbG9jKGRldiwgYnNwX3ByaXYtXHUwMDNlbnVtX2Nsa3MsXG5AQCAtMTEyMyw3ICsxMTIzLDcgQEAgc3RhdGljIGludCBya19nbWFjX2Nsa19pbml0KHN0cnVjdCBwbGF0X3N0bW1hY2VuZXRfZGF0YSAqcGxhdClcbiBcdGZvciAoaSA9IDA7IGkgXHUwMDNjIEFSUkFZX1NJWkUocmtfY2xvY2tzKTsgaSsrKVxuIFx0XHRic3BfcHJpdi1cdTAwM2VjbGtzW2ldLmlkID0gcmtfY2xvY2tzW2ldO1xuIFxuLVx0aWYgKHBoeV9pZmFjZSA9PSBQSFlfSU5URVJGQUNFX01PREVfUk1JSSkge1xuK1x0aWYgKHBoeV9pZmFjZSA9PSBQSFlfSU5URVJGQUNFX01PREVfUk1JSSB8fCAhYnNwX3ByaXYtXHUwMDNlY2xvY2tfaW5wdXQpIHtcbiBcdFx0Zm9yIChqID0gMDsgaiBcdTAwM2MgQVJSQVlfU0laRShya19ybWlpX2Nsb2Nrcyk7IGorKylcbiBcdFx0XHRic3BfcHJpdi1cdTAwM2VjbGtzW2krK10uaWQgPSBya19ybWlpX2Nsb2Nrc1tqXTtcbiBcdH1cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjQxLjY2OTg5NTQyOFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjU5NDIyNDA1NDAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudCBvZiB0aGUgUm9ja2NoaXAgRFdNQUMgRHJpdmVyKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IHR3ZWFrcyBgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL25ldC9yb2NrY2hpcC1kd21hYy55YW1sYCBhbmQgYGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmNgLiBTcGVjaWZpY2FsbHksIHRoZSBjaGFuZ2VzIGFyZSBpbiBgcmtfZ21hY19jbGtfaW5pdGAgd2l0aGluIHRoYXQgYGR3bWFjLXJrLmNgIGZpbGUuIE15IGltbWVkaWF0ZSBjb25jZXJuIGlzIHdoZXRoZXIgdGhpcyBpcyBldmVuIGZ1enphYmxlLCBnaXZlbiBpdCBsb29rcyBsaWtlIGEgaGFyZHdhcmUtc3BlY2lmaWMgZHJpdmVyLiBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiBpdCdzIHJlYWNoYWJsZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LlxuXG5UaGUgZmlsZSBuYW1lIGBkd21hYy1yay5jYCB0ZWxscyBtZSB0aGlzIGlzIHRoZSBSb2NrY2hpcCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgRGVzaWduV2FyZSBNQUMgKERXTUFDKSBkcml2ZXIuIFRoaXMgbWVhbnMgaXQncyBhIHBsYXRmb3JtIGRyaXZlciwgc3BlY2lmaWNhbGx5IGZvciBSb2NrY2hpcCBTb0NzLiBTbywgdGhlIHF1ZXN0aW9uIGlzOiBDYW4gSSBldmVuICpnZXQqIHRvIHRoaXMgZHJpdmVyIGluIGEgZnV6emluZyBzZXR1cD8gTm9ybWFsbHksIHRoZXNlIFNvQy1zcGVjaWZpYyBwbGF0Zm9ybSBkcml2ZXJzIGFyZSBhIHBhaW4gYmVjYXVzZSB0aGV5J3JlIHRpZ2h0bHkgY291cGxlZCB0byB0aGUgaGFyZHdhcmUuIFlvdSBvZnRlbiBjYW4ndCBqdXN0IGluc3RhbnRpYXRlIHRoZW0gd2l0aG91dCB0aGUgdGFyZ2V0IFNvQywgb3IgYXQgbGVhc3QgYSBnb29kIGVtdWxhdGlvbi4gUENJL1VTQiBkcml2ZXJzIGFyZSBlYXNpZXIsIGJ1dCB0aGlzIGlzbid0IG9uZSBvZiB0aG9zZS5cblxuSG93ZXZlciwgc3l6a2FsbGVyICpjYW4qIGZ1enogcGxhdGZvcm0gZHJpdmVycy4gSXQgZGVwZW5kcyBvbiB3aGV0aGVyIHRoZXkgY2FuIGJlIGluc3RhbnRpYXRlZCB2aWEgcHNldWRvLWRldmljZXMgb3IgZGV2aWNlIHRyZWUgb3ZlcmxheXMuIEJ1dCBldmVuIHdpdGggdGhvc2UgdGVjaG5pcXVlcywgdGhlc2UgU29DLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlcnMgYXJlIG9mdGVuIGEgcmVhbCBjaGFsbGVuZ2Ugd2l0aG91dCB0aGUgYWN0dWFsIGhhcmR3YXJlIG9yIGEgdmVyeSBhY2N1cmF0ZSBlbXVsYXRpb24uIEkgbmVlZCB0byBtYWtlIHN1cmUgdGhpcyBpcyBhY3R1YWxseSBhIHBsYXRmb3JtIGRyaXZlci4gSSdsbCBjb25maXJtIHRoYXQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0NDAsIk91dHB1dFRva2VucyI6NDgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNzYsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QwOToyOTo0Ny42MTIxMzg4NjdaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTg3MjExMjksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwicmtfZ21hY19jbGtfaW5pdFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM9MTA5NT1zdGF0aWMgY29uc3Qgc3RydWN0IHJrX2dtYWNfb3BzIHJ2MTEyNl9vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTExMDQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYzoxMTA1OnN0YXRpYyBpbnQgcmtfZ21hY19jbGtfaW5pdChzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xMTA2LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM9MTU2OD1zdGF0aWMgaW50IHJrX2dtYWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMtMTYwOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jOjE2MDk6XFx0cmV0ID0gcmtfZ21hY19jbGtfaW5pdChwbGF0X2RhdCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xNjEwLVxcdGlmIChyZXQpXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjQ3LjY3MDg2NTk3NloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI4NTQxODExMDcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZSwgYW5kIGRlbGl2ZXJlZCBhcyBhIGZpcnN0LXBlcnNvbiBzdW1tYXJ5OlxuXG4qKkRpZ2dpbmcgaW50byB0aGUgR01BQyBEcml2ZXIqKlxuXG5SaWdodCwgc28gSSdtIHRyYWNpbmcgdGhyb3VnaCB0aGlzIHN5c3RlbSBhbmQgSSd2ZSBoaXQgYSBjYWxsIGZyb20gYHJrX2dtYWNfcHJvYmVgLiBPa2F5LCB0aGF0J3MgdGhlIHN0YXJ0aW5nIHBvaW50LiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gcXVpY2tseSB2ZXJpZnkgdGhlIG5hdHVyZSBvZiB0aGlzIGRyaXZlciwgdG8gYmUgc3VyZSBJJ20gb3JpZW50ZWQgaW4gdGhlIHJpZ2h0IHBsYWNlLiBUaGUgcHJpbWFyeSBxdWVzdGlvbiBvbiBteSBtaW5kIGF0IHRoaXMgc3RhZ2UgaXMgXCJJcyBgZHdtYWMtcmsuY2AgaW1wbGVtZW50ZWQgYXMgYSBwbGF0Zm9ybSBkcml2ZXI/XCIuIFRoaXMgaXMgYSBjcml0aWNhbCBwaWVjZSBvZiBjb250ZXh0LCBpdCB3aWxsIGltcGFjdCBob3cgdGhlIGRyaXZlciBpcyByZWdpc3RlcmVkLiBLbm93aW5nIGl0cyBkcml2ZXIgdHlwZSBlbmFibGVzIG1lIHRvIGFudGljaXBhdGUgdGhlIGNvbnRyb2wgZmxvdy5cblxuXG4iLCJJbnB1dFRva2VucyI6MzQxNiwiT3V0cHV0VG9rZW5zIjo0MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjMyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjUwLjUyNTA0ODczNFoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2NDA1MDEyOSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJwbGF0Zm9ybV9kcml2ZXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jPTE2MzU9TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcmtfZ21hY19kd21hY19tYXRjaCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xNjM2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM6MTYzNzpzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBya19nbWFjX2R3bWFjX2RyaXZlciA9IHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2MzgtXFx0LnByb2JlICA9IHJrX2dtYWNfcHJvYmUsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTE2NDQtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jOjE2NDU6bW9kdWxlX3BsYXRmb3JtX2RyaXZlcihya19nbWFjX2R3bWFjX2RyaXZlcik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy0xNjQ2LVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xN1QwOToyOTo1MC41ODkxMDc3OTJaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3NzY4Njc5NjAwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKldvcnRoRnV6emluZyBBc3Nlc3NtZW50OiBkd21hYy1yay5jKipcblxuT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLiBUaGlzIGxvb2tzIGxpa2UgYSBwbGF0Zm9ybSBkcml2ZXIsIHNwZWNpZmljYWxseSBmb3IgdGhlIFJvY2tjaGlwIERXTUFDIEV0aGVybmV0IGNvbnRyb2xsZXIuIEltbWVkaWF0ZWx5LCBhbGFybSBiZWxscyBhcmUgcmluZ2luZy4gSW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsIHRoZSBSb2NrY2hpcCBoYXJkd2FyZSBpc24ndCBwcmVzZW50LCBpcyBpdD8gV2UgY2FuJ3QganVzdCBleHBlY3QgaXQgdG8gYmUgdGhlcmUuIFNvLCB0aGUgcXVlc3Rpb24gaXM6IGNhbiB3ZSBldmVuIGZ1enogdGhpcz9cblxuUGxhdGZvcm0gZHJpdmVycyBhcmUgdHlwaWNhbGx5IGEgbm8tZ28gZm9yIGZ1enppbmcgYmVjYXVzZSB0aGV5J3JlIHNvIHRpZ2h0bHkgY291cGxlZCB3aXRoIHNwZWNpZmljIGhhcmR3YXJlIG9yIGRldmljZSB0cmVlIGNvbmZpZ3VyYXRpb25zLCBzdHVmZiB0aGF0IHlvdSBqdXN0IGRvbid0IGZpbmQgaW4geW91ciBhdmVyYWdlIHg4NiBWTS4gVGhvdWdoLCB3YWl0LCBpc24ndCB0aGVyZSBzb21lIGxpbWl0ZWQgc3VwcG9ydCBpbiBzeXprYWxsZXIgZm9yIGluamVjdGluZyBwbGF0Zm9ybSBkZXZpY2VzPyBIbW1tLiBMZXQncyBzZWUgaWYgdGhlcmUncyBhbnkgd2F5IHRvIGdldCBhdCB0aGlzIGRyaXZlci5cblxuVGhlIHByb21wdCwgaG93ZXZlciwgc2V0cyB0aGUgZXhwZWN0YXRpb246IFwiUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWlucyBjb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLi4uXCIgVGhhdCBzb3VuZHMgbGlrZSB0aGlzIGRyaXZlciB0byBtZSwgc2luY2UgaXQncyBSb2NrY2hpcCBzcGVjaWZpYy5cblxuU28sIHNpbmNlIGl0J3MgYSBSb2NrY2hpcC1zcGVjaWZpYyBFdGhlcm5ldCBNQUMgZHJpdmVyLCBpdCdzIGJvdW5kIHRvIFJvY2tjaGlwIFNvQ3MuIFdlJ3JlIG5vdCBnb2luZyB0byBiZSBhYmxlIHRvIHJlYWNoIGl0IGluIGEgc3RhbmRhcmQgeDg2IFFFTVUvR0NFIHNldHVwLlxuXG5KdXN0IHRvIGJlIGFic29sdXRlbHkgc3VyZSwgbGV0J3MgY2hlY2sgZm9yIGFueSBwb3RlbnRpYWwgZW11bGF0aW9uIG9mIFJvY2tjaGlwIERXTUFDIGluIFFFTVUuIFFFTVUgZG9lcyBoYXZlIHNvbWUgUm9ja2NoaXAgYm9hcmQgc3VwcG9ydOKAlHJvY2twcm82NCBjb21lcyB0byBtaW5k4oCUYnV0IHN5emthbGxlciB0eXBpY2FsbHkgcnVucyBvbiB4ODZfNjQgVk1zIG9yIGFybTY0IFZNcyB3aXRoIGEgZ2VuZXJpYyB2aXJ0IGJvYXJkLiBUaGlzIGdlbmVyaWMgdmlydCBib2FyZCwgb2YgY291cnNlLCBkb2VzIG5vdCBoYXZlIHRoZSBSb2NrY2hpcCBEV01BQy4gVGhlcmVmb3JlLCBpdCdzIGltcG9zc2libGUgdG8gcmVhY2guXG5cbk9rYXksIEknbSBjb25maWRlbnQuIEknbSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZ2AgdG8gYGZhbHNlYC5cblxuKipSZWFzb25pbmc6KiogVGhlIHBhdGNoIG1vZGlmaWVzIGBkd21hYy1yay5jYCwgYSBSb2NrY2hpcC1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgc2ltcGx5IG5vdCBwcmVzZW50IG9yIGVtdWxhdGVkIGluIHRoZSBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS4gT25lIGZpbmFsIGNoZWNrIG9mIHRoZSBLY29uZmlnIGZvciBkd21hYy1yay5jIHdpbGwgY29uZmlybSBteSBhc3Nlc3NtZW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjozOTEzLCJPdXRwdXRUb2tlbnMiOjM4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDMxLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjU4LjM1Nzc4OTM0MloiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1ODkwNjk1OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJkd21hYy1ya1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGU9MjU9b2JqLSQoQ09ORklHX0RXTUFDX1JFTkVTQVNfR0JFVEgpICs9IGR3bWFjLXJlbmVzYXMtZ2JldGgub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL01ha2VmaWxlOjI2Om9iai0kKENPTkZJR19EV01BQ19ST0NLQ0hJUClcXHQrPSBkd21hYy1yay5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvTWFrZWZpbGUtMjctb2JqLSQoQ09ORklHX0RXTUFDX1JaTjEpXFx0Kz0gZHdtYWMtcnpuMS5vXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jLTItLyoqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYzozOiAqIERPQzogZHdtYWMtcmsuYyAtIFJvY2tjaGlwIFJLMzI4OCBEV01BQyBzcGVjaWZpYyBnbHVlIGxheWVyXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYy00LSAqXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjI5OjU4LjQxNjcwMzQzWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzkwNzYxOTAxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGludGVycHJldGF0aW9uIG9mIHRob3NlIHRob3VnaHRzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBwcmVzZW50ZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjpcblxuKipEZWNpc2lvbiBvbiBgQ09ORklHX0RXTUFDX1JPQ0tDSElQYCBhbmQgRnV6emluZyoqXG5cbkFscmlnaHQsIEknbSBsb29raW5nIGF0IHRoaXMgY29uZmlndXJhdGlvbiBvcHRpb24sIGBDT05GSUdfRFdNQUNfUk9DS0NISVBgLiBCYXNlZCBvbiBteSB1bmRlcnN0YW5kaW5nIG9mIHRoaXMgY29kZWJhc2UgYW5kIHRoZSBpbXBsaWNhdGlvbnMgb2YgdGhpcyBzcGVjaWZpYyBoYXJkd2FyZSwgSSd2ZSBkZWNpZGVkIHRoYXQgYFdvcnRoRnV6emluZ2Agc2hvdWxkIGJlIHNldCB0byBgZmFsc2VgLiBNeSByZWFzb25pbmcgaGVyZSBpcyBsaWtlbHkgdGhhdCBlaXRoZXIgdGhpcyBwYXJ0aWN1bGFyIG1vZHVsZSBkb2Vzbid0IHByZXNlbnQgYSBzaWduaWZpY2FudCBhdHRhY2sgc3VyZmFjZSB3b3J0aHkgb2YgZnV6emluZyBlZmZvcnRzIGdpdmVuIG15IGN1cnJlbnQga25vd2xlZGdlLCBvciB0aGF0IEkgYWxyZWFkeSBoYXZlIGEgY2xlYXIgdW5kZXJzdGFuZGluZyB0aGF0IHRoZXJlIGFyZSBubyBsaWtlbHkgaXNzdWVzIHRoYXQgZnV6emluZyB3b3VsZCBmaW5kLCBvciB0aGF0IHRoZSBjdXJyZW50IGZ1enppbmcgaW5mcmFzdHJ1Y3R1cmUgaXMgbm90IHN1aXRhYmxlIHRvIHRob3JvdWdobHkgZnV6eiB0aGlzIHBhcnRpY3VsYXIgbW9kdWxlLCBvciB0aGF0IGZ1enppbmcgd291bGQgYmUgcmVkdW5kYW50IGJhc2VkIG9uIHByZXZpb3VzIGFuYWx5c2lzIG9yIHRlc3RpbmcuIE15IHRpbWUgaXMgYmV0dGVyIHNwZW50IGZvY3VzaW5nIG9uIG90aGVyIGFyZWFzIHdoZXJlIGZ1enppbmcgd2lsbCB5aWVsZCBoaWdoZXIgcmV0dXJucywgb3IgSSBtaWdodCBoYXZlIGEgcHJlLWV4aXN0aW5nIHJlYXNvbiB0byBleGNsdWRlIHRoaXMgcGFydGljdWxhciBjb25maWd1cmF0aW9uIGZyb20gZnV6emluZyBydW5zLiBJdCBpcyBub3QgbmVjZXNzYXJpbHkgZHVlIHRvIGEgdG90YWwgbGFjayBvZiBjb25jZXJuLCBidXQgc2ltcGx5IGEgZGVjaXNpb24gcmVsYXRlZCB0byBwcmlvcml0aXphdGlvbiBhbmQgZWZmaWNpZW5jeSBpbiBmaW5kaW5nIHZ1bG5lcmFiaWxpdGllcy5cblxuXG4iLCJJbnB1dFRva2VucyI6NTEwNywiT3V0cHV0VG9rZW5zIjo5OCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI1LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE3VDA5OjMwOjAyLjMyNDMyNTMxNVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyOTAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBSb2NrY2hpcCBEV01BQyBkcml2ZXIgKGR3bWFjLXJrLmMpLCB3aGljaCBpcyBhIHBsYXRmb3JtLXNwZWNpZmljIEV0aGVybmV0IGRyaXZlciBmb3IgUm9ja2NoaXAgU29Dcy4gVGhpcyBoYXJkd2FyZSBpcyBub3QgcHJlc2VudCBvciBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgKGxpa2UgR0NFIG9yIFFFTVUgZ2VuZXJpYyBWTXMpIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGUgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowlx8h2[1] Phase: Running StartedAt: 2026-07-17 09:32:50 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowlx8h2[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-07-17 09:32:50 +0000 UTC FinishedAt: 2026-07-17 09:33:04 +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,}