From: "Tan Swee Heng" Subject: Patch to support stream ciphers Date: Fri, 26 Oct 2007 01:55:48 +0800 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_2807_2252072.1193334948995" Cc: "Herbert Xu" To: "Linux Crypto" Return-path: Received: from wa-out-1112.google.com ([209.85.146.181]:55458 "EHLO wa-out-1112.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754028AbXJYRzu (ORCPT ); Thu, 25 Oct 2007 13:55:50 -0400 Received: by wa-out-1112.google.com with SMTP id v27so711902wah for ; Thu, 25 Oct 2007 10:55:49 -0700 (PDT) Sender: linux-crypto-owner@vger.kernel.org List-Id: linux-crypto.vger.kernel.org ------=_Part_2807_2252072.1193334948995 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi all, I am learning CryptoAPI by porting stream ciphers into it (particularly eSTREAM candidates at ). As eSTREAM ciphers manipulates IV differently depending on algorithm design, it seems that standard block modes cannot be used: ECB has no IV; CBC and CTR don't let ciphers control how the IV is processed. So I derived stream.c from Herbert's cbc.c and Joy's ctr.c. It wraps around any cipher exporting cia_ivsize and cia_setiv_crypt() from "struct cipher_alg". As a test case, I've used Daniel Bernstein's Salsa20 implementation at as the cipher. My patch against Herbert's cryptodev-2.6 git is attached. Some questions come to mind: 1. Is this the way to go for general stream ciphers? 2. Would a separate "struct stream_alg" be better than hijacking "struct cipher_alg"? 3. Currently cia_setiv_crypt() does setiv() and inplace encryption; is this a good design? 4. Should the blocksize be 1 for the stream template? Please feel free to discuss the patch so that it can be improved. Regards, Swee Heng ------=_Part_2807_2252072.1193334948995 Content-Type: text/x-patch; name=stream_salsa20.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_f87kkxex Content-Disposition: attachment; filename=stream_salsa20.patch ZGlmZiAtLWdpdCBhL2NyeXB0by9LY29uZmlnIGIvY3J5cHRvL0tjb25maWcKaW5kZXggMWYzMjA3 MS4uNmI3Mjk1MiAxMDA2NDQKLS0tIGEvY3J5cHRvL0tjb25maWcKKysrIGIvY3J5cHRvL0tjb25m aWcKQEAgLTIwNCw2ICsyMDQsMTYgQEAgY29uZmlnIENSWVBUT19DVFIKIAkgIENUUjogQ291bnRl ciBtb2RlCiAJICBUaGlzIGJsb2NrIGNpcGhlciBhbGdvcml0aG0gaXMgcmVxdWlyZWQgZm9yIElQ U2VjLgogCitjb25maWcgQ1JZUFRPX1NUUkVBTQorCXRyaXN0YXRlICJTVFJFQU06IFN0cmVhbSBj aXBoZXIgc3VwcG9ydCAoRVhQRVJJTUVOVEFMKSIKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAor CXNlbGVjdCBDUllQVE9fQkxLQ0lQSEVSCisJc2VsZWN0IENSWVBUT19NQU5BR0VSCisJZGVmYXVs dCBtCisJaGVscAorCSAgU1RSRUFNOiBTdHJlYW0gY2lwaGVyIHdyYXBwZXIKKwkgIFRoaXMgd3Jh cHBlciBpcyB1c2VkIGJ5IHN0cmVhbSBjaXBoZXJzIHN1Ym1pdHRlZCB0byBlU1RSRUFNLgorCiBj b25maWcgQ1JZUFRPX0NSWVBURAogCXRyaXN0YXRlICJTb2Z0d2FyZSBhc3luYyBjcnlwdG8gZGFl bW9uIgogCXNlbGVjdCBDUllQVE9fQUJMS0NJUEhFUgpAQCAtNDUwLDYgKzQ2MCwxOSBAQCBjb25m aWcgQ1JZUFRPX1NFRUQKIAkgIFNlZSBhbHNvOgogCSAgPGh0dHA6Ly93d3cua2lzYS5vci5rci9r aXNhL3NlZWQvanNwL3NlZWRfZW5nLmpzcD4KIAorY29uZmlnIENSWVBUT19TQUxTQTIwCisJdHJp c3RhdGUgIlNhbHNhMjAgc3RyZWFtIGNpcGhlciBhbGdvcml0aG0gKEVYUEVSSU1FTlRBTCkiCisJ ZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKKwlzZWxlY3QgQ1JZUFRPX0FMR0FQSQorCWhlbHAKKwkg IFNhbHNhMjAgc3RyZWFtIGNpcGhlciBhbGdvcml0aG0uCisKKwkgIFNhbHNhMjAgaXMgYSBzdHJl YW0gY2lwaGVyIHN1Ym1pdHRlZCB0byBlU1RSRUFNLCB0aGUgRUNSWVBUCisJICBTdHJlYW0gQ2lw aGVyIFByb2plY3QuIFNlZSA8aHR0cDovL3d3dy5lY3J5cHQuZXUub3JnL3N0cmVhbS8+CisKKwkg IFRoZSBTYWxzYTIwIHN0cmVhbSBjaXBoZXIgYWxnb3JpdGhtIGlzIGRlc2lnbmVkIGJ5IERhbmll bCBKLgorCSAgQmVybnN0ZWluIDxkamJAY3IueXAudG8+LiBTZWUgPGh0dHA6Ly9jci55cC50by9z bnVmZmxlLmh0bWw+CisKIAogY29uZmlnIENSWVBUT19ERUZMQVRFCiAJdHJpc3RhdGUgIkRlZmxh dGUgY29tcHJlc3Npb24gYWxnb3JpdGhtIgpkaWZmIC0tZ2l0IGEvY3J5cHRvL01ha2VmaWxlIGIv Y3J5cHRvL01ha2VmaWxlCmluZGV4IDFmODdkYjIuLjMwMjY5MDcgMTAwNjQ0Ci0tLSBhL2NyeXB0 by9NYWtlZmlsZQorKysgYi9jcnlwdG8vTWFrZWZpbGUKQEAgLTMzLDYgKzMzLDcgQEAgb2JqLSQo Q09ORklHX0NSWVBUT19QQ0JDKSArPSBwY2JjLm8KIG9iai0kKENPTkZJR19DUllQVE9fTFJXKSAr PSBscncubwogb2JqLSQoQ09ORklHX0NSWVBUT19YVFMpICs9IHh0cy5vCiBvYmotJChDT05GSUdf Q1JZUFRPX0NUUikgKz0gY3RyLm8KK29iai0kKENPTkZJR19DUllQVE9fU1RSRUFNKSArPSBzdHJl YW0ubwogb2JqLSQoQ09ORklHX0NSWVBUT19DUllQVEQpICs9IGNyeXB0ZC5vCiBvYmotJChDT05G SUdfQ1JZUFRPX0RFUykgKz0gZGVzX2dlbmVyaWMubwogb2JqLSQoQ09ORklHX0NSWVBUT19GQ1JZ UFQpICs9IGZjcnlwdC5vCkBAIC00OSw2ICs1MCw3IEBAIG9iai0kKENPTkZJR19DUllQVE9fVEVB KSArPSB0ZWEubwogb2JqLSQoQ09ORklHX0NSWVBUT19LSEFaQUQpICs9IGtoYXphZC5vCiBvYmot JChDT05GSUdfQ1JZUFRPX0FOVUJJUykgKz0gYW51YmlzLm8KIG9iai0kKENPTkZJR19DUllQVE9f U0VFRCkgKz0gc2VlZC5vCitvYmotJChDT05GSUdfQ1JZUFRPX1NBTFNBMjApICs9IHNhbHNhMjAu bwogb2JqLSQoQ09ORklHX0NSWVBUT19ERUZMQVRFKSArPSBkZWZsYXRlLm8KIG9iai0kKENPTkZJ R19DUllQVE9fTUlDSEFFTF9NSUMpICs9IG1pY2hhZWxfbWljLm8KIG9iai0kKENPTkZJR19DUllQ VE9fQ1JDMzJDKSArPSBjcmMzMmMubwpkaWZmIC0tZ2l0IGEvY3J5cHRvL3NhbHNhMjAuYyBiL2Ny eXB0by9zYWxzYTIwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU3NWI1 NQotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9zYWxzYTIwLmMKQEAgLTAsMCArMSwyNDAgQEAK Ky8qCisgKiBTYWxzYTIwOiBTYWxzYTIwIHN0cmVhbSBjaXBoZXIgYWxnb3JpdGhtCisgKgorICog U2Fsc2EyMCBpcyBhIHN0cmVhbSBjaXBoZXIgc3VibWl0dGVkIHRvIGVTVFJFQU0sIHRoZSBFQ1JZ UFQgU3RyZWFtIENpcGhlcgorICogUHJvamVjdCwgYnkgRGFuaWVsIEouIEJlcm5zdGVpbiA8ZGpi QGNyLnlwLnRvPi4gTW9yZSBpbmZvcm1hdGlvbiBhYm91dAorICogZVNUUkVBTSBhbmQgU2Fsc2Ey MCBjYW4gYmUgZm91bmQgaGVyZToKKyAqICAgaHR0cDovL3d3dy5lY3J5cHQuZXUub3JnL3N0cmVh bS8KKyAqICAgaHR0cDovL2NyLnlwLnRvL3NudWZmbGUuaHRtbAorICogICAKKyAqIFRoZSBmb2xs b3dpbmcgd29yayBpcyBkZXJpdmVkIGZyb20gdGhlIHNwZWNpZmljYXRpb25zIGFuZCBDIGNvZGUg dGhhdAorICogQmVybnN0ZWluIHJlbGVhc2VkIGluIHRoZSBwdWJsaWMgZG9tYWluLiBJdCBoYXMg YmVlbiBtb2RpZmllZCB0byBzdWl0CisgKiBvdXIgcmVxdWlyZW1lbnRzLgorICoKKyAqIENvcHly aWdodCAoYykgMjAwNyBUYW4gU3dlZSBIZW5nIDx0aGVzd2VlaGVuZ0BnbWFpbC5jb20+CisgKgor ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp b24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2lu aXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5o PgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Cisj aW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgorCisjZGVmaW5lIFNBTFNBMjBfSVZfU0laRSAgICAg ICAgOAorI2RlZmluZSBTQUxTQTIwX0JMT0NLX1NJWkUgICAgNjQKKyNkZWZpbmUgU0FMU0EyMF9N SU5fS0VZX1NJWkUgIDE2CisjZGVmaW5lIFNBTFNBMjBfTUFYX0tFWV9TSVpFICAzMgorCitzdGF0 aWMgdm9pZCB4b3JfYnl0ZSh1OCAqYSwgY29uc3QgdTggKmIsIHVuc2lnbmVkIGludCBicykKK3sK KyAgICAgICAgZm9yICg7IGJzOyBicy0tKQorICAgICAgICAgICAgICAgICphKysgXj0gKmIrKzsK K30KKworc3RhdGljIHZvaWQgeG9yX3F1YWQodTggKmRzdCwgY29uc3QgdTggKnNyYywgdW5zaWdu ZWQgaW50IGJzKQoreworICAgICAgICB1MzIgKmEgPSAodTMyICopZHN0OworICAgICAgICB1MzIg KmIgPSAodTMyICopc3JjOworCisgICAgICAgIGZvciAoOyBicyA+PSA0OyBicyAtPSA0KQorICAg ICAgICAgICAgICAgICphKysgXj0gKmIrKzsKKyAgICAgICAgCisgICAgICAgIHhvcl9ieXRlKCh1 OCAqKWEsICh1OCAqKWIsIGJzKTsKK30KKworLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyBTdGFydCBv ZiBjb2RlIHRha2VuIGZyb20gRC4gSi4gQmVybnN0ZWluJ3MgcmVmZXJlbmNlIGltcGxlbWVudGF0 aW9uLgorLy8gV2l0aCBzb21lIG1vZGlmaWNhdGlvbnMgbWFkZSB0byBzdWl0IG91ciBuZWVkcy4K Ky8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorCisvKgorc2Fsc2EyMC1yZWYuYyB2ZXJzaW9uIDIwMDUxMTE4 CitELiBKLiBCZXJuc3RlaW4KK1B1YmxpYyBkb21haW4uCisqLworCisjZGVmaW5lIFJPVEFURSh2 LG4pICgoKHYpIDw8IChuKSkgfCAoKHYpID4+ICgzMiAtIChuKSkpKQorI2RlZmluZSBYT1Iodix3 KSAoKHYpIF4gKHcpKQorI2RlZmluZSBQTFVTKHYsdykgKCgodikgKyAodykpKQorI2RlZmluZSBQ TFVTT05FKHYpIChQTFVTKCh2KSwxKSkKKyNkZWZpbmUgVTMyVE84X0xJVFRMRShwLCB2KSBcCisJ eyAocClbMF0gPSAodiA+PiAgMCkgJiAweGZmOyAocClbMV0gPSAodiA+PiAgOCkgJiAweGZmOyBc CisJICAocClbMl0gPSAodiA+PiAxNikgJiAweGZmOyAocClbM10gPSAodiA+PiAyNCkgJiAweGZm OyB9CisjZGVmaW5lIFU4VE8zMl9MSVRUTEUocCkgICBcCisJKCgodTMyKSgocClbMF0pICAgICAg KSB8ICgodTMyKSgocClbMV0pIDw8ICA4KSB8IFwKKwkgKCh1MzIpKChwKVsyXSkgPDwgMTYpIHwg KCh1MzIpKChwKVszXSkgPDwgMjQpICAgKQorCitzdHJ1Y3Qgc2Fsc2EyMF9jdHgKK3sKKwl1MzIg aW5wdXRbMTZdOworfTsKKworc3RhdGljIHZvaWQgc2Fsc2EyMF93b3JkdG9ieXRlKHU4IG91dHB1 dFs2NF0sIGNvbnN0IHUzMiBpbnB1dFsxNl0pCit7CisJdTMyIHhbMTZdOworCWludCBpOworCisJ bWVtY3B5KHgsIGlucHV0LCBzaXplb2YoeCkpOworCWZvciAoaSA9IDIwO2kgPiAwO2kgLT0gMikg eworCQl4WyA0XSA9IFhPUih4WyA0XSxST1RBVEUoUExVUyh4WyAwXSx4WzEyXSksIDcpKTsKKwkJ eFsgOF0gPSBYT1IoeFsgOF0sUk9UQVRFKFBMVVMoeFsgNF0seFsgMF0pLCA5KSk7CisJCXhbMTJd ID0gWE9SKHhbMTJdLFJPVEFURShQTFVTKHhbIDhdLHhbIDRdKSwxMykpOworCQl4WyAwXSA9IFhP Uih4WyAwXSxST1RBVEUoUExVUyh4WzEyXSx4WyA4XSksMTgpKTsKKwkJeFsgOV0gPSBYT1IoeFsg OV0sUk9UQVRFKFBMVVMoeFsgNV0seFsgMV0pLCA3KSk7CisJCXhbMTNdID0gWE9SKHhbMTNdLFJP VEFURShQTFVTKHhbIDldLHhbIDVdKSwgOSkpOworCQl4WyAxXSA9IFhPUih4WyAxXSxST1RBVEUo UExVUyh4WzEzXSx4WyA5XSksMTMpKTsKKwkJeFsgNV0gPSBYT1IoeFsgNV0sUk9UQVRFKFBMVVMo eFsgMV0seFsxM10pLDE4KSk7CisJCXhbMTRdID0gWE9SKHhbMTRdLFJPVEFURShQTFVTKHhbMTBd LHhbIDZdKSwgNykpOworCQl4WyAyXSA9IFhPUih4WyAyXSxST1RBVEUoUExVUyh4WzE0XSx4WzEw XSksIDkpKTsKKwkJeFsgNl0gPSBYT1IoeFsgNl0sUk9UQVRFKFBMVVMoeFsgMl0seFsxNF0pLDEz KSk7CisJCXhbMTBdID0gWE9SKHhbMTBdLFJPVEFURShQTFVTKHhbIDZdLHhbIDJdKSwxOCkpOwor CQl4WyAzXSA9IFhPUih4WyAzXSxST1RBVEUoUExVUyh4WzE1XSx4WzExXSksIDcpKTsKKwkJeFsg N10gPSBYT1IoeFsgN10sUk9UQVRFKFBMVVMoeFsgM10seFsxNV0pLCA5KSk7CisJCXhbMTFdID0g WE9SKHhbMTFdLFJPVEFURShQTFVTKHhbIDddLHhbIDNdKSwxMykpOworCQl4WzE1XSA9IFhPUih4 WzE1XSxST1RBVEUoUExVUyh4WzExXSx4WyA3XSksMTgpKTsKKwkJeFsgMV0gPSBYT1IoeFsgMV0s Uk9UQVRFKFBMVVMoeFsgMF0seFsgM10pLCA3KSk7CisJCXhbIDJdID0gWE9SKHhbIDJdLFJPVEFU RShQTFVTKHhbIDFdLHhbIDBdKSwgOSkpOworCQl4WyAzXSA9IFhPUih4WyAzXSxST1RBVEUoUExV Uyh4WyAyXSx4WyAxXSksMTMpKTsKKwkJeFsgMF0gPSBYT1IoeFsgMF0sUk9UQVRFKFBMVVMoeFsg M10seFsgMl0pLDE4KSk7CisJCXhbIDZdID0gWE9SKHhbIDZdLFJPVEFURShQTFVTKHhbIDVdLHhb IDRdKSwgNykpOworCQl4WyA3XSA9IFhPUih4WyA3XSxST1RBVEUoUExVUyh4WyA2XSx4WyA1XSks IDkpKTsKKwkJeFsgNF0gPSBYT1IoeFsgNF0sUk9UQVRFKFBMVVMoeFsgN10seFsgNl0pLDEzKSk7 CisJCXhbIDVdID0gWE9SKHhbIDVdLFJPVEFURShQTFVTKHhbIDRdLHhbIDddKSwxOCkpOworCQl4 WzExXSA9IFhPUih4WzExXSxST1RBVEUoUExVUyh4WzEwXSx4WyA5XSksIDcpKTsKKwkJeFsgOF0g PSBYT1IoeFsgOF0sUk9UQVRFKFBMVVMoeFsxMV0seFsxMF0pLCA5KSk7CisJCXhbIDldID0gWE9S KHhbIDldLFJPVEFURShQTFVTKHhbIDhdLHhbMTFdKSwxMykpOworCQl4WzEwXSA9IFhPUih4WzEw XSxST1RBVEUoUExVUyh4WyA5XSx4WyA4XSksMTgpKTsKKwkJeFsxMl0gPSBYT1IoeFsxMl0sUk9U QVRFKFBMVVMoeFsxNV0seFsxNF0pLCA3KSk7CisJCXhbMTNdID0gWE9SKHhbMTNdLFJPVEFURShQ TFVTKHhbMTJdLHhbMTVdKSwgOSkpOworCQl4WzE0XSA9IFhPUih4WzE0XSxST1RBVEUoUExVUyh4 WzEzXSx4WzEyXSksMTMpKTsKKwkJeFsxNV0gPSBYT1IoeFsxNV0sUk9UQVRFKFBMVVMoeFsxNF0s eFsxM10pLDE4KSk7CisJfQorCWZvciAoaSA9IDA7aSA8IDE2OysraSkgeFtpXSA9IFBMVVMoeFtp XSwgaW5wdXRbaV0pOworCWZvciAoaSA9IDA7aSA8IDE2OysraSkgVTMyVE84X0xJVFRMRShvdXRw dXQgKyA0ICogaSx4W2ldKTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgc2lnbWFbMTZdID0gImV4 cGFuZCAzMi1ieXRlIGsiOworc3RhdGljIGNvbnN0IGNoYXIgdGF1WzE2XSA9ICJleHBhbmQgMTYt Ynl0ZSBrIjsKKworc3RhdGljIHZvaWQgc2Fsc2EyMF9rZXlzZXR1cChzdHJ1Y3Qgc2Fsc2EyMF9j dHggKmN0eCwgY29uc3QgdTggKmssIHUzMiBrYnl0ZXMpCit7CisJY29uc3QgY2hhciAqY29uc3Rh bnRzOworCisJY3R4LT5pbnB1dFsxXSA9IFU4VE8zMl9MSVRUTEUoayArIDApOworCWN0eC0+aW5w dXRbMl0gPSBVOFRPMzJfTElUVExFKGsgKyA0KTsKKwljdHgtPmlucHV0WzNdID0gVThUTzMyX0xJ VFRMRShrICsgOCk7CisJY3R4LT5pbnB1dFs0XSA9IFU4VE8zMl9MSVRUTEUoayArIDEyKTsKKwlp ZiAoa2J5dGVzID09IDMyKSB7IC8qIHJlY29tbWVuZGVkICovCisJCWsgKz0gMTY7CisJCWNvbnN0 YW50cyA9IHNpZ21hOworCX0gZWxzZSB7IC8qIGtieXRlcyA9PSAxNiAqLworCQljb25zdGFudHMg PSB0YXU7CisJfQorCWN0eC0+aW5wdXRbMTFdID0gVThUTzMyX0xJVFRMRShrICsgMCk7CisJY3R4 LT5pbnB1dFsxMl0gPSBVOFRPMzJfTElUVExFKGsgKyA0KTsKKwljdHgtPmlucHV0WzEzXSA9IFU4 VE8zMl9MSVRUTEUoayArIDgpOworCWN0eC0+aW5wdXRbMTRdID0gVThUTzMyX0xJVFRMRShrICsg MTIpOworCWN0eC0+aW5wdXRbMF0gPSBVOFRPMzJfTElUVExFKGNvbnN0YW50cyArIDApOworCWN0 eC0+aW5wdXRbNV0gPSBVOFRPMzJfTElUVExFKGNvbnN0YW50cyArIDQpOworCWN0eC0+aW5wdXRb MTBdID0gVThUTzMyX0xJVFRMRShjb25zdGFudHMgKyA4KTsKKwljdHgtPmlucHV0WzE1XSA9IFU4 VE8zMl9MSVRUTEUoY29uc3RhbnRzICsgMTIpOworfQorCitzdGF0aWMgdm9pZCBzYWxzYTIwX2l2 c2V0dXAoc3RydWN0IHNhbHNhMjBfY3R4ICpjdHgsIGNvbnN0IHU4ICppdikKK3sKKwljdHgtPmlu cHV0WzZdID0gVThUTzMyX0xJVFRMRShpdiArIDApOworCWN0eC0+aW5wdXRbN10gPSBVOFRPMzJf TElUVExFKGl2ICsgNCk7CisJY3R4LT5pbnB1dFs4XSA9IDA7CisJY3R4LT5pbnB1dFs5XSA9IDA7 Cit9CisKK3N0YXRpYyB2b2lkIHNhbHNhMjBfZW5jcnlwdF9ieXRlcyhzdHJ1Y3Qgc2Fsc2EyMF9j dHggKmN0eCwgdTggKmRzdCwgdTMyIGJ5dGVzKQoreworCXU4IGtleXN0cmVhbVs2NF07CisKKwlp ZiAoIWJ5dGVzKQorCQlyZXR1cm47CisKKwlmb3IgKDs7KSB7CisJCXNhbHNhMjBfd29yZHRvYnl0 ZShrZXlzdHJlYW0sIGN0eC0+aW5wdXQpOworCQljdHgtPmlucHV0WzhdID0gUExVU09ORShjdHgt PmlucHV0WzhdKTsKKwkJaWYgKCFjdHgtPmlucHV0WzhdKSB7CisJCQljdHgtPmlucHV0WzldID0g UExVU09ORShjdHgtPmlucHV0WzldKTsKKwkJCS8vIHN0b3BwaW5nIGF0IDJeNzAgYnl0ZXMgcGVy IG5vbmNlIGlzIHVzZXIncyByZXNwb25zaWJpbGl0eQorCQl9CisJCWlmIChieXRlcyA8PSA2NCkg eworCQkJeG9yX3F1YWQoZHN0LCBrZXlzdHJlYW0sIGJ5dGVzKTsKKwkJCXJldHVybjsKKwkJfQor CQl4b3JfcXVhZChkc3QsIGtleXN0cmVhbSwgNjQpOworCQlieXRlcyAtPSA2NDsKKwkJZHN0ICs9 IDY0OworCX0KK30KKworLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyBFbmQgb2YgY29kZSB0YWtlbiBm cm9tIEQuIEouIEJlcm5zdGVpbidzIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbi4KKy8vID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorCitzdGF0aWMgaW50IHNhbHNhMjBfc2V0a2V5KHN0cnVjdCBjcnlwdG9fdGZt ICp0Zm0sIAorCQkJICBjb25zdCB1OCAqa2V5LCB1bnNpZ25lZCBpbnQga2V5X2xlbikgCit7IAor CXN0cnVjdCBzYWxzYTIwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlzYWxzYTIw X2tleXNldHVwKGN0eCwga2V5LCBrZXlfbGVuKTsKKwlyZXR1cm4gMDsgCit9IAorCitzdGF0aWMg dm9pZCBzYWxzYTIwX3NldGl2X2NyeXB0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHU4ICpkc3Qs CisJCQkJY29uc3QgdTggKml2LCB1bnNpZ25lZCBpbnQgbmJ5dGVzKQoreworCXN0cnVjdCBzYWxz YTIwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlzYWxzYTIwX2l2c2V0dXAoY3R4 LCBpdik7CisJc2Fsc2EyMF9lbmNyeXB0X2J5dGVzKGN0eCwgZHN0LCBuYnl0ZXMpOworfQorCitz dGF0aWMgc3RydWN0IGNyeXB0b19hbGcgYWxnID0geworCS5jcmFfbmFtZSAgICAgICAgICAgPSAg ICJzYWxzYTIwIiwKKwkuY3JhX2RyaXZlcl9uYW1lICAgID0gICAic2Fsc2EyMC1nZW5lcmljIiwK KwkuY3JhX3ByaW9yaXR5ICAgICAgID0gICAxMDAsCisJLmNyYV9mbGFncyAgICAgICAgICA9ICAg Q1JZUFRPX0FMR19UWVBFX0NJUEhFUiwKKwkuY3JhX2Jsb2Nrc2l6ZSAgICAgID0gICBTQUxTQTIw X0JMT0NLX1NJWkUsCisJLmNyYV9jdHhzaXplICAgICAgICA9ICAgc2l6ZW9mKHN0cnVjdCBzYWxz YTIwX2N0eCksCisJLmNyYV9hbGlnbm1hc2sgICAgICA9CTMsIAorCS5jcmFfbW9kdWxlICAgICAg ICAgPSAgIFRISVNfTU9EVUxFLAorCS5jcmFfbGlzdCAgICAgICAgICAgPSAgIExJU1RfSEVBRF9J TklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV91ICAgICAgICAgICAgICA9ICAgeworCQkuY2lwaGVy ID0geworCQkJLmNpYV9taW5fa2V5c2l6ZSAgICA9ICAgU0FMU0EyMF9NSU5fS0VZX1NJWkUsCisJ CQkuY2lhX21heF9rZXlzaXplICAgID0gICBTQUxTQTIwX01BWF9LRVlfU0laRSwKKwkJCS5jaWFf c2V0a2V5ICAgICAgICAgPSAgIHNhbHNhMjBfc2V0a2V5LAorCQkJLmNpYV9lbmNyeXB0CSAgICA9 ICAgTlVMTCwKKwkJCS5jaWFfZGVjcnlwdCAgICAgICAgPSAgIE5VTEwsCisJCQkuY2lhX2l2c2l6 ZQkgICAgPSAgIFNBTFNBMjBfSVZfU0laRSwKKwkJCS5jaWFfc2V0aXZfY3J5cHQgICAgPSAgIHNh bHNhMjBfc2V0aXZfY3J5cHQsCisJCX0KKwl9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBpbml0 KHZvaWQpCit7CisJcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK3N0YXRp YyB2b2lkIF9fZXhpdCBmaW5pKHZvaWQpCit7CisJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZhbGcp OworfQorCittb2R1bGVfaW5pdChpbml0KTsKK21vZHVsZV9leGl0KGZpbmkpOworCitNT0RVTEVf TElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04gKCJTYWxzYTIwIFN0cmVhbSBDaXBo ZXIgQWxnb3JpdGhtIik7CisKZGlmZiAtLWdpdCBhL2NyeXB0by9zdHJlYW0uYyBiL2NyeXB0by9z dHJlYW0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODA0MDAxCi0tLSAv ZGV2L251bGwKKysrIGIvY3J5cHRvL3N0cmVhbS5jCkBAIC0wLDAgKzEsMTc5IEBACisvKgorICog U1RSOiBTdHJlYW0gY2lwaGVyIHdyYXBwZXIKKyAqCisgKiBTdHJlYW0gY2lwaGVycyBzdWJtaXR0 ZWQgdG8gZVNUUkVBTSwgdGhlIEVDUllQVCBTdHJlYW0gQ2lwaGVyIFByb2plY3QsCisgKiB1c2Vz IGJvdGggYSBrZXkgYW5kIElWIHRvIGdlbmVyYXRlIGFuIGVuY3J5cHRlZCBrZXlzdHJlYW0uIFRo ZSBmb2xsb3dpbmcKKyAqIGNvZGUgcHJvdmlkZXMgYSB3cmFwcGVyIG1lY2hhbmlzbSB0byBjYWxs IHN1Y2ggc3RyZWFtIGNpcGhlcnMuCisgKgorICogVGhpcyB3b3JrIGlzIGRlcml2ZWQgZnJvbSB0 aGUgaW1wbGVtZW50YXRpb24gb2YgY2JjLmMgYnkgSGVyYmVydCBYdSBhbmQKKyAqIGN0ci5jIGJ5 IEpveSBMYXR0ZW4uCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA3IFRhbiBTd2VlIEhlbmcgPHRo ZXN3ZWVoZW5nQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhl IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoK KyAqLworCisjaW5jbHVkZSA8Y3J5cHRvL2FsZ2FwaS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5o PgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNp bmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgor I2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKworc3RydWN0IGNyeXB0b19zdHJlYW1fY3R4IHsKKwlz dHJ1Y3QgY3J5cHRvX2NpcGhlciAqY2hpbGQ7Cit9OworCitzdGF0aWMgaW50IGNyeXB0b19zdHJl YW1fc2V0a2V5KHN0cnVjdCBjcnlwdG9fdGZtICpwYXJlbnQsIGNvbnN0IHU4ICprZXksCisJCQkg ICAgIHVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGNyeXB0b19zdHJlYW1fY3R4ICpj dHggPSBjcnlwdG9fdGZtX2N0eChwYXJlbnQpOworCXN0cnVjdCBjcnlwdG9fY2lwaGVyICpjaGls ZCA9IGN0eC0+Y2hpbGQ7CisJaW50IGVycjsKKworCWNyeXB0b19jaXBoZXJfY2xlYXJfZmxhZ3Mo Y2hpbGQsIENSWVBUT19URk1fUkVRX01BU0spOworCWNyeXB0b19jaXBoZXJfc2V0X2ZsYWdzKGNo aWxkLCBjcnlwdG9fdGZtX2dldF9mbGFncyhwYXJlbnQpICYKKwkJCQlDUllQVE9fVEZNX1JFUV9N QVNLKTsKKwllcnIgPSBjcnlwdG9fY2lwaGVyX3NldGtleShjaGlsZCwga2V5LCBrZXlsZW4pOwor CWNyeXB0b190Zm1fc2V0X2ZsYWdzKHBhcmVudCwgY3J5cHRvX2NpcGhlcl9nZXRfZmxhZ3MoY2hp bGQpICYKKwkJCQlDUllQVE9fVEZNX1JFU19NQVNLKTsKKwlyZXR1cm4gZXJyOworfQorCitzdGF0 aWMgaW50IGNyeXB0b19zdHJlYW1fY3J5cHRfd2FsayhzdHJ1Y3QgYmxrY2lwaGVyX3dhbGsgKndh bGssCisJCQkJIHN0cnVjdCBjcnlwdG9fY2lwaGVyICp0Zm0pCit7CisJdm9pZCAoKmZuKShzdHJ1 Y3QgY3J5cHRvX3RmbSAqLCB1OCAqLCBjb25zdCB1OCAqLCB1MzIpID0KKwkJY3J5cHRvX2NpcGhl cl9hbGcodGZtKS0+Y2lhX3NldGl2X2NyeXB0OworCXVuc2lnbmVkIGludCBuYnl0ZXMgPSB3YWxr LT5uYnl0ZXM7CisJdTggKnNyYyA9IHdhbGstPnNyYy52aXJ0LmFkZHI7CisJdTggKmRzdCA9IHdh bGstPmRzdC52aXJ0LmFkZHI7CisJdTggKml2ID0gd2Fsay0+aXY7CisKKwlpZihkc3QgIT0gc3Jj KQorCQltZW1jcHkoZHN0LCBzcmMsIG5ieXRlcyk7CisJZm4oY3J5cHRvX2NpcGhlcl90Zm0odGZt KSwgZHN0LCBpdiwgbmJ5dGVzKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcnlwdG9f c3RyZWFtX2NyeXB0KHN0cnVjdCBibGtjaXBoZXJfZGVzYyAqZGVzYywKKwkJCSAgICBzdHJ1Y3Qg c2NhdHRlcmxpc3QgKmRzdCwgc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmMsCisJCQkgICAgdW5zaWdu ZWQgaW50IG5ieXRlcykKK3sKKwlzdHJ1Y3QgYmxrY2lwaGVyX3dhbGsgd2FsazsKKwlzdHJ1Y3Qg Y3J5cHRvX2Jsa2NpcGhlciAqdGZtID0gZGVzYy0+dGZtOworCXN0cnVjdCBjcnlwdG9fc3RyZWFt X2N0eCAqY3R4ID0gY3J5cHRvX2Jsa2NpcGhlcl9jdHgodGZtKTsKKwlzdHJ1Y3QgY3J5cHRvX2Np cGhlciAqY2hpbGQgPSBjdHgtPmNoaWxkOworCWludCBlcnI7CisKKwlibGtjaXBoZXJfd2Fsa19p bml0KCZ3YWxrLCBkc3QsIHNyYywgbmJ5dGVzKTsKKwllcnIgPSBibGtjaXBoZXJfd2Fsa192aXJ0 KGRlc2MsICZ3YWxrKTsKKworCXdoaWxlICh3YWxrLm5ieXRlcykgeworCQluYnl0ZXMgPSBjcnlw dG9fc3RyZWFtX2NyeXB0X3dhbGsoJndhbGssIGNoaWxkKTsKKwkJZXJyID0gYmxrY2lwaGVyX3dh bGtfZG9uZShkZXNjLCAmd2FsaywgbmJ5dGVzKTsKKwl9CisKKwlyZXR1cm4gZXJyOworfQorCisK K3N0YXRpYyBpbnQgY3J5cHRvX3N0cmVhbV9pbml0X3RmbShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZt KQoreworCXN0cnVjdCBjcnlwdG9faW5zdGFuY2UgKmluc3QgPSAodm9pZCAqKXRmbS0+X19jcnRf YWxnOworCXN0cnVjdCBjcnlwdG9fc3Bhd24gKnNwYXduID0gY3J5cHRvX2luc3RhbmNlX2N0eChp bnN0KTsKKwlzdHJ1Y3QgY3J5cHRvX3N0cmVhbV9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRm bSk7CisJc3RydWN0IGNyeXB0b19jaXBoZXIgKmNpcGhlcjsKKworCWNpcGhlciA9IGNyeXB0b19z cGF3bl9jaXBoZXIoc3Bhd24pOworCWlmIChJU19FUlIoY2lwaGVyKSkKKwkJcmV0dXJuIFBUUl9F UlIoY2lwaGVyKTsKKworCWN0eC0+Y2hpbGQgPSBjaXBoZXI7CisJcmV0dXJuIDA7Cit9CisKK3N0 YXRpYyB2b2lkIGNyeXB0b19zdHJlYW1fZXhpdF90Zm0oc3RydWN0IGNyeXB0b190Zm0gKnRmbSkK K3sKKwlzdHJ1Y3QgY3J5cHRvX3N0cmVhbV9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7 CisJY3J5cHRvX2ZyZWVfY2lwaGVyKGN0eC0+Y2hpbGQpOworfQorCitzdGF0aWMgc3RydWN0IGNy eXB0b19pbnN0YW5jZSAqY3J5cHRvX3N0cmVhbV9hbGxvYyhzdHJ1Y3QgcnRhdHRyICoqdGIpCit7 CisJc3RydWN0IGNyeXB0b19pbnN0YW5jZSAqaW5zdDsKKwlzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxn OworCWludCBlcnI7CisKKwllcnIgPSBjcnlwdG9fY2hlY2tfYXR0cl90eXBlKHRiLCBDUllQVE9f QUxHX1RZUEVfQkxLQ0lQSEVSKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gRVJSX1BUUihlcnIpOwor CisJYWxnID0gY3J5cHRvX2dldF9hdHRyX2FsZyh0YiwgQ1JZUFRPX0FMR19UWVBFX0NJUEhFUiwK KwkJCQkgIENSWVBUT19BTEdfVFlQRV9NQVNLKTsKKwlpZiAoSVNfRVJSKGFsZykpCisJCXJldHVy biBFUlJfUFRSKFBUUl9FUlIoYWxnKSk7CisKKwlpbnN0ID0gY3J5cHRvX2FsbG9jX2luc3RhbmNl KCJzdHJlYW0iLCBhbGcpOworCWlmIChJU19FUlIoaW5zdCkpCisJCWdvdG8gb3V0X3B1dF9hbGc7 CisKKwlpbnN0LT5hbGcuY3JhX2ZsYWdzID0gQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhFUjsKKwlp bnN0LT5hbGcuY3JhX3ByaW9yaXR5ID0gYWxnLT5jcmFfcHJpb3JpdHk7CisJaW5zdC0+YWxnLmNy YV9ibG9ja3NpemUgPSBhbGctPmNyYV9ibG9ja3NpemU7CisJaW5zdC0+YWxnLmNyYV9hbGlnbm1h c2sgPSAzOworCWluc3QtPmFsZy5jcmFfdHlwZSA9ICZjcnlwdG9fYmxrY2lwaGVyX3R5cGU7CisK KwlpZiAoIShhbGctPmNyYV9ibG9ja3NpemUgJSA0KSkKKwkJaW5zdC0+YWxnLmNyYV9hbGlnbm1h c2sgfD0gMzsKKwlpbnN0LT5hbGcuY3JhX2Jsa2NpcGhlci5pdnNpemUgPSBhbGctPmNyYV9jaXBo ZXIuY2lhX2l2c2l6ZTsKKwlpbnN0LT5hbGcuY3JhX2Jsa2NpcGhlci5taW5fa2V5c2l6ZSA9IGFs Zy0+Y3JhX2NpcGhlci5jaWFfbWluX2tleXNpemU7CisJaW5zdC0+YWxnLmNyYV9ibGtjaXBoZXIu bWF4X2tleXNpemUgPSBhbGctPmNyYV9jaXBoZXIuY2lhX21heF9rZXlzaXplOworCisJaW5zdC0+ YWxnLmNyYV9jdHhzaXplID0gc2l6ZW9mKHN0cnVjdCBjcnlwdG9fc3RyZWFtX2N0eCk7CisKKwlp bnN0LT5hbGcuY3JhX2luaXQgPSBjcnlwdG9fc3RyZWFtX2luaXRfdGZtOworCWluc3QtPmFsZy5j cmFfZXhpdCA9IGNyeXB0b19zdHJlYW1fZXhpdF90Zm07CisKKwlpbnN0LT5hbGcuY3JhX2Jsa2Np cGhlci5zZXRrZXkgPSBjcnlwdG9fc3RyZWFtX3NldGtleTsKKwlpbnN0LT5hbGcuY3JhX2Jsa2Np cGhlci5lbmNyeXB0ID0gY3J5cHRvX3N0cmVhbV9jcnlwdDsKKwlpbnN0LT5hbGcuY3JhX2Jsa2Np cGhlci5kZWNyeXB0ID0gY3J5cHRvX3N0cmVhbV9jcnlwdDsKKworb3V0X3B1dF9hbGc6CisJY3J5 cHRvX21vZF9wdXQoYWxnKTsKKwlyZXR1cm4gaW5zdDsKK30KKworc3RhdGljIHZvaWQgY3J5cHRv X3N0cmVhbV9mcmVlKHN0cnVjdCBjcnlwdG9faW5zdGFuY2UgKmluc3QpCit7CisJY3J5cHRvX2Ry b3Bfc3Bhd24oY3J5cHRvX2luc3RhbmNlX2N0eChpbnN0KSk7CisJa2ZyZWUoaW5zdCk7Cit9CisK K3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX3RlbXBsYXRlIGNyeXB0b19zdHJlYW1fdG1wbCA9IHsKKwku bmFtZSA9ICJzdHJlYW0iLAorCS5hbGxvYyA9IGNyeXB0b19zdHJlYW1fYWxsb2MsCisJLmZyZWUg PSBjcnlwdG9fc3RyZWFtX2ZyZWUsCisJLm1vZHVsZSA9IFRISVNfTU9EVUxFLAorfTsKKworc3Rh dGljIGludCBfX2luaXQgY3J5cHRvX3N0cmVhbV9tb2R1bGVfaW5pdCh2b2lkKQoreworCXJldHVy biBjcnlwdG9fcmVnaXN0ZXJfdGVtcGxhdGUoJmNyeXB0b19zdHJlYW1fdG1wbCk7Cit9CisKK3N0 YXRpYyB2b2lkIF9fZXhpdCBjcnlwdG9fc3RyZWFtX21vZHVsZV9leGl0KHZvaWQpCit7CisJY3J5 cHRvX3VucmVnaXN0ZXJfdGVtcGxhdGUoJmNyeXB0b19zdHJlYW1fdG1wbCk7Cit9CisKK21vZHVs ZV9pbml0KGNyeXB0b19zdHJlYW1fbW9kdWxlX2luaXQpOworbW9kdWxlX2V4aXQoY3J5cHRvX3N0 cmVhbV9tb2R1bGVfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVND UklQVElPTigiU3RyZWFtIGNpcGhlciB3cmFwcGVyIik7CmRpZmYgLS1naXQgYS9jcnlwdG8vdGNy eXB0LmMgYi9jcnlwdG8vdGNyeXB0LmMKaW5kZXggOTFmZjg5Mi4uNTE1YzE1MSAxMDA2NDQKLS0t IGEvY3J5cHRvL3RjcnlwdC5jCisrKyBiL2NyeXB0by90Y3J5cHQuYwpAQCAtNzgsNyArNzgsNyBA QCBzdGF0aWMgY2hhciAqY2hlY2tbXSA9IHsKIAkidHdvZmlzaCIsICJzZXJwZW50IiwgInNoYTM4 NCIsICJzaGE1MTIiLCAibWQ0IiwgImFlcyIsICJjYXN0NiIsCiAJImFyYzQiLCAibWljaGFlbF9t aWMiLCAiZGVmbGF0ZSIsICJjcmMzMmMiLCAidGVhIiwgInh0ZWEiLAogCSJraGF6YWQiLCAid3A1 MTIiLCAid3AzODQiLCAid3AyNTYiLCAidG5lcHJlcyIsICJ4ZXRhIiwgICJmY3J5cHQiLAotCSJj YW1lbGxpYSIsICJzZWVkIiwgTlVMTAorCSJjYW1lbGxpYSIsICJzZWVkIiwgInNhbHNhMjAiLCBO VUxMCiB9OwogCiBzdGF0aWMgdm9pZCBoZXhkdW1wKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgdW5zaWdu ZWQgaW50IGxlbikKQEAgLTEyOTAsNiArMTI5MCwxMiBAQCBzdGF0aWMgdm9pZCBkb190ZXN0KHZv aWQpCiAJCQkgICAgQ0FNRUxMSUFfQ0JDX0RFQ19URVNUX1ZFQ1RPUlMpOwogCQlicmVhazsKIAor CWNhc2UgMzQ6CisJCXRlc3RfY2lwaGVyKCJzdHJlYW0oc2Fsc2EyMCkiLCBFTkNSWVBULAorCQkJ ICAgIHNhbHNhMjBfc3RyZWFtX2VuY190dl90ZW1wbGF0ZSwKKwkJCSAgICBTQUxTQTIwX1NUUkVB TV9FTkNfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKIAljYXNlIDEwMDoKIAkJdGVzdF9oYXNo KCJobWFjKG1kNSkiLCBobWFjX21kNV90dl90ZW1wbGF0ZSwKIAkJCSAgSE1BQ19NRDVfVEVTVF9W RUNUT1JTKTsKZGlmZiAtLWdpdCBhL2NyeXB0by90Y3J5cHQuaCBiL2NyeXB0by90Y3J5cHQuaApp bmRleCBmN2Y5YjIzLi4yMmFjNzU0IDEwMDY0NAotLS0gYS9jcnlwdG8vdGNyeXB0LmgKKysrIGIv Y3J5cHRvL3RjcnlwdC5oCkBAIC00NTAyLDYgKzQ1MDIsNTgxIEBAIHN0YXRpYyBzdHJ1Y3QgY2lw aGVyX3Rlc3R2ZWMgc2VlZF9kZWNfdHZfdGVtcGxhdGVbXSA9IHsKIAl9CiB9OwogCisjZGVmaW5l IFNBTFNBMjBfU1RSRUFNX0VOQ19URVNUX1ZFQ1RPUlMgNAorc3RhdGljIHN0cnVjdCBjaXBoZXJf dGVzdHZlYyBzYWxzYTIwX3N0cmVhbV9lbmNfdHZfdGVtcGxhdGVbXSA9IHsKKwkvKiBUZXN0dmVj dG9ycyBmcm9tIHZlcmlmaWVkLnRlc3QtdmVjdG9ycyBzdWJtaXR0ZWQgdG8gRUNSWVBUICovCisJ eyAvKiBTZXQgMywgdmVjdG9yIDAgKi8KKwkJLmtleQk9IHsKKwkJCSAgICAweDAwLCAweDAxLCAw eDAyLCAweDAzLCAweDA0LCAweDA1LCAweDA2LCAweDA3LAorCQkJICAgIDB4MDgsIDB4MDksIDB4 MEEsIDB4MEIsIDB4MEMsIDB4MEQsIDB4MEUsIDB4MEYKKwkJCSAgfSwKKwkJLmtsZW4JPSAxNiwK KwkJLml2ICAgICA9IHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCB9LAorCQkuaW5wdXQJPSB7IAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs CisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwK KwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAor CQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJ CQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJ CSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJ ICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkg ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAg ICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAg IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsCisJCSAJICB9LAorCQkuaWxlbgk9IDUxMiwKKwkJLnJlc3VsdAk9IHsK KwkJCSAgICAweDJELCAweEQ1LCAweEMzLCAweEY3LCAweEJBLCAweDJCLCAweDIwLCAweEY3LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjgsIDB4MDIsIDB4NDEsIDB4MEMsIDB4Njgs IDB4ODYsIDB4ODgsIDB4ODksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1QSwgMHhE OCwgMHhDMSwgMHhCRCwgMHg0RSwgMHhBNiwgMHhDOSwgMHhCMSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDQwLCAweEZCLCAweDlCLCAweDkwLCAweEUyLCAweDEwLCAweDQ5LCAweEJG LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTgsIDB4M0YsIDB4NTIsIDB4NzksIDB4 NzAsIDB4RUIsIDB4QzEsIDB4QTQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhDNCwg MHhDNSwgMHhBRiwgMHgxMSwgMHg3QSwgMHg1OSwgMHg0MCwgMHhEOSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDJCLCAweDk4LCAweDg5LCAweDVCLCAweDE5LCAweDAyLCAweEYwLCAw eDJCLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RjYsIDB4RTksIDB4QkUsIDB4Rjgs IDB4RDYsIDB4QjQsIDB4Q0MsIDB4QkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhB RSwgMHgxNywgMHhDQywgMHgxOCwgMHg3QywgMHg5QiwgMHg4MiwgMHg2MCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweEY0LCAweDZBLCAweDYyLCAweEQ0LCAweDQwLCAweEM4LCAweDQ1 LCAweDk3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEQsIDB4OUQsIDB4QUQsIDB4 MUUsIDB4REIsIDB4OEQsIDB4ODUsIDB4NzUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHhEQywgMHhBRSwgMHgwMCwgMHg2QSwgMHhDRCwgMHhGNiwgMHhBRiwgMHgyRiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDEzLCAweDczLCAweERGLCAweEYxLCAweDI2LCAweDNBLCAw eDA2LCAweEIzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RDAsIDB4NjMsIDB4RjQs IDB4NkQsIDB4NkYsIDB4NUUsIDB4NkUsIDB4MDEsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgzNywgMHg1OSwgMHgwMiwgMHgxNCwgMHgxOSwgMHhEMiwgMHg5RCwgMHhCMCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDNBLCAweDk5LCAweDJCLCAweDJGLCAweEQxLCAweEM2 LCAweEEwLCAweENCLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RTEsIDB4QTYsIDB4 MTQsIDB4NTksIDB4OEEsIDB4RUMsIDB4OUQsIDB4OEEsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHg0RSwgMHhBOSwgMHg5MSwgMHgzRiwgMHhDMiwgMHg1MSwgMHhFRCwgMHgzRSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweEQzLCAweDI5LCAweERGLCAweEM1LCAweDA5LCAw eEVCLCAweERFLCAweDVCLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjcsIDB4RTgs IDB4NzUsIDB4MDIsIDB4QjQsIDB4M0EsIDB4RUEsIDB4NEQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHhFMCwgMHhBRSwgMHhDNSwgMHg0MSwgMHhCQywgMHhDNSwgMHgyNywgMHg2RSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDhGLCAweEY2LCAweDg4LCAweDQwLCAweDEz LCAweDY3LCAweDE4LCAweDE2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTksIDB4 MTcsIDB4MTksIDB4NkYsIDB4ODAsIDB4RkEsIDB4MzcsIDB4MEEsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgyQSwgMHgyRSwgMHgwRCwgMHhGMSwgMHhBOCwgMHhDNSwgMHgwRCwgMHg1 MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEFCLCAweDU2LCAweENDLCAweDJDLCAw eDVCLCAweEZGLCAweEVGLCAweDE3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NEIs IDB4QkUsIDB4MjgsIDB4QzQsIDB4OEEsIDB4MTcsIDB4MDMsIDB4OUUsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHhDQiwgMHg3OSwgMHg1RiwgMHg0QywgMHgyNSwgMHg0MSwgMHhFMiwg MHhGNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEFFLCAweDVDLCAweDY5LCAweENB LCAweDdGLCAweEMyLCAweERFLCAweEQ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 RDMsIDB4OUIsIDB4MkMsIDB4N0IsIDB4OTMsIDB4NkEsIDB4Q0QsIDB4NUMsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgyRSwgMHhDRCwgMHg0NywgMHgxOSwgMHhGRCwgMHg2QSwgMHgz MSwgMHg4OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMyLCAweDNBLCAweDE0LCAw eDQ5LCAweDAyLCAweDgxLCAweENCLCAweEU4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4REEsIDB4QzQsIDB4OEUsIDB4NDYsIDB4NjQsIDB4RkYsIDB4M0QsIDB4M0IsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHg5QSwgMHgxOCwgMHhFOCwgMHgyNywgMHhDMywgMHgzNiwg MHgzMywgMHhFOSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMyLCAweEZDLCAweDQz LCAweDFELCAweDY5LCAweDdGLCAweDA3LCAweDc1LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4QjQsIDB4QzUsIDB4QjAsIDB4QUQsIDB4MjYsIDB4RDEsIDB4QUMsIDB4RDUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHhBNiwgMHg0MywgMHhFMywgMHhBMCwgMHgxQSwgMHgw NiwgMHg1OCwgMHgyMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQyLCAweEE0LCAw eDNGLCAweDQ4LCAweEU1LCAweEQzLCAweEQ5LCAweEE5LAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MTgsIDB4NTgsIDB4ODgsIDB4NzMsIDB4MTAsIDB4RDMsIDB4OTksIDB4NjksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhENiwgMHg1RSwgMHg3RCwgMHhCNywgMHg4OCwg MHhBRiwgMHhFMiwgMHg3RCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAweENE LCAweDk4LCAweDU2LCAweDQxLCAweDk2LCAweDczLCAweDU3LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4REIsIDB4MzEsIDB4NTUsIDB4MDYsIDB4NzksIDB4RjEsIDB4NzksIDB4ODYs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhDMSwgMHg0RiwgMHhBQywgMHg3RiwgMHg2 QywgMHg1NywgMHhDQSwgMHgzOCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEMwLCAw eDQwLCAweDI0LCAweDY1LCAweDNDLCAweDdCLCAweDJCLCAweEE1LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MzgsIDB4MTksIDB4N0YsIDB4NUEsIDB4MjQsIDB4QkMsIDB4NjEsIDB4 RUMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhDRSwgMHhDRSwgMHgxQiwgMHhGNSwg MHg2MCwgMHhDMSwgMHgyQiwgMHg1OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEI1 LCAweDE1LCAweEU2LCAweEJGLCAweDQ5LCAweEFGLCAweDQyLCAweEFELAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4RUYsIDB4ODksIDB4OEMsIDB4OTAsIDB4RjEsIDB4NDcsIDB4OUUs IDB4MDksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2NCwgMHgyMywgMHg4MiwgMHg3 NywgMHgwRSwgMHhCOSwgMHhGOCwgMHg2MywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDBFLCAweDg0LCAweEM5LCAweDc0LCAweDhCLCAweEYzLCAweDk5LCAweDRELAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4NEUsIDB4MkYsIDB4MjQsIDB4NUIsIDB4QzcsIDB4RjcsIDB4 NzUsIDB4NUIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhFMCwgMHhGQywgMHg1NSwg MHgyQywgMHhDRSwgMHhBQSwgMHg0RiwgMHg4MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDZBLCAweEEwLCAweDdELCAweDZGLCAweDY3LCAweDEwLCAweDM2LCAweDUyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4NkYsIDB4REQsIDB4NDIsIDB4RkMsIDB4RTksIDB4Q0Es IDB4NUUsIDB4NkIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxQiwgMHgyMiwgMHhD MCwgMHhBMSwgMHhDMSwgMHg1RiwgMHg2MCwgMHhBMCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDM2LCAweENCLCAweDc1LCAweDI0LCAweEMxLCAweDY5LCAweEIyLCAweDhGLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTQsIDB4OEEsIDB4RDAsIDB4MTgsIDB4RDcsIDB4 MEUsIDB4REMsIDB4RjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3NSwgMHgyMywg MHg1NywgMHgxOSwgMHgxRSwgMHg4MCwgMHg0MSwgMHhBQiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweEI4LCAweEI1LCAweDc2LCAweDFGLCAweEFGLCAweDlDLCAweEI5LCAweEQ3LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAsIDB4NzIsIDB4RTEsIDB4MEIsIDB4NEEs IDB4M0UsIDB4RDgsIDB4QzYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhBRCwgMHhB MiwgMHhCMCwgMHg1QywgMHhCQiwgMHhBQywgMHgyOSwgMHg4RiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDJFLCAweEQ2LCAweDQ0LCAweDgzLCAweDYwLCAweEY2LCAweDNBLCAweDUx LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RTAsIDB4NzMsIDB4REUsIDB4MDIsIDB4 MzMsIDB4OEQsIDB4QkEsIDB4RjIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhBOCwg MHgzOCwgMHg0MSwgMHg1NywgMHgzMiwgMHg5QiwgMHhDMywgMHgxQSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDEwLCAweDM2LCAweEJCLCAweEI0LCAweENCLCAweEZFLCAweEU2LCAw eDYwLAorCQkJfSwKKwkJLnJsZW4JPSA1MTIsCisJfSwgeyAvKiBTZXQgNSwgdmVjdG9yIDAgKi8K KwkJLmtleQk9IHsKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAKKwkJCSAgfSwKKwkJLmtsZW4JPSAxNiwKKwkJLml2ICAgICA9IHsgMHg4MCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCB9LAorCQkuaW5wdXQJPSB7IAor CQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJ CQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJ CSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJ ICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkg ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAg ICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAg IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs CisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwK KwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAor CQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJ CQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJ CSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJ ICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkg ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAg ICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAg IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCSAJfSwK KwkJLmlsZW4JPSA1MTIsCisJCS5yZXN1bHQJPSB7CisJCQkgICAgMHhCNiwgMHg2QywgMHgxRSwg MHg0NCwgMHg0NiwgMHhERCwgMHg5NSwgMHg1NywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweEU1LCAweDc4LCAweEUyLCAweDIzLCAweEIwLCAweEI3LCAweDY4LCAweDAxLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4N0IsIDB4MjMsIDB4QjIsIDB4NjcsIDB4QkIsIDB4MDIs IDB4MzQsIDB4QUUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0NiwgMHgyNiwgMHhC RiwgMHg0NCwgMHgzRiwgMHgyMSwgMHg5NywgMHg3NiwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDQzLCAweDZGLCAweEIxLCAweDlGLCAweEQwLCAweEU4LCAweDg2LCAweDZGLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4Q0QsIDB4MEQsIDB4RTksIDB4QTksIDB4NTMsIDB4 OEYsIDB4NEEsIDB4MDksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhDQSwgMHg5QSwg MHhDMCwgMHg3MywgMHgyRSwgMHgzMCwgMHhCQywgMHhGOSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDhFLCAweDRGLCAweDEzLCAweEU0LCAweEI5LCAweEUyLCAweDAxLCAweEQ5LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTcsIDB4RDksIDB4MjAsIDB4OEMsIDB4MEEs IDB4ODcsIDB4MEUsIDB4N0IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2NywgMHhB RiwgMHgwMiwgMHgwNCwgMHhBNywgMHhDOCwgMHg4NSwgMHgwNCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDhDLCAweDMyLCAweDE0LCAweDdFLCAweDQwLCAweDk5LCAweDE5LCAweDhB LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QzAsIDB4NTMsIDB4NDcsIDB4RDksIDB4 REIsIDB4RjUsIDB4M0UsIDB4RTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhEQywg MHhBQywgMHg3MywgMHgxMSwgMHg4NiwgMHgzQywgMHhCNCwgMHhFMywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDE2LCAweEY4LCAweEI1LCAweEYyLCAweDkzLCAweDgwLCAweEE5LCAw eDJDLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NUEsIDB4QTgsIDB4QjIsIDB4MTMs IDB4MTgsIDB4NTEsIDB4RDEsIDB4NEQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2 OSwgMHhENywgMHhFRSwgMHg0QSwgMHhCRiwgMHg5QywgMHg0RiwgMHg1NiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweEQ3LCAweERBLCAweDRGLCAweDlGLCAweDU0LCAweDcwLCAweEZE LCAweDJCLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4OUIsIDB4MzcsIDB4OEEsIDB4 OTEsIDB4MTgsIDB4NzQsIDB4OEIsIDB4M0YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHg2QiwgMHg4NSwgMHhDMywgMHgyRiwgMHgzRiwgMHg1MCwgMHhGOSwgMHgyOCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweEJELCAweEE5LCAweDhBLCAweDc2LCAweDdFLCAweDU2LCAw eDI0LCAweEM1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QzMsIDB4MTgsIDB4ODcs IDB4RjQsIDB4NjYsIDB4QzYsIDB4NEQsIDB4MkQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHg5QSwgMHhBOSwgMHhDNywgMHg3NywgMHg4NSwgMHgxQiwgMHgzMSwgMHhENiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweEVFLCAweEFFLCAweDc3LCAweDAwLCAweDM5LCAweDU4 LCAweDlBLCAweEYwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QUEsIDB4NEQsIDB4 QzksIDB4NDksIDB4REIsIDB4MzIsIDB4RDksIDB4NzMsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHg0NiwgMHgyOSwgMHgyMCwgMHgwNCwgMHgxQywgMHg1NSwgMHg0MywgMHg5NSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDRELCAweDYyLCAweDMwLCAweEM1LCAweDMxLCAw eDA0LCAweDJCLCAweDk5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4OUEsIDB4Mjgs IDB4OTUsIDB4NDIsIDB4RkUsIDB4QjMsIDB4QzEsIDB4MjksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHhDNSwgMHgyOCwgMHg2RSwgMHgxQSwgMHg0QiwgMHg0QywgMHhGMSwgMHgxOCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDc0LCAweDQ3LCAweDk1LCAweDk3LCAweDg1 LCAweDQzLCAweDRCLCAweEVGLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEQsIDB4 MDUsIDB4QzYsIDB4RUMsIDB4ODksIDB4NTAsIDB4RTQsIDB4NjksCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHhCQiwgMHhBNiwgMHg2NCwgMHg3NSwgMHg3MSwgMHhERCwgMHhEMCwgMHg0 OSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEM3LCAweDJELCAweDgxLCAweEFDLCAw eDhCLCAweDc1LCAweEQwLCAweDI3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4REQs IDB4ODQsIDB4RTMsIDB4RjYsIDB4MzEsIDB4QUQsIDB4REMsIDB4NDQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHg1MCwgMHhCOSwgMHg4MSwgMHgzNywgMHgyOSwgMHhCRCwgMHg4RSwg MHg3QywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEM4LCAweDkwLCAweDlBLCAweDFF LCAweDAyLCAweDNFLCAweEU1LCAweDM5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 RjEsIDB4MjYsIDB4NDYsIDB4Q0YsIDB4RUMsIDB4MDMsIDB4MjMsIDB4OUEsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHg2OCwgMHhGMywgMHgwMCwgMHg4RiwgMHgxNywgMHgxQywgMHhE QSwgMHhFNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDE0LCAweEQyLCAweDBCLCAw eENELCAweDU4LCAweDRELCAweEZELCAweDQ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4Q0IsIDB4RjIsIDB4NUMsIDB4MDUsIDB4RDAsIDB4MjgsIDB4RTUsIDB4MTgsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHg3MCwgMHg3MiwgMHg5RSwgMHg0MCwgMHg4NywgMHhBQSwg MHgwMiwgMHg1QiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDU1LCAweEQyLCAweDUy LCAweEJGLCAweDFBLCAweDlGLCAweEY3LCAweEYwLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4OUYsIDB4N0MsIDB4NjMsIDB4RTEsIDB4QzAsIDB4MjIsIDB4N0UsIDB4QjIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHg2QywgMHg3RiwgMHhBRiwgMHgxNywgMHhGMSwgMHg5 NCwgMHg1QSwgMHg2OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDFGLCAweEQ1LCAw eDNFLCAweDk4LCAweDcxLCAweEM5LCAweEYzLCAweDA2LAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4QkEsIDB4RUQsIDB4Q0QsIDB4MzMsIDB4QkIsIDB4MDcsIDB4NUYsIDB4NDksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhDMSwgMHg2NywgMHhFMywgMHhDQiwgMHg5QSwg MHgxRCwgMHg5MCwgMHhFMywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDI1LCAweDJG LCAweDczLCAweDFCLCAweDAyLCAweDcwLCAweDQ1LCAweENBLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4RkMsIDB4NzMsIDB4RUMsIDB4MDgsIDB4OTQsIDB4MDUsIDB4NEQsIDB4RDAs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0MiwgMHg5RSwgMHg5RSwgMHg4QiwgMHg0 MCwgMHhBOCwgMHg2QiwgMHgzQiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEY3LCAw eDc0LCAweDQzLCAweDEwLCAweEMzLCAweEQxLCAweDVDLCAweEYxLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4QTcsIDB4N0QsIDB4QzQsIDB4MjUsIDB4NDcsIDB4OEIsIDB4NzQsIDB4 MjksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNywgMHhDNSwgMHgyNSwgMHhEMywg MHg3QiwgMHg2QywgMHgzQiwgMHg3MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEVC LCAweEFGLCAweEU2LCAweDA5LCAweEQzLCAweDhCLCAweDMzLCAweDNCLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4NzQsIDB4MEEsIDB4RDcsIDB4OEEsIDB4MzcsIDB4RUIsIDB4NzQs IDB4RjMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGNiwgMHgxNiwgMHgxOCwgMHg5 QiwgMHgzMSwgMHgyQiwgMHg4MCwgMHg2MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eEU2LCAweDRBLCAweEFFLCAweEZGLCAweDY0LCAweDJCLCAweDQ3LCAweDM1LAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4NUEsIDB4QzgsIDB4NDcsIDB4NDgsIDB4OTksIDB4QjksIDB4 RTIsIDB4ODIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMSwgMHhDQywgMHg3MSwg MHgzNywgMHhCRCwgMHgwRCwgMHhGMiwgMHg5MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweEQzLCAweEU5LCAweDI2LCAweEVCLCAweDMyLCAweEQ4LCAweEY5LCAweEM5LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MkQsIDB4MEYsIDB4QjEsIDB4REUsIDB4NEQsIDB4QkUs IDB4NDUsIDB4MkQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhFMywgMHg4MCwgMHgw RSwgMHg1NSwgMHg0QiwgMHgzNCwgMHg4RSwgMHg4QSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDNELCAweDFCLCAweDlDLCAweDU5LCAweEI5LCAweEM3LCAweDdCLCAweDA5LAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEIsIDB4OEUsIDB4M0EsIDB4MEIsIDB4REEsIDB4 QzUsIDB4MjAsIDB4RTksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3NiwgMHg1MCwg MHgxOSwgMHg1OCwgMHg0NiwgMHgxOSwgMHg4RSwgMHg5RCwKKwkJCX0sCisJCS5ybGVuCT0gNTEy LAorCX0sIHsgLyogU2V0IDMsIHZlY3RvciAyNyAqLworCQkua2V5CT0geworCQkJICAgIDB4MUIs IDB4MUMsIDB4MUQsIDB4MUUsIDB4MUYsIDB4MjAsIDB4MjEsIDB4MjIsCisJCQkgICAgMHgyMywg MHgyNCwgMHgyNSwgMHgyNiwgMHgyNywgMHgyOCwgMHgyOSwgMHgyQSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDJCLCAweDJDLCAweDJELCAweDJFLCAweDJGLCAweDMwLCAweDMxLCAw eDMyLAorCQkJICAgIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIDB4MzgsIDB4MzksIDB4 M0EKKwkJCSAgfSwKKwkJLmtsZW4JPSAzMiwKKwkJLml2ICAgICA9IHsgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCB9LAorCQkuaW5wdXQJPSB7IAorCQkJICAg IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs CisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwK KwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAor CQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJ CQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJ CSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJ ICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkg ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAg ICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAg IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCSAJfSwKKwkJLmls ZW4JPSA1MTIsCisJCS5yZXN1bHQJPSB7CisJCQkgICAgMHhBRSwgMHgzOSwgMHg1MCwgMHg4RSwg MHhBQywgMHg5QSwgMHhFQywgMHhFNywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEJG LCAweDk3LCAweEJCLCAweDIwLCAweEI5LCAweERFLCAweEU0LCAweDFGLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4ODcsIDB4RDksIDB4NDcsIDB4RjgsIDB4MjgsIDB4OTEsIDB4MzUs IDB4OTgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhEQiwgMHg3MiwgMHhDQywgMHgy MywgMHgyOSwgMHg0OCwgMHg1NiwgMHg1RSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDgzLCAweDdFLCAweDBCLCAweEYzLCAweDdELCAweDVELCAweDM4LCAweDdCLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MkQsIDB4NzEsIDB4MDIsIDB4QjQsIDB4M0IsIDB4QjUsIDB4 RDgsIDB4MjMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhCMCwgMHg0QSwgMHhERiwg MHgzQywgMHhFQywgMHhCNiwgMHhEOSwgMHgzQiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDlCLCAweEE3LCAweDUyLCAweEJFLCAweEM1LCAweEQ0LCAweDUwLCAweDU5LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MTUsIDB4MTQsIDB4QjQsIDB4MEUsIDB4NDAsIDB4RTYs IDB4NTMsIDB4RDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MywgMHg5QywgMHg1 QiwgMHhBMCwgMHg5MiwgMHgyOSwgMHg2QiwgMHg1RSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDk2LCAweDVCLCAweDFFLCAweDJGLCAweEQzLCAweEFDLCAweEMxLCAweDkyLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4QjEsIDB4NDEsIDB4M0YsIDB4MTksIDB4MkYsIDB4 QzQsIDB4M0IsIDB4QzYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg5NSwgMHg0Niwg MHg0NSwgMHg1NCwgMHhFOSwgMHg3NSwgMHgwMywgMHgwOCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDQ0LCAweEFGLCAweEU1LCAweDhBLCAweDgxLCAweDEyLCAweDA5LCAweDlCLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODYsIDB4NjYsIDB4M0EsIDB4MDksIDB4NUQs IDB4QzQsIDB4RDUsIDB4ODAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzQiwgMHg3 QiwgMHhEQywgMHgwQiwgMHgyQiwgMHhCMSwgMHg2NCwgMHgwQiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDIwLCAweDEwLCAweDMzLCAweEExLCAweDNBLCAweDk0LCAweEJFLCAweEU2 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzgsIDB4RDEsIDB4OUMsIDB4NjgsIDB4 OTIsIDB4MkYsIDB4Q0EsIDB4NDgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhFMSwg MHhCNywgMHgxMywgMHg1RCwgMHhBOCwgMHg4MiwgMHgyOSwgMHg5RSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweEMwLCAweDcxLCAweDE3LCAweDlBLCAweDlGLCAweDA4LCAweDkwLCAw eDQ4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QkIsIDB4MTQsIDB4RTIsIDB4Qzgs IDB4RTQsIDB4MkMsIDB4MTgsIDB4OEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgy NSwgMHg2QywgMHg5RCwgMHhFRCwgMHgxQSwgMHg4OSwgMHhFQSwgMHgxOCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwLCAweEI4LCAweDUzLCAweEY0LCAweDU4LCAweDQ1LCAweEI5 LCAweDRCLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RDYsIDB4MDQsIDB4OTIsIDB4 NjcsIDB4MUQsIDB4REYsIDB4QjcsIDB4N0YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHhDRiwgMHg3RiwgMHgzNiwgMHg3MywgMHg0QSwgMHg3QSwgMHhEMSwgMHhFRiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDRELCAweDlBLCAweDRBLCAweEE1LCAweDE4LCAweEE5LCAw eDFDLCAweDE0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjQsIDB4MTgsIDB4NDYs IDB4ODgsIDB4RjMsIDB4MUUsIDB4NUUsIDB4NzcsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHg1RSwgMHg4NywgMHg5RSwgMHgwMSwgMHhFOCwgMHgyRiwgMHhCNCwgMHgyRSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweEFFLCAweEU4LCAweEYzLCAweDgyLCAweEFBLCAweDA3 LCAweDAxLCAweEQ1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NEEsIDB4RjUsIDB4 REIsIDB4NzgsIDB4ODgsIDB4NTgsIDB4Q0MsIDB4REYsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHg4MCwgMHgxRCwgMHhFRCwgMHgxRSwgMHgxOCwgMHhCQSwgMHg0MSwgMHg5NSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAweDlBLCAweEEzLCAweDExLCAweDFCLCAw eEExLCAweDExLCAweEFDLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QUIsIDB4ODQs IDB4RTYsIDB4NDMsIDB4RDIsIDB4MTQsIDB4RTgsIDB4REUsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHg5MiwgMHg3NCwgMHg3MiwgMHgwQSwgMHgxNSwgMHg1NywgMHhBMSwgMHhFMCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQ3LCAweDFGLCAweDAwLCAweDM5LCAweDQ5 LCAweDM0LCAweEE4LCAweDNBLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzIsIDB4 NEQsIDB4NDIsIDB4NzAsIDB4OTQsIDB4OUIsIDB4RDQsIDB4NDgsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHhBNywgMHhCQiwgMHg2QiwgMHg1RCwgMHg1RiwgMHhBNCwgMHgwRSwgMHg5 OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMxLCAweEFFLCAweDVCLCAweDRFLCAw eEE3LCAweEQ4LCAweEQzLCAweDRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDcs IDB4MUUsIDB4QjUsIDB4NkUsIDB4RkQsIDB4ODQsIDB4RjEsIDB4MjcsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHhDOCwgMHhFMywgMHg0RCwgMHhBOSwgMHhCRiwgMHg2MywgMHgzQiwg MHg0NiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEQ3LCAweDdFLCAweEI1LCAweEE2 LCAweEM4LCAweDQ1LCAweDBBLCAweEE5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MTQsIDB4MzAsIDB4QTcsIDB4NUEsIDB4MDUsIDB4OUEsIDB4NEEsIDB4NDYsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHg2RiwgMHhEQywgMHhEMCwgMHg0NiwgMHg3QywgMHgzNSwgMHg4 MCwgMHg2MywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweENDLCAweDFFLCAweDIzLCAw eENCLCAweDk5LCAweDNCLCAweDk0LCAweEQ4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4NzAsIDB4NUYsIDB4RTksIDB4MkEsIDB4MzUsIDB4NDgsIDB4MDUsIDB4MDQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHg5QywgMHhBOCwgMHgyRiwgMHgwOCwgMHhCMywgMHgyOSwg MHg4NiwgMHhBNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDZBLCAweEYyLCAweDEy LCAweEI1LCAweENDLCAweEZFLCAweDMzLCAweENDLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4RTgsIDB4NTMsIDB4QTAsIDB4OTMsIDB4NzEsIDB4OEMsIDB4RDksIDB4NDUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgxMywgMHgxRCwgMHhBNSwgMHg2OSwgMHgyMywgMHg3 RCwgMHgwNiwgMHgzQiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEYxLCAweDU2LCAw eEUwLCAweEFGLCAweEM0LCAweDBGLCAweDM5LCAweDJBLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MzYsIDB4MUIsIDB4OTcsIDB4ODMsIDB4OTAsIDB4NzEsIDB4RkYsIDB4QUQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGNCwgMHg1MCwgMHgwMiwgMHgwOCwgMHg5NSwg MHg4NSwgMHhDMiwgMHg4NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDYwLCAweEU2 LCAweDk5LCAweEZELCAweEE5LCAweDdBLCAweEM4LCAweEJCLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4Q0YsIDB4MUMsIDB4QzIsIDB4MEMsIDB4RDcsIDB4MzQsIDB4QjYsIDB4NzEs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg5NSwgMHhBMSwgMHg2MywgMHhENiwgMHhD NSwgMHhGRiwgMHhGMiwgMHgwNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNBLCAw eEIzLCAweEEzLCAweDVCLCAweDI3LCAweEE4LCAweDc1LCAweDkwLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4RTcsIDB4NTcsIDB4Q0EsIDB4OTUsIDB4NzcsIDB4OTcsIDB4RDYsIDB4 NDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2RSwgMHgxNywgMHhGOCwgMHg1Miwg MHhBRiwgMHhGQiwgMHhGMSwgMHg5MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEFG LCAweDk4LCAweEVCLCAweDhDLCAweEY3LCAweDNELCAweENCLCAweEJBLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MEIsIDB4Q0UsIDB4OEUsIDB4RkEsIDB4MjksIDB4QjksIDB4NTgs IDB4RTMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg5QywgMHgwMCwgMHg4NSwgMHhG MCwgMHgwNywgMHg2RSwgMHgwQiwgMHg0RSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDMxLCAweDI4LCAweDlBLCAweDRGLCAweDJELCAweEYzLCAweDU4LCAweDU1LAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4QUQsIDB4RDYsIDB4QkIsIDB4RUMsIDB4NzIsIDB4NUYsIDB4 QzIsIDB4ODYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwRCwgMHg0RiwgMHg0OSwg MHhBQiwgMHg0RSwgMHhFQSwgMHg2QywgMHg4NywKKwkJCSAgfSwKKwkJLnJsZW4JPSA1MTIsCisJ CisJfSwgeyAvKiBTZXQgNSwgdmVjdG9yIDI3ICovCisJCS5rZXkJPSB7CisJCQkgICAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAorCQkJICB9LAorCQkua2xlbgk9 IDMyLAorCQkuaXYgICAgID0geyAweDAwLCAweDAwLCAweDAwLCAweDEwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwIH0sCisJCS5pbnB1dAk9IHsgCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs CisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwK KwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAor CQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJ CQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJ CSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJ ICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkg ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAg ICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAg IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJCSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLAorCQkJICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJCQkgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkJIAl9LAorCQkuaWxlbgk9IDUxMiwKKwkJLnJlc3VsdAk9 IHsKKwkJCSAgICAweEQyLCAweERCLCAweDFBLCAweDVDLCAweEYxLCAweEMxLCAweEFDLCAweERC LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RTgsIDB4MUEsIDB4N0EsIDB4NDMsIDB4 NDAsIDB4RUYsIDB4NTMsIDB4NDMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1RSwg MHg3RiwgMHg0QiwgMHgxQSwgMHg1MCwgMHg1MiwgMHgzRiwgMHg4RCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDI4LCAweDNELCAweENGLCAweDg1LCAweDFELCAweDY5LCAweDZFLCAw eDYwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RjIsIDB4REUsIDB4NzQsIDB4NTYs IDB4MTgsIDB4MUIsIDB4ODQsIDB4MTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhE NCwgMHg2MiwgMHhCQSwgMHg2MCwgMHg1MCwgMHhGMCwgMHg2MSwgMHhGMiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDFDLCAweDc4LCAweDdGLCAweEMxLCAweDI0LCAweDM0LCAweEFG LCAweDU4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QkYsIDB4MkMsIDB4NTksIDB4 Q0EsIDB4OTAsIDB4NzcsIDB4RjMsIDB4QjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHg1QiwgMHg0QSwgMHhERiwgMHg4OSwgMHhDRSwgMHgyQywgMHgyRiwgMHhGQywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDY3LCAweEYwLCAweEUzLCAweDQ1LCAweEU4LCAweEIzLCAw eEIzLCAweDc1LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTAsIDB4OTUsIDB4NzEs IDB4QTEsIDB4MjksIDB4MzksIDB4OTQsIDB4Q0EsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHg0NSwgMHgyRiwgMHhCRCwgMHhDQiwgMHgxMCwgMHhCNiwgMHhCRSwgMHg5RiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDhFLCAweEY5LCAweEIyLCAweDAxLCAweDBBLCAweDVB LCAweDBBLCAweEI3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NkIsIDB4OUQsIDB4 NzAsIDB4OEUsIDB4NEIsIDB4RDYsIDB4MkYsIDB4Q0QsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgyRSwgMHg0MCwgMHg0OCwgMHg3NSwgMHhFOSwgMHhFMiwgMHgyMSwgMHg0NSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDBCLCAweEM5LCAweEI2LCAweEI1LCAweDY2LCAw eEJDLCAweDlBLCAweDU5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NUEsIDB4N0Ys IDB4NkEsIDB4MEEsIDB4RDksIDB4MEEsIDB4QzUsIDB4RDcsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgzRCwgMHg3NSwgMHg5OCwgMHhGQiwgMHg0QywgMHhBQSwgMHg0NiwgMHg3RSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEJELCAweEM0LCAweDI4LCAweEQyLCAweDQx LCAweDc3LCAweDJFLCAweDM4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTgsIDB4 NkIsIDB4M0YsIDB4NUEsIDB4NTEsIDB4NzUsIDB4MzIsIDB4RjAsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHhCMywgMHgwMSwgMHhDQSwgMHhCRiwgMHgyQSwgMHg1RiwgMHhERCwgMHhE NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDk4LCAweDVFLCAweDU2LCAweEMxLCAw eEQxLCAweDI1LCAweDA4LCAweDIyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4Rjks IDB4RTEsIDB4ODMsIDB4NEIsIDB4MkMsIDB4N0YsIDB4QzEsIDB4MkMsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHhBOSwgMHhFMywgMHhGRCwgMHhBNywgMHhDQywgMHgwNSwgMHgwRSwg MHgyMywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDZDLCAweEUwLCAweDIwLCAweEIz LCAweEU4LCAweDM3LCAweDY1LCAweEExLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MUYsIDB4OUEsIDB4RTEsIDB4NTcsIDB4QUQsIDB4MkQsIDB4MDcsIDB4RDEsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHhFQSwgMHg0RSwgMHg5RiwgMHhCQiwgMHhGMywgMHg4NiwgMHhD OCwgMHgzRiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEVGLCAweDU0LCAweDMxLCAw eDk3LCAweDQ2LCAweEU1LCAweEY5LCAweDk3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4RDMsIDB4NUIsIDB4RTksIDB4RjcsIDB4M0IsIDB4OTksIDB4NzcsIDB4MkQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHhBOSwgMHg3MCwgMHg1NCwgMHhGRiwgMHgwNywgMHgzMCwg MHgxMywgMHgxNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNGLCAweEY5LCAweEU1 LCAweEI0LCAweDdDLCAweDYxLCAweDk2LCAweDZELAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4ODUsIDB4MjUsIDB4RjEsIDB4NzIsIDB4NjUsIDB4RjQsIDB4OEQsIDB4MDgsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHhGRiwgMHhFQSwgMHhCMSwgMHg2RSwgMHhFQSwgMHg1 QywgMHg0MywgMHhCRiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEQwLCAweDhELCAw eDI1LCAweDkxLCAweEY5LCAweEE0LCAweDAyLCAweDkzLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MjQsIDB4Q0QsIDB4REMsIDB4ODMsIDB4QTgsIDB4NDAsIDB4QjIsIDB4QzEsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzNiwgMHhCNywgMHhDRSwgMHg5OSwgMHhBRiwg MHgzQSwgMHg2NiwgMHhDQiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMwLCAweDg0 LCAweEU0LCAweEUyLCAweENBLCAweDZGLCAweDQ0LCAweEFDLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4NUMsIDB4RUEsIDB4RjcsIDB4QTEsIDB4MTUsIDB4N0IsIDB4RTIsIDB4Njcs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzRCwgMHhGNiwgMHg4OCwgMHhCNCwgMHgz QiwgMHhENSwgMHgxQiwgMHg5QSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDg0LCAw eDQ0LCAweENFLCAweDE5LCAweDRFLCAweDNDLCAweEE3LCAweEYyLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4NDIsIDB4QUEsIDB4NDcsIDB4QjksIDB4MTksIDB4QzYsIDB4MDksIDB4 RUIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHhCRCwgMHhBOSwgMHgyMywg MHg2QiwgMHhDQSwgMHgxNSwgMHg1RSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDc5 LCAweEE0LCAweDMwLCAweEJDLCAweEY2LCAweEQwLCAweEM0LCAweDgyLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MjMsIDB4QUYsIDB4OTcsIDB4QjgsIDB4MjUsIDB4QjgsIDB4QzUs IDB4NzYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzNCwgMHg3MiwgMHg1QiwgMHhF NiwgMHgwMCwgMHgwRSwgMHg3NywgMHg4RSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDIyLCAweDVFLCAweDEyLCAweDI3LCAweDFBLCAweDM5LCAweEIzLCAweEY2LAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4NEIsIDB4NUIsIDB4RkUsIDB4REQsIDB4OEQsIDB4MTcsIDB4 RTYsIDB4NzMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxQSwgMHgzNCwgMHhFNSwg MHhERSwgMHhENSwgMHg5MSwgMHgxRCwgMHgyOSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDhDLCAweEZGLCAweDZBLCAweDIwLCAweDgwLCAweDlELCAweDE4LCAweDhGLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4QjEsIDB4MDAsIDB4RjMsIDB4REUsIDB4MjIsIDB4Nzgs IDB4RTcsIDB4NjcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyQiwgMHhGRiwgMHhC MSwgMHgzNCwgMHg0OCwgMHg1MCwgMHhCMCwgMHg5RSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDRBLCAweDk1LCAweDVELCAweDBCLCAweEVFLCAweENGLCAweDg5LCAweEVBLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4OEMsIDB4QzUsIDB4ODUsIDB4QzIsIDB4NDAsIDB4 MEMsIDB4QjAsIDB4OEYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOSwgMHhGQywg MHg5NCwgMHg3QSwgMHg2MCwgMHhDQiwgMHhGMSwgMHg1OSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDZGLCAweDJDLCAweDNFLCAweEFCLCAweDY3LCAweERGLCAweDE0LCAweEVCLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RjcsIDB4QjEsIDB4QzUsIDB4NjksIDB4NUUs IDB4Q0MsIDB4NjMsIDB4QTQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwRCwgMHgz OCwgMHg3MywgMHhGRCwgMHg0NywgMHhBNywgMHhCMywgMHg0MCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAxLCAweDE1LCAweEM0LCAweDA1LCAweDc0LCAweDQ2LCAweDlELCAweDIx LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NUIsIDB4Q0UsIDB4MDYsIDB4NzksIDB4 RUQsIDB4NUMsIDB4RjksIDB4RTMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3NCwg MHhFNCwgMHg3MywgMHhCNCwgMHg0MiwgMHg3RCwgMHhFNCwgMHg5OCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDU4LCAweDA0LCAweERELCAweDc1LCAweDE1LCAweDFELCAweDcyLCAw eEVFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzYsIDB4N0EsIDB4M0YsIDB4MDYs IDB4NkUsIDB4NjQsIDB4MUIsIDB4N0YsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1 QywgMHhGMiwgMHg4QSwgMHg2NywgMHgyMSwgMHg1QiwgMHg3NCwgMHhERCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDgwLCAweEVCLCAweDNGLCAweEMwLCAweDJFLCAweDEyLCAweEEz LCAweDA4LAorCQkJICB9LAorCQkucmxlbgk9IDUxMiwKKwl9Cit9OworCiAvKgogICogQ29tcHJl c3Npb24gc3R1ZmYuCiAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvY3J5cHRvLmggYi9p bmNsdWRlL2xpbnV4L2NyeXB0by5oCmluZGV4IGZjMzI2OTQuLmZkZmM2YzggMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvbGludXgvY3J5cHRvLmgKKysrIGIvaW5jbHVkZS9saW51eC9jcnlwdG8uaApAQCAt MjE0LDYgKzIxNCwxMCBAQCBzdHJ1Y3QgY2lwaGVyX2FsZyB7CiAJICAgICAgICAgICAgICAgICAg dW5zaWduZWQgaW50IGtleWxlbik7CiAJdm9pZCAoKmNpYV9lbmNyeXB0KShzdHJ1Y3QgY3J5cHRv X3RmbSAqdGZtLCB1OCAqZHN0LCBjb25zdCB1OCAqc3JjKTsKIAl2b2lkICgqY2lhX2RlY3J5cHQp KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHU4ICpkc3QsIGNvbnN0IHU4ICpzcmMpOworCisJdW5z aWduZWQgaW50IGNpYV9pdnNpemU7CisJdm9pZCAoKmNpYV9zZXRpdl9jcnlwdCkoc3RydWN0IGNy eXB0b190Zm0gKnRmbSwgdTggKmRzdCwKKwkJCQljb25zdCB1OCAqaXYsIHUzMiBuYnl0ZXMpOwog fTsKIAogc3RydWN0IGRpZ2VzdF9hbGcgewo= ------=_Part_2807_2252072.1193334948995--