ZGlmZiAtLWdpdCBhL2puaS9vcGVuc3NsL2NyeXB0by9zaGEvYXNtL3NoYTUxMi01ODYucGwgYi9qbmkvb3BlbnNzbC9jcnlwdG8vc2hhL2FzbS9zaGE1MTItNTg2LnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViOWYzMzMKLS0tIC9kZXYvbnVsbAorKysgYi9qbmkvb3BlbnNzbC9jcnlwdG8vc2hhL2FzbS9zaGE1MTItNTg2LnBsCkBAIC0wLDAgKzEsNjQ0IEBACisjIS91c3IvYmluL2VudiBwZXJsCisjCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjIFdyaXR0ZW4gYnkgQW5keSBQb2x5YWtvdiA8YXBwcm9AZnkuY2hhbG1lcnMuc2U+IGZvciB0aGUgT3BlblNTTAorIyBwcm9qZWN0LiBUaGUgbW9kdWxlIGlzLCBob3dldmVyLCBkdWFsIGxpY2Vuc2VkIHVuZGVyIE9wZW5TU0wgYW5kCisjIENSWVBUT0dBTVMgbGljZW5zZXMgZGVwZW5kaW5nIG9uIHdoZXJlIHlvdSBvYnRhaW4gaXQuIEZvciBmdXJ0aGVyCisjIGRldGFpbHMgc2VlIGh0dHA6Ly93d3cub3BlbnNzbC5vcmcvfmFwcHJvL2NyeXB0b2dhbXMvLgorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIworIyBTSEE1MTIgYmxvY2sgdHJhbnNmb3JtIGZvciB4ODYuIFNlcHRlbWJlciAyMDA3LgorIworIyBQZXJmb3JtYW5jZSBpbiBjbG9jayBjeWNsZXMgcGVyIHByb2Nlc3NlZCBieXRlIChsZXNzIGlzIGJldHRlcik6CisjCisjCQlQZW50aXVtCVBJSUkJUDQJQU1EIEs4CUNvcmUyCisjIGdjYwkJMTAwCTc1CTExNgk1NAk2NgorIyBpY2MJCTk3CTc3CTk1CTU1CTU3CisjIHg4NiBhc20JNjEJNTYJODIJMzYJNDAKKyMgU1NFMiBhc20JLQktCTM4CTI0CTIwCisjIHg4Nl82NCBhc20oKikJLQktCTMwCTEwLjAJMTAuNQorIworIyAoKikgeDg2XzY0IGFzc2VtYmxlciBwZXJmb3JtYW5jZSBpcyBwcmVzZW50ZWQgZm9yIHJlZmVyZW5jZQorIyAgICAgcHVycG9zZXMuCisjCisjIElBTFUgY29kZS1wYXRoIGlzIG9wdGltaXplZCBmb3IgZWxkZXIgUGVudGl1bXMuIE9uIHZhbmlsbGEgUGVudGl1bQorIyBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBvdmVyIGNvbXBpbGVyIGdlbmVyYXRlZCBjb2RlIHJlYWNoZXMgfjYwJSwKKyMgd2hpbGUgb24gUElJSSAtIH4zNSUuIE9uIG5ld2VyILUtYXJjaHMgaW1wcm92ZW1lbnQgdmFyaWVzIGZyb20gMTUlCisjIHRvIDUwJSwgYnV0IGl0J3MgbGVzcyBpbXBvcnRhbnQgYXMgdGhleSBhcmUgZXhwZWN0ZWQgdG8gZXhlY3V0ZSBTU0UyCisjIGNvZGUtcGF0aCwgd2hpY2ggaXMgY29tbW9ubHkgfjItM3ggZmFzdGVyIFt0aGFuIGNvbXBpbGVyIGdlbmVyYXRlZAorIyBjb2RlXS4gU1NFMiBjb2RlLXBhdGggaXMgYXMgZmFzdCBhcyBvcmlnaW5hbCBzaGE1MTItc3NlMi5wbCwgZXZlbgorIyB0aG91Z2ggaXQgZG9lcyBub3QgdXNlIDEyOC1iaXQgb3BlcmF0aW9ucy4gVGhlIGxhdHRlciBtZWFucyB0aGF0CisjIFNTRTItYXdhcmUga2VybmVsIGlzIG5vIGxvbmdlciByZXF1aXJlZCB0byBleGVjdXRlIHRoZSBjb2RlLiBBbm90aGVyCisjIGRpZmZlcmVuY2UgaXMgdGhhdCBuZXcgY29kZSBvcHRpbWl6ZXMgYW1vdW50IG9mIHdyaXRlcywgYnV0IGF0IHRoZQorIyBjb3N0IG9mIGluY3JlYXNlZCBkYXRhIGNhY2hlICJmb290cHJpbnQiIGJ5IDEvMktCLgorCiskMCA9fiBtLyguKltcL1xcXSlbXlwvXFxdKyQvOyAkZGlyPSQxOworcHVzaChASU5DLCIke2Rpcn0iLCIke2Rpcn0uLi8uLi9wZXJsYXNtIik7CityZXF1aXJlICJ4ODZhc20ucGwiOworCismYXNtX2luaXQoJEFSR1ZbMF0sInNoYTUxMi01ODYucGwiLCRBUkdWWyQjQVJHVl0gZXEgIjM4NiIpOworCiskc3NlMj0wOworZm9yIChAQVJHVikgeyAkc3NlMj0xIGlmICgvLURPUEVOU1NMX0lBMzJfU1NFMi8pOyB9CisKKyZleHRlcm5hbF9sYWJlbCgiT1BFTlNTTF9pYTMyY2FwX1AiKSBpZiAoJHNzZTIpOworCiskVGxvPSZEV1AoMCwiZXNwIik7CSRUaGk9JkRXUCg0LCJlc3AiKTsKKyRBbG89JkRXUCg4LCJlc3AiKTsJJEFoaT0mRFdQKDgrNCwiZXNwIik7CiskQmxvPSZEV1AoMTYsImVzcCIpOwkkQmhpPSZEV1AoMTYrNCwiZXNwIik7CiskQ2xvPSZEV1AoMjQsImVzcCIpOwkkQ2hpPSZEV1AoMjQrNCwiZXNwIik7CiskRGxvPSZEV1AoMzIsImVzcCIpOwkkRGhpPSZEV1AoMzIrNCwiZXNwIik7CiskRWxvPSZEV1AoNDAsImVzcCIpOwkkRWhpPSZEV1AoNDArNCwiZXNwIik7CiskRmxvPSZEV1AoNDgsImVzcCIpOwkkRmhpPSZEV1AoNDgrNCwiZXNwIik7CiskR2xvPSZEV1AoNTYsImVzcCIpOwkkR2hpPSZEV1AoNTYrNCwiZXNwIik7CiskSGxvPSZEV1AoNjQsImVzcCIpOwkkSGhpPSZEV1AoNjQrNCwiZXNwIik7CiskSzUxMj0iZWJwIjsKKworJEFzc2UyPSZRV1AoMCwiZXNwIik7CiskQnNzZTI9JlFXUCg4LCJlc3AiKTsKKyRDc3NlMj0mUVdQKDE2LCJlc3AiKTsKKyREc3NlMj0mUVdQKDI0LCJlc3AiKTsKKyRFc3NlMj0mUVdQKDMyLCJlc3AiKTsKKyRGc3NlMj0mUVdQKDQwLCJlc3AiKTsKKyRHc3NlMj0mUVdQKDQ4LCJlc3AiKTsKKyRIc3NlMj0mUVdQKDU2LCJlc3AiKTsKKworJEE9Im1tMCI7CSMgQi1EIGFuZAorJEU9Im1tNCI7CSMgRi1IIGFyZSBjb21tb25seSBsb2FkZWQgdG8gcmVzcGVjdGl2ZWx5IG1tMS1tbTMgYW5kCisJCSMgbW01LW1tNywgYnV0IGl0J3MgZG9uZSBvbiBvbi1kZW1hbmQgYmFzaXMuLi4KKworc3ViIEJPRFlfMDBfMTVfc3NlMiB7CisgICAgbXkgJHByZWZldGNoPXNoaWZ0OworCisJJm1vdnEJKCJtbTUiLCRGc3NlMik7CQkJIyBsb2FkIGYKKwkmbW92cQkoIm1tNiIsJEdzc2UyKTsJCQkjIGxvYWQgZworCSZtb3ZxCSgibW03IiwkSHNzZTIpOwkJCSMgbG9hZCBoCisKKwkmbW92cQkoIm1tMSIsJEUpOwkJCSMgJW1tMSBpcyBzbGlkaW5nIHJpZ2h0CisJJm1vdnEJKCJtbTIiLCRFKTsJCQkjICVtbTIgaXMgc2xpZGluZyBsZWZ0CisJJnBzcmxxCSgibW0xIiwxNCk7CisJJm1vdnEJKCRFc3NlMiwkRSk7CQkJIyBtb2R1bG8tc2NoZWR1bGVkIHNhdmUgZQorCSZwc2xscQkoIm1tMiIsMjMpOworCSZtb3ZxCSgibW0zIiwibW0xIik7CQkJIyAlbW0zIGlzIFQxCisJJnBzcmxxCSgibW0xIiw0KTsKKwkmcHhvcgkoIm1tMyIsIm1tMiIpOworCSZwc2xscQkoIm1tMiIsMjMpOworCSZweG9yCSgibW0zIiwibW0xIik7CisJJnBzcmxxCSgibW0xIiwyMyk7CisJJnB4b3IJKCJtbTMiLCJtbTIiKTsKKwkmcHNsbHEJKCJtbTIiLDQpOworCSZweG9yCSgibW0zIiwibW0xIik7CisJJnBhZGRxCSgibW03IixRV1AoMCwkSzUxMikpOwkJIyBoKz1LNTEyW2ldCisJJnB4b3IJKCJtbTMiLCJtbTIiKTsJCQkjIFQxPVNpZ21hMV81MTIoZSkKKworCSZweG9yCSgibW01IiwibW02Iik7CQkJIyBmXj1nCisJJm1vdnEJKCJtbTEiLCRCc3NlMik7CQkJIyBsb2FkIGIKKwkmcGFuZAkoIm1tNSIsJEUpOwkJCSMgZiY9ZQorCSZtb3ZxCSgibW0yIiwkQ3NzZTIpOwkJCSMgbG9hZCBjCisJJnB4b3IJKCJtbTUiLCJtbTYiKTsJCQkjIGZePWcKKwkmbW92cQkoJEUsJERzc2UyKTsJCQkjIGUgPSBsb2FkIGQKKwkmcGFkZHEJKCJtbTMiLCJtbTUiKTsJCQkjIFQxKz1DaChlLGYsZykKKwkmbW92cQkoJlFXUCgwLCJlc3AiKSwkQSk7CQkjIG1vZHVsby1zY2hlZHVsZWQgc2F2ZSBhCisJJnBhZGRxCSgibW0zIiwibW03Iik7CQkJIyBUMSs9aAorCisJJm1vdnEJKCJtbTUiLCRBKTsJCQkjICVtbTUgaXMgc2xpZGluZyByaWdodAorCSZtb3ZxCSgibW02IiwkQSk7CQkJIyAlbW02IGlzIHNsaWRpbmcgbGVmdAorCSZwYWRkcQkoIm1tMyIsJlFXUCg4KjksImVzcCIpKTsJIyBUMSs9WFswXQorCSZwc3JscQkoIm1tNSIsMjgpOworCSZwYWRkcQkoJEUsIm1tMyIpOwkJCSMgZSArPSBUMQorCSZwc2xscQkoIm1tNiIsMjUpOworCSZtb3ZxCSgibW03IiwibW01Iik7CQkJIyAlbW03IGlzIFQyCisJJnBzcmxxCSgibW01Iiw2KTsKKwkmcHhvcgkoIm1tNyIsIm1tNiIpOworCSZwc2xscQkoIm1tNiIsNSk7CisJJnB4b3IJKCJtbTciLCJtbTUiKTsKKwkmcHNybHEJKCJtbTUiLDUpOworCSZweG9yCSgibW03IiwibW02Iik7CisJJnBzbGxxCSgibW02Iiw2KTsKKwkmcHhvcgkoIm1tNyIsIm1tNSIpOworCSZzdWIJKCJlc3AiLDgpOworCSZweG9yCSgibW03IiwibW02Iik7CQkJIyBUMj1TaWdtYTBfNTEyKGEpCisKKwkmbW92cQkoIm1tNSIsJEEpOwkJCSMgJW1tNT1hCisJJnBvcgkoJEEsIm1tMiIpOwkJCSMgYT1hfGMKKwkmbW92cQkoIm1tNiIsJlFXUCg4Kig5KzE2LTE0KSwiZXNwIikpCWlmICgkcHJlZmV0Y2gpOworCSZwYW5kCSgibW01IiwibW0yIik7CQkJIyAlbW01PWEmYworCSZwYW5kCSgkQSwibW0xIik7CQkJIyBhPShhfGMpJmIKKwkmbW92cQkoIm1tMiIsJlFXUCg4Kig5KzE2LTEpLCJlc3AiKSkJaWYgKCRwcmVmZXRjaCk7CisJJnBvcgkoIm1tNSIsJEEpOwkJCSMgJW1tNT0oYSZjKXwoKGF8YykmYikKKwkmcGFkZHEJKCJtbTciLCJtbTUiKTsJCQkjIFQyKz1NYWooYSxiLGMpCisJJm1vdnEJKCRBLCJtbTMiKTsJCQkjIGE9VDEKKworCSZtb3YJKCZMQigiZWR4IiksJkJQKDAsJEs1MTIpKTsKKwkmcGFkZHEJKCRBLCJtbTciKTsJCQkjIGErPVQyCisJJmFkZAkoJEs1MTIsOCk7Cit9CisKK3N1YiBCT0RZXzAwXzE1X3g4NiB7CisJI2RlZmluZSBTaWdtYTEoeCkJKFJPVFIoKHgpLDE0KSBeIFJPVFIoKHgpLDE4KSAgXiBST1RSKCh4KSw0MSkpCisJIwlMTwkJbG8+PjE0XmhpPDwxOCBeIGxvPj4xOF5oaTw8MTQgXiBoaT4+OV5sbzw8MjMKKwkjCUhJCQloaT4+MTRebG88PDE4IF4gaGk+PjE4XmxvPDwxNCBeIGxvPj45XmhpPDwyMworCSZtb3YJKCJlY3giLCRFbG8pOworCSZtb3YJKCJlZHgiLCRFaGkpOworCSZtb3YJKCJlc2kiLCJlY3giKTsKKworCSZzaHIJKCJlY3giLDkpCSMgbG8+PjkKKwkmbW92CSgiZWRpIiwiZWR4Iik7CisJJnNocgkoImVkeCIsOSkJIyBoaT4+OQorCSZtb3YJKCJlYngiLCJlY3giKTsKKwkmc2hsCSgiZXNpIiwxNCk7CSMgbG88PDE0CisJJm1vdgkoImVheCIsImVkeCIpOworCSZzaGwJKCJlZGkiLDE0KTsJIyBoaTw8MTQKKwkmeG9yCSgiZWJ4IiwiZXNpIik7CisKKwkmc2hyCSgiZWN4IiwxNC05KTsJIyBsbz4+MTQKKwkmeG9yCSgiZWF4IiwiZWRpIik7CisJJnNocgkoImVkeCIsMTQtOSk7CSMgaGk+PjE0CisJJnhvcgkoImVheCIsImVjeCIpOworCSZzaGwJKCJlc2kiLDE4LTE0KTsJIyBsbzw8MTgKKwkmeG9yCSgiZWJ4IiwiZWR4Iik7CisJJnNobAkoImVkaSIsMTgtMTQpOwkjIGhpPDwxOAorCSZ4b3IJKCJlYngiLCJlc2kiKTsKKworCSZzaHIJKCJlY3giLDE4LTE0KTsJIyBsbz4+MTgKKwkmeG9yCSgiZWF4IiwiZWRpIik7CisJJnNocgkoImVkeCIsMTgtMTQpOwkjIGhpPj4xOAorCSZ4b3IJKCJlYXgiLCJlY3giKTsKKwkmc2hsCSgiZXNpIiwyMy0xOCk7CSMgbG88PDIzCisJJnhvcgkoImVieCIsImVkeCIpOworCSZzaGwJKCJlZGkiLDIzLTE4KTsJIyBoaTw8MjMKKwkmeG9yCSgiZWF4IiwiZXNpIik7CisJJnhvcgkoImVieCIsImVkaSIpOwkJCSMgVDEgPSBTaWdtYTEoZSkKKworCSZtb3YJKCJlY3giLCRGbG8pOworCSZtb3YJKCJlZHgiLCRGaGkpOworCSZtb3YJKCJlc2kiLCRHbG8pOworCSZtb3YJKCJlZGkiLCRHaGkpOworCSAmYWRkCSgiZWF4IiwkSGxvKTsKKwkgJmFkYwkoImVieCIsJEhoaSk7CQkJIyBUMSArPSBoCisJJnhvcgkoImVjeCIsImVzaSIpOworCSZ4b3IJKCJlZHgiLCJlZGkiKTsKKwkmYW5kCSgiZWN4IiwkRWxvKTsKKwkmYW5kCSgiZWR4IiwkRWhpKTsKKwkgJmFkZAkoImVheCIsJkRXUCg4Kig5KzE1KSswLCJlc3AiKSk7CisJICZhZGMJKCJlYngiLCZEV1AoOCooOSsxNSkrNCwiZXNwIikpOwkjIFQxICs9IFhbMF0KKwkmeG9yCSgiZWN4IiwiZXNpIik7CisJJnhvcgkoImVkeCIsImVkaSIpOwkJCSMgQ2goZSxmLGcpID0gKGZeZykmZSleZworCisJJm1vdgkoImVzaSIsJkRXUCgwLCRLNTEyKSk7CisJJm1vdgkoImVkaSIsJkRXUCg0LCRLNTEyKSk7CQkjIEtbaV0KKwkmYWRkCSgiZWF4IiwiZWN4Iik7CisJJmFkYwkoImVieCIsImVkeCIpOwkJCSMgVDEgKz0gQ2goZSxmLGcpCisJJm1vdgkoImVjeCIsJERsbyk7CisJJm1vdgkoImVkeCIsJERoaSk7CisJJmFkZAkoImVheCIsImVzaSIpOworCSZhZGMJKCJlYngiLCJlZGkiKTsJCQkjIFQxICs9IEtbaV0KKwkmbW92CSgkVGxvLCJlYXgiKTsKKwkmbW92CSgkVGhpLCJlYngiKTsJCQkjIHB1dCBUMSBhd2F5CisJJmFkZAkoImVheCIsImVjeCIpOworCSZhZGMJKCJlYngiLCJlZHgiKTsJCQkjIGQgKz0gVDEKKworCSNkZWZpbmUgU2lnbWEwKHgpCShST1RSKCh4KSwyOCkgXiBST1RSKCh4KSwzNCkgXiBST1RSKCh4KSwzOSkpCisJIwlMTwkJbG8+PjI4XmhpPDw0ICBeIGhpPj4yXmxvPDwzMCBeIGhpPj43XmxvPDwyNQorCSMJSEkJCWhpPj4yOF5sbzw8NCAgXiBsbz4+Ml5oaTw8MzAgXiBsbz4+N15oaTw8MjUKKwkmbW92CSgiZWN4IiwkQWxvKTsKKwkmbW92CSgiZWR4IiwkQWhpKTsKKwkmbW92CSgkRGxvLCJlYXgiKTsKKwkmbW92CSgkRGhpLCJlYngiKTsKKwkmbW92CSgiZXNpIiwiZWN4Iik7CisKKwkmc2hyCSgiZWN4IiwyKQkjIGxvPj4yCisJJm1vdgkoImVkaSIsImVkeCIpOworCSZzaHIJKCJlZHgiLDIpCSMgaGk+PjIKKwkmbW92CSgiZWJ4IiwiZWN4Iik7CisJJnNobAkoImVzaSIsNCk7CSMgbG88PDQKKwkmbW92CSgiZWF4IiwiZWR4Iik7CisJJnNobAkoImVkaSIsNCk7CSMgaGk8PDQKKwkmeG9yCSgiZWJ4IiwiZXNpIik7CisKKwkmc2hyCSgiZWN4Iiw3LTIpOwkjIGxvPj43CisJJnhvcgkoImVheCIsImVkaSIpOworCSZzaHIJKCJlZHgiLDctMik7CSMgaGk+PjcKKwkmeG9yCSgiZWJ4IiwiZWN4Iik7CisJJnNobAkoImVzaSIsMjUtNCk7CSMgbG88PDI1CisJJnhvcgkoImVheCIsImVkeCIpOworCSZzaGwJKCJlZGkiLDI1LTQpOwkjIGhpPDwyNQorCSZ4b3IJKCJlYXgiLCJlc2kiKTsKKworCSZzaHIJKCJlY3giLDI4LTcpOwkjIGxvPj4yOAorCSZ4b3IJKCJlYngiLCJlZGkiKTsKKwkmc2hyCSgiZWR4IiwyOC03KTsJIyBoaT4+MjgKKwkmeG9yCSgiZWF4IiwiZWN4Iik7CisJJnNobAkoImVzaSIsMzAtMjUpOwkjIGxvPDwzMAorCSZ4b3IJKCJlYngiLCJlZHgiKTsKKwkmc2hsCSgiZWRpIiwzMC0yNSk7CSMgaGk8PDMwCisJJnhvcgkoImVheCIsImVzaSIpOworCSZ4b3IJKCJlYngiLCJlZGkiKTsJCQkjIFNpZ21hMChhKQorCisJJm1vdgkoImVjeCIsJEFsbyk7CisJJm1vdgkoImVkeCIsJEFoaSk7CisJJm1vdgkoImVzaSIsJEJsbyk7CisJJm1vdgkoImVkaSIsJEJoaSk7CisJJmFkZAkoImVheCIsJFRsbyk7CisJJmFkYwkoImVieCIsJFRoaSk7CQkJIyBUMSA9IFNpZ21hMChhKStUMQorCSZvcgkoImVjeCIsImVzaSIpOworCSZvcgkoImVkeCIsImVkaSIpOworCSZhbmQJKCJlY3giLCRDbG8pOworCSZhbmQJKCJlZHgiLCRDaGkpOworCSZhbmQJKCJlc2kiLCRBbG8pOworCSZhbmQJKCJlZGkiLCRBaGkpOworCSZvcgkoImVjeCIsImVzaSIpOworCSZvcgkoImVkeCIsImVkaSIpOwkJCSMgTWFqKGEsYixjKSA9ICgoYXxiKSZjKXwoYSZiKQorCisJJmFkZAkoImVheCIsImVjeCIpOworCSZhZGMJKCJlYngiLCJlZHgiKTsJCQkjIFQxICs9IE1haihhLGIsYykKKwkmbW92CSgkVGxvLCJlYXgiKTsKKwkmbW92CSgkVGhpLCJlYngiKTsKKworCSZtb3YJKCZMQigiZWR4IiksJkJQKDAsJEs1MTIpKTsJIyBwcmUtZmV0Y2ggTFNCIG9mICpLCisJJnN1YgkoImVzcCIsOCk7CisJJmxlYQkoJEs1MTIsJkRXUCg4LCRLNTEyKSk7CQkjIEsrKworfQorCisKKyZmdW5jdGlvbl9iZWdpbigic2hhNTEyX2Jsb2NrX2RhdGFfb3JkZXIiKTsKKwkmbW92CSgiZXNpIix3cGFyYW0oMCkpOwkjIGN0eAorCSZtb3YJKCJlZGkiLHdwYXJhbSgxKSk7CSMgaW5wCisJJm1vdgkoImVheCIsd3BhcmFtKDIpKTsJIyBudW0KKwkmbW92CSgiZWJ4IiwiZXNwIik7CQkjIHNhdmVkIHNwCisKKwkmY2FsbAkoJmxhYmVsKCJwaWNfcG9pbnQiKSk7CSMgbWFrZSBpdCBQSUMhCismc2V0X2xhYmVsKCJwaWNfcG9pbnQiKTsKKwkmYmxpbmRwb3AoJEs1MTIpOworCSZsZWEJKCRLNTEyLCZEV1AoJmxhYmVsKCJLNTEyIikuIi0iLiZsYWJlbCgicGljX3BvaW50IiksJEs1MTIpKTsKKworCSZzdWIJKCJlc3AiLDE2KTsKKwkmYW5kCSgiZXNwIiwtNjQpOworCisJJnNobAkoImVheCIsNyk7CisJJmFkZAkoImVheCIsImVkaSIpOworCSZtb3YJKCZEV1AoMCwiZXNwIiksImVzaSIpOwkjIGN0eAorCSZtb3YJKCZEV1AoNCwiZXNwIiksImVkaSIpOwkjIGlucAorCSZtb3YJKCZEV1AoOCwiZXNwIiksImVheCIpOwkjIGlucCtudW0qMTI4CisJJm1vdgkoJkRXUCgxMiwiZXNwIiksImVieCIpOwkjIHNhdmVkIHNwCisKK2lmICgkc3NlMikgeworCSZwaWNtZXVwKCJlZHgiLCJPUEVOU1NMX2lhMzJjYXBfUCIsJEs1MTIsJmxhYmVsKCJLNTEyIikpOworCSZidAkoJkRXUCgwLCJlZHgiKSwyNik7CisJJmpuYwkoJmxhYmVsKCJsb29wX3g4NiIpKTsKKworCSMgbG9hZCBjdHgtPmhbMC03XQorCSZtb3ZxCSgkQSwmUVdQKDAsImVzaSIpKTsKKwkmbW92cQkoIm1tMSIsJlFXUCg4LCJlc2kiKSk7CisJJm1vdnEJKCJtbTIiLCZRV1AoMTYsImVzaSIpKTsKKwkmbW92cQkoIm1tMyIsJlFXUCgyNCwiZXNpIikpOworCSZtb3ZxCSgkRSwmUVdQKDMyLCJlc2kiKSk7CisJJm1vdnEJKCJtbTUiLCZRV1AoNDAsImVzaSIpKTsKKwkmbW92cQkoIm1tNiIsJlFXUCg0OCwiZXNpIikpOworCSZtb3ZxCSgibW03IiwmUVdQKDU2LCJlc2kiKSk7CisJJnN1YgkoImVzcCIsOCoxMCk7CisKKyZzZXRfbGFiZWwoImxvb3Bfc3NlMiIsMTYpOworCSMgJm1vdnEJKCRBc3NlMiwkQSk7CisJJm1vdnEJKCRCc3NlMiwibW0xIik7CisJJm1vdnEJKCRDc3NlMiwibW0yIik7CisJJm1vdnEJKCREc3NlMiwibW0zIik7CisJIyAmbW92cQkoJEVzc2UyLCRFKTsKKwkmbW92cQkoJEZzc2UyLCJtbTUiKTsKKwkmbW92cQkoJEdzc2UyLCJtbTYiKTsKKwkmbW92cQkoJEhzc2UyLCJtbTciKTsKKworCSZtb3YJKCJlY3giLCZEV1AoMCwiZWRpIikpOworCSZtb3YJKCJlZHgiLCZEV1AoNCwiZWRpIikpOworCSZhZGQJKCJlZGkiLDgpOworCSZic3dhcAkoImVjeCIpOworCSZic3dhcAkoImVkeCIpOworCSZtb3YJKCZEV1AoOCo5KzQsImVzcCIpLCJlY3giKTsKKwkmbW92CSgmRFdQKDgqOSswLCJlc3AiKSwiZWR4Iik7CisKKyZzZXRfbGFiZWwoIjAwXzE0X3NzZTIiLDE2KTsKKwkmbW92CSgiZWF4IiwmRFdQKDAsImVkaSIpKTsKKwkmbW92CSgiZWJ4IiwmRFdQKDQsImVkaSIpKTsKKwkmYWRkCSgiZWRpIiw4KTsKKwkmYnN3YXAJKCJlYXgiKTsKKwkmYnN3YXAJKCJlYngiKTsKKwkmbW92CSgmRFdQKDgqOCs0LCJlc3AiKSwiZWF4Iik7CisJJm1vdgkoJkRXUCg4KjgrMCwiZXNwIiksImVieCIpOworCisJJkJPRFlfMDBfMTVfc3NlMigpOworCisJJmNtcAkoJkxCKCJlZHgiKSwweDM1KTsKKwkmam5lCSgmbGFiZWwoIjAwXzE0X3NzZTIiKSk7CisKKwkmQk9EWV8wMF8xNV9zc2UyKDEpOworCismc2V0X2xhYmVsKCIxNl83OV9zc2UyIiwxNik7CisJIyZtb3ZxCSgibW0yIiwmUVdQKDgqKDkrMTYtMSksImVzcCIpKTsJI3ByZWZldGNoZWQgaW4gQk9EWV8wMF8xNSAKKwkjJm1vdnEJKCJtbTYiLCZRV1AoOCooOSsxNi0xNCksImVzcCIpKTsKKwkmbW92cQkoIm1tMSIsIm1tMiIpOworCisJJnBzcmxxCSgibW0yIiwxKTsKKwkmbW92cQkoIm1tNyIsIm1tNiIpOworCSZwc3JscQkoIm1tNiIsNik7CisJJm1vdnEJKCJtbTMiLCJtbTIiKTsKKworCSZwc3JscQkoIm1tMiIsNy0xKTsKKwkmbW92cQkoIm1tNSIsIm1tNiIpOworCSZwc3JscQkoIm1tNiIsMTktNik7CisJJnB4b3IJKCJtbTMiLCJtbTIiKTsKKworCSZwc3JscQkoIm1tMiIsOC03KTsKKwkmcHhvcgkoIm1tNSIsIm1tNiIpOworCSZwc3JscQkoIm1tNiIsNjEtMTkpOworCSZweG9yCSgibW0zIiwibW0yIik7CisKKwkmbW92cQkoIm1tMiIsJlFXUCg4Kig5KzE2KSwiZXNwIikpOworCisJJnBzbGxxCSgibW0xIiw1Nik7CisJJnB4b3IJKCJtbTUiLCJtbTYiKTsKKwkmcHNsbHEJKCJtbTciLDMpOworCSZweG9yCSgibW0zIiwibW0xIik7CisKKwkmcGFkZHEJKCJtbTIiLCZRV1AoOCooOSsxNi05KSwiZXNwIikpOworCisJJnBzbGxxCSgibW0xIiw2My01Nik7CisJJnB4b3IJKCJtbTUiLCJtbTciKTsKKwkmcHNsbHEJKCJtbTciLDQ1LTMpOworCSZweG9yCSgibW0zIiwibW0xIik7CisJJnB4b3IJKCJtbTUiLCJtbTciKTsKKworCSZwYWRkcQkoIm1tMyIsIm1tNSIpOworCSZwYWRkcQkoIm1tMyIsIm1tMiIpOworCSZtb3ZxCSgmUVdQKDgqOSwiZXNwIiksIm1tMyIpOworCisJJkJPRFlfMDBfMTVfc3NlMigxKTsKKworCSZjbXAJKCZMQigiZWR4IiksMHgxNyk7CisJJmpuZQkoJmxhYmVsKCIxNl83OV9zc2UyIikpOworCisJIyAmbW92cQkoJEEsJEFzc2UyKTsKKwkmbW92cQkoIm1tMSIsJEJzc2UyKTsKKwkmbW92cQkoIm1tMiIsJENzc2UyKTsKKwkmbW92cQkoIm1tMyIsJERzc2UyKTsKKwkjICZtb3ZxCSgkRSwkRXNzZTIpOworCSZtb3ZxCSgibW01IiwkRnNzZTIpOworCSZtb3ZxCSgibW02IiwkR3NzZTIpOworCSZtb3ZxCSgibW03IiwkSHNzZTIpOworCisJJnBhZGRxCSgkQSwmUVdQKDAsImVzaSIpKTsKKwkmcGFkZHEJKCJtbTEiLCZRV1AoOCwiZXNpIikpOworCSZwYWRkcQkoIm1tMiIsJlFXUCgxNiwiZXNpIikpOworCSZwYWRkcQkoIm1tMyIsJlFXUCgyNCwiZXNpIikpOworCSZwYWRkcQkoJEUsJlFXUCgzMiwiZXNpIikpOworCSZwYWRkcQkoIm1tNSIsJlFXUCg0MCwiZXNpIikpOworCSZwYWRkcQkoIm1tNiIsJlFXUCg0OCwiZXNpIikpOworCSZwYWRkcQkoIm1tNyIsJlFXUCg1NiwiZXNpIikpOworCisJJm1vdnEJKCZRV1AoMCwiZXNpIiksJEEpOworCSZtb3ZxCSgmUVdQKDgsImVzaSIpLCJtbTEiKTsKKwkmbW92cQkoJlFXUCgxNiwiZXNpIiksIm1tMiIpOworCSZtb3ZxCSgmUVdQKDI0LCJlc2kiKSwibW0zIik7CisJJm1vdnEJKCZRV1AoMzIsImVzaSIpLCRFKTsKKwkmbW92cQkoJlFXUCg0MCwiZXNpIiksIm1tNSIpOworCSZtb3ZxCSgmUVdQKDQ4LCJlc2kiKSwibW02Iik7CisJJm1vdnEJKCZRV1AoNTYsImVzaSIpLCJtbTciKTsKKworCSZhZGQJKCJlc3AiLDgqODApOwkJCSMgZGVzdHJveSBmcmFtZQorCSZzdWIJKCRLNTEyLDgqODApOwkJCSMgcmV3aW5kIEsKKworCSZjbXAJKCJlZGkiLCZEV1AoOCoxMCs4LCJlc3AiKSk7CSMgYXJlIHdlIGRvbmUgeWV0PworCSZqYgkoJmxhYmVsKCJsb29wX3NzZTIiKSk7CisKKwkmZW1tcwkoKTsKKwkmbW92CSgiZXNwIiwmRFdQKDgqMTArMTIsImVzcCIpKTsJIyByZXN0b3JlIHNwCismZnVuY3Rpb25fZW5kX0EoKTsKK30KKyZzZXRfbGFiZWwoImxvb3BfeDg2IiwxNik7CisgICAgIyBjb3B5IGlucHV0IGJsb2NrIHRvIHN0YWNrIHJldmVyc2luZyBieXRlIGFuZCBxd29yZCBvcmRlcgorICAgIGZvciAoJGk9MDskaTw4OyRpKyspIHsKKwkmbW92CSgiZWF4IiwmRFdQKCRpKjE2KzAsImVkaSIpKTsKKwkmbW92CSgiZWJ4IiwmRFdQKCRpKjE2KzQsImVkaSIpKTsKKwkmbW92CSgiZWN4IiwmRFdQKCRpKjE2KzgsImVkaSIpKTsKKwkmbW92CSgiZWR4IiwmRFdQKCRpKjE2KzEyLCJlZGkiKSk7CisJJmJzd2FwCSgiZWF4Iik7CisJJmJzd2FwCSgiZWJ4Iik7CisJJmJzd2FwCSgiZWN4Iik7CisJJmJzd2FwCSgiZWR4Iik7CisJJnB1c2gJKCJlYXgiKTsKKwkmcHVzaAkoImVieCIpOworCSZwdXNoCSgiZWN4Iik7CisJJnB1c2gJKCJlZHgiKTsKKyAgICB9CisJJmFkZAkoImVkaSIsMTI4KTsKKwkmc3ViCSgiZXNwIiw5KjgpOwkJIyBwbGFjZSBmb3IgVCxBLEIsQyxELEUsRixHLEgKKwkmbW92CSgmRFdQKDgqKDkrMTYpKzQsImVzcCIpLCJlZGkiKTsKKworCSMgY29weSBjdHgtPmhbMC03XSB0byBBLEIsQyxELEUsRixHLEggb24gc3RhY2sKKwkmbGVhCSgiZWRpIiwmRFdQKDgsImVzcCIpKTsKKwkmbW92CSgiZWN4IiwxNik7CisJJmRhdGFfd29yZCgweEE1RjNGNjg5KTsJCSMgcmVwIG1vdnNkCisKKyZzZXRfbGFiZWwoIjAwXzE1X3g4NiIsMTYpOworCSZCT0RZXzAwXzE1X3g4NigpOworCisJJmNtcAkoJkxCKCJlZHgiKSwweDk0KTsKKwkmam5lCSgmbGFiZWwoIjAwXzE1X3g4NiIpKTsKKworJnNldF9sYWJlbCgiMTZfNzlfeDg2IiwxNik7CisJI2RlZmluZSBzaWdtYTAoeCkJKFJPVFIoKHgpLDEpICBeIFJPVFIoKHgpLDgpICBeICgoeCk+PjcpKQorCSMJTE8JCWxvPj4xXmhpPDwzMSAgXiBsbz4+OF5oaTw8MjQgXiBsbz4+N15oaTw8MjUKKwkjCUhJCQloaT4+MV5sbzw8MzEgIF4gaGk+PjhebG88PDI0IF4gaGk+PjcKKwkmbW92CSgiZWN4IiwmRFdQKDgqKDkrMTUrMTYtMSkrMCwiZXNwIikpOworCSZtb3YJKCJlZHgiLCZEV1AoOCooOSsxNSsxNi0xKSs0LCJlc3AiKSk7CisJJm1vdgkoImVzaSIsImVjeCIpOworCisJJnNocgkoImVjeCIsMSkJIyBsbz4+MQorCSZtb3YJKCJlZGkiLCJlZHgiKTsKKwkmc2hyCSgiZWR4IiwxKQkjIGhpPj4xCisJJm1vdgkoImVheCIsImVjeCIpOworCSZzaGwJKCJlc2kiLDI0KTsJIyBsbzw8MjQKKwkmbW92CSgiZWJ4IiwiZWR4Iik7CisJJnNobAkoImVkaSIsMjQpOwkjIGhpPDwyNAorCSZ4b3IJKCJlYngiLCJlc2kiKTsKKworCSZzaHIJKCJlY3giLDctMSk7CSMgbG8+PjcKKwkmeG9yCSgiZWF4IiwiZWRpIik7CisJJnNocgkoImVkeCIsNy0xKTsJIyBoaT4+NworCSZ4b3IJKCJlYXgiLCJlY3giKTsKKwkmc2hsCSgiZXNpIiwzMS0yNCk7CSMgbG88PDMxCisJJnhvcgkoImVieCIsImVkeCIpOworCSZzaGwJKCJlZGkiLDI1LTI0KTsJIyBoaTw8MjUKKwkmeG9yCSgiZWJ4IiwiZXNpIik7CisKKwkmc2hyCSgiZWN4Iiw4LTcpOwkjIGxvPj44CisJJnhvcgkoImVheCIsImVkaSIpOworCSZzaHIJKCJlZHgiLDgtNyk7CSMgaGk+PjgKKwkmeG9yCSgiZWF4IiwiZWN4Iik7CisJJnNobAkoImVkaSIsMzEtMjUpOwkjIGhpPDwzMQorCSZ4b3IJKCJlYngiLCJlZHgiKTsKKwkmeG9yCSgiZWF4IiwiZWRpIik7CQkJIyBUMSA9IHNpZ21hMChYWy0xNV0pCisKKwkmbW92CSgmRFdQKDAsImVzcCIpLCJlYXgiKTsKKwkmbW92CSgmRFdQKDQsImVzcCIpLCJlYngiKTsJCSMgcHV0IFQxIGF3YXkKKworCSNkZWZpbmUgc2lnbWExKHgpCShST1RSKCh4KSwxOSkgXiBST1RSKCh4KSw2MSkgXiAoKHgpPj42KSkKKwkjCUxPCQlsbz4+MTleaGk8PDEzIF4gaGk+PjI5XmxvPDwzIF4gbG8+PjZeaGk8PDI2CisJIwlISQkJaGk+PjE5XmxvPDwxMyBeIGxvPj4yOV5oaTw8MyBeIGhpPj42CisJJm1vdgkoImVjeCIsJkRXUCg4Kig5KzE1KzE2LTE0KSswLCJlc3AiKSk7CisJJm1vdgkoImVkeCIsJkRXUCg4Kig5KzE1KzE2LTE0KSs0LCJlc3AiKSk7CisJJm1vdgkoImVzaSIsImVjeCIpOworCisJJnNocgkoImVjeCIsNikJIyBsbz4+NgorCSZtb3YJKCJlZGkiLCJlZHgiKTsKKwkmc2hyCSgiZWR4Iiw2KQkjIGhpPj42CisJJm1vdgkoImVheCIsImVjeCIpOworCSZzaGwJKCJlc2kiLDMpOwkjIGxvPDwzCisJJm1vdgkoImVieCIsImVkeCIpOworCSZzaGwJKCJlZGkiLDMpOwkjIGhpPDwzCisJJnhvcgkoImVheCIsImVzaSIpOworCisJJnNocgkoImVjeCIsMTktNik7CSMgbG8+PjE5CisJJnhvcgkoImVieCIsImVkaSIpOworCSZzaHIJKCJlZHgiLDE5LTYpOwkjIGhpPj4xOQorCSZ4b3IJKCJlYXgiLCJlY3giKTsKKwkmc2hsCSgiZXNpIiwxMy0zKTsJIyBsbzw8MTMKKwkmeG9yCSgiZWJ4IiwiZWR4Iik7CisJJnNobAkoImVkaSIsMTMtMyk7CSMgaGk8PDEzCisJJnhvcgkoImVieCIsImVzaSIpOworCisJJnNocgkoImVjeCIsMjktMTkpOwkjIGxvPj4yOQorCSZ4b3IJKCJlYXgiLCJlZGkiKTsKKwkmc2hyCSgiZWR4IiwyOS0xOSk7CSMgaGk+PjI5CisJJnhvcgkoImVieCIsImVjeCIpOworCSZzaGwJKCJlZGkiLDI2LTEzKTsJIyBoaTw8MjYKKwkmeG9yCSgiZWF4IiwiZWR4Iik7CisJJnhvcgkoImVheCIsImVkaSIpOwkJCSMgc2lnbWExKFhbLTJdKQorCisJJm1vdgkoImVjeCIsJkRXUCg4Kig5KzE1KzE2KSswLCJlc3AiKSk7CisJJm1vdgkoImVkeCIsJkRXUCg4Kig5KzE1KzE2KSs0LCJlc3AiKSk7CisJJmFkZAkoImVheCIsJkRXUCgwLCJlc3AiKSk7CisJJmFkYwkoImVieCIsJkRXUCg0LCJlc3AiKSk7CQkjIFQxID0gc2lnbWExKFhbLTJdKStUMQorCSZtb3YJKCJlc2kiLCZEV1AoOCooOSsxNSsxNi05KSswLCJlc3AiKSk7CisJJm1vdgkoImVkaSIsJkRXUCg4Kig5KzE1KzE2LTkpKzQsImVzcCIpKTsKKwkmYWRkCSgiZWF4IiwiZWN4Iik7CisJJmFkYwkoImVieCIsImVkeCIpOwkJCSMgVDEgKz0gWFstMTZdCisJJmFkZAkoImVheCIsImVzaSIpOworCSZhZGMJKCJlYngiLCJlZGkiKTsJCQkjIFQxICs9IFhbLTddCisJJm1vdgkoJkRXUCg4Kig5KzE1KSswLCJlc3AiKSwiZWF4Iik7CisJJm1vdgkoJkRXUCg4Kig5KzE1KSs0LCJlc3AiKSwiZWJ4Iik7CSMgc2F2ZSBYWzBdCisKKwkmQk9EWV8wMF8xNV94ODYoKTsKKworCSZjbXAJKCZMQigiZWR4IiksMHgxNyk7CisJJmpuZQkoJmxhYmVsKCIxNl83OV94ODYiKSk7CisKKwkmbW92CSgiZXNpIiwmRFdQKDgqKDkrMTYrODApKzAsImVzcCIpKTsjIGN0eAorCSZtb3YJKCJlZGkiLCZEV1AoOCooOSsxNis4MCkrNCwiZXNwIikpOyMgaW5wCisgICAgZm9yKCRpPTA7JGk8NDskaSsrKSB7CisJJm1vdgkoImVheCIsJkRXUCgkaSoxNiswLCJlc2kiKSk7CisJJm1vdgkoImVieCIsJkRXUCgkaSoxNis0LCJlc2kiKSk7CisJJm1vdgkoImVjeCIsJkRXUCgkaSoxNis4LCJlc2kiKSk7CisJJm1vdgkoImVkeCIsJkRXUCgkaSoxNisxMiwiZXNpIikpOworCSZhZGQJKCJlYXgiLCZEV1AoOCsoJGkqMTYpKzAsImVzcCIpKTsKKwkmYWRjCSgiZWJ4IiwmRFdQKDgrKCRpKjE2KSs0LCJlc3AiKSk7CisJJm1vdgkoJkRXUCgkaSoxNiswLCJlc2kiKSwiZWF4Iik7CisJJm1vdgkoJkRXUCgkaSoxNis0LCJlc2kiKSwiZWJ4Iik7CisJJmFkZAkoImVjeCIsJkRXUCg4KygkaSoxNikrOCwiZXNwIikpOworCSZhZGMJKCJlZHgiLCZEV1AoOCsoJGkqMTYpKzEyLCJlc3AiKSk7CisJJm1vdgkoJkRXUCgkaSoxNis4LCJlc2kiKSwiZWN4Iik7CisJJm1vdgkoJkRXUCgkaSoxNisxMiwiZXNpIiksImVkeCIpOworICAgIH0KKwkmYWRkCSgiZXNwIiw4Kig5KzE2KzgwKSk7CQkjIGRlc3Ryb3kgZnJhbWUKKwkmc3ViCSgkSzUxMiw4KjgwKTsJCQkjIHJld2luZCBLCisKKwkmY21wCSgiZWRpIiwmRFdQKDgsImVzcCIpKTsJCSMgYXJlIHdlIGRvbmUgeWV0PworCSZqYgkoJmxhYmVsKCJsb29wX3g4NiIpKTsKKworCSZtb3YJKCJlc3AiLCZEV1AoMTIsImVzcCIpKTsJCSMgcmVzdG9yZSBzcAorJmZ1bmN0aW9uX2VuZF9BKCk7CisKKyZzZXRfbGFiZWwoIks1MTIiLDY0KTsJIyBZZXMhIEkga2VlcCBpdCBpbiB0aGUgY29kZSBzZWdtZW50IQorCSZkYXRhX3dvcmQoMHhkNzI4YWUyMiwweDQyOGEyZjk4KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4MjNlZjY1Y2QsMHg3MTM3NDQ5MSk7CSMgdTY0CisJJmRhdGFfd29yZCgweGVjNGQzYjJmLDB4YjVjMGZiY2YpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHg4MTg5ZGJiYywweGU5YjVkYmE1KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4ZjM0OGI1MzgsMHgzOTU2YzI1Yik7CSMgdTY0CisJJmRhdGFfd29yZCgweGI2MDVkMDE5LDB4NTlmMTExZjEpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhhZjE5NGY5YiwweDkyM2Y4MmE0KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4ZGE2ZDgxMTgsMHhhYjFjNWVkNSk7CSMgdTY0CisJJmRhdGFfd29yZCgweGEzMDMwMjQyLDB4ZDgwN2FhOTgpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHg0NTcwNmZiZSwweDEyODM1YjAxKTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4NGVlNGIyOGMsMHgyNDMxODViZSk7CSMgdTY0CisJJmRhdGFfd29yZCgweGQ1ZmZiNGUyLDB4NTUwYzdkYzMpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhmMjdiODk2ZiwweDcyYmU1ZDc0KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4M2IxNjk2YjEsMHg4MGRlYjFmZSk7CSMgdTY0CisJJmRhdGFfd29yZCgweDI1YzcxMjM1LDB4OWJkYzA2YTcpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhjZjY5MjY5NCwweGMxOWJmMTc0KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4OWVmMTRhZDIsMHhlNDliNjljMSk7CSMgdTY0CisJJmRhdGFfd29yZCgweDM4NGYyNWUzLDB4ZWZiZTQ3ODYpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHg4YjhjZDViNSwweDBmYzE5ZGM2KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4NzdhYzljNjUsMHgyNDBjYTFjYyk7CSMgdTY0CisJJmRhdGFfd29yZCgweDU5MmIwMjc1LDB4MmRlOTJjNmYpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHg2ZWE2ZTQ4MywweDRhNzQ4NGFhKTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4YmQ0MWZiZDQsMHg1Y2IwYTlkYyk7CSMgdTY0CisJJmRhdGFfd29yZCgweDgzMTE1M2I1LDB4NzZmOTg4ZGEpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhlZTY2ZGZhYiwweDk4M2U1MTUyKTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4MmRiNDMyMTAsMHhhODMxYzY2ZCk7CSMgdTY0CisJJmRhdGFfd29yZCgweDk4ZmIyMTNmLDB4YjAwMzI3YzgpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhiZWVmMGVlNCwweGJmNTk3ZmM3KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4M2RhODhmYzIsMHhjNmUwMGJmMyk7CSMgdTY0CisJJmRhdGFfd29yZCgweDkzMGFhNzI1LDB4ZDVhNzkxNDcpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhlMDAzODI2ZiwweDA2Y2E2MzUxKTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4MGEwZTZlNzAsMHgxNDI5Mjk2Nyk7CSMgdTY0CisJJmRhdGFfd29yZCgweDQ2ZDIyZmZjLDB4MjdiNzBhODUpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHg1YzI2YzkyNiwweDJlMWIyMTM4KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4NWFjNDJhZWQsMHg0ZDJjNmRmYyk7CSMgdTY0CisJJmRhdGFfd29yZCgweDlkOTViM2RmLDB4NTMzODBkMTMpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHg4YmFmNjNkZSwweDY1MGE3MzU0KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4M2M3N2IyYTgsMHg3NjZhMGFiYik7CSMgdTY0CisJJmRhdGFfd29yZCgweDQ3ZWRhZWU2LDB4ODFjMmM5MmUpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHgxNDgyMzUzYiwweDkyNzIyYzg1KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4NGNmMTAzNjQsMHhhMmJmZThhMSk7CSMgdTY0CisJJmRhdGFfd29yZCgweGJjNDIzMDAxLDB4YTgxYTY2NGIpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhkMGY4OTc5MSwweGMyNGI4YjcwKTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4MDY1NGJlMzAsMHhjNzZjNTFhMyk7CSMgdTY0CisJJmRhdGFfd29yZCgweGQ2ZWY1MjE4LDB4ZDE5MmU4MTkpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHg1NTY1YTkxMCwweGQ2OTkwNjI0KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4NTc3MTIwMmEsMHhmNDBlMzU4NSk7CSMgdTY0CisJJmRhdGFfd29yZCgweDMyYmJkMWI4LDB4MTA2YWEwNzApOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhiOGQyZDBjOCwweDE5YTRjMTE2KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4NTE0MWFiNTMsMHgxZTM3NmMwOCk7CSMgdTY0CisJJmRhdGFfd29yZCgweGRmOGVlYjk5LDB4Mjc0ODc3NGMpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhlMTliNDhhOCwweDM0YjBiY2I1KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4YzVjOTVhNjMsMHgzOTFjMGNiMyk7CSMgdTY0CisJJmRhdGFfd29yZCgweGUzNDE4YWNiLDB4NGVkOGFhNGEpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHg3NzYzZTM3MywweDViOWNjYTRmKTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4ZDZiMmI4YTMsMHg2ODJlNmZmMyk7CSMgdTY0CisJJmRhdGFfd29yZCgweDVkZWZiMmZjLDB4NzQ4ZjgyZWUpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHg0MzE3MmY2MCwweDc4YTU2MzZmKTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4YTFmMGFiNzIsMHg4NGM4NzgxNCk7CSMgdTY0CisJJmRhdGFfd29yZCgweDFhNjQzOWVjLDB4OGNjNzAyMDgpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHgyMzYzMWUyOCwweDkwYmVmZmZhKTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4ZGU4MmJkZTksMHhhNDUwNmNlYik7CSMgdTY0CisJJmRhdGFfd29yZCgweGIyYzY3OTE1LDB4YmVmOWEzZjcpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhlMzcyNTMyYiwweGM2NzE3OGYyKTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4ZWEyNjYxOWMsMHhjYTI3M2VjZSk7CSMgdTY0CisJJmRhdGFfd29yZCgweDIxYzBjMjA3LDB4ZDE4NmI4YzcpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhjZGUwZWIxZSwweGVhZGE3ZGQ2KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4ZWU2ZWQxNzgsMHhmNTdkNGY3Zik7CSMgdTY0CisJJmRhdGFfd29yZCgweDcyMTc2ZmJhLDB4MDZmMDY3YWEpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHhhMmM4OThhNiwweDBhNjM3ZGM1KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4YmVmOTBkYWUsMHgxMTNmOTgwNCk7CSMgdTY0CisJJmRhdGFfd29yZCgweDEzMWM0NzFiLDB4MWI3MTBiMzUpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHgyMzA0N2Q4NCwweDI4ZGI3N2Y1KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4NDBjNzI0OTMsMHgzMmNhYWI3Yik7CSMgdTY0CisJJmRhdGFfd29yZCgweDE1YzliZWJjLDB4M2M5ZWJlMGEpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHg5YzEwMGQ0YywweDQzMWQ2N2M0KTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4Y2IzZTQyYjYsMHg0Y2M1ZDRiZSk7CSMgdTY0CisJJmRhdGFfd29yZCgweGZjNjU3ZTJhLDB4NTk3ZjI5OWMpOwkjIHU2NAorCSZkYXRhX3dvcmQoMHgzYWQ2ZmFlYywweDVmY2I2ZmFiKTsJIyB1NjQKKwkmZGF0YV93b3JkKDB4NGE0NzU4MTcsMHg2YzQ0MTk4Yyk7CSMgdTY0CismZnVuY3Rpb25fZW5kX0IoInNoYTUxMl9ibG9ja19kYXRhX29yZGVyIik7CismYXNjaXooIlNIQTUxMiBibG9jayB0cmFuc2Zvcm0gZm9yIHg4NiwgQ1JZUFRPR0FNUyBieSA8YXBwcm9cQG9wZW5zc2wub3JnPiIpOworCismYXNtX2ZpbmlzaCgpOwo=