From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Dmitry Belyavskiy To: git-commits@fedoraproject.org Subject: [rpms/openssl] f43: Rebase to OpenSSL 3.5.7 Date: Wed, 10 Jun 2026 13:39:53 GMT Message-ID: <178109879322.1.3440229613560673483.rpms-openssl-dc0a86d6e638@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: f43 X-Git-Rev: dc0a86d6e6389efd8e16e6ab49b9f615b6ac0c83 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiBmNDMKICAgICAgICAgICAg Q29tbWl0IDogZGMwYTg2ZDZlNjM4OWVmZDhlMTZlNmFiNDliOWY2MTViNmFjMGM4MwogICAgICAg ICAgICBBdXRob3IgOiBEbWl0cnkgQmVseWF2c2tpeSA8ZGJlbHlhdnNAcmVkaGF0LmNvbT4KICAg ICAgICAgICAgRGF0ZSAgIDogMjAyNi0wNi0xMFQxNTozOTowNyswMjowMAogICAgICAgICAgICBT dGF0cyAgOiArMTMzOS8tNjE1MiBpbiA4NCBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0 dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvb3BlbnNzbC9jL2RjMGE4NmQ2ZTYzODll ZmQ4ZTE2ZTZhYjQ5YjlmNjE1YjZhYzBjODM/YnJhbmNoPWY0MwoKICAgICAgICAgICAgTG9nOgog ICAgICAgICAgICBSZWJhc2UgdG8gT3BlblNTTCAzLjUuNwoKUmVzb2x2ZXM6IENWRS0yMDI2LTQ1 NDQ3ClJlc29sdmVzOiBDVkUtMjAyNi0zNDE4MgpSZXNvbHZlczogQ1ZFLTIwMjYtMzQxODMKUmVz b2x2ZXM6IENWRS0yMDI2LTQyNzY0ClJlc29sdmVzOiBDVkUtMjAyNi00NTQ0NQpSZXNvbHZlczog Q1ZFLTIwMjYtNzM4MwpSZXNvbHZlczogQ1ZFLTIwMjYtOTA3NgpSZXNvbHZlczogQ1ZFLTIwMjYt MzQxODAKUmVzb2x2ZXM6IENWRS0yMDI2LTM0MTgxClJlc29sdmVzOiBDVkUtMjAyNi00Mjc2NgpS ZXNvbHZlczogQ1ZFLTIwMjYtNDI3NjcKUmVzb2x2ZXM6IENWRS0yMDI2LTQyNzY4ClJlc29sdmVz OiBDVkUtMjAyNi00Mjc2OQpSZXNvbHZlczogQ1ZFLTIwMjYtNDI3NzAKUmVzb2x2ZXM6IENWRS0y MDI2LTQ1NDQ2CgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4 IGM4MTNhMzUuLjdkY2NkMWUgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9y ZQpAQCAtNjgsMyArNjgsNSBAQCBvcGVuc3NsLTEuMC4wYS11c2EudGFyLmJ6MgogL29wZW5zc2wt My41LjAudGFyLmd6CiAvb3BlbnNzbC0zLjUuMS50YXIuZ3oKIC9vcGVuc3NsLTMuNS40LnRhci5n egorL29wZW5zc2wtMy41LjUudGFyLmd6Cisvb3BlbnNzbC0zLjUuNy50YXIuZ3oKCmRpZmYgLS1n aXQgYS8wMDAxLVJILUFhcmNoNjQtYW5kLXBwYzY0bGUtdXNlLWxpYjY0LnBhdGNoIGIvMDAwMS1S SC1BYXJjaDY0LWFuZC1wcGM2NGxlLXVzZS1saWI2NC5wYXRjaAppbmRleCA4YmJhMmVjLi5lN2Rh NzNhIDEwMDY0NAotLS0gYS8wMDAxLVJILUFhcmNoNjQtYW5kLXBwYzY0bGUtdXNlLWxpYjY0LnBh dGNoCisrKyBiLzAwMDEtUkgtQWFyY2g2NC1hbmQtcHBjNjRsZS11c2UtbGliNjQucGF0Y2gKQEAg LTEsNyArMSw3IEBACi1Gcm9tIDBlMDMwNThlM2QwYTU0MGEzMzBiYjQyZWU4ZjZkY2E1NjA0ODQx ZjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGFkNmJhOTA3MThmODE0ZjFkYjcxZTg2 YTQxNTYwOThlYjJiYmVlZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0tYnVp bGQgPHJwbS1idWlsZD4KIERhdGU6IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNCArMDEwMAotU3Vi amVjdDogW1BBVENIIDAxLzU5XSBSSDogQWFyY2g2NCBhbmQgcHBjNjRsZSB1c2UgbGliNjQKK1N1 YmplY3Q6IFtQQVRDSCAwMS81N10gUkg6IEFhcmNoNjQgYW5kIHBwYzY0bGUgdXNlIGxpYjY0CiAK IFBhdGNoLW5hbWU6IDAwMDEtQWFyY2g2NC1hbmQtcHBjNjRsZS11c2UtbGliNjQucGF0Y2gKIFBh dGNoLWlkOiAxCkBAIC0zNCw1ICszNCw1IEBAIGluZGV4IGNiYTU3YjQxMjcuLjNlMzI3MDE3ZWYg MTAwNjQ0CiAgICAgICJsaW51eC1hcm02NGlscDMyIiA9PiB7ICAjIGh0dHBzOi8vd2lraS5saW5h cm8ub3JnL1BsYXRmb3JtL2FybTY0LWlscDMyCiAgICAgICAgICBpbmhlcml0X2Zyb20gICAgID0+ IFsgImxpbnV4LWdlbmVyaWMzMiIgXSwKIC0tIAotMi41MS4wCisyLjUyLjAKIAoKZGlmZiAtLWdp dCBhLzAwMDItQWRkLWEtc2VwYXJhdGUtY29uZmlnLWZpbGUtdG8tdXNlLWZvci1ycG0taW5zdGFs bHMucGF0Y2ggYi8wMDAyLUFkZC1hLXNlcGFyYXRlLWNvbmZpZy1maWxlLXRvLXVzZS1mb3ItcnBt LWluc3RhbGxzLnBhdGNoCmluZGV4IGQ5MjViNjguLmJjYmM5MzkgMTAwNjQ0Ci0tLSBhLzAwMDIt QWRkLWEtc2VwYXJhdGUtY29uZmlnLWZpbGUtdG8tdXNlLWZvci1ycG0taW5zdGFsbHMucGF0Y2gK KysrIGIvMDAwMi1BZGQtYS1zZXBhcmF0ZS1jb25maWctZmlsZS10by11c2UtZm9yLXJwbS1pbnN0 YWxscy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gOWQxMjdiYWIzOGQzMGUyZDNlYmFmYzM5 YzNkZDg3NGFlNTVjNzJkZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTEwYTYwNDAz YzE5NzEyOGVhNmQ4MDc2YjUxMTFjNjQ1OTRhNTAyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK IEZyb206IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4KIERhdGU6IFRodSwgNiBNYXIgMjAy NSAwODo0MDoyOSAtMDUwMAotU3ViamVjdDogW1BBVENIIDAyLzU5XSBBZGQgYSBzZXBhcmF0ZSBj b25maWcgZmlsZSB0byB1c2UgZm9yIHJwbSBpbnN0YWxscworU3ViamVjdDogW1BBVENIIDAyLzU3 XSBBZGQgYSBzZXBhcmF0ZSBjb25maWcgZmlsZSB0byB1c2UgZm9yIHJwbSBpbnN0YWxscwogCiBJ biBSSEVML0ZlZG9yYSBzeXN0ZW1zIHdlIHdhbnQgdG8gdXNlIGEgc2xpZ2h0bHkgZGlmZmVyZW50 IHNldAogb2YgZGVmYXVsdHMsIGJ1dCB3ZSBkbyBub3Qgd2FudCB0byBjaGFuZ2UgdGhlIHN0YW5k YXJkIGNvbmZpZyBmaWxlCkBAIC00NTIsNSArNDUyLDUgQEAgaW5kZXggMDAwMDAwMDAwMC4uZmUy MzQ2ZWIyYgogK2NtZCA9IHJyCiArb2xkY2VydCA9ICRpbnN0YTo6Y2VydG91dCAjIGluc3RhLmNl cnQucGVtCiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDAzLVJILURvLW5v dC1pbnN0YWxsLWh0bWwtZG9jcy5wYXRjaCBiLzAwMDMtUkgtRG8tbm90LWluc3RhbGwtaHRtbC1k b2NzLnBhdGNoCmluZGV4IDcyYWZlNzEuLjVmNjExN2QgMTAwNjQ0Ci0tLSBhLzAwMDMtUkgtRG8t bm90LWluc3RhbGwtaHRtbC1kb2NzLnBhdGNoCisrKyBiLzAwMDMtUkgtRG8tbm90LWluc3RhbGwt aHRtbC1kb2NzLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSAyNTMwZjE3ZjZhNWZlMzczM2Jl ZGE0OTk1NGM1Yzc4ZjQyMzU2OWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0NGYx NWUzNzNhNzhhMWZiMDFlZGYxNWU3NTMwY2VhNGM4YTFiNzliIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQogRnJvbTogcnBtLWJ1aWxkIDxycG0tYnVpbGQ+CiBEYXRlOiBXZWQsIDYgTWFyIDIwMjQg MTk6MTc6MTQgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAwMy81OV0gUkg6IERvIG5vdCBpbnN0YWxs IGh0bWwgZG9jcworU3ViamVjdDogW1BBVENIIDAzLzU3XSBSSDogRG8gbm90IGluc3RhbGwgaHRt bCBkb2NzCiAKIFBhdGNoLW5hbWU6IDAwMDMtRG8tbm90LWluc3RhbGwtaHRtbC1kb2NzLnBhdGNo CiBQYXRjaC1pZDogMwpAQCAtMTMsNyArMTMsNyBAQCBGcm9tLWRpc3QtZ2l0LWNvbW1pdDogNDMz NGJjODM3ZmJjNjRkMTQ4OTBmZGM1MTY3OWE4MDc3MGQ0OThjZQogIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvQ29uZmlndXJhdGlv bnMvdW5peC1NYWtlZmlsZS50bXBsIGIvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBs Ci1pbmRleCA4MWY0OTkyNmNlLi41MTZmOGQ2MmRjIDEwMDY0NAoraW5kZXggNzhiZTRhMzE5OS4u OTYyZDEzMzBiYiAxMDA2NDQKIC0tLSBhL0NvbmZpZ3VyYXRpb25zL3VuaXgtTWFrZWZpbGUudG1w bAogKysrIGIvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsCiBAQCAtNjY5LDcgKzY2 OSw3IEBAIGluc3RhbGxfc3c6IGluc3RhbGxfZGV2IGluc3RhbGxfZW5naW5lcyBpbnN0YWxsX21v ZHVsZXMgaW5zdGFsbF9ydW50aW1lICMjIEluc3RhCkBAIC0yNiw1ICsyNiw1IEBAIGluZGV4IDgx ZjQ5OTI2Y2UuLjUxNmY4ZDYyZGMgMTAwNjQ0CiAgdW5pbnN0YWxsX2RvY3M6IHVuaW5zdGFsbF9t YW5fZG9jcyB1bmluc3RhbGxfaHRtbF9kb2NzICMjIFVuaW5zdGFsbCBtYW5wYWdlcyBhbmQgSFRN TCBkb2N1bWVudGF0aW9uCiAgCSQoUk0pIC1yICIkKERFU1RESVIpJChET0NESVIpIgogLS0gCi0y LjUxLjAKKzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEvMDAwNC1SSC1hcHBzLWNhLWZpeC1tZC1vcHRp b24taGVscC10ZXh0LnBhdGNoLURST1AucGF0Y2ggYi8wMDA0LVJILWFwcHMtY2EtZml4LW1kLW9w dGlvbi1oZWxwLXRleHQucGF0Y2gtRFJPUC5wYXRjaAppbmRleCBmMzNlMjAwLi45NTE4NDlkIDEw MDY0NAotLS0gYS8wMDA0LVJILWFwcHMtY2EtZml4LW1kLW9wdGlvbi1oZWxwLXRleHQucGF0Y2gt RFJPUC5wYXRjaAorKysgYi8wMDA0LVJILWFwcHMtY2EtZml4LW1kLW9wdGlvbi1oZWxwLXRleHQu cGF0Y2gtRFJPUC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gZjJmY2RjNTE3MWYwYjNiMGI5 NGZlOGI3OGI2MjgyYmUwNzhhNGU4MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gM2U2 MGI0Njc0N2VhZTBhZWMzMTcxZjEzZGE2YmU3MDZiY2FjNmI0OCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKIEZyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0 IDE5OjE3OjE0ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDQvNTldIFJIOiBhcHBzIGNhIGZpeCBt ZCBvcHRpb24gaGVscCB0ZXh0LnBhdGNoIC0gRFJPUD8KK1N1YmplY3Q6IFtQQVRDSCAwNC81N10g Ukg6IGFwcHMgY2EgZml4IG1kIG9wdGlvbiBoZWxwIHRleHQucGF0Y2ggLSBEUk9QPwogCiBQYXRj aC1uYW1lOiAwMDA1LWFwcHMtY2EtZml4LW1kLW9wdGlvbi1oZWxwLXRleHQucGF0Y2gKIFBhdGNo LWlkOiA1CkBAIC0xMywxOCArMTMsMTggQEAgRnJvbS1kaXN0LWdpdC1jb21taXQ6IDQzMzRiYzgz N2ZiYzY0ZDE0ODkwZmRjNTE2NzlhODA3NzBkNDk4Y2UKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2FwcHMvY2EuYyBiL2FwcHMv Y2EuYwotaW5kZXggNmQxZDFjMGE2ZS4uYTc1NTNiYTYwOSAxMDA2NDQKK2luZGV4IDAyYjAwYzdj MDMuLjdmNzdlMDY5YWIgMTAwNjQ0CiAtLS0gYS9hcHBzL2NhLmMKICsrKyBiL2FwcHMvY2EuYwot QEAgLTIxNiw3ICsyMTYsNyBAQCBjb25zdCBPUFRJT05TIGNhX29wdGlvbnNbXSA9IHsKLSAgICAg eyJub2VtYWlsRE4iLCBPUFRfTk9FTUFJTEROLCAnLScsICJEb24ndCBhZGQgdGhlIEVNQUlMIGZp ZWxkIHRvIHRoZSBETiJ9LAorQEAgLTI2MSw3ICsyNjEsNyBAQCBjb25zdCBPUFRJT05TIGNhX29w dGlvbnNbXSA9IHsKKyAgICAgeyAibm9lbWFpbEROIiwgT1BUX05PRU1BSUxETiwgJy0nLCAiRG9u J3QgYWRkIHRoZSBFTUFJTCBmaWVsZCB0byB0aGUgRE4iIH0sCiAgCiAgICAgIE9QVF9TRUNUSU9O KCJTaWduaW5nIiksCi0tICAgIHsibWQiLCBPUFRfTUQsICdzJywgIkRpZ2VzdCB0byB1c2UsIHN1 Y2ggYXMgc2hhMjU2In0sCi0rICAgIHsibWQiLCBPUFRfTUQsICdzJywgIkRpZ2VzdCB0byB1c2Us IHN1Y2ggYXMgc2hhMjU2OyBzZWUgb3BlbnNzbCBoZWxwIGZvciBsaXN0In0sCi0gICAgIHsia2V5 ZmlsZSIsIE9QVF9LRVlGSUxFLCAncycsICJUaGUgQ0EgcHJpdmF0ZSBrZXkifSwKLSAgICAgeyJr ZXlmb3JtIiwgT1BUX0tFWUZPUk0sICdmJywKLSAgICAgICJQcml2YXRlIGtleSBmaWxlIGZvcm1h dCAoRU5HSU5FLCBvdGhlciB2YWx1ZXMgaWdub3JlZCkifSwKKy0gICAgeyAibWQiLCBPUFRfTUQs ICdzJywgIkRpZ2VzdCB0byB1c2UsIHN1Y2ggYXMgc2hhMjU2IiB9LAorKyAgICB7ICJtZCIsIE9Q VF9NRCwgJ3MnLCAiRGlnZXN0IHRvIHVzZSwgc3VjaCBhcyBzaGEyNTY7IHNlZSBvcGVuc3NsIGhl bHAgZm9yIGxpc3QiIH0sCisgICAgIHsgImtleWZpbGUiLCBPUFRfS0VZRklMRSwgJ3MnLCAiVGhl IENBIHByaXZhdGUga2V5IiB9LAorICAgICB7ICJrZXlmb3JtIiwgT1BUX0tFWUZPUk0sICdmJywK KyAgICAgICAgICJQcml2YXRlIGtleSBmaWxlIGZvcm1hdCAoRU5HSU5FLCBvdGhlciB2YWx1ZXMg aWdub3JlZCkiIH0sCiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDA1LVJI LURpc2FibGUtc2lnbmF0dXJlLXZlcmlmaWNhdGlvbi13aXRoLWJhZC1kaWdlc3RzLVIucGF0Y2gg Yi8wMDA1LVJILURpc2FibGUtc2lnbmF0dXJlLXZlcmlmaWNhdGlvbi13aXRoLWJhZC1kaWdlc3Rz LVIucGF0Y2gKaW5kZXggZGYwNmQyMy4uZDNkODFhOSAxMDA2NDQKLS0tIGEvMDAwNS1SSC1EaXNh YmxlLXNpZ25hdHVyZS12ZXJpZmljYXRpb24td2l0aC1iYWQtZGlnZXN0cy1SLnBhdGNoCisrKyBi LzAwMDUtUkgtRGlzYWJsZS1zaWduYXR1cmUtdmVyaWZpY2F0aW9uLXdpdGgtYmFkLWRpZ2VzdHMt Ui5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYzlmMTdiYzczYTA5OTczNWM2ZTgwZGQ2N2M5 M2YyMzE3NTc3MWNiNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMDRmMWZjMjgyY2Q1 ZjVlN2E5ZmJmMmQ4MmE2MmE5ODEwZDJlNGFjYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZy b206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE5OjE3OjE0 ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDUvNTldIFJIOiBEaXNhYmxlIHNpZ25hdHVyZSB2ZXJp ZmljYXRpb24gd2l0aCBiYWQgZGlnZXN0cyAtCitTdWJqZWN0OiBbUEFUQ0ggMDUvNTddIFJIOiBE aXNhYmxlIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24gd2l0aCBiYWQgZGlnZXN0cyAtCiAgUkVWSUVX CiAKIFBhdGNoLW5hbWU6IDAwMDYtRGlzYWJsZS1zaWduYXR1cmUtdmVyaWZpY2F0aW9uLXdpdGgt dG90YWxseS11bnNhZmUtaC5wYXRjaApAQCAtMTQsMTAgKzE0LDEwIEBAIEZyb20tZGlzdC1naXQt Y29tbWl0OiA0MzM0YmM4MzdmYmM2NGQxNDg5MGZkYzUxNjc5YTgwNzcwZDQ5OGNlCiAgMSBmaWxl IGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvY3J5cHRvL2FzbjEvYV92 ZXJpZnkuYyBiL2NyeXB0by9hc24xL2FfdmVyaWZ5LmMKLWluZGV4IGY2Y2FjODA5NjIuLmZiYzZj ZTZlMzAgMTAwNjQ0CitpbmRleCA1NWY4NmVlODNmLi45NTQ4M2FmYzAwIDEwMDY0NAogLS0tIGEv Y3J5cHRvL2FzbjEvYV92ZXJpZnkuYwogKysrIGIvY3J5cHRvL2FzbjEvYV92ZXJpZnkuYwotQEAg LTE1MSw2ICsxNTEsMTEgQEAgaW50IEFTTjFfaXRlbV92ZXJpZnlfY3R4KGNvbnN0IEFTTjFfSVRF TSAqaXQsIGNvbnN0IFg1MDlfQUxHT1IgKmFsZywKK0BAIC0xNTIsNiArMTUyLDExIEBAIGludCBB U04xX2l0ZW1fdmVyaWZ5X2N0eChjb25zdCBBU04xX0lURU0gKml0LCBjb25zdCBYNTA5X0FMR09S ICphbGcsCiAgICAgICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfQVNOMSwgRVJSX1JfRVZQX0xJ Qik7CiAgICAgICAgICBpZiAocmV0IDw9IDEpCiAgICAgICAgICAgICAgZ290byBlcnI7CkBAIC0z MCw1ICszMCw1IEBAIGluZGV4IGY2Y2FjODA5NjIuLmZiYzZjZTZlMzAgMTAwNjQ0CiAgICAgICAg ICBjb25zdCBFVlBfTUQgKnR5cGUgPSBOVUxMOwogIAogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpk aWZmIC0tZ2l0IGEvMDAwNi1SSC1BZGQtc3VwcG9ydC1mb3ItUFJPRklMRS1TWVNURU0tc3lzdGVt LWRlZmF1bHQtY2lwLnBhdGNoIGIvMDAwNi1SSC1BZGQtc3VwcG9ydC1mb3ItUFJPRklMRS1TWVNU RU0tc3lzdGVtLWRlZmF1bHQtY2lwLnBhdGNoCmluZGV4IGNmM2Q2YzAuLjhkN2NhZTcgMTAwNjQ0 Ci0tLSBhLzAwMDYtUkgtQWRkLXN1cHBvcnQtZm9yLVBST0ZJTEUtU1lTVEVNLXN5c3RlbS1kZWZh dWx0LWNpcC5wYXRjaAorKysgYi8wMDA2LVJILUFkZC1zdXBwb3J0LWZvci1QUk9GSUxFLVNZU1RF TS1zeXN0ZW0tZGVmYXVsdC1jaXAucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDYxYWZhZjBk ZTFmMmM0Y2QyNzczZjYxZjNjNjY1ZTg0ZTE5MjU0NjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tIGNlZDIyM2RjMDc4NzA4NTE0YzY1YjE5MDNjNzgzMDYyZWM1NjhiYjcgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KIERhdGU6IFdlZCwg NiBNYXIgMjAyNCAxOToxNzoxNCArMDEwMAotU3ViamVjdDogW1BBVENIIDA2LzU5XSBSSDogQWRk IHN1cHBvcnQgZm9yIFBST0ZJTEUgU1lTVEVNIHN5c3RlbSBkZWZhdWx0CitTdWJqZWN0OiBbUEFU Q0ggMDYvNTddIFJIOiBBZGQgc3VwcG9ydCBmb3IgUFJPRklMRSBTWVNURU0gc3lzdGVtIGRlZmF1 bHQKICBjaXBoZXIKIAogUGF0Y2gtbmFtZTogMDAwNy1BZGQtc3VwcG9ydC1mb3ItUFJPRklMRS1T WVNURU0tc3lzdGVtLWRlZmF1bHQtY2lwaGVyLnBhdGNoCkBAIC0xNCwxMyArMTQsMTMgQEAgRnJv bS1kaXN0LWdpdC1jb21taXQ6IDQzMzRiYzgzN2ZiYzY0ZDE0ODkwZmRjNTE2NzlhODA3NzBkNDk4 Y2UKICBDb25maWd1cmUgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKystCiAgZG9jL21h bjEvb3BlbnNzbC1jaXBoZXJzLnBvZC5pbiAgIHwgIDkgKysrKwogIGluY2x1ZGUvb3BlbnNzbC9z c2wuaC5pbiAgICAgICAgICB8ICA1ICsrCi0gc3NsL3NzbF9jaXBoLmMgICAgICAgICAgICAgICAg ICAgIHwgODMgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQorIHNzbC9zc2xfY2lwaC5j ICAgICAgICAgICAgICAgICAgICB8IDg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0K ICBzc2wvc3NsX2xpYi5jICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQogIHRlc3QvY2lwaGVy bGlzdF90ZXN0LmMgICAgICAgICAgICB8ICAyICsKLSA3IGZpbGVzIGNoYW5nZWQsIDEwNSBpbnNl cnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKyA3IGZpbGVzIGNoYW5nZWQsIDEwNiBpbnNlcnRp b25zKCspLCAxNSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL0NvbmZpZ3VyYXRpb25zL3Vu aXgtTWFrZWZpbGUudG1wbCBiL0NvbmZpZ3VyYXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbAotaW5k ZXggNTE2ZjhkNjJkYy4uNzQxMzllYzIyOCAxMDA2NDQKK2luZGV4IDk2MmQxMzMwYmIuLjE5MjBk Mzg2NTUgMTAwNjQ0CiAtLS0gYS9Db25maWd1cmF0aW9ucy91bml4LU1ha2VmaWxlLnRtcGwKICsr KyBiL0NvbmZpZ3VyYXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbAogQEAgLTM1NSw2ICszNTUsMTAg QEAgTUFORElSPSQoSU5TVEFMTFRPUCkvc2hhcmUvbWFuCkBAIC0xMDYsMTAgKzEwNiwxMCBAQCBp bmRleCA2OTE5NWJjZGNiLi5hNmUwZWRlNTcwIDEwMDY0NAogIAogICJIaWdoIiBlbmNyeXB0aW9u IGNpcGhlciBzdWl0ZXMuIFRoaXMgY3VycmVudGx5IG1lYW5zIHRob3NlIHdpdGgga2V5IGxlbmd0 aHMKIGRpZmYgLS1naXQgYS9pbmNsdWRlL29wZW5zc2wvc3NsLmguaW4gYi9pbmNsdWRlL29wZW5z c2wvc3NsLmguaW4KLWluZGV4IDM4M2M1YmM0MTEuLmQxYjAwZTg0NTQgMTAwNjQ0CitpbmRleCBi ZGNjNjg1MjliLi44MjQxMDY3MGY0IDEwMDY0NAogLS0tIGEvaW5jbHVkZS9vcGVuc3NsL3NzbC5o LmluCiArKysgYi9pbmNsdWRlL29wZW5zc2wvc3NsLmguaW4KLUBAIC0yMDksNiArMjA5LDExIEBA IGV4dGVybiAiQyIgeworQEAgLTIxMSw2ICsyMTEsMTEgQEAgZXh0ZXJuICJDIiB7CiAgICogdGhy b3dpbmcgb3V0IGFub255bW91cyBhbmQgdW5lbmNyeXB0ZWQgY2lwaGVyc3VpdGVzISAoVGhlIGxh dHRlciBhcmUgbm90CiAgICogYWN0dWFsbHkgZW5hYmxlZCBieSBBTEwsIGJ1dCAiQUxMOlJTQSIg d291bGQgZW5hYmxlIHNvbWUgb2YgdGhlbS4pCiAgICovCkBAIC0xMjAsOSArMTIwLDkgQEAgaW5k ZXggMzgzYzViYzQxMS4uZDFiMDBlODQ1NCAxMDA2NDQKICsjIGVuZGlmCiAgCiAgLyogVXNlZCBp biBTU0xfc2V0X3NodXRkb3duKCkvU1NMX2dldF9zaHV0ZG93bigpOyAqLwotICMgZGVmaW5lIFNT TF9TRU5UX1NIVVRET1dOICAgICAgIDEKKyAjZGVmaW5lIFNTTF9TRU5UX1NIVVRET1dOIDEKIGRp ZmYgLS1naXQgYS9zc2wvc3NsX2NpcGguYyBiL3NzbC9zc2xfY2lwaC5jCi1pbmRleCA2MTI3Y2I3 YTRiLi4xOTQyMGQ2YzZhIDEwMDY0NAoraW5kZXggN2RjY2VjNjI2MC4uMTViZTdlODA2NyAxMDA2 NDQKIC0tLSBhL3NzbC9zc2xfY2lwaC5jCiArKysgYi9zc2wvc3NsX2NpcGguYwogQEAgLTksNiAr OSw3IEBACkBAIC0xMzMsNyArMTMzLDcgQEAgaW5kZXggNjEyN2NiN2E0Yi4uMTk0MjBkNmM2YSAx MDA2NDQKICAjaW5jbHVkZSA8c3RkaW8uaD4KICAjaW5jbHVkZSA8Y3R5cGUuaD4KICAjaW5jbHVk ZSA8b3BlbnNzbC9vYmplY3RzLmg+Ci1AQCAtMTQyMSw2ICsxNDIyLDQ5IEBAIGludCBTU0xfc2V0 X2NpcGhlcnN1aXRlcyhTU0wgKnMsIGNvbnN0IGNoYXIgKnN0cikKK0BAIC0xNDA0LDYgKzE0MDUs NDkgQEAgaW50IFNTTF9zZXRfY2lwaGVyc3VpdGVzKFNTTCAqcywgY29uc3QgY2hhciAqc3RyKQog ICAgICByZXR1cm4gcmV0OwogIH0KICAKQEAgLTE4MSw5ICsxODEsOSBAQCBpbmRleCA2MTI3Y2I3 YTRiLi4xOTQyMGQ2YzZhIDEwMDY0NAogKyNlbmRpZgogKwogIFNUQUNLX09GKFNTTF9DSVBIRVIp ICpzc2xfY3JlYXRlX2NpcGhlcl9saXN0KFNTTF9DVFggKmN0eCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVEFDS19PRihTU0xfQ0lQSEVSKSAqdGxzMTNf Y2lwaGVyc3VpdGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFNUQUNLX09GKFNTTF9DSVBIRVIpICoqY2lwaGVyX2xpc3QsCi1AQCAtMTQzNSwxNSArMTQ3 OSwyNSBAQCBTVEFDS19PRihTU0xfQ0lQSEVSKSAqc3NsX2NyZWF0ZV9jaXBoZXJfbGlzdChTU0xf Q1RYICpjdHgsCisgICAgIFNUQUNLX09GKFNTTF9DSVBIRVIpICp0bHMxM19jaXBoZXJzdWl0ZXMs CisgICAgIFNUQUNLX09GKFNTTF9DSVBIRVIpICoqY2lwaGVyX2xpc3QsCitAQCAtMTQxOCwxNSAr MTQ2MiwyNSBAQCBTVEFDS19PRihTU0xfQ0lQSEVSKSAqc3NsX2NyZWF0ZV9jaXBoZXJfbGlzdChT U0xfQ1RYICpjdHgsCiAgICAgIENJUEhFUl9PUkRFUiAqY29fbGlzdCA9IE5VTEwsICpoZWFkID0g TlVMTCwgKnRhaWwgPSBOVUxMLCAqY3VycjsKICAgICAgY29uc3QgU1NMX0NJUEhFUiAqKmNhX2xp c3QgPSBOVUxMOwogICAgICBjb25zdCBTU0xfTUVUSE9EICpzc2xfbWV0aG9kID0gY3R4LT5tZXRo b2Q7CkBAIC0yMTEsMTYgKzIxMSwxNiBAQCBpbmRleCA2MTI3Y2I3YTRiLi4xOTQyMGQ2YzZhIDEw MDY0NAogIAogICAgICAvKgogICAgICAgKiBUbyByZWR1Y2UgdGhlIHdvcmsgdG8gZG8gd2Ugb25s eSB3YW50IHRvIHByb2Nlc3MgdGhlIGNvbXBpbGVkCi1AQCAtMTQ2NSw3ICsxNTE5LDcgQEAgU1RB Q0tfT0YoU1NMX0NJUEhFUikgKnNzbF9jcmVhdGVfY2lwaGVyX2xpc3QoU1NMX0NUWCAqY3R4LAor QEAgLTE0NDgsNyArMTUwMiw3IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xfY3JlYXRlX2Np cGhlcl9saXN0KFNTTF9DVFggKmN0eCwKICAgICAgaWYgKG51bV9vZl9jaXBoZXJzID4gMCkgewog ICAgICAgICAgY29fbGlzdCA9IE9QRU5TU0xfbWFsbG9jKHNpemVvZigqY29fbGlzdCkgKiBudW1f b2ZfY2lwaGVycyk7CiAgICAgICAgICBpZiAoY29fbGlzdCA9PSBOVUxMKQotLSAgICAgICAgICAg IHJldHVybiBOVUxMOyAgICAgICAgICAvKiBGYWlsdXJlICovCistICAgICAgICAgICAgcmV0dXJu IE5VTEw7IC8qIEZhaWx1cmUgKi8KICsgICAgICAgICAgICBnb3RvIGVycjsKICAgICAgfQogIAog ICAgICBzc2xfY2lwaGVyX2NvbGxlY3RfY2lwaGVycyhzc2xfbWV0aG9kLCBudW1fb2ZfY2lwaGVy cywKLUBAIC0xNTMxLDggKzE1ODUsNyBAQCBTVEFDS19PRihTU0xfQ0lQSEVSKSAqc3NsX2NyZWF0 ZV9jaXBoZXJfbGlzdChTU0xfQ1RYICpjdHgsCitAQCAtMTUxNCw4ICsxNTY4LDcgQEAgU1RBQ0tf T0YoU1NMX0NJUEhFUikgKnNzbF9jcmVhdGVfY2lwaGVyX2xpc3QoU1NMX0NUWCAqY3R4LAogICAg ICAgKiBpbiBmb3JjZSB3aXRoaW4gZWFjaCBjbGFzcwogICAgICAgKi8KICAgICAgaWYgKCFzc2xf Y2lwaGVyX3N0cmVuZ3RoX3NvcnQoJmhlYWQsICZ0YWlsKSkgewpAQCAtMjMwLDI3ICsyMzAsMjkg QEAgaW5kZXggNjEyN2NiN2E0Yi4uMTk0MjBkNmM2YSAxMDA2NDQKICAgICAgfQogIAogICAgICAv KgotQEAgLTE1NzYsOCArMTYyOSw3IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xfY3JlYXRl X2NpcGhlcl9saXN0KFNTTF9DVFggKmN0eCwKK0BAIC0xNTU5LDggKzE2MTIsNyBAQCBTVEFDS19P RihTU0xfQ0lQSEVSKSAqc3NsX2NyZWF0ZV9jaXBoZXJfbGlzdChTU0xfQ1RYICpjdHgsCiAgICAg IG51bV9vZl9hbGlhc19tYXggPSBudW1fb2ZfY2lwaGVycyArIG51bV9vZl9ncm91cF9hbGlhc2Vz ICsgMTsKICAgICAgY2FfbGlzdCA9IE9QRU5TU0xfbWFsbG9jKHNpemVvZigqY2FfbGlzdCkgKiBu dW1fb2ZfYWxpYXNfbWF4KTsKICAgICAgaWYgKGNhX2xpc3QgPT0gTlVMTCkgewogLSAgICAgICAg T1BFTlNTTF9mcmVlKGNvX2xpc3QpOwotLSAgICAgICAgcmV0dXJuIE5VTEw7ICAgICAgICAgIC8q IEZhaWx1cmUgKi8KKy0gICAgICAgIHJldHVybiBOVUxMOyAvKiBGYWlsdXJlICovCiArICAgICAg ICBnb3RvIGVycjsKICAgICAgfQogICAgICBzc2xfY2lwaGVyX2NvbGxlY3RfYWxpYXNlcyhjYV9s aXN0LCBudW1fb2ZfZ3JvdXBfYWxpYXNlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGlzYWJsZWRfbWtleSwgZGlzYWJsZWRfYXV0aCwgZGlzYWJsZWRfZW5jLAotQEAgLTE2MDMs OCArMTY1NSw3IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xfY3JlYXRlX2NpcGhlcl9saXN0 KFNTTF9DVFggKmN0eCwKLSAgICAgT1BFTlNTTF9mcmVlKGNhX2xpc3QpOyAgICAgIC8qIE5vdCBu ZWVkZWQgYW55bW9yZSAqLworICAgICAgICAgZGlzYWJsZWRfbWtleSwgZGlzYWJsZWRfYXV0aCwg ZGlzYWJsZWRfZW5jLAorQEAgLTE1ODUsOSArMTYzNyw4IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIp ICpzc2xfY3JlYXRlX2NpcGhlcl9saXN0KFNTTF9DVFggKmN0eCwKICAKLSAgICAgaWYgKCFvaykg eyAgICAgICAgICAgICAgICAgIC8qIFJ1bGUgcHJvY2Vzc2luZyBmYWlsdXJlICovCisgICAgIE9Q RU5TU0xfZnJlZShjYV9saXN0KTsgLyogTm90IG5lZWRlZCBhbnltb3JlICovCisgCistICAgIGlm ICghb2spIHsgLyogUnVsZSBwcm9jZXNzaW5nIGZhaWx1cmUgKi8KIC0gICAgICAgIE9QRU5TU0xf ZnJlZShjb19saXN0KTsKIC0gICAgICAgIHJldHVybiBOVUxMOworKyAgICBpZiAoIW9rKSB7ICAg ICAgICAgICAgICAgICAgLyogUnVsZSBwcm9jZXNzaW5nIGZhaWx1cmUgKi8KICsgICAgICAgIGdv dG8gZXJyOwogICAgICB9CiAgCiAgICAgIC8qCi1AQCAtMTYxMiwxMCArMTY2MywxMyBAQCBTVEFD S19PRihTU0xfQ0lQSEVSKSAqc3NsX2NyZWF0ZV9jaXBoZXJfbGlzdChTU0xfQ1RYICpjdHgsCitA QCAtMTU5NSwxMCArMTY0NiwxMyBAQCBTVEFDS19PRihTU0xfQ0lQSEVSKSAqc3NsX2NyZWF0ZV9j aXBoZXJfbGlzdChTU0xfQ1RYICpjdHgsCiAgICAgICAqIGlmIHdlIGNhbm5vdCBnZXQgb25lLgog ICAgICAgKi8KICAgICAgaWYgKChjaXBoZXJzdGFjayA9IHNrX1NTTF9DSVBIRVJfbmV3X251bGwo KSkgPT0gTlVMTCkgewpAQCAtMjY2LDcgKzI2OCw3IEBAIGluZGV4IDYxMjdjYjdhNGIuLjE5NDIw ZDZjNmEgMTAwNjQ0CiAgICAgIC8qIEFkZCBUTFN2MS4zIGNpcGhlcnMgZmlyc3QgLSB3ZSBhbHdh eXMgcHJlZmVyIHRob3NlIGlmIHBvc3NpYmxlICovCiAgICAgIGZvciAoaSA9IDA7IGkgPCBza19T U0xfQ0lQSEVSX251bSh0bHMxM19jaXBoZXJzdWl0ZXMpOyBpKyspIHsKICAgICAgICAgIGNvbnN0 IFNTTF9DSVBIRVIgKnNzbGMgPSBza19TU0xfQ0lQSEVSX3ZhbHVlKHRsczEzX2NpcGhlcnN1aXRl cywgaSk7Ci1AQCAtMTY2Nyw2ICsxNzIxLDEzIEBAIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xf Y3JlYXRlX2NpcGhlcl9saXN0KFNTTF9DVFggKmN0eCwKK0BAIC0xNjUzLDYgKzE3MDcsMTMgQEAg U1RBQ0tfT0YoU1NMX0NJUEhFUikgKnNzbF9jcmVhdGVfY2lwaGVyX2xpc3QoU1NMX0NUWCAqY3R4 LAogICAgICAqY2lwaGVyX2xpc3QgPSBjaXBoZXJzdGFjazsKICAKICAgICAgcmV0dXJuIGNpcGhl cnN0YWNrOwpAQCAtMjgxLDMyICsyODMsMzIgQEAgaW5kZXggNjEyN2NiN2E0Yi4uMTk0MjBkNmM2 YSAxMDA2NDQKICAKICBjaGFyICpTU0xfQ0lQSEVSX2Rlc2NyaXB0aW9uKGNvbnN0IFNTTF9DSVBI RVIgKmNpcGhlciwgY2hhciAqYnVmLCBpbnQgbGVuKQogZGlmZiAtLWdpdCBhL3NzbC9zc2xfbGli LmMgYi9zc2wvc3NsX2xpYi5jCi1pbmRleCA5Njk2YTRjNTVmLi40YmQzMzE4NDA3IDEwMDY0NAor aW5kZXggYWM3N2ZhYTY3Ny4uNjc3YjA1YmE2NCAxMDA2NDQKIC0tLSBhL3NzbC9zc2xfbGliLmMK ICsrKyBiL3NzbC9zc2xfbGliLmMKLUBAIC02ODYsNyArNjg2LDcgQEAgaW50IFNTTF9DVFhfc2V0 X3NzbF92ZXJzaW9uKFNTTF9DVFggKmN0eCwgY29uc3QgU1NMX01FVEhPRCAqbWV0aCkKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+dGxzMTNfY2lwaGVyc3VpdGVzLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJihjdHgtPmNpcGhlcl9saXN0KSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICYoY3R4LT5jaXBoZXJfbGlzdF9ieV9pZCksCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPU1NMX2RlZmF1bHRfY2lwaGVyX2xpc3Qo KSwgY3R4LT5jZXJ0KTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNTTF9TWVNU RU1fREVGQVVMVF9DSVBIRVJfTElTVCwgY3R4LT5jZXJ0KTsKK0BAIC02NzgsNyArNjc4LDcgQEAg aW50IFNTTF9DVFhfc2V0X3NzbF92ZXJzaW9uKFNTTF9DVFggKmN0eCwgY29uc3QgU1NMX01FVEhP RCAqbWV0aCkKKyAgICAgICAgIGN0eC0+dGxzMTNfY2lwaGVyc3VpdGVzLAorICAgICAgICAgJihj dHgtPmNpcGhlcl9saXN0KSwKKyAgICAgICAgICYoY3R4LT5jaXBoZXJfbGlzdF9ieV9pZCksCist ICAgICAgICBPU1NMX2RlZmF1bHRfY2lwaGVyX2xpc3QoKSwgY3R4LT5jZXJ0KTsKKysgICAgICAg IFNTTF9TWVNURU1fREVGQVVMVF9DSVBIRVJfTElTVCwgY3R4LT5jZXJ0KTsKICAgICAgaWYgKChz ayA9PSBOVUxMKSB8fCAoc2tfU1NMX0NJUEhFUl9udW0oc2spIDw9IDApKSB7CiAgICAgICAgICBF UlJfcmFpc2UoRVJSX0xJQl9TU0wsIFNTTF9SX1NTTF9MSUJSQVJZX0hBU19OT19DSVBIRVJTKTsK ICAgICAgICAgIHJldHVybiAwOwotQEAgLTQxMzYsNyArNDEzNiw3IEBAIFNTTF9DVFggKlNTTF9D VFhfbmV3X2V4KE9TU0xfTElCX0NUWCAqbGliY3R4LCBjb25zdCBjaGFyICpwcm9wcSwKK0BAIC00 MTAyLDcgKzQxMDIsNyBAQCBTU0xfQ1RYICpTU0xfQ1RYX25ld19leChPU1NMX0xJQl9DVFggKmxp YmN0eCwgY29uc3QgY2hhciAqcHJvcHEsCiAgICAgIGlmICghc3NsX2NyZWF0ZV9jaXBoZXJfbGlz dChyZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQtPnRsczEzX2NpcGhl cnN1aXRlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZXQtPmNpcGhlcl9s aXN0LCAmcmV0LT5jaXBoZXJfbGlzdF9ieV9pZCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9TU0xfZGVmYXVsdF9jaXBoZXJfbGlzdCgpLCByZXQtPmNlcnQpCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTU0xfU1lTVEVNX0RFRkFVTFRfQ0lQSEVSX0xJU1QsIHJl dC0+Y2VydCkKKyAgICAgICAgICAgICByZXQtPnRsczEzX2NpcGhlcnN1aXRlcywKKyAgICAgICAg ICAgICAmcmV0LT5jaXBoZXJfbGlzdCwgJnJldC0+Y2lwaGVyX2xpc3RfYnlfaWQsCistICAgICAg ICAgICAgT1NTTF9kZWZhdWx0X2NpcGhlcl9saXN0KCksIHJldC0+Y2VydCkKKysgICAgICAgICAg ICBTU0xfU1lTVEVNX0RFRkFVTFRfQ0lQSEVSX0xJU1QsIHJldC0+Y2VydCkKICAgICAgICAgIHx8 IHNrX1NTTF9DSVBIRVJfbnVtKHJldC0+Y2lwaGVyX2xpc3QpIDw9IDApIHsKICAgICAgICAgIEVS Ul9yYWlzZShFUlJfTElCX1NTTCwgU1NMX1JfTElCUkFSWV9IQVNfTk9fQ0lQSEVSUyk7CiAgICAg ICAgICBnb3RvIGVycjsKIGRpZmYgLS1naXQgYS90ZXN0L2NpcGhlcmxpc3RfdGVzdC5jIGIvdGVz dC9jaXBoZXJsaXN0X3Rlc3QuYwotaW5kZXggYzQ2ZTQzMWIwMC4uMTlkMDVlODYwYiAxMDA2NDQK K2luZGV4IDk4NzRlNmJhZDYuLjc2YjZiZWZiYWQgMTAwNjQ0CiAtLS0gYS90ZXN0L2NpcGhlcmxp c3RfdGVzdC5jCiArKysgYi90ZXN0L2NpcGhlcmxpc3RfdGVzdC5jCi1AQCAtMjYxLDcgKzI2MSw5 IEBAIGVuZDoKK0BAIC0yNjAsNyArMjYwLDkgQEAgZW5kOgogIAogIGludCBzZXR1cF90ZXN0cyh2 b2lkKQogIHsKQEAgLTMxNSw3ICszMTcsNyBAQCBpbmRleCBjNDZlNDMxYjAwLi4xOWQwNWU4NjBi IDEwMDY0NAogKyNlbmRpZgogICAgICBBRERfVEVTVCh0ZXN0X2RlZmF1bHRfY2lwaGVybGlzdF9l eHBsaWNpdCk7CiAgICAgIEFERF9URVNUKHRlc3RfZGVmYXVsdF9jaXBoZXJsaXN0X2NsZWFyKTsK LSAgICAgQUREX1RFU1QodGVzdF9zdGRuYW1lX2NpcGhlcmxpc3QpOworICNpZm5kZWYgT1BFTlNT TF9OT19UTFMxXzMKIC0tIAotMi41MS4wCisyLjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAwMDctUkgt QWRkLUZJUFNfbW9kZS1jb21wYXRpYmlsaXR5LW1hY3JvLnBhdGNoIGIvMDAwNy1SSC1BZGQtRklQ U19tb2RlLWNvbXBhdGliaWxpdHktbWFjcm8ucGF0Y2gKaW5kZXggMTA1ZmMwZC4uZTg0YTQwNSAx MDA2NDQKLS0tIGEvMDAwNy1SSC1BZGQtRklQU19tb2RlLWNvbXBhdGliaWxpdHktbWFjcm8ucGF0 Y2gKKysrIGIvMDAwNy1SSC1BZGQtRklQU19tb2RlLWNvbXBhdGliaWxpdHktbWFjcm8ucGF0Y2gK QEAgLTEsNyArMSw3IEBACi1Gcm9tIGZiMmM5NTJmODIwNjRkNzQ3ZGJlY2I2Y2U2NjM2NWFlNGNj MDM1MTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDYwZjU1ZjA3MjU0NGNiOTk4YzQy ZGE0MWVlMzNjZWQyYjQ0MjhiOWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0t YnVpbGQgPHJwbS1idWlsZD4KIERhdGU6IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNSArMDEwMAot U3ViamVjdDogW1BBVENIIDA3LzU5XSBSSDogQWRkIEZJUFNfbW9kZSBjb21wYXRpYmlsaXR5IG1h Y3JvCitTdWJqZWN0OiBbUEFUQ0ggMDcvNTddIFJIOiBBZGQgRklQU19tb2RlIGNvbXBhdGliaWxp dHkgbWFjcm8KIAogUGF0Y2gtbmFtZTogMDAwOC1BZGQtRklQU19tb2RlLWNvbXBhdGliaWxpdHkt bWFjcm8ucGF0Y2gKIFBhdGNoLWlkOiA4CkBAIC00NywxMCArNDcsMTAgQEAgaW5kZXggMDAwMDAw MDAwMC4uNDE2MmNiZjg4ZQogKyMgZW5kaWYKICsjZW5kaWYKIGRpZmYgLS1naXQgYS90ZXN0L3By b3BlcnR5X3Rlc3QuYyBiL3Rlc3QvcHJvcGVydHlfdGVzdC5jCi1pbmRleCBlNjJmZjI0N2M0Li4z NzQ4OWU0Njk0IDEwMDY0NAoraW5kZXggZDQ3MDczMWU1MC4uMGIwNDRlYzg1MyAxMDA2NDQKIC0t LSBhL3Rlc3QvcHJvcGVydHlfdGVzdC5jCiArKysgYi90ZXN0L3Byb3BlcnR5X3Rlc3QuYwotQEAg LTcwMyw2ICs3MDMsMTkgQEAgc3RhdGljIGludCB0ZXN0X3Byb3BlcnR5X2xpc3RfdG9fc3RyaW5n X2JvdW5kcyh2b2lkKQorQEAgLTcwMyw2ICs3MDMsMTkgQEAgZXJyOgogICAgICByZXR1cm4gcmV0 OwogIH0KICAKQEAgLTc5LDUgKzc5LDUgQEAgaW5kZXggZTYyZmYyNDdjNC4uMzc0ODllNDY5NCAx MDA2NDQKICAgICAgQUREX1RFU1QodGVzdF9wcm9wZXJ0eV9saXN0X3RvX3N0cmluZ19ib3VuZHMp OwogICAgICByZXR1cm4gMTsKIC0tIAotMi41MS4wCisyLjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAw MDgtUkgtQWRkLUtlcm5lbC1GSVBTLW1vZGUtZmxhZy1zdXBwb3J0LUZJWFNUWUxFLnBhdGNoIGIv MDAwOC1SSC1BZGQtS2VybmVsLUZJUFMtbW9kZS1mbGFnLXN1cHBvcnQtRklYU1RZTEUucGF0Y2gK aW5kZXggY2VmZDRmMC4uNWE0MDZjMyAxMDA2NDQKLS0tIGEvMDAwOC1SSC1BZGQtS2VybmVsLUZJ UFMtbW9kZS1mbGFnLXN1cHBvcnQtRklYU1RZTEUucGF0Y2gKKysrIGIvMDAwOC1SSC1BZGQtS2Vy bmVsLUZJUFMtbW9kZS1mbGFnLXN1cHBvcnQtRklYU1RZTEUucGF0Y2gKQEAgLTEsNyArMSw3IEBA Ci1Gcm9tIDhkN2FiZmYyOTAzNTUwOGI2MjA4YjQ3NDJiZmFhZWQ0MmY3OGFjNDMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tIDVhYTEwOGNhZjAxZjQ4MmQzNWFiYTdhY2FlNmI1YThmYTE1 Nzc0MTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0tYnVpbGQgPHJwbS1idWls ZD4KIERhdGU6IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNSArMDEwMAotU3ViamVjdDogW1BBVENI IDA4LzU5XSBSSDogQWRkIEtlcm5lbCBGSVBTIG1vZGUgZmxhZyBzdXBwb3J0IC0gRklYU1RZTEUK K1N1YmplY3Q6IFtQQVRDSCAwOC81N10gUkg6IEFkZCBLZXJuZWwgRklQUyBtb2RlIGZsYWcgc3Vw cG9ydCAtIEZJWFNUWUxFCiAKIFBhdGNoLW5hbWU6IDAwMDktQWRkLUtlcm5lbC1GSVBTLW1vZGUt ZmxhZy1zdXBwb3J0LnBhdGNoCiBQYXRjaC1pZDogOQpAQCAtMTAsMTEgKzEwLDExIEBAIFBhdGNo LXN0YXR1czogfAogRnJvbS1kaXN0LWdpdC1jb21taXQ6IDQzMzRiYzgzN2ZiYzY0ZDE0ODkwZmRj NTE2NzlhODA3NzBkNDk4Y2UKIC0tLQogIGNyeXB0by9jb250ZXh0LmMgICAgICAgICAgICB8IDM1 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gaW5jbHVkZS9pbnRlcm5hbC9w cm92aWRlci5oIHwgIDMgKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspCisg aW5jbHVkZS9pbnRlcm5hbC9wcm92aWRlci5oIHwgIDUgKysrKy0KKyAyIGZpbGVzIGNoYW5nZWQs IDM5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2NyeXB0by9j b250ZXh0LmMgYi9jcnlwdG8vY29udGV4dC5jCi1pbmRleCBmMTViYzNkNzU1Li42MTRjOGEyYzg4 IDEwMDY0NAoraW5kZXggMWFlODhlNDJhYS4uNjJlNjBmMzYyMCAxMDA2NDQKIC0tLSBhL2NyeXB0 by9jb250ZXh0LmMKICsrKyBiL2NyeXB0by9jb250ZXh0LmMKIEBAIC03LDYgKzcsNyBAQApAQCAt NjQsNyArNjQsNyBAQCBpbmRleCBmMTViYzNkNzU1Li42MTRjOGEyYzg4IDEwMDY0NAogIHN0cnVj dCBvc3NsX2xpYl9jdHhfc3QgewogICAgICBDUllQVE9fUldMT0NLICpsb2NrOwogICAgICBPU1NM X0VYX0RBVEFfR0xPQkFMIGdsb2JhbDsKLUBAIC0zOTMsNiArNDI2LDggQEAgc3RhdGljIGludCBk ZWZhdWx0X2NvbnRleHRfaW5pdGVkID0gMDsKK0BAIC0zOTEsNiArNDI0LDggQEAgc3RhdGljIGlu dCBkZWZhdWx0X2NvbnRleHRfaW5pdGVkID0gMDsKICAKICBERUZJTkVfUlVOX09OQ0VfU1RBVElD KGRlZmF1bHRfY29udGV4dF9kb19pbml0KQogIHsKQEAgLTc0LDE5ICs3NCwyMSBAQCBpbmRleCBm MTViYzNkNzU1Li42MTRjOGEyYzg4IDEwMDY0NAogICAgICAgICAgZ290byBlcnI7CiAgCiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9pbnRlcm5hbC9wcm92aWRlci5oIGIvaW5jbHVkZS9pbnRlcm5hbC9w cm92aWRlci5oCi1pbmRleCA3ZDk0MzQ2MTU1Li5jMGYxZDAwZGE5IDEwMDY0NAoraW5kZXggMWI0 MDUwYTgxZi4uZWI3ZjQwOWFmMCAxMDA2NDQKIC0tLSBhL2luY2x1ZGUvaW50ZXJuYWwvcHJvdmlk ZXIuaAogKysrIGIvaW5jbHVkZS9pbnRlcm5hbC9wcm92aWRlci5oCi1AQCAtMTE0LDYgKzExNCw5 IEBAIGludCBvc3NsX3Byb3ZpZGVyX2luaXRfYXNfY2hpbGQoT1NTTF9MSUJfQ1RYICpjdHgsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBPU1NMX0RJU1BBVENIICppbik7 CitAQCAtMTE0LDcgKzExNCwxMCBAQCBpbnQgb3NzbF9wcm92aWRlcl9pbml0X2FzX2NoaWxkKE9T U0xfTElCX0NUWCAqY3R4LAorICAgICBjb25zdCBPU1NMX0RJU1BBVENIICppbik7CiAgdm9pZCBv c3NsX3Byb3ZpZGVyX2RlaW5pdF9jaGlsZChPU1NMX0xJQl9DVFggKmN0eCk7CiAgCistI2lmZGVm IF9fY3BsdXNwbHVzCiArLyogRklQUyBmbGFnIGFjY2VzcyAqLwogK2ludCBvc3NsX2dldF9rZXJu ZWxfZmlwc19mbGFnKHZvaWQpOwogKwotICMgaWZkZWYgX19jcGx1c3BsdXMKKysjIGlmZGVmIF9f Y3BsdXNwbHVzCiAgfQotICMgZW5kaWYKKyAjZW5kaWYKKyAKIC0tIAotMi41MS4wCisyLjUyLjAK IAoKZGlmZiAtLWdpdCBhLzAwMDktUkgtRHJvcC13ZWFrLWN1cnZlLWRlZmluaXRpb25zLVJFTkFN RUQtU1FVQVNIRUQucGF0Y2ggYi8wMDA5LVJILURyb3Atd2Vhay1jdXJ2ZS1kZWZpbml0aW9ucy1S RU5BTUVELVNRVUFTSEVELnBhdGNoCmluZGV4IGMyOGIxOGEuLjllOTg4YzggMTAwNjQ0Ci0tLSBh LzAwMDktUkgtRHJvcC13ZWFrLWN1cnZlLWRlZmluaXRpb25zLVJFTkFNRUQtU1FVQVNIRUQucGF0 Y2gKKysrIGIvMDAwOS1SSC1Ecm9wLXdlYWstY3VydmUtZGVmaW5pdGlvbnMtUkVOQU1FRC1TUVVB U0hFRC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNTE1MWM1YTQ1ZDEzMDA3NTg2MDI1Njk4 OWIxZjY5Njk0Zjg0MDU1NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOGY0OGM3N2Vi MWM4ZjNlNTlkNGQ4MDA0MTg5M2ExZGJmM2UxYTI1NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK IEZyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE5OjE3 OjE1ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDkvNTldIFJIOiBEcm9wIHdlYWsgY3VydmUgZGVm aW5pdGlvbnMgLSBSRU5BTUVEL1NRVUFTSEVECitTdWJqZWN0OiBbUEFUQ0ggMDkvNTddIFJIOiBE cm9wIHdlYWsgY3VydmUgZGVmaW5pdGlvbnMgLSBSRU5BTUVEL1NRVUFTSEVECiAKIFBhdGNoLW5h bWU6IDAwMTAtQWRkLWNoYW5nZXMtdG8tZWN0ZXN0LWFuZC1lY2N1cnZlLnBhdGNoCiBQYXRjaC1p ZDogMTAKQEAgLTE3LDYxICsxNyw2MSBAQCBQYXRjaC1zdGF0dXM6IHwKICAgICAjICMgcmVtb3Zl IHVuc3VwcG9ydGVkIEVDIGN1cnZlcwogRnJvbS1kaXN0LWdpdC1jb21taXQ6IDQzMzRiYzgzN2Zi YzY0ZDE0ODkwZmRjNTE2NzlhODA3NzBkNDk4Y2UKIC0tLQotIGFwcHMvc3BlZWQuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCArLQotIGNyeXB0by9lYy9lY19jdXJ2ZS5j ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDg0NCAtLS0tLS0tLS0tLS0tLS0tLS0KKyBhcHBz L3NwZWVkLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDggLQorIGNyeXB0 by9lYy9lY19jdXJ2ZS5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDc2OSAtLS0tLS0tLS0t LS0tLS0tLS0KICBjcnlwdG8vZXZwL2VjX3N1cHBvcnQuYyAgICAgICAgICAgICAgICAgICAgICAg fCAgODcgLS0KICB0ZXN0L2FjdnBfdGVzdC5pbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgIDkgLQogIHRlc3QvZWNkc2F0ZXN0LmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAxNyAtCi0gdGVzdC9lY3Rlc3QuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg MTc0ICstLS0KKyB0ZXN0L2VjdGVzdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAxNzUgKy0tLQogIHRlc3QvcmVjaXBlcy8xNS10ZXN0X2dlbmVjLnQgICAgICAgICAgICAgICAg ICB8ICAyNyAtCiAgdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwcGtleV9lY2MudHh0 IHwgICAxICsKLSA4IGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDExNTcgZGVsZXRp b25zKC0pCisgOCBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxMDgzIGRlbGV0aW9u cygtKQogCiBkaWZmIC0tZ2l0IGEvYXBwcy9zcGVlZC5jIGIvYXBwcy9zcGVlZC5jCi1pbmRleCA2 YzFlYjU5ZTkxLi4zMzA3YTljYjQ2IDEwMDY0NAoraW5kZXggYThkN2NiMTRmNS4uMTNjODUwNWVk OSAxMDA2NDQKIC0tLSBhL2FwcHMvc3BlZWQuYwogKysrIGIvYXBwcy9zcGVlZC5jCi1AQCAtNDA1 LDcgKzQwNSw3IEBAIHN0YXRpYyBkb3VibGUgZmZkaF9yZXN1bHRzW0ZGREhfTlVNXVsxXTsgIC8q IDEgb3A6IGRlcml2YXRpb24gKi8KK0BAIC00NTgsOCArNDU4LDYgQEAgc3RhdGljIGRvdWJsZSBm ZmRoX3Jlc3VsdHNbRkZESF9OVU1dWzFdOyAvKiAxIG9wOiBkZXJpdmF0aW9uICovCiAgI2VuZGlm IC8qIE9QRU5TU0xfTk9fREggKi8KICAKICBlbnVtIGVjX2N1cnZlc190IHsKLS0gICAgUl9FQ19Q MTYwLCBSX0VDX1AxOTIsIFJfRUNfUDIyNCwgUl9FQ19QMjU2LCBSX0VDX1AzODQsIFJfRUNfUDUy MSwKLSsgICAgUl9FQ19QMjI0LCBSX0VDX1AyNTYsIFJfRUNfUDM4NCwgUl9FQ19QNTIxLAotICNp Zm5kZWYgT1BFTlNTTF9OT19FQzJNCi0gICAgIFJfRUNfSzE2MywgUl9FQ19LMjMzLCBSX0VDX0sy ODMsIFJfRUNfSzQwOSwgUl9FQ19LNTcxLAotICAgICBSX0VDX0IxNjMsIFJfRUNfQjIzMywgUl9F Q19CMjgzLCBSX0VDX0I0MDksIFJfRUNfQjU3MSwKLUBAIC00MTUsOCArNDE1LDYgQEAgZW51bSBl Y19jdXJ2ZXNfdCB7CistICAgIFJfRUNfUDE2MCwKKy0gICAgUl9FQ19QMTkyLAorICAgICBSX0VD X1AyMjQsCisgICAgIFJfRUNfUDI1NiwKKyAgICAgUl9FQ19QMzg0LAorQEAgLTQ4Niw4ICs0ODQs NiBAQCBlbnVtIGVjX2N1cnZlc190IHsKICB9OwogIC8qIGxpc3Qgb2YgZWNkc2EgY3VydmVzICov CiAgc3RhdGljIGNvbnN0IE9QVF9QQUlSIGVjZHNhX2Nob2ljZXNbRUNEU0FfTlVNXSA9IHsKLS0g ICAgeyJlY2RzYXAxNjAiLCBSX0VDX1AxNjB9LAotLSAgICB7ImVjZHNhcDE5MiIsIFJfRUNfUDE5 Mn0sCi0gICAgIHsiZWNkc2FwMjI0IiwgUl9FQ19QMjI0fSwKLSAgICAgeyJlY2RzYXAyNTYiLCBS X0VDX1AyNTZ9LAotICAgICB7ImVjZHNhcDM4NCIsIFJfRUNfUDM4NH0sCi1AQCAtNDQ5LDggKzQ0 Nyw2IEBAIGVudW0geworLSAgICB7ICJlY2RzYXAxNjAiLCBSX0VDX1AxNjAgfSwKKy0gICAgeyAi ZWNkc2FwMTkyIiwgUl9FQ19QMTkyIH0sCisgICAgIHsgImVjZHNhcDIyNCIsIFJfRUNfUDIyNCB9 LAorICAgICB7ICJlY2RzYXAyNTYiLCBSX0VDX1AyNTYgfSwKKyAgICAgeyAiZWNkc2FwMzg0Iiwg Ul9FQ19QMzg0IH0sCitAQCAtNTIyLDggKzUxOCw2IEBAIGVudW0gewogIH07CiAgLyogbGlzdCBv ZiBlY2RoIGN1cnZlcywgZXh0ZW5zaW9uIG9mIHxlY2RzYV9jaG9pY2VzfCBsaXN0IGFib3ZlICov CiAgc3RhdGljIGNvbnN0IE9QVF9QQUlSIGVjZGhfY2hvaWNlc1tFQ19OVU1dID0gewotLSAgICB7 ImVjZGhwMTYwIiwgUl9FQ19QMTYwfSwKLS0gICAgeyJlY2RocDE5MiIsIFJfRUNfUDE5Mn0sCi0g ICAgIHsiZWNkaHAyMjQiLCBSX0VDX1AyMjR9LAotICAgICB7ImVjZGhwMjU2IiwgUl9FQ19QMjU2 fSwKLSAgICAgeyJlY2RocDM4NCIsIFJfRUNfUDM4NH0sCi1AQCAtMTk2Niw4ICsxOTYyLDYgQEAg aW50IHNwZWVkX21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorLSAgICB7ICJlY2RocDE2MCIs IFJfRUNfUDE2MCB9LAorLSAgICB7ICJlY2RocDE5MiIsIFJfRUNfUDE5MiB9LAorICAgICB7ICJl Y2RocDIyNCIsIFJfRUNfUDIyNCB9LAorICAgICB7ICJlY2RocDI1NiIsIFJfRUNfUDI1NiB9LAor ICAgICB7ICJlY2RocDM4NCIsIFJfRUNfUDM4NCB9LAorQEAgLTIwNDIsOCArMjAzNiw2IEBAIGlu dCBzcGVlZF9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICovCiAgICAgIHN0YXRp YyBjb25zdCBFQ19DVVJWRSBlY19jdXJ2ZXNbRUNfTlVNXSA9IHsKICAgICAgICAgIC8qIFByaW1l IEN1cnZlcyAqLwotLSAgICAgICAgeyJzZWNwMTYwcjEiLCBOSURfc2VjcDE2MHIxLCAxNjB9LAot LSAgICAgICAgeyJuaXN0cDE5MiIsIE5JRF9YOV82Ml9wcmltZTE5MnYxLCAxOTJ9LAotICAgICAg ICAgeyJuaXN0cDIyNCIsIE5JRF9zZWNwMjI0cjEsIDIyNH0sCi0gICAgICAgICB7Im5pc3RwMjU2 IiwgTklEX1g5XzYyX3ByaW1lMjU2djEsIDI1Nn0sCi0gICAgICAgICB7Im5pc3RwMzg0IiwgTklE X3NlY3AzODRyMSwgMzg0fSwKKy0gICAgICAgIHsgInNlY3AxNjByMSIsIE5JRF9zZWNwMTYwcjEs IDE2MCB9LAorLSAgICAgICAgeyAibmlzdHAxOTIiLCBOSURfWDlfNjJfcHJpbWUxOTJ2MSwgMTky IH0sCisgICAgICAgICB7ICJuaXN0cDIyNCIsIE5JRF9zZWNwMjI0cjEsIDIyNCB9LAorICAgICAg ICAgeyAibmlzdHAyNTYiLCBOSURfWDlfNjJfcHJpbWUyNTZ2MSwgMjU2IH0sCisgICAgICAgICB7 ICJuaXN0cDM4NCIsIE5JRF9zZWNwMzg0cjEsIDM4NCB9LAogZGlmZiAtLWdpdCBhL2NyeXB0by9l Yy9lY19jdXJ2ZS5jIGIvY3J5cHRvL2VjL2VjX2N1cnZlLmMKLWluZGV4IGY0NmFhYzVkMzMuLjhj NWJhNWI4MzkgMTAwNjQ0CitpbmRleCBjMTdhN2U1NDc3Li5jNjQ1NWZmNjkxIDEwMDY0NAogLS0t IGEvY3J5cHRvL2VjL2VjX2N1cnZlLmMKICsrKyBiL2NyeXB0by9lYy9lY19jdXJ2ZS5jCi1AQCAt MzAsMzggKzMwLDYgQEAgdHlwZWRlZiBzdHJ1Y3QgeworQEAgLTMwLDM0ICszMCw2IEBAIHR5cGVk ZWYgc3RydWN0IHsKICB9IEVDX0NVUlZFX0RBVEE7CiAgCiAgLyogdGhlIG5pc3QgcHJpbWUgY3Vy dmVzICovCkBAIC03OSwxMSArNzksOCBAQCBpbmRleCBmNDZhYWM1ZDMzLi44YzViYTViODM5IDEw MDY0NAogLSAgICBFQ19DVVJWRV9EQVRBIGg7CiAtICAgIHVuc2lnbmVkIGNoYXIgZGF0YVsyMCAr IDI0ICogNl07CiAtfSBfRUNfTklTVF9QUklNRV8xOTIgPSB7Ci0tICAgIHsKLS0gICAgICAgIE5J RF9YOV82Ml9wcmltZV9maWVsZCwgMjAsIDI0LCAxCi0tICAgIH0sCi0tICAgIHsKLS0gICAgICAg IC8qIHNlZWQgKi8KKy0gICAgeyBOSURfWDlfNjJfcHJpbWVfZmllbGQsIDIwLCAyNCwgMSB9LAor LSAgICB7IC8qIHNlZWQgKi8KIC0gICAgICAgIDB4MzAsIDB4NDUsIDB4QUUsIDB4NkYsIDB4Qzgs IDB4NDIsIDB4MkYsIDB4NjQsIDB4RUQsIDB4NTcsIDB4OTUsIDB4MjgsCiAtICAgICAgICAweEQz LCAweDgxLCAweDIwLCAweEVBLCAweEUxLCAweDIxLCAweDk2LCAweEQ1LAogLSAgICAgICAgLyog cCAqLwpAQCAtMTAzLDI4ICsxMDAsMjQgQEAgaW5kZXggZjQ2YWFjNWQzMy4uOGM1YmE1YjgzOSAx MDA2NDQKIC0gICAgICAgIDB4NmIsIDB4MjQsIDB4Y2QsIDB4ZDUsIDB4NzMsIDB4ZjksIDB4Nzcs IDB4YTEsIDB4MWUsIDB4NzksIDB4NDgsIDB4MTEsCiAtICAgICAgICAvKiBvcmRlciAqLwogLSAg ICAgICAgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhG RiwgMHhGRiwgMHhGRiwgMHhGRiwKLS0gICAgICAgIDB4OTksIDB4REUsIDB4RjgsIDB4MzYsIDB4 MTQsIDB4NkIsIDB4QzksIDB4QjEsIDB4QjQsIDB4RDIsIDB4MjgsIDB4MzEKLS0gICAgfQorLSAg ICAgICAgMHg5OSwgMHhERSwgMHhGOCwgMHgzNiwgMHgxNCwgMHg2QiwgMHhDOSwgMHhCMSwgMHhC NCwgMHhEMiwgMHgyOCwgMHgzMSB9CiAtfTsKIC0KICBzdGF0aWMgY29uc3Qgc3RydWN0IHsKICAg ICAgRUNfQ1VSVkVfREFUQSBoOwogICAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMjAgKyAyOCAqIDZd OwotQEAgLTIwMCwxODcgKzE2OCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgewotICAgICB9CitA QCAtMTg0LDE2NyArMTU2LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CisgICAgICAgICAweEI3 LCAweDFFLCAweDkxLCAweDM4LCAweDY0LCAweDA5IH0KICB9OwogIAotLSMgaWZuZGVmIEZJUFNf TU9EVUxFCistI2lmbmRlZiBGSVBTX01PRFVMRQogLS8qIHRoZSB4OS42MiBwcmltZSBjdXJ2ZXMg KG1pbnVzIHRoZSBuaXN0IHByaW1lIGN1cnZlcykgKi8KIC1zdGF0aWMgY29uc3Qgc3RydWN0IHsK IC0gICAgRUNfQ1VSVkVfREFUQSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMjAgKyAyNCAq IDZdOwogLX0gX0VDX1g5XzYyX1BSSU1FXzE5MlYyID0gewotLSAgICB7Ci0tICAgICAgICBOSURf WDlfNjJfcHJpbWVfZmllbGQsIDIwLCAyNCwgMQotLSAgICB9LAotLSAgICB7Ci0tICAgICAgICAv KiBzZWVkICovCistICAgIHsgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLCAyMCwgMjQsIDEgfSwKKy0g ICAgeyAvKiBzZWVkICovCiAtICAgICAgICAweDMxLCAweEE5LCAweDJFLCAweEUyLCAweDAyLCAw eDlGLCAweEQxLCAweDBELCAweDkwLCAweDFCLCAweDExLCAweDNFLAogLSAgICAgICAgMHg5OSwg MHgwNywgMHgxMCwgMHhGMCwgMHhEMiwgMHgxQSwgMHhDNiwgMHhCNiwKIC0gICAgICAgIC8qIHAg Ki8KQEAgLTE0NCwxOSArMTM3LDE1IEBAIGluZGV4IGY0NmFhYzVkMzMuLjhjNWJhNWI4MzkgMTAw NjQ0CiAtICAgICAgICAweDA4LCAweDNkLCAweGYyLCAweGYyLCAweGIwLCAweDg0LCAweDdkLCAw eGU5LCAweDcwLCAweGIyLCAweGRlLCAweDE1LAogLSAgICAgICAgLyogb3JkZXIgKi8KIC0gICAg ICAgIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYs IDB4RkYsIDB4RkYsIDB4RkUsCi0tICAgICAgICAweDVGLCAweEIxLCAweEE3LCAweDI0LCAweERD LCAweDgwLCAweDQxLCAweDg2LCAweDQ4LCAweEQ4LCAweERELCAweDMxCi0tICAgIH0KKy0gICAg ICAgIDB4NUYsIDB4QjEsIDB4QTcsIDB4MjQsIDB4REMsIDB4ODAsIDB4NDEsIDB4ODYsIDB4NDgs IDB4RDgsIDB4REQsIDB4MzEgfQogLX07CiAtCiAtc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAtICAg IEVDX0NVUlZFX0RBVEEgaDsKIC0gICAgdW5zaWduZWQgY2hhciBkYXRhWzIwICsgMjQgKiA2XTsK IC19IF9FQ19YOV82Ml9QUklNRV8xOTJWMyA9IHsKLS0gICAgewotLSAgICAgICAgTklEX1g5XzYy X3ByaW1lX2ZpZWxkLCAyMCwgMjQsIDEKLS0gICAgfSwKLS0gICAgewotLSAgICAgICAgLyogc2Vl ZCAqLworLSAgICB7IE5JRF9YOV82Ml9wcmltZV9maWVsZCwgMjAsIDI0LCAxIH0sCistICAgIHsg Lyogc2VlZCAqLwogLSAgICAgICAgMHhDNCwgMHg2OSwgMHg2OCwgMHg0NCwgMHgzNSwgMHhERSwg MHhCMywgMHg3OCwgMHhDNCwgMHhCNiwgMHg1QywgMHhBOSwKIC0gICAgICAgIDB4NTksIDB4MUUs IDB4MkEsIDB4NTcsIDB4NjMsIDB4MDUsIDB4OUEsIDB4MkUsCiAtICAgICAgICAvKiBwICovCkBA IC0xNzYsMTkgKzE2NSwxNSBAQCBpbmRleCBmNDZhYWM1ZDMzLi44YzViYTViODM5IDEwMDY0NAog LSAgICAgICAgMHg2YSwgMHg2ZCwgMHhjOCwgMHhmOSwgMHg5NywgMHg4YSwgMHhjYSwgMHg3Niwg MHg0OCwgMHhhOSwgMHg0MywgMHhiMCwKIC0gICAgICAgIC8qIG9yZGVyICovCiAtICAgICAgICAw eEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZG LCAweEZGLCAweEZGLAotLSAgICAgICAgMHg3QSwgMHg2MiwgMHhEMCwgMHgzMSwgMHhDOCwgMHgz RiwgMHg0MiwgMHg5NCwgMHhGNiwgMHg0MCwgMHhFQywgMHgxMwotLSAgICB9CistICAgICAgICAw eDdBLCAweDYyLCAweEQwLCAweDMxLCAweEM4LCAweDNGLCAweDQyLCAweDk0LCAweEY2LCAweDQw LCAweEVDLCAweDEzIH0KIC19OwogLQogLXN0YXRpYyBjb25zdCBzdHJ1Y3QgewogLSAgICBFQ19D VVJWRV9EQVRBIGg7CiAtICAgIHVuc2lnbmVkIGNoYXIgZGF0YVsyMCArIDMwICogNl07CiAtfSBf RUNfWDlfNjJfUFJJTUVfMjM5VjEgPSB7Ci0tICAgIHsKLS0gICAgICAgIE5JRF9YOV82Ml9wcmlt ZV9maWVsZCwgMjAsIDMwLCAxCi0tICAgIH0sCi0tICAgIHsKLS0gICAgICAgIC8qIHNlZWQgKi8K Ky0gICAgeyBOSURfWDlfNjJfcHJpbWVfZmllbGQsIDIwLCAzMCwgMSB9LAorLSAgICB7IC8qIHNl ZWQgKi8KIC0gICAgICAgIDB4RTQsIDB4M0IsIDB4QjQsIDB4NjAsIDB4RjAsIDB4QjgsIDB4MEMs IDB4QzAsIDB4QzAsIDB4QjAsIDB4NzUsIDB4NzksCiAtICAgICAgICAweDhFLCAweDk0LCAweDgw LCAweDYwLCAweEY4LCAweDMyLCAweDFCLCAweDdELAogLSAgICAgICAgLyogcCAqLwpAQCAtMjE0 LDE5ICsxOTksMTUgQEAgaW5kZXggZjQ2YWFjNWQzMy4uOGM1YmE1YjgzOSAxMDA2NDQKIC0gICAg ICAgIC8qIG9yZGVyICovCiAtICAgICAgICAweDdGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAw eEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLAogLSAgICAgICAgMHg3Riwg MHhGRiwgMHhGRiwgMHg5RSwgMHg1RSwgMHg5QSwgMHg5RiwgMHg1RCwgMHg5MCwgMHg3MSwgMHhG QiwgMHhEMSwKLS0gICAgICAgIDB4NTIsIDB4MjYsIDB4ODgsIDB4OTAsIDB4OUQsIDB4MEIKLS0g ICAgfQorLSAgICAgICAgMHg1MiwgMHgyNiwgMHg4OCwgMHg5MCwgMHg5RCwgMHgwQiB9CiAtfTsK IC0KIC1zdGF0aWMgY29uc3Qgc3RydWN0IHsKIC0gICAgRUNfQ1VSVkVfREFUQSBoOwogLSAgICB1 bnNpZ25lZCBjaGFyIGRhdGFbMjAgKyAzMCAqIDZdOwogLX0gX0VDX1g5XzYyX1BSSU1FXzIzOVYy ID0gewotLSAgICB7Ci0tICAgICAgICBOSURfWDlfNjJfcHJpbWVfZmllbGQsIDIwLCAzMCwgMQot LSAgICB9LAotLSAgICB7Ci0tICAgICAgICAvKiBzZWVkICovCistICAgIHsgTklEX1g5XzYyX3By aW1lX2ZpZWxkLCAyMCwgMzAsIDEgfSwKKy0gICAgeyAvKiBzZWVkICovCiAtICAgICAgICAweEU4 LCAweEI0LCAweDAxLCAweDE2LCAweDA0LCAweDA5LCAweDUzLCAweDAzLCAweENBLCAweDNCLCAw eDgwLCAweDk5LAogLSAgICAgICAgMHg5OCwgMHgyQiwgMHhFMCwgMHg5RiwgMHhDQiwgMHg5QSwg MHhFNiwgMHgxNiwKIC0gICAgICAgIC8qIHAgKi8KQEAgLTI1MiwxOSArMjMzLDE1IEBAIGluZGV4 IGY0NmFhYzVkMzMuLjhjNWJhNWI4MzkgMTAwNjQ0CiAtICAgICAgICAvKiBvcmRlciAqLwogLSAg ICAgICAgMHg3RiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhG RiwgMHhGRiwgMHhGRiwgMHhGRiwKIC0gICAgICAgIDB4ODAsIDB4MDAsIDB4MDAsIDB4Q0YsIDB4 QTcsIDB4RTgsIDB4NTksIDB4NDMsIDB4NzcsIDB4RDQsIDB4MTQsIDB4QzAsCi0tICAgICAgICAw eDM4LCAweDIxLCAweEJDLCAweDU4LCAweDIwLCAweDYzCi0tICAgIH0KKy0gICAgICAgIDB4Mzgs IDB4MjEsIDB4QkMsIDB4NTgsIDB4MjAsIDB4NjMgfQogLX07CiAtCiAtc3RhdGljIGNvbnN0IHN0 cnVjdCB7CiAtICAgIEVDX0NVUlZFX0RBVEEgaDsKIC0gICAgdW5zaWduZWQgY2hhciBkYXRhWzIw ICsgMzAgKiA2XTsKIC19IF9FQ19YOV82Ml9QUklNRV8yMzlWMyA9IHsKLS0gICAgewotLSAgICAg ICAgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLCAyMCwgMzAsIDEKLS0gICAgfSwKLS0gICAgewotLSAg ICAgICAgLyogc2VlZCAqLworLSAgICB7IE5JRF9YOV82Ml9wcmltZV9maWVsZCwgMjAsIDMwLCAx IH0sCistICAgIHsgLyogc2VlZCAqLwogLSAgICAgICAgMHg3RCwgMHg3MywgMHg3NCwgMHgxNiwg MHg4RiwgMHhGRSwgMHgzNCwgMHg3MSwgMHhCNiwgMHgwQSwgMHg4NSwgMHg3NiwKIC0gICAgICAg IDB4ODYsIDB4QTEsIDB4OTQsIDB4NzUsIDB4RDMsIDB4QkYsIDB4QTIsIDB4RkYsCiAtICAgICAg ICAvKiBwICovCkBAIC0yOTAsMTUgKzI2NywxNCBAQCBpbmRleCBmNDZhYWM1ZDMzLi44YzViYTVi ODM5IDEwMDY0NAogLSAgICAgICAgLyogb3JkZXIgKi8KIC0gICAgICAgIDB4N0YsIDB4RkYsIDB4 RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYs CiAtICAgICAgICAweDdGLCAweEZGLCAweEZGLCAweDk3LCAweDVELCAweEVCLCAweDQxLCAweEIz LCAweEE2LCAweDA1LCAweDdDLCAweDNDLAotLSAgICAgICAgMHg0MywgMHgyMSwgMHg0NiwgMHg1 MiwgMHg2NSwgMHg1MQotLSAgICB9CistICAgICAgICAweDQzLCAweDIxLCAweDQ2LCAweDUyLCAw eDY1LCAweDUxIH0KIC19OwogLSNlbmRpZiAvKiBGSVBTX01PRFVMRSAqLwogLQogIHN0YXRpYyBj b25zdCBzdHJ1Y3QgewogICAgICBFQ19DVVJWRV9EQVRBIGg7CiAgICAgIHVuc2lnbmVkIGNoYXIg ZGF0YVsyMCArIDMyICogOF07Ci1AQCAtNDI5LDI5NCArMjE2LDYgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCB7CitAQCAtMzg5LDI1OCArMjAwLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAgCiAg I2lmbmRlZiBGSVBTX01PRFVMRQogIC8qIHRoZSBzZWNnIHByaW1lIGN1cnZlcyAobWludXMgdGhl IG5pc3QgYW5kIHg5LjYyIHByaW1lIGN1cnZlcykgKi8KQEAgLTMwNiwxMSArMjgyLDggQEAgaW5k ZXggZjQ2YWFjNWQzMy4uOGM1YmE1YjgzOSAxMDA2NDQKIC0gICAgRUNfQ1VSVkVfREFUQSBoOwog LSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMjAgKyAxNCAqIDZdOwogLX0gX0VDX1NFQ0dfUFJJTUVf MTEyUjEgPSB7Ci0tICAgIHsKLS0gICAgICAgIE5JRF9YOV82Ml9wcmltZV9maWVsZCwgMjAsIDE0 LCAxCi0tICAgIH0sCi0tICAgIHsKLS0gICAgICAgIC8qIHNlZWQgKi8KKy0gICAgeyBOSURfWDlf NjJfcHJpbWVfZmllbGQsIDIwLCAxNCwgMSB9LAorLSAgICB7IC8qIHNlZWQgKi8KIC0gICAgICAg IDB4MDAsIDB4RjUsIDB4MEIsIDB4MDIsIDB4OEUsIDB4NEQsIDB4NjksIDB4NkUsIDB4NjcsIDB4 NjgsIDB4NzUsIDB4NjEsCiAtICAgICAgICAweDUxLCAweDc1LCAweDI5LCAweDA0LCAweDcyLCAw eDc4LCAweDNGLCAweEIxLAogLSAgICAgICAgLyogcCAqLwpAQCAtMzMwLDE5ICszMDMsMTUgQEAg aW5kZXggZjQ2YWFjNWQzMy4uOGM1YmE1YjgzOSAxMDA2NDQKIC0gICAgICAgIDB4NzUsIDB4MDAs CiAtICAgICAgICAvKiBvcmRlciAqLwogLSAgICAgICAgMHhEQiwgMHg3QywgMHgyQSwgMHhCRiwg MHg2MiwgMHhFMywgMHg1RSwgMHg3NiwgMHgyOCwgMHhERiwgMHhBQywgMHg2NSwKLS0gICAgICAg IDB4NjEsIDB4QzUKLS0gICAgfQorLSAgICAgICAgMHg2MSwgMHhDNSB9CiAtfTsKIC0KIC1zdGF0 aWMgY29uc3Qgc3RydWN0IHsKIC0gICAgRUNfQ1VSVkVfREFUQSBoOwogLSAgICB1bnNpZ25lZCBj aGFyIGRhdGFbMjAgKyAxNCAqIDZdOwogLX0gX0VDX1NFQ0dfUFJJTUVfMTEyUjIgPSB7Ci0tICAg IHsKLS0gICAgICAgIE5JRF9YOV82Ml9wcmltZV9maWVsZCwgMjAsIDE0LCA0Ci0tICAgIH0sCi0t ICAgIHsKLS0gICAgICAgIC8qIHNlZWQgKi8KKy0gICAgeyBOSURfWDlfNjJfcHJpbWVfZmllbGQs IDIwLCAxNCwgNCB9LAorLSAgICB7IC8qIHNlZWQgKi8KIC0gICAgICAgIDB4MDAsIDB4MjcsIDB4 NTcsIDB4QTEsIDB4MTEsIDB4NEQsIDB4NjksIDB4NkUsIDB4NjcsIDB4NjgsIDB4NzUsIDB4NjEs CiAtICAgICAgICAweDUxLCAweDc1LCAweDUzLCAweDE2LCAweEMwLCAweDVFLCAweDBCLCAweEQ0 LAogLSAgICAgICAgLyogcCAqLwpAQCAtMzYyLDE5ICszMzEsMTUgQEAgaW5kZXggZjQ2YWFjNWQz My4uOGM1YmE1YjgzOSAxMDA2NDQKIC0gICAgICAgIDB4NmUsIDB4OTcsCiAtICAgICAgICAvKiBv cmRlciAqLwogLSAgICAgICAgMHgzNiwgMHhERiwgMHgwQSwgMHhBRiwgMHhEOCwgMHhCOCwgMHhE NywgMHg1OSwgMHg3QywgMHhBMSwgMHgwNSwgMHgyMCwKLS0gICAgICAgIDB4RDAsIDB4NEIKLS0g ICAgfQorLSAgICAgICAgMHhEMCwgMHg0QiB9CiAtfTsKIC0KIC1zdGF0aWMgY29uc3Qgc3RydWN0 IHsKIC0gICAgRUNfQ1VSVkVfREFUQSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMjAgKyAx NiAqIDZdOwogLX0gX0VDX1NFQ0dfUFJJTUVfMTI4UjEgPSB7Ci0tICAgIHsKLS0gICAgICAgIE5J RF9YOV82Ml9wcmltZV9maWVsZCwgMjAsIDE2LCAxCi0tICAgIH0sCi0tICAgIHsKLS0gICAgICAg IC8qIHNlZWQgKi8KKy0gICAgeyBOSURfWDlfNjJfcHJpbWVfZmllbGQsIDIwLCAxNiwgMSB9LAor LSAgICB7IC8qIHNlZWQgKi8KIC0gICAgICAgIDB4MDAsIDB4MEUsIDB4MEQsIDB4NEQsIDB4Njks IDB4NkUsIDB4NjcsIDB4NjgsIDB4NzUsIDB4NjEsIDB4NTEsIDB4NzUsCiAtICAgICAgICAweDBD LCAweEMwLCAweDNBLCAweDQ0LCAweDczLCAweEQwLCAweDM2LCAweDc5LAogLSAgICAgICAgLyog cCAqLwpAQCAtMzk0LDE5ICszNTksMTUgQEAgaW5kZXggZjQ2YWFjNWQzMy4uOGM1YmE1YjgzOSAx MDA2NDQKIC0gICAgICAgIDB4ZGQsIDB4ZWQsIDB4N2EsIDB4ODMsCiAtICAgICAgICAvKiBvcmRl ciAqLwogLSAgICAgICAgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRSwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHg3NSwgMHhBMywgMHgwRCwgMHgxQiwKLS0gICAgICAgIDB4OTAsIDB4MzgsIDB4QTEs IDB4MTUKLS0gICAgfQorLSAgICAgICAgMHg5MCwgMHgzOCwgMHhBMSwgMHgxNSB9CiAtfTsKIC0K IC1zdGF0aWMgY29uc3Qgc3RydWN0IHsKIC0gICAgRUNfQ1VSVkVfREFUQSBoOwogLSAgICB1bnNp Z25lZCBjaGFyIGRhdGFbMjAgKyAxNiAqIDZdOwogLX0gX0VDX1NFQ0dfUFJJTUVfMTI4UjIgPSB7 Ci0tICAgIHsKLS0gICAgICAgIE5JRF9YOV82Ml9wcmltZV9maWVsZCwgMjAsIDE2LCA0Ci0tICAg IH0sCi0tICAgIHsKLS0gICAgICAgIC8qIHNlZWQgKi8KKy0gICAgeyBOSURfWDlfNjJfcHJpbWVf ZmllbGQsIDIwLCAxNiwgNCB9LAorLSAgICB7IC8qIHNlZWQgKi8KIC0gICAgICAgIDB4MDAsIDB4 NEQsIDB4NjksIDB4NkUsIDB4NjcsIDB4NjgsIDB4NzUsIDB4NjEsIDB4NTEsIDB4NzUsIDB4MTIs IDB4RDgsCiAtICAgICAgICAweEYwLCAweDM0LCAweDMxLCAweEZDLCAweEU2LCAweDNCLCAweDg4 LCAweEY0LAogLSAgICAgICAgLyogcCAqLwpAQCAtNDI2LDE5ICszODcsMTUgQEAgaW5kZXggZjQ2 YWFjNWQzMy4uOGM1YmE1YjgzOSAxMDA2NDQKIC0gICAgICAgIDB4NWYsIDB4YzMsIDB4NGIsIDB4 NDQsCiAtICAgICAgICAvKiBvcmRlciAqLwogLSAgICAgICAgMHgzRiwgMHhGRiwgMHhGRiwgMHhG RiwgMHg3RiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhCRSwgMHgwMCwgMHgyNCwgMHg3MiwKLS0gICAg ICAgIDB4MDYsIDB4MTMsIDB4QjUsIDB4QTMKLS0gICAgfQorLSAgICAgICAgMHgwNiwgMHgxMywg MHhCNSwgMHhBMyB9CiAtfTsKIC0KIC1zdGF0aWMgY29uc3Qgc3RydWN0IHsKIC0gICAgRUNfQ1VS VkVfREFUQSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMCArIDIxICogNl07CiAtfSBfRUNf U0VDR19QUklNRV8xNjBLMSA9IHsKLS0gICAgewotLSAgICAgICAgTklEX1g5XzYyX3ByaW1lX2Zp ZWxkLCAwLCAyMSwgMQotLSAgICB9LAotLSAgICB7Ci0tICAgICAgICAvKiBubyBzZWVkICovCist ICAgIHsgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLCAwLCAyMSwgMSB9LAorLSAgICB7IC8qIG5vIHNl ZWQgKi8KIC0gICAgICAgIC8qIHAgKi8KIC0gICAgICAgIDB4MDAsIDB4RkYsIDB4RkYsIDB4RkYs IDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsCiAtICAgICAg ICAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZFLCAweEZGLCAweEZGLCAweEFDLCAweDczLApA QCAtNDU2LDE5ICs0MTMsMTUgQEAgaW5kZXggZjQ2YWFjNWQzMy4uOGM1YmE1YjgzOSAxMDA2NDQK IC0gICAgICAgIDB4ODYsIDB4NTMsIDB4MTcsIDB4MzMsIDB4YzMsIDB4ZjAsIDB4M2MsIDB4NGYs IDB4ZWUsCiAtICAgICAgICAvKiBvcmRlciAqLwogLSAgICAgICAgMHgwMSwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHhCOCwKLS0g ICAgICAgIDB4RkEsIDB4MTYsIDB4REYsIDB4QUIsIDB4OUEsIDB4Q0EsIDB4MTYsIDB4QjYsIDB4 QjMKLS0gICAgfQorLSAgICAgICAgMHhGQSwgMHgxNiwgMHhERiwgMHhBQiwgMHg5QSwgMHhDQSwg MHgxNiwgMHhCNiwgMHhCMyB9CiAtfTsKIC0KIC1zdGF0aWMgY29uc3Qgc3RydWN0IHsKIC0gICAg RUNfQ1VSVkVfREFUQSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMjAgKyAyMSAqIDZdOwog LX0gX0VDX1NFQ0dfUFJJTUVfMTYwUjEgPSB7Ci0tICAgIHsKLS0gICAgICAgIE5JRF9YOV82Ml9w cmltZV9maWVsZCwgMjAsIDIxLCAxCi0tICAgIH0sCi0tICAgIHsKLS0gICAgICAgIC8qIHNlZWQg Ki8KKy0gICAgeyBOSURfWDlfNjJfcHJpbWVfZmllbGQsIDIwLCAyMSwgMSB9LAorLSAgICB7IC8q IHNlZWQgKi8KIC0gICAgICAgIDB4MTAsIDB4NTMsIDB4Q0QsIDB4RTQsIDB4MkMsIDB4MTQsIDB4 RDYsIDB4OTYsIDB4RTYsIDB4NzYsIDB4ODcsIDB4NTYsCiAtICAgICAgICAweDE1LCAweDE3LCAw eDUzLCAweDNCLCAweEYzLCAweEY4LCAweDMzLCAweDQ1LAogLSAgICAgICAgLyogcCAqLwpAQCAt NDg4LDE5ICs0NDEsMTUgQEAgaW5kZXggZjQ2YWFjNWQzMy4uOGM1YmE1YjgzOSAxMDA2NDQKIC0g ICAgICAgIDB4MTIsIDB4MDQsIDB4MjMsIDB4NTEsIDB4MzcsIDB4N2EsIDB4YzUsIDB4ZmIsIDB4 MzIsCiAtICAgICAgICAvKiBvcmRlciAqLwogLSAgICAgICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHhGNCwKLS0gICAg ICAgIDB4QzgsIDB4RjksIDB4MjcsIDB4QUUsIDB4RDMsIDB4Q0EsIDB4NzUsIDB4MjIsIDB4NTcK LS0gICAgfQorLSAgICAgICAgMHhDOCwgMHhGOSwgMHgyNywgMHhBRSwgMHhEMywgMHhDQSwgMHg3 NSwgMHgyMiwgMHg1NyB9CiAtfTsKIC0KIC1zdGF0aWMgY29uc3Qgc3RydWN0IHsKIC0gICAgRUNf Q1VSVkVfREFUQSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMjAgKyAyMSAqIDZdOwogLX0g X0VDX1NFQ0dfUFJJTUVfMTYwUjIgPSB7Ci0tICAgIHsKLS0gICAgICAgIE5JRF9YOV82Ml9wcmlt ZV9maWVsZCwgMjAsIDIxLCAxCi0tICAgIH0sCi0tICAgIHsKLS0gICAgICAgIC8qIHNlZWQgKi8K Ky0gICAgeyBOSURfWDlfNjJfcHJpbWVfZmllbGQsIDIwLCAyMSwgMSB9LAorLSAgICB7IC8qIHNl ZWQgKi8KIC0gICAgICAgIDB4QjksIDB4OUIsIDB4OTksIDB4QjAsIDB4OTksIDB4QjMsIDB4MjMs IDB4RTAsIDB4MjcsIDB4MDksIDB4QTQsIDB4RDYsCiAtICAgICAgICAweDk2LCAweEU2LCAweDc2 LCAweDg3LCAweDU2LCAweDE1LCAweDE3LCAweDUxLAogLSAgICAgICAgLyogcCAqLwpAQCAtNTIw LDE5ICs0NjksMTUgQEAgaW5kZXggZjQ2YWFjNWQzMy4uOGM1YmE1YjgzOSAxMDA2NDQKIC0gICAg ICAgIDB4MGQsIDB4ZjksIDB4OTgsIDB4MmMsIDB4ZmUsIDB4YTcsIDB4ZDQsIDB4M2YsIDB4MmUs CiAtICAgICAgICAvKiBvcmRlciAqLwogLSAgICAgICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNSwKLS0gICAgICAg IDB4MUUsIDB4RTcsIDB4ODYsIDB4QTgsIDB4MTgsIDB4RjMsIDB4QTEsIDB4QTEsIDB4NkIKLS0g ICAgfQorLSAgICAgICAgMHgxRSwgMHhFNywgMHg4NiwgMHhBOCwgMHgxOCwgMHhGMywgMHhBMSwg MHhBMSwgMHg2QiB9CiAtfTsKIC0KIC1zdGF0aWMgY29uc3Qgc3RydWN0IHsKIC0gICAgRUNfQ1VS VkVfREFUQSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMCArIDI0ICogNl07CiAtfSBfRUNf U0VDR19QUklNRV8xOTJLMSA9IHsKLS0gICAgewotLSAgICAgICAgTklEX1g5XzYyX3ByaW1lX2Zp ZWxkLCAwLCAyNCwgMQotLSAgICB9LAotLSAgICB7Ci0tICAgICAgICAvKiBubyBzZWVkICovCist ICAgIHsgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLCAwLCAyNCwgMSB9LAorLSAgICB7IC8qIG5vIHNl ZWQgKi8KIC0gICAgICAgIC8qIHAgKi8KIC0gICAgICAgIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYs IDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsCiAtICAgICAg ICAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZFLCAweEZGLCAw eEZGLCAweEVFLCAweDM3LApAQCAtNTUwLDE5ICs0OTUsMTUgQEAgaW5kZXggZjQ2YWFjNWQzMy4u OGM1YmE1YjgzOSAxMDA2NDQKIC0gICAgICAgIDB4MTUsIDB4YmUsIDB4ODYsIDB4MzQsIDB4NDAs IDB4ODIsIDB4YWEsIDB4ODgsIDB4ZDksIDB4NWUsIDB4MmYsIDB4OWQsCiAtICAgICAgICAvKiBv cmRlciAqLwogLSAgICAgICAgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhG RiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRSwKLS0gICAgICAgIDB4MjYsIDB4RjIsIDB4 RkMsIDB4MTcsIDB4MEYsIDB4NjksIDB4NDYsIDB4NkEsIDB4NzQsIDB4REUsIDB4RkQsIDB4OEQK LS0gICAgfQorLSAgICAgICAgMHgyNiwgMHhGMiwgMHhGQywgMHgxNywgMHgwRiwgMHg2OSwgMHg0 NiwgMHg2QSwgMHg3NCwgMHhERSwgMHhGRCwgMHg4RCB9CiAtfTsKIC0KIC1zdGF0aWMgY29uc3Qg c3RydWN0IHsKIC0gICAgRUNfQ1VSVkVfREFUQSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFb MCArIDI5ICogNl07CiAtfSBfRUNfU0VDR19QUklNRV8yMjRLMSA9IHsKLS0gICAgewotLSAgICAg ICAgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLCAwLCAyOSwgMQotLSAgICB9LAotLSAgICB7Ci0tICAg ICAgICAvKiBubyBzZWVkICovCistICAgIHsgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLCAwLCAyOSwg MSB9LAorLSAgICB7IC8qIG5vIHNlZWQgKi8KIC0gICAgICAgIC8qIHAgKi8KIC0gICAgICAgIDB4 MDAsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYs IDB4RkYsIDB4RkYsCiAtICAgICAgICAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZG LCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLApAQCAtNTg2LDE1ICs1MjcsMTQg QEAgaW5kZXggZjQ2YWFjNWQzMy4uOGM1YmE1YjgzOSAxMDA2NDQKIC0gICAgICAgIC8qIG9yZGVy ICovCiAtICAgICAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAogLSAgICAgICAgMHgwMCwgMHgwMCwgMHgwMSwg MHhEQywgMHhFOCwgMHhEMiwgMHhFQywgMHg2MSwgMHg4NCwgMHhDQSwgMHhGMCwgMHhBOSwKLS0g ICAgICAgIDB4NzEsIDB4NzYsIDB4OUYsIDB4QjEsIDB4RjcKLS0gICAgfQorLSAgICAgICAgMHg3 MSwgMHg3NiwgMHg5RiwgMHhCMSwgMHhGNyB9CiAtfTsKIC0KICBzdGF0aWMgY29uc3Qgc3RydWN0 IHsKICAgICAgRUNfQ1VSVkVfREFUQSBoOwogICAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMCArIDMy ICogNl07Ci1AQCAtNzUzLDEwMiArMjUyLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7Ci0gICAg IH0KK0BAIC02NzMsOTAgKzIzMiw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeworICAgICAgICAg MHhCRiwgMHhEMiwgMHg1RSwgMHg4QywgMHhEMCwgMHgzNiwgMHg0MSwgMHg0MSB9CiAgfTsKICAK IC0vKiBzb21lIHdhcC93dGxzIGN1cnZlcyAqLwpAQCAtNjAyLDExICs1NDIsOCBAQCBpbmRleCBm NDZhYWM1ZDMzLi44YzViYTViODM5IDEwMDY0NAogLSAgICBFQ19DVVJWRV9EQVRBIGg7CiAtICAg IHVuc2lnbmVkIGNoYXIgZGF0YVswICsgMTUgKiA2XTsKIC19IF9FQ19XVExTXzggPSB7Ci0tICAg IHsKLS0gICAgICAgIE5JRF9YOV82Ml9wcmltZV9maWVsZCwgMCwgMTUsIDEKLS0gICAgfSwKLS0g ICAgewotLSAgICAgICAgLyogbm8gc2VlZCAqLworLSAgICB7IE5JRF9YOV82Ml9wcmltZV9maWVs ZCwgMCwgMTUsIDEgfSwKKy0gICAgeyAvKiBubyBzZWVkICovCiAtICAgICAgICAvKiBwICovCiAt ICAgICAgICAweDAwLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAw eEZGLCAweEZGLCAweEZGLCAweEZGLAogLSAgICAgICAgMHhGRiwgMHhGRCwgMHhFNywKQEAgLTYy NCwxOSArNTYxLDE1IEBAIGluZGV4IGY0NmFhYzVkMzMuLjhjNWJhNWI4MzkgMTAwNjQ0CiAtICAg ICAgICAweDAwLCAweDAwLCAweDAyLAogLSAgICAgICAgLyogb3JkZXIgKi8KIC0gICAgICAgIDB4 MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4RUMsIDB4RUEs IDB4NTUsIDB4MUEsCi0tICAgICAgICAweEQ4LCAweDM3LCAweEU5Ci0tICAgIH0KKy0gICAgICAg IDB4RDgsIDB4MzcsIDB4RTkgfQogLX07CiAtCiAtc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAtICAg IEVDX0NVUlZFX0RBVEEgaDsKIC0gICAgdW5zaWduZWQgY2hhciBkYXRhWzAgKyAyMSAqIDZdOwog LX0gX0VDX1dUTFNfOSA9IHsKLS0gICAgewotLSAgICAgICAgTklEX1g5XzYyX3ByaW1lX2ZpZWxk LCAwLCAyMSwgMQotLSAgICB9LAotLSAgICB7Ci0tICAgICAgICAvKiBubyBzZWVkICovCistICAg IHsgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLCAwLCAyMSwgMSB9LAorLSAgICB7IC8qIG5vIHNlZWQg Ki8KIC0gICAgICAgIC8qIHAgKi8KIC0gICAgICAgIDB4MDAsIDB4RkYsIDB4RkYsIDB4RkYsIDB4 RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsCiAtICAgICAgICAw eEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZDLCAweDgwLCAweDhGLApAQCAt NjU0LDE5ICs1ODcsMTUgQEAgaW5kZXggZjQ2YWFjNWQzMy4uOGM1YmE1YjgzOSAxMDA2NDQKIC0g ICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDIsCiAtICAgICAgICAvKiBvcmRlciAqLwogLSAgICAgICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHhDRCwKLS0gICAg ICAgIDB4QzksIDB4OEEsIDB4RTAsIDB4RTIsIDB4REUsIDB4NTcsIDB4NEEsIDB4QkYsIDB4MzMK LS0gICAgfQorLSAgICAgICAgMHhDOSwgMHg4QSwgMHhFMCwgMHhFMiwgMHhERSwgMHg1NywgMHg0 QSwgMHhCRiwgMHgzMyB9CiAtfTsKIC0KIC1zdGF0aWMgY29uc3Qgc3RydWN0IHsKIC0gICAgRUNf Q1VSVkVfREFUQSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMCArIDI4ICogNl07CiAtfSBf RUNfV1RMU18xMiA9IHsKLS0gICAgewotLSAgICAgICAgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLCAw LCAyOCwgMQotLSAgICB9LAotLSAgICB7Ci0tICAgICAgICAvKiBubyBzZWVkICovCistICAgIHsg TklEX1g5XzYyX3ByaW1lX2ZpZWxkLCAwLCAyOCwgMSB9LAorLSAgICB7IC8qIG5vIHNlZWQgKi8K IC0gICAgICAgIC8qIHAgKi8KIC0gICAgICAgIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYs IDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsCiAtICAgICAgICAweEZG LCAweEZGLCAweEZGLCAweEZGLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLApAQCAtNjkwLDEzICs2MTksMTIgQEAgaW5kZXggZjQ2YWFjNWQzMy4uOGM1YmE1 YjgzOSAxMDA2NDQKIC0gICAgICAgIC8qIG9yZGVyICovCiAtICAgICAgICAweEZGLCAweEZGLCAw eEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZG LAogLSAgICAgICAgMHhGRiwgMHhGRiwgMHgxNiwgMHhBMiwgMHhFMCwgMHhCOCwgMHhGMCwgMHgz RSwgMHgxMywgMHhERCwgMHgyOSwgMHg0NSwKLS0gICAgICAgIDB4NUMsIDB4NUMsIDB4MkEsIDB4 M0QKLS0gICAgfQorLSAgICAgICAgMHg1QywgMHg1QywgMHgyQSwgMHgzRCB9CiAtfTsKICAjZW5k aWYgLyogRklQU19NT0RVTEUgKi8KICAKICAjaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQotQEAgLTIy NDQsMTk4ICsxNjQ3LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CitAQCAtMjAwNCwxNzQgKzE0 NzksNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKICAgKi8KICAKICAjaWZuZGVmIEZJUFNfTU9E VUxFCkBAIC03MDQsMTEgKzYzMiw4IEBAIGluZGV4IGY0NmFhYzVkMzMuLjhjNWJhNWI4MzkgMTAw NjQ0CiAtICAgIEVDX0NVUlZFX0RBVEEgaDsKIC0gICAgdW5zaWduZWQgY2hhciBkYXRhWzAgKyAy MCAqIDZdOwogLX0gX0VDX2JyYWlucG9vbFAxNjByMSA9IHsKLS0gICAgewotLSAgICAgICAgTklE X1g5XzYyX3ByaW1lX2ZpZWxkLCAwLCAyMCwgMQotLSAgICB9LAotLSAgICB7Ci0tICAgICAgICAv KiBubyBzZWVkICovCistICAgIHsgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLCAwLCAyMCwgMSB9LAor LSAgICB7IC8qIG5vIHNlZWQgKi8KIC0gICAgICAgIC8qIHAgKi8KIC0gICAgICAgIDB4RTksIDB4 NUUsIDB4NEEsIDB4NUYsIDB4NzMsIDB4NzAsIDB4NTksIDB4REMsIDB4NjAsIDB4REYsIDB4Qzcs IDB4QUQsCiAtICAgICAgICAweDk1LCAweEIzLCAweEQ4LCAweDEzLCAweDk1LCAweDE1LCAweDYy LCAweDBGLApAQCAtNzI2LDE5ICs2NTEsMTUgQEAgaW5kZXggZjQ2YWFjNWQzMy4uOGM1YmE1Yjgz OSAxMDA2NDQKIC0gICAgICAgIDB4NjYsIDB4OUMsIDB4OTcsIDB4NjMsIDB4MTYsIDB4REEsIDB4 NjMsIDB4MjEsCiAtICAgICAgICAvKiBvcmRlciAqLwogLSAgICAgICAgMHhFOSwgMHg1RSwgMHg0 QSwgMHg1RiwgMHg3MywgMHg3MCwgMHg1OSwgMHhEQywgMHg2MCwgMHhERiwgMHg1OSwgMHg5MSwK LS0gICAgICAgIDB4RDQsIDB4NTAsIDB4MjksIDB4NDAsIDB4OUUsIDB4NjAsIDB4RkMsIDB4MDkK LS0gICAgfQorLSAgICAgICAgMHhENCwgMHg1MCwgMHgyOSwgMHg0MCwgMHg5RSwgMHg2MCwgMHhG QywgMHgwOSB9CiAtfTsKIC0KIC1zdGF0aWMgY29uc3Qgc3RydWN0IHsKIC0gICAgRUNfQ1VSVkVf REFUQSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMCArIDIwICogNl07CiAtfSBfRUNfYnJh aW5wb29sUDE2MHQxID0gewotLSAgICB7Ci0tICAgICAgICBOSURfWDlfNjJfcHJpbWVfZmllbGQs IDAsIDIwLCAxCi0tICAgIH0sCi0tICAgIHsKLS0gICAgICAgIC8qIG5vIHNlZWQgKi8KKy0gICAg eyBOSURfWDlfNjJfcHJpbWVfZmllbGQsIDAsIDIwLCAxIH0sCistICAgIHsgLyogbm8gc2VlZCAq LwogLSAgICAgICAgLyogcCAqLwogLSAgICAgICAgMHhFOSwgMHg1RSwgMHg0QSwgMHg1RiwgMHg3 MywgMHg3MCwgMHg1OSwgMHhEQywgMHg2MCwgMHhERiwgMHhDNywgMHhBRCwKIC0gICAgICAgIDB4 OTUsIDB4QjMsIDB4RDgsIDB4MTMsIDB4OTUsIDB4MTUsIDB4NjIsIDB4MEYsCkBAIC03NTYsMTkg KzY3NywxNSBAQCBpbmRleCBmNDZhYWM1ZDMzLi44YzViYTViODM5IDEwMDY0NAogLSAgICAgICAg MHgyNCwgMHg0MywgMHg3NywgMHgyMSwgMHg1MiwgMHhDOSwgMHhFMCwgMHhBRCwKIC0gICAgICAg IC8qIG9yZGVyICovCiAtICAgICAgICAweEU5LCAweDVFLCAweDRBLCAweDVGLCAweDczLCAweDcw LCAweDU5LCAweERDLCAweDYwLCAweERGLCAweDU5LCAweDkxLAotLSAgICAgICAgMHhENCwgMHg1 MCwgMHgyOSwgMHg0MCwgMHg5RSwgMHg2MCwgMHhGQywgMHgwOQotLSAgICB9CistICAgICAgICAw eEQ0LCAweDUwLCAweDI5LCAweDQwLCAweDlFLCAweDYwLCAweEZDLCAweDA5IH0KIC19OwogLQog LXN0YXRpYyBjb25zdCBzdHJ1Y3QgewogLSAgICBFQ19DVVJWRV9EQVRBIGg7CiAtICAgIHVuc2ln bmVkIGNoYXIgZGF0YVswICsgMjQgKiA2XTsKIC19IF9FQ19icmFpbnBvb2xQMTkycjEgPSB7Ci0t ICAgIHsKLS0gICAgICAgIE5JRF9YOV82Ml9wcmltZV9maWVsZCwgMCwgMjQsIDEKLS0gICAgfSwK LS0gICAgewotLSAgICAgICAgLyogbm8gc2VlZCAqLworLSAgICB7IE5JRF9YOV82Ml9wcmltZV9m aWVsZCwgMCwgMjQsIDEgfSwKKy0gICAgeyAvKiBubyBzZWVkICovCiAtICAgICAgICAvKiBwICov CiAtICAgICAgICAweEMzLCAweDAyLCAweEY0LCAweDFELCAweDkzLCAweDJBLCAweDM2LCAweENE LCAweEE3LCAweEEzLCAweDQ2LCAweDMwLAogLSAgICAgICAgMHg5MywgMHhEMSwgMHg4RCwgMHhC NywgMHg4RiwgMHhDRSwgMHg0NywgMHg2RCwgMHhFMSwgMHhBOCwgMHg2MiwgMHg5NywKQEAgLTc4 NiwxOSArNzAzLDE1IEBAIGluZGV4IGY0NmFhYzVkMzMuLjhjNWJhNWI4MzkgMTAwNjQ0CiAtICAg ICAgICAweEMxLCAweDQ5LCAweDAwLCAweDAyLCAweEU2LCAweDc3LCAweDNGLCAweEEyLCAweEZB LCAweDI5LCAweDlCLCAweDhGLAogLSAgICAgICAgLyogb3JkZXIgKi8KIC0gICAgICAgIDB4QzMs IDB4MDIsIDB4RjQsIDB4MUQsIDB4OTMsIDB4MkEsIDB4MzYsIDB4Q0QsIDB4QTcsIDB4QTMsIDB4 NDYsIDB4MkYsCi0tICAgICAgICAweDlFLCAweDlFLCAweDkxLCAweDZCLCAweDVCLCAweEU4LCAw eEYxLCAweDAyLCAweDlBLCAweEM0LCAweEFDLCAweEMxCi0tICAgIH0KKy0gICAgICAgIDB4OUUs IDB4OUUsIDB4OTEsIDB4NkIsIDB4NUIsIDB4RTgsIDB4RjEsIDB4MDIsIDB4OUEsIDB4QzQsIDB4 QUMsIDB4QzEgfQogLX07CiAtCiAtc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAtICAgIEVDX0NVUlZF X0RBVEEgaDsKIC0gICAgdW5zaWduZWQgY2hhciBkYXRhWzAgKyAyNCAqIDZdOwogLX0gX0VDX2Jy YWlucG9vbFAxOTJ0MSA9IHsKLS0gICAgewotLSAgICAgICAgTklEX1g5XzYyX3ByaW1lX2ZpZWxk LCAwLCAyNCwgMQotLSAgICB9LAotLSAgICB7Ci0tICAgICAgICAvKiBubyBzZWVkICovCistICAg IHsgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLCAwLCAyNCwgMSB9LAorLSAgICB7IC8qIG5vIHNlZWQg Ki8KIC0gICAgICAgIC8qIHAgKi8KIC0gICAgICAgIDB4QzMsIDB4MDIsIDB4RjQsIDB4MUQsIDB4 OTMsIDB4MkEsIDB4MzYsIDB4Q0QsIDB4QTcsIDB4QTMsIDB4NDYsIDB4MzAsCiAtICAgICAgICAw eDkzLCAweEQxLCAweDhELCAweEI3LCAweDhGLCAweENFLCAweDQ3LCAweDZELCAweEUxLCAweEE4 LCAweDYyLCAweDk3LApAQCAtODE2LDE5ICs3MjksMTUgQEAgaW5kZXggZjQ2YWFjNWQzMy4uOGM1 YmE1YjgzOSAxMDA2NDQKIC0gICAgICAgIDB4NDQsIDB4OUQsIDB4MDAsIDB4ODQsIDB4QjcsIDB4 RTUsIDB4QjMsIDB4REUsIDB4N0MsIDB4Q0MsIDB4MDEsIDB4QzksCiAtICAgICAgICAvKiBvcmRl ciAqLwogLSAgICAgICAgMHhDMywgMHgwMiwgMHhGNCwgMHgxRCwgMHg5MywgMHgyQSwgMHgzNiwg MHhDRCwgMHhBNywgMHhBMywgMHg0NiwgMHgyRiwKLS0gICAgICAgIDB4OUUsIDB4OUUsIDB4OTEs IDB4NkIsIDB4NUIsIDB4RTgsIDB4RjEsIDB4MDIsIDB4OUEsIDB4QzQsIDB4QUMsIDB4QzEKLS0g ICAgfQorLSAgICAgICAgMHg5RSwgMHg5RSwgMHg5MSwgMHg2QiwgMHg1QiwgMHhFOCwgMHhGMSwg MHgwMiwgMHg5QSwgMHhDNCwgMHhBQywgMHhDMSB9CiAtfTsKIC0KIC1zdGF0aWMgY29uc3Qgc3Ry dWN0IHsKIC0gICAgRUNfQ1VSVkVfREFUQSBoOwogLSAgICB1bnNpZ25lZCBjaGFyIGRhdGFbMCAr IDI4ICogNl07CiAtfSBfRUNfYnJhaW5wb29sUDIyNHIxID0gewotLSAgICB7Ci0tICAgICAgICBO SURfWDlfNjJfcHJpbWVfZmllbGQsIDAsIDI4LCAxCi0tICAgIH0sCi0tICAgIHsKLS0gICAgICAg IC8qIG5vIHNlZWQgKi8KKy0gICAgeyBOSURfWDlfNjJfcHJpbWVfZmllbGQsIDAsIDI4LCAxIH0s CistICAgIHsgLyogbm8gc2VlZCAqLwogLSAgICAgICAgLyogcCAqLwogLSAgICAgICAgMHhENywg MHhDMSwgMHgzNCwgMHhBQSwgMHgyNiwgMHg0MywgMHg2NiwgMHg4NiwgMHgyQSwgMHgxOCwgMHgz MCwgMHgyNSwKIC0gICAgICAgIDB4NzUsIDB4RDEsIDB4RDcsIDB4ODcsIDB4QjAsIDB4OUYsIDB4 MDcsIDB4NTcsIDB4OTcsIDB4REEsIDB4ODksIDB4RjUsCkBAIC04NTIsMTkgKzc2MSwxNSBAQCBp bmRleCBmNDZhYWM1ZDMzLi44YzViYTViODM5IDEwMDY0NAogLSAgICAgICAgLyogb3JkZXIgKi8K IC0gICAgICAgIDB4RDcsIDB4QzEsIDB4MzQsIDB4QUEsIDB4MjYsIDB4NDMsIDB4NjYsIDB4ODYs IDB4MkEsIDB4MTgsIDB4MzAsIDB4MjUsCiAtICAgICAgICAweDc1LCAweEQwLCAweEZCLCAweDk4 LCAweEQxLCAweDE2LCAweEJDLCAweDRCLCAweDZELCAweERFLCAweEJDLCAweEEzLAotLSAgICAg ICAgMHhBNSwgMHhBNywgMHg5MywgMHg5RgotLSAgICB9CistICAgICAgICAweEE1LCAweEE3LCAw eDkzLCAweDlGIH0KIC19OwogLQogLXN0YXRpYyBjb25zdCBzdHJ1Y3QgewogLSAgICBFQ19DVVJW RV9EQVRBIGg7CiAtICAgIHVuc2lnbmVkIGNoYXIgZGF0YVswICsgMjggKiA2XTsKIC19IF9FQ19i cmFpbnBvb2xQMjI0dDEgPSB7Ci0tICAgIHsKLS0gICAgICAgIE5JRF9YOV82Ml9wcmltZV9maWVs ZCwgMCwgMjgsIDEKLS0gICAgfSwKLS0gICAgewotLSAgICAgICAgLyogbm8gc2VlZCAqLworLSAg ICB7IE5JRF9YOV82Ml9wcmltZV9maWVsZCwgMCwgMjgsIDEgfSwKKy0gICAgeyAvKiBubyBzZWVk ICovCiAtICAgICAgICAvKiBwICovCiAtICAgICAgICAweEQ3LCAweEMxLCAweDM0LCAweEFBLCAw eDI2LCAweDQzLCAweDY2LCAweDg2LCAweDJBLCAweDE4LCAweDMwLCAweDI1LAogLSAgICAgICAg MHg3NSwgMHhEMSwgMHhENywgMHg4NywgMHhCMCwgMHg5RiwgMHgwNywgMHg1NywgMHg5NywgMHhE QSwgMHg4OSwgMHhGNSwKQEAgLTg4OCwyMDkgKzc5MywyMjMgQEAgaW5kZXggZjQ2YWFjNWQzMy4u OGM1YmE1YjgzOSAxMDA2NDQKIC0gICAgICAgIC8qIG9yZGVyICovCiAtICAgICAgICAweEQ3LCAw eEMxLCAweDM0LCAweEFBLCAweDI2LCAweDQzLCAweDY2LCAweDg2LCAweDJBLCAweDE4LCAweDMw LCAweDI1LAogLSAgICAgICAgMHg3NSwgMHhEMCwgMHhGQiwgMHg5OCwgMHhEMSwgMHgxNiwgMHhC QywgMHg0QiwgMHg2RCwgMHhERSwgMHhCQywgMHhBMywKLS0gICAgICAgIDB4QTUsIDB4QTcsIDB4 OTMsIDB4OUYKLS0gICAgfQorLSAgICAgICAgMHhBNSwgMHhBNywgMHg5MywgMHg5RiB9CiAtfTsK IC0KICBzdGF0aWMgY29uc3Qgc3RydWN0IHsKICAgICAgRUNfQ1VSVkVfREFUQSBoOwogICAgICB1 bnNpZ25lZCBjaGFyIGRhdGFbMCArIDMyICogNl07Ci1AQCAtMjg2NCw4ICsyMDc1LDYgQEAgc3Rh dGljIGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZV9saXN0W10gPSB7Ci0gICAgICAiTklTVC9T RUNHIGN1cnZlIG92ZXIgYSA1MjEgYml0IHByaW1lIGZpZWxkIn0sCitAQCAtMjc0MCw4ICsyMDQ3 LDYgQEAgc3RhdGljIGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZV9saXN0W10gPSB7CisgICAg ICAgICAiTklTVC9TRUNHIGN1cnZlIG92ZXIgYSA1MjEgYml0IHByaW1lIGZpZWxkIiB9LAogIAog ICAgICAvKiBYOS42MiBjdXJ2ZXMgKi8KLS0gICAge05JRF9YOV82Ml9wcmltZTE5MnYxLCAmX0VD X05JU1RfUFJJTUVfMTkyLmgsIDAsCi0tICAgICAiTklTVC9YOS42Mi9TRUNHIGN1cnZlIG92ZXIg YSAxOTIgYml0IHByaW1lIGZpZWxkIn0sCi0gICAgIHtOSURfWDlfNjJfcHJpbWUyNTZ2MSwgJl9F Q19YOV82Ml9QUklNRV8yNTZWMS5oLAotICMgaWYgZGVmaW5lZChFQ1BfTklTVFoyNTZfQVNNKQot ICAgICAgRUNfR0ZwX25pc3R6MjU2X21ldGhvZCwKLUBAIC0yOTA5LDI1ICsyMTE4LDYgQEAgc3Rh dGljIGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZV9saXN0W10gPSB7CistICAgIHsgTklEX1g5 XzYyX3ByaW1lMTkydjEsICZfRUNfTklTVF9QUklNRV8xOTIuaCwgMCwKKy0gICAgICAgICJOSVNU L1g5LjYyL1NFQ0cgY3VydmUgb3ZlciBhIDE5MiBiaXQgcHJpbWUgZmllbGQiIH0sCisgICAgIHsg TklEX1g5XzYyX3ByaW1lMjU2djEsICZfRUNfWDlfNjJfUFJJTUVfMjU2VjEuaCwKKyAjaWYgZGVm aW5lZChFQ1BfTklTVFoyNTZfQVNNKQorICAgICAgICAgRUNfR0ZwX25pc3R6MjU2X21ldGhvZCwK K0BAIC0yNzg0LDI2ICsyMDg5LDYgQEAgc3RhdGljIGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2 ZV9saXN0W10gPSB7CisgCiAgc3RhdGljIGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZV9saXN0 W10gPSB7CiAgICAgIC8qIHByaW1lIGZpZWxkIGN1cnZlcyAqLwotICAgICAvKiBzZWNnIGN1cnZl cyAqLwotLSAgICB7TklEX3NlY3AxMTJyMSwgJl9FQ19TRUNHX1BSSU1FXzExMlIxLmgsIDAsCi0t ICAgICAiU0VDRy9XVExTIGN1cnZlIG92ZXIgYSAxMTIgYml0IHByaW1lIGZpZWxkIn0sCi0tICAg IHtOSURfc2VjcDExMnIyLCAmX0VDX1NFQ0dfUFJJTUVfMTEyUjIuaCwgMCwKLS0gICAgICJTRUNH IGN1cnZlIG92ZXIgYSAxMTIgYml0IHByaW1lIGZpZWxkIn0sCi0tICAgIHtOSURfc2VjcDEyOHIx LCAmX0VDX1NFQ0dfUFJJTUVfMTI4UjEuaCwgMCwKLS0gICAgICJTRUNHIGN1cnZlIG92ZXIgYSAx MjggYml0IHByaW1lIGZpZWxkIn0sCi0tICAgIHtOSURfc2VjcDEyOHIyLCAmX0VDX1NFQ0dfUFJJ TUVfMTI4UjIuaCwgMCwKLS0gICAgICJTRUNHIGN1cnZlIG92ZXIgYSAxMjggYml0IHByaW1lIGZp ZWxkIn0sCi0tICAgIHtOSURfc2VjcDE2MGsxLCAmX0VDX1NFQ0dfUFJJTUVfMTYwSzEuaCwgMCwK LS0gICAgICJTRUNHIGN1cnZlIG92ZXIgYSAxNjAgYml0IHByaW1lIGZpZWxkIn0sCi0tICAgIHtO SURfc2VjcDE2MHIxLCAmX0VDX1NFQ0dfUFJJTUVfMTYwUjEuaCwgMCwKLS0gICAgICJTRUNHIGN1 cnZlIG92ZXIgYSAxNjAgYml0IHByaW1lIGZpZWxkIn0sCi0tICAgIHtOSURfc2VjcDE2MHIyLCAm X0VDX1NFQ0dfUFJJTUVfMTYwUjIuaCwgMCwKLS0gICAgICJTRUNHL1dUTFMgY3VydmUgb3ZlciBh IDE2MCBiaXQgcHJpbWUgZmllbGQifSwKKy0gICAgLyogc2VjZyBjdXJ2ZXMgKi8KKy0gICAgeyBO SURfc2VjcDExMnIxLCAmX0VDX1NFQ0dfUFJJTUVfMTEyUjEuaCwgMCwKKy0gICAgICAgICJTRUNH L1dUTFMgY3VydmUgb3ZlciBhIDExMiBiaXQgcHJpbWUgZmllbGQiIH0sCistICAgIHsgTklEX3Nl Y3AxMTJyMiwgJl9FQ19TRUNHX1BSSU1FXzExMlIyLmgsIDAsCistICAgICAgICAiU0VDRyBjdXJ2 ZSBvdmVyIGEgMTEyIGJpdCBwcmltZSBmaWVsZCIgfSwKKy0gICAgeyBOSURfc2VjcDEyOHIxLCAm X0VDX1NFQ0dfUFJJTUVfMTI4UjEuaCwgMCwKKy0gICAgICAgICJTRUNHIGN1cnZlIG92ZXIgYSAx MjggYml0IHByaW1lIGZpZWxkIiB9LAorLSAgICB7IE5JRF9zZWNwMTI4cjIsICZfRUNfU0VDR19Q UklNRV8xMjhSMi5oLCAwLAorLSAgICAgICAgIlNFQ0cgY3VydmUgb3ZlciBhIDEyOCBiaXQgcHJp bWUgZmllbGQiIH0sCistICAgIHsgTklEX3NlY3AxNjBrMSwgJl9FQ19TRUNHX1BSSU1FXzE2MEsx LmgsIDAsCistICAgICAgICAiU0VDRyBjdXJ2ZSBvdmVyIGEgMTYwIGJpdCBwcmltZSBmaWVsZCIg fSwKKy0gICAgeyBOSURfc2VjcDE2MHIxLCAmX0VDX1NFQ0dfUFJJTUVfMTYwUjEuaCwgMCwKKy0g ICAgICAgICJTRUNHIGN1cnZlIG92ZXIgYSAxNjAgYml0IHByaW1lIGZpZWxkIiB9LAorLSAgICB7 IE5JRF9zZWNwMTYwcjIsICZfRUNfU0VDR19QUklNRV8xNjBSMi5oLCAwLAorLSAgICAgICAgIlNF Q0cvV1RMUyBjdXJ2ZSBvdmVyIGEgMTYwIGJpdCBwcmltZSBmaWVsZCIgfSwKIC0gICAgLyogU0VD RyBzZWNwMTkycjEgaXMgdGhlIHNhbWUgYXMgWDkuNjIgcHJpbWUxOTJ2MSBhbmQgaGVuY2Ugb21p dHRlZCAqLwotLSAgICB7TklEX3NlY3AxOTJrMSwgJl9FQ19TRUNHX1BSSU1FXzE5MksxLmgsIDAs Ci0tICAgICAiU0VDRyBjdXJ2ZSBvdmVyIGEgMTkyIGJpdCBwcmltZSBmaWVsZCJ9LAotLSAgICB7 TklEX3NlY3AyMjRrMSwgJl9FQ19TRUNHX1BSSU1FXzIyNEsxLmgsIDAsCi0tICAgICAiU0VDRyBj dXJ2ZSBvdmVyIGEgMjI0IGJpdCBwcmltZSBmaWVsZCJ9LAotICMgaWZuZGVmIE9QRU5TU0xfTk9f RUNfTklTVFBfNjRfR0NDXzEyOAotICAgICB7TklEX3NlY3AyMjRyMSwgJl9FQ19OSVNUX1BSSU1F XzIyNC5oLCBFQ19HRnBfbmlzdHAyMjRfbWV0aG9kLAotICAgICAgIk5JU1QvU0VDRyBjdXJ2ZSBv dmVyIGEgMjI0IGJpdCBwcmltZSBmaWVsZCJ9LAotQEAgLTI5NTcsMTggKzIxNDcsNiBAQCBzdGF0 aWMgY29uc3QgZWNfbGlzdF9lbGVtZW50IGN1cnZlX2xpc3RbXSA9IHsKLSAjIGVuZGlmCi0gICAg ICAiTklTVC9TRUNHIGN1cnZlIG92ZXIgYSA1MjEgYml0IHByaW1lIGZpZWxkIn0sCistICAgIHsg TklEX3NlY3AxOTJrMSwgJl9FQ19TRUNHX1BSSU1FXzE5MksxLmgsIDAsCistICAgICAgICAiU0VD RyBjdXJ2ZSBvdmVyIGEgMTkyIGJpdCBwcmltZSBmaWVsZCIgfSwKKy0gICAgeyBOSURfc2VjcDIy NGsxLCAmX0VDX1NFQ0dfUFJJTUVfMjI0SzEuaCwgMCwKKy0gICAgICAgICJTRUNHIGN1cnZlIG92 ZXIgYSAyMjQgYml0IHByaW1lIGZpZWxkIiB9LAorICNpZm5kZWYgT1BFTlNTTF9OT19FQ19OSVNU UF82NF9HQ0NfMTI4CisgICAgIHsgTklEX3NlY3AyMjRyMSwgJl9FQ19OSVNUX1BSSU1FXzIyNC5o LCBFQ19HRnBfbmlzdHAyMjRfbWV0aG9kLAorICAgICAgICAgIk5JU1QvU0VDRyBjdXJ2ZSBvdmVy IGEgMjI0IGJpdCBwcmltZSBmaWVsZCIgfSwKK0BAIC0yODMzLDE4ICsyMTE4LDYgQEAgc3RhdGlj IGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZV9saXN0W10gPSB7CisgI2VuZGlmCisgICAgICAg ICAiTklTVC9TRUNHIGN1cnZlIG92ZXIgYSA1MjEgYml0IHByaW1lIGZpZWxkIiB9LAogICAgICAv KiBYOS42MiBjdXJ2ZXMgKi8KLS0gICAge05JRF9YOV82Ml9wcmltZTE5MnYxLCAmX0VDX05JU1Rf UFJJTUVfMTkyLmgsIDAsCi0tICAgICAiTklTVC9YOS42Mi9TRUNHIGN1cnZlIG92ZXIgYSAxOTIg Yml0IHByaW1lIGZpZWxkIn0sCi0tICAgIHtOSURfWDlfNjJfcHJpbWUxOTJ2MiwgJl9FQ19YOV82 Ml9QUklNRV8xOTJWMi5oLCAwLAotLSAgICAgIlg5LjYyIGN1cnZlIG92ZXIgYSAxOTIgYml0IHBy aW1lIGZpZWxkIn0sCi0tICAgIHtOSURfWDlfNjJfcHJpbWUxOTJ2MywgJl9FQ19YOV82Ml9QUklN RV8xOTJWMy5oLCAwLAotLSAgICAgIlg5LjYyIGN1cnZlIG92ZXIgYSAxOTIgYml0IHByaW1lIGZp ZWxkIn0sCi0tICAgIHtOSURfWDlfNjJfcHJpbWUyMzl2MSwgJl9FQ19YOV82Ml9QUklNRV8yMzlW MS5oLCAwLAotLSAgICAgIlg5LjYyIGN1cnZlIG92ZXIgYSAyMzkgYml0IHByaW1lIGZpZWxkIn0s Ci0tICAgIHtOSURfWDlfNjJfcHJpbWUyMzl2MiwgJl9FQ19YOV82Ml9QUklNRV8yMzlWMi5oLCAw LAotLSAgICAgIlg5LjYyIGN1cnZlIG92ZXIgYSAyMzkgYml0IHByaW1lIGZpZWxkIn0sCi0tICAg IHtOSURfWDlfNjJfcHJpbWUyMzl2MywgJl9FQ19YOV82Ml9QUklNRV8yMzlWMy5oLCAwLAotLSAg ICAgIlg5LjYyIGN1cnZlIG92ZXIgYSAyMzkgYml0IHByaW1lIGZpZWxkIn0sCi0gICAgIHtOSURf WDlfNjJfcHJpbWUyNTZ2MSwgJl9FQ19YOV82Ml9QUklNRV8yNTZWMS5oLAotICMgaWYgZGVmaW5l ZChFQ1BfTklTVFoyNTZfQVNNKQotICAgICAgRUNfR0ZwX25pc3R6MjU2X21ldGhvZCwKLUBAIC0z MDY1LDIyICsyMjQzLDEyIEBAIHN0YXRpYyBjb25zdCBlY19saXN0X2VsZW1lbnQgY3VydmVfbGlz dFtdID0gewotICAgICB7TklEX3dhcF93c2dfaWRtX2VjaWRfd3RsczUsICZfRUNfWDlfNjJfQ0hB UjJfMTYzVjEuaCwgMCwKLSAgICAgICJYOS42MiBjdXJ2ZSBvdmVyIGEgMTYzIGJpdCBiaW5hcnkg ZmllbGQifSwKLSAjIGVuZGlmCi0tICAgIHtOSURfd2FwX3dzZ19pZG1fZWNpZF93dGxzNiwgJl9F Q19TRUNHX1BSSU1FXzExMlIxLmgsIDAsCi0tICAgICAiU0VDRy9XVExTIGN1cnZlIG92ZXIgYSAx MTIgYml0IHByaW1lIGZpZWxkIn0sCi0tICAgIHtOSURfd2FwX3dzZ19pZG1fZWNpZF93dGxzNywg Jl9FQ19TRUNHX1BSSU1FXzE2MFIyLmgsIDAsCi0tICAgICAiU0VDRy9XVExTIGN1cnZlIG92ZXIg YSAxNjAgYml0IHByaW1lIGZpZWxkIn0sCi0tICAgIHtOSURfd2FwX3dzZ19pZG1fZWNpZF93dGxz OCwgJl9FQ19XVExTXzguaCwgMCwKLS0gICAgICJXVExTIGN1cnZlIG92ZXIgYSAxMTIgYml0IHBy aW1lIGZpZWxkIn0sCi0tICAgIHtOSURfd2FwX3dzZ19pZG1fZWNpZF93dGxzOSwgJl9FQ19XVExT XzkuaCwgMCwKLS0gICAgICJXVExTIGN1cnZlIG92ZXIgYSAxNjAgYml0IHByaW1lIGZpZWxkIn0s Ci0gIyBpZm5kZWYgT1BFTlNTTF9OT19FQzJNCi0gICAgIHtOSURfd2FwX3dzZ19pZG1fZWNpZF93 dGxzMTAsICZfRUNfTklTVF9DSEFSMl8yMzNLLmgsIDAsCi0gICAgICAiTklTVC9TRUNHL1dUTFMg Y3VydmUgb3ZlciBhIDIzMyBiaXQgYmluYXJ5IGZpZWxkIn0sCi0gICAgIHtOSURfd2FwX3dzZ19p ZG1fZWNpZF93dGxzMTEsICZfRUNfTklTVF9DSEFSMl8yMzNCLmgsIDAsCi0gICAgICAiTklTVC9T RUNHL1dUTFMgY3VydmUgb3ZlciBhIDIzMyBiaXQgYmluYXJ5IGZpZWxkIn0sCi0gIyBlbmRpZgot LSAgICB7TklEX3dhcF93c2dfaWRtX2VjaWRfd3RsczEyLCAmX0VDX1dUTFNfMTIuaCwgMCwKLS0g ICAgICJXVExTIGN1cnZlIG92ZXIgYSAyMjQgYml0IHByaW1lIGZpZWxkIn0sCi0gIyBpZm5kZWYg T1BFTlNTTF9OT19FQzJNCistICAgIHsgTklEX1g5XzYyX3ByaW1lMTkydjEsICZfRUNfTklTVF9Q UklNRV8xOTIuaCwgMCwKKy0gICAgICAgICJOSVNUL1g5LjYyL1NFQ0cgY3VydmUgb3ZlciBhIDE5 MiBiaXQgcHJpbWUgZmllbGQiIH0sCistICAgIHsgTklEX1g5XzYyX3ByaW1lMTkydjIsICZfRUNf WDlfNjJfUFJJTUVfMTkyVjIuaCwgMCwKKy0gICAgICAgICJYOS42MiBjdXJ2ZSBvdmVyIGEgMTky IGJpdCBwcmltZSBmaWVsZCIgfSwKKy0gICAgeyBOSURfWDlfNjJfcHJpbWUxOTJ2MywgJl9FQ19Y OV82Ml9QUklNRV8xOTJWMy5oLCAwLAorLSAgICAgICAgIlg5LjYyIGN1cnZlIG92ZXIgYSAxOTIg Yml0IHByaW1lIGZpZWxkIiB9LAorLSAgICB7IE5JRF9YOV82Ml9wcmltZTIzOXYxLCAmX0VDX1g5 XzYyX1BSSU1FXzIzOVYxLmgsIDAsCistICAgICAgICAiWDkuNjIgY3VydmUgb3ZlciBhIDIzOSBi aXQgcHJpbWUgZmllbGQiIH0sCistICAgIHsgTklEX1g5XzYyX3ByaW1lMjM5djIsICZfRUNfWDlf NjJfUFJJTUVfMjM5VjIuaCwgMCwKKy0gICAgICAgICJYOS42MiBjdXJ2ZSBvdmVyIGEgMjM5IGJp dCBwcmltZSBmaWVsZCIgfSwKKy0gICAgeyBOSURfWDlfNjJfcHJpbWUyMzl2MywgJl9FQ19YOV82 Ml9QUklNRV8yMzlWMy5oLCAwLAorLSAgICAgICAgIlg5LjYyIGN1cnZlIG92ZXIgYSAyMzkgYml0 IHByaW1lIGZpZWxkIiB9LAorICAgICB7IE5JRF9YOV82Ml9wcmltZTI1NnYxLCAmX0VDX1g5XzYy X1BSSU1FXzI1NlYxLmgsCisgI2lmIGRlZmluZWQoRUNQX05JU1RaMjU2X0FTTSkKKyAgICAgICAg IEVDX0dGcF9uaXN0ejI1Nl9tZXRob2QsCitAQCAtMjkyOCwzNiArMjIwMSw2IEBAIHN0YXRpYyBj b25zdCBlY19saXN0X2VsZW1lbnQgY3VydmVfbGlzdFtdID0geworICAgICAgICAgIlg5LjYyIGN1 cnZlIG92ZXIgYSAzNjggYml0IGJpbmFyeSBmaWVsZCIgfSwKKyAgICAgeyBOSURfWDlfNjJfYzJ0 bmI0MzFyMSwgJl9FQ19YOV82Ml9DSEFSMl80MzFSMS5oLCAwLAorICAgICAgICAgIlg5LjYyIGN1 cnZlIG92ZXIgYSA0MzEgYml0IGJpbmFyeSBmaWVsZCIgfSwKKy0gICAgLyoKKy0gICAgICogdGhl IFdBUC9XVExTIGN1cnZlcyBbdW5saWtlIFNFQ0csIHNwZWMgaGFzIGl0cyBvd24gT0lEcyBmb3Ig Y3VydmVzCistICAgICAqIGZyb20gWDkuNjJdCistICAgICAqLworLSAgICB7IE5JRF93YXBfd3Nn X2lkbV9lY2lkX3d0bHMxLCAmX0VDX1dUTFNfMS5oLCAwLAorLSAgICAgICAgIldUTFMgY3VydmUg b3ZlciBhIDExMyBiaXQgYmluYXJ5IGZpZWxkIiB9LAorLSAgICB7IE5JRF93YXBfd3NnX2lkbV9l Y2lkX3d0bHMzLCAmX0VDX05JU1RfQ0hBUjJfMTYzSy5oLCAwLAorLSAgICAgICAgIk5JU1QvU0VD Ry9XVExTIGN1cnZlIG92ZXIgYSAxNjMgYml0IGJpbmFyeSBmaWVsZCIgfSwKKy0gICAgeyBOSURf d2FwX3dzZ19pZG1fZWNpZF93dGxzNCwgJl9FQ19TRUNHX0NIQVIyXzExM1IxLmgsIDAsCistICAg ICAgICAiU0VDRyBjdXJ2ZSBvdmVyIGEgMTEzIGJpdCBiaW5hcnkgZmllbGQiIH0sCistICAgIHsg TklEX3dhcF93c2dfaWRtX2VjaWRfd3RsczUsICZfRUNfWDlfNjJfQ0hBUjJfMTYzVjEuaCwgMCwK Ky0gICAgICAgICJYOS42MiBjdXJ2ZSBvdmVyIGEgMTYzIGJpdCBiaW5hcnkgZmllbGQiIH0sCist I2VuZGlmCistICAgIHsgTklEX3dhcF93c2dfaWRtX2VjaWRfd3RsczYsICZfRUNfU0VDR19QUklN RV8xMTJSMS5oLCAwLAorLSAgICAgICAgIlNFQ0cvV1RMUyBjdXJ2ZSBvdmVyIGEgMTEyIGJpdCBw cmltZSBmaWVsZCIgfSwKKy0gICAgeyBOSURfd2FwX3dzZ19pZG1fZWNpZF93dGxzNywgJl9FQ19T RUNHX1BSSU1FXzE2MFIyLmgsIDAsCistICAgICAgICAiU0VDRy9XVExTIGN1cnZlIG92ZXIgYSAx NjAgYml0IHByaW1lIGZpZWxkIiB9LAorLSAgICB7IE5JRF93YXBfd3NnX2lkbV9lY2lkX3d0bHM4 LCAmX0VDX1dUTFNfOC5oLCAwLAorLSAgICAgICAgIldUTFMgY3VydmUgb3ZlciBhIDExMiBiaXQg cHJpbWUgZmllbGQiIH0sCistICAgIHsgTklEX3dhcF93c2dfaWRtX2VjaWRfd3RsczksICZfRUNf V1RMU185LmgsIDAsCistICAgICAgICAiV1RMUyBjdXJ2ZSBvdmVyIGEgMTYwIGJpdCBwcmltZSBm aWVsZCIgfSwKKy0jaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQorLSAgICB7IE5JRF93YXBfd3NnX2lk bV9lY2lkX3d0bHMxMCwgJl9FQ19OSVNUX0NIQVIyXzIzM0suaCwgMCwKKy0gICAgICAgICJOSVNU L1NFQ0cvV1RMUyBjdXJ2ZSBvdmVyIGEgMjMzIGJpdCBiaW5hcnkgZmllbGQiIH0sCistICAgIHsg TklEX3dhcF93c2dfaWRtX2VjaWRfd3RsczExLCAmX0VDX05JU1RfQ0hBUjJfMjMzQi5oLCAwLAor LSAgICAgICAgIk5JU1QvU0VDRy9XVExTIGN1cnZlIG92ZXIgYSAyMzMgYml0IGJpbmFyeSBmaWVs ZCIgfSwKKy0jZW5kaWYKKy0gICAgeyBOSURfd2FwX3dzZ19pZG1fZWNpZF93dGxzMTIsICZfRUNf V1RMU18xMi5oLCAwLAorLSAgICAgICAgIldUTFMgY3VydmUgb3ZlciBhIDIyNCBiaXQgcHJpbWUg ZmllbGQiIH0sCistI2lmbmRlZiBPUEVOU1NMX05PX0VDMk0KICAgICAgLyogSVBTZWMgY3VydmVz ICovCi0gICAgIHtOSURfaXBzZWMzLCAmX0VDX0lQU0VDXzE1NV9JRDMuaCwgMCwKLUBAIC0zMDkx LDE4ICsyMjU5LDYgQEAgc3RhdGljIGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZV9saXN0W10g PSB7Ci0gICAgICAiXHROb3Qgc3VpdGFibGUgZm9yIEVDRFNBLlxuXHRRdWVzdGlvbmFibGUgZXh0 ZW5zaW9uIGZpZWxkISJ9LAotICMgZW5kaWYKKyAgICAgeyBOSURfaXBzZWMzLCAmX0VDX0lQU0VD XzE1NV9JRDMuaCwgMCwKKyAgICAgICAgICJcblx0SVBTZWMvSUtFL09ha2xleSBjdXJ2ZSAjMyBv dmVyIGEgMTU1IGJpdCBiaW5hcnkgZmllbGQuXG4iCitAQCAtMjk2NywxOCArMjIxMCw2IEBAIHN0 YXRpYyBjb25zdCBlY19saXN0X2VsZW1lbnQgY3VydmVfbGlzdFtdID0geworICAgICAgICAgIlx0 Tm90IHN1aXRhYmxlIGZvciBFQ0RTQS5cblx0UXVlc3Rpb25hYmxlIGV4dGVuc2lvbiBmaWVsZCEi IH0sCisgI2VuZGlmCiAgICAgIC8qIGJyYWlucG9vbCBjdXJ2ZXMgKi8KLS0gICAge05JRF9icmFp bnBvb2xQMTYwcjEsICZfRUNfYnJhaW5wb29sUDE2MHIxLmgsIDAsCi0tICAgICAiUkZDIDU2Mzkg Y3VydmUgb3ZlciBhIDE2MCBiaXQgcHJpbWUgZmllbGQifSwKLS0gICAge05JRF9icmFpbnBvb2xQ MTYwdDEsICZfRUNfYnJhaW5wb29sUDE2MHQxLmgsIDAsCi0tICAgICAiUkZDIDU2MzkgY3VydmUg b3ZlciBhIDE2MCBiaXQgcHJpbWUgZmllbGQifSwKLS0gICAge05JRF9icmFpbnBvb2xQMTkycjEs ICZfRUNfYnJhaW5wb29sUDE5MnIxLmgsIDAsCi0tICAgICAiUkZDIDU2MzkgY3VydmUgb3ZlciBh IDE5MiBiaXQgcHJpbWUgZmllbGQifSwKLS0gICAge05JRF9icmFpbnBvb2xQMTkydDEsICZfRUNf YnJhaW5wb29sUDE5MnQxLmgsIDAsCi0tICAgICAiUkZDIDU2MzkgY3VydmUgb3ZlciBhIDE5MiBi aXQgcHJpbWUgZmllbGQifSwKLS0gICAge05JRF9icmFpbnBvb2xQMjI0cjEsICZfRUNfYnJhaW5w b29sUDIyNHIxLmgsIDAsCi0tICAgICAiUkZDIDU2MzkgY3VydmUgb3ZlciBhIDIyNCBiaXQgcHJp bWUgZmllbGQifSwKLS0gICAge05JRF9icmFpbnBvb2xQMjI0dDEsICZfRUNfYnJhaW5wb29sUDIy NHQxLmgsIDAsCi0tICAgICAiUkZDIDU2MzkgY3VydmUgb3ZlciBhIDIyNCBiaXQgcHJpbWUgZmll bGQifSwKLSAgICAge05JRF9icmFpbnBvb2xQMjU2cjEsICZfRUNfYnJhaW5wb29sUDI1NnIxLmgs IDAsCi0gICAgICAiUkZDIDU2MzkgY3VydmUgb3ZlciBhIDI1NiBiaXQgcHJpbWUgZmllbGQifSwK LSAgICAge05JRF9icmFpbnBvb2xQMjU2dDEsICZfRUNfYnJhaW5wb29sUDI1NnQxLmgsIDAsCist ICAgIHsgTklEX2JyYWlucG9vbFAxNjByMSwgJl9FQ19icmFpbnBvb2xQMTYwcjEuaCwgMCwKKy0g ICAgICAgICJSRkMgNTYzOSBjdXJ2ZSBvdmVyIGEgMTYwIGJpdCBwcmltZSBmaWVsZCIgfSwKKy0g ICAgeyBOSURfYnJhaW5wb29sUDE2MHQxLCAmX0VDX2JyYWlucG9vbFAxNjB0MS5oLCAwLAorLSAg ICAgICAgIlJGQyA1NjM5IGN1cnZlIG92ZXIgYSAxNjAgYml0IHByaW1lIGZpZWxkIiB9LAorLSAg ICB7IE5JRF9icmFpbnBvb2xQMTkycjEsICZfRUNfYnJhaW5wb29sUDE5MnIxLmgsIDAsCistICAg ICAgICAiUkZDIDU2MzkgY3VydmUgb3ZlciBhIDE5MiBiaXQgcHJpbWUgZmllbGQiIH0sCistICAg IHsgTklEX2JyYWlucG9vbFAxOTJ0MSwgJl9FQ19icmFpbnBvb2xQMTkydDEuaCwgMCwKKy0gICAg ICAgICJSRkMgNTYzOSBjdXJ2ZSBvdmVyIGEgMTkyIGJpdCBwcmltZSBmaWVsZCIgfSwKKy0gICAg eyBOSURfYnJhaW5wb29sUDIyNHIxLCAmX0VDX2JyYWlucG9vbFAyMjRyMS5oLCAwLAorLSAgICAg ICAgIlJGQyA1NjM5IGN1cnZlIG92ZXIgYSAyMjQgYml0IHByaW1lIGZpZWxkIiB9LAorLSAgICB7 IE5JRF9icmFpbnBvb2xQMjI0dDEsICZfRUNfYnJhaW5wb29sUDIyNHQxLmgsIDAsCistICAgICAg ICAiUkZDIDU2MzkgY3VydmUgb3ZlciBhIDIyNCBiaXQgcHJpbWUgZmllbGQiIH0sCisgICAgIHsg TklEX2JyYWlucG9vbFAyNTZyMSwgJl9FQ19icmFpbnBvb2xQMjU2cjEuaCwgMCwKKyAgICAgICAg ICJSRkMgNTYzOSBjdXJ2ZSBvdmVyIGEgMjU2IGJpdCBwcmltZSBmaWVsZCIgfSwKKyAgICAgeyBO SURfYnJhaW5wb29sUDI1NnQxLCAmX0VDX2JyYWlucG9vbFAyNTZ0MS5oLCAwLAogZGlmZiAtLWdp dCBhL2NyeXB0by9ldnAvZWNfc3VwcG9ydC5jIGIvY3J5cHRvL2V2cC9lY19zdXBwb3J0LmMKLWlu ZGV4IDFlYzEwMTQzZDIuLjgyYjk1Mjk0YjQgMTAwNjQ0CitpbmRleCAyMDg4M2M0OGYxLi45NzE1 YzYyODBkIDEwMDY0NAogLS0tIGEvY3J5cHRvL2V2cC9lY19zdXBwb3J0LmMKICsrKyBiL2NyeXB0 by9ldnAvZWNfc3VwcG9ydC5jCiBAQCAtMjAsODkgKzIwLDE1IEBAIHR5cGVkZWYgc3RydWN0IGVj X25hbWUybmlkX3N0IHsKICBzdGF0aWMgY29uc3QgRUNfTkFNRTJOSUQgY3VydmVfbGlzdFtdID0g ewogICAgICAvKiBwcmltZSBmaWVsZCBjdXJ2ZXMgKi8KICAgICAgLyogc2VjZyBjdXJ2ZXMgKi8K LS0gICAgeyJzZWNwMTEycjEiLCBOSURfc2VjcDExMnIxIH0sCi0tICAgIHsic2VjcDExMnIyIiwg TklEX3NlY3AxMTJyMiB9LAotLSAgICB7InNlY3AxMjhyMSIsIE5JRF9zZWNwMTI4cjEgfSwKLS0g ICAgeyJzZWNwMTI4cjIiLCBOSURfc2VjcDEyOHIyIH0sCi0tICAgIHsic2VjcDE2MGsxIiwgTklE X3NlY3AxNjBrMSB9LAotLSAgICB7InNlY3AxNjByMSIsIE5JRF9zZWNwMTYwcjEgfSwKLS0gICAg eyJzZWNwMTYwcjIiLCBOSURfc2VjcDE2MHIyIH0sCi0tICAgIHsic2VjcDE5MmsxIiwgTklEX3Nl Y3AxOTJrMSB9LAotLSAgICB7InNlY3AyMjRrMSIsIE5JRF9zZWNwMjI0azEgfSwKLSAgICAgeyJz ZWNwMjI0cjEiLCBOSURfc2VjcDIyNHIxIH0sCi0gICAgIHsic2VjcDI1NmsxIiwgTklEX3NlY3Ay NTZrMSB9LAotICAgICB7InNlY3AzODRyMSIsIE5JRF9zZWNwMzg0cjEgfSwKLSAgICAgeyJzZWNw NTIxcjEiLCBOSURfc2VjcDUyMXIxIH0sCistICAgIHsgInNlY3AxMTJyMSIsIE5JRF9zZWNwMTEy cjEgfSwKKy0gICAgeyAic2VjcDExMnIyIiwgTklEX3NlY3AxMTJyMiB9LAorLSAgICB7ICJzZWNw MTI4cjEiLCBOSURfc2VjcDEyOHIxIH0sCistICAgIHsgInNlY3AxMjhyMiIsIE5JRF9zZWNwMTI4 cjIgfSwKKy0gICAgeyAic2VjcDE2MGsxIiwgTklEX3NlY3AxNjBrMSB9LAorLSAgICB7ICJzZWNw MTYwcjEiLCBOSURfc2VjcDE2MHIxIH0sCistICAgIHsgInNlY3AxNjByMiIsIE5JRF9zZWNwMTYw cjIgfSwKKy0gICAgeyAic2VjcDE5MmsxIiwgTklEX3NlY3AxOTJrMSB9LAorLSAgICB7ICJzZWNw MjI0azEiLCBOSURfc2VjcDIyNGsxIH0sCisgICAgIHsgInNlY3AyMjRyMSIsIE5JRF9zZWNwMjI0 cjEgfSwKKyAgICAgeyAic2VjcDI1NmsxIiwgTklEX3NlY3AyNTZrMSB9LAorICAgICB7ICJzZWNw Mzg0cjEiLCBOSURfc2VjcDM4NHIxIH0sCisgICAgIHsgInNlY3A1MjFyMSIsIE5JRF9zZWNwNTIx cjEgfSwKICAgICAgLyogWDkuNjIgY3VydmVzICovCi0tICAgIHsicHJpbWUxOTJ2MSIsIE5JRF9Y OV82Ml9wcmltZTE5MnYxIH0sCi0tICAgIHsicHJpbWUxOTJ2MiIsIE5JRF9YOV82Ml9wcmltZTE5 MnYyIH0sCi0tICAgIHsicHJpbWUxOTJ2MyIsIE5JRF9YOV82Ml9wcmltZTE5MnYzIH0sCi0tICAg IHsicHJpbWUyMzl2MSIsIE5JRF9YOV82Ml9wcmltZTIzOXYxIH0sCi0tICAgIHsicHJpbWUyMzl2 MiIsIE5JRF9YOV82Ml9wcmltZTIzOXYyIH0sCi0tICAgIHsicHJpbWUyMzl2MyIsIE5JRF9YOV82 Ml9wcmltZTIzOXYzIH0sCi0gICAgIHsicHJpbWUyNTZ2MSIsIE5JRF9YOV82Ml9wcmltZTI1NnYx IH0sCistICAgIHsgInByaW1lMTkydjEiLCBOSURfWDlfNjJfcHJpbWUxOTJ2MSB9LAorLSAgICB7 ICJwcmltZTE5MnYyIiwgTklEX1g5XzYyX3ByaW1lMTkydjIgfSwKKy0gICAgeyAicHJpbWUxOTJ2 MyIsIE5JRF9YOV82Ml9wcmltZTE5MnYzIH0sCistICAgIHsgInByaW1lMjM5djEiLCBOSURfWDlf NjJfcHJpbWUyMzl2MSB9LAorLSAgICB7ICJwcmltZTIzOXYyIiwgTklEX1g5XzYyX3ByaW1lMjM5 djIgfSwKKy0gICAgeyAicHJpbWUyMzl2MyIsIE5JRF9YOV82Ml9wcmltZTIzOXYzIH0sCisgICAg IHsgInByaW1lMjU2djEiLCBOSURfWDlfNjJfcHJpbWUyNTZ2MSB9LAogICAgICAvKiBjaGFyYWN0 ZXJpc3RpYyB0d28gZmllbGQgY3VydmVzICovCiAgICAgIC8qIE5JU1QvU0VDRyBjdXJ2ZXMgKi8K LS0gICAgeyJzZWN0MTEzcjEiLCBOSURfc2VjdDExM3IxIH0sCi0tICAgIHsic2VjdDExM3IyIiwg TklEX3NlY3QxMTNyMiB9LAotLSAgICB7InNlY3QxMzFyMSIsIE5JRF9zZWN0MTMxcjEgfSwKLS0g ICAgeyJzZWN0MTMxcjIiLCBOSURfc2VjdDEzMXIyIH0sCi0tICAgIHsic2VjdDE2M2sxIiwgTklE X3NlY3QxNjNrMSB9LAotLSAgICB7InNlY3QxNjNyMSIsIE5JRF9zZWN0MTYzcjEgfSwKLS0gICAg eyJzZWN0MTYzcjIiLCBOSURfc2VjdDE2M3IyIH0sCi0tICAgIHsic2VjdDE5M3IxIiwgTklEX3Nl Y3QxOTNyMSB9LAotLSAgICB7InNlY3QxOTNyMiIsIE5JRF9zZWN0MTkzcjIgfSwKLS0gICAgeyJz ZWN0MjMzazEiLCBOSURfc2VjdDIzM2sxIH0sCi0tICAgIHsic2VjdDIzM3IxIiwgTklEX3NlY3Qy MzNyMSB9LAotLSAgICB7InNlY3QyMzlrMSIsIE5JRF9zZWN0MjM5azEgfSwKLS0gICAgeyJzZWN0 MjgzazEiLCBOSURfc2VjdDI4M2sxIH0sCi0tICAgIHsic2VjdDI4M3IxIiwgTklEX3NlY3QyODNy MSB9LAotLSAgICB7InNlY3Q0MDlrMSIsIE5JRF9zZWN0NDA5azEgfSwKLS0gICAgeyJzZWN0NDA5 cjEiLCBOSURfc2VjdDQwOXIxIH0sCi0tICAgIHsic2VjdDU3MWsxIiwgTklEX3NlY3Q1NzFrMSB9 LAotLSAgICB7InNlY3Q1NzFyMSIsIE5JRF9zZWN0NTcxcjEgfSwKKy0gICAgeyAic2VjdDExM3Ix IiwgTklEX3NlY3QxMTNyMSB9LAorLSAgICB7ICJzZWN0MTEzcjIiLCBOSURfc2VjdDExM3IyIH0s CistICAgIHsgInNlY3QxMzFyMSIsIE5JRF9zZWN0MTMxcjEgfSwKKy0gICAgeyAic2VjdDEzMXIy IiwgTklEX3NlY3QxMzFyMiB9LAorLSAgICB7ICJzZWN0MTYzazEiLCBOSURfc2VjdDE2M2sxIH0s CistICAgIHsgInNlY3QxNjNyMSIsIE5JRF9zZWN0MTYzcjEgfSwKKy0gICAgeyAic2VjdDE2M3Iy IiwgTklEX3NlY3QxNjNyMiB9LAorLSAgICB7ICJzZWN0MTkzcjEiLCBOSURfc2VjdDE5M3IxIH0s CistICAgIHsgInNlY3QxOTNyMiIsIE5JRF9zZWN0MTkzcjIgfSwKKy0gICAgeyAic2VjdDIzM2sx IiwgTklEX3NlY3QyMzNrMSB9LAorLSAgICB7ICJzZWN0MjMzcjEiLCBOSURfc2VjdDIzM3IxIH0s CistICAgIHsgInNlY3QyMzlrMSIsIE5JRF9zZWN0MjM5azEgfSwKKy0gICAgeyAic2VjdDI4M2sx IiwgTklEX3NlY3QyODNrMSB9LAorLSAgICB7ICJzZWN0MjgzcjEiLCBOSURfc2VjdDI4M3IxIH0s CistICAgIHsgInNlY3Q0MDlrMSIsIE5JRF9zZWN0NDA5azEgfSwKKy0gICAgeyAic2VjdDQwOXIx IiwgTklEX3NlY3Q0MDlyMSB9LAorLSAgICB7ICJzZWN0NTcxazEiLCBOSURfc2VjdDU3MWsxIH0s CistICAgIHsgInNlY3Q1NzFyMSIsIE5JRF9zZWN0NTcxcjEgfSwKIC0gICAgLyogWDkuNjIgY3Vy dmVzICovCi0tICAgIHsiYzJwbmIxNjN2MSIsIE5JRF9YOV82Ml9jMnBuYjE2M3YxIH0sCi0tICAg IHsiYzJwbmIxNjN2MiIsIE5JRF9YOV82Ml9jMnBuYjE2M3YyIH0sCi0tICAgIHsiYzJwbmIxNjN2 MyIsIE5JRF9YOV82Ml9jMnBuYjE2M3YzIH0sCi0tICAgIHsiYzJwbmIxNzZ2MSIsIE5JRF9YOV82 Ml9jMnBuYjE3NnYxIH0sCi0tICAgIHsiYzJ0bmIxOTF2MSIsIE5JRF9YOV82Ml9jMnRuYjE5MXYx IH0sCi0tICAgIHsiYzJ0bmIxOTF2MiIsIE5JRF9YOV82Ml9jMnRuYjE5MXYyIH0sCi0tICAgIHsi YzJ0bmIxOTF2MyIsIE5JRF9YOV82Ml9jMnRuYjE5MXYzIH0sCi0tICAgIHsiYzJwbmIyMDh3MSIs IE5JRF9YOV82Ml9jMnBuYjIwOHcxIH0sCi0tICAgIHsiYzJ0bmIyMzl2MSIsIE5JRF9YOV82Ml9j MnRuYjIzOXYxIH0sCi0tICAgIHsiYzJ0bmIyMzl2MiIsIE5JRF9YOV82Ml9jMnRuYjIzOXYyIH0s Ci0tICAgIHsiYzJ0bmIyMzl2MyIsIE5JRF9YOV82Ml9jMnRuYjIzOXYzIH0sCi0tICAgIHsiYzJw bmIyNzJ3MSIsIE5JRF9YOV82Ml9jMnBuYjI3MncxIH0sCi0tICAgIHsiYzJwbmIzMDR3MSIsIE5J RF9YOV82Ml9jMnBuYjMwNHcxIH0sCi0tICAgIHsiYzJ0bmIzNTl2MSIsIE5JRF9YOV82Ml9jMnRu YjM1OXYxIH0sCi0tICAgIHsiYzJwbmIzNjh3MSIsIE5JRF9YOV82Ml9jMnBuYjM2OHcxIH0sCi0t ICAgIHsiYzJ0bmI0MzFyMSIsIE5JRF9YOV82Ml9jMnRuYjQzMXIxIH0sCistICAgIHsgImMycG5i MTYzdjEiLCBOSURfWDlfNjJfYzJwbmIxNjN2MSB9LAorLSAgICB7ICJjMnBuYjE2M3YyIiwgTklE X1g5XzYyX2MycG5iMTYzdjIgfSwKKy0gICAgeyAiYzJwbmIxNjN2MyIsIE5JRF9YOV82Ml9jMnBu YjE2M3YzIH0sCistICAgIHsgImMycG5iMTc2djEiLCBOSURfWDlfNjJfYzJwbmIxNzZ2MSB9LAor LSAgICB7ICJjMnRuYjE5MXYxIiwgTklEX1g5XzYyX2MydG5iMTkxdjEgfSwKKy0gICAgeyAiYzJ0 bmIxOTF2MiIsIE5JRF9YOV82Ml9jMnRuYjE5MXYyIH0sCistICAgIHsgImMydG5iMTkxdjMiLCBO SURfWDlfNjJfYzJ0bmIxOTF2MyB9LAorLSAgICB7ICJjMnBuYjIwOHcxIiwgTklEX1g5XzYyX2My cG5iMjA4dzEgfSwKKy0gICAgeyAiYzJ0bmIyMzl2MSIsIE5JRF9YOV82Ml9jMnRuYjIzOXYxIH0s CistICAgIHsgImMydG5iMjM5djIiLCBOSURfWDlfNjJfYzJ0bmIyMzl2MiB9LAorLSAgICB7ICJj MnRuYjIzOXYzIiwgTklEX1g5XzYyX2MydG5iMjM5djMgfSwKKy0gICAgeyAiYzJwbmIyNzJ3MSIs IE5JRF9YOV82Ml9jMnBuYjI3MncxIH0sCistICAgIHsgImMycG5iMzA0dzEiLCBOSURfWDlfNjJf YzJwbmIzMDR3MSB9LAorLSAgICB7ICJjMnRuYjM1OXYxIiwgTklEX1g5XzYyX2MydG5iMzU5djEg fSwKKy0gICAgeyAiYzJwbmIzNjh3MSIsIE5JRF9YOV82Ml9jMnBuYjM2OHcxIH0sCistICAgIHsg ImMydG5iNDMxcjEiLCBOSURfWDlfNjJfYzJ0bmI0MzFyMSB9LAogLSAgICAvKgogLSAgICAgKiB0 aGUgV0FQL1dUTFMgY3VydmVzIFt1bmxpa2UgU0VDRywgc3BlYyBoYXMgaXRzIG93biBPSURzIGZv ciBjdXJ2ZXMKIC0gICAgICogZnJvbSBYOS42Ml0KIC0gICAgICovCi0tICAgIHsid2FwLXdzZy1p ZG0tZWNpZC13dGxzMSIsIE5JRF93YXBfd3NnX2lkbV9lY2lkX3d0bHMxIH0sCi0tICAgIHsid2Fw LXdzZy1pZG0tZWNpZC13dGxzMyIsIE5JRF93YXBfd3NnX2lkbV9lY2lkX3d0bHMzIH0sCi0tICAg IHsid2FwLXdzZy1pZG0tZWNpZC13dGxzNCIsIE5JRF93YXBfd3NnX2lkbV9lY2lkX3d0bHM0IH0s Ci0tICAgIHsid2FwLXdzZy1pZG0tZWNpZC13dGxzNSIsIE5JRF93YXBfd3NnX2lkbV9lY2lkX3d0 bHM1IH0sCi0tICAgIHsid2FwLXdzZy1pZG0tZWNpZC13dGxzNiIsIE5JRF93YXBfd3NnX2lkbV9l Y2lkX3d0bHM2IH0sCi0tICAgIHsid2FwLXdzZy1pZG0tZWNpZC13dGxzNyIsIE5JRF93YXBfd3Nn X2lkbV9lY2lkX3d0bHM3IH0sCi0tICAgIHsid2FwLXdzZy1pZG0tZWNpZC13dGxzOCIsIE5JRF93 YXBfd3NnX2lkbV9lY2lkX3d0bHM4IH0sCi0tICAgIHsid2FwLXdzZy1pZG0tZWNpZC13dGxzOSIs IE5JRF93YXBfd3NnX2lkbV9lY2lkX3d0bHM5IH0sCi0tICAgIHsid2FwLXdzZy1pZG0tZWNpZC13 dGxzMTAiLCBOSURfd2FwX3dzZ19pZG1fZWNpZF93dGxzMTAgfSwKLS0gICAgeyJ3YXAtd3NnLWlk bS1lY2lkLXd0bHMxMSIsIE5JRF93YXBfd3NnX2lkbV9lY2lkX3d0bHMxMSB9LAotLSAgICB7Indh cC13c2ctaWRtLWVjaWQtd3RsczEyIiwgTklEX3dhcF93c2dfaWRtX2VjaWRfd3RsczEyIH0sCist ICAgIHsgIndhcC13c2ctaWRtLWVjaWQtd3RsczEiLCBOSURfd2FwX3dzZ19pZG1fZWNpZF93dGxz MSB9LAorLSAgICB7ICJ3YXAtd3NnLWlkbS1lY2lkLXd0bHMzIiwgTklEX3dhcF93c2dfaWRtX2Vj aWRfd3RsczMgfSwKKy0gICAgeyAid2FwLXdzZy1pZG0tZWNpZC13dGxzNCIsIE5JRF93YXBfd3Nn X2lkbV9lY2lkX3d0bHM0IH0sCistICAgIHsgIndhcC13c2ctaWRtLWVjaWQtd3RsczUiLCBOSURf d2FwX3dzZ19pZG1fZWNpZF93dGxzNSB9LAorLSAgICB7ICJ3YXAtd3NnLWlkbS1lY2lkLXd0bHM2 IiwgTklEX3dhcF93c2dfaWRtX2VjaWRfd3RsczYgfSwKKy0gICAgeyAid2FwLXdzZy1pZG0tZWNp ZC13dGxzNyIsIE5JRF93YXBfd3NnX2lkbV9lY2lkX3d0bHM3IH0sCistICAgIHsgIndhcC13c2ct aWRtLWVjaWQtd3RsczgiLCBOSURfd2FwX3dzZ19pZG1fZWNpZF93dGxzOCB9LAorLSAgICB7ICJ3 YXAtd3NnLWlkbS1lY2lkLXd0bHM5IiwgTklEX3dhcF93c2dfaWRtX2VjaWRfd3RsczkgfSwKKy0g ICAgeyAid2FwLXdzZy1pZG0tZWNpZC13dGxzMTAiLCBOSURfd2FwX3dzZ19pZG1fZWNpZF93dGxz MTAgfSwKKy0gICAgeyAid2FwLXdzZy1pZG0tZWNpZC13dGxzMTEiLCBOSURfd2FwX3dzZ19pZG1f ZWNpZF93dGxzMTEgfSwKKy0gICAgeyAid2FwLXdzZy1pZG0tZWNpZC13dGxzMTIiLCBOSURfd2Fw X3dzZ19pZG1fZWNpZF93dGxzMTIgfSwKIC0gICAgLyogSVBTZWMgY3VydmVzICovCi0tICAgIHsi T2FrbGV5LUVDMk4tMyIsIE5JRF9pcHNlYzMgfSwKLS0gICAgeyJPYWtsZXktRUMyTi00IiwgTklE X2lwc2VjNCB9LAorLSAgICB7ICJPYWtsZXktRUMyTi0zIiwgTklEX2lwc2VjMyB9LAorLSAgICB7 ICJPYWtsZXktRUMyTi00IiwgTklEX2lwc2VjNCB9LAogICAgICAvKiBicmFpbnBvb2wgY3VydmVz ICovCi0tICAgIHsiYnJhaW5wb29sUDE2MHIxIiwgTklEX2JyYWlucG9vbFAxNjByMSB9LAotLSAg ICB7ImJyYWlucG9vbFAxNjB0MSIsIE5JRF9icmFpbnBvb2xQMTYwdDEgfSwKLS0gICAgeyJicmFp bnBvb2xQMTkycjEiLCBOSURfYnJhaW5wb29sUDE5MnIxIH0sCi0tICAgIHsiYnJhaW5wb29sUDE5 MnQxIiwgTklEX2JyYWlucG9vbFAxOTJ0MSB9LAotLSAgICB7ImJyYWlucG9vbFAyMjRyMSIsIE5J RF9icmFpbnBvb2xQMjI0cjEgfSwKLS0gICAgeyJicmFpbnBvb2xQMjI0dDEiLCBOSURfYnJhaW5w b29sUDIyNHQxIH0sCi0gICAgIHsiYnJhaW5wb29sUDI1NnIxIiwgTklEX2JyYWlucG9vbFAyNTZy MSB9LAotICAgICB7ImJyYWlucG9vbFAyNTZ0MSIsIE5JRF9icmFpbnBvb2xQMjU2dDEgfSwKLSAg ICAgeyJicmFpbnBvb2xQMzIwcjEiLCBOSURfYnJhaW5wb29sUDMyMHIxIH0sCistICAgIHsgImJy YWlucG9vbFAxNjByMSIsIE5JRF9icmFpbnBvb2xQMTYwcjEgfSwKKy0gICAgeyAiYnJhaW5wb29s UDE2MHQxIiwgTklEX2JyYWlucG9vbFAxNjB0MSB9LAorLSAgICB7ICJicmFpbnBvb2xQMTkycjEi LCBOSURfYnJhaW5wb29sUDE5MnIxIH0sCistICAgIHsgImJyYWlucG9vbFAxOTJ0MSIsIE5JRF9i cmFpbnBvb2xQMTkydDEgfSwKKy0gICAgeyAiYnJhaW5wb29sUDIyNHIxIiwgTklEX2JyYWlucG9v bFAyMjRyMSB9LAorLSAgICB7ICJicmFpbnBvb2xQMjI0dDEiLCBOSURfYnJhaW5wb29sUDIyNHQx IH0sCisgICAgIHsgImJyYWlucG9vbFAyNTZyMSIsIE5JRF9icmFpbnBvb2xQMjU2cjEgfSwKKyAg ICAgeyAiYnJhaW5wb29sUDI1NnQxIiwgTklEX2JyYWlucG9vbFAyNTZ0MSB9LAorICAgICB7ICJi cmFpbnBvb2xQMzIwcjEiLCBOSURfYnJhaW5wb29sUDMyMHIxIH0sCiBAQCAtMTExLDggKzM3LDYg QEAgc3RhdGljIGNvbnN0IEVDX05BTUUyTklEIGN1cnZlX2xpc3RbXSA9IHsKLSAgICAgeyJicmFp bnBvb2xQMzg0dDEiLCBOSURfYnJhaW5wb29sUDM4NHQxIH0sCi0gICAgIHsiYnJhaW5wb29sUDUx MnIxIiwgTklEX2JyYWlucG9vbFA1MTJyMSB9LAotICAgICB7ImJyYWlucG9vbFA1MTJ0MSIsIE5J RF9icmFpbnBvb2xQNTEydDEgfSwKKyAgICAgeyAiYnJhaW5wb29sUDM4NHQxIiwgTklEX2JyYWlu cG9vbFAzODR0MSB9LAorICAgICB7ICJicmFpbnBvb2xQNTEycjEiLCBOSURfYnJhaW5wb29sUDUx MnIxIH0sCisgICAgIHsgImJyYWlucG9vbFA1MTJ0MSIsIE5JRF9icmFpbnBvb2xQNTEydDEgfSwK IC0gICAgLyogU00yIGN1cnZlICovCi0tICAgIHsiU00yIiwgTklEX3NtMiB9LAorLSAgICB7ICJT TTIiLCBOSURfc20yIH0sCiAgfTsKICAKICBjb25zdCBjaGFyICpPU1NMX0VDX2N1cnZlX25pZDJu YW1lKGludCBuaWQpCkBAIC0xMDk4LDIwICsxMDE3LDIwIEBAIGluZGV4IDFlYzEwMTQzZDIuLjgy Yjk1Mjk0YjQgMTAwNjQ0CiAgLyogRnVuY3Rpb25zIHRvIHRyYW5zbGF0ZSBiZXR3ZWVuIGNvbW1v biBOSVNUIGN1cnZlIG5hbWVzIGFuZCBOSURzICovCiAgCiAgc3RhdGljIGNvbnN0IEVDX05BTUUy TklEIG5pc3RfY3VydmVzW10gPSB7Ci0tICAgIHsiQi0xNjMiLCBOSURfc2VjdDE2M3IyfSwKLS0g ICAgeyJCLTIzMyIsIE5JRF9zZWN0MjMzcjF9LAotLSAgICB7IkItMjgzIiwgTklEX3NlY3QyODNy MX0sCi0tICAgIHsiQi00MDkiLCBOSURfc2VjdDQwOXIxfSwKLS0gICAgeyJCLTU3MSIsIE5JRF9z ZWN0NTcxcjF9LAotLSAgICB7IkstMTYzIiwgTklEX3NlY3QxNjNrMX0sCi0tICAgIHsiSy0yMzMi LCBOSURfc2VjdDIzM2sxfSwKLS0gICAgeyJLLTI4MyIsIE5JRF9zZWN0MjgzazF9LAotLSAgICB7 IkstNDA5IiwgTklEX3NlY3Q0MDlrMX0sCi0tICAgIHsiSy01NzEiLCBOSURfc2VjdDU3MWsxfSwK LS0gICAgeyJQLTE5MiIsIE5JRF9YOV82Ml9wcmltZTE5MnYxfSwKLSAgICAgeyJQLTIyNCIsIE5J RF9zZWNwMjI0cjF9LAotICAgICB7IlAtMjU2IiwgTklEX1g5XzYyX3ByaW1lMjU2djF9LAotICAg ICB7IlAtMzg0IiwgTklEX3NlY3AzODRyMX0sCistICAgIHsgIkItMTYzIiwgTklEX3NlY3QxNjNy MiB9LAorLSAgICB7ICJCLTIzMyIsIE5JRF9zZWN0MjMzcjEgfSwKKy0gICAgeyAiQi0yODMiLCBO SURfc2VjdDI4M3IxIH0sCistICAgIHsgIkItNDA5IiwgTklEX3NlY3Q0MDlyMSB9LAorLSAgICB7 ICJCLTU3MSIsIE5JRF9zZWN0NTcxcjEgfSwKKy0gICAgeyAiSy0xNjMiLCBOSURfc2VjdDE2M2sx IH0sCistICAgIHsgIkstMjMzIiwgTklEX3NlY3QyMzNrMSB9LAorLSAgICB7ICJLLTI4MyIsIE5J RF9zZWN0MjgzazEgfSwKKy0gICAgeyAiSy00MDkiLCBOSURfc2VjdDQwOWsxIH0sCistICAgIHsg IkstNTcxIiwgTklEX3NlY3Q1NzFrMSB9LAorLSAgICB7ICJQLTE5MiIsIE5JRF9YOV82Ml9wcmlt ZTE5MnYxIH0sCisgICAgIHsgIlAtMjI0IiwgTklEX3NlY3AyMjRyMSB9LAorICAgICB7ICJQLTI1 NiIsIE5JRF9YOV82Ml9wcmltZTI1NnYxIH0sCisgICAgIHsgIlAtMzg0IiwgTklEX3NlY3AzODRy MSB9LAogZGlmZiAtLWdpdCBhL3Rlc3QvYWN2cF90ZXN0LmluYyBiL3Rlc3QvYWN2cF90ZXN0Lmlu YwogaW5kZXggNjc3ODdmMzc0MC4uOTdlYzFmZjNlNSAxMDA2NDQKIC0tLSBhL3Rlc3QvYWN2cF90 ZXN0LmluYwpAQCAtMTEzMyw3ICsxMDUyLDcgQEAgaW5kZXggNjc3ODdmMzc0MC4uOTdlYzFmZjNl NSAxMDA2NDQKICAgICAgICAgICJTSEEyLTUxMiIsCiAgICAgICAgICAiUC01MjEiLAogZGlmZiAt LWdpdCBhL3Rlc3QvZWNkc2F0ZXN0LmggYi90ZXN0L2VjZHNhdGVzdC5oCi1pbmRleCA2M2ZlMzE5 MDI1Li4wNmI1YzBhYWM1IDEwMDY0NAoraW5kZXggNzAwZDdiNTI1My4uNmFhNGZhYTQ2MSAxMDA2 NDQKIC0tLSBhL3Rlc3QvZWNkc2F0ZXN0LmgKICsrKyBiL3Rlc3QvZWNkc2F0ZXN0LmgKIEBAIC0z MiwyMyArMzIsNiBAQCB0eXBlZGVmIHN0cnVjdCB7CkBAIC0xMTQxLDMwICsxMDYwLDMwIEBAIGlu ZGV4IDYzZmUzMTkwMjUuLjA2YjVjMGFhYzUgMTAwNjQ0CiAgCiAgc3RhdGljIGNvbnN0IGVjZHNh X2NhdnNfa2F0X3QgZWNkc2FfY2F2c19rYXRzW10gPSB7CiAtICAgIC8qIHByaW1lIEtBVHMgZnJv bSBYOS42MiAqLwotLSAgICB7TklEX1g5XzYyX3ByaW1lMTkydjEsIE5JRF9zaGExLAotLSAgICAg IjYxNjI2MyIsICAgICAgICAgICAgICAgICAgLyogImFiYyIgKi8KLS0gICAgICIxYThkNTk4ZmMx NWJmMGZkODkwMzBiNWNiMTExMWFlYjkyYWU4YmFmNWVhNDc1ZmIiLAotLSAgICAgIjA0NjJiMTJk NjA2OTBjZGNmMzMwYmFiYWI2ZTY5NzYzYjQ3MWY5OTRkZDcwMmQxNmE1NjNiZjVlYzA4MDY5NzA1 ZmZmZjY1ZSIKLS0gICAgICI1Y2E1YzBkNjk3MTZkZmNiMzQ3NDM3MzkwMiIsCi0tICAgICAiZmE2 ZGUyOTc0NmJiZWI3ZjhiYjFlNzYxZjg1ZjdkZmIyOTgzMTY5ZDgyZmEyZjRlIiwKLS0gICAgICI4 ODUwNTIzODBmZjE0N2I3MzRjMzMwYzQzZDM5YjJjNGE4OWYyOWIwZjc0OWZlYWQiLAotLSAgICAg ImU5ZWNjNzgxMDZkZWY4MmJmMTA3MGNmMWQ0ZDgwNGMzY2IzOTAwNDY5NTFkZjY4NiJ9LAotLSAg ICB7TklEX1g5XzYyX3ByaW1lMjM5djEsIE5JRF9zaGExLAotLSAgICAgIjYxNjI2MyIsICAgICAg ICAgICAgICAgICAgLyogImFiYyIgKi8KLS0gICAgICI3ZWY3YzZmYWJlZmZmZGVhODY0MjA2ZTgw YjBiMDhhOTMzMWVkOTNlNjk4NTYxYjY0Y2EwZjc3NzdmM2QiLAotLSAgICAgIjA0NWI2ZGM1M2Jj NjFhMjU0OGZmYjBmNjcxNDcyZGU2Yzk1MjFhOWQyZDI1MzRlNjVhYmZjYmQ1ZmUwYzcwN2ZkOWYx ZWQyZSIKLS0gICAgICI2NWYwOWY2Y2UwODkzYmFmNWU4ZTMxZTZhZTgyZWE4YzM1OTIzMzViZTkw NmQzOGRlZSIsCi0tICAgICAiNjU2YzcxOTZiZjg3ZGNjNWQxZjEwMjA5MDZkZjI3ODIzNjBkMzZi MmRlN2ExN2VjZTM3ZDUwMzc4NGFmIiwKLS0gICAgICIyY2I3ZjM2ODAzZWJiOWM0MjdjNThkODI2 NWYxMWZjNTA4NDc0NzEzMzA3OGZjMjc5ZGU4NzRmYmVjYjAiLAotLSAgICAgIjJlZWFlOTg4MTA0 ZTljMjIzNGEzYzJiZWIxZjUzYmZhNWRjMTFmZjM2YTg3NWQxZTNjY2IxZjdlNDVjZiJ9LAorLSAg ICB7IE5JRF9YOV82Ml9wcmltZTE5MnYxLCBOSURfc2hhMSwKKy0gICAgICAgICI2MTYyNjMiLCAv KiAiYWJjIiAqLworLSAgICAgICAgIjFhOGQ1OThmYzE1YmYwZmQ4OTAzMGI1Y2IxMTExYWViOTJh ZThiYWY1ZWE0NzVmYiIsCistICAgICAgICAiMDQ2MmIxMmQ2MDY5MGNkY2YzMzBiYWJhYjZlNjk3 NjNiNDcxZjk5NGRkNzAyZDE2YTU2M2JmNWVjMDgwNjk3MDVmZmZmNjVlIgorLSAgICAgICAgIjVj YTVjMGQ2OTcxNmRmY2IzNDc0MzczOTAyIiwKKy0gICAgICAgICJmYTZkZTI5NzQ2YmJlYjdmOGJi MWU3NjFmODVmN2RmYjI5ODMxNjlkODJmYTJmNGUiLAorLSAgICAgICAgIjg4NTA1MjM4MGZmMTQ3 YjczNGMzMzBjNDNkMzliMmM0YTg5ZjI5YjBmNzQ5ZmVhZCIsCistICAgICAgICAiZTllY2M3ODEw NmRlZjgyYmYxMDcwY2YxZDRkODA0YzNjYjM5MDA0Njk1MWRmNjg2IiB9LAorLSAgICB7IE5JRF9Y OV82Ml9wcmltZTIzOXYxLCBOSURfc2hhMSwKKy0gICAgICAgICI2MTYyNjMiLCAvKiAiYWJjIiAq LworLSAgICAgICAgIjdlZjdjNmZhYmVmZmZkZWE4NjQyMDZlODBiMGIwOGE5MzMxZWQ5M2U2OTg1 NjFiNjRjYTBmNzc3N2YzZCIsCistICAgICAgICAiMDQ1YjZkYzUzYmM2MWEyNTQ4ZmZiMGY2NzE0 NzJkZTZjOTUyMWE5ZDJkMjUzNGU2NWFiZmNiZDVmZTBjNzA3ZmQ5ZjFlZDJlIgorLSAgICAgICAg IjY1ZjA5ZjZjZTA4OTNiYWY1ZThlMzFlNmFlODJlYThjMzU5MjMzNWJlOTA2ZDM4ZGVlIiwKKy0g ICAgICAgICI2NTZjNzE5NmJmODdkY2M1ZDFmMTAyMDkwNmRmMjc4MjM2MGQzNmIyZGU3YTE3ZWNl MzdkNTAzNzg0YWYiLAorLSAgICAgICAgIjJjYjdmMzY4MDNlYmI5YzQyN2M1OGQ4MjY1ZjExZmM1 MDg0NzQ3MTMzMDc4ZmMyNzlkZTg3NGZiZWNiMCIsCistICAgICAgICAiMmVlYWU5ODgxMDRlOWMy MjM0YTNjMmJlYjFmNTNiZmE1ZGMxMWZmMzZhODc1ZDFlM2NjYjFmN2U0NWNmIiB9LAogICAgICAv KiBwcmltZSBLQVRzIGZyb20gTklTVCBDQVZQICovCi0gICAgIHtOSURfc2VjcDIyNHIxLCBOSURf c2hhMjI0LAotICAgICAgIjY5OTMyNWQ2ZmM4ZmJiYjQ5ODFhNmRlZDNjM2E1NGFkMmU0ZTNkYjhh NTY2OTIwMTkxMjA2NGM2NGU3MDBjMTM5MjQ4Y2RjMSIKKyAgICAgeyBOSURfc2VjcDIyNHIxLCBO SURfc2hhMjI0LAorICAgICAgICAgIjY5OTMyNWQ2ZmM4ZmJiYjQ5ODFhNmRlZDNjM2E1NGFkMmU0 ZTNkYjhhNTY2OTIwMTkxMjA2NGM2NGU3MDBjMTM5MjQ4Y2RjMSIKIGRpZmYgLS1naXQgYS90ZXN0 L2VjdGVzdC5jIGIvdGVzdC9lY3Rlc3QuYwotaW5kZXggZTFjYjU5ZDU4ZC4uYjg1MjM4MTkyNCAx MDA2NDQKK2luZGV4IDAyMzNmODcwYjYuLmYyNDNmNmZiM2MgMTAwNjQ0CiAtLS0gYS90ZXN0L2Vj dGVzdC5jCiArKysgYi90ZXN0L2VjdGVzdC5jCi1AQCAtMTc1LDE4NCArMTc1LDI2IEBAIHN0YXRp YyBpbnQgcHJpbWVfZmllbGRfdGVzdHModm9pZCkKK0BAIC0xNzQsMTgzICsxNzQsMjYgQEAgc3Rh dGljIGludCBwcmltZV9maWVsZF90ZXN0cyh2b2lkKQogICAgICAgICAgfHwgIVRFU1RfcHRyKHAg PSBCTl9uZXcoKSkKICAgICAgICAgIHx8ICFURVNUX3B0cihhID0gQk5fbmV3KCkpCiAgICAgICAg ICB8fCAhVEVTVF9wdHIoYiA9IEJOX25ldygpKQpAQCAtMTIyMiw3ICsxMTQxLDcgQEAgaW5kZXgg ZTFjYjU5ZDU4ZC4uYjg1MjM4MTkyNCAxMDA2NDQKIC0gICAgICAgICAgICBURVNUX25vdGUoIiAg ICAgcG9pbnQgYXQgaW5maW5pdHkiKTsKIC0gICAgICAgIH0gZWxzZSB7CiAtICAgICAgICAgICAg aWYgKCFURVNUX3RydWUoRUNfUE9JTlRfZ2V0X2FmZmluZV9jb29yZGluYXRlcyhncm91cCwgUCwg eCwgeSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGN0eCkpKQorLSAgICAgICAgICAgICAgICAgICAgY3R4KSkpCiAtICAgICAgICAg ICAgICAgIGdvdG8gZXJyOwogLQogLSAgICAgICAgICAgIHRlc3Rfb3V0cHV0X2JpZ251bSgieCIs IHgpOwpAQCAtMTIzOSw2NCArMTE1OCw2MyBAQCBpbmRleCBlMWNiNTlkNThkLi5iODUyMzgxOTI0 IDEwMDY0NAogLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19QT0lOVF9pc19hdF9pbmZpbml0eShn cm91cCwgUCkpKQogLSAgICAgICAgZ290byBlcnI7CiAtCi0tICAgIGxlbiA9Ci0tICAgICAgICBF Q19QT0lOVF9wb2ludDJvY3QoZ3JvdXAsIFEsIFBPSU5UX0NPTlZFUlNJT05fQ09NUFJFU1NFRCwg YnVmLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihidWYpLCBjdHgpOworLSAg ICBsZW4gPSBFQ19QT0lOVF9wb2ludDJvY3QoZ3JvdXAsIFEsIFBPSU5UX0NPTlZFUlNJT05fQ09N UFJFU1NFRCwgYnVmLAorLSAgICAgICAgc2l6ZW9mKGJ1ZiksIGN0eCk7CiAtICAgIGlmICghVEVT VF9zaXplX3RfbmUobGVuLCAwKQogLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19QT0lOVF9vY3Qy cG9pbnQoZ3JvdXAsIFAsIGJ1ZiwgbGVuLCBjdHgpKQogLSAgICAgICAgfHwgIVRFU1RfaW50X2Vx KDAsIEVDX1BPSU5UX2NtcChncm91cCwgUCwgUSwgY3R4KSkpCiAtICAgICAgICBnb3RvIGVycjsK IC0gICAgdGVzdF9vdXRwdXRfbWVtb3J5KCJHZW5lcmF0b3IgYXMgb2N0ZXQgc3RyaW5nLCBjb21w cmVzc2VkIGZvcm06IiwKLS0gICAgICAgICAgICAgICAgICAgICAgIGJ1ZiwgbGVuKTsKKy0gICAg ICAgIGJ1ZiwgbGVuKTsKIC0KIC0gICAgbGVuID0gRUNfUE9JTlRfcG9pbnQyb2N0KGdyb3VwLCBR LCBQT0lOVF9DT05WRVJTSU9OX1VOQ09NUFJFU1NFRCwKLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJ1Ziwgc2l6ZW9mKGJ1ZiksIGN0eCk7CistICAgICAgICBidWYsIHNpemVvZihidWYp LCBjdHgpOwogLSAgICBpZiAoIVRFU1Rfc2l6ZV90X25lKGxlbiwgMCkKIC0gICAgICAgIHx8ICFU RVNUX3RydWUoRUNfUE9JTlRfb2N0MnBvaW50KGdyb3VwLCBQLCBidWYsIGxlbiwgY3R4KSkKIC0g ICAgICAgIHx8ICFURVNUX2ludF9lcSgwLCBFQ19QT0lOVF9jbXAoZ3JvdXAsIFAsIFEsIGN0eCkp KQogLSAgICAgICAgZ290byBlcnI7CiAtICAgIHRlc3Rfb3V0cHV0X21lbW9yeSgiR2VuZXJhdG9y IGFzIG9jdGV0IHN0cmluZywgdW5jb21wcmVzc2VkIGZvcm06IiwKLS0gICAgICAgICAgICAgICAg ICAgICAgIGJ1ZiwgbGVuKTsKKy0gICAgICAgIGJ1ZiwgbGVuKTsKIC0KIC0gICAgbGVuID0gRUNf UE9JTlRfcG9pbnQyb2N0KGdyb3VwLCBRLCBQT0lOVF9DT05WRVJTSU9OX0hZQlJJRCwKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1Ziwgc2l6ZW9mKGJ1ZiksIGN0eCk7CistICAgICAg ICBidWYsIHNpemVvZihidWYpLCBjdHgpOwogLSAgICBpZiAoIVRFU1Rfc2l6ZV90X25lKGxlbiwg MCkKIC0gICAgICAgIHx8ICFURVNUX3RydWUoRUNfUE9JTlRfb2N0MnBvaW50KGdyb3VwLCBQLCBi dWYsIGxlbiwgY3R4KSkKIC0gICAgICAgIHx8ICFURVNUX2ludF9lcSgwLCBFQ19QT0lOVF9jbXAo Z3JvdXAsIFAsIFEsIGN0eCkpKQogLSAgICAgICAgZ290byBlcnI7CiAtICAgIHRlc3Rfb3V0cHV0 X21lbW9yeSgiR2VuZXJhdG9yIGFzIG9jdGV0IHN0cmluZywgaHlicmlkIGZvcm06IiwKLS0gICAg ICAgICAgICAgICAgICAgICAgIGJ1ZiwgbGVuKTsKKy0gICAgICAgIGJ1ZiwgbGVuKTsKIC0KIC0g ICAgaWYgKCFURVNUX3RydWUoRUNfUE9JTlRfaW52ZXJ0KGdyb3VwLCBQLCBjdHgpKQogLSAgICAg ICAgfHwgIVRFU1RfaW50X2VxKDAsIEVDX1BPSU5UX2NtcChncm91cCwgUCwgUiwgY3R4KSkKIC0K LS0gICAgLyoKLS0gICAgICogQ3VydmUgc2VjcDE2MHIxIChDZXJ0aWNvbSBSZXNlYXJjaCBTRUMg MiBWZXJzaW9uIDEuMCwgc2VjdGlvbiAyLjQuMiwKLS0gICAgICogMjAwMCkgLS0gbm90IGEgTklT VCBjdXJ2ZSwgYnV0IGNvbW1vbmx5IHVzZWQKLS0gICAgICovCistICAgICAgICAvKgorLSAgICAg ICAgICogQ3VydmUgc2VjcDE2MHIxIChDZXJ0aWNvbSBSZXNlYXJjaCBTRUMgMiBWZXJzaW9uIDEu MCwgc2VjdGlvbiAyLjQuMiwKKy0gICAgICAgICAqIDIwMDApIC0tIG5vdCBhIE5JU1QgY3VydmUs IGJ1dCBjb21tb25seSB1c2VkCistICAgICAgICAgKi8KIC0KLS0gICAgICAgIHx8ICFURVNUX3Ry dWUoQk5faGV4MmJuKCZwLCAgICAgICAgICAgICAgICAgICAgICAgICAiRkZGRkZGRkYiCistICAg ICAgICB8fCAhVEVTVF90cnVlKEJOX2hleDJibigmcCwgIkZGRkZGRkZGIgogLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkY3RkZGRkZG RiIpKQogLSAgICAgICAgfHwgIVRFU1RfaW50X2VxKDEsIEJOX2NoZWNrX3ByaW1lKHAsIGN0eCwg TlVMTCkpCi0tICAgICAgICB8fCAhVEVTVF90cnVlKEJOX2hleDJibigmYSwgICAgICAgICAgICAg ICAgICAgICAgICAgIkZGRkZGRkZGIgorLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgyYm4o JmEsICJGRkZGRkZGRiIKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRkZG RkZGRkZGRkZGRkZGRkZGRkZGRkZGN0ZGRkZGRkMiKSkKLS0gICAgICAgIHx8ICFURVNUX3RydWUo Qk5faGV4MmJuKCZiLCAgICAgICAgICAgICAgICAgICAgICAgICAiMUM5N0JFRkMiCistICAgICAg ICB8fCAhVEVTVF90cnVlKEJOX2hleDJibigmYiwgIjFDOTdCRUZDIgogLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICI1NEJEN0E4QjY1QUNGODlGODFENEQ0QURDNTY1RkE0NSIp KQogLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19HUk9VUF9zZXRfY3VydmUoZ3JvdXAsIHAsIGEs IGIsIGN0eCkpCi0tICAgICAgICB8fCAhVEVTVF90cnVlKEJOX2hleDJibigmeCwgICAgICAgICAg ICAgICAgICAgICAgICAgIjRBOTZCNTY4IgorLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgy Ym4oJngsICI0QTk2QjU2OCIKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi OEVGNTczMjg0NjY0Njk4OTY4QzM4QkI5MTNDQkZDODIiKSkKLS0gICAgICAgIHx8ICFURVNUX3Ry dWUoQk5faGV4MmJuKCZ5LCAgICAgICAgICAgICAgICAgICAgICAgICAiMjNhNjI4NTUiCistICAg ICAgICB8fCAhVEVTVF90cnVlKEJOX2hleDJibigmeSwgIjIzYTYyODU1IgogLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICIzMTY4OTQ3ZDU5ZGNjOTEyMDQyMzUxMzc3YWM1ZmIz MiIpKQogLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9hZGQoeXBsdXNvbmUsIHksIEJOX3ZhbHVl X29uZSgpKSkKLS0gICAgLyoKLS0gICAgICogV2hlbiAoeCwgeSkgaXMgb24gdGhlIGN1cnZlLCAo eCwgeSArIDEpIGlzLCBhcyBpdCBoYXBwZW5zLCBub3QsCi0tICAgICAqIGFuZCB0aGVyZWZvcmUg c2V0dGluZyB0aGUgY29vcmRpbmF0ZXMgc2hvdWxkIGZhaWwuCi0tICAgICAqLworLSAgICAgICAg LyoKKy0gICAgICAgICAqIFdoZW4gKHgsIHkpIGlzIG9uIHRoZSBjdXJ2ZSwgKHgsIHkgKyAxKSBp cywgYXMgaXQgaGFwcGVucywgbm90LAorLSAgICAgICAgICogYW5kIHRoZXJlZm9yZSBzZXR0aW5n IHRoZSBjb29yZGluYXRlcyBzaG91bGQgZmFpbC4KKy0gICAgICAgICAqLwogLSAgICAgICAgfHwg IVRFU1RfZmFsc2UoRUNfUE9JTlRfc2V0X2FmZmluZV9jb29yZGluYXRlcyhncm91cCwgUCwgeCwg eXBsdXNvbmUsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGN0eCkpCistICAgICAgICAgICAgY3R4KSkKIC0gICAgICAgIHx8ICFURVNUX3Ry dWUoRUNfUE9JTlRfc2V0X2FmZmluZV9jb29yZGluYXRlcyhncm91cCwgUCwgeCwgeSwgY3R4KSkK IC0gICAgICAgIHx8ICFURVNUX2ludF9ndChFQ19QT0lOVF9pc19vbl9jdXJ2ZShncm91cCwgUCwg Y3R4KSwgMCkKLS0gICAgICAgIHx8ICFURVNUX3RydWUoQk5faGV4MmJuKCZ6LCAgICAgICAgICAg ICAgICAgICAgICAgIjAxMDAwMDAwMDAiCistICAgICAgICB8fCAhVEVTVF90cnVlKEJOX2hleDJi bigmeiwgIjAxMDAwMDAwMDAiCiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IjAwMDAwMDAwMDAwMUY0QzhGOTI3QUVEM0NBNzUyMjU3IikpCiAtICAgICAgICB8fCAhVEVTVF90 cnVlKEVDX0dST1VQX3NldF9nZW5lcmF0b3IoZ3JvdXAsIFAsIHosIEJOX3ZhbHVlX29uZSgpKSkK IC0gICAgICAgIHx8ICFURVNUX3RydWUoRUNfUE9JTlRfZ2V0X2FmZmluZV9jb29yZGluYXRlcyhn cm91cCwgUCwgeCwgeSwgY3R4KSkpCkBAIC0xMzA1LDI3ICsxMjIzLDI3IEBAIGluZGV4IGUxY2I1 OWQ1OGQuLmI4NTIzODE5MjQgMTAwNjQ0CiAtICAgIHRlc3Rfb3V0cHV0X2JpZ251bSgieCIsIHgp OwogLSAgICB0ZXN0X291dHB1dF9iaWdudW0oInkiLCB5KTsKIC0gICAgLyogR195IHZhbHVlIHRh a2VuIGZyb20gdGhlIHN0YW5kYXJkOiAqLwotLSAgICBpZiAoIVRFU1RfdHJ1ZShCTl9oZXgyYm4o JnosICAgICAgICAgICAgICAgICAgICAgICAgICIyM2E2Mjg1NSIKKy0gICAgaWYgKCFURVNUX3Ry dWUoQk5faGV4MmJuKCZ6LCAiMjNhNjI4NTUiCiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIjMxNjg5NDdkNTlkY2M5MTIwNDIzNTEzNzdhYzVmYjMyIikpCiAtICAgICAgICB8fCAh VEVTVF9CTl9lcSh5LCB6KQogLSAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVDX0dST1VQX2dldF9k ZWdyZWUoZ3JvdXApLCAxNjApCiAtICAgICAgICB8fCAhZ3JvdXBfb3JkZXJfdGVzdHMoZ3JvdXAp CiAtCi0tICAgIC8qIEN1cnZlIFAtMTkyIChGSVBTIFBVQiAxODYtMiwgQXBwLiA2KSAqLworLSAg ICAgICAgLyogQ3VydmUgUC0xOTIgKEZJUFMgUFVCIDE4Ni0yLCBBcHAuIDYpICovCiAtCi0tICAg ICAgICB8fCAhVEVTVF90cnVlKEJOX2hleDJibigmcCwgICAgICAgICAgICAgICAgICJGRkZGRkZG RkZGRkZGRkZGIgorLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgyYm4oJnAsICJGRkZGRkZG RkZGRkZGRkZGIgogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGRkZGRkZG RkZGRkZGRkZFRkZGRkZGRkZGRkZGRkZGRiIpKQogLSAgICAgICAgfHwgIVRFU1RfaW50X2VxKDEs IEJOX2NoZWNrX3ByaW1lKHAsIGN0eCwgTlVMTCkpCi0tICAgICAgICB8fCAhVEVTVF90cnVlKEJO X2hleDJibigmYSwgICAgICAgICAgICAgICAgICJGRkZGRkZGRkZGRkZGRkZGIgorLSAgICAgICAg fHwgIVRFU1RfdHJ1ZShCTl9oZXgyYm4oJmEsICJGRkZGRkZGRkZGRkZGRkZGIgogLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGRkZGRkZGRkZGRkZGRkZFRkZGRkZGRkZGRkZG RkZGQyIpKQotLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgyYm4oJmIsICAgICAgICAgICAg ICAgICAiNjQyMTA1MTlFNTlDODBFNyIKKy0gICAgICAgIHx8ICFURVNUX3RydWUoQk5faGV4MmJu KCZiLCAiNjQyMTA1MTlFNTlDODBFNyIKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiMEZBN0U5QUI3MjI0MzA0OUZFQjhERUVDQzE0NkI5QjEiKSkKIC0gICAgICAgIHx8ICFU RVNUX3RydWUoRUNfR1JPVVBfc2V0X2N1cnZlKGdyb3VwLCBwLCBhLCBiLCBjdHgpKQotLSAgICAg ICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgyYm4oJngsICAgICAgICAgICAgICAgICAiMTg4REE4MEVC MDMwOTBGNiIKKy0gICAgICAgIHx8ICFURVNUX3RydWUoQk5faGV4MmJuKCZ4LCAiMTg4REE4MEVC MDMwOTBGNiIKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiN0NCRjIwRUI0 M0ExODgwMEY0RkYwQUZEODJGRjEwMTIiKSkKIC0gICAgICAgIHx8ICFURVNUX3RydWUoRUNfUE9J TlRfc2V0X2NvbXByZXNzZWRfY29vcmRpbmF0ZXMoZ3JvdXAsIFAsIHgsIDEsIGN0eCkpCiAtICAg ICAgICB8fCAhVEVTVF9pbnRfZ3QoRUNfUE9JTlRfaXNfb25fY3VydmUoZ3JvdXAsIFAsIGN0eCks IDApCi0tICAgICAgICB8fCAhVEVTVF90cnVlKEJOX2hleDJibigmeiwgICAgICAgICAgICAgICAg ICJGRkZGRkZGRkZGRkZGRkZGIgorLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgyYm4oJnos ICJGRkZGRkZGRkZGRkZGRkZGIgogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJGRkZGRkZGRjk5REVGODM2MTQ2QkM5QjFCNEQyMjgzMSIpKQogLSAgICAgICAgfHwgIVRFU1Rf dHJ1ZShFQ19HUk9VUF9zZXRfZ2VuZXJhdG9yKGdyb3VwLCBQLCB6LCBCTl92YWx1ZV9vbmUoKSkp CiAtICAgICAgICB8fCAhVEVTVF90cnVlKEVDX1BPSU5UX2dldF9hZmZpbmVfY29vcmRpbmF0ZXMo Z3JvdXAsIFAsIHgsIHksIGN0eCkpKQpAQCAtMTMzNiwyNyArMTI1NCwyOCBAQCBpbmRleCBlMWNi NTlkNThkLi5iODUyMzgxOTI0IDEwMDY0NAogLSAgICB0ZXN0X291dHB1dF9iaWdudW0oIngiLCB4 KTsKIC0gICAgdGVzdF9vdXRwdXRfYmlnbnVtKCJ5IiwgeSk7CiAtICAgIC8qIEdfeSB2YWx1ZSB0 YWtlbiBmcm9tIHRoZSBzdGFuZGFyZDogKi8KLS0gICAgaWYgKCFURVNUX3RydWUoQk5faGV4MmJu KCZ6LCAgICAgICAgICAgICAgICAgIjA3MTkyQjk1RkZDOERBNzgiCistICAgIGlmICghVEVTVF90 cnVlKEJOX2hleDJibigmeiwgIjA3MTkyQjk1RkZDOERBNzgiCiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIjYzMTAxMUVENkIyNENERDU3M0Y5NzdBMTFFNzk0ODExIikpCiAtICAg ICAgICB8fCAhVEVTVF9CTl9lcSh5LCB6KQogLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9hZGQo eXBsdXNvbmUsIHksIEJOX3ZhbHVlX29uZSgpKSkKLS0gICAgLyoKLS0gICAgICogV2hlbiAoeCwg eSkgaXMgb24gdGhlIGN1cnZlLCAoeCwgeSArIDEpIGlzLCBhcyBpdCBoYXBwZW5zLCBub3QsCi0t ICAgICAqIGFuZCB0aGVyZWZvcmUgc2V0dGluZyB0aGUgY29vcmRpbmF0ZXMgc2hvdWxkIGZhaWwu Ci0tICAgICAqLworLSAgICAgICAgLyoKKy0gICAgICAgICAqIFdoZW4gKHgsIHkpIGlzIG9uIHRo ZSBjdXJ2ZSwgKHgsIHkgKyAxKSBpcywgYXMgaXQgaGFwcGVucywgbm90LAorLSAgICAgICAgICog YW5kIHRoZXJlZm9yZSBzZXR0aW5nIHRoZSBjb29yZGluYXRlcyBzaG91bGQgZmFpbC4KKy0gICAg ICAgICAqLwogLSAgICAgICAgfHwgIVRFU1RfZmFsc2UoRUNfUE9JTlRfc2V0X2FmZmluZV9jb29y ZGluYXRlcyhncm91cCwgUCwgeCwgeXBsdXNvbmUsCi0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eCkpCistICAgICAgICAgICAgY3R4KSkK IC0gICAgICAgIHx8ICFURVNUX2ludF9lcShFQ19HUk9VUF9nZXRfZGVncmVlKGdyb3VwKSwgMTky KQogLSAgICAgICAgfHwgIWdyb3VwX29yZGVyX3Rlc3RzKGdyb3VwKQogLQotICAgICAvKiBDdXJ2 ZSBQLTIyNCAoRklQUyBQVUIgMTg2LTIsIEFwcC4gNikgKi8KKy0gICAgICAgIC8qIEN1cnZlIFAt MjI0IChGSVBTIFBVQiAxODYtMiwgQXBwLiA2KSAqLworKyAgICAvKiBDdXJ2ZSBQLTIyNCAoRklQ UyBQVUIgMTg2LTIsIEFwcC4gNikgKi8KICAKLS0gICAgICAgIHx8ICFURVNUX3RydWUoQk5faGV4 MmJuKCZwLCAgICAgICAgICJGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYiCi0rICAgIGlmICghVEVT VF90cnVlKEJOX2hleDJibigmcCwgICAgICAgICAiRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIgor LSAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgyYm4oJnAsICJGRkZGRkZGRkZGRkZGRkZGRkZG RkZGRkYiCisrICAgIGlmICghVEVTVF90cnVlKEJOX2hleDJibigmcCwgICAgIkZGRkZGRkZGRkZG RkZGRkZGRkZGRkZGRiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRkZG RkZGRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEiKSkKICAgICAgICAgIHx8ICFURVNUX2ludF9l cSgxLCBCTl9jaGVja19wcmltZShwLCBjdHgsIE5VTEwpKQotICAgICAgICAgfHwgIVRFU1RfdHJ1 ZShCTl9oZXgyYm4oJmEsICAgICAgICAgIkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiIKLUBAIC0z MTMwLDcgKzI5NzIsNyBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkKKyAgICAgICAgIHx8ICFURVNU X3RydWUoQk5faGV4MmJuKCZhLCAiRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIgorQEAgLTM1MjIs NyArMzM2NSw3IEBAIGludCBzZXR1cF90ZXN0cyh2b2lkKQogIAogICAgICBBRERfVEVTVChwYXJh bWV0ZXJfdGVzdCk7CiAgICAgIEFERF9URVNUKG9zc2xfcGFyYW1ldGVyX3Rlc3QpOwpAQCAtMTQy NSw1ICsxMzQ0LDUgQEAgaW5kZXggZTZhMmM5ZWI1OS4uODYxYzAxZTE3NyAxMDA2NDQKICBDdHJs ID0ga2V5LWNoZWNrOjAKICtSZXN1bHQgPSBLRVlHRU5fR0VORVJBVEVfRVJST1IKIC0tIAotMi41 MS4wCisyLjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAwMTAtUkgtRGlzYWJsZS1leHBsaWNpdC1lYy1j dXJ2ZXMucGF0Y2ggYi8wMDEwLVJILURpc2FibGUtZXhwbGljaXQtZWMtY3VydmVzLnBhdGNoCmlu ZGV4IDIxY2U0MWYuLjI5YWNmMzYgMTAwNjQ0Ci0tLSBhLzAwMTAtUkgtRGlzYWJsZS1leHBsaWNp dC1lYy1jdXJ2ZXMucGF0Y2gKKysrIGIvMDAxMC1SSC1EaXNhYmxlLWV4cGxpY2l0LWVjLWN1cnZl cy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gZmRiYmUxNWU0MzNkYTg1NTYwNzZiODRlNzYx MmNlNWY1M2YzZmE0OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTkyNWY4MjdlYmJk MjUyMzZjNzQ0OWUxNzljZmNkNzE2YWY2MDM3OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZy b206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE5OjE3OjE1 ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMTAvNTldIFJIOiBEaXNhYmxlIGV4cGxpY2l0IGVjIGN1 cnZlcworU3ViamVjdDogW1BBVENIIDEwLzU3XSBSSDogRGlzYWJsZSBleHBsaWNpdCBlYyBjdXJ2 ZXMKIAogUGF0Y2gtbmFtZTogMDAxMi1EaXNhYmxlLWV4cGxpY2l0LWVjLnBhdGNoCiBQYXRjaC1p ZDogMTIKQEAgLTEwLDE4ICsxMCwxOCBAQCBQYXRjaC1zdGF0dXM6IHwKICAgICAjICMgaHR0cHM6 Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0yMDY2NDEyCiBGcm9tLWRpc3Qt Z2l0LWNvbW1pdDogNDMzNGJjODM3ZmJjNjRkMTQ4OTBmZGM1MTY3OWE4MDc3MGQ0OThjZQogLS0t Ci0gY3J5cHRvL2VjL2VjX2FzbjEuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysr KysrKysrKwotIGNyeXB0by9lYy9lY19saWIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA4ICsrKysrKy0KLSB0ZXN0L2VjdGVzdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAyMiArKysrKysrKysrLS0tLS0tLS0tCi0gdGVzdC9lbmRlY29kZV90ZXN0LmMgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKystLS0tLS0tLS0KLSAuLi4vMzAtdGVzdF9l dnBfZGF0YS9ldnBwa2V5X2VjZHNhLnR4dCAgICAgICAgfCAxMiAtLS0tLS0tLS0tCi0gNSBmaWxl cyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKKyBjcnlwdG8vZWMv ZWNfYXNuMS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrCisgY3J5cHRv L2VjL2VjX2xpYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0KKyB0ZXN0 L2VjdGVzdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMiArKysrKysrLS0t LS0tLQorIHRlc3QvZW5kZWNvZGVfdGVzdC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMw ICsrKysrKysrKy0tLS0tLS0tLS0KKyAuLi4vMzAtdGVzdF9ldnBfZGF0YS9ldnBwa2V5X2VjZHNh LnR4dCAgICAgICAgfCAxMiAtLS0tLS0tLQorIDUgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9u cygrKSwgMzggZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jcnlwdG8vZWMvZWNfYXNuMS5j IGIvY3J5cHRvL2VjL2VjX2FzbjEuYwotaW5kZXggNjQzZDJkOGQ3Yi4uNTg5NTYwNjE3NiAxMDA2 NDQKK2luZGV4IGJmZDAyNDJjNmYuLmJiNDYyMTIxYjUgMTAwNjQ0CiAtLS0gYS9jcnlwdG8vZWMv ZWNfYXNuMS5jCiArKysgYi9jcnlwdG8vZWMvZWNfYXNuMS5jCi1AQCAtOTAxLDYgKzkwMSwxMiBA QCBFQ19HUk9VUCAqZDJpX0VDUEtQYXJhbWV0ZXJzKEVDX0dST1VQICoqYSwgY29uc3QgdW5zaWdu ZWQgY2hhciAqKmluLCBsb25nIGxlbikKK0BAIC04ODksNiArODg5LDEyIEBAIEVDX0dST1VQICpk MmlfRUNQS1BhcmFtZXRlcnMoRUNfR1JPVVAgKiphLCBjb25zdCB1bnNpZ25lZCBjaGFyICoqaW4s IGxvbmcgbGVuKQogICAgICBpZiAocGFyYW1zLT50eXBlID09IEVDUEtQQVJBTUVURVJTX1RZUEVf RVhQTElDSVQpCiAgICAgICAgICBncm91cC0+ZGVjb2RlZF9mcm9tX2V4cGxpY2l0X3BhcmFtcyA9 IDE7CiAgCkBAIC0zNCw3ICszNCw3IEBAIGluZGV4IDY0M2QyZDhkN2IuLjU4OTU2MDYxNzYgMTAw NjQ0CiAgICAgIGlmIChhKSB7CiAgICAgICAgICBFQ19HUk9VUF9mcmVlKCphKTsKICAgICAgICAg ICphID0gZ3JvdXA7Ci1AQCAtOTYwLDYgKzk2NiwxMSBAQCBFQ19LRVkgKmQyaV9FQ1ByaXZhdGVL ZXkoRUNfS0VZICoqYSwgY29uc3QgdW5zaWduZWQgY2hhciAqKmluLCBsb25nIGxlbikKK0BAIC05 NDgsNiArOTU0LDExIEBAIEVDX0tFWSAqZDJpX0VDUHJpdmF0ZUtleShFQ19LRVkgKiphLCBjb25z dCB1bnNpZ25lZCBjaGFyICoqaW4sIGxvbmcgbGVuKQogICAgICAgICAgZ290byBlcnI7CiAgICAg IH0KICAKQEAgLTQ3LDEwICs0NywxMCBAQCBpbmRleCA2NDNkMmQ4ZDdiLi41ODk1NjA2MTc2IDEw MDY0NAogIAogICAgICBpZiAocHJpdl9rZXktPnByaXZhdGVLZXkpIHsKIGRpZmYgLS1naXQgYS9j cnlwdG8vZWMvZWNfbGliLmMgYi9jcnlwdG8vZWMvZWNfbGliLmMKLWluZGV4IGI1NTY3N2ZiMWYu LjFkZjQwMDE4YWMgMTAwNjQ0CitpbmRleCAxM2RjZDI5YjExLi5kZTIxY2IyZjEwIDEwMDY0NAog LS0tIGEvY3J5cHRvL2VjL2VjX2xpYi5jCiArKysgYi9jcnlwdG8vZWMvZWNfbGliLmMKLUBAIC0x NTU0LDcgKzE1NTQsNyBAQCBFQ19HUk9VUCAqRUNfR1JPVVBfbmV3X2Zyb21fcGFyYW1zKGNvbnN0 IE9TU0xfUEFSQU0gcGFyYW1zW10sCitAQCAtMTU1MSw3ICsxNTUxLDcgQEAgRUNfR1JPVVAgKkVD X0dST1VQX25ld19mcm9tX3BhcmFtcyhjb25zdCBPU1NMX1BBUkFNIHBhcmFtc1tdLAogICAgICBp bnQgaXNfcHJpbWVfZmllbGQgPSAxOwogICAgICBCTl9DVFggKmJuY3R4ID0gTlVMTDsKICAgICAg Y29uc3QgdW5zaWduZWQgY2hhciAqYnVmID0gTlVMTDsKQEAgLTU5LDcgKzU5LDcgQEAgaW5kZXgg YjU1Njc3ZmIxZi4uMWRmNDAwMThhYyAxMDA2NDQKICAjZW5kaWYKICAKICAgICAgLyogVGhpcyBp cyB0aGUgc2ltcGxlIG5hbWVkIGdyb3VwIGNhc2UgKi8KLUBAIC0xNzI4LDYgKzE3MjgsMTEgQEAg RUNfR1JPVVAgKkVDX0dST1VQX25ld19mcm9tX3BhcmFtcyhjb25zdCBPU1NMX1BBUkFNIHBhcmFt c1tdLAorQEAgLTE3MjYsNiArMTcyNiwxMSBAQCBFQ19HUk9VUCAqRUNfR1JPVVBfbmV3X2Zyb21f cGFyYW1zKGNvbnN0IE9TU0xfUEFSQU0gcGFyYW1zW10sCiAgICAgICAgICBnb3RvIGVycjsKICAg ICAgfQogICAgICBpZiAobmFtZWRfZ3JvdXAgPT0gZ3JvdXApIHsKQEAgLTcxLDcgKzcxLDcgQEAg aW5kZXggYjU1Njc3ZmIxZi4uMWRmNDAwMThhYyAxMDA2NDQKICAgICAgICAgIC8qCiAgICAgICAg ICAgKiBJZiB3ZSBkaWQgbm90IGZpbmQgYSBuYW1lZCBncm91cCB0aGVuIHRoZSBlbmNvZGluZyBz aG91bGQgYmUgZXhwbGljaXQKICAgICAgICAgICAqIGlmIGl0IHdhcyBzcGVjaWZpZWQKLUBAIC0x NzQzLDYgKzE3NDgsNyBAQCBFQ19HUk9VUCAqRUNfR1JPVVBfbmV3X2Zyb21fcGFyYW1zKGNvbnN0 IE9TU0xfUEFSQU0gcGFyYW1zW10sCitAQCAtMTc0MSw2ICsxNzQ2LDcgQEAgRUNfR1JPVVAgKkVD X0dST1VQX25ld19mcm9tX3BhcmFtcyhjb25zdCBPU1NMX1BBUkFNIHBhcmFtc1tdLAogICAgICAg ICAgICAgIGdvdG8gZXJyOwogICAgICAgICAgfQogICAgICAgICAgRUNfR1JPVVBfc2V0X2FzbjFf ZmxhZyhncm91cCwgT1BFTlNTTF9FQ19FWFBMSUNJVF9DVVJWRSk7CkBAIC04MCwxNiArODAsMTcg QEAgaW5kZXggYjU1Njc3ZmIxZi4uMWRmNDAwMThhYyAxMDA2NDQKICAgICAgICAgIEVDX0dST1VQ X2ZyZWUoZ3JvdXApOwogICAgICAgICAgZ3JvdXAgPSBuYW1lZF9ncm91cDsKIGRpZmYgLS1naXQg YS90ZXN0L2VjdGVzdC5jIGIvdGVzdC9lY3Rlc3QuYwotaW5kZXggYjg1MjM4MTkyNC4uNmVhYzVk ZTRmYSAxMDA2NDQKK2luZGV4IGYyNDNmNmZiM2MuLmQ4MjQ2NTI0ZjMgMTAwNjQ0CiAtLS0gYS90 ZXN0L2VjdGVzdC5jCiArKysgYi90ZXN0L2VjdGVzdC5jCi1AQCAtMjQxMywxMCArMjQxMywxMSBA QCBzdGF0aWMgaW50IGRvX3Rlc3RfY3VzdG9tX2V4cGxpY2l0X2Zyb21kYXRhKEVDX0dST1VQICpn cm91cCwgQk5fQ1RYICpjdHgsCitAQCAtMjc5MSwxMSArMjc5MSwxMiBAQCBzdGF0aWMgaW50IGRv X3Rlc3RfY3VzdG9tX2V4cGxpY2l0X2Zyb21kYXRhKEVDX0dST1VQICpncm91cCwgQk5fQ1RYICpj dHgsCiAgICAgIGlmICghVEVTVF9wdHIocGFyYW1zID0gT1NTTF9QQVJBTV9CTERfdG9fcGFyYW0o YmxkKSkKICAgICAgICAgIHx8ICFURVNUX3B0cihwY3R4ID0gRVZQX1BLRVlfQ1RYX25ld19mcm9t X25hbWUoTlVMTCwgIkVDIiwgTlVMTCkpCiAgICAgICAgICB8fCAhVEVTVF9pbnRfZ3QoRVZQX1BL RVlfZnJvbWRhdGFfaW5pdChwY3R4KSwgMCkKIC0gICAgICAgIHx8ICFURVNUX2ludF9ndChFVlBf UEtFWV9mcm9tZGF0YShwY3R4LCAmcGtleXBhcmFtLAogKyAgICAgICAgfHwgIVRFU1RfaW50X2xl KEVWUF9QS0VZX2Zyb21kYXRhKHBjdHgsICZwa2V5cGFyYW0sCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRVZQX1BLRVlfS0VZX1BBUkFNRVRFUlMsIHBhcmFtcyks IDApKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVlBfUEtFWV9LRVlfUEFSQU1FVEVS UywgcGFyYW1zKSwKKyAgICAgICAgICAgICAwKSkKICAgICAgICAgIGdvdG8gZXJyOwogLQogKy8q IEFzIGNyZWF0aW5nIHRoZSBrZXkgc2hvdWxkIGZhaWwsIHRoZSByZXN0IG9mIHRoZSB0ZXN0IGlz IHBvaW50bGVzcyAqLwpAQCAtOTcsNTQgKzk4LDU0IEBAIGluZGV4IGI4NTIzODE5MjQuLjZlYWM1 ZGU0ZmEgMTAwNjQ0CiAgICAgIC8qLSBDaGVjayB0aGF0IGFsbCB0aGUgc2V0IHZhbHVlcyBhcmUg cmV0cmlldmFibGUgLSovCiAgCiAgICAgIC8qIFRoZXJlIHNob3VsZCBiZSBubyBtYXRjaCB0byBh IGdyb3VwIG5hbWUgc2luY2UgdGhlIGdlbmVyYXRvciBjaGFuZ2VkICovCi1AQCAtMjU0NSw2ICsy NTQ2LDcgQEAgc3RhdGljIGludCBkb190ZXN0X2N1c3RvbV9leHBsaWNpdF9mcm9tZGF0YShFQ19H Uk9VUCAqZ3JvdXAsIEJOX0NUWCAqY3R4LAorQEAgLTI5MjQsNiArMjkyNSw3IEBAIHN0YXRpYyBp bnQgZG9fdGVzdF9jdXN0b21fZXhwbGljaXRfZnJvbWRhdGEoRUNfR1JPVVAgKmdyb3VwLCBCTl9D VFggKmN0eCwKICAjZW5kaWYKLSAgICAgICAgICkKKyAgICAgKQogICAgICAgICAgZ290byBlcnI7 CiArI2VuZGlmCiAgICAgIHJldCA9IDE7CiAgZXJyOgogICAgICBCTl9mcmVlKG9yZGVyX291dCk7 Ci1AQCAtMjgyNiwyMSArMjgyOCwyMSBAQCBzdGF0aWMgaW50IGN1c3RvbV9wYXJhbXNfdGVzdChp bnQgaWQpCitAQCAtMzIxNywyMSArMzIxOSwyMSBAQCBzdGF0aWMgaW50IGN1c3RvbV9wYXJhbXNf dGVzdChpbnQgaWQpCiAgCiAgICAgIC8qIENvbXB1dGUga2V5ZXhjaGFuZ2UgaW4gYm90aCBkaXJl Y3Rpb25zICovCiAgICAgIGlmICghVEVTVF9wdHIocGN0eDEgPSBFVlBfUEtFWV9DVFhfbmV3KHBr ZXkxLCBOVUxMKSkKLS0gICAgICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRVZQX1BLRVlfZGVyaXZl X2luaXQocGN0eDEpLCAxKQotLSAgICAgICAgICAgIHx8ICFURVNUX2ludF9lcShFVlBfUEtFWV9k ZXJpdmVfc2V0X3BlZXIocGN0eDEsIHBrZXkyKSwgMSkKLSsgICAgICAgICAgICB8fCAhVEVTVF9p bnRfbGUoRVZQX1BLRVlfZGVyaXZlX2luaXQocGN0eDEpLCAwKQotKy8qICAgICAgICAgIHx8ICFU RVNUX2ludF9lcShFVlBfUEtFWV9kZXJpdmVfc2V0X3BlZXIocGN0eDEsIHBrZXkyKSwgMSkKLSAg ICAgICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRVZQX1BLRVlfZGVyaXZlKHBjdHgxLCBOVUxMLCAm c3NsZW4pLCAxKQotICAgICAgICAgICAgIHx8ICFURVNUX2ludF9ndChic2l6ZSwgc3NsZW4pCi0t ICAgICAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2ZShwY3R4MSwgYnVmMSwg JnNzbGVuKSwgMSkpCi0rICAgICAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2 ZShwY3R4MSwgYnVmMSwgJnNzbGVuKSwgMSkqLykKKy0gICAgICAgIHx8ICFURVNUX2ludF9lcShF VlBfUEtFWV9kZXJpdmVfaW5pdChwY3R4MSksIDEpCistICAgICAgICB8fCAhVEVTVF9pbnRfZXEo RVZQX1BLRVlfZGVyaXZlX3NldF9wZWVyKHBjdHgxLCBwa2V5MiksIDEpCisrICAgICAgICB8fCAh VEVTVF9pbnRfbGUoRVZQX1BLRVlfZGVyaXZlX2luaXQocGN0eDEpLCAwKQorKy8qICAgICAgfHwg IVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2ZV9zZXRfcGVlcihwY3R4MSwgcGtleTIpLCAxKQor ICAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2ZShwY3R4MSwgTlVMTCwgJnNz bGVuKSwgMSkKKyAgICAgICAgIHx8ICFURVNUX2ludF9ndChic2l6ZSwgc3NsZW4pCistICAgICAg ICB8fCAhVEVTVF9pbnRfZXEoRVZQX1BLRVlfZGVyaXZlKHBjdHgxLCBidWYxLCAmc3NsZW4pLCAx KSkKKysgICAgICAgIHx8ICFURVNUX2ludF9lcShFVlBfUEtFWV9kZXJpdmUocGN0eDEsIGJ1ZjEs ICZzc2xlbiksIDEpKi8pCiAgICAgICAgICBnb3RvIGVycjsKICAgICAgaWYgKCFURVNUX3B0cihw Y3R4MiA9IEVWUF9QS0VZX0NUWF9uZXcocGtleTIsIE5VTEwpKQotLSAgICAgICAgICAgIHx8ICFU RVNUX2ludF9lcShFVlBfUEtFWV9kZXJpdmVfaW5pdChwY3R4MiksIDEpCi0tICAgICAgICAgICAg fHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2ZV9zZXRfcGVlcihwY3R4MiwgcGtleTEpLCAx KQotKyAgICAgICAgICAgIHx8ICFURVNUX2ludF9sZShFVlBfUEtFWV9kZXJpdmVfaW5pdChwY3R4 MiksIDEpCi0rLyogICAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2ZV9zZXRf cGVlcihwY3R4MiwgcGtleTEpLCAxKQotICAgICAgICAgICAgIHx8ICFURVNUX2ludF9lcShFVlBf UEtFWV9kZXJpdmUocGN0eDIsIE5VTEwsICZ0KSwgMSkKLSAgICAgICAgICAgICB8fCAhVEVTVF9p bnRfZ3QoYnNpemUsIHQpCi0gICAgICAgICAgICAgfHwgIVRFU1RfaW50X2xlKHNzbGVuLCB0KQot LSAgICAgICAgICAgIHx8ICFURVNUX2ludF9lcShFVlBfUEtFWV9kZXJpdmUocGN0eDIsIGJ1ZjIs ICZ0KSwgMSkpCi0rICAgICAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2ZShw Y3R4MiwgYnVmMiwgJnQpLCAxKSAqLykKKy0gICAgICAgIHx8ICFURVNUX2ludF9lcShFVlBfUEtF WV9kZXJpdmVfaW5pdChwY3R4MiksIDEpCistICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRVZQX1BL RVlfZGVyaXZlX3NldF9wZWVyKHBjdHgyLCBwa2V5MSksIDEpCisrICAgICAgICB8fCAhVEVTVF9p bnRfbGUoRVZQX1BLRVlfZGVyaXZlX2luaXQocGN0eDIpLCAxKQorKy8qICAgICAgfHwgIVRFU1Rf aW50X2VxKEVWUF9QS0VZX2Rlcml2ZV9zZXRfcGVlcihwY3R4MiwgcGtleTEpLCAxKQorICAgICAg ICAgfHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2ZShwY3R4MiwgTlVMTCwgJnQpLCAxKQor ICAgICAgICAgfHwgIVRFU1RfaW50X2d0KGJzaXplLCB0KQorICAgICAgICAgfHwgIVRFU1RfaW50 X2xlKHNzbGVuLCB0KQorLSAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVWUF9QS0VZX2Rlcml2ZShw Y3R4MiwgYnVmMiwgJnQpLCAxKSkKKysgICAgICAgIHx8ICFURVNUX2ludF9lcShFVlBfUEtFWV9k ZXJpdmUocGN0eDIsIGJ1ZjIsICZ0KSwgMSkgKi8pCiAgICAgICAgICBnb3RvIGVycjsKIC0KICsj aWYgMAogICAgICAvKiBCb3RoIHNpZGVzIHNob3VsZCBleHBlY3QgdGhlIHNhbWUgc2hhcmVkIHNl Y3JldCAqLwogICAgICBpZiAoIVRFU1RfbWVtX2VxKGJ1ZjEsIHNzbGVuLCBidWYyLCB0KSkKICAg ICAgICAgIGdvdG8gZXJyOwotQEAgLTI4OTMsNyArMjg5NSw3IEBAIHN0YXRpYyBpbnQgY3VzdG9t X3BhcmFtc190ZXN0KGludCBpZCkKLSAgICAgICAgICAgICAvKiBjb21wYXJlIHdpdGggcHJldmlv dXMgcmVzdWx0ICovCi0gICAgICAgICAgICAgfHwgIVRFU1RfbWVtX2VxKGJ1ZjEsIHQsIGJ1ZjIs IHNzbGVuKSkKK0BAIC0zMjg2LDcgKzMyODgsNyBAQCBzdGF0aWMgaW50IGN1c3RvbV9wYXJhbXNf dGVzdChpbnQgaWQpCisgICAgICAgICAvKiBjb21wYXJlIHdpdGggcHJldmlvdXMgcmVzdWx0ICov CisgICAgICAgICB8fCAhVEVTVF9tZW1fZXEoYnVmMSwgdCwgYnVmMiwgc3NsZW4pKQogICAgICAg ICAgZ290byBlcnI7CiAtCiArI2VuZGlmCiAgICAgIHJldCA9IDE7CiAgCi0gIGVycjoKKyBlcnI6 CiBkaWZmIC0tZ2l0IGEvdGVzdC9lbmRlY29kZV90ZXN0LmMgYi90ZXN0L2VuZGVjb2RlX3Rlc3Qu YwotaW5kZXggMDI4ZGViNGVkMS4uODVjODRmNjU5MiAxMDA2NDQKK2luZGV4IDNmOGVkN2YzOTIu LmMzYjU1YWYzZTcgMTAwNjQ0CiAtLS0gYS90ZXN0L2VuZGVjb2RlX3Rlc3QuYwogKysrIGIvdGVz dC9lbmRlY29kZV90ZXN0LmMKIEBAIC02Myw3ICs2Myw3IEBAIHN0YXRpYyBCTl9DVFggKmJuY3R4 ID0gTlVMTDsKQEAgLTE1NCw1MSArMTU1LDU5IEBAIGluZGV4IDAyOGRlYjRlZDEuLjg1Yzg0ZjY1 OTIgMTAwNjQ0CiAtc3RhdGljIE9TU0xfUEFSQU0gKmVjX2V4cGxpY2l0X3ByaW1lX3BhcmFtc19l eHBsaWNpdCA9IE5VTEw7CiArLypzdGF0aWMgT1NTTF9QQVJBTSAqZWNfZXhwbGljaXRfcHJpbWVf cGFyYW1zX2V4cGxpY2l0ID0gTlVMTDsqLwogIAotICMgaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQor ICNpZm5kZWYgT1BFTlNTTF9OT19FQzJNCiAgc3RhdGljIE9TU0xfUEFSQU1fQkxEICpibGRfdHJp X25jID0gTlVMTDsKLUBAIC0xMDI3LDkgKzEwMjcsOSBAQCBJTVBMRU1FTlRfVEVTVF9TVUlURV9M RUdBQ1koRUMsICJFQyIpCitAQCAtMTAxMywxMCArMTAxMywxMCBAQCBJTVBMRU1FTlRfVEVTVF9T VUlURV9MRUdBQ1koRUMsICJFQyIpCiAgRE9NQUlOX0tFWVMoRUNFeHBsaWNpdFByaW1lTmFtZWRD dXJ2ZSk7CiAgSU1QTEVNRU5UX1RFU1RfU1VJVEUoRUNFeHBsaWNpdFByaW1lTmFtZWRDdXJ2ZSwg IkVDIiwgMSkKICBJTVBMRU1FTlRfVEVTVF9TVUlURV9MRUdBQ1koRUNFeHBsaWNpdFByaW1lTmFt ZWRDdXJ2ZSwgIkVDIikKIC1ET01BSU5fS0VZUyhFQ0V4cGxpY2l0UHJpbWUyRyk7CiAtSU1QTEVN RU5UX1RFU1RfU1VJVEUoRUNFeHBsaWNpdFByaW1lMkcsICJFQyIsIDApCiAtSU1QTEVNRU5UX1RF U1RfU1VJVEVfTEVHQUNZKEVDRXhwbGljaXRQcmltZTJHLCAiRUMiKQorLSNpZm5kZWYgT1BFTlNT TF9OT19FQzJNCiArLypET01BSU5fS0VZUyhFQ0V4cGxpY2l0UHJpbWUyRyk7Ki8KICsvKklNUExF TUVOVF9URVNUX1NVSVRFKEVDRXhwbGljaXRQcmltZTJHLCAiRUMiLCAwKSovCiArLypJTVBMRU1F TlRfVEVTVF9TVUlURV9MRUdBQ1koRUNFeHBsaWNpdFByaW1lMkcsICJFQyIpKi8KLSAjIGlmbmRl ZiBPUEVOU1NMX05PX0VDMk0KKysjIGlmbmRlZiBPUEVOU1NMX05PX0VDMk0KICBET01BSU5fS0VZ UyhFQ0V4cGxpY2l0VHJpTmFtZWRDdXJ2ZSk7CiAgSU1QTEVNRU5UX1RFU1RfU1VJVEUoRUNFeHBs aWNpdFRyaU5hbWVkQ3VydmUsICJFQyIsIDEpCi1AQCAtMTQ0NSw3ICsxNDQ1LDcgQEAgaW50IHNl dHVwX3Rlc3RzKHZvaWQpCisgSU1QTEVNRU5UX1RFU1RfU1VJVEVfTEVHQUNZKEVDRXhwbGljaXRU cmlOYW1lZEN1cnZlLCAiRUMiKQorQEAgLTE0NTgsOCArMTQ1OCw4IEBAIGludCBzZXR1cF90ZXN0 cyh2b2lkKQogICAgICAgICAgfHwgIWNyZWF0ZV9lY19leHBsaWNpdF9wcmltZV9wYXJhbXNfbmFt ZWRjdXJ2ZShibGRfcHJpbWVfbmMpCiAgICAgICAgICB8fCAhY3JlYXRlX2VjX2V4cGxpY2l0X3By aW1lX3BhcmFtcyhibGRfcHJpbWUpCiAgICAgICAgICB8fCAhVEVTVF9wdHIoZWNfZXhwbGljaXRf cHJpbWVfcGFyYW1zX25jID0gT1NTTF9QQVJBTV9CTERfdG9fcGFyYW0oYmxkX3ByaW1lX25jKSkK IC0gICAgICAgIHx8ICFURVNUX3B0cihlY19leHBsaWNpdF9wcmltZV9wYXJhbXNfZXhwbGljaXQg PSBPU1NMX1BBUkFNX0JMRF90b19wYXJhbShibGRfcHJpbWUpKQotKy8qICAgICAgICB8fCAhVEVT VF9wdHIoZWNfZXhwbGljaXRfcHJpbWVfcGFyYW1zX2V4cGxpY2l0ID0gT1NTTF9QQVJBTV9CTERf dG9fcGFyYW0oYmxkX3ByaW1lKSkqLwotICMgaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQorLSNpZm5k ZWYgT1BFTlNTTF9OT19FQzJNCisrLyogICAgICB8fCAhVEVTVF9wdHIoZWNfZXhwbGljaXRfcHJp bWVfcGFyYW1zX2V4cGxpY2l0ID0gT1NTTF9QQVJBTV9CTERfdG9fcGFyYW0oYmxkX3ByaW1lKSkq LworKyMgaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQogICAgICAgICAgfHwgIVRFU1RfcHRyKGJsZF90 cmlfbmMgPSBPU1NMX1BBUkFNX0JMRF9uZXcoKSkKICAgICAgICAgIHx8ICFURVNUX3B0cihibGRf dHJpID0gT1NTTF9QQVJBTV9CTERfbmV3KCkpCi1AQCAtMTQ3Myw3ICsxNDczLDcgQEAgaW50IHNl dHVwX3Rlc3RzKHZvaWQpCisgICAgICAgICB8fCAhY3JlYXRlX2VjX2V4cGxpY2l0X3RyaW5vbWlh bF9wYXJhbXNfbmFtZWRjdXJ2ZShibGRfdHJpX25jKQorQEAgLTE0ODYsOCArMTQ4Niw4IEBAIGlu dCBzZXR1cF90ZXN0cyh2b2lkKQogICAgICBURVNUX2luZm8oIkdlbmVyYXRpbmcgRUMga2V5cy4u LiIpOwogICAgICBNQUtFX0RPTUFJTl9LRVlTKEVDLCAiRUMiLCBFQ19wYXJhbXMpOwogICAgICBN QUtFX0RPTUFJTl9LRVlTKEVDRXhwbGljaXRQcmltZU5hbWVkQ3VydmUsICJFQyIsIGVjX2V4cGxp Y2l0X3ByaW1lX3BhcmFtc19uYyk7CiAtICAgIE1BS0VfRE9NQUlOX0tFWVMoRUNFeHBsaWNpdFBy aW1lMkcsICJFQyIsIGVjX2V4cGxpY2l0X3ByaW1lX3BhcmFtc19leHBsaWNpdCk7Ci0rLyogICAg TUFLRV9ET01BSU5fS0VZUyhFQ0V4cGxpY2l0UHJpbWUyRywgIkVDIiwgZWNfZXhwbGljaXRfcHJp bWVfcGFyYW1zX2V4cGxpY2l0KTsqLwotICMgaWZuZGVmIE9QRU5TU0xfTk9fRUMyTQorLSNpZm5k ZWYgT1BFTlNTTF9OT19FQzJNCisrLyogIE1BS0VfRE9NQUlOX0tFWVMoRUNFeHBsaWNpdFByaW1l MkcsICJFQyIsIGVjX2V4cGxpY2l0X3ByaW1lX3BhcmFtc19leHBsaWNpdCk7Ki8KKysjIGlmbmRl ZiBPUEVOU1NMX05PX0VDMk0KICAgICAgTUFLRV9ET01BSU5fS0VZUyhFQ0V4cGxpY2l0VHJpTmFt ZWRDdXJ2ZSwgIkVDIiwgZWNfZXhwbGljaXRfdHJpX3BhcmFtc19uYyk7CiAgICAgIE1BS0VfRE9N QUlOX0tFWVMoRUNFeHBsaWNpdFRyaTJHLCAiRUMiLCBlY19leHBsaWNpdF90cmlfcGFyYW1zX2V4 cGxpY2l0KTsKLUBAIC0xNTUzLDggKzE1NTMsOCBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkKKyAj ZW5kaWYKK0BAIC0xNTY2LDkgKzE1NjYsOSBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkKICAgICAg ICAgIEFERF9URVNUX1NVSVRFX0xFR0FDWShFQyk7CiAgICAgICAgICBBRERfVEVTVF9TVUlURShF Q0V4cGxpY2l0UHJpbWVOYW1lZEN1cnZlKTsKICAgICAgICAgIEFERF9URVNUX1NVSVRFX0xFR0FD WShFQ0V4cGxpY2l0UHJpbWVOYW1lZEN1cnZlKTsKIC0gICAgICAgIEFERF9URVNUX1NVSVRFKEVD RXhwbGljaXRQcmltZTJHKTsKIC0gICAgICAgIEFERF9URVNUX1NVSVRFX0xFR0FDWShFQ0V4cGxp Y2l0UHJpbWUyRyk7Ci0rLyogICAgICAgIEFERF9URVNUX1NVSVRFKEVDRXhwbGljaXRQcmltZTJH KTsqLwotKy8qICAgICAgICBBRERfVEVTVF9TVUlURV9MRUdBQ1koRUNFeHBsaWNpdFByaW1lMkcp OyovCi0gIyBpZm5kZWYgT1BFTlNTTF9OT19FQzJNCistI2lmbmRlZiBPUEVOU1NMX05PX0VDMk0K KysvKiAgICAgIEFERF9URVNUX1NVSVRFKEVDRXhwbGljaXRQcmltZTJHKTsqLworKy8qICAgICAg QUREX1RFU1RfU1VJVEVfTEVHQUNZKEVDRXhwbGljaXRQcmltZTJHKTsqLworKyMgaWZuZGVmIE9Q RU5TU0xfTk9fRUMyTQogICAgICAgICAgQUREX1RFU1RfU1VJVEUoRUNFeHBsaWNpdFRyaU5hbWVk Q3VydmUpOwogICAgICAgICAgQUREX1RFU1RfU1VJVEVfTEVHQUNZKEVDRXhwbGljaXRUcmlOYW1l ZEN1cnZlKTsKLUBAIC0xNjMxLDcgKzE2MzEsNyBAQCB2b2lkIGNsZWFudXBfdGVzdHModm9pZCkK KyAgICAgICAgIEFERF9URVNUX1NVSVRFKEVDRXhwbGljaXRUcmkyRyk7CitAQCAtMTY0NCw3ICsx NjQ0LDcgQEAgdm9pZCBjbGVhbnVwX3Rlc3RzKHZvaWQpCiAgewogICNpZm5kZWYgT1BFTlNTTF9O T19FQwogICAgICBPU1NMX1BBUkFNX2ZyZWUoZWNfZXhwbGljaXRfcHJpbWVfcGFyYW1zX25jKTsK QEAgLTIwNiwxNiArMjE1LDE4IEBAIGluZGV4IDAyOGRlYjRlZDEuLjg1Yzg0ZjY1OTIgMTAwNjQ0 CiArLyogICAgT1NTTF9QQVJBTV9mcmVlKGVjX2V4cGxpY2l0X3ByaW1lX3BhcmFtc19leHBsaWNp dCk7Ki8KICAgICAgT1NTTF9QQVJBTV9CTERfZnJlZShibGRfcHJpbWVfbmMpOwogICAgICBPU1NM X1BBUkFNX0JMRF9mcmVlKGJsZF9wcmltZSk7Ci0gIyBpZm5kZWYgT1BFTlNTTF9OT19FQzJNCi1A QCAtMTY1Myw3ICsxNjUzLDcgQEAgdm9pZCBjbGVhbnVwX3Rlc3RzKHZvaWQpCisgI2lmbmRlZiBP UEVOU1NMX05PX0VDMk0KK0BAIC0xNjY2LDggKzE2NjYsOCBAQCB2b2lkIGNsZWFudXBfdGVzdHMo dm9pZCkKICAjaWZuZGVmIE9QRU5TU0xfTk9fRUMKICAgICAgRlJFRV9ET01BSU5fS0VZUyhFQyk7 CiAgICAgIEZSRUVfRE9NQUlOX0tFWVMoRUNFeHBsaWNpdFByaW1lTmFtZWRDdXJ2ZSk7CiAtICAg IEZSRUVfRE9NQUlOX0tFWVMoRUNFeHBsaWNpdFByaW1lMkcpOwotKy8qICAgIEZSRUVfRE9NQUlO X0tFWVMoRUNFeHBsaWNpdFByaW1lMkcpOyovCi0gIyBpZm5kZWYgT1BFTlNTTF9OT19FQzJNCist I2lmbmRlZiBPUEVOU1NMX05PX0VDMk0KKysvKiAgRlJFRV9ET01BSU5fS0VZUyhFQ0V4cGxpY2l0 UHJpbWUyRyk7Ki8KKysjIGlmbmRlZiBPUEVOU1NMX05PX0VDMk0KICAgICAgRlJFRV9ET01BSU5f S0VZUyhFQ0V4cGxpY2l0VHJpTmFtZWRDdXJ2ZSk7CiAgICAgIEZSRUVfRE9NQUlOX0tFWVMoRUNF eHBsaWNpdFRyaTJHKTsKKyAjZW5kaWYKIGRpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvMzAtdGVz dF9ldnBfZGF0YS9ldnBwa2V5X2VjZHNhLnR4dCBiL3Rlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9k YXRhL2V2cHBrZXlfZWNkc2EudHh0CiBpbmRleCAwN2RjNGI0Mjk4Li40YzQ3ZmE2OGMyIDEwMDY0 NAogLS0tIGEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwcGtleV9lY2RzYS50eHQK QEAgLTI0MCw1ICsyNTEsNSBAQCBpbmRleCAwN2RjNGI0Mjk4Li40YzQ3ZmE2OGMyIDEwMDY0NAog IC0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLQogIE1HTUNBUUF3RUFZSEtvWkl6ajBDQVFZRks0 RUVBQThFVERCS0FnRUJCQlVEblFXMG1MaUhWaGEvanFGem5YL0sKIC0tIAotMi41MS4wCisyLjUy LjAKIAoKZGlmZiAtLWdpdCBhLzAwMTEtUkgtc2tpcHBlZC10ZXN0cy1FQy1jdXJ2ZXMucGF0Y2gg Yi8wMDExLVJILXNraXBwZWQtdGVzdHMtRUMtY3VydmVzLnBhdGNoCmluZGV4IGIzNTQ3YzguLjVk MmQxYjUgMTAwNjQ0Ci0tLSBhLzAwMTEtUkgtc2tpcHBlZC10ZXN0cy1FQy1jdXJ2ZXMucGF0Y2gK KysrIGIvMDAxMS1SSC1za2lwcGVkLXRlc3RzLUVDLWN1cnZlcy5wYXRjaApAQCAtMSw3ICsxLDcg QEAKLUZyb20gNGEwYTZjNWNjOTU2MDQzOGNhYjQxZTY1OTQ4YjZkYTllNjNkMTEyMyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMmFmYzQyYjdmYWEyNjMzODcyMzRhYTc0N2Q2NzZlZmQx NDBhN2M4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IHJwbS1idWlsZCA8cnBtLWJ1 aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE5OjE3OjE1ICswMTAwCi1TdWJqZWN0OiBbUEFU Q0ggMTEvNTldIFJIOiBza2lwcGVkIHRlc3RzIEVDIGN1cnZlcworU3ViamVjdDogW1BBVENIIDEx LzU3XSBSSDogc2tpcHBlZCB0ZXN0cyBFQyBjdXJ2ZXMKIAogUGF0Y2gtbmFtZTogMDAxMy1za2lw cGVkLXRlc3RzLUVDLWN1cnZlcy5wYXRjaAogUGF0Y2gtaWQ6IDEzCkBAIC03OCw1ICs3OCw1IEBA IGluZGV4IGY3MjI4MDBlMjcuLjI2YTAxNzg2YmIgMTAwNjQ0CiAgbXkgQGJhc2ljX2NtZCA9ICgi Y21wX3ZmeV90ZXN0IiwKICAgICAgICAgICAgICAgICAgIGRhdGFfZmlsZSgic2VydmVyLmNydCIp LCAgICAgZGF0YV9maWxlKCJjbGllbnQuY3J0IiksCiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRp ZmYgLS1naXQgYS8wMDEyLVJILXNraXAtcXVpYy1wYWlyd2lzZS5wYXRjaCBiLzAwMTItUkgtc2tp cC1xdWljLXBhaXJ3aXNlLnBhdGNoCmluZGV4IDg0ZGQ3ZWMuLjE5ZmU0YTIgMTAwNjQ0Ci0tLSBh LzAwMTItUkgtc2tpcC1xdWljLXBhaXJ3aXNlLnBhdGNoCisrKyBiLzAwMTItUkgtc2tpcC1xdWlj LXBhaXJ3aXNlLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA4MmMwZDc3MzY0OTkwOWVjMTg4 M2Q0M2U0MjNmODg2ZDY0MjRiOWFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0OGI0 YTYzZGIwMzM3MzBlZjk4ZWI5OTY4ZTQ1YmE2NjY4ODU5OGM5IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQogRnJvbTogRG1pdHJ5IEJlbHlhdnNraXkgPGRiZWx5YXZzQHJlZGhhdC5jb20+CiBEYXRl OiBUaHUsIDcgTWFyIDIwMjQgMTc6Mzc6MDkgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAxMi81OV0g Ukg6IHNraXAgcXVpYyBwYWlyd2lzZQorU3ViamVjdDogW1BBVENIIDEyLzU3XSBSSDogc2tpcCBx dWljIHBhaXJ3aXNlCiAKIFBhdGNoLW5hbWU6IDAxMTUtc2tpcC1xdWljLXBhaXJ3aXNlLnBhdGNo CiBQYXRjaC1pZDogMTE1CkBAIC0xNCwxMCArMTQsMTAgQEAgUGF0Y2gtc3RhdHVzOiB8CiAgMyBm aWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0t Z2l0IGEvdGVzdC9xdWljYXBpdGVzdC5jIGIvdGVzdC9xdWljYXBpdGVzdC5jCi1pbmRleCA0ZTg4 N2MxM2QxLi4zN2FjZjI2OGNjIDEwMDY0NAoraW5kZXggNmI5ZWU4ZTY5YS4uOTZjZDczNTgxOSAx MDA2NDQKIC0tLSBhL3Rlc3QvcXVpY2FwaXRlc3QuYwogKysrIGIvdGVzdC9xdWljYXBpdGVzdC5j Ci1AQCAtMjkxNiw3ICsyOTE2LDkgQEAgaW50IHNldHVwX3Rlc3RzKHZvaWQpCitAQCAtMzAxNSw3 ICszMDE1LDkgQEAgaW50IHNldHVwX3Rlc3RzKHZvaWQpCiAgICAgIEFERF9URVNUKHRlc3RfY2lw aGVyX2ZpbmQpOwogICAgICBBRERfVEVTVCh0ZXN0X3ZlcnNpb24pOwogICNpZiBkZWZpbmVkKERP X1NTTF9UUkFDRV9URVNUKQpAQCAtMjksMTAgKzI5LDEwIEBAIGluZGV4IDRlODg3YzEzZDEuLjM3 YWNmMjY4Y2MgMTAwNjQ0CiAgICAgIEFERF9URVNUKHRlc3RfcXVpY19mb3JiaWRkZW5fYXBpc19j dHgpOwogICAgICBBRERfVEVTVCh0ZXN0X3F1aWNfZm9yYmlkZGVuX2FwaXMpOwogZGlmZiAtLWdp dCBhL3Rlc3QvcmVjaXBlcy8wMS10ZXN0X3N5bWJvbF9wcmVzZW5jZS50IGIvdGVzdC9yZWNpcGVz LzAxLXRlc3Rfc3ltYm9sX3ByZXNlbmNlLnQKLWluZGV4IDIyMmIxODg2YWUuLjdlMmY2NWNjY2Ig MTAwNjQ0CitpbmRleCA2YzhkZTY0YjBiLi43OWE1NTg0MDk5IDEwMDY0NAogLS0tIGEvdGVzdC9y ZWNpcGVzLzAxLXRlc3Rfc3ltYm9sX3ByZXNlbmNlLnQKICsrKyBiL3Rlc3QvcmVjaXBlcy8wMS10 ZXN0X3N5bWJvbF9wcmVzZW5jZS50Ci1AQCAtMTg1LDYgKzE4NSw3IEBAIGZvcmVhY2ggKHNvcnQg a2V5cyAlc3RsaWJuYW1lKSB7CitAQCAtMTg3LDYgKzE4Nyw3IEBAIGZvcmVhY2ggKHNvcnQga2V5 cyAlc3RsaWJuYW1lKSB7CiAgICAgIH0KICB9CiAgbXkgQGR1cGxpY2F0ZXMgPSBzb3J0IGdyZXAg eyAkc3ltYm9sc3skX30gPiAxIH0ga2V5cyAlc3ltYm9sczsKQEAgLTgyLDUgKzgyLDUgQEAgaW5k ZXggZWFmMGRiYmI0Mi4uMjE4NjRhZDMxOSAxMDA2NDQKICAgICAgICAgICAgICAgICAgICItcGFp cndpc2UiLCAiZHNhIiwgIi1kc2FwYXJhbSIsIGRhdGFfZmlsZSgiZHNhcGFyYW0ucGVtIildKSks CiAgICAgICAgICJmaXBzIHByb3ZpZGVyIGRzYSBrZXlnZW4gcGFpcndpc2UgZmFpbHVyZSB0ZXN0 Iik7CiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDEzLVJILXZlcnNpb24t YWxpYXNpbmcucGF0Y2ggYi8wMDEzLVJILXZlcnNpb24tYWxpYXNpbmcucGF0Y2gKaW5kZXggNzE5 ZGU3Zi4uNmZjYjI1MCAxMDA2NDQKLS0tIGEvMDAxMy1SSC12ZXJzaW9uLWFsaWFzaW5nLnBhdGNo CisrKyBiLzAwMTMtUkgtdmVyc2lvbi1hbGlhc2luZy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZy b20gNGZiNWM0YjIxYTgwNTJmODdlMDJjOTQxYzZlN2EwZTZmMGQ5Mzg0YyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb20gOWE0MTg4OWMxYTAyNmUyMDNmOTM2ZTBjM2I1MTFlNmQ0ZGRjNGNm MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgog RGF0ZTogV2VkLCA2IE1hciAyMDI0IDE5OjE3OjE3ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMTMv NTldIFJIOiB2ZXJzaW9uIGFsaWFzaW5nCitTdWJqZWN0OiBbUEFUQ0ggMTMvNTddIFJIOiB2ZXJz aW9uIGFsaWFzaW5nCiAKIFBhdGNoLW5hbWU6IDAxMTYtdmVyc2lvbi1hbGlhc2luZy5wYXRjaAog UGF0Y2gtaWQ6IDExNgpAQCAtMTcsNyArMTcsNyBAQCBGcm9tLWRpc3QtZ2l0LWNvbW1pdDogNDMz NGJjODM3ZmJjNjRkMTQ4OTBmZGM1MTY3OWE4MDc3MGQ0OThjZQogIDQgZmlsZXMgY2hhbmdlZCwg MTUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NyeXB0by9l dnAvZGlnZXN0LmMgYi9jcnlwdG8vZXZwL2RpZ2VzdC5jCi1pbmRleCA2ZmMyMDFiY2ZlLi4zYzgw YjlkZmUxIDEwMDY0NAoraW5kZXggNGIxYzk1YzRhYi4uOGE2ZTg3YzExYSAxMDA2NDQKIC0tLSBh L2NyeXB0by9ldnAvZGlnZXN0LmMKICsrKyBiL2NyeXB0by9ldnAvZGlnZXN0LmMKIEBAIC01NzIs NyArNTcyLDEyIEBAIGludCBFVlBfRGlnZXN0U3F1ZWV6ZShFVlBfTURfQ1RYICpjdHgsIHVuc2ln bmVkIGNoYXIgKm1kLCBzaXplX3Qgc2l6ZSkKQEAgLTM1LDEwICszNSwxMCBAQCBpbmRleCA2ZmMy MDFiY2ZlLi4zYzgwYjlkZmUxIDEwMDY0NAogICAgICBFVlBfTURfQ1RYICpvdXQgPSBFVlBfTURf Q1RYX25ldygpOwogIAogZGlmZiAtLWdpdCBhL2NyeXB0by9ldnAvZXZwX2VuYy5jIGIvY3J5cHRv L2V2cC9ldnBfZW5jLmMKLWluZGV4IGVlZTAwYTA3ODAuLjdjNTE3ODY1MTUgMTAwNjQ0CitpbmRl eCA1NTg0ZTA2ZDdlLi5kNWZmMzRhNGUyIDEwMDY0NAogLS0tIGEvY3J5cHRvL2V2cC9ldnBfZW5j LmMKICsrKyBiL2NyeXB0by9ldnAvZXZwX2VuYy5jCi1AQCAtMTc2Miw3ICsxNzYyLDEyIEBAIGlu dCBFVlBfQ0lQSEVSX0NUWF9yYW5kX2tleShFVlBfQ0lQSEVSX0NUWCAqY3R4LCB1bnNpZ25lZCBj aGFyICprZXkpCitAQCAtMTc1Niw3ICsxNzU2LDEyIEBAIGludCBFVlBfQ0lQSEVSX0NUWF9yYW5k X2tleShFVlBfQ0lQSEVSX0NUWCAqY3R4LCB1bnNpZ25lZCBjaGFyICprZXkpCiAgI2VuZGlmIC8q IEZJUFNfTU9EVUxFICovCiAgfQogIApAQCAtNTMsMTAgKzUzLDEwIEBAIGluZGV4IGVlZTAwYTA3 ODAuLjdjNTE3ODY1MTUgMTAwNjQ0CiAgICAgIEVWUF9DSVBIRVJfQ1RYICpvdXQgPSBFVlBfQ0lQ SEVSX0NUWF9uZXcoKTsKICAKIGRpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvMDEtdGVzdF9zeW1i b2xfcHJlc2VuY2UudCBiL3Rlc3QvcmVjaXBlcy8wMS10ZXN0X3N5bWJvbF9wcmVzZW5jZS50Ci1p bmRleCA3ZTJmNjVjY2NiLi5jYzk0N2Q0ODIxIDEwMDY0NAoraW5kZXggNzlhNTU4NDA5OS4uYTcw ZWJlZjQzMSAxMDA2NDQKIC0tLSBhL3Rlc3QvcmVjaXBlcy8wMS10ZXN0X3N5bWJvbF9wcmVzZW5j ZS50CiArKysgYi90ZXN0L3JlY2lwZXMvMDEtdGVzdF9zeW1ib2xfcHJlc2VuY2UudAotQEAgLTEz MSw2ICsxMzEsNyBAQCBmb3JlYWNoIChzb3J0IGtleXMgJXN0bGlibmFtZSkgeworQEAgLTEzMyw2 ICsxMzMsNyBAQCBmb3JlYWNoIChzb3J0IGtleXMgJXN0bGlibmFtZSkgewogICAgICAgICAgICAg ICAgICAgIHN8IC4qfHw7CiAgICAgICAgICAgICAgICAgICAgIyBEcm9wIE9wZW5TU0wgZHluYW1p YyB2ZXJzaW9uIGluZm9ybWF0aW9uIGlmIHRoZXJlIGlzIGFueQogICAgICAgICAgICAgICAgICAg IHN8XEBcQC4rJHx8OwpAQCAtNzksNSArNzksNSBAQCBpbmRleCBjZWI0OTQ4ODM5Li5lYWIzOTg3 YTZiIDEwMDY0NAogIEJOX3NpZ25lZF9ibjJiaW4gICAgICAgICAgICAgICAgICAgICAgICA1NTY4 CTNfMl8wCUVYSVNUOjpGVU5DVElPTjoKICBCTl9zaWduZWRfbGViaW4yYm4gICAgICAgICAgICAg ICAgICAgICAgNTU2OQkzXzJfMAlFWElTVDo6RlVOQ1RJT046CiAtLSAKLTIuNTEuMAorMi41Mi4w CiAKCmRpZmYgLS1naXQgYS8wMDE0LVJILUV4cG9ydC10d28tc3ltYm9scy1mb3ItT1BFTlNTTF9z dHItbi1jYXNlY21wLnBhdGNoIGIvMDAxNC1SSC1FeHBvcnQtdHdvLXN5bWJvbHMtZm9yLU9QRU5T U0xfc3RyLW4tY2FzZWNtcC5wYXRjaAppbmRleCAxNGU2ODZkLi4zMmYzYzE4IDEwMDY0NAotLS0g YS8wMDE0LVJILUV4cG9ydC10d28tc3ltYm9scy1mb3ItT1BFTlNTTF9zdHItbi1jYXNlY21wLnBh dGNoCisrKyBiLzAwMTQtUkgtRXhwb3J0LXR3by1zeW1ib2xzLWZvci1PUEVOU1NMX3N0ci1uLWNh c2VjbXAucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDEwNDY5N2Q2MTMyMzJkZTZhOTZjMmM4 MzIzZWFjNzIxYzE5ZGJhYTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDUxZDQ4NWRl NmI5ZTJhNzE0NjEwZGFhODg2YmRlODJiNDUwMTZjMGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CiBGcm9tOiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiBEYXRlOiBUaHUsIDEzIEZlYiAy MDI1IDE2OjA5OjA5IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0ggMTQvNTldIFJIOiBFeHBvcnQgdHdv IHN5bWJvbHMgZm9yIE9QRU5TU0xfc3RyW25dY2FzZWNtcAorU3ViamVjdDogW1BBVENIIDE0LzU3 XSBSSDogRXhwb3J0IHR3byBzeW1ib2xzIGZvciBPUEVOU1NMX3N0cltuXWNhc2VjbXAKIAogV2Ug YWNjaWRlbnRhbGx5IGV4cG9ydGVkIHRoZSBzeW1ib2xzIHdpdGggdGhlIGluY29ycmVjdCB2ZXJp c29uIG51bWJlcgogaW4gYW4gZWFybHkgdmVyc2lvbiBvZiBSSEVMLTkgc28gd2UgbmVlZCB0byBr ZWVwIHRoZSB3cm9uZyBzeW1ib2xzIGZvcgpAQCAtMTcsNyArMTcsNyBAQCB3aXRoIHVwc3RyZWFt LgogIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgdGVzdC9yZWNpcGVzLzAxLXRlc3Rfc3lt Ym9sX3ByZXNlbmNlLnQKIAogZGlmZiAtLWdpdCBhL2NyeXB0by9ldnAvZGlnZXN0LmMgYi9jcnlw dG8vZXZwL2RpZ2VzdC5jCi1pbmRleCAzYzgwYjlkZmUxLi44ZWU5ZGI3M2RkIDEwMDY0NAoraW5k ZXggOGE2ZTg3YzExYS4uNjM4ZGFjODg0NCAxMDA2NDQKIC0tLSBhL2NyeXB0by9ldnAvZGlnZXN0 LmMKICsrKyBiL2NyeXB0by9ldnAvZGlnZXN0LmMKIEBAIC01NzMsNyArNTczLDcgQEAgaW50IEVW UF9EaWdlc3RTcXVlZXplKEVWUF9NRF9DVFggKmN0eCwgdW5zaWduZWQgY2hhciAqbWQsIHNpemVf dCBzaXplKQpAQCAtMzAsMTAgKzMwLDEwIEBAIGluZGV4IDNjODBiOWRmZTEuLjhlZTlkYjczZGQg MTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgICBzeW12ZXIgKCJFVlBfTURfQ1RYX2R1cEBPUEVO U1NMXzMuMi4wIikpKQogICNlbmRpZgogZGlmZiAtLWdpdCBhL2NyeXB0by9ldnAvZXZwX2VuYy5j IGIvY3J5cHRvL2V2cC9ldnBfZW5jLmMKLWluZGV4IDdjNTE3ODY1MTUuLjYxOWNmNGYzODUgMTAw NjQ0CitpbmRleCBkNWZmMzRhNGUyLi5iNGVkZDgyNWNkIDEwMDY0NAogLS0tIGEvY3J5cHRvL2V2 cC9ldnBfZW5jLmMKICsrKyBiL2NyeXB0by9ldnAvZXZwX2VuYy5jCi1AQCAtMTc2Myw3ICsxNzYz LDcgQEAgaW50IEVWUF9DSVBIRVJfQ1RYX3JhbmRfa2V5KEVWUF9DSVBIRVJfQ1RYICpjdHgsIHVu c2lnbmVkIGNoYXIgKmtleSkKK0BAIC0xNzU3LDcgKzE3NTcsNyBAQCBpbnQgRVZQX0NJUEhFUl9D VFhfcmFuZF9rZXkoRVZQX0NJUEhFUl9DVFggKmN0eCwgdW5zaWduZWQgY2hhciAqa2V5KQogIH0K ICAKICBFVlBfQ0lQSEVSX0NUWApAQCAtNDMsMTAgKzQzLDEwIEBAIGluZGV4IDdjNTE3ODY1MTUu LjYxOWNmNGYzODUgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgICBzeW12ZXIgKCJFVlBfQ0lQ SEVSX0NUWF9kdXBAT1BFTlNTTF8zLjIuMCIpKSkKICAjZW5kaWYKIGRpZmYgLS1naXQgYS9jcnlw dG8vb19zdHIuYyBiL2NyeXB0by9vX3N0ci5jCi1pbmRleCA5M2FmNzM1NjFmLi44NjQ0MmE5Mzll IDEwMDY0NAoraW5kZXggMzU1NDA2MzBiZS4uZmRlNDM0MjFlYSAxMDA2NDQKIC0tLSBhL2NyeXB0 by9vX3N0ci5jCiArKysgYi9jcnlwdG8vb19zdHIuYwotQEAgLTQwMyw3ICs0MDMsMTIgQEAgaW50 IG9wZW5zc2xfc3RyZXJyb3JfcihpbnQgZXJybnVtLCBjaGFyICpidWYsIHNpemVfdCBidWZsZW4p CitAQCAtNDA2LDcgKzQwNiwxMiBAQCBpbnQgb3BlbnNzbF9zdHJlcnJvcl9yKGludCBlcnJudW0s IGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbikKICAjZW5kaWYKICB9CiAgCkBAIC02MCw3ICs2MCw3 IEBAIGluZGV4IDkzYWY3MzU2MWYuLjg2NDQyYTkzOWUgMTAwNjQ0CiAgewogICAgICBpbnQgdDsK ICAKLUBAIC00MTMsNyArNDE4LDEyIEBAIGludCBPUEVOU1NMX3N0cmNhc2VjbXAoY29uc3QgY2hh ciAqczEsIGNvbnN0IGNoYXIgKnMyKQorQEAgLTQxNiw3ICs0MjEsMTIgQEAgaW50IE9QRU5TU0xf c3RyY2FzZWNtcChjb25zdCBjaGFyICpzMSwgY29uc3QgY2hhciAqczIpCiAgICAgIHJldHVybiB0 OwogIH0KICAKQEAgLTc3LDEwICs3NywxMCBAQCBpbmRleCA5M2FmNzM1NjFmLi44NjQ0MmE5Mzll IDEwMDY0NAogZGlmZiAtLWdpdCBhL3Rlc3QvcmVjaXBlcy8wMS10ZXN0X3N5bWJvbF9wcmVzZW5j ZS50IGIvdGVzdC9yZWNpcGVzLzAxLXRlc3Rfc3ltYm9sX3ByZXNlbmNlLnQKIG9sZCBtb2RlIDEw MDY0NAogbmV3IG1vZGUgMTAwNzU1Ci1pbmRleCBjYzk0N2Q0ODIxLi5kZTJkY2Q5MGMyCitpbmRl eCBhNzBlYmVmNDMxLi5hMDk1MjM5NjUyCiAtLS0gYS90ZXN0L3JlY2lwZXMvMDEtdGVzdF9zeW1i b2xfcHJlc2VuY2UudAogKysrIGIvdGVzdC9yZWNpcGVzLzAxLXRlc3Rfc3ltYm9sX3ByZXNlbmNl LnQKLUBAIC0xODYsNyArMTg2LDcgQEAgZm9yZWFjaCAoc29ydCBrZXlzICVzdGxpYm5hbWUpIHsK K0BAIC0xODgsNyArMTg4LDcgQEAgZm9yZWFjaCAoc29ydCBrZXlzICVzdGxpYm5hbWUpIHsKICAg ICAgfQogIH0KICBteSBAZHVwbGljYXRlcyA9IHNvcnQgZ3JlcCB7ICRzeW1ib2xzeyRffSA+IDEg fSBrZXlzICVzeW1ib2xzOwpAQCAtMTA0LDUgKzEwNCw1IEBAIGluZGV4IGVhYjM5ODdhNmIuLmQz NzdkNTQyZGIgMTAwNjQ0CiAgUkFORF9zZXQwX3B1YmxpYyAgICAgICAgICAgICAgICAgICAgICAg IDU1NTkJM18xXzAJRVhJU1Q6OkZVTkNUSU9OOgogIFJBTkRfc2V0MF9wcml2YXRlICAgICAgICAg ICAgICAgICAgICAgICA1NTYwCTNfMV8wCUVYSVNUOjpGVU5DVElPTjoKIC0tIAotMi41MS4wCisy LjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAwMTUtUkgtVE1QLUtUTFMtdGVzdC1za2lwLnBhdGNoIGIv MDAxNS1SSC1UTVAtS1RMUy10ZXN0LXNraXAucGF0Y2gKaW5kZXggNzQ3ZWI4MS4uZmZhYTkyYiAx MDA2NDQKLS0tIGEvMDAxNS1SSC1UTVAtS1RMUy10ZXN0LXNraXAucGF0Y2gKKysrIGIvMDAxNS1S SC1UTVAtS1RMUy10ZXN0LXNraXAucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDEwZTdiMjY0 Mzc3MmNhMWM0ZWUwNjlhNjI1NzU0YmZlYjk3MWQ5NjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tIGE2ZDQzZTJkOTRiYTFmOGZmNTdkZmI0MDNkOWQ3MGQ5ZjZmMGY0MzMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCiBGcm9tOiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiBEYXRl OiBUaHUsIDEzIEZlYiAyMDI1IDE4OjExOjE5IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0ggMTUvNTld IFJIOiBUTVAgS1RMUyB0ZXN0IHNraXAKK1N1YmplY3Q6IFtQQVRDSCAxNS81N10gUkg6IFRNUCBL VExTIHRlc3Qgc2tpcAogCiBGcm9tLWRpc3QtZ2l0LWNvbW1pdDogODMzODJjYzJhMDlkZmNjNTVk NTc0MGZkMDhmZDk1YzIzMzNhNTZjOQogLS0tCkBAIC05LDEwICs5LDEwIEBAIEZyb20tZGlzdC1n aXQtY29tbWl0OiA4MzM4MmNjMmEwOWRmY2M1NWQ1NzQwZmQwOGZkOTVjMjMzM2E1NmM5CiAgMSBm aWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdp dCBhL3Rlc3Qvc3NsYXBpdGVzdC5jIGIvdGVzdC9zc2xhcGl0ZXN0LmMKLWluZGV4IGZiZTI4NGI5 ZmYuLjA1YzVhYjI1NmYgMTAwNjQ0CitpbmRleCA5OTNkOWU2MDE4Li5hOTQwNjFkOTc0IDEwMDY0 NAogLS0tIGEvdGVzdC9zc2xhcGl0ZXN0LmMKICsrKyBiL3Rlc3Qvc3NsYXBpdGVzdC5jCi1AQCAt MTAzMyw5ICsxMDMzLDEwIEBAIHN0YXRpYyBpbnQgZXhlY3V0ZV90ZXN0X2xhcmdlX21lc3NhZ2Uo Y29uc3QgU1NMX01FVEhPRCAqc21ldGgsCitAQCAtMTAyOSw5ICsxMDI5LDEwIEBAIGVuZDoKICAv KiBzb2NrIG11c3QgYmUgY29ubmVjdGVkICovCiAgc3RhdGljIGludCBrdGxzX2Noa19wbGF0Zm9y bShpbnQgc29jaykKICB7CkBAIC0yNiw1ICsyNiw1IEBAIGluZGV4IGZiZTI4NGI5ZmYuLjA1YzVh YjI1NmYgMTAwNjQ0CiAgCiAgc3RhdGljIGludCBwaW5nX3BvbmdfcXVlcnkoU1NMICpjbGllbnRz c2wsIFNTTCAqc2VydmVyc3NsKQogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEv MDAxNi1SSC1BbGxvdy1kaXNhYmxpbmctb2YtU0hBMS1zaWduYXR1cmVzLnBhdGNoIGIvMDAxNi1S SC1BbGxvdy1kaXNhYmxpbmctb2YtU0hBMS1zaWduYXR1cmVzLnBhdGNoCmluZGV4IDZmYThiZjcu LjA4Yjg3YzMgMTAwNjQ0Ci0tLSBhLzAwMTYtUkgtQWxsb3ctZGlzYWJsaW5nLW9mLVNIQTEtc2ln bmF0dXJlcy5wYXRjaAorKysgYi8wMDE2LVJILUFsbG93LWRpc2FibGluZy1vZi1TSEExLXNpZ25h dHVyZXMucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDZkOTM4MDM0OTJmMTllZWVlZDhjYWZk NDk0OGJhZGY4NWE3NDI5YzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDFlZmUzNDkz MTY3OTM0ZWU3N2E1MmViYTlhNmIyYTQ5Mjg4NWE5NTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CiBGcm9tOiBEbWl0cnkgQmVseWF2c2tpeSA8ZGJlbHlhdnNAcmVkaGF0LmNvbT4KIERhdGU6IE1v biwgMjEgQXVnIDIwMjMgMTM6MDc6MDcgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxNi81OV0gUkg6 IEFsbG93IGRpc2FibGluZyBvZiBTSEExIHNpZ25hdHVyZXMKK1N1YmplY3Q6IFtQQVRDSCAxNi81 N10gUkg6IEFsbG93IGRpc2FibGluZyBvZiBTSEExIHNpZ25hdHVyZXMKIAogUGF0Y2gtbmFtZTog MDA0OS1BbGxvdy1kaXNhYmxpbmctb2YtU0hBMS1zaWduYXR1cmVzLnBhdGNoCiBQYXRjaC1pZDog NDkKQEAgLTE1LDcgKzE1LDcgQEAgRnJvbS1kaXN0LWdpdC1jb21taXQ6IDk0MDliYzcwNDRjZjRi NTc3MzYzOWNjZTIwZjUxMzk5ODg4YzQ1ZmQKICBjcnlwdG8vZXZwL3BtZXRoX2xpYi5jICAgICAg ICAgICAgICAgICAgICAgICAgfCAxNSArKysrCiAgZG9jL21hbjUvY29uZmlnLnBvZCAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKwogIGluY2x1ZGUvY3J5cHRvL2NvbnRleHQuaCAg ICAgICAgICAgICAgICAgICAgICB8ICA4ICsrKwotIGluY2x1ZGUvaW50ZXJuYWwvY3J5cHRsaWIu aCAgICAgICAgICAgICAgICAgICB8ICAzICstCisgaW5jbHVkZS9pbnRlcm5hbC9jcnlwdGxpYi5o ICAgICAgICAgICAgICAgICAgIHwgMzMgKysrKy0tLS0tCiAgaW5jbHVkZS9pbnRlcm5hbC9zc2xj b25mLmggICAgICAgICAgICAgICAgICAgIHwgIDQgKysKICBwcm92aWRlcnMvY29tbW9uL2luY2x1 ZGUvcHJvdi9zZWN1cml0eWNoZWNrLmggfCAgMiArCiAgcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0 eWNoZWNrLmMgICAgICAgICAgICAgIHwgMTQgKysrKwpAQCAtMjUsMTAgKzI1LDEwIEBAIEZyb20t ZGlzdC1naXQtY29tbWl0OiA5NDA5YmM3MDQ0Y2Y0YjU3NzM2MzljY2UyMGY1MTM5OTg4OGM0NWZk CiAgcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jIHwgMTQgKysr LQogIHNzbC90MV9saWIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsr KwogIHV0aWwvbGliY3J5cHRvLm51bSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICsK LSAxNiBmaWxlcyBjaGFuZ2VkLCAxODMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKyAx NiBmaWxlcyBjaGFuZ2VkLCAxOTggaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCiAKIGRp ZmYgLS1naXQgYS9jcnlwdG8vY29udGV4dC5jIGIvY3J5cHRvL2NvbnRleHQuYwotaW5kZXggNjE0 YzhhMmM4OC4uMzIzNjE1ZTMwMCAxMDA2NDQKK2luZGV4IDYyZTYwZjM2MjAuLjRkYjlkMjRiNzgg MTAwNjQ0CiAtLS0gYS9jcnlwdG8vY29udGV4dC5jCiArKysgYi9jcnlwdG8vY29udGV4dC5jCiBA QCAtODUsNiArODUsOCBAQCBzdHJ1Y3Qgb3NzbF9saWJfY3R4X3N0IHsKQEAgLTc0LDcgKzc0LDcg QEAgaW5kZXggNjE0YzhhMmM4OC4uMzIzNjE1ZTMwMCAxMDA2NDQKICAgICAgLyogTG93IHByaW9y aXR5LiAqLwogICNpZm5kZWYgRklQU19NT0RVTEUKICAgICAgY3R4LT5jaGlsZF9wcm92aWRlciA9 IG9zc2xfY2hpbGRfcHJvdl9jdHhfbmV3KGN0eCk7Ci1AQCAtMzgyLDYgKzQwNCwxMSBAQCBzdGF0 aWMgdm9pZCBjb250ZXh0X2RlaW5pdF9vYmpzKE9TU0xfTElCX0NUWCAqY3R4KQorQEAgLTM4MSw2 ICs0MDMsMTEgQEAgc3RhdGljIHZvaWQgY29udGV4dF9kZWluaXRfb2JqcyhPU1NMX0xJQl9DVFgg KmN0eCkKICAgICAgfQogICNlbmRpZgogIApAQCAtODYsNyArODYsNyBAQCBpbmRleCA2MTRjOGEy Yzg4Li4zMjM2MTVlMzAwIDEwMDY0NAogICAgICAvKiBMb3cgcHJpb3JpdHkuICovCiAgI2lmbmRl ZiBGSVBTX01PRFVMRQogICAgICBpZiAoY3R4LT5jaGlsZF9wcm92aWRlciAhPSBOVUxMKSB7Ci1A QCAtNjYwLDYgKzY4Nyw5IEBAIHZvaWQgKm9zc2xfbGliX2N0eF9nZXRfZGF0YShPU1NMX0xJQl9D VFggKmN0eCwgaW50IGluZGV4KQorQEAgLTY1OCw2ICs2ODUsOSBAQCB2b2lkICpvc3NsX2xpYl9j dHhfZ2V0X2RhdGEoT1NTTF9MSUJfQ1RYICpjdHgsIGludCBpbmRleCkKICAgICAgY2FzZSBPU1NM X0xJQl9DVFhfQ09NUF9NRVRIT0RTOgogICAgICAgICAgcmV0dXJuICh2b2lkICopJmN0eC0+Y29t cF9tZXRob2RzOwogIApAQCAtOTYsNyArOTYsNyBAQCBpbmRleCA2MTRjOGEyYzg4Li4zMjM2MTVl MzAwIDEwMDY0NAogICAgICBkZWZhdWx0OgogICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgIH0K LUBAIC03MTQsMyArNzQ0LDQzIEBAIHZvaWQgT1NTTF9MSUJfQ1RYX3NldF9jb25mX2RpYWdub3N0 aWNzKE9TU0xfTElCX0NUWCAqbGliY3R4LCBpbnQgdmFsdWUpCitAQCAtNzEyLDMgKzc0Miw0MyBA QCB2b2lkIE9TU0xfTElCX0NUWF9zZXRfY29uZl9kaWFnbm9zdGljcyhPU1NMX0xJQl9DVFggKmxp YmN0eCwgaW50IHZhbHVlKQogICAgICAgICAgcmV0dXJuOwogICAgICBsaWJjdHgtPmNvbmZfZGlh Z25vc3RpY3MgPSB2YWx1ZTsKICB9CkBAIC0xNDEsNyArMTQxLDcgQEAgaW5kZXggNjE0YzhhMmM4 OC4uMzIzNjE1ZTMwMCAxMDA2NDQKICsgICAgcmV0dXJuIDE7CiArfQogZGlmZiAtLWdpdCBhL2Ny eXB0by9ldnAvZXZwX2NuZi5jIGIvY3J5cHRvL2V2cC9ldnBfY25mLmMKLWluZGV4IDBlN2ZlNjRj ZjkuLmI5ZDNiNmQyMjYgMTAwNjQ0CitpbmRleCAxODRiYWI5MzNjLi4yYWU3Y2NlYTE1IDEwMDY0 NAogLS0tIGEvY3J5cHRvL2V2cC9ldnBfY25mLmMKICsrKyBiL2NyeXB0by9ldnAvZXZwX2NuZi5j CiBAQCAtMTAsNiArMTAsNyBAQApAQCAtMTcwLDIwICsxNzAsMjAgQEAgaW5kZXggMGU3ZmU2NGNm OS4uYjlkM2I2ZDIyNiAxMDA2NDQKICsgICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2Ugewog ICAgICAgICAgICAgIEVSUl9yYWlzZV9kYXRhKEVSUl9MSUJfRVZQLCBFVlBfUl9VTktOT1dOX09Q VElPTiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZT0lcywgdmFsdWU9JXMiLCBv dmFsLT5uYW1lLCBvdmFsLT52YWx1ZSk7CisgICAgICAgICAgICAgICAgICJuYW1lPSVzLCB2YWx1 ZT0lcyIsIG92YWwtPm5hbWUsIG92YWwtPnZhbHVlKTsKIGRpZmYgLS1naXQgYS9jcnlwdG8vZXZw L21fc2lndmVyLmMgYi9jcnlwdG8vZXZwL21fc2lndmVyLmMKLWluZGV4IGMyN2VkNmRiZTkuLmVh MWY2Y2JlZDMgMTAwNjQ0CitpbmRleCAwYTQzM2FkYmU0Li42YzlmNzE1NjliIDEwMDY0NAogLS0t IGEvY3J5cHRvL2V2cC9tX3NpZ3Zlci5jCiArKysgYi9jcnlwdG8vZXZwL21fc2lndmVyLmMKIEBA IC0xNSw2ICsxNSw3IEBACiAgI2luY2x1ZGUgImludGVybmFsL3Byb3ZpZGVyLmgiCi0gI2luY2x1 ZGUgImludGVybmFsL251bWJlcnMuaCIgICAvKiBpbmNsdWRlcyBTSVpFX01BWCAqLworICNpbmNs dWRlICJpbnRlcm5hbC9udW1iZXJzLmgiIC8qIGluY2x1ZGVzIFNJWkVfTUFYICovCiAgI2luY2x1 ZGUgImV2cF9sb2NhbC5oIgogKyNpbmNsdWRlICJpbnRlcm5hbC9zc2xjb25mLmgiCiAgCiAgc3Rh dGljIGludCB1cGRhdGUoRVZQX01EX0NUWCAqY3R4LCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3Qg ZGF0YWxlbikKICB7Ci1AQCAtMjUzLDYgKzI1NCwxOSBAQCBzdGF0aWMgaW50IGRvX3NpZ3Zlcl9p bml0KEVWUF9NRF9DVFggKmN0eCwgRVZQX1BLRVlfQ1RYICoqcGN0eCwKK0BAIC0yNTEsNiArMjUy LDE5IEBAIHJlaW5pdGlhbGl6ZToKICAgICAgfQogIAogICAgICBkZXNjID0gc2lnbmF0dXJlLT5k ZXNjcmlwdGlvbiAhPSBOVUxMID8gc2lnbmF0dXJlLT5kZXNjcmlwdGlvbiA6ICIiOwpAQCAtMjA0 LDcgKzIwNCw3IEBAIGluZGV4IGMyN2VkNmRiZTkuLmVhMWY2Y2JlZDMgMTAwNjQ0CiAgICAgICAg ICBpZiAoc2lnbmF0dXJlLT5kaWdlc3RfdmVyaWZ5X2luaXQgPT0gTlVMTCkgewogICAgICAgICAg ICAgIEVSUl9yYWlzZV9kYXRhKEVSUl9MSUJfRVZQLCBFVlBfUl9QUk9WSURFUl9TSUdOQVRVUkVf Tk9UX1NVUFBPUlRFRCwKIGRpZmYgLS1naXQgYS9jcnlwdG8vZXZwL3BtZXRoX2xpYi5jIGIvY3J5 cHRvL2V2cC9wbWV0aF9saWIuYwotaW5kZXggMDhjMGQ2YTdiMi4uYjkzNmFkNDQ0NyAxMDA2NDQK K2luZGV4IDJhMGZjM2VmMGIuLjIwZTgwYTQ0N2QgMTAwNjQ0CiAtLS0gYS9jcnlwdG8vZXZwL3Bt ZXRoX2xpYi5jCiArKysgYi9jcnlwdG8vZXZwL3BtZXRoX2xpYi5jCiBAQCAtMzMsNiArMzMsNyBA QApAQCAtMjE1LDcgKzIxNSw3IEBAIGluZGV4IDA4YzBkNmE3YjIuLmI5MzZhZDQ0NDcgMTAwNjQ0 CiAgI2luY2x1ZGUgImV2cF9sb2NhbC5oIgogIAogICNpZm5kZWYgRklQU19NT0RVTEUKLUBAIC05 NjMsNiArOTY0LDIwIEBAIHN0YXRpYyBpbnQgZXZwX3BrZXlfY3R4X3NldF9tZChFVlBfUEtFWV9D VFggKmN0eCwgY29uc3QgRVZQX01EICptZCwKK0BAIC05NTIsNiArOTUzLDIwIEBAIHN0YXRpYyBp bnQgZXZwX3BrZXlfY3R4X3NldF9tZChFVlBfUEtFWV9DVFggKmN0eCwgY29uc3QgRVZQX01EICpt ZCwKICAgICAgICAgIHJldHVybiAtMjsKICAgICAgfQogIApAQCAtMjc3LDI2ICsyNzcsNTcgQEAg aW5kZXggMWMxODE5MzNlMC4uMzViZGZkYjUyZCAxMDA2NDQKICsjZW5kaWYKICsKIGRpZmYgLS1n aXQgYS9pbmNsdWRlL2ludGVybmFsL2NyeXB0bGliLmggYi9pbmNsdWRlL2ludGVybmFsL2NyeXB0 bGliLmgKLWluZGV4IGRhNDQyZjhhODYuLjQ0YTVlOGE5OWEgMTAwNjQ0CitpbmRleCA1MGFlYzdl N2Y0Li45Njc4ZTE1MGUwIDEwMDY0NAogLS0tIGEvaW5jbHVkZS9pbnRlcm5hbC9jcnlwdGxpYi5o CiArKysgYi9pbmNsdWRlL2ludGVybmFsL2NyeXB0bGliLmgKLUBAIC0xMjAsNyArMTIwLDggQEAg dHlwZWRlZiBzdHJ1Y3Qgb3NzbF9leF9kYXRhX2dsb2JhbF9zdCB7Ci0gIyBkZWZpbmUgT1NTTF9M SUJfQ1RYX0RFQ09ERVJfQ0FDSEVfSU5ERVggICAgICAgICAgIDIwCi0gIyBkZWZpbmUgT1NTTF9M SUJfQ1RYX0NPTVBfTUVUSE9EUyAgICAgICAgICAgICAgICAgIDIxCi0gIyBkZWZpbmUgT1NTTF9M SUJfQ1RYX0lORElDQVRPUl9DQl9JTkRFWCAgICAgICAgICAgIDIyCi0tIyBkZWZpbmUgT1NTTF9M SUJfQ1RYX01BWF9JTkRFWEVTICAgICAgICAgICAgICAgICAgIDIyCi0rIyBkZWZpbmUgT1NTTF9M SUJfQ1RYX0xFR0FDWV9ESUdFU1RfU0lHTkFUVVJFU19JTkRFWCAyMwotKyMgZGVmaW5lIE9TU0xf TElCX0NUWF9NQVhfSU5ERVhFUyAgICAgICAgICAgICAgICAgICAyMworQEAgLTEwMiwyMyArMTAy LDI0IEBAIHR5cGVkZWYgc3RydWN0IG9zc2xfZXhfZGF0YV9nbG9iYWxfc3QgeworICNkZWZpbmUg T1NTTF9MSUJfQ1RYX0RSQkdfTk9OQ0VfSU5ERVggNgorIC8qIHNsb3QgNyB1bnVzZWQsIHdhcyBD Uk5HIHRlc3QgZGF0YSBhbmQgY2FuIGJlIHJldXNlZCAqLworICNpZmRlZiBGSVBTX01PRFVMRQor LSNkZWZpbmUgT1NTTF9MSUJfQ1RYX1RIUkVBRF9FVkVOVF9IQU5ETEVSX0lOREVYIDgKKysjZGVm aW5lIE9TU0xfTElCX0NUWF9USFJFQURfRVZFTlRfSEFORExFUl9JTkRFWCAgICA4CisgI2VuZGlm CistI2RlZmluZSBPU1NMX0xJQl9DVFhfRklQU19QUk9WX0lOREVYIDkKKy0jZGVmaW5lIE9TU0xf TElCX0NUWF9FTkNPREVSX1NUT1JFX0lOREVYIDEwCistI2RlZmluZSBPU1NMX0xJQl9DVFhfREVD T0RFUl9TVE9SRV9JTkRFWCAxMQorLSNkZWZpbmUgT1NTTF9MSUJfQ1RYX1NFTEZfVEVTVF9DQl9J TkRFWCAxMgorLSNkZWZpbmUgT1NTTF9MSUJfQ1RYX0JJT19QUk9WX0lOREVYIDEzCistI2RlZmlu ZSBPU1NMX0xJQl9DVFhfR0xPQkFMX1BST1BFUlRJRVMgMTQKKy0jZGVmaW5lIE9TU0xfTElCX0NU WF9TVE9SRV9MT0FERVJfU1RPUkVfSU5ERVggMTUKKy0jZGVmaW5lIE9TU0xfTElCX0NUWF9QUk9W SURFUl9DT05GX0lOREVYIDE2CistI2RlZmluZSBPU1NMX0xJQl9DVFhfQklPX0NPUkVfSU5ERVgg MTcKKy0jZGVmaW5lIE9TU0xfTElCX0NUWF9DSElMRF9QUk9WSURFUl9JTkRFWCAxOAorLSNkZWZp bmUgT1NTTF9MSUJfQ1RYX1RIUkVBRF9JTkRFWCAxOQorLSNkZWZpbmUgT1NTTF9MSUJfQ1RYX0RF Q09ERVJfQ0FDSEVfSU5ERVggMjAKKy0jZGVmaW5lIE9TU0xfTElCX0NUWF9DT01QX01FVEhPRFMg MjEKKy0jZGVmaW5lIE9TU0xfTElCX0NUWF9JTkRJQ0FUT1JfQ0JfSU5ERVggMjIKKy0jZGVmaW5l IE9TU0xfTElCX0NUWF9NQVhfSU5ERVhFUyAyMgorKyNkZWZpbmUgT1NTTF9MSUJfQ1RYX0ZJUFNf UFJPVl9JTkRFWCAgICAgICAgICAgICAgICA5CisrI2RlZmluZSBPU1NMX0xJQl9DVFhfRU5DT0RF Ul9TVE9SRV9JTkRFWCAgICAgICAgICAgMTAKKysjZGVmaW5lIE9TU0xfTElCX0NUWF9ERUNPREVS X1NUT1JFX0lOREVYICAgICAgICAgICAxMQorKyNkZWZpbmUgT1NTTF9MSUJfQ1RYX1NFTEZfVEVT VF9DQl9JTkRFWCAgICAgICAgICAgIDEyCisrI2RlZmluZSBPU1NMX0xJQl9DVFhfQklPX1BST1Zf SU5ERVggICAgICAgICAgICAgICAgMTMKKysjZGVmaW5lIE9TU0xfTElCX0NUWF9HTE9CQUxfUFJP UEVSVElFUyAgICAgICAgICAgICAxNAorKyNkZWZpbmUgT1NTTF9MSUJfQ1RYX1NUT1JFX0xPQURF Ul9TVE9SRV9JTkRFWCAgICAgIDE1CisrI2RlZmluZSBPU1NMX0xJQl9DVFhfUFJPVklERVJfQ09O Rl9JTkRFWCAgICAgICAgICAgMTYKKysjZGVmaW5lIE9TU0xfTElCX0NUWF9CSU9fQ09SRV9JTkRF WCAgICAgICAgICAgICAgICAxNworKyNkZWZpbmUgT1NTTF9MSUJfQ1RYX0NISUxEX1BST1ZJREVS X0lOREVYICAgICAgICAgIDE4CisrI2RlZmluZSBPU1NMX0xJQl9DVFhfVEhSRUFEX0lOREVYICAg ICAgICAgICAgICAgICAgMTkKKysjZGVmaW5lIE9TU0xfTElCX0NUWF9ERUNPREVSX0NBQ0hFX0lO REVYICAgICAgICAgICAyMAorKyNkZWZpbmUgT1NTTF9MSUJfQ1RYX0NPTVBfTUVUSE9EUyAgICAg ICAgICAgICAgICAgIDIxCisrI2RlZmluZSBPU1NMX0xJQl9DVFhfSU5ESUNBVE9SX0NCX0lOREVY ICAgICAgICAgICAgMjIKKysjZGVmaW5lIE9TU0xfTElCX0NUWF9MRUdBQ1lfRElHRVNUX1NJR05B VFVSRVNfSU5ERVggMjMKKysjZGVmaW5lIE9TU0xfTElCX0NUWF9NQVhfSU5ERVhFUyAgICAgICAg ICAgICAgICAgICAyMwogIAogIE9TU0xfTElCX0NUWCAqb3NzbF9saWJfY3R4X2dldF9jb25jcmV0 ZShPU1NMX0xJQl9DVFggKmN0eCk7CiAgaW50IG9zc2xfbGliX2N0eF9pc19kZWZhdWx0KE9TU0xf TElCX0NUWCAqY3R4KTsKIGRpZmYgLS1naXQgYS9pbmNsdWRlL2ludGVybmFsL3NzbGNvbmYuaCBi L2luY2x1ZGUvaW50ZXJuYWwvc3NsY29uZi5oCi1pbmRleCBmZDdmN2UzMzMxLi4wNTQ2NGIwNjU1 IDEwMDY0NAoraW5kZXggYTdjZWMwMWJmNi4uMDc2ZTEzOWRlNCAxMDA2NDQKIC0tLSBhL2luY2x1 ZGUvaW50ZXJuYWwvc3NsY29uZi5oCiArKysgYi9pbmNsdWRlL2ludGVybmFsL3NzbGNvbmYuaAog QEAgLTE4LDQgKzE4LDggQEAgaW50IGNvbmZfc3NsX25hbWVfZmluZChjb25zdCBjaGFyICpuYW1l LCBzaXplX3QgKmlkeCk7CiAgdm9pZCBjb25mX3NzbF9nZXRfY21kKGNvbnN0IFNTTF9DT05GX0NN RCAqY21kLCBzaXplX3QgaWR4LCBjaGFyICoqY21kc3RyLAotICAgICAgICAgICAgICAgICAgICAg ICBjaGFyICoqYXJnKTsKKyAgICAgY2hhciAqKmFyZyk7CiAgCiArLyogTWV0aG9kcyB0byBzdXBw b3J0IGRpc2FibGluZyBhbGwgc2lnbmF0dXJlcyB3aXRoIGxlZ2FjeSBkaWdlc3RzICovCiAraW50 IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkKE9TU0xfTElCX0NUWCAq bGliY3R4LCBpbnQgbG9hZGNvbmZpZyk7CkBAIC0zMTQsNyArMzQ1LDcgQEAgaW5kZXggMjlhMmI3 ZmJmOC4uYTQ4Y2JiMDNkMiAxMDA2NDQKICsKICtpbnQgcmhfZGlnZXN0X3NpZ25hdHVyZXNfYWxs b3dlZChPU1NMX0xJQl9DVFggKmxpYmN0eCwgaW50IG1kbmlkKTsKIGRpZmYgLS1naXQgYS9wcm92 aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hlY2suYyBiL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHlj aGVjay5jCi1pbmRleCA4ZWY4ZGMyYTgxLi43OWE5YzQ4Y2UyIDEwMDY0NAoraW5kZXggZTg4M2Zm NDg2NS4uNjk4NWJlMDQwMCAxMDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHlj aGVjay5jCiArKysgYi9wcm92aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hlY2suYwogQEAgLTE5LDYg KzE5LDcgQEAKQEAgLTMyNSw3ICszNTYsNyBAQCBpbmRleCA4ZWY4ZGMyYTgxLi43OWE5YzQ4Y2Uy IDEwMDY0NAogIAogICNkZWZpbmUgT1NTTF9GSVBTX01JTl9TRUNVUklUWV9TVFJFTkdUSF9CSVRT IDExMgogIAotQEAgLTIxOSwzICsyMjAsMTYgQEAgaW50IG9zc2xfZGhfY2hlY2tfa2V5KGNvbnN0 IERIICpkaCkKK0BAIC0yMjAsMyArMjIxLDE2IEBAIGludCBvc3NsX2RoX2NoZWNrX2tleShjb25z dCBESCAqZGgpCiAgICAgIHJldHVybiAoTCA9PSAyMDQ4ICYmIChOID09IDIyNCB8fCBOID09IDI1 NikpOwogIH0KICAjZW5kaWYgLyogT1BFTlNTTF9OT19ESCAqLwpAQCAtMzQzLDcgKzM3NCw3IEBA IGluZGV4IDhlZjhkYzJhODEuLjc5YTljNDhjZTIgMTAwNjQ0CiArICAgICByZXR1cm4gbWRuaWQ7 CiArfQogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHljaGVja19kZWZhdWx0 LmMgYi9wcm92aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hlY2tfZGVmYXVsdC5jCi1pbmRleCBkZDcx ZmQ5MWViLi45MDE5ZmQyYTgwIDEwMDY0NAoraW5kZXggNDI4MjNmZmUxNC4uNGI4MGYxNGI0MCAx MDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHljaGVja19kZWZhdWx0LmMKICsr KyBiL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHljaGVja19kZWZhdWx0LmMKIEBAIC0xNSw2ICsx NSw3IEBACkBAIC0zNTUsNyArMzg2LDcgQEAgaW5kZXggZGQ3MWZkOTFlYi4uOTAxOWZkMmE4MCAx MDA2NDQKICAvKiBEaXNhYmxlIHRoZSBzZWN1cml0eSBjaGVja3MgaW4gdGhlIGRlZmF1bHQgcHJv dmlkZXIgKi8KICBpbnQgb3NzbF9maXBzX2NvbmZpZ19zZWN1cml0eWNoZWNrX2VuYWJsZWQoT1NT TF9MSUJfQ1RYICpsaWJjdHgpCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9u cy9zaWduYXR1cmUvZHNhX3NpZy5jIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1 cmUvZHNhX3NpZy5jCi1pbmRleCA4ODdmNmNiYjkwLi41OTVhZWQ3ZTA3IDEwMDY0NAoraW5kZXgg NTFkY2MzZjIzMC4uMzFhODkxMzNhMyAxMDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9pbXBsZW1lbnRh dGlvbnMvc2lnbmF0dXJlL2RzYV9zaWcuYwogKysrIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9u cy9zaWduYXR1cmUvZHNhX3NpZy5jCiBAQCAtMTYzLDYgKzE2Myw3IEBAIHN0YXRpYyBpbnQgZHNh X3NldHVwX21kKFBST1ZfRFNBX0NUWCAqY3R4LApAQCAtMzY3LDcgKzM5OCw3IEBAIGluZGV4IDg4 N2Y2Y2JiOTAuLjU5NWFlZDdlMDcgMTAwNjQ0CiAgICAgICAgICBpZiAobWQgPT0gTlVMTCkgewog ICAgICAgICAgICAgIEVSUl9yYWlzZV9kYXRhKEVSUl9MSUJfUFJPViwgUFJPVl9SX0lOVkFMSURf RElHRVNULAogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJl L2VjZHNhX3NpZy5jIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvZWNkc2Ff c2lnLmMKLWluZGV4IDczYmZiZjRhYTkuLjg4ZDgzMjc1YjEgMTAwNjQ0CitpbmRleCAwYzA0ZmM0 ZWM2Li4yYTRmYWY0YTcxIDEwMDY0NAogLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9z aWduYXR1cmUvZWNkc2Ffc2lnLmMKICsrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2ln bmF0dXJlL2VjZHNhX3NpZy5jCiBAQCAtMTk3LDEzICsxOTcsMTUgQEAgc3RhdGljIGludCBlY2Rz YV9zZXR1cF9tZChQUk9WX0VDRFNBX0NUWCAqY3R4LApAQCAtMzgxLDcgKzQxMiw3IEBAIGluZGV4 IDczYmZiZjRhYTkuLjg4ZDgzMjc1YjEgMTAwNjQ0CiArICAgIC8qIEtFQ0NBSy0yNTYgaXMgZXhw bGljaXRseSBhbGxvd2VkIGZvciBFQ0RTQSBkZXNwaXRlIGl0IGRvZXNuJ3QgaGF2ZSBhIE5JRCov CiArICAgIGlmIChtZF9uaWQgPD0gMCAmJiAhKEVWUF9NRF9pc19hKG1kLCAiS0VDQ0FLLTI1NiIp KSkgewogICAgICAgICAgRVJSX3JhaXNlX2RhdGEoRVJSX0xJQl9QUk9WLCBQUk9WX1JfRElHRVNU X05PVF9BTExPV0VELAotICAgICAgICAgICAgICAgICAgICAgICAgImRpZ2VzdD0lcyIsIG1kbmFt ZSk7CisgICAgICAgICAgICAgImRpZ2VzdD0lcyIsIG1kbmFtZSk7CiAgICAgICAgICBnb3RvIGVy cjsKICAgICAgfQogLSNlbmRpZgpAQCAtMzkwLDcgKzQyMSw3IEBAIGluZGV4IDczYmZiZjRhYTku Ljg4ZDgzMjc1YjEgMTAwNjQ0CiAgICAgIGlmIChFVlBfTURfeG9mKG1kKSkgewogICAgICAgICAg RVJSX3JhaXNlKEVSUl9MSUJfUFJPViwgUFJPVl9SX1hPRl9ESUdFU1RTX05PVF9BTExPV0VEKTsK IGRpZmYgLS1naXQgYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2ln LmMgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMKLWluZGV4 IGQ4MzU3Y2ZlMTUuLjI5YmU1ZjUwMjggMTAwNjQ0CitpbmRleCBmY2RmZWJiYmZmLi5iYmRkMDM3 NzI4IDEwMDY0NAogLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNh X3NpZy5jCiArKysgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2ln LmMKIEBAIC0yNiw2ICsyNiw3IEBACkBAIC00MTcsOSArNDQ4LDkgQEAgaW5kZXggZDgzNTdjZmUx NS4uMjliZTVmNTAyOCAxMDA2NDQKICsgICAgICAgIG1kX25pZCA9IHJoX2RpZ2VzdF9zaWduYXR1 cmVzX2FsbG93ZWQoY3R4LT5saWJjdHgsIG1kX25pZCk7CiArICAgICAgICBpZiAobWRfbmlkIDw9 IDApIHsKICAgICAgICAgICAgICBFUlJfcmFpc2VfZGF0YShFUlJfTElCX1BST1YsIFBST1ZfUl9E SUdFU1RfTk9UX0FMTE9XRUQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpZ2VzdD0l cyIsIG1kbmFtZSk7CisgICAgICAgICAgICAgICAgICJkaWdlc3Q9JXMiLCBtZG5hbWUpOwogICAg ICAgICAgICAgIGdvdG8gZXJyOwotQEAgLTE3NjUsOCArMTc2OCwxMyBAQCBzdGF0aWMgaW50IHJz YV9zZXRfY3R4X3BhcmFtcyh2b2lkICp2cHJzYWN0eCwgY29uc3QgT1NTTF9QQVJBTSBwYXJhbXNb XSkKK0BAIC0xNzYwLDggKzE3NjMsMTMgQEAgc3RhdGljIGludCByc2Ffc2V0X2N0eF9wYXJhbXMo dm9pZCAqdnByc2FjdHgsIGNvbnN0IE9TU0xfUEFSQU0gcGFyYW1zW10pCiAgICAgIHByc2FjdHgt PnBhZF9tb2RlID0gcGFkX21vZGU7CiAgCiAgICAgIGlmIChwcnNhY3R4LT5tZCA9PSBOVUxMICYm IHBtZG5hbWUgPT0gTlVMTApAQCAtNDM2LDcgKzQ2Nyw3IEBAIGluZGV4IGQ4MzU3Y2ZlMTUuLjI5 YmU1ZjUwMjggMTAwNjQ0CiAgICAgIGlmIChwbWdmMW1kbmFtZSAhPSBOVUxMCiAgICAgICAgICAm JiAhcnNhX3NldHVwX21nZjFfbWQocHJzYWN0eCwgcG1nZjFtZG5hbWUsIHBtZ2YxbWRwcm9wcykp CiBkaWZmIC0tZ2l0IGEvc3NsL3QxX2xpYi5jIGIvc3NsL3QxX2xpYi5jCi1pbmRleCAyZjcxZjk1 NDM4Li5iZWE1Y2FiMjUzIDEwMDY0NAoraW5kZXggY2Q0NzFhNjM2ZC4uMzVkMGE2ZjFiYiAxMDA2 NDQKIC0tLSBhL3NzbC90MV9saWIuYwogKysrIGIvc3NsL3QxX2xpYi5jCiBAQCAtMjEsNiArMjEs NyBAQApAQCAtNDQ3LDcgKzQ3OCw3IEBAIGluZGV4IDJmNzFmOTU0MzguLmJlYTVjYWIyNTMgMTAw NjQ0CiAgI2luY2x1ZGUgImludGVybmFsL25lbGVtLmgiCiAgI2luY2x1ZGUgImludGVybmFsL3Np emVzLmgiCiAgI2luY2x1ZGUgImludGVybmFsL3Rsc2dyb3Vwcy5oIgotQEAgLTIxNzgsNiArMjE3 OSw3IEBAIGludCBzc2xfc2V0dXBfc2lnYWxncyhTU0xfQ1RYICpjdHgpCitAQCAtMjE3NSw2ICsy MTc2LDcgQEAgaW50IHNzbF9zZXR1cF9zaWdhbGdzKFNTTF9DVFggKmN0eCkKICAgICAgRVZQX1BL RVkgKnRtcGtleSA9IEVWUF9QS0VZX25ldygpOwogICAgICBpbnQgaXN0bHM7CiAgICAgIGludCBy ZXQgPSAwOwpAQCAtNDU1LDE1ICs0ODYsMTUgQEAgaW5kZXggMmY3MWY5NTQzOC4uYmVhNWNhYjI1 MyAxMDA2NDQKICAKICAgICAgaWYgKGN0eCA9PSBOVUxMKQogICAgICAgICAgZ290byBlcnI7Ci1A QCAtMjE5NSw2ICsyMTk3LDcgQEAgaW50IHNzbF9zZXR1cF9zaWdhbGdzKFNTTF9DVFggKmN0eCkK K0BAIC0yMTkyLDYgKzIxOTQsNyBAQCBpbnQgc3NsX3NldHVwX3NpZ2FsZ3MoU1NMX0NUWCAqY3R4 KQogICAgICAgICAgZ290byBlcnI7CiAgCiAgICAgIEVSUl9zZXRfbWFyaygpOwogKyAgICBsZHNp Z3NfYWxsb3dlZCA9IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkKGN0 eC0+bGliY3R4LCAwKTsKICAgICAgLyogRmlyc3QgZmlsbCBjYWNoZSBhbmQgdGxzMTJfc2lnYWxn cyBsaXN0IGZyb20gbGVnYWN5IGFsZ29yaXRobSBsaXN0ICovCiAgICAgIGZvciAoaSA9IDAsIGx1 ID0gc2lnYWxnX2xvb2t1cF90Ymw7Ci0gICAgICAgICAgaSA8IE9TU0xfTkVMRU0oc2lnYWxnX2xv b2t1cF90YmwpOyBsdSsrLCBpKyspIHsKLUBAIC0yMjE1LDYgKzIyMTgsMTEgQEAgaW50IHNzbF9z ZXR1cF9zaWdhbGdzKFNTTF9DVFggKmN0eCkKKyAgICAgICAgIGkgPCBPU1NMX05FTEVNKHNpZ2Fs Z19sb29rdXBfdGJsKTsgbHUrKywgaSsrKSB7CitAQCAtMjIxMiw2ICsyMjE1LDExIEBAIGludCBz c2xfc2V0dXBfc2lnYWxncyhTU0xfQ1RYICpjdHgpCiAgICAgICAgICAgICAgY2FjaGVbaV0uYXZh aWxhYmxlID0gMDsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIH0KQEAgLTQ4Niw1 ICs1MTcsNSBAQCBpbmRleCBkMzc3ZDU0MmRiLi5jMmM1NTEyOWFlIDEwMDY0NAogK29zc2xfY3R4 X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkID8JM18wXzEJRVhJU1Q6OkZVTkNUSU9O OgogK29zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkX3NldCA/CTNfMF8x CUVYSVNUOjpGVU5DVElPTjoKIC0tIAotMi41MS4wCisyLjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAw MTctRklQUy1SZWQtSGF0LXMtRklQUy1tb2R1bGUtbmFtZS1hbmQtdmVyc2lvbi5wYXRjaCBiLzAw MTctRklQUy1SZWQtSGF0LXMtRklQUy1tb2R1bGUtbmFtZS1hbmQtdmVyc2lvbi5wYXRjaAppbmRl eCA2MmE0ZmNhLi43Y2E2NTFmIDEwMDY0NAotLS0gYS8wMDE3LUZJUFMtUmVkLUhhdC1zLUZJUFMt bW9kdWxlLW5hbWUtYW5kLXZlcnNpb24ucGF0Y2gKKysrIGIvMDAxNy1GSVBTLVJlZC1IYXQtcy1G SVBTLW1vZHVsZS1uYW1lLWFuZC12ZXJzaW9uLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSAx Nzk3ZDdlNDdmN2JkMmExNmY1NmI1ZjMyZTMxNzAwYjg3MWVjZTMwIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbSAwNzQ2MDdmN2M0NjBjZGEyNTY1NGYxZWU5OTBkZGJhOThhZjZkNmRiIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogU2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQuY29t PgogRGF0ZTogRnJpLCA3IE1hciAyMDI1IDE4OjEyOjMzIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0gg MTcvNTldIEZJUFM6IFJlZCBIYXQncyBGSVBTIG1vZHVsZSBuYW1lIGFuZCB2ZXJzaW9uCitTdWJq ZWN0OiBbUEFUQ0ggMTcvNTddIEZJUFM6IFJlZCBIYXQncyBGSVBTIG1vZHVsZSBuYW1lIGFuZCB2 ZXJzaW9uCiAKIFNpZ25lZC1vZmYtYnk6IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4KIC0t LQpAQCAtOSwxMSArOSwxMSBAQCBTaWduZWQtb2ZmLWJ5OiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhh dC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK IAogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9maXBzL2ZpcHNwcm92LmMgYi9wcm92aWRlcnMvZmlw cy9maXBzcHJvdi5jCi1pbmRleCBlMjYwYjViNjY1Li5lNWQ3OThmZDU0IDEwMDY0NAoraW5kZXgg NDE5ODc4NzE5ZS4uMGYwMDYzMDFkNyAxMDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9maXBzL2ZpcHNw cm92LmMKICsrKyBiL3Byb3ZpZGVycy9maXBzL2ZpcHNwcm92LmMKIEBAIC0yMDEsMTMgKzIwMSwx MyBAQCBzdGF0aWMgaW50IGZpcHNfZ2V0X3BhcmFtcyh2b2lkICpwcm92Y3R4LCBPU1NMX1BBUkFN IHBhcmFtc1tdKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPU1NMX0xJQl9DVFhfRklQU19QUk9WX0lOREVYKTsKKyAgICAgICAgIE9TU0xfTElCX0NUWF9G SVBTX1BST1ZfSU5ERVgpOwogIAogICAgICBwID0gT1NTTF9QQVJBTV9sb2NhdGUocGFyYW1zLCBP U1NMX1BST1ZfUEFSQU1fTkFNRSk7CiAtICAgIGlmIChwICE9IE5VTEwgJiYgIU9TU0xfUEFSQU1f c2V0X3V0ZjhfcHRyKHAsIEZJUFNfVkVORE9SKSkKQEAgLTMwLDUgKzMwLDUgQEAgaW5kZXggZTI2 MGI1YjY2NS4uZTVkNzk4ZmQ1NCAxMDA2NDQKICAgICAgcCA9IE9TU0xfUEFSQU1fbG9jYXRlKHBh cmFtcywgT1NTTF9QUk9WX1BBUkFNX1NUQVRVUyk7CiAgICAgIGlmIChwICE9IE5VTEwgJiYgIU9T U0xfUEFSQU1fc2V0X2ludChwLCBvc3NsX3Byb3ZfaXNfcnVubmluZygpKSkKIC0tIAotMi41MS4w CisyLjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAwMTgtRklQUy1kaXNhYmxlLWZpcHNpbnN0YWxsLnBh dGNoIGIvMDAxOC1GSVBTLWRpc2FibGUtZmlwc2luc3RhbGwucGF0Y2gKaW5kZXggNjhiMDBiOS4u MTVmZjRlYSAxMDA2NDQKLS0tIGEvMDAxOC1GSVBTLWRpc2FibGUtZmlwc2luc3RhbGwucGF0Y2gK KysrIGIvMDAxOC1GSVBTLWRpc2FibGUtZmlwc2luc3RhbGwucGF0Y2gKQEAgLTEsNyArMSw3IEBA Ci1Gcm9tIDA4YzQxNjc3OTA3ODVjMTEyMzU3ZmE3NjliM2UwZjExNjU0YWJkMmIgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tIGU0M2EyM2YwNmE5ZTIzZjEwOTFmODhjNmRmYTZjMWJkNGUw NjVhN2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0tYnVpbGQgPHJwbS1idWls ZD4KIERhdGU6IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNSArMDEwMAotU3ViamVjdDogW1BBVENI IDE4LzU5XSBGSVBTOiBkaXNhYmxlIGZpcHNpbnN0YWxsCitTdWJqZWN0OiBbUEFUQ0ggMTgvNTdd IEZJUFM6IGRpc2FibGUgZmlwc2luc3RhbGwKIAogUGF0Y2gtbmFtZTogMDAzNC5maXBzaW5zdGFs bF9kaXNhYmxlLnBhdGNoCiBQYXRjaC1pZDogMzQKQEAgLTI0LDEwICsyNCwxMCBAQCBGcm9tLWRp c3QtZ2l0LWNvbW1pdDogNDMzNGJjODM3ZmJjNjRkMTQ4OTBmZGM1MTY3OWE4MDc3MGQ0OThjZQog IG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgdGVzdC9yZWNpcGVzLzAzLXRlc3RfZmlwc2lu c3RhbGwudAogCiBkaWZmIC0tZ2l0IGEvYXBwcy9maXBzaW5zdGFsbC5jIGIvYXBwcy9maXBzaW5z dGFsbC5jCi1pbmRleCAwZGFhNTVhMWI4Li5iNGUyOWFjMzAxIDEwMDY0NAoraW5kZXggZGNjMDlh NWVkNy4uZTNkNWY2ZTg2ZCAxMDA2NDQKIC0tLSBhL2FwcHMvZmlwc2luc3RhbGwuYwogKysrIGIv YXBwcy9maXBzaW5zdGFsbC5jCi1AQCAtNTkwLDYgKzU5MCw5IEBAIGludCBmaXBzaW5zdGFsbF9t YWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK0BAIC02MzYsNiArNjM2LDkgQEAgaW50IGZpcHNp bnN0YWxsX21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICBFVlBfTUFDICptYWMgPSBO VUxMOwogICAgICBDT05GICpjb25mID0gTlVMTDsKICAKQEAgLTM4LDcgKzM4LDcgQEAgaW5kZXgg MGRhYTU1YTFiOC4uYjRlMjlhYzMwMSAxMDA2NDQKICAgICAgICAgIGdvdG8gZW5kOwogIAogZGlm ZiAtLWdpdCBhL2RvYy9tYW4xL29wZW5zc2wtZmlwc2luc3RhbGwucG9kLmluIGIvZG9jL21hbjEv b3BlbnNzbC1maXBzaW5zdGFsbC5wb2QuaW4KLWluZGV4IGQ0NGI0YTdkYWMuLjFjNmI3ODM0MTMg MTAwNjQ0CitpbmRleCAyZGI1YWNkMjQyLi4xYzZiNzgzNDEzIDEwMDY0NAogLS0tIGEvZG9jL21h bjEvb3BlbnNzbC1maXBzaW5zdGFsbC5wb2QuaW4KICsrKyBiL2RvYy9tYW4xL29wZW5zc2wtZmlw c2luc3RhbGwucG9kLmluCiBAQCAtOCw0ODQgKzgsOSBAQCBvcGVuc3NsLWZpcHNpbnN0YWxsIC0g cGVyZm9ybSBGSVBTIGNvbmZpZ3VyYXRpb24gaW5zdGFsbGF0aW9uCkBAIC00MDYsNyArNDA2LDcg QEAgaW5kZXggZDQ0YjRhN2RhYy4uMWM2Yjc4MzQxMyAxMDA2NDQKIC0KIC09aXRlbSBCPC1zZWxm X3Rlc3Rfb25pbnN0YWxsPgogLQotLVRoZSBjb252ZXJzZSBvZiBCPC1zZWxmX3Rlc3Rfb25pbnN0 YWxsPi4gIFRoZSB0d28gZmllbGRzIHJlbGF0ZWQgdG8gdGhlCistVGhlIGNvbnZlcnNlIG9mIEI8 LXNlbGZfdGVzdF9vbmxvYWQ+LiAgVGhlIHR3byBmaWVsZHMgcmVsYXRlZCB0byB0aGUKIC0idGVz dCBzdGF0dXMgaW5kaWNhdG9yIiBhbmQgIk1BQyBzdGF0dXMgaW5kaWNhdG9yIiBhcmUgd3JpdHRl biB0byB0aGUKIC1vdXRwdXQgY29uZmlndXJhdGlvbiBmaWxlLgogLVRoaXMgZmllbGQgaXMgbm90 IHJlbGV2YW50IGZvciBhbiBPcGVuU1NMIEZJUFMgMTQwLTMgcHJvdmlkZXIsIHNpbmNlIHRoaXMg aXMgbm8KQEAgLTUzMCw3ICs1MzAsNyBAQCBpbmRleCBkNDRiNGE3ZGFjLi4xYzZiNzgzNDEzIDEw MDY0NAogID1oZWFkMSBDT1BZUklHSFQKICAKIGRpZmYgLS1naXQgYS9kb2MvbWFuMS9vcGVuc3Ns LnBvZCBiL2RvYy9tYW4xL29wZW5zc2wucG9kCi1pbmRleCBlZGVmMmZmNTk4Li4wNzYyYTAwZDc0 IDEwMDY0NAoraW5kZXggNjM1YjUyYWViMS4uNTViYzZlNDRjNiAxMDA2NDQKIC0tLSBhL2RvYy9t YW4xL29wZW5zc2wucG9kCiArKysgYi9kb2MvbWFuMS9vcGVuc3NsLnBvZAogQEAgLTEzOSwxMCAr MTM5LDYgQEAgRW5naW5lIChsb2FkYWJsZSBtb2R1bGUpIGluZm9ybWF0aW9uIGFuZCBtYW5pcHVs YXRpb24uCkBAIC04NTYsNSArODU2LDUgQEAgaW5kZXggM2RjYmU2N2M2ZC4uMWE1YTQ3NWQ5MQog IAogICMgQ29tcGF0aWJsZSBvcHRpb25zIGZvciBwZWRhbnRpYyBGSVBTIGNvbXBsaWFuY2UKIC0t IAotMi41MS4wCisyLjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAwMTktRklQUy1Gb3JjZS1maXBzLXBy b3ZpZGVyLW9uLnBhdGNoIGIvMDAxOS1GSVBTLUZvcmNlLWZpcHMtcHJvdmlkZXItb24ucGF0Y2gK aW5kZXggNGFiMWY3ZC4uZjhiNzQxNSAxMDA2NDQKLS0tIGEvMDAxOS1GSVBTLUZvcmNlLWZpcHMt cHJvdmlkZXItb24ucGF0Y2gKKysrIGIvMDAxOS1GSVBTLUZvcmNlLWZpcHMtcHJvdmlkZXItb24u cGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDkxZWZiMmU4MTI4Nzc0NWY3YTI4MTcyMTFkMDBj YTVhNDFmNGU4YmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGI4YTVjZTFmYmFkNjJl MGY3YjAyM2FhYjgyN2QyODg4NDEzZDVjZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9t OiBycG0tYnVpbGQgPHJwbS1idWlsZD4KIERhdGU6IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNSAr MDEwMAotU3ViamVjdDogW1BBVENIIDE5LzU5XSBGSVBTOiBGb3JjZSBmaXBzIHByb3ZpZGVyIG9u CitTdWJqZWN0OiBbUEFUQ0ggMTkvNTddIEZJUFM6IEZvcmNlIGZpcHMgcHJvdmlkZXIgb24KIAog UGF0Y2gtbmFtZTogMDAzMi1Gb3JjZS1maXBzLnBhdGNoCiBQYXRjaC1pZDogMzIKQEAgLTEzLDcg KzEzLDcgQEAgRnJvbS1kaXN0LWdpdC1jb21taXQ6IDQzMzRiYzgzN2ZiYzY0ZDE0ODkwZmRjNTE2 NzlhODA3NzBkNDk4Y2UKICAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvY3J5cHRvL3Byb3ZpZGVyX2NvbmYuYyBiL2NyeXB0by9w cm92aWRlcl9jb25mLmMKLWluZGV4IDk2NDk1MTdkZDIuLjFlNTA1M2NiY2UgMTAwNjQ0CitpbmRl eCBmMmU3NmFjNDAyLi5hMmE4YTk5NDJjIDEwMDY0NAogLS0tIGEvY3J5cHRvL3Byb3ZpZGVyX2Nv bmYuYwogKysrIGIvY3J5cHRvL3Byb3ZpZGVyX2NvbmYuYwogQEAgLTEwLDYgKzEwLDggQEAKQEAg LTc1LDUgKzc1LDUgQEAgaW5kZXggOTY0OTUxN2RkMi4uMWU1MDUzY2JjZSAxMDA2NDQKICB9CiAg CiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDIwLUZJUFMtSU5URUctQ0hF Q0stRW1iZWQtaG1hYy1pbi1maXBzLnNvLU5PVEUucGF0Y2ggYi8wMDIwLUZJUFMtSU5URUctQ0hF Q0stRW1iZWQtaG1hYy1pbi1maXBzLnNvLU5PVEUucGF0Y2gKaW5kZXggZjBiZDMwYS4uMTE3MmMw NCAxMDA2NDQKLS0tIGEvMDAyMC1GSVBTLUlOVEVHLUNIRUNLLUVtYmVkLWhtYWMtaW4tZmlwcy5z by1OT1RFLnBhdGNoCisrKyBiLzAwMjAtRklQUy1JTlRFRy1DSEVDSy1FbWJlZC1obWFjLWluLWZp cHMuc28tTk9URS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gZjJmYzhkZDE1NDljZDQ2NjJh ZDA3M2Q4ZDk2ODllYWEwNzQ3Mzg1YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMzEw MzQ2ZjY1ZGI0ZTNiNjA1MmNmMTY1Zjg5MGYxM2JmZDY0NWY1YyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKIEZyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0 IDE5OjE3OjE1ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMjAvNTldIEZJUFM6IElOVEVHLUNIRUNL OiBFbWJlZCBobWFjIGluIGZpcHMuc28gLSBOT1RFCitTdWJqZWN0OiBbUEFUQ0ggMjAvNTddIEZJ UFM6IElOVEVHLUNIRUNLOiBFbWJlZCBobWFjIGluIGZpcHMuc28gLSBOT1RFCiAKIENvcnJlY3Rl ZCBieSBzcXVhc2hpbmcgaW46CiAwMDUyLVJlc3RvcmUtdGhlLWNvcnJlY3QtdmVyaWZ5X2ludGVn cml0eS1mdW5jdGlvbi5wYXRjaApAQCAtMjAsMTAgKzIwLDEwIEBAIEZyb20tZGlzdC1naXQtY29t bWl0OiA0MzM0YmM4MzdmYmM2NGQxNDg5MGZkYzUxNjc5YTgwNzcwZDQ5OGNlCiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IHRlc3QvZmlwc21vZHVsZS5jbmYKIAogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9m aXBzL3NlbGZfdGVzdC5jIGIvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMKLWluZGV4IDQ1NmVm ZDEzOWUuLmM4OWU5MWI1ODcgMTAwNjQ0CitpbmRleCAwMDhhNGZhYzg0Li5jNzJlMjYwNWM0IDEw MDY0NAogLS0tIGEvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMKICsrKyBiL3Byb3ZpZGVycy9m aXBzL3NlbGZfdGVzdC5jCi1AQCAtMjM1LDEzICsyMzUsMTM3IEBAIGVycjoKK0BAIC0yMzcsMTMg KzIzNywxMzcgQEAgZXJyOgogICAgICByZXR1cm4gb2s7CiAgfQogIApAQCAtMTU3LDEyICsxNTcs MTIgQEAgaW5kZXggNDU2ZWZkMTM5ZS4uYzg5ZTkxYjU4NyAxMDA2NDQKICt9CiArCiAgc3RhdGlj IGludCB2ZXJpZnlfaW50ZWdyaXR5KE9TU0xfQ09SRV9CSU8gKmJpbywgT1NTTF9GVU5DX0JJT19y ZWFkX2V4X2ZuIHJlYWRfZXhfY2IsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGNoYXIgKmV4cGVjdGVkLCBzaXplX3QgZXhwZWN0ZWRfbGVuLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpleHBlY3RlZCwgc2l6ZV90IGV4cGVj dGVkX2xlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1NTTF9MSUJfQ1RYICpsaWJj dHgsIE9TU0xfU0VMRl9URVNUICpldiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciAqZXZlbnRfdHlwZSkKKy0gICAgdW5zaWduZWQgY2hhciAqZXhwZWN0ZWQsIHNpemVf dCBleHBlY3RlZF9sZW4sCisrICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmV4cGVjdGVkLCBzaXpl X3QgZXhwZWN0ZWRfbGVuLAorICAgICBPU1NMX0xJQl9DVFggKmxpYmN0eCwgT1NTTF9TRUxGX1RF U1QgKmV2LAorICAgICBjb25zdCBjaGFyICpldmVudF90eXBlKQogIHsKLUBAIC0yNTMsNiArMzc3 LDkgQEAgc3RhdGljIGludCB2ZXJpZnlfaW50ZWdyaXR5KE9TU0xfQ09SRV9CSU8gKmJpbywgT1NT TF9GVU5DX0JJT19yZWFkX2V4X2ZuIHJlYWRfZXgKK0BAIC0yNTUsNiArMzc5LDkgQEAgc3RhdGlj IGludCB2ZXJpZnlfaW50ZWdyaXR5KE9TU0xfQ09SRV9CSU8gKmJpbywgT1NTTF9GVU5DX0JJT19y ZWFkX2V4X2ZuIHJlYWRfZXgKICAgICAgRVZQX01BQ19DVFggKmN0eCA9IE5VTEw7CiAgICAgIE9T U0xfUEFSQU0gcGFyYW1zWzJdLCAqcCA9IHBhcmFtczsKICAKQEAgLTE3Miw3ICsxNzIsNyBAQCBp bmRleCA0NTZlZmQxMzllLi5jODllOTFiNTg3IDEwMDY0NAogICAgICBpZiAoIWludGVncml0eV9z ZWxmX3Rlc3QoZXYsIGxpYmN0eCkpCiAgICAgICAgICBnb3RvIGVycjsKICAKLUBAIC0zMTYsNyAr NDQzLDggQEAgaW50IFNFTEZfVEVTVF9wb3N0KFNFTEZfVEVTVF9QT1NUX1BBUkFNUyAqc3QsIGlu dCBvbl9kZW1hbmRfdGVzdCkKK0BAIC0zMTgsNyArNDQ1LDggQEAgaW50IFNFTEZfVEVTVF9wb3N0 KFNFTEZfVEVTVF9QT1NUX1BBUkFNUyAqc3QsIGludCBvbl9kZW1hbmRfdGVzdCkKICAgICAgaW50 IG9rID0gMDsKICAgICAgbG9uZyBjaGVja3N1bV9sZW47CiAgICAgIE9TU0xfQ09SRV9CSU8gKmJp b19tb2R1bGUgPSBOVUxMOwpAQCAtMTgyLDIyICsxODIsMjIgQEAgaW5kZXggNDU2ZWZkMTM5ZS4u Yzg5ZTkxYjU4NyAxMDA2NDQKICAgICAgT1NTTF9TRUxGX1RFU1QgKmV2ID0gTlVMTDsKICAgICAg RVZQX1JBTkQgKnRlc3RyYW5kID0gTlVMTDsKICAgICAgRVZQX1JBTkRfQ1RYICpybmc7Ci1AQCAt MzUyLDggKzQ4MCw3IEBAIGludCBTRUxGX1RFU1RfcG9zdChTRUxGX1RFU1RfUE9TVF9QQVJBTVMg KnN0LCBpbnQgb25fZGVtYW5kX3Rlc3QpCitAQCAtMzU0LDggKzQ4Miw3IEBAIGludCBTRUxGX1RF U1RfcG9zdChTRUxGX1RFU1RfUE9TVF9QQVJBTVMgKnN0LCBpbnQgb25fZGVtYW5kX3Rlc3QpCiAg ICAgICAgICByZXR1cm4gMDsKICAgICAgfQogIAogLSAgICBpZiAoc3QgPT0gTlVMTAotLSAgICAg ICAgICAgIHx8IHN0LT5tb2R1bGVfY2hlY2tzdW1fZGF0YSA9PSBOVUxMKSB7CistICAgICAgICB8 fCBzdC0+bW9kdWxlX2NoZWNrc3VtX2RhdGEgPT0gTlVMTCkgewogKyAgICBpZiAoc3QgPT0gTlVM TCkgewogICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfUFJPViwgUFJPVl9SX01JU1NJTkdfQ09O RklHX0RBVEEpOwogICAgICAgICAgZ290byBlbmQ7CiAgICAgIH0KLUBAIC0zNjIsOCArNDg5LDE1 IEBAIGludCBTRUxGX1RFU1RfcG9zdChTRUxGX1RFU1RfUE9TVF9QQVJBTVMgKnN0LCBpbnQgb25f ZGVtYW5kX3Rlc3QpCitAQCAtMzY0LDggKzQ5MSwxNSBAQCBpbnQgU0VMRl9URVNUX3Bvc3QoU0VM Rl9URVNUX1BPU1RfUEFSQU1TICpzdCwgaW50IG9uX2RlbWFuZF90ZXN0KQogICAgICBpZiAoZXYg PT0gTlVMTCkKICAgICAgICAgIGdvdG8gZW5kOwogIAogLSAgICBtb2R1bGVfY2hlY2tzdW0gPSBP UEVOU1NMX2hleHN0cjJidWYoc3QtPm1vZHVsZV9jaGVja3N1bV9kYXRhLAotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNoZWNrc3VtX2xlbik7CistICAgICAgICAm Y2hlY2tzdW1fbGVuKTsKICsgICAgaWYgKHN0LT5tb2R1bGVfY2hlY2tzdW1fZGF0YSA9PSBOVUxM KSB7CiArICAgICAgICBtb2R1bGVfY2hlY2tzdW0gPSBmaXBzX2htYWNfY29udGFpbmVyOwogKyAg ICAgICAgY2hlY2tzdW1fbGVuID0gc2l6ZW9mKGZpcHNfaG1hY19jb250YWluZXIpOwpAQCAtMjEw LDE0ICsyMTAsMTQgQEAgaW5kZXggNDU2ZWZkMTM5ZS4uYzg5ZTkxYjU4NyAxMDA2NDQKICAgICAg aWYgKG1vZHVsZV9jaGVja3N1bSA9PSBOVUxMKSB7CiAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJ Ql9QUk9WLCBQUk9WX1JfSU5WQUxJRF9DT05GSUdfREFUQSk7CiAgICAgICAgICBnb3RvIGVuZDsK LUBAIC0zNzEsMTQgKzUwNSwyOCBAQCBpbnQgU0VMRl9URVNUX3Bvc3QoU0VMRl9URVNUX1BPU1Rf UEFSQU1TICpzdCwgaW50IG9uX2RlbWFuZF90ZXN0KQorQEAgLTM3MywxNCArNTA3LDI4IEBAIGlu dCBTRUxGX1RFU1RfcG9zdChTRUxGX1RFU1RfUE9TVF9QQVJBTVMgKnN0LCBpbnQgb25fZGVtYW5k X3Rlc3QpCiAgICAgIGJpb19tb2R1bGUgPSAoKnN0LT5iaW9fbmV3X2ZpbGVfY2IpKHN0LT5tb2R1 bGVfZmlsZW5hbWUsICJyYiIpOwogIAogICAgICAvKiBBbHdheXMgY2hlY2sgdGhlIGludGVncml0 eSBvZiB0aGUgZmlwcyBtb2R1bGUgKi8KIC0gICAgaWYgKGJpb19tb2R1bGUgPT0gTlVMTAotLSAg ICAgICAgICAgIHx8ICF2ZXJpZnlfaW50ZWdyaXR5KGJpb19tb2R1bGUsIHN0LT5iaW9fcmVhZF9l eF9jYiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfY2hlY2tzdW0s IGNoZWNrc3VtX2xlbiwgc3QtPmxpYmN0eCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBldiwgT1NTTF9TRUxGX1RFU1RfVFlQRV9NT0RVTEVfSU5URUdSSVRZKSkgeworLSAgICAg ICAgfHwgIXZlcmlmeV9pbnRlZ3JpdHkoYmlvX21vZHVsZSwgc3QtPmJpb19yZWFkX2V4X2NiLAor LSAgICAgICAgICAgIG1vZHVsZV9jaGVja3N1bSwgY2hlY2tzdW1fbGVuLCBzdC0+bGliY3R4LAor LSAgICAgICAgICAgIGV2LCBPU1NMX1NFTEZfVEVTVF9UWVBFX01PRFVMRV9JTlRFR1JJVFkpKSB7 CiArICAgIGlmIChiaW9fbW9kdWxlID09IE5VTEwpIHsKICAgICAgICAgIEVSUl9yYWlzZShFUlJf TElCX1BST1YsIFBST1ZfUl9NT0RVTEVfSU5URUdSSVRZX0ZBSUxVUkUpOwogICAgICAgICAgZ290 byBlbmQ7CkBAIC0yNDMsNyArMjQzLDcgQEAgaW5kZXggNDU2ZWZkMTM5ZS4uYzg5ZTkxYjU4NyAx MDA2NDQKICAgICAgaWYgKCFTRUxGX1RFU1Rfa2F0cyhldiwgc3QtPmxpYmN0eCkpIHsKICAgICAg ICAgIEVSUl9yYWlzZShFUlJfTElCX1BST1YsIFBST1ZfUl9TRUxGX1RFU1RfS0FUX0ZBSUxVUkUp OwogICAgICAgICAgZ290byBlbmQ7Ci1AQCAtMzk4LDcgKzU0Niw3IEBAIGludCBTRUxGX1RFU1Rf cG9zdChTRUxGX1RFU1RfUE9TVF9QQVJBTVMgKnN0LCBpbnQgb25fZGVtYW5kX3Rlc3QpCitAQCAt NDAxLDcgKzU0OSw3IEBAIGludCBTRUxGX1RFU1RfcG9zdChTRUxGX1RFU1RfUE9TVF9QQVJBTVMg KnN0LCBpbnQgb25fZGVtYW5kX3Rlc3QpCiAgZW5kOgogICAgICBFVlBfUkFORF9mcmVlKHRlc3Ry YW5kKTsKICAgICAgT1NTTF9TRUxGX1RFU1RfZnJlZShldik7CkBAIC0yNjEsNSArMjYxLDUgQEAg aW5kZXggMDAwMDAwMDAwMC4uZjA1ZDBkZWRiZQogK1tmaXBzX3NlY3RdCiArYWN0aXZhdGUgPSAx CiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDIxLUZJUFMtSU5URUctQ0hF Q0stQWRkLXNjcmlwdC10by1obWFjLWlmeS1maXBzLnNvLnBhdGNoIGIvMDAyMS1GSVBTLUlOVEVH LUNIRUNLLUFkZC1zY3JpcHQtdG8taG1hYy1pZnktZmlwcy5zby5wYXRjaAppbmRleCAyMWNkNDMy Li5jNjdiMThjIDEwMDY0NAotLS0gYS8wMDIxLUZJUFMtSU5URUctQ0hFQ0stQWRkLXNjcmlwdC10 by1obWFjLWlmeS1maXBzLnNvLnBhdGNoCisrKyBiLzAwMjEtRklQUy1JTlRFRy1DSEVDSy1BZGQt c2NyaXB0LXRvLWhtYWMtaWZ5LWZpcHMuc28ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDEx OTU5NzE5YTBhY2VlMjZjYTUwNWM3OWY4OWFmN2ZjNWFlY2EwMTEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tIDdmYjAyNTdmZjQxNThmNDEzMDZiNzMwZTBiMjg1MWJjZDZkMjI3NDcgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+ CiBEYXRlOiBUaHUsIDIwIEZlYiAyMDI1IDE1OjMwOjMyIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0gg MjEvNTldIEZJUFM6IElOVEVHLUNIRUNLOiBBZGQgc2NyaXB0IHRvIGhtYWMtaWZ5IGZpcHMuc28K K1N1YmplY3Q6IFtQQVRDSCAyMS81N10gRklQUzogSU5URUctQ0hFQ0s6IEFkZCBzY3JpcHQgdG8g aG1hYy1pZnkgZmlwcy5zbwogCiBUaGlzIHNjcmlwdCByZXdyaXRlcyB0aGUgZmlwcy5zbyBiaW5h cnkgdG8gZW1iZWQgdGhlIGhtYWMgcmVzdWx0IGludG8gaXQKIHNvIHRoYXQgYWZ0ZXIgYSBidWls ZCBpdCBjYW4gYmUgY2FsbGVkIHRvIG1ha2UgdGhlIGZpcHMuc28gYXMgbW9kaWZpZWQKQEAgLTI4 LDUgKzI4LDUgQEAgaW5kZXggMDAwMDAwMDAwMC4uNTRhZTYwYjA3ZgogK29iamNvcHkgLS11cGRh dGUtc2VjdGlvbiAucm9kYXRhMT1wcm92aWRlcnMvZmlwcy5zby5obWFjIHByb3ZpZGVycy9maXBz LnNvIHByb3ZpZGVycy9maXBzLnNvLm1hYwogK212IHByb3ZpZGVycy9maXBzLnNvLm1hYyBwcm92 aWRlcnMvZmlwcy5zbwogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEvMDAyMi1G SVBTLUlOVEVHLUNIRUNLLUV4ZWN1dGUtS0FUUy1iZWZvcmUtSE1BQy1SRVZJRVcucGF0Y2ggYi8w MDIyLUZJUFMtSU5URUctQ0hFQ0stRXhlY3V0ZS1LQVRTLWJlZm9yZS1ITUFDLVJFVklFVy5wYXRj aAppbmRleCA4MzAyY2U1Li4zM2FhM2VmIDEwMDY0NAotLS0gYS8wMDIyLUZJUFMtSU5URUctQ0hF Q0stRXhlY3V0ZS1LQVRTLWJlZm9yZS1ITUFDLVJFVklFVy5wYXRjaAorKysgYi8wMDIyLUZJUFMt SU5URUctQ0hFQ0stRXhlY3V0ZS1LQVRTLWJlZm9yZS1ITUFDLVJFVklFVy5wYXRjaApAQCAtMSw3 ICsxLDcgQEAKLUZyb20gMmVjODA1ZWNjM2M4OWM0ZGI1ZGVhNjRiMmIxZjliZTc1NjU5NTM0NyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTE1NWJmNjMxZDRkOTIzZWQwOGY1NTQzNDRj NDRkMDc1NzFkNmUwMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IHJwbS1idWlsZCA8 cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE5OjE3OjE1ICswMTAwCi1TdWJqZWN0 OiBbUEFUQ0ggMjIvNTldIEZJUFM6IElOVEVHLUNIRUNLOiBFeGVjdXRlIEtBVFMgYmVmb3JlIEhN QUMgLSBSRVZJRVcKK1N1YmplY3Q6IFtQQVRDSCAyMi81N10gRklQUzogSU5URUctQ0hFQ0s6IEV4 ZWN1dGUgS0FUUyBiZWZvcmUgSE1BQyAtIFJFVklFVwogCiBQYXRjaC1uYW1lOiAwMDQ3LUZJUFMt ZWFybHktS0FUUy5wYXRjaAogUGF0Y2gtaWQ6IDQ3CkBAIC0xMywxMCArMTMsMTAgQEAgRnJvbS1k aXN0LWdpdC1jb21taXQ6IDQzMzRiYzgzN2ZiYzY0ZDE0ODkwZmRjNTE2NzlhODA3NzBkNDk4Y2UK ICAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQogCiBkaWZm IC0tZ2l0IGEvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMgYi9wcm92aWRlcnMvZmlwcy9zZWxm X3Rlc3QuYwotaW5kZXggYzg5ZTkxYjU4Ny4uOThiZjZhZDIwMyAxMDA2NDQKK2luZGV4IGM3MmUy NjA1YzQuLjQ3MGNmMWZjMjggMTAwNjQ0CiAtLS0gYS9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3Qu YwogKysrIGIvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMKLUBAIC00ODksNiArNDg5LDE1IEBA IGludCBTRUxGX1RFU1RfcG9zdChTRUxGX1RFU1RfUE9TVF9QQVJBTVMgKnN0LCBpbnQgb25fZGVt YW5kX3Rlc3QpCitAQCAtNDkxLDYgKzQ5MSwxNSBAQCBpbnQgU0VMRl9URVNUX3Bvc3QoU0VMRl9U RVNUX1BPU1RfUEFSQU1TICpzdCwgaW50IG9uX2RlbWFuZF90ZXN0KQogICAgICBpZiAoZXYgPT0g TlVMTCkKICAgICAgICAgIGdvdG8gZW5kOwogIApAQCAtMzIsNyArMzIsNyBAQCBpbmRleCBjODll OTFiNTg3Li45OGJmNmFkMjAzIDEwMDY0NAogICAgICBpZiAoc3QtPm1vZHVsZV9jaGVja3N1bV9k YXRhID09IE5VTEwpIHsKICAgICAgICAgIG1vZHVsZV9jaGVja3N1bSA9IGZpcHNfaG1hY19jb250 YWluZXI7CiAgICAgICAgICBjaGVja3N1bV9sZW4gPSBzaXplb2YoZmlwc19obWFjX2NvbnRhaW5l cik7Ci1AQCAtNTI3LDExICs1MzYsNiBAQCBpbnQgU0VMRl9URVNUX3Bvc3QoU0VMRl9URVNUX1BP U1RfUEFSQU1TICpzdCwgaW50IG9uX2RlbWFuZF90ZXN0KQorQEAgLTUyOSwxMSArNTM4LDYgQEAg aW50IFNFTEZfVEVTVF9wb3N0KFNFTEZfVEVTVF9QT1NUX1BBUkFNUyAqc3QsIGludCBvbl9kZW1h bmRfdGVzdCkKICAgICAgICAgIH0KICAgICAgfQogIApAQCAtNDUsNSArNDUsNSBAQCBpbmRleCBj ODllOTFiNTg3Li45OGJmNmFkMjAzIDEwMDY0NAogICAgICBybmcgPSBvc3NsX3JhbmRfZ2V0MF9w cml2YXRlX25vbmNyZWF0aW5nKHN0LT5saWJjdHgpOwogICAgICBpZiAocm5nICE9IE5VTEwpCiAt LSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDIzLUZJUFMtUlNBLWVuY3J5cHQt bGltaXRzLVJFVklFVy5wYXRjaCBiLzAwMjMtRklQUy1SU0EtZW5jcnlwdC1saW1pdHMtUkVWSUVX LnBhdGNoCmluZGV4IDU5NzZkNGMuLjBlNDI3NzEgMTAwNjQ0Ci0tLSBhLzAwMjMtRklQUy1SU0Et ZW5jcnlwdC1saW1pdHMtUkVWSUVXLnBhdGNoCisrKyBiLzAwMjMtRklQUy1SU0EtZW5jcnlwdC1s aW1pdHMtUkVWSUVXLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBkZWNmNWY5YWJmOTAzZmMz NjA5ZDFhYWFmODRiOWQ0MzdhZmI0MDcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5 N2QzMmM2NDhhYTBiYTg1MTY1ZjQwYTliOWZjYTE5NDMwMTQyMGZhIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQogRnJvbTogcnBtLWJ1aWxkIDxycG0tYnVpbGQ+CiBEYXRlOiBXZWQsIDYgTWFyIDIw MjQgMTk6MTc6MTUgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyMy81OV0gRklQUzogUlNBOiBlbmNy eXB0IGxpbWl0cyAtIFJFVklFVworU3ViamVjdDogW1BBVENIIDIzLzU3XSBGSVBTOiBSU0E6IGVu Y3J5cHQgbGltaXRzIC0gUkVWSUVXCiAKIFBhdGNoLW5hbWU6IDAwNTgtRklQUy1saW1pdC1yc2Et ZW5jcnlwdC5wYXRjaAogUGF0Y2gtaWQ6IDU4CkBAIC0xOSwxMCArMTksMTAgQEAgRnJvbS1kaXN0 LWdpdC1jb21taXQ6IDQzMzRiYzgzN2ZiYzY0ZDE0ODkwZmRjNTE2NzlhODA3NzBkNDk4Y2UKICBt b2RlIGNoYW5nZSAxMDA2NDQgPT4gMTAwNzU1IHRlc3QvcmVjaXBlcy84MC10ZXN0X3NzbF9vbGQu dAogCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrLmMgYi9wcm92 aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hlY2suYwotaW5kZXggNzlhOWM0OGNlMi4uMGU1MTc1NDJi YyAxMDA2NDQKK2luZGV4IDY5ODViZTA0MDAuLjM3MDAwYzg2MjcgMTAwNjQ0CiAtLS0gYS9wcm92 aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hlY2suYwogKysrIGIvcHJvdmlkZXJzL2NvbW1vbi9zZWN1 cml0eWNoZWNrLmMKLUBAIC02NSw2ICs2NSw3IEBAIGludCBvc3NsX3JzYV9rZXlfb3BfZ2V0X3By b3RlY3QoY29uc3QgUlNBICpyc2EsIGludCBvcGVyYXRpb24sIGludCAqb3V0cHJvdGVjdCkKK0BA IC02Niw2ICs2Niw3IEBAIGludCBvc3NsX3JzYV9rZXlfb3BfZ2V0X3Byb3RlY3QoY29uc3QgUlNB ICpyc2EsIGludCBvcGVyYXRpb24sIGludCAqb3V0cHJvdGVjdCkKICAgKiBTZXQgcHJvdGVjdCA9 IDEgZm9yIGVuY3J5cHRpb24gb3Igc2lnbmluZyBvcGVyYXRpb25zLCBvciAwIG90aGVyd2lzZS4g U2VlCiAgICogaHR0cHM6Ly9udmxwdWJzLm5pc3QuZ292L25pc3RwdWJzL1NwZWNpYWxQdWJsaWNh dGlvbnMvTklTVC5TUC44MDAtMTMxQXIyLnBkZi4KICAgKi8KQEAgLTQ0LDcgKzQ0LDcgQEAgaW5k ZXggNzhmOWZjMDY1NS4uNmJkNzgzZWIwYSAxMDA2NDQKICBPU1NMX0ZJUFNfUEFSQU0ocnNhX3Np Z25feDkzMV9kaXNhbGxvd2VkLCBSU0FfU0lHTl9YOTMxX1BBRF9ESVNBQkxFRCwgMCkKICBPU1NM X0ZJUFNfUEFSQU0oaGtkZl9rZXlfY2hlY2ssIEhLREZfS0VZX0NIRUNLLCAwKQogZGlmZiAtLWdp dCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvYXN5bWNpcGhlcnMvcnNhX2VuYy5jIGIvcHJv dmlkZXJzL2ltcGxlbWVudGF0aW9ucy9hc3ltY2lwaGVycy9yc2FfZW5jLmMKLWluZGV4IGU2YjY3 NmQwZjguLjZkNjY1MGJkODEgMTAwNjQ0CitpbmRleCA0OTk1YjAwMTAyLi4wYjE0ZmJjNThkIDEw MDY0NAogLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9hc3ltY2lwaGVycy9yc2FfZW5j LmMKICsrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvYXN5bWNpcGhlcnMvcnNhX2VuYy5j CiBAQCAtMTc0LDYgKzE3NCwxOCBAQCBzdGF0aWMgaW50IHJzYV9lbmNyeXB0KHZvaWQgKnZwcnNh Y3R4LCB1bnNpZ25lZCBjaGFyICpvdXQsIHNpemVfdCAqb3V0bGVuLApAQCAtNjYsNyArNjYsNyBA QCBpbmRleCBlNmI2NzZkMGY4Li42ZDY2NTBiZDgxIDEwMDY0NAogICAgICBpZiAob3V0ID09IE5V TEwpIHsKICAgICAgICAgICpvdXRsZW4gPSBsZW47CiAgICAgICAgICByZXR1cm4gMTsKLUBAIC0y MzUsNiArMjQ3LDIwIEBAIHN0YXRpYyBpbnQgcnNhX2RlY3J5cHQodm9pZCAqdnByc2FjdHgsIHVu c2lnbmVkIGNoYXIgKm91dCwgc2l6ZV90ICpvdXRsZW4sCitAQCAtMjM0LDYgKzI0NiwyMCBAQCBz dGF0aWMgaW50IHJzYV9kZWNyeXB0KHZvaWQgKnZwcnNhY3R4LCB1bnNpZ25lZCBjaGFyICpvdXQs IHNpemVfdCAqb3V0bGVuLAogICAgICBpZiAoIW9zc2xfcHJvdl9pc19ydW5uaW5nKCkpCiAgICAg ICAgICByZXR1cm4gMDsKICAKQEAgLTkxMSw3ICs5MTEsNyBAQCBpbmRleCAxOGUxMWJkYWE5Li4x N2NlYjU5MTQ4IDEwMDY0NAogIEN0cmwgPSByc2FfcGFkZGluZ19tb2RlOm9hZXAKICBDdHJsID0g cnNhX21nZjFfbWQ6c2hhMQogZGlmZiAtLWdpdCBhL3Rlc3QvcmVjaXBlcy84MC10ZXN0X2Ntcy50 IGIvdGVzdC9yZWNpcGVzLzgwLXRlc3RfY21zLnQKLWluZGV4IDQwMzFkYmVjNzcuLjkyYTQ4YTA5 YzYgMTAwNjQ0CitpbmRleCAyNzlhNDk4NDc1Li5jMjc4OTg3MTg2IDEwMDY0NAogLS0tIGEvdGVz dC9yZWNpcGVzLzgwLXRlc3RfY21zLnQKICsrKyBiL3Rlc3QvcmVjaXBlcy84MC10ZXN0X2Ntcy50 CiBAQCAtMjY3LDcgKzI2Nyw3IEBAIG15IEBzbWltZV9wa2NzN190ZXN0cyA9ICgKQEAgLTk4MSw1 ICs5ODEsNSBAQCBpbmRleCBmN2JlMmUxODcyLi41NjhhMWRkYmE0CiAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgIG5leHQgaWYgJHByb3RvY29sIGVxICItdGxzMV8zIjsKIC0tIAotMi41MS4w CisyLjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAwMjQtRklQUy1SU0EtUENUcy5wYXRjaCBiLzAwMjQt RklQUy1SU0EtUENUcy5wYXRjaAppbmRleCAyYzNlY2ExLi41OTkxM2YxIDEwMDY0NAotLS0gYS8w MDI0LUZJUFMtUlNBLVBDVHMucGF0Y2gKKysrIGIvMDAyNC1GSVBTLVJTQS1QQ1RzLnBhdGNoCkBA IC0xLDcgKzEsNyBAQAotRnJvbSBlMTk5ODljNThhZDY0NTA0MjhlZTY4ZmE0ZDgxZTAyMjkyNTg3 MmMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwMzRkMDJkMDQ3ZTRhNGQ4NGQ1Yzhj YTJiNTQ1NTdiMTY3OWU4NjEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogU2ltbyBT b3JjZSA8c2ltb0ByZWRoYXQuY29tPgogRGF0ZTogTW9uLCAyNCBNYXIgMjAyNSAxMDo1MDozNyAt MDQwMAotU3ViamVjdDogW1BBVENIIDI0LzU5XSBGSVBTOiBSU0E6IFBDVHMKK1N1YmplY3Q6IFtQ QVRDSCAyNC81N10gRklQUzogUlNBOiBQQ1RzCiAKIFNpZ25lZC1vZmYtYnk6IFNpbW8gU29yY2Ug PHNpbW9AcmVkaGF0LmNvbT4KIC0tLQpAQCAtMTAsMTAgKzEwLDEwIEBAIFNpZ25lZC1vZmYtYnk6 IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4KICAyIGZpbGVzIGNoYW5nZWQsIDYxIGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9wcm92aWRlcnMvaW1wbGVt ZW50YXRpb25zL2tleW1nbXQvcnNhX2ttZ210LmMgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25z L2tleW1nbXQvcnNhX2ttZ210LmMKLWluZGV4IGNkNzQyNzVkNjAuLjUyMDg3YWJmZjYgMTAwNjQ0 CitpbmRleCAzNTgyOTM2ZDY3Li4zODNjMzA3MWE5IDEwMDY0NAogLS0tIGEvcHJvdmlkZXJzL2lt cGxlbWVudGF0aW9ucy9rZXltZ210L3JzYV9rbWdtdC5jCiArKysgYi9wcm92aWRlcnMvaW1wbGVt ZW50YXRpb25zL2tleW1nbXQvcnNhX2ttZ210LmMKLUBAIC00MzQsNiArNDM0LDcgQEAgc3RydWN0 IHJzYV9nZW5fY3R4IHsKK0BAIC00MjgsNiArNDI4LDcgQEAgc3RydWN0IHJzYV9nZW5fY3R4IHsK ICAjaWYgZGVmaW5lZChGSVBTX01PRFVMRSkgJiYgIWRlZmluZWQoT1BFTlNTTF9OT19BQ1ZQX1RF U1RTKQogICAgICAvKiBBQ1ZQIHRlc3QgcGFyYW1ldGVycyAqLwogICAgICBPU1NMX1BBUkFNICph Y3ZwX3Rlc3RfcGFyYW1zOwpAQCAtMjEsNyArMjEsNyBAQCBpbmRleCBjZDc0Mjc1ZDYwLi41MjA4 N2FiZmY2IDEwMDY0NAogICNlbmRpZgogIH07CiAgCi1AQCAtNDQ3LDYgKzQ0OCwxMiBAQCBzdGF0 aWMgaW50IHJzYV9nZW5jYihpbnQgcCwgaW50IG4sIEJOX0dFTkNCICpjYikKK0BAIC00NDEsNiAr NDQyLDEyIEBAIHN0YXRpYyBpbnQgcnNhX2dlbmNiKGludCBwLCBpbnQgbiwgQk5fR0VOQ0IgKmNi KQogICAgICByZXR1cm4gZ2N0eC0+Y2IocGFyYW1zLCBnY3R4LT5jYmFyZyk7CiAgfQogIApAQCAt MzIsOSArMzIsOSBAQCBpbmRleCBjZDc0Mjc1ZDYwLi41MjA4N2FiZmY2IDEwMDY0NAogKyNlbmRp ZgogKwogIHN0YXRpYyB2b2lkICpnZW5faW5pdCh2b2lkICpwcm92Y3R4LCBpbnQgc2VsZWN0aW9u LCBpbnQgcnNhX3R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE9TU0xfUEFSQU0g cGFyYW1zW10pCisgICAgIGNvbnN0IE9TU0xfUEFSQU0gcGFyYW1zW10pCiAgewotQEAgLTQ3NCw2 ICs0ODEsMTAgQEAgc3RhdGljIHZvaWQgKmdlbl9pbml0KHZvaWQgKnByb3ZjdHgsIGludCBzZWxl Y3Rpb24sIGludCByc2FfdHlwZSwKK0BAIC00NjgsNiArNDc1LDEwIEBAIHN0YXRpYyB2b2lkICpn ZW5faW5pdCh2b2lkICpwcm92Y3R4LCBpbnQgc2VsZWN0aW9uLCBpbnQgcnNhX3R5cGUsCiAgCiAg ICAgIGlmICghcnNhX2dlbl9zZXRfcGFyYW1zKGdjdHgsIHBhcmFtcykpCiAgICAgICAgICBnb3Rv IGVycjsKQEAgLTQ1LDcgKzQ1LDcgQEAgaW5kZXggY2Q3NDI3NWQ2MC4uNTIwODdhYmZmNiAxMDA2 NDQKICAgICAgcmV0dXJuIGdjdHg7CiAgCiAgZXJyOgotQEAgLTYzMCw2ICs2NDEsMTEgQEAgc3Rh dGljIHZvaWQgKnJzYV9nZW4odm9pZCAqZ2VuY3R4LCBPU1NMX0NBTExCQUNLICpvc3NsY2IsIHZv aWQgKmNiYXJnKQorQEAgLTYyNCw2ICs2MzUsMTEgQEAgc3RhdGljIHZvaWQgKnJzYV9nZW4odm9p ZCAqZ2VuY3R4LCBPU1NMX0NBTExCQUNLICpvc3NsY2IsIHZvaWQgKmNiYXJnKQogIAogICAgICBy c2EgPSByc2FfdG1wOwogICAgICByc2FfdG1wID0gTlVMTDsKQEAgLTU0LDEwICs1NCwxMCBAQCBp bmRleCBjZDc0Mjc1ZDYwLi41MjA4N2FiZmY2IDEwMDY0NAogKyAgICBpZiAoZG9fcnNhX3BjdChn Y3R4LT5wcm92X3JzYV9jdHgsICJzaGEyNTYiLCByc2EpICE9IDEpCiArICAgICAgICBhYm9ydCgp OwogKyNlbmRpZgotICBlcnI6CisgZXJyOgogICAgICBCTl9HRU5DQl9mcmVlKGdlbmNiKTsKICAg ICAgUlNBX2ZyZWUocnNhX3RtcCk7Ci1AQCAtNjQ1LDYgKzY2MSw4IEBAIHN0YXRpYyB2b2lkIHJz YV9nZW5fY2xlYW51cCh2b2lkICpnZW5jdHgpCitAQCAtNjM5LDYgKzY1NSw4IEBAIHN0YXRpYyB2 b2lkIHJzYV9nZW5fY2xlYW51cCh2b2lkICpnZW5jdHgpCiAgI2lmIGRlZmluZWQoRklQU19NT0RV TEUpICYmICFkZWZpbmVkKE9QRU5TU0xfTk9fQUNWUF9URVNUUykKICAgICAgb3NzbF9yc2FfYWN2 cF90ZXN0X2dlbl9wYXJhbXNfZnJlZShnY3R4LT5hY3ZwX3Rlc3RfcGFyYW1zKTsKICAgICAgZ2N0 eC0+YWN2cF90ZXN0X3BhcmFtcyA9IE5VTEw7CkBAIC02Nyw3ICs2Nyw3IEBAIGluZGV4IGNkNzQy NzVkNjAuLjUyMDg3YWJmZjYgMTAwNjQ0CiAgICAgIEJOX2NsZWFyX2ZyZWUoZ2N0eC0+cHViX2V4 cCk7CiAgICAgIE9QRU5TU0xfZnJlZShnY3R4KTsKIGRpZmYgLS1naXQgYS9wcm92aWRlcnMvaW1w bGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRp b25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMKLWluZGV4IDI5YmU1ZjUwMjguLjY3MDEyNTQ2NGUgMTAw NjQ0CitpbmRleCBiYmRkMDM3NzI4Li40ZTA3NDRlZWJhIDEwMDY0NAogLS0tIGEvcHJvdmlkZXJz L2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jCiArKysgYi9wcm92aWRlcnMvaW1w bGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMKIEBAIC0zNyw3ICszNyw3IEBACkBAIC05 Nyw3ICs5Nyw3IEBAIGluZGV4IDI5YmU1ZjUwMjguLjY3MDEyNTQ2NGUgMTAwNjQ0CiAgewogICAg ICBQUk9WX1JTQV9DVFggKnByc2FjdHggPSBOVUxMOwogICAgICBjaGFyICpwcm9wcV9jb3B5ID0g TlVMTDsKLUBAIC0xMzE2LDcgKzEzMTYsNyBAQCBpbnQgcnNhX2RpZ2VzdF92ZXJpZnlfZmluYWwo dm9pZCAqdnByc2FjdHgsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNpZywKK0BAIC0xMzA5LDcgKzEz MDksNyBAQCBpbnQgcnNhX2RpZ2VzdF92ZXJpZnlfZmluYWwodm9pZCAqdnByc2FjdHgsIGNvbnN0 IHVuc2lnbmVkIGNoYXIgKnNpZywKICAgICAgcmV0dXJuIG9rOwogIH0KICAKQEAgLTEwNiw3ICsx MDYsNyBAQCBpbmRleCAyOWJlNWY1MDI4Li42NzAxMjU0NjRlIDEwMDY0NAogIHsKICAgICAgUFJP Vl9SU0FfQ1RYICpwcnNhY3R4ID0gKFBST1ZfUlNBX0NUWCAqKXZwcnNhY3R4OwogIAotQEAgLTE4 NjYsNiArMTg2Niw0NSBAQCBzdGF0aWMgY29uc3QgT1NTTF9QQVJBTSAqcnNhX3NldHRhYmxlX2N0 eF9tZF9wYXJhbXModm9pZCAqdnByc2FjdHgpCitAQCAtMTg2MSw2ICsxODYxLDQ1IEBAIHN0YXRp YyBjb25zdCBPU1NMX1BBUkFNICpyc2Ffc2V0dGFibGVfY3R4X21kX3BhcmFtcyh2b2lkICp2cHJz YWN0eCkKICAgICAgcmV0dXJuIEVWUF9NRF9zZXR0YWJsZV9jdHhfcGFyYW1zKHByc2FjdHgtPm1k KTsKICB9CiAgCkBAIC0xNTMsNSArMTUzLDUgQEAgaW5kZXggMjliZTVmNTAyOC4uNjcwMTI1NDY0 ZSAxMDA2NDQKICAgICAgeyBPU1NMX0ZVTkNfU0lHTkFUVVJFX05FV0NUWCwgKHZvaWQgKCopKHZv aWQpKXJzYV9uZXdjdHggfSwKICAgICAgeyBPU1NMX0ZVTkNfU0lHTkFUVVJFX1NJR05fSU5JVCwg KHZvaWQgKCopKHZvaWQpKXJzYV9zaWduX2luaXQgfSwKIC0tIAotMi41MS4wCisyLjUyLjAKIAoK ZGlmZiAtLWdpdCBhLzAwMjUtRklQUy1SU0EtZW5jYXBzdWxhdGUtbGltaXRzLnBhdGNoIGIvMDAy NS1GSVBTLVJTQS1lbmNhcHN1bGF0ZS1saW1pdHMucGF0Y2gKaW5kZXggN2FhODRkYi4uNmE3ODg2 OSAxMDA2NDQKLS0tIGEvMDAyNS1GSVBTLVJTQS1lbmNhcHN1bGF0ZS1saW1pdHMucGF0Y2gKKysr IGIvMDAyNS1GSVBTLVJTQS1lbmNhcHN1bGF0ZS1saW1pdHMucGF0Y2gKQEAgLTEsNyArMSw3IEBA Ci1Gcm9tIDE3OGYzNDRjMWJhZDA2YWRjMGZlMTg3ZmIyNGRhMmIwMzZjYzM2MjggTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tIGNhOTk5YmE0MzA1YWZkZjZiODQ2NTcwOGVjYzFhNDcyNTQz YmJhZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0tYnVpbGQgPHJwbS1idWls ZD4KIERhdGU6IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNyArMDEwMAotU3ViamVjdDogW1BBVENI IDI1LzU5XSBGSVBTOiBSU0E6IGVuY2Fwc3VsYXRlIGxpbWl0cworU3ViamVjdDogW1BBVENIIDI1 LzU3XSBGSVBTOiBSU0E6IGVuY2Fwc3VsYXRlIGxpbWl0cwogCiBQYXRjaC1uYW1lOiAwMDkxLUZJ UFMtUlNBLWVuY2Fwc3VsYXRlLnBhdGNoCiBQYXRjaC1pZDogOTEKQEAgLTE0LDcgKzE0LDcgQEAg RnJvbS1kaXN0LWdpdC1jb21taXQ6IDQzMzRiYzgzN2ZiYzY0ZDE0ODkwZmRjNTE2NzlhODA3NzBk NDk4Y2UKICAyIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBh L3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2VtL3JzYV9rZW0uYyBiL3Byb3ZpZGVycy9pbXBs ZW1lbnRhdGlvbnMva2VtL3JzYV9rZW0uYwotaW5kZXggNzQ5NGRjYzAxMC4uNWQ2MTIzZThjYiAx MDA2NDQKK2luZGV4IGY3YmYzNjhhMGQuLmEwNWNmN2M3NDggMTAwNjQ0CiAtLS0gYS9wcm92aWRl cnMvaW1wbGVtZW50YXRpb25zL2tlbS9yc2Ffa2VtLmMKICsrKyBiL3Byb3ZpZGVycy9pbXBsZW1l bnRhdGlvbnMva2VtL3JzYV9rZW0uYwogQEAgLTI4NCw2ICsyODQsMTMgQEAgc3RhdGljIGludCBy c2FzdmVfZ2VuZXJhdGUoUFJPVl9SU0FfQ1RYICpwcnNhY3R4LApAQCAtMzEsNyArMzEsNyBAQCBp bmRleCA3NDk0ZGNjMDEwLi41ZDYxMjNlOGNiIDEwMDY0NAogICAgICBpZiAob3V0ID09IE5VTEwp IHsKICAgICAgICAgIGlmIChubGVuID09IDApIHsKICAgICAgICAgICAgICBFUlJfcmFpc2UoRVJS X0xJQl9QUk9WLCBQUk9WX1JfSU5WQUxJRF9LRVkpOwotQEAgLTM2MCw2ICszNjcsMTMgQEAgc3Rh dGljIGludCByc2FzdmVfcmVjb3ZlcihQUk9WX1JTQV9DVFggKnByc2FjdHgsCitAQCAtMzU5LDYg KzM2NiwxMyBAQCBzdGF0aWMgaW50IHJzYXN2ZV9yZWNvdmVyKFBST1ZfUlNBX0NUWCAqcHJzYWN0 eCwKICAgICAgLyogU3RlcCAoMSk6IGdldCB0aGUgYnl0ZSBsZW5ndGggb2YgbiAqLwogICAgICBu bGVuID0gUlNBX3NpemUocHJzYWN0eC0+cnNhKTsKICAKQEAgLTU1LDUgKzU1LDUgQEAgaW5kZXgg ZWNhYjE0NTRlNy4uOGU1ZWRkMzVmZSAxMDA2NDQKICBPcCA9IFJTQVNWRQogK1Jlc3VsdCA9IFRF U1RfRU5DQVBTVUxBVEVfTEVOX0VSUk9SCiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1n aXQgYS8wMDI2LUZJUFMtUlNBLURpc2FsbG93LVNIQUtFLWluLU9BRVAtYW5kLVBTUy5wYXRjaCBi LzAwMjYtRklQUy1SU0EtRGlzYWxsb3ctU0hBS0UtaW4tT0FFUC1hbmQtUFNTLnBhdGNoCmluZGV4 IDlkZDA4ZmEuLmRhZmEyNTMgMTAwNjQ0Ci0tLSBhLzAwMjYtRklQUy1SU0EtRGlzYWxsb3ctU0hB S0UtaW4tT0FFUC1hbmQtUFNTLnBhdGNoCisrKyBiLzAwMjYtRklQUy1SU0EtRGlzYWxsb3ctU0hB S0UtaW4tT0FFUC1hbmQtUFNTLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA0ZDFhYmY5Y2Mw MjlhNzEzYjRiZjQzM2FmMDZkM2M2NTA3YWUyZWJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbSAwNWQ5YzkxNTRlMTk5YmI0YTg0ZTIxNWYwYjIwYmQwNmFjNTA4MWQ4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQogRnJvbTogcnBtLWJ1aWxkIDxycG0tYnVpbGQ+CiBEYXRlOiBXZWQsIDYg TWFyIDIwMjQgMTk6MTc6MTcgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyNi81OV0gRklQUzogUlNB OiBEaXNhbGxvdyBTSEFLRSBpbiBPQUVQIGFuZCBQU1MKK1N1YmplY3Q6IFtQQVRDSCAyNi81N10g RklQUzogUlNBOiBEaXNhbGxvdyBTSEFLRSBpbiBPQUVQIGFuZCBQU1MKIAogQWNjb3JkaW5nIHRv IEZJUFMgMTQwLTMgSUcsIHNlY3Rpb24gQy5DLCB0aGUgU0hBS0UgZGlnZXN0IGFsZ29yaXRobXMK IG11c3Qgbm90IGJlIHVzZWQgaW4gaGlnaGVyLWxldmVsIGFsZ29yaXRobXMgKHN1Y2ggYXMgUlNB LU9BRVAgYW5kCkBAIC0yNSw3ICsyNSw3IEBAIEZyb20tZGlzdC1naXQtY29tbWl0OiA0MzM0YmM4 MzdmYmM2NGQxNDg5MGZkYzUxNjc5YTgwNzcwZDQ5OGNlCiAgMiBmaWxlcyBjaGFuZ2VkLCAzMiBp bnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9jcnlwdG8vcnNhL3JzYV9vYWVwLmMgYi9jcnlw dG8vcnNhL3JzYV9vYWVwLmMKLWluZGV4IDVhMWMwODBmY2QuLjExY2Q3ODYxOGIgMTAwNjQ0Citp bmRleCA0NTMyMDViNTZjLi5lNDVkNGJjMjc4IDEwMDY0NAogLS0tIGEvY3J5cHRvL3JzYS9yc2Ff b2FlcC5jCiArKysgYi9jcnlwdG8vcnNhL3JzYV9vYWVwLmMKIEBAIC03Niw2ICs3NiwxNCBAQCBp bnQgb3NzbF9yc2FfcGFkZGluZ19hZGRfUEtDUzFfT0FFUF9tZ2YxX2V4KE9TU0xfTElCX0NUWCAq bGliY3R4LApAQCAtNTksNyArNTksNyBAQCBpbmRleCA1YTFjMDgwZmNkLi4xMWNkNzg2MThiIDEw MDY0NAogICAgICAvKiBYT0YgYXJlIGFwcHJvdmVkIGFzIHN0YW5kYWxvbmU7IFNoYWtlMjU2IGlu IEVkNDQ4OyBNR0YgKi8KICAgICAgaWYgKEVWUF9NRF94b2YobWQpKSB7CiBkaWZmIC0tZ2l0IGEv Y3J5cHRvL3JzYS9yc2FfcHNzLmMgYi9jcnlwdG8vcnNhL3JzYV9wc3MuYwotaW5kZXggYTJiYzE5 OGE4OS4uMjgzM2NhNTBmMyAxMDA2NDQKK2luZGV4IDk4ZDZlNzAzNDYuLjdmZTc4YjkwNTUgMTAw NjQ0CiAtLS0gYS9jcnlwdG8vcnNhL3JzYV9wc3MuYwogKysrIGIvY3J5cHRvL3JzYS9yc2FfcHNz LmMKIEBAIC02MSw2ICs2MSwxNCBAQCBpbnQgb3NzbF9yc2FfdmVyaWZ5X1BLQ1MxX1BTU19tZ2Yx KFJTQSAqcnNhLCBjb25zdCB1bnNpZ25lZCBjaGFyICptSGFzaCwKQEAgLTkzLDUgKzkzLDUgQEAg aW5kZXggYTJiYzE5OGE4OS4uMjgzM2NhNTBmMyAxMDA2NDQKICAgICAgaWYgKGhMZW4gPD0gMCkK ICAgICAgICAgIGdvdG8gZXJyOwogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEv MDAyNy1GSVBTLVJTQS1zaXplLW1vZGUtcmVzdHJpY3Rpb25zLnBhdGNoIGIvMDAyNy1GSVBTLVJT QS1zaXplLW1vZGUtcmVzdHJpY3Rpb25zLnBhdGNoCmluZGV4IDY1NGY2NzguLmNjMmNhOTYgMTAw NjQ0Ci0tLSBhLzAwMjctRklQUy1SU0Etc2l6ZS1tb2RlLXJlc3RyaWN0aW9ucy5wYXRjaAorKysg Yi8wMDI3LUZJUFMtUlNBLXNpemUtbW9kZS1yZXN0cmljdGlvbnMucGF0Y2gKQEAgLTEsNyArMSw3 IEBACi1Gcm9tIDU2NDE0MGI5OTgwZmJhNjI2ZDdiNTJjNjA3MmIxZDljYjg3MTUwZGEgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDQxOTE1Mjc1ODVhYjFlODkyMzI0OTg4NWNiZjg3ZDJm OTFiODgwNGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBTaW1vIFNvcmNlIDxzaW1v QHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDcgTWFyIDIwMjUgMTg6MjA6MzAgLTA1MDAKLVN1Ympl Y3Q6IFtQQVRDSCAyNy81OV0gRklQUzogUlNBOiBzaXplL21vZGUgcmVzdHJpY3Rpb25zCitTdWJq ZWN0OiBbUEFUQ0ggMjcvNTddIEZJUFM6IFJTQTogc2l6ZS9tb2RlIHJlc3RyaWN0aW9ucwogCiBT aWduZWQtb2ZmLWJ5OiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiAtLS0KQEAgLTEyLDEw ICsxMiwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiAg NCBmaWxlcyBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCiBkaWZm IC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jIGIv cHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jCi1pbmRleCA2NzAx MjU0NjRlLi42NjRjNTlkMmVmIDEwMDY0NAoraW5kZXggNGUwNzQ0ZWViYS4uZjM4NDMxZmQ2MCAx MDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL3JzYV9zaWcu YwogKysrIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jCi1A QCAtOTM5LDYgKzkzOSwxOSBAQCBzdGF0aWMgaW50IHJzYV92ZXJpZnlfcmVjb3Zlcih2b2lkICp2 cHJzYWN0eCwKK0BAIC05MzUsNiArOTM1LDE5IEBAIHN0YXRpYyBpbnQgcnNhX3ZlcmlmeV9yZWNv dmVyKHZvaWQgKnZwcnNhY3R4LAogIHsKICAgICAgUFJPVl9SU0FfQ1RYICpwcnNhY3R4ID0gKFBS T1ZfUlNBX0NUWCAqKXZwcnNhY3R4OwogICAgICBpbnQgcmV0OwpAQCAtMzUsOCArMzUsOCBAQCBp bmRleCA2NzAxMjU0NjRlLi42NjRjNTlkMmVmIDEwMDY0NAogIAogICAgICBpZiAoIW9zc2xfcHJv dl9pc19ydW5uaW5nKCkpCiAgICAgICAgICByZXR1cm4gMDsKLUBAIC0xMDMzLDYgKzEwNDYsMTkg QEAgc3RhdGljIGludCByc2FfdmVyaWZ5X2RpcmVjdGx5KFBST1ZfUlNBX0NUWCAqcHJzYWN0eCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqdGJz LCBzaXplX3QgdGJzbGVuKQorQEAgLTEwMjcsNiArMTA0MCwxOSBAQCBzdGF0aWMgaW50IHJzYV92 ZXJpZnlfZGlyZWN0bHkoUFJPVl9SU0FfQ1RYICpwcnNhY3R4LAorICAgICBjb25zdCB1bnNpZ25l ZCBjaGFyICp0YnMsIHNpemVfdCB0YnNsZW4pCiAgewogICAgICBzaXplX3QgcnNsZW47CiArIyBp ZmRlZiBGSVBTX01PRFVMRQpAQCAtNTYsNyArNTYsNyBAQCBpbmRleCA2NzAxMjU0NjRlLi42NjRj NTlkMmVmIDEwMDY0NAogICAgICBpZiAoIW9zc2xfcHJvdl9pc19ydW5uaW5nKCkpCiAgICAgICAg ICByZXR1cm4gMDsKIGRpZmYgLS1naXQgYS9zc2wvc3NsX2NpcGguYyBiL3NzbC9zc2xfY2lwaC5j Ci1pbmRleCAxOTQyMGQ2YzZhLi41YWIxY2NlZTkzIDEwMDY0NAoraW5kZXggMTViZTdlODA2Ny4u ODIzYWQ0OGUwMiAxMDA2NDQKIC0tLSBhL3NzbC9zc2xfY2lwaC5jCiArKysgYi9zc2wvc3NsX2Np cGguYwogQEAgLTM1MCw2ICszNTAsOSBAQCBpbnQgc3NsX2xvYWRfY2lwaGVycyhTU0xfQ1RYICpj dHgpCkBAIC03MCw3ICs3MCw3IEBAIGluZGV4IDE5NDIwZDZjNmEuLjVhYjFjY2VlOTMgMTAwNjQ0 CiAgICAgICAqIFdlIGlnbm9yZSBhbnkgZXJyb3JzIGZyb20gdGhlIGZldGNoZXMgYmVsb3cuIFRo ZXkgYXJlIGV4cGVjdGVkIHRvIGZhaWwKICAgICAgICogaWYgdGhlc2UgYWxnb3JpdGhtcyBhcmUg bm90IGF2YWlsYWJsZS4KIGRpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0 YS9ldnBwa2V5X3JzYS50eHQgYi90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0YS9ldnBwa2V5 X3JzYS50eHQKLWluZGV4IGYxZGM1ZGQyYTIuLjZhZTk3M2VhYWMgMTAwNjQ0CitpbmRleCA0Mjgx OWY3YzQxLi42NWE3NTQ2OWY5IDEwMDY0NAogLS0tIGEvdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZw X2RhdGEvZXZwcGtleV9yc2EudHh0CiArKysgYi90ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBfZGF0 YS9ldnBwa2V5X3JzYS50eHQKIEBAIC0yNjgsOCArMjY4LDE5IEBAIFR3SURBUUFCCkBAIC00Mzcs NSArNDM3LDUgQEAgaW5kZXggMTdjZWI1OTE0OC4uOTcyZTkwZjMyZiAxMDA2NDQKICAjIFNpZ25p bmcgd2l0aCBTSEExIGlzIG5vdCBhbGxvd2VkIGluIGZpcHMgbW9kZQogIEF2YWlsYWJsZWluID0g ZmlwcwogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEvMDAyOC1GSVBTLVJTQS1N YXJrLXg5MzEtYXMtbm90LWFwcHJvdmVkLWJ5LWRlZmF1bHQucGF0Y2ggYi8wMDI4LUZJUFMtUlNB LU1hcmsteDkzMS1hcy1ub3QtYXBwcm92ZWQtYnktZGVmYXVsdC5wYXRjaAppbmRleCBjZWE0OTFm Li5kNDcyZmQ3IDEwMDY0NAotLS0gYS8wMDI4LUZJUFMtUlNBLU1hcmsteDkzMS1hcy1ub3QtYXBw cm92ZWQtYnktZGVmYXVsdC5wYXRjaAorKysgYi8wMDI4LUZJUFMtUlNBLU1hcmsteDkzMS1hcy1u b3QtYXBwcm92ZWQtYnktZGVmYXVsdC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gODQzMjM1 MTFkOTU1OGFjYjQwNjE0Y2E3Y2QxOTQzNjkwMWIwMjYyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb20gZDcyNjIxYzdjOWZkMDliNGQ2YTkxN2IzYTcyMWYwZmQxMTRiOTUwZCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4KIERh dGU6IE1vbiwgMjQgTWFyIDIwMjUgMTE6MDM6NDUgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAyOC81 OV0gRklQUzogUlNBOiBNYXJrIHg5MzEgYXMgbm90IGFwcHJvdmVkIGJ5IGRlZmF1bHQKK1N1Ympl Y3Q6IFtQQVRDSCAyOC81N10gRklQUzogUlNBOiBNYXJrIHg5MzEgYXMgbm90IGFwcHJvdmVkIGJ5 IGRlZmF1bHQKIAogU2lnbmVkLW9mZi1ieTogU2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQuY29tPgog LS0tCkBAIC0yMiw1ICsyMiw1IEBAIGluZGV4IDZiZDc4M2ViMGEuLmMxYjAyOWRlODYgMTAwNjQ0 CiAgT1NTTF9GSVBTX1BBUkFNKGtia2RmX2tleV9jaGVjaywgS0JLREZfS0VZX0NIRUNLLCAwKQog IE9TU0xfRklQU19QQVJBTSh0bHMxM19rZGZfa2V5X2NoZWNrLCBUTFMxM19LREZfS0VZX0NIRUNL LCAwKQogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEvMDAyOS1GSVBTLVJTQS1S ZW1vdmUtWDkuMzEtcGFkZGluZy1zaWduYXR1cmVzLXRlc3RzLnBhdGNoIGIvMDAyOS1GSVBTLVJT QS1SZW1vdmUtWDkuMzEtcGFkZGluZy1zaWduYXR1cmVzLXRlc3RzLnBhdGNoCmluZGV4IGZlZGE4 NDguLmU4ZWRlZDUgMTAwNjQ0Ci0tLSBhLzAwMjktRklQUy1SU0EtUmVtb3ZlLVg5LjMxLXBhZGRp bmctc2lnbmF0dXJlcy10ZXN0cy5wYXRjaAorKysgYi8wMDI5LUZJUFMtUlNBLVJlbW92ZS1YOS4z MS1wYWRkaW5nLXNpZ25hdHVyZXMtdGVzdHMucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGJl MjgzZWY3MjMzNTQ5NjA2YmQ1ZjIyMjJjOTRlMmJlZDkyYzRhNmQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tIDM2MTg5ODFhMzU0MzgxMTlhNDAyN2QxYmYzY2IzOTAyNDMxYWRhYTQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBycG0tYnVpbGQgPHJwbS1idWlsZD4KIERhdGU6 IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNiArMDEwMAotU3ViamVjdDogW1BBVENIIDI5LzU5XSBG SVBTOiBSU0E6IFJlbW92ZSBYOS4zMSBwYWRkaW5nIHNpZ25hdHVyZXMgdGVzdHMKK1N1YmplY3Q6 IFtQQVRDSCAyOS81N10gRklQUzogUlNBOiBSZW1vdmUgWDkuMzEgcGFkZGluZyBzaWduYXR1cmVz IHRlc3RzCiAKIFRoZSBjdXJyZW50IGRyYWZ0IG9mIEZJUFMgMTg2LTUgWzFdIG5vIGxvbmdlciBj b250YWlucyBzcGVjaWZpY2F0aW9ucwogZm9yIFg5LjMxIHNpZ25hdHVyZSBwYWRkaW5nLiBJbnN0 ZWFkLCBpdCBjb250YWlucyB0aGUgZm9sbG93aW5nCkBAIC0yNzgsNSArMjc4LDUgQEAgaW5kZXgg OTdlYzFmZjNlNS4uMzFmYTBlYWZjNiAxMDA2NDQKICAgICAgICAgICJwc3MiLAogICAgICAgICAg NDA5NiwKIC0tIAotMi41MS4wCisyLjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAwMzAtRklQUy1SU0Et TkVFRFMtUkVXT1JLLUZJUFMtVXNlLU9BRVAtaW4tS0FUcy1zdXBwb3J0LS5wYXRjaCBiLzAwMzAt RklQUy1SU0EtTkVFRFMtUkVXT1JLLUZJUFMtVXNlLU9BRVAtaW4tS0FUcy1zdXBwb3J0LS5wYXRj aAppbmRleCAwNzI3YTc4Li42MGExNDAxIDEwMDY0NAotLS0gYS8wMDMwLUZJUFMtUlNBLU5FRURT LVJFV09SSy1GSVBTLVVzZS1PQUVQLWluLUtBVHMtc3VwcG9ydC0ucGF0Y2gKKysrIGIvMDAzMC1G SVBTLVJTQS1ORUVEUy1SRVdPUkstRklQUy1Vc2UtT0FFUC1pbi1LQVRzLXN1cHBvcnQtLnBhdGNo CkBAIC0xLDcgKzEsNyBAQAotRnJvbSBkY2Y3YWY5YjZhNzg5Mjk2ODJhNTM5YzMwYzM4OGQ2MzI5 NDYwZmRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4M2I1YTJlM2E3NDc4MDg3M2M4 ODMxZmQ4ZTNjYzZiZGUwMDA2ODIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogU2lt byBTb3JjZSA8c2ltb0ByZWRoYXQuY29tPgogRGF0ZTogV2VkLCAxMiBGZWIgMjAyNSAxNzoxMjow MiAtMDUwMAotU3ViamVjdDogW1BBVENIIDMwLzU5XSBGSVBTOiBSU0E6IE5FRURTLVJFV09SSzoK K1N1YmplY3Q6IFtQQVRDSCAzMC81N10gRklQUzogUlNBOiBORUVEUy1SRVdPUks6CiAgRklQUy1V c2UtT0FFUC1pbi1LQVRzLXN1cHBvcnQtZml4ZWQtT0FFUC1zZWVkCiAKIFNpZ25lZC1vZmYtYnk6 IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4KQEAgLTM4Myw1ICszODMsNSBAQCBpbmRleCAw MDAwMDAwMDAwLi4yODMzYTM4M2MxCiArLS0KICsKIC0tIAotMi41MS4wCisyLjUyLjAKIAoKZGlm ZiAtLWdpdCBhLzAwMzEtRklQUy1EZW55LVNIQS0xLXNpZ25hdHVyZS12ZXJpZmljYXRpb24ucGF0 Y2ggYi8wMDMxLUZJUFMtRGVueS1TSEEtMS1zaWduYXR1cmUtdmVyaWZpY2F0aW9uLnBhdGNoCmlu ZGV4IDc3ZGM1ZjMuLmRmMzA2OTIgMTAwNjQ0Ci0tLSBhLzAwMzEtRklQUy1EZW55LVNIQS0xLXNp Z25hdHVyZS12ZXJpZmljYXRpb24ucGF0Y2gKKysrIGIvMDAzMS1GSVBTLURlbnktU0hBLTEtc2ln bmF0dXJlLXZlcmlmaWNhdGlvbi5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gN2UxMDUxYmY1 YTFmYjljM2IxMGUxNDg1NTUwZDY2M2IyYjFmM2JhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb20gNzA2MWIzYjY1OWUwMzg2ZWZhNThkOWRmYjk0YTRmODQ4MzI4ODRkMCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2 IE1hciAyMDI0IDE5OjE3OjE1ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMzEvNTldIEZJUFM6IERl bnkgU0hBLTEgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbgorU3ViamVjdDogW1BBVENIIDMxLzU3XSBG SVBTOiBEZW55IFNIQS0xIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24KIAogRm9yIFJIRUwsIHdlIGFs cmVhZHkgZGlzYWJsZSBTSEEtMSBzaWduYXR1cmVzIGJ5IGRlZmF1bHQgaW4gdGhlIGRlZmF1bHQK IHByb3ZpZGVyLCBzbyBpdCBpcyB1bmV4cGVjdGVkIHRoYXQgdGhlIEZJUFMgcHJvdmlkZXIgd291 bGQgaGF2ZSBhIG1vcmUKQEAgLTMxLDYyICszMSw2NSBAQCBTaWduZWQtb2ZmLWJ5OiBDbGVtZW5z IExhbmcgPGNsbGFuZ0ByZWRoYXQuY29tPgogQnVnIElkOiBodHRwczovL2J1Z3ppbGxhLnJlZGhh dC5jb20vc2hvd19idWcuY2dpP2lkPTIwODcxNDcKIEZyb20tZGlzdC1naXQtY29tbWl0OiA0MzM0 YmM4MzdmYmM2NGQxNDg5MGZkYzUxNjc5YTgwNzcwZDQ5OGNlCiAtLS0KLSBwcm92aWRlcnMvaW1w bGVtZW50YXRpb25zL3NpZ25hdHVyZS9kc2Ffc2lnLmMgfCAgNCArLQotIC4uLi9pbXBsZW1lbnRh dGlvbnMvc2lnbmF0dXJlL2VjZHNhX3NpZy5jICAgICB8ICA0ICstCi0gcHJvdmlkZXJzL2ltcGxl bWVudGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jIHwgIDggKystCisgcHJvdmlkZXJzL2ltcGxl bWVudGF0aW9ucy9zaWduYXR1cmUvZHNhX3NpZy5jIHwgIDUgKy0KKyAuLi4vaW1wbGVtZW50YXRp b25zL3NpZ25hdHVyZS9lY2RzYV9zaWcuYyAgICAgfCAgNSArLQorIHByb3ZpZGVycy9pbXBsZW1l bnRhdGlvbnMvc2lnbmF0dXJlL3JzYV9zaWcuYyB8ICA5ICstLQogIC4uLi8zMC10ZXN0X2V2cF9k YXRhL2V2cHBrZXlfZWNkc2EudHh0ICAgICAgICB8IDExICsrKy0KICAuLi4vMzAtdGVzdF9ldnBf ZGF0YS9ldnBwa2V5X2VjZHNhX3NpZ2FsZy50eHQgfCA2NCArKysrKysrKysrKysrKysrLS0tCiAg Li4uLzMwLXRlc3RfZXZwX2RhdGEvZXZwcGtleV9yc2FfY29tbW9uLnR4dCAgIHwgNTggKysrKysr KysrKysrKysrLS0KICB0ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXMudCAgICAgICAgICAgICAgICAg ICAgfCAgNCArLQogIHRlc3QvcmVjaXBlcy84MC10ZXN0X3NzbF9vbGQudCAgICAgICAgICAgICAg ICB8ICA0ICsrCi0gOCBmaWxlcyBjaGFuZ2VkLCAxMzAgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRp b25zKC0pCisgOCBmaWxlcyBjaGFuZ2VkLCAxMzAgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25z KC0pCiAKIGRpZmYgLS1naXQgYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9k c2Ffc2lnLmMgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9kc2Ffc2lnLmMK LWluZGV4IDU5NWFlZDdlMDcuLjQyMDg1ZTVhZGUgMTAwNjQ0CitpbmRleCAzMWE4OTEzM2EzLi4w ZGU3NTBjMjQ3IDEwMDY0NAogLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1 cmUvZHNhX3NpZy5jCiArKysgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9k c2Ffc2lnLmMKLUBAIC0xODcsOSArMTg3LDcgQEAgc3RhdGljIGludCBkc2Ffc2V0dXBfbWQoUFJP Vl9EU0FfQ1RYICpjdHgsCitAQCAtMTg3LDEwICsxODcsNyBAQCBzdGF0aWMgaW50IGRzYV9zZXR1 cF9tZChQUk9WX0RTQV9DVFggKmN0eCwKICAgICAgICAgIH0KICAjaWZkZWYgRklQU19NT0RVTEUK ICAgICAgICAgIHsKIC0gICAgICAgICAgICBpbnQgc2hhMV9hbGxvd2VkCiAtICAgICAgICAgICAg ICAgID0gKChjdHgtPm9wZXJhdGlvbgotLSAgICAgICAgICAgICAgICAgICAgJiAoRVZQX1BLRVlf T1BfU0lHTiB8IEVWUF9QS0VZX09QX1NJR05NU0cpKSA9PSAwKTsKKy0gICAgICAgICAgICAgICAg ICAgICAgICYgKEVWUF9QS0VZX09QX1NJR04gfCBFVlBfUEtFWV9PUF9TSUdOTVNHKSkKKy0gICAg ICAgICAgICAgICAgICAgID09IDApOwogKyAgICAgICAgICAgIGludCBzaGExX2FsbG93ZWQgPSAw OwogIAogICAgICAgICAgICAgIGlmICghb3NzbF9maXBzX2luZF9kaWdlc3Rfc2lnbl9jaGVjayhP U1NMX0ZJUFNfSU5EX0dFVChjdHgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPU1NMX0ZJUFNfSU5EX1NFVFRBQkxFMSwKKyAgICAgICAgICAgICAg ICAgICAgIE9TU0xfRklQU19JTkRfU0VUVEFCTEUxLAogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9p bXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL2VjZHNhX3NpZy5jIGIvcHJvdmlkZXJzL2ltcGxlbWVu dGF0aW9ucy9zaWduYXR1cmUvZWNkc2Ffc2lnLmMKLWluZGV4IDg4ZDgzMjc1YjEuLjAxYjMwMjM4 OTEgMTAwNjQ0CitpbmRleCAyYTRmYWY0YTcxLi5mNWMxMDEwMDVmIDEwMDY0NAogLS0tIGEvcHJv dmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvZWNkc2Ffc2lnLmMKICsrKyBiL3Byb3Zp ZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL2VjZHNhX3NpZy5jCi1AQCAtMjE0LDkgKzIx NCw3IEBAIHN0YXRpYyBpbnQgZWNkc2Ffc2V0dXBfbWQoUFJPVl9FQ0RTQV9DVFggKmN0eCwKK0BA IC0yMTQsMTAgKzIxNCw3IEBAIHN0YXRpYyBpbnQgZWNkc2Ffc2V0dXBfbWQoUFJPVl9FQ0RTQV9D VFggKmN0eCwKICAKICAjaWZkZWYgRklQU19NT0RVTEUKICAgICAgewogLSAgICAgICAgaW50IHNo YTFfYWxsb3dlZAogLSAgICAgICAgICAgID0gKChjdHgtPm9wZXJhdGlvbgotLSAgICAgICAgICAg ICAgICAmIChFVlBfUEtFWV9PUF9TSUdOIHwgRVZQX1BLRVlfT1BfU0lHTk1TRykpID09IDApOwor LSAgICAgICAgICAgICAgICAgICAmIChFVlBfUEtFWV9PUF9TSUdOIHwgRVZQX1BLRVlfT1BfU0lH Tk1TRykpCistICAgICAgICAgICAgICAgID09IDApOwogKyAgICAgICAgaW50IHNoYTFfYWxsb3dl ZCA9IDA7CiAgCiAgICAgICAgICBpZiAoIW9zc2xfZmlwc19pbmRfZGlnZXN0X3NpZ25fY2hlY2so T1NTTF9GSVBTX0lORF9HRVQoY3R4KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPU1NMX0ZJUFNfSU5EX1NFVFRBQkxFMSwKKyAgICAgICAgICAgICAgICAg T1NTTF9GSVBTX0lORF9TRVRUQUJMRTEsCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxlbWVu dGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9z aWduYXR1cmUvcnNhX3NpZy5jCi1pbmRleCA2NjRjNTlkMmVmLi4xZTIzOTRlYjdkIDEwMDY0NAor aW5kZXggZjM4NDMxZmQ2MC4uZTkwY2UzYzIyMyAxMDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9pbXBs ZW1lbnRhdGlvbnMvc2lnbmF0dXJlL3JzYV9zaWcuYwogKysrIGIvcHJvdmlkZXJzL2ltcGxlbWVu dGF0aW9ucy9zaWduYXR1cmUvcnNhX3NpZy5jCi1AQCAtNDA3LDkgKzQwNyw3IEBAIHN0YXRpYyBp bnQgcnNhX3NldHVwX21kKFBST1ZfUlNBX0NUWCAqY3R4LCBjb25zdCBjaGFyICptZG5hbWUsCitA QCAtNDA3LDEwICs0MDcsNyBAQCBzdGF0aWMgaW50IHJzYV9zZXR1cF9tZChQUk9WX1JTQV9DVFgg KmN0eCwgY29uc3QgY2hhciAqbWRuYW1lLAogICAgICAgICAgfQogICNpZmRlZiBGSVBTX01PRFVM RQogICAgICAgICAgewogLSAgICAgICAgICAgIGludCBzaGExX2FsbG93ZWQKIC0gICAgICAgICAg ICAgICAgPSAoKGN0eC0+b3BlcmF0aW9uCi0tICAgICAgICAgICAgICAgICAgICAmIChFVlBfUEtF WV9PUF9TSUdOIHwgRVZQX1BLRVlfT1BfU0lHTk1TRykpID09IDApOworLSAgICAgICAgICAgICAg ICAgICAgICAgJiAoRVZQX1BLRVlfT1BfU0lHTiB8IEVWUF9QS0VZX09QX1NJR05NU0cpKQorLSAg ICAgICAgICAgICAgICAgICAgPT0gMCk7CiArICAgICAgICAgICAgaW50IHNoYTFfYWxsb3dlZCA9 IDA7CiAgCiAgICAgICAgICAgICAgaWYgKCFvc3NsX2ZpcHNfaW5kX2RpZ2VzdF9zaWduX2NoZWNr KE9TU0xfRklQU19JTkRfR0VUKGN0eCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9TU0xfRklQU19JTkRfU0VUVEFCTEUxLAotQEAgLTE3OTUsMTEg KzE3OTMsMTUgQEAgc3RhdGljIGludCByc2Ffc2V0X2N0eF9wYXJhbXModm9pZCAqdnByc2FjdHgs IGNvbnN0IE9TU0xfUEFSQU0gcGFyYW1zW10pCisgICAgICAgICAgICAgICAgICAgICBPU1NMX0ZJ UFNfSU5EX1NFVFRBQkxFMSwKK0BAIC0xNzkwLDExICsxNzg3LDE1IEBAIHN0YXRpYyBpbnQgcnNh X3NldF9jdHhfcGFyYW1zKHZvaWQgKnZwcnNhY3R4LCBjb25zdCBPU1NMX1BBUkFNIHBhcmFtc1td KQogIAogICAgICBpZiAocHJzYWN0eC0+bWQgPT0gTlVMTCAmJiBwbWRuYW1lID09IE5VTEwKICAg ICAgICAgICYmIHBhZF9tb2RlID09IFJTQV9QS0NTMV9QU1NfUEFERElORykgewpAQCAtNjYwLDcg KzY2Myw3IEBAIGluZGV4IDk3MmU5MGYzMmYuLjYxZTJiNGUzYWMgMTAwNjQ0CiAgQXZhaWxhYmxl aW4gPSBmaXBzCiAgRklQU3ZlcnNpb24gPSA+PTMuNC4wCiBkaWZmIC0tZ2l0IGEvdGVzdC9yZWNp cGVzLzgwLXRlc3RfY21zLnQgYi90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXMudAotaW5kZXggOTJh NDhhMDljNi4uY2Y0NTQxNDQ5YiAxMDA2NDQKK2luZGV4IGMyNzg5ODcxODYuLjkxMjgzYzVlNzQg MTAwNjQ0CiAtLS0gYS90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXMudAogKysrIGIvdGVzdC9yZWNp cGVzLzgwLXRlc3RfY21zLnQKIEBAIC0xODMsNyArMTgzLDcgQEAgbXkgQHNtaW1lX3BrY3M3X3Rl c3RzID0gKApAQCAtNzA0LDUgKzcwNyw1IEBAIGluZGV4IDU2OGExZGRiYTQuLjYzMzJhYWVjNGIg MTAwNzU1CiAgICAgICAgICBTS0lQOiB7CiAgICAgICAgICAgICAgc2tpcCAiTm8gSVB2NCBhdmFp bGFibGUgb24gdGhpcyBtYWNoaW5lIiwgNAogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0t Z2l0IGEvMDAzMi1GSVBTLVJBTkQtRklQUy0xNDAtMy1EUkJHLU5FRURTLVJFVklFVy5wYXRjaCBi LzAwMzItRklQUy1SQU5ELUZJUFMtMTQwLTMtRFJCRy1ORUVEUy1SRVZJRVcucGF0Y2gKaW5kZXgg ZDRmNTAwYS4uNDRkNzJkZiAxMDA2NDQKLS0tIGEvMDAzMi1GSVBTLVJBTkQtRklQUy0xNDAtMy1E UkJHLU5FRURTLVJFVklFVy5wYXRjaAorKysgYi8wMDMyLUZJUFMtUkFORC1GSVBTLTE0MC0zLURS QkctTkVFRFMtUkVWSUVXLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSAwZTI1Y2RmMGJlNTIw YmNjYThlODY3M2UwMTVmOTM4OTQ3MjE3ZDI4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bSA4MGE0ZDRkYTQyZGI5NzExZDA2OTUzZjRkY2Q2ZTlmMjljMDAxMjkyIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQogRnJvbTogcnBtLWJ1aWxkIDxycG0tYnVpbGQ+CiBEYXRlOiBXZWQsIDYgTWFy IDIwMjQgMTk6MTc6MTYgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAzMi81OV0gRklQUzogUkFORDog RklQUy0xNDAtMyBEUkJHIC0gTkVFRFMgUkVWSUVXCitTdWJqZWN0OiBbUEFUQ0ggMzIvNTddIEZJ UFM6IFJBTkQ6IEZJUFMtMTQwLTMgRFJCRyAtIE5FRURTIFJFVklFVwogCiBwcm92aWRlcnMvaW1w bGVtZW50YXRpb25zL3JhbmRzL2Nybmd0LmMgaXMgZ29uZQogCkBAIC0xNCwxMSArMTQsMTEgQEAg RnJvbS1kaXN0LWdpdC1jb21taXQ6IDQzMzRiYzgzN2ZiYzY0ZDE0ODkwZmRjNTE2NzlhODA3NzBk NDk4Y2UKIC0tLQogIGNyeXB0by9yYW5kL3Byb3Zfc2VlZC5jICAgICAgICAgICAgICAgICAgICAg ICB8ICA5ICsrLQogIHByb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvZHJiZy5jICAgICAg ICB8IDExICsrLQotIC4uLi9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvc2VlZGluZy9yYW5kX3VuaXgu YyB8IDY4ICsrLS0tLS0tLS0tLS0tLS0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlv bnMoKyksIDY2IGRlbGV0aW9ucygtKQorIC4uLi9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvc2VlZGlu Zy9yYW5kX3VuaXguYyB8IDcwICsrLS0tLS0tLS0tLS0tLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQs IDIzIGluc2VydGlvbnMoKyksIDY3IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY3J5cHRv L3JhbmQvcHJvdl9zZWVkLmMgYi9jcnlwdG8vcmFuZC9wcm92X3NlZWQuYwotaW5kZXggMjk4NWM3 ZjJkOC4uMzIwMmEyODIyNiAxMDA2NDQKK2luZGV4IDg0NjZkZWQ4YWIuLjI0ZmVhYjIwZTUgMTAw NjQ0CiAtLS0gYS9jcnlwdG8vcmFuZC9wcm92X3NlZWQuYwogKysrIGIvY3J5cHRvL3JhbmQvcHJv dl9zZWVkLmMKIEBAIC0yMyw3ICsyMywxNCBAQCBzaXplX3Qgb3NzbF9yYW5kX2dldF9lbnRyb3B5 KG9zc2xfdW51c2VkIE9TU0xfTElCX0NUWCAqY3R4LApAQCAtMzgsMTAgKzM4LDEwIEBAIGluZGV4 IDI5ODVjN2YyZDguLjMyMDJhMjgyMjYgMTAwNjQ0CiAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJ Ql9SQU5ELCBFUlJfUl9SQU5EX0xJQik7CiAgICAgICAgICByZXR1cm4gMDsKIGRpZmYgLS1naXQg YS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3JhbmRzL2RyYmcuYyBiL3Byb3ZpZGVycy9pbXBs ZW1lbnRhdGlvbnMvcmFuZHMvZHJiZy5jCi1pbmRleCA0OTI1YTNiNDAwLi4xY2RiNjdiMjJjIDEw MDY0NAoraW5kZXggZjlkOTBkNWQ0My4uNmIyM2Q1NWNmNSAxMDA2NDQKIC0tLSBhL3Byb3ZpZGVy cy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvZHJiZy5jCiArKysgYi9wcm92aWRlcnMvaW1wbGVtZW50 YXRpb25zL3JhbmRzL2RyYmcuYwotQEAgLTU1OSw2ICs1NTksOSBAQCBzdGF0aWMgaW50IG9zc2xf cHJvdl9kcmJnX3Jlc2VlZF91bmxvY2tlZChQUk9WX0RSQkcgKmRyYmcsCitAQCAtNTU2LDYgKzU1 Niw5IEBAIHN0YXRpYyBpbnQgb3NzbF9wcm92X2RyYmdfcmVzZWVkX3VubG9ja2VkKFBST1ZfRFJC RyAqZHJiZywKICAjZW5kaWYKICAgICAgfQogIApAQCAtNTAsMTMgKzUwLDEzIEBAIGluZGV4IDQ5 MjVhM2I0MDAuLjFjZGI2N2IyMmMgMTAwNjQ0CiArI2VuZGlmCiAgICAgIC8qIFJlc2VlZCB1c2lu ZyBvdXIgc291cmNlcyBpbiBhZGRpdGlvbiAqLwogICAgICBlbnRyb3B5bGVuID0gZ2V0X2VudHJv cHkoZHJiZywgJmVudHJvcHksIGRyYmctPnN0cmVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZHJiZy0+bWluX2VudHJvcHlsZW4sIGRyYmctPm1heF9lbnRyb3B5bGVuLAotQEAg LTY4MCw4ICs2ODMsMTQgQEAgaW50IG9zc2xfcHJvdl9kcmJnX2dlbmVyYXRlKFBST1ZfRFJCRyAq ZHJiZywgdW5zaWduZWQgY2hhciAqb3V0LCBzaXplX3Qgb3V0bGVuLAorICAgICAgICAgZHJiZy0+ bWluX2VudHJvcHlsZW4sIGRyYmctPm1heF9lbnRyb3B5bGVuLAorQEAgLTY3Nyw4ICs2ODAsMTQg QEAgaW50IG9zc2xfcHJvdl9kcmJnX2dlbmVyYXRlKFBST1ZfRFJCRyAqZHJiZywgdW5zaWduZWQg Y2hhciAqb3V0LCBzaXplX3Qgb3V0bGVuLAogICAgICAgICAgICAgIHJlc2VlZF9yZXF1aXJlZCA9 IDE7CiAgICAgIH0KICAgICAgaWYgKGRyYmctPnBhcmVudCAhPSBOVUxMCi0tICAgICAgICAgICAg JiYgZ2V0X3BhcmVudF9yZXNlZWRfY291bnQoZHJiZykgIT0gZHJiZy0+cGFyZW50X3Jlc2VlZF9j b3VudGVyKQotKyAgICAgICAgICAgICYmIGdldF9wYXJlbnRfcmVzZWVkX2NvdW50KGRyYmcpICE9 IGRyYmctPnBhcmVudF9yZXNlZWRfY291bnRlcikgeworLSAgICAgICAgJiYgZ2V0X3BhcmVudF9y ZXNlZWRfY291bnQoZHJiZykgIT0gZHJiZy0+cGFyZW50X3Jlc2VlZF9jb3VudGVyKQorKyAgICAg ICAgJiYgZ2V0X3BhcmVudF9yZXNlZWRfY291bnQoZHJiZykgIT0gZHJiZy0+cGFyZW50X3Jlc2Vl ZF9jb3VudGVyKSB7CiArI2lmZGVmIEZJUFNfTU9EVUxFCiArICAgICAgICAvKiBSZWQgSGF0IHBh dGNoZXMgcHJvdmlkZSBjaGFpbiByZXNlZWRpbmcgd2hlbiBuZWNlc3Nhcnkgc28ganVzdCBzeW5j IGNvdW50ZXJzKi8KICsgICAgICAgIGRyYmctPnBhcmVudF9yZXNlZWRfY291bnRlciA9IGdldF9w YXJlbnRfcmVzZWVkX2NvdW50KGRyYmcpOwpAQCAtNjgsMTkgKzY4LDI2IEBAIGluZGV4IDQ5MjVh M2I0MDAuLjFjZGI2N2IyMmMgMTAwNjQ0CiAgICAgIGlmIChyZXNlZWRfcmVxdWlyZWQgfHwgcHJl ZGljdGlvbl9yZXNpc3RhbmNlKSB7CiAgICAgICAgICBpZiAoIW9zc2xfcHJvdl9kcmJnX3Jlc2Vl ZF91bmxvY2tlZChkcmJnLCBwcmVkaWN0aW9uX3Jlc2lzdGFuY2UsIE5VTEwsCiBkaWZmIC0tZ2l0 IGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9yYW5kcy9zZWVkaW5nL3JhbmRfdW5peC5jIGIv cHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9yYW5kcy9zZWVkaW5nL3JhbmRfdW5peC5jCi1pbmRl eCBjM2E1ZDhiM2JmLi5iN2IzNGE5MzQ1IDEwMDY0NAoraW5kZXggODBhZTgxNzMxMy4uMWU3M2Ex ZWMyOCAxMDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvcmFuZHMvc2VlZGlu Zy9yYW5kX3VuaXguYwogKysrIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9yYW5kcy9zZWVk aW5nL3JhbmRfdW5peC5jCi1AQCAtNTMsNiArNTMsOCBAQAotICMgaW5jbHVkZSA8ZmNudGwuaD4K LSAjIGluY2x1ZGUgPHVuaXN0ZC5oPgotICMgaW5jbHVkZSA8c3lzL3RpbWUuaD4KLSsjIGluY2x1 ZGUgPHN5cy9yYW5kb20uaD4KLSsjIGluY2x1ZGUgPG9wZW5zc2wvZXZwLmg+CitAQCAtNDcsMTIg KzQ3LDE0IEBACisgI2VuZGlmCisgCisgI2lmIChkZWZpbmVkKE9QRU5TU0xfU1lTX1VOSVgpICYm ICFkZWZpbmVkKE9QRU5TU0xfU1lTX1ZYV09SS1MpKSBcCistICAgIHx8IGRlZmluZWQoX19ESkdQ UF9fKQorKyAgICAgfHwgZGVmaW5lZChfX0RKR1BQX18pCisgI2luY2x1ZGUgPHN5cy90eXBlcy5o PgorICNpbmNsdWRlIDxzeXMvc3RhdC5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRl IDx1bmlzdGQuaD4KKyAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKysjaW5jbHVkZSA8c3lzL3JhbmRv bS5oPgorKyNpbmNsdWRlIDxvcGVuc3NsL2V2cC5oPgogIAogIHN0YXRpYyB1aW50NjRfdCBnZXRf dGltZV9zdGFtcCh2b2lkKTsKICAKLUBAIC0zMzksNzAgKzM0MSw4IEBAIHN0YXRpYyBzc2l6ZV90 IHN5c2NhbGxfcmFuZG9tKHZvaWQgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbikKK0BAIC0zMzgsNzAgKzM0 MCw4IEBAIHN0YXRpYyBzc2l6ZV90IHN5c2NhbGxfcmFuZG9tKHZvaWQgKmJ1Ziwgc2l6ZV90IGJ1 ZmxlbikKICAgICAgICogd2hpY2ggaXMgd2F5IGJlbG93IHRoZSBPU1NMX1NTSVpFX01BWCBsaW1p dC4gVGhlcmVmb3JlIHNpZ24gY29udmVyc2lvbgogICAgICAgKiBiZXR3ZWVuIHNpemVfdCBhbmQg c3NpemVfdCBpcyBzYWZlIGV2ZW4gd2l0aG91dCBhIHJhbmdlIGNoZWNrLgogICAgICAgKi8KQEAg LTk3LDggKzEwNCw4IEBAIGluZGV4IGMzYTVkOGIzYmYuLmI3YjM0YTkzNDUgMTAwNjQ0CiAtICAg ICAqIE5vdGU6IFNvbWV0aW1lcyBnZXRlbnRyb3B5KCkgY2FuIGJlIHByb3ZpZGVkIGJ1dCBub3Qg aW1wbGVtZW50ZWQKIC0gICAgICogaW50ZXJuYWxseS4gU28gd2UgbmVlZCB0byBjaGVjayBlcnJu byBmb3IgRU5PU1lTCiAtICAgICAqLwotLSMgIGlmICFkZWZpbmVkKF9fRHJhZ29uRmx5X18pICYm ICFkZWZpbmVkKF9fTmV0QlNEX18pICYmICFkZWZpbmVkKF9fRnJlZUJTRF9fKQotLSMgICAgaWYg ZGVmaW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18+PTIgJiYgZGVmaW5lZChfX0VMRl9fKSAmJiAh ZGVmaW5lZChfX2hwdXgpCistI2lmICFkZWZpbmVkKF9fRHJhZ29uRmx5X18pICYmICFkZWZpbmVk KF9fTmV0QlNEX18pICYmICFkZWZpbmVkKF9fRnJlZUJTRF9fKQorLSNpZiBkZWZpbmVkKF9fR05V Q19fKSAmJiBfX0dOVUNfXyA+PSAyICYmIGRlZmluZWQoX19FTEZfXykgJiYgIWRlZmluZWQoX19o cHV4KQogLSAgICBleHRlcm4gaW50IGdldGVudHJvcHkodm9pZCAqYnVmZmVyLCBzaXplX3QgbGVu Z3RoKSBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSk7CiAtCiAtICAgIGlmIChnZXRlbnRyb3B5ICE9IE5V TEwpIHsKQEAgLTEwNywxMyArMTE0LDEzIEBAIGluZGV4IGMzYTVkOGIzYmYuLmI3YjM0YTkzNDUg MTAwNjQ0CiAtICAgICAgICBpZiAoZXJybm8gIT0gRU5PU1lTKQogLSAgICAgICAgICAgIHJldHVy biAtMTsKIC0gICAgfQotLSMgICAgZWxpZiBkZWZpbmVkKE9QRU5TU0xfQVBQTEVfQ1JZUFRPX1JB TkRPTSkKKy0jZWxpZiBkZWZpbmVkKE9QRU5TU0xfQVBQTEVfQ1JZUFRPX1JBTkRPTSkKIC0KIC0g ICAgaWYgKENDUmFuZG9tR2VuZXJhdGVCeXRlcyhidWYsIGJ1ZmxlbikgPT0ga0NDU3VjY2VzcykK LS0JICAgIHJldHVybiAoc3NpemVfdClidWZsZW47CistICAgICAgICByZXR1cm4gKHNzaXplX3Qp YnVmbGVuOwogLQogLSAgICByZXR1cm4gLTE7Ci0tIyAgICBlbHNlCistI2Vsc2UKIC0gICAgdW5p b24gewogLSAgICAgICAgdm9pZCAqcDsKIC0gICAgICAgIGludCAoKmYpKHZvaWQgKmJ1ZmZlciwg c2l6ZV90IGxlbmd0aCk7CkBAIC0xMjgsMzEgKzEzNSwzMSBAQCBpbmRleCBjM2E1ZDhiM2JmLi5i N2IzNGE5MzQ1IDEwMDY0NAogLSAgICBFUlJfcG9wX3RvX21hcmsoKTsKIC0gICAgaWYgKHBfZ2V0 ZW50cm9weS5wICE9IE5VTEwpCiAtICAgICAgICByZXR1cm4gcF9nZXRlbnRyb3B5LmYoYnVmLCBi dWZsZW4pID09IDAgPyAoc3NpemVfdClidWZsZW4gOiAtMTsKLS0jICAgIGVuZGlmCi0tIyAgZW5k aWYgLyogIV9fRHJhZ29uRmx5X18gJiYgIV9fTmV0QlNEX18gJiYgIV9fRnJlZUJTRF9fICovCist I2VuZGlmCistI2VuZGlmIC8qICFfX0RyYWdvbkZseV9fICYmICFfX05ldEJTRF9fICYmICFfX0Zy ZWVCU0RfXyAqLwogLQogLSAgICAvKiBMaW51eCBzdXBwb3J0cyB0aGlzIHNpbmNlIHZlcnNpb24g My4xNyAqLwotLSMgIGlmIGRlZmluZWQoX19saW51eCkgJiYgZGVmaW5lZChfX05SX2dldHJhbmRv bSkKKy0jaWYgZGVmaW5lZChfX2xpbnV4KSAmJiBkZWZpbmVkKF9fTlJfZ2V0cmFuZG9tKQogLSAg ICByZXR1cm4gc3lzY2FsbChfX05SX2dldHJhbmRvbSwgYnVmLCBidWZsZW4sIDApOwotLSMgIGVs aWYgKGRlZmluZWQoX19EcmFnb25GbHlfXykgICYmIF9fRHJhZ29uRmx5X3ZlcnNpb24gPj0gNTAw NzAwKSBcCi0tICAgICB8fCAoZGVmaW5lZChfX05ldEJTRF9fKSAmJiBfX05ldEJTRF9WZXJzaW9u ID49IDEwMDAwMDAwMDApIFwKLS0gICAgIHx8IChkZWZpbmVkKF9fRnJlZUJTRF9fKSAmJiBfX0Zy ZWVCU0RfdmVyc2lvbiA+PSAxMjAwMDYxKQorLSNlbGlmIChkZWZpbmVkKF9fRHJhZ29uRmx5X18p ICYmIF9fRHJhZ29uRmx5X3ZlcnNpb24gPj0gNTAwNzAwKSBcCistICAgIHx8IChkZWZpbmVkKF9f TmV0QlNEX18pICYmIF9fTmV0QlNEX1ZlcnNpb24gPj0gMTAwMDAwMDAwMCkgIFwKKy0gICAgfHwg KGRlZmluZWQoX19GcmVlQlNEX18pICYmIF9fRnJlZUJTRF92ZXJzaW9uID49IDEyMDAwNjEpCiAt ICAgIHJldHVybiBnZXRyYW5kb20oYnVmLCBidWZsZW4sIDApOwotLSMgIGVsaWYgKGRlZmluZWQo X19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19OZXRCU0RfXykpICYmIGRlZmluZWQoS0VSTl9BUk5E KQorLSNlbGlmIChkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fTmV0QlNEX18pKSAm JiBkZWZpbmVkKEtFUk5fQVJORCkKIC0gICAgcmV0dXJuIHN5c2N0bF9yYW5kb20oYnVmLCBidWZs ZW4pOwotLSMgIGVsaWYgZGVmaW5lZChfX3dhc2lfXykKKy0jZWxpZiBkZWZpbmVkKF9fd2FzaV9f KQogLSAgICBpZiAoZ2V0ZW50cm9weShidWYsIGJ1ZmxlbikgPT0gMCkKLS0gICAgICByZXR1cm4g KHNzaXplX3QpYnVmbGVuOworLSAgICAgICAgcmV0dXJuIChzc2l6ZV90KWJ1ZmxlbjsKIC0gICAg cmV0dXJuIC0xOwotLSMgIGVsc2UKKy0jZWxzZQogLSAgICBlcnJubyA9IEVOT1NZUzsKIC0gICAg cmV0dXJuIC0xOwotLSMgIGVuZGlmCistI2VuZGlmCiArICAgIC8qIFJlZCBIYXQgdXNlcyBkb3du c3RyZWFtIHBhdGNoIHRvIGFsd2F5cyBzZWVkIGZyb20gZ2V0cmFuZG9tKCkgKi8KICsgICAgcmV0 dXJuIEVWUF9kZWZhdWx0X3Byb3BlcnRpZXNfaXNfZmlwc19lbmFibGVkKE5VTEwpID8gZ2V0cmFu ZG9tKGJ1ZiwgYnVmbGVuLCBHUk5EX1JBTkRPTSkgOiBnZXRyYW5kb20oYnVmLCBidWZsZW4sIDAp OwogIH0KLSAjICBlbmRpZiAgICAvKiBkZWZpbmVkKE9QRU5TU0xfUkFORF9TRUVEX0dFVFJBTkRP TSkgKi8KKyAjZW5kaWYgLyogZGVmaW5lZChPUEVOU1NMX1JBTkRfU0VFRF9HRVRSQU5ET00pICov CiAgCiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDMzLUZJUFMtUkFORC1G b3JiaWQtdHJ1bmNhdGVkLWhhc2hlcy1TSEEtMy5wYXRjaCBiLzAwMzMtRklQUy1SQU5ELUZvcmJp ZC10cnVuY2F0ZWQtaGFzaGVzLVNIQS0zLnBhdGNoCmluZGV4IGQyMmUzOGIuLjg1M2JkNTAgMTAw NjQ0Ci0tLSBhLzAwMzMtRklQUy1SQU5ELUZvcmJpZC10cnVuY2F0ZWQtaGFzaGVzLVNIQS0zLnBh dGNoCisrKyBiLzAwMzMtRklQUy1SQU5ELUZvcmJpZC10cnVuY2F0ZWQtaGFzaGVzLVNIQS0zLnBh dGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBkMGNlZjhmNmY4NjZkMWZhMzdmZDFkNjczZTI1YWRi YTIxMGEzYWQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAyZDM4NWEyNjE1ZGQ3YzZm MzNmODI0MTgzZWM2ZjY1ZWYyYzkzMjdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTog cnBtLWJ1aWxkIDxycG0tYnVpbGQ+CiBEYXRlOiBXZWQsIDYgTWFyIDIwMjQgMTk6MTc6MTYgKzAx MDAKLVN1YmplY3Q6IFtQQVRDSCAzMy81OV0gRklQUzogUkFORDogRm9yYmlkIHRydW5jYXRlZCBo YXNoZXMgJiBTSEEtMworU3ViamVjdDogW1BBVENIIDMzLzU3XSBGSVBTOiBSQU5EOiBGb3JiaWQg dHJ1bmNhdGVkIGhhc2hlcyAmIFNIQS0zCiAKIFNlY3Rpb24gRC5SICJIYXNoIEZ1bmN0aW9ucyBB Y2NlcHRhYmxlIGZvciBVc2UgaW4gdGhlIFNQIDgwMC05MEEgRFJCR3MiCiBvZiB0aGUgSW1wbGVt ZW50YXRpb24gR3VpZGFuY2UgZm9yIEZJUFMgMTQwLTMgWzFdIG5vdGVzIHRoYXQgdGhlcmUgaXMg bm8KQEAgLTMwLDEyICszMCwxMiBAQCBGcm9tLWRpc3QtZ2l0LWNvbW1pdDogNDMzNGJjODM3ZmJj NjRkMTQ4OTBmZGM1MTY3OWE4MDc3MGQ0OThjZQogIDMgZmlsZXMgY2hhbmdlZCwgMTg3IGluc2Vy dGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxl bWVudGF0aW9ucy9yYW5kcy9kcmJnX2hhc2guYyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMv cmFuZHMvZHJiZ19oYXNoLmMKLWluZGV4IDhiYjgzMWFlMzUuLmNlZGY1YzM4OTQgMTAwNjQ0Citp bmRleCA5MmViNDQzYzZlLi5hNjNiMjFlYWRlIDEwMDY0NAogLS0tIGEvcHJvdmlkZXJzL2ltcGxl bWVudGF0aW9ucy9yYW5kcy9kcmJnX2hhc2guYwogKysrIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0 aW9ucy9yYW5kcy9kcmJnX2hhc2guYwogQEAgLTU3OSw2ICs1NzksMTggQEAgc3RhdGljIGludCBk cmJnX2hhc2hfc2V0X2N0eF9wYXJhbXNfbG9ja2VkKHZvaWQgKnZjdHgsIGNvbnN0IE9TU0xfUEFS QU0gcGFyYW1zW10KICAgICAgICAgIGlmICghb3NzbF9kcmJnX3ZlcmlmeV9kaWdlc3QoY3R4LCBs aWJjdHgsIG1kKSkKLSAgICAgICAgICAgICByZXR1cm4gMDsgICAvKiBFcnJvciBhbHJlYWR5IHJh aXNlZCBmb3IgdXMgKi8KKyAgICAgICAgICAgICByZXR1cm4gMDsgLyogRXJyb3IgYWxyZWFkeSBy YWlzZWQgZm9yIHVzICovCiAgCiArI2lmZGVmIEZJUFNfTU9EVUxFCiArICAgIGlmICghRVZQX01E X2lzX2EobWQsIFNOX3NoYTEpCkBAIC01MywxMiArNTMsMTIgQEAgaW5kZXggOGJiODMxYWUzNS4u Y2VkZjVjMzg5NCAxMDA2NDQKICAgICAgICAgIG1kX3NpemUgPSBFVlBfTURfZ2V0X3NpemUobWQp OwogICAgICAgICAgaWYgKG1kX3NpemUgPD0gMCkKIGRpZmYgLS1naXQgYS9wcm92aWRlcnMvaW1w bGVtZW50YXRpb25zL3JhbmRzL2RyYmdfaG1hYy5jIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9u cy9yYW5kcy9kcmJnX2htYWMuYwotaW5kZXggNDNiM2Y4NzY2ZS4uNjRiNzYxMGNkMSAxMDA2NDQK K2luZGV4IGZmOGE2Y2Q2ZjAuLmQwNDE4OTdiYjggMTAwNjQ0CiAtLS0gYS9wcm92aWRlcnMvaW1w bGVtZW50YXRpb25zL3JhbmRzL2RyYmdfaG1hYy5jCiArKysgYi9wcm92aWRlcnMvaW1wbGVtZW50 YXRpb25zL3JhbmRzL2RyYmdfaG1hYy5jCi1AQCAtNTA1LDYgKzUwNSwxOCBAQCBzdGF0aWMgaW50 IGRyYmdfaG1hY19zZXRfY3R4X3BhcmFtc19sb2NrZWQodm9pZCAqdmN0eCwgY29uc3QgT1NTTF9Q QVJBTSBwYXJhbXNbXQorQEAgLTUyMiw2ICs1MjIsMTggQEAgc3RhdGljIGludCBkcmJnX2htYWNf c2V0X2N0eF9wYXJhbXNfbG9ja2VkKHZvaWQgKnZjdHgsIGNvbnN0IE9TU0xfUEFSQU0gcGFyYW1z W10KICAgICAgaWYgKG1kICE9IE5VTEwgJiYgIW9zc2xfZHJiZ192ZXJpZnlfZGlnZXN0KGN0eCwg bGliY3R4LCBtZCkpCi0gICAgICAgICByZXR1cm4gMDsgICAvKiBFcnJvciBhbHJlYWR5IHJhaXNl ZCBmb3IgdXMgKi8KKyAgICAgICAgIHJldHVybiAwOyAvKiBFcnJvciBhbHJlYWR5IHJhaXNlZCBm b3IgdXMgKi8KICAKICsjaWZkZWYgRklQU19NT0RVTEUKICsgICAgaWYgKCFFVlBfTURfaXNfYSht ZCwgU05fc2hhMSkKQEAgLTExOTEsNSArMTE5MSw1IEBAIGluZGV4IDk3NTY4NTljMGUuLjliYWVj ZjZmMzEgMTAwNjQ0CiArI05vbmNlLjAgPSAxNWUzMmFiYmFlNmI3NDMzCiArI091dHB1dC4wID0g ZWU5ZgogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEvMDAzNC1GSVBTLVBCS0RG Mi1TZXQtbWluaW11bS1wYXNzd29yZC1sZW5ndGgucGF0Y2ggYi8wMDM0LUZJUFMtUEJLREYyLVNl dC1taW5pbXVtLXBhc3N3b3JkLWxlbmd0aC5wYXRjaAppbmRleCAxMDk5OWE2Li4zNmM3YjE5IDEw MDY0NAotLS0gYS8wMDM0LUZJUFMtUEJLREYyLVNldC1taW5pbXVtLXBhc3N3b3JkLWxlbmd0aC5w YXRjaAorKysgYi8wMDM0LUZJUFMtUEJLREYyLVNldC1taW5pbXVtLXBhc3N3b3JkLWxlbmd0aC5w YXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYzcyZjgzYTNjOGY2NmU3ZDY4NDhiZjhiNjdiNjZm ZWNiOWFlZmU2ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMGJlMTdmMTIyMDY2N2E3 Yzc3NThlMTBkZWFkNGJlODBkNTIxYjNmYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206 IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE5OjE3OjE3ICsw MTAwCi1TdWJqZWN0OiBbUEFUQ0ggMzQvNTldIEZJUFM6IFBCS0RGMjogU2V0IG1pbmltdW0gcGFz c3dvcmQgbGVuZ3RoCitTdWJqZWN0OiBbUEFUQ0ggMzQvNTddIEZJUFM6IFBCS0RGMjogU2V0IG1p bmltdW0gcGFzc3dvcmQgbGVuZ3RoCiBNSU1FLVZlcnNpb246IDEuMAogQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CiBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 CkBAIC0zMCwxMyArMzAsMTMgQEAgRnJvbS1kaXN0LWdpdC1jb21taXQ6IDQzMzRiYzgzN2ZiYzY0 ZDE0ODkwZmRjNTE2NzlhODA3NzBkNDk4Y2UKICAxIGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9u cygrKSwgNiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRh dGlvbnMva2Rmcy9wYmtkZjIuYyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2Rmcy9wYmtk ZjIuYwotaW5kZXggYjM4MzMxNDA2NC4uNjhmOTM1NWI3ZCAxMDA2NDQKK2luZGV4IDU4MWM4Zjg3 OTkuLmNjMTVkYjRjNzMgMTAwNjQ0CiAtLS0gYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2tk ZnMvcGJrZGYyLmMKICsrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2Rmcy9wYmtkZjIu YwogQEAgLTM2LDYgKzM2LDIxIEBACiAgI2RlZmluZSBLREZfUEJLREYyX01BWF9LRVlfTEVOX0RJ R0VTVF9SQVRJTyAweEZGRkZGRkZGCiAgI2RlZmluZSBLREZfUEJLREYyX01JTl9JVEVSQVRJT05T IDEwMDAKLSAjZGVmaW5lIEtERl9QQktERjJfTUlOX1NBTFRfTEVOICAgKDEyOCAvIDgpCisgI2Rl ZmluZSBLREZfUEJLREYyX01JTl9TQUxUX0xFTiAoMTI4IC8gOCkKICsvKiBUaGUgSW1wbGVtZW50 YXRpb24gR3VpZGFuY2UgZm9yIEZJUFMgMTQwLTMgc2F5cyBpbiBzZWN0aW9uIEQuTgogKyAqICJQ YXNzd29yZC1CYXNlZCBLZXkgRGVyaXZhdGlvbiBmb3IgU3RvcmFnZSBBcHBsaWNhdGlvbnMiIHRo YXQgInRoZSB2ZW5kb3IKICsgKiBzaGFsbCBkb2N1bWVudCBpbiB0aGUgbW9kdWxl4oCZcyBTZWN1 cml0eSBQb2xpY3kgdGhlIGxlbmd0aCBvZgpAQCAtNTksMTAgKzU5LDEwIEBAIGluZGV4IGIzODMz MTQwNjQuLjY4ZjkzNTViN2QgMTAwNjQ0CiAgfQogIAogIHN0YXRpYyBpbnQgcGJrZGYyX2xvd2Vy X2JvdW5kX2NoZWNrX3Bhc3NlZChpbnQgc2FsdGxlbiwgdWludDY0X3QgaXRlciwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGtleWxlbiwgaW50ICpl cnJvciwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciAqKmRlc2MpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemVfdCBrZXlsZW4sIHNpemVfdCBwYXNzbGVuLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgKmVycm9yLCBjb25zdCBjaGFyICoqZGVzYykKKy0gICAg c2l6ZV90IGtleWxlbiwgaW50ICplcnJvciwKKy0gICAgY29uc3QgY2hhciAqKmRlc2MpCisrICAg IHNpemVfdCBrZXlsZW4sIHNpemVfdCBwYXNzbGVuLAorKyAgICBpbnQgKmVycm9yLCBjb25zdCBj aGFyICoqZGVzYykKICB7CiAgICAgIGlmICgoa2V5bGVuICogOCkgPCBLREZfUEJLREYyX01JTl9L RVlfTEVOX0JJVFMpIHsKICAgICAgICAgICplcnJvciA9IFBST1ZfUl9LRVlfU0laRV9UT09fU01B TEw7CkBAIC04NCw5ICs4NCw5IEBAIGluZGV4IGIzODMzMTQwNjQuLjY4ZjkzNTViN2QgMTAwNjQ0 CiAgICAgIGludCBlcnJvciA9IDA7CiAgICAgIGNvbnN0IGNoYXIgKmRlc2MgPSBOVUxMOwogICAg ICBpbnQgYXBwcm92ZWQgPSBwYmtkZjJfbG93ZXJfYm91bmRfY2hlY2tfcGFzc2VkKGN0eC0+c2Fs dF9sZW4sIGN0eC0+aXRlciwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBrZXlsZW4sICZlcnJvciwgJmRlc2MpOwotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleWxlbiwgY3R4LT5wYXNzX2xlbiwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJy b3IsICZkZXNjKTsKKy0gICAgICAgIGtleWxlbiwgJmVycm9yLCAmZGVzYyk7CisrICAgICAgICBr ZXlsZW4sIGN0eC0+cGFzc19sZW4sCisrICAgICAgICAmZXJyb3IsICZkZXNjKTsKICAKICAgICAg aWYgKCFhcHByb3ZlZCkgewogICAgICAgICAgaWYgKCFPU1NMX0ZJUFNfSU5EX09OX1VOQVBQUk9W RUQoY3R4LCBPU1NMX0ZJUFNfSU5EX1NFVFRBQkxFMCwgbGliY3R4LApAQCAtMTExLDExICsxMTEs MTEgQEAgaW5kZXggYjM4MzMxNDA2NC4uNjhmOTM1NWI3ZCAxMDA2NDQKICAgICAgaWYgKGxvd2Vy X2JvdW5kX2NoZWNrcykgewogICAgICAgICAgaW50IGVycm9yID0gMDsKICAgICAgICAgIGludCBw YXNzZWQgPSBwYmtkZjJfbG93ZXJfYm91bmRfY2hlY2tfcGFzc2VkKHNhbHRsZW4sIGl0ZXIsIGtl eWxlbiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZlcnJvciwgTlVMTCk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwYXNzbGVuLCAmZXJyb3IsIE5VTEwpOworLSAgICAgICAgICAgICZl cnJvciwgTlVMTCk7CisrICAgICAgICAgICAgcGFzc2xlbiwgJmVycm9yLCBOVUxMKTsKICAKICAg ICAgICAgIGlmICghcGFzc2VkKSB7CiAgICAgICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfUFJP ViwgZXJyb3IpOwogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEvMDAzNS1GSVBT LURILVBDVC5wYXRjaCBiLzAwMzUtRklQUy1ESC1QQ1QucGF0Y2gKaW5kZXggNTI4ODNhNi4uZjg3 MjRiNCAxMDA2NDQKLS0tIGEvMDAzNS1GSVBTLURILVBDVC5wYXRjaAorKysgYi8wMDM1LUZJUFMt REgtUENULnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBkOTgyZTZhODE3ODcxYjE3NDczMjAy N2VlZDhiNzUwYWE5ZjhhZTRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBhMWVlOTY3 ZmFlOWNiNmY0YTA2ZDRmZmJjZDYyYzZlZmQ5YWMwNWYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQogRnJvbTogU2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQuY29tPgogRGF0ZTogTW9uLCAyNCBNYXIg MjAyNSAxMDo0OTowMCAtMDQwMAotU3ViamVjdDogW1BBVENIIDM1LzU5XSBGSVBTOiBESDogUENU CitTdWJqZWN0OiBbUEFUQ0ggMzUvNTddIEZJUFM6IERIOiBQQ1QKIAogU2lnbmVkLW9mZi1ieTog U2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQuY29tPgogLS0tCkBAIC05LDcgKzksNyBAQCBTaWduZWQt b2ZmLWJ5OiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDI2 IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL2NyeXB0by9kaC9kaF9rZXkuYyBiL2NyeXB0 by9kaC9kaF9rZXkuYwotaW5kZXggMDUyZDRkMjllZC4uYWNlMDJiYjBkYiAxMDA2NDQKK2luZGV4 IDJkOWY3YTgxMDAuLmFlNDdkYzJjZDkgMTAwNjQ0CiAtLS0gYS9jcnlwdG8vZGgvZGhfa2V5LmMK ICsrKyBiL2NyeXB0by9kaC9kaF9rZXkuYwogQEAgLTQzLDYgKzQzLDkgQEAgaW50IG9zc2xfZGhf Y29tcHV0ZV9rZXkodW5zaWduZWQgY2hhciAqa2V5LCBjb25zdCBCSUdOVU0gKnB1Yl9rZXksIERI ICpkaCkKQEAgLTQ2LDcgKzQ2LDcgQEAgaW5kZXggMDUyZDRkMjllZC4uYWNlMDJiYjBkYiAxMDA2 NDQKICAKICAgICAgaWYgKEJOX251bV9iaXRzKGRoLT5wYXJhbXMucCkgPiBPUEVOU1NMX0RIX01B WF9NT0RVTFVTX0JJVFMpIHsKICAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX0RILCBESF9SX01P RFVMVVNfVE9PX0xBUkdFKTsKLUBAIC0zNzEsOCArMzg0LDIxIEBAIHN0YXRpYyBpbnQgZ2VuZXJh dGVfa2V5KERIICpkaCkKK0BAIC0zNzAsOCArMzgzLDIxIEBAIHN0YXRpYyBpbnQgZ2VuZXJhdGVf a2V5KERIICpkaCkKICAgICAgaWYgKCFvc3NsX2RoX2dlbmVyYXRlX3B1YmxpY19rZXkoY3R4LCBk aCwgcHJpdl9rZXksIHB1Yl9rZXkpKQogICAgICAgICAgZ290byBlcnI7CiAgCkBAIC02Nyw3ICs2 Nyw3IEBAIGluZGV4IDA1MmQ0ZDI5ZWQuLmFjZTAyYmIwZGIgMTAwNjQ0CiArCiAgICAgIGRoLT5k aXJ0eV9jbnQrKzsKICAgICAgb2sgPSAxOwotICBlcnI6CisgZXJyOgogLS0gCi0yLjUxLjAKKzIu NTIuMAogCgpkaWZmIC0tZ2l0IGEvMDAzNi1GSVBTLURILURpc2FibGUtRklQUy0xODYtNC10eXBl LXBhcmFtZXRlcnMucGF0Y2ggYi8wMDM2LUZJUFMtREgtRGlzYWJsZS1GSVBTLTE4Ni00LXR5cGUt cGFyYW1ldGVycy5wYXRjaAppbmRleCA4Y2MzYTNkLi5hNWQ2ZjU1IDEwMDY0NAotLS0gYS8wMDM2 LUZJUFMtREgtRGlzYWJsZS1GSVBTLTE4Ni00LXR5cGUtcGFyYW1ldGVycy5wYXRjaAorKysgYi8w MDM2LUZJUFMtREgtRGlzYWJsZS1GSVBTLTE4Ni00LXR5cGUtcGFyYW1ldGVycy5wYXRjaApAQCAt MSw3ICsxLDcgQEAKLUZyb20gM2Y4YjM2MzcwNjMwZTU3YWQ4NDhiZTVkODA0ZGY0MTY5ZDZhMzVh MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTdkZGNiNmNlZWY2NGM5MmI1YzIxMzg5 OTAwNDc3YmMzYTM4ZjQ2ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IHJwbS1idWls ZCA8cnBtLWJ1aWxkPgogRGF0ZTogV2VkLCA2IE1hciAyMDI0IDE5OjE3OjE3ICswMTAwCi1TdWJq ZWN0OiBbUEFUQ0ggMzYvNTldIEZJUFM6IERIOiBEaXNhYmxlIEZJUFMgMTg2LTQgdHlwZSBwYXJh bWV0ZXJzCitTdWJqZWN0OiBbUEFUQ0ggMzYvNTddIEZJUFM6IERIOiBEaXNhYmxlIEZJUFMgMTg2 LTQgdHlwZSBwYXJhbWV0ZXJzCiAKIEZvciBESCBwYXJhbWV0ZXIgYW5kIGtleSBwYWlyIGdlbmVy YXRpb24vdmVyaWZpY2F0aW9uLCB0aGUgRFNBCiBwcm9jZWR1cmVzIHNwZWNpZmllZCBpbiBGSVBT IDE4Ni00IGFyZSB1c2VkLiBXaXRoIHRoZSByZWxlYXNlIG9mIEZJUFMKQEAgLTI5LDE3ICsyOSwx NyBAQCBOT1RFOiBEcm9wcGVkIGNoYW5nZXMgaW4gdGVzdC9yZWNpcGVzLzgwLXRlc3RfY21zLnQK ICBjcnlwdG8vZGgvZGhfY2hlY2suYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrLS0K ICBjcnlwdG8vZGgvZGhfZ2VuLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrKy0K ICBjcnlwdG8vZGgvZGhfa2V5LmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrLS0K LSBjcnlwdG8vZGgvZGhfcG1ldGguYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKy0K KyBjcnlwdG8vZGgvZGhfcG1ldGguYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDE2ICsrKy0t CiAgcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZXltZ210L2RoX2ttZ210LmMgfCAgNSArKwog IHRlc3QvZW5kZWNvZGVfdGVzdC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KICB0 ZXN0L2V2cF9saWJjdHhfdGVzdC5jICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiAgdGVz dC9oZWxwZXJzL3ByZWRlZmluZWRfZGhwYXJhbXMuYyAgICAgICAgICAgfCA2MiArKysrKysrKysr KysrKysrKysrKwogIHRlc3QvaGVscGVycy9wcmVkZWZpbmVkX2RocGFyYW1zLmggICAgICAgICAg IHwgIDEgKwogIHRlc3QvcmVjaXBlcy84MC10ZXN0X3NzbF9vbGQudCAgICAgICAgICAgICAgIHwg IDMgKwotIDExIGZpbGVzIGNoYW5nZWQsIDExNiBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMo LSkKKyAxMSBmaWxlcyBjaGFuZ2VkLCAxMTkgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0p CiAKIGRpZmYgLS1naXQgYS9jcnlwdG8vZGgvZGhfYmFja2VuZC5jIGIvY3J5cHRvL2RoL2RoX2Jh Y2tlbmQuYwotaW5kZXggMWFhYTg4ZGFjYS4uYWEzYTQ5MTc5OSAxMDA2NDQKK2luZGV4IGY2ODQy OTg2MmMuLjAwYjIyOWEyOTUgMTAwNjQ0CiAtLS0gYS9jcnlwdG8vZGgvZGhfYmFja2VuZC5jCiAr KysgYi9jcnlwdG8vZGgvZGhfYmFja2VuZC5jCiBAQCAtNDcsNiArNDcsMTYgQEAgaW50IG9zc2xf ZGhfcGFyYW1zX2Zyb21kYXRhKERIICpkaCwgY29uc3QgT1NTTF9QQVJBTSBwYXJhbXNbXSkKQEAg LTU2LDExICs1NiwxMSBAQCBpbmRleCAxYWFhODhkYWNhLi5hYTNhNDkxNzk5IDEwMDY0NAogKyAg ICB9CiArI2VuZGlmCiArCi0gICAgIHBhcmFtX3ByaXZfbGVuID0KLSAgICAgICAgIE9TU0xfUEFS QU1fbG9jYXRlX2NvbnN0KHBhcmFtcywgT1NTTF9QS0VZX1BBUkFNX0RIX1BSSVZfTEVOKTsKKyAg ICAgcGFyYW1fcHJpdl9sZW4gPSBPU1NMX1BBUkFNX2xvY2F0ZV9jb25zdChwYXJhbXMsIE9TU0xf UEtFWV9QQVJBTV9ESF9QUklWX0xFTik7CiAgICAgIGlmIChwYXJhbV9wcml2X2xlbiAhPSBOVUxM CisgICAgICAgICAmJiAoIU9TU0xfUEFSQU1fZ2V0X2xvbmcocGFyYW1fcHJpdl9sZW4sICZwcml2 X2xlbikKIGRpZmYgLS1naXQgYS9jcnlwdG8vZGgvZGhfY2hlY2suYyBiL2NyeXB0by9kaC9kaF9j aGVjay5jCi1pbmRleCAyZDg5OWRjOTZmLi5hNGU2ZDFkZDE4IDEwMDY0NAoraW5kZXggMzAwMjYw OWI2OC4uMmFhYmRkMjkwOCAxMDA2NDQKIC0tLSBhL2NyeXB0by9kaC9kaF9jaGVjay5jCiArKysg Yi9jcnlwdG8vZGgvZGhfY2hlY2suYwogQEAgLTU4LDEzICs1OCwxNSBAQCBpbnQgREhfY2hlY2tf cGFyYW1zKGNvbnN0IERIICpkaCwgaW50ICpyZXQpCkBAIC03NSw3ICs3NSw3IEBAIGluZGV4IDJk ODk5ZGM5NmYuLmE0ZTZkMWRkMTggMTAwNjQ0CiArICAgICAqIEZJUFMgMTg2LTQgZXhwbGljaXQg ZG9tYWluIHBhcmFtZXRlcnMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQgaW4gRklQUyBtb2RlLgog ICAgICAgKi8KIC0gICAgcmV0dXJuIG9zc2xfZmZjX3BhcmFtc19GSVBTMTg2XzRfdmFsaWRhdGUo ZGgtPmxpYmN0eCwgJmRoLT5wYXJhbXMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEZGQ19QQVJBTV9UWVBFX0RILCByZXQsIE5VTEwpOworLSAgICAgICAg RkZDX1BBUkFNX1RZUEVfREgsIHJldCwgTlVMTCk7CiArICAgIEVSUl9yYWlzZV9kYXRhKEVSUl9M SUJfREgsIERIX1JfQkFEX0ZGQ19QQVJBTUVURVJTLAogKyAgICAgICAgICAgICAgICAgICAiRklQ UyAxODYtNCB0eXBlIGRvbWFpbiBwYXJhbWV0ZXJzIG5vIGxvbmdlciBhbGxvd2VkIGluIgogKyAg ICAgICAgICAgICAgICAgICAiIEZJUFMgbW9kZSwgc2luY2UgdGhlIHJlcXVpcmVkIHZhbGlkYXRp b24gcm91dGluZXMgd2VyZSIKQEAgLTg1LDEyICs4NSwxMiBAQCBpbmRleCAyZDg5OWRjOTZmLi5h NGU2ZDFkZDE4IDEwMDY0NAogICNlbHNlCiAgaW50IERIX2NoZWNrX3BhcmFtcyhjb25zdCBESCAq ZGgsIGludCAqcmV0KQogZGlmZiAtLWdpdCBhL2NyeXB0by9kaC9kaF9nZW4uYyBiL2NyeXB0by9k aC9kaF9nZW4uYwotaW5kZXggYjczYmZiN2YzYi4uMjc1Y2UyYzFhZiAxMDA2NDQKK2luZGV4IDA5 NGI2ZTcwYzcuLmQwYzFmYzUzNjcgMTAwNjQ0CiAtLS0gYS9jcnlwdG8vZGgvZGhfZ2VuLmMKICsr KyBiL2NyeXB0by9kaC9kaF9nZW4uYwogQEAgLTM5LDE4ICszOSwyNiBAQCBzdGF0aWMgaW50IGRo X2J1aWx0aW5fZ2VucGFyYW1zKERIICpyZXQsIGludCBwcmltZV9sZW4sIGludCBnZW5lcmF0b3Is CiAgaW50IG9zc2xfZGhfZ2VuZXJhdGVfZmZjX3BhcmFtZXRlcnMoREggKmRoLCBpbnQgdHlwZSwg aW50IHBiaXRzLCBpbnQgcWJpdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQk5fR0VOQ0IgKmNiKQorICAgICBCTl9HRU5DQiAqY2IpCiAgewogLSAgICBpbnQgcmV0LCBy ZXM7CiArICAgIGludCByZXQgPSAwOwpAQCAtMTAwLDEzICsxMDAsMTMgQEAgaW5kZXggYjczYmZi N2YzYi4uMjc1Y2UyYzFhZiAxMDA2NDQKICsKICAgICAgaWYgKHR5cGUgPT0gREhfUEFSQU1HRU5f VFlQRV9GSVBTXzE4Nl8yKQogICAgICAgICAgcmV0ID0gb3NzbF9mZmNfcGFyYW1zX0ZJUFMxODZf Ml9nZW5lcmF0ZShkaC0+bGliY3R4LCAmZGgtPnBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkZDX1BBUkFNX1RZUEVfREgsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBiaXRzLCBxYml0cywg JnJlcywgY2IpOworICAgICAgICAgICAgIEZGQ19QQVJBTV9UWVBFX0RILAorICAgICAgICAgICAg IHBiaXRzLCBxYml0cywgJnJlcywgY2IpOwogICAgICBlbHNlCiAtI2VuZGlmCiAgICAgICAgICBy ZXQgPSBvc3NsX2ZmY19wYXJhbXNfRklQUzE4Nl80X2dlbmVyYXRlKGRoLT5saWJjdHgsICZkaC0+ cGFyYW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGRkNfUEFSQU1fVFlQRV9ESCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGJpdHMsIHFiaXRzLCAmcmVzLCBjYik7CisgICAgICAgICAgICAgRkZD X1BBUkFNX1RZUEVfREgsCisgICAgICAgICAgICAgcGJpdHMsIHFiaXRzLCAmcmVzLCBjYik7CiAr I2Vsc2UKICsgICAgLyogSW4gRklQUyBtb2RlLCB3ZSBubyBsb25nZXIgc3VwcG9ydCBGSVBTIDE4 Ni00IGRvbWFpbiBwYXJhbWV0ZXJzICovCiArICAgIEVSUl9yYWlzZV9kYXRhKEVSUl9MSUJfREgs IERIX1JfQkFEX0ZGQ19QQVJBTUVURVJTLApAQCAtMTE4LDEwICsxMTgsMTAgQEAgaW5kZXggYjcz YmZiN2YzYi4uMjc1Y2UyYzFhZiAxMDA2NDQKICAgICAgICAgIGRoLT5kaXJ0eV9jbnQrKzsKICAg ICAgcmV0dXJuIHJldDsKIGRpZmYgLS1naXQgYS9jcnlwdG8vZGgvZGhfa2V5LmMgYi9jcnlwdG8v ZGgvZGhfa2V5LmMKLWluZGV4IGFjZTAyYmIwZGIuLmY1MDVmMmZhODcgMTAwNjQ0CitpbmRleCBh ZTQ3ZGMyY2Q5Li40ZGRjMWI4M2M3IDEwMDY0NAogLS0tIGEvY3J5cHRvL2RoL2RoX2tleS5jCiAr KysgYi9jcnlwdG8vZGgvZGhfa2V5LmMKLUBAIC0zMzYsOCArMzM2LDEyIEBAIHN0YXRpYyBpbnQg Z2VuZXJhdGVfa2V5KERIICpkaCkKK0BAIC0zMzUsOCArMzM1LDEyIEBAIHN0YXRpYyBpbnQgZ2Vu ZXJhdGVfa2V5KERIICpkaCkKICAgICAgICAgICAgICAgICAgZ290byBlcnI7CiAgICAgICAgICB9 IGVsc2UgewogICNpZmRlZiBGSVBTX01PRFVMRQpAQCAtMTM2LDcgKzEzNiw3IEBAIGluZGV4IGFj ZTAyYmIwZGIuLmY1MDVmMmZhODcgMTAwNjQ0CiAgI2Vsc2UKICAgICAgICAgICAgICBpZiAoZGgt PnBhcmFtcy5xID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICAgLyogc2VjcmV0IGV4cG9uZW50 IGxlbmd0aCwgbXVzdCBzYXRpc2Z5IDJebCA8IChwLTEpLzIgKi8KLUBAIC0zNjAsOSArMzY0LDcg QEAgc3RhdGljIGludCBnZW5lcmF0ZV9rZXkoREggKmRoKQorQEAgLTM1OSw5ICszNjMsNyBAQCBz dGF0aWMgaW50IGdlbmVyYXRlX2tleShESCAqZGgpCiAgICAgICAgICAgICAgICAgICAgICBpZiAo IUJOX2NsZWFyX2JpdChwcml2X2tleSwgMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgZ290 byBlcnI7CiAgICAgICAgICAgICAgICAgIH0KQEAgLTE0Niw5ICsxNDYsOSBAQCBpbmRleCBhY2Uw MmJiMGRiLi5mNTA1ZjJmYTg3IDEwMDY0NAogKyAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg ICAgICAgICAgIC8qIERvIGEgcGFydGlhbCBjaGVjayBmb3IgaW52YWxpZCBwLCBxLCBnICovCiAg ICAgICAgICAgICAgICAgIGlmICghb3NzbF9mZmNfcGFyYW1zX3NpbXBsZV92YWxpZGF0ZShkaC0+ bGliY3R4LCAmZGgtPnBhcmFtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZGQ19QQVJBTV9UWVBFX0RILCBOVUxMKSkKLUBAIC0zNzgsNiAr MzgwLDcgQEAgc3RhdGljIGludCBnZW5lcmF0ZV9rZXkoREggKmRoKQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaXZfa2V5KSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICBGRkNfUEFSQU1fVFlQRV9ESCwgTlVMTCkpCitAQCAtMzc3LDYgKzM3 OSw3IEBAIHN0YXRpYyBpbnQgZ2VuZXJhdGVfa2V5KERIICpkaCkKKyAgICAgICAgICAgICAgICAg ICAgICAgICBwcml2X2tleSkpCiAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycjsKICAgICAg ICAgICAgICB9CiArI2VuZGlmCkBAIC0xNTYsMzUgKzE1NiwzOCBAQCBpbmRleCBhY2UwMmJiMGRi Li5mNTA1ZjJmYTg3IDEwMDY0NAogICAgICB9CiAgCiBkaWZmIC0tZ2l0IGEvY3J5cHRvL2RoL2Ro X3BtZXRoLmMgYi9jcnlwdG8vZGgvZGhfcG1ldGguYwotaW5kZXggNzRiZWY5MzcwZC4uYzJjOTEw YjljOCAxMDA2NDQKK2luZGV4IGRkMzZkY2UyODEuLjIxYWM0OGMxZGUgMTAwNjQ0CiAtLS0gYS9j cnlwdG8vZGgvZGhfcG1ldGguYwogKysrIGIvY3J5cHRvL2RoL2RoX3BtZXRoLmMKLUBAIC0zMDMs MTMgKzMwMywxNyBAQCBzdGF0aWMgREggKmZmY19wYXJhbXNfZ2VuZXJhdGUoT1NTTF9MSUJfQ1RY ICpsaWJjdHgsIERIX1BLRVlfQ1RYICpkY3R4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHByaW1lX2xlbiwgc3VicHJpbWVfbGVuLCAmcmVzLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjYik7CitAQCAt MzAxLDEzICszMDEsMTcgQEAgc3RhdGljIERIICpmZmNfcGFyYW1zX2dlbmVyYXRlKE9TU0xfTElC X0NUWCAqbGliY3R4LCBESF9QS0VZX0NUWCAqZGN0eCwKKyAgICAgICAgICAgICBwcmltZV9sZW4s IHN1YnByaW1lX2xlbiwgJnJlcywKKyAgICAgICAgICAgICBwY2IpOwogICAgICBlbHNlCi0tIyBl bmRpZgotLSAgICAvKiBGb3IgRklQUyB3ZSBhbHdheXMgdXNlIHRoZSBESF9QQVJBTUdFTl9UWVBF X0ZJUFNfMTg2XzQgZ2VuZXJhdG9yICovCi0tICAgIGlmIChkY3R4LT5wYXJhbWdlbl90eXBlID49 IERIX1BBUkFNR0VOX1RZUEVfRklQU18xODZfMikKLSAgICAgICAgIHJ2ID0gb3NzbF9mZmNfcGFy YW1zX0ZJUFMxODZfNF9nZW5lcmF0ZShsaWJjdHgsICZyZXQtPnBhcmFtcywKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGRkNfUEFSQU1fVFlQRV9ESCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltZV9s ZW4sIHN1YnByaW1lX2xlbiwgJnJlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwY2IpOwotKyMgZWxzZQorKyAgICAgICAgcnYgPSBvc3NsX2ZmY19w YXJhbXNfRklQUzE4Nl80X2dlbmVyYXRlKGxpYmN0eCwgJnJldC0+cGFyYW1zLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZGQ19QQVJBTV9UWVBFX0RI LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1l X2xlbiwgc3VicHJpbWVfbGVuLCAmcmVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBjYik7CisrI2Vsc2UKICsgICAgLyogSW4gRklQUyBtb2RlLCB3 ZSBubyBsb25nZXIgc3VwcG9ydCBGSVBTIDE4Ni00IGRvbWFpbiBwYXJhbWV0ZXJzICovCiArICAg IEVSUl9yYWlzZV9kYXRhKEVSUl9MSUJfREgsIERIX1JfQkFEX0ZGQ19QQVJBTUVURVJTLAogKyAg ICAgICAgICAgICAgICAgICAiRklQUyAxODYtNCB0eXBlIGRvbWFpbiBwYXJhbWV0ZXJzIG5vIGxv bmdlciBhbGxvd2VkIGluIgogKyAgICAgICAgICAgICAgICAgICAiIEZJUFMgbW9kZSwgc2luY2Ug dGhlIHJlcXVpcmVkIGdlbmVyYXRpb24gcm91dGluZXMgd2VyZSIKICsgICAgICAgICAgICAgICAg ICAgIiByZW1vdmVkIGZyb20gRklQUyAxODYtNSIpOwotKyMgZW5kaWYKKyAjZW5kaWYKKy0gICAg ICAgIC8qIEZvciBGSVBTIHdlIGFsd2F5cyB1c2UgdGhlIERIX1BBUkFNR0VOX1RZUEVfRklQU18x ODZfNCBnZW5lcmF0b3IgKi8KKy0gICAgICAgIGlmIChkY3R4LT5wYXJhbWdlbl90eXBlID49IERI X1BBUkFNR0VOX1RZUEVfRklQU18xODZfMikKKy0gICAgICAgICAgICBydiA9IG9zc2xfZmZjX3Bh cmFtc19GSVBTMTg2XzRfZ2VuZXJhdGUobGliY3R4LCAmcmV0LT5wYXJhbXMsCistICAgICAgICAg ICAgICAgIEZGQ19QQVJBTV9UWVBFX0RILAorLSAgICAgICAgICAgICAgICBwcmltZV9sZW4sIHN1 YnByaW1lX2xlbiwgJnJlcywKKy0gICAgICAgICAgICAgICAgcGNiKTsKICAgICAgaWYgKHJ2IDw9 IDApIHsKICAgICAgICAgIERIX2ZyZWUocmV0KTsKICAgICAgICAgIHJldHVybiBOVUxMOwogZGlm ZiAtLWdpdCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2V5bWdtdC9kaF9rbWdtdC5jIGIv cHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZXltZ210L2RoX2ttZ210LmMKLWluZGV4IDBlOWU4 MzczODMuLmYxZWFiZjA3MWEgMTAwNjQ0CitpbmRleCA4YTFhZmU3OTA3Li43NTlhYjc3ZTFiIDEw MDY0NAogLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZXltZ210L2RoX2ttZ210LmMK ICsrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2V5bWdtdC9kaF9rbWdtdC5jCi1AQCAt NDIyLDYgKzQyMiwxMSBAQCBzdGF0aWMgaW50IGRoX3ZhbGlkYXRlKGNvbnN0IHZvaWQgKmtleWRh dGEsIGludCBzZWxlY3Rpb24sIGludCBjaGVja3R5cGUpCitAQCAtNDIwLDYgKzQyMCwxMSBAQCBz dGF0aWMgaW50IGRoX3ZhbGlkYXRlKGNvbnN0IHZvaWQgKmtleWRhdGEsIGludCBzZWxlY3Rpb24s IGludCBjaGVja3R5cGUpCiAgICAgIGlmICgoc2VsZWN0aW9uICYgREhfUE9TU0lCTEVfU0VMRUNU SU9OUykgPT0gMCkKICAgICAgICAgIHJldHVybiAxOyAvKiBub3RoaW5nIHRvIHZhbGlkYXRlICov CiAgCkBAIC0xOTcsNyArMjAwLDcgQEAgaW5kZXggMGU5ZTgzNzM4My4uZjFlYWJmMDcxYSAxMDA2 NDQKICAgICAgICAgIC8qCiAgICAgICAgICAgKiBCb3RoIG9mIHRoZXNlIGZ1bmN0aW9ucyBjaGVj ayBwYXJhbWV0ZXJzLiBESF9jaGVja19wYXJhbXNfZXgoKQogZGlmZiAtLWdpdCBhL3Rlc3QvZW5k ZWNvZGVfdGVzdC5jIGIvdGVzdC9lbmRlY29kZV90ZXN0LmMKLWluZGV4IDg1Yzg0ZjY1OTIuLmQy ZmY5ZTZlYjYgMTAwNjQ0CitpbmRleCBjM2I1NWFmM2U3Li5iMTViYWIyMTdlIDEwMDY0NAogLS0t IGEvdGVzdC9lbmRlY29kZV90ZXN0LmMKICsrKyBiL3Rlc3QvZW5kZWNvZGVfdGVzdC5jCiBAQCAt ODUsMTAgKzg1LDEwIEBAIHN0YXRpYyBFVlBfUEtFWSAqbWFrZV90ZW1wbGF0ZShjb25zdCBjaGFy ICp0eXBlLCBPU1NMX1BBUkFNICpnZW5wYXJhbXMpCkBAIC0yMTAsMTEgKzIxMywxMSBAQCBpbmRl eCA4NWM4NGY2NTkyLi5kMmZmOWU2ZWI2IDEwMDY0NAogICAgICBpZiAoc3RyY21wKHR5cGUsICJY OS40MiBESCIpID09IDApCiAtICAgICAgICByZXR1cm4gZ2V0X2RoeDUxMihrZXljdHgpOwogKyAg ICAgICAgcmV0dXJuIGdldF9kaHhfZmZkaGUyMDQ4KGtleWN0eCk7Ci0gIyBlbmRpZgorICNlbmRp ZgogIAogICAgICAvKgogZGlmZiAtLWdpdCBhL3Rlc3QvZXZwX2xpYmN0eF90ZXN0LmMgYi90ZXN0 L2V2cF9saWJjdHhfdGVzdC5jCi1pbmRleCAwMzlmY2E5YmIwLi4yODM4ZjM0M2JkIDEwMDY0NAor aW5kZXggMzc4NmM1NjdhNy4uNzczMjEwZmFkYiAxMDA2NDQKIC0tLSBhL3Rlc3QvZXZwX2xpYmN0 eF90ZXN0LmMKICsrKyBiL3Rlc3QvZXZwX2xpYmN0eF90ZXN0LmMKIEBAIC0yMjIsNyArMjIyLDcg QEAgc3RhdGljIGludCBkb19kaF9wYXJhbV9rZXlnZW4oaW50IHRzdGlkLCBjb25zdCBCSUdOVU0g KipibikKQEAgLTIyNywxMSArMjMwLDExIEBAIGluZGV4IDAzOWZjYTliYjAuLjI4MzhmMzQzYmQg MTAwNjQ0CiAgCiAgICAgIGlmIChleHBlY3RlZCkgewogZGlmZiAtLWdpdCBhL3Rlc3QvaGVscGVy cy9wcmVkZWZpbmVkX2RocGFyYW1zLmMgYi90ZXN0L2hlbHBlcnMvcHJlZGVmaW5lZF9kaHBhcmFt cy5jCi1pbmRleCA0YmRhZGM0MTQzLi5lNTE4NmU0YjRhIDEwMDY0NAoraW5kZXggMjgwNzBlZmRi Ni4uNGJhZWI2NzNmMyAxMDA2NDQKIC0tLSBhL3Rlc3QvaGVscGVycy9wcmVkZWZpbmVkX2RocGFy YW1zLmMKICsrKyBiL3Rlc3QvaGVscGVycy9wcmVkZWZpbmVkX2RocGFyYW1zLmMKLUBAIC0xMTYs NiArMTE2LDY4IEBAIEVWUF9QS0VZICpnZXRfZGh4NTEyKE9TU0xfTElCX0NUWCAqbGliY3R4KQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGh4NTEyX3EsIHNpemVvZihkaHg1MTJfcSkpOwor QEAgLTMxMSw2ICszMTEsNjggQEAgRVZQX1BLRVkgKmdldF9kaHg1MTIoT1NTTF9MSUJfQ1RYICps aWJjdHgpCisgICAgICAgICBkaHg1MTJfcSwgc2l6ZW9mKGRoeDUxMl9xKSk7CiAgfQogIAogK0VW UF9QS0VZICpnZXRfZGh4X2ZmZGhlMjA0OChPU1NMX0xJQl9DVFggKmxpYmN0eCkKQEAgLTMyNiw1 ICszMjksNSBAQCBpbmRleCA2MzMyYWFlYzRiLi40ZDhjOTAwYzAwIDEwMDc1NQogICAgICAgICAg ICAgICAgICd0ZXN0IHNzbHYyL3NzbHYzIHdpdGggMTAyNGJpdCBESEUgdmlhIEJJTyBwYWlyJyk7 CiAgICAgICAgICAgIH0KIC0tIAotMi41MS4wCisyLjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAwMzct RklQUy1UTFMtRW5mb3JjZS1FTVMtaW4tVExTLTEuMi1OT1RFLnBhdGNoIGIvMDAzNy1GSVBTLVRM Uy1FbmZvcmNlLUVNUy1pbi1UTFMtMS4yLU5PVEUucGF0Y2gKaW5kZXggNzQ0ODZhYS4uMTVlYzRm NCAxMDA2NDQKLS0tIGEvMDAzNy1GSVBTLVRMUy1FbmZvcmNlLUVNUy1pbi1UTFMtMS4yLU5PVEUu cGF0Y2gKKysrIGIvMDAzNy1GSVBTLVRMUy1FbmZvcmNlLUVNUy1pbi1UTFMtMS4yLU5PVEUucGF0 Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDljOTcxNmI3YTYzMWVmOGUzMDg3YTNkZGVjOTY3YjE4 ZDVjNDZhMWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDBmNGI2Nzg5N2Q4N2I2Y2Ix YmQxZjY1Y2EyYWFmYmNlMWMzYzY4NzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBy cG0tYnVpbGQgPHJwbS1idWlsZD4KIERhdGU6IFdlZCwgNiBNYXIgMjAyNCAxOToxNzoxNyArMDEw MAotU3ViamVjdDogW1BBVENIIDM3LzU5XSBGSVBTOiBUTFM6IEVuZm9yY2UgRU1TIGluIFRMUyAx LjIgLSBOT1RFCitTdWJqZWN0OiBbUEFUQ0ggMzcvNTddIEZJUFM6IFRMUzogRW5mb3JjZSBFTVMg aW4gVExTIDEuMiAtIE5PVEUKIAogTk9URTogRW5mb3JjZW1lbnQgb2YgRU1TIGluIG5vbi1GSVBT IG1vZGUgaGFzIGJlZW4gZHJvcHBlZCBkdWUgdG8gY29kZQogY2hhbmdlIHRoZSBvcHRpb24gdG8g ZW5mb3JjZSBpdCBzZWVtIHRvIGJlIGF2YWlsYWJsZSBvbmx5IGluIEZJUFMgYnVpbGQKQEAgLTE5 LDE2ICsxOSwxNiBAQCBGcm9tLWRpc3QtZ2l0LWNvbW1pdDogNDMzNGJjODM3ZmJjNjRkMTQ4OTBm ZGM1MTY3OWE4MDc3MGQ0OThjZQogIHByb3ZpZGVycy9maXBzL2luY2x1ZGUvZmlwc19pbmRpY2F0 b3JfcGFyYW1zLmluYyAgIHwgIDIgKy0KICBzc2wvc3NsX2NvbmYuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAxICsKICBzc2wvc3RhdGVtL2V4dGVuc2lvbnNfc3J2ci5j ICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsrKysrKystCi0gc3NsL3QxX2VuYy5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKystLQorIHNzbC90 MV9lbmMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysr KysrKy0tLQogIHRlc3QvcmVjaXBlcy8zMC10ZXN0X2V2cF9kYXRhL2V2cGtkZl90bHMxMl9wcmYu dHh0IHwgMTAgKysrKysrKysrKwogIHRlc3Qvc3NsYXBpdGVzdC5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KLSA5IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMo KyksIDUgZGVsZXRpb25zKC0pCisgOSBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCA2 IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZG9jL21hbjMvU1NMX0NPTkZfY21kLnBvZCBi L2RvYy9tYW4zL1NTTF9DT05GX2NtZC5wb2QKLWluZGV4IDkzMzhmZmMwMWQuLjkxMWVhMjFhNjgg MTAwNjQ0CitpbmRleCAzZTJkZTZlNjZiLi5hZDlhMmRjOGJmIDEwMDY0NAogLS0tIGEvZG9jL21h bjMvU1NMX0NPTkZfY21kLnBvZAogKysrIGIvZG9jL21hbjMvU1NMX0NPTkZfY21kLnBvZAotQEAg LTYyMSw2ICs2MjEsOSBAQCBCPEV4dGVuZGVkTWFzdGVyU2VjcmV0PjogdXNlIGV4dGVuZGVkIG1h c3RlciBzZWNyZXQgZXh0ZW5zaW9uLCBlbmFibGVkIGJ5CitAQCAtNjI2LDYgKzYyNiw5IEBAIEI8 RXh0ZW5kZWRNYXN0ZXJTZWNyZXQ+OiB1c2UgZXh0ZW5kZWQgbWFzdGVyIHNlY3JldCBleHRlbnNp b24sIGVuYWJsZWQgYnkKICBkZWZhdWx0LiBJbnZlcnNlIG9mIEI8U1NMX09QX05PX0VYVEVOREVE X01BU1RFUl9TRUNSRVQ+OiB0aGF0IGlzLAogIEI8LUV4dGVuZGVkTWFzdGVyU2VjcmV0PiBpcyB0 aGUgc2FtZSBhcyBzZXR0aW5nIEI8U1NMX09QX05PX0VYVEVOREVEX01BU1RFUl9TRUNSRVQ+Lgog IApAQCAtNjMsMTcgKzYzLDE3IEBAIGluZGV4IDI1MDU5MzhjMTMuLjM4ODdjNTRmMGUgMTAwNjQ0 CiAgCiAgQ29weXJpZ2h0IDIwMTktMjAyNSBUaGUgT3BlblNTTCBQcm9qZWN0IEF1dGhvcnMuIEFs bCBSaWdodHMgUmVzZXJ2ZWQuCiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9vcGVuc3NsL3NzbC5oLmlu IGIvaW5jbHVkZS9vcGVuc3NsL3NzbC5oLmluCi1pbmRleCBkMWIwMGU4NDU0Li5iODE1ZjI1ZGFl IDEwMDY0NAoraW5kZXggODI0MTA2NzBmNC4uMTAyNmE5YjdiMCAxMDA2NDQKIC0tLSBhL2luY2x1 ZGUvb3BlbnNzbC9zc2wuaC5pbgogKysrIGIvaW5jbHVkZS9vcGVuc3NsL3NzbC5oLmluCi1AQCAt NDE3LDYgKzQxNyw3IEBAIHR5cGVkZWYgaW50ICgqU1NMX2FzeW5jX2NhbGxiYWNrX2ZuKShTU0wg KnMsIHZvaWQgKmFyZyk7Ci0gICAgICAqIGludGVyb3BlcmFiaWxpdHkgd2l0aCBDcnlwdG9Qcm8g Q1NQIDMueAotICAgICAgKi8KLSAjIGRlZmluZSBTU0xfT1BfQ1JZUFRPUFJPX1RMU0VYVF9CVUcg ICAgICAgICAgICAgICAgICAgICBTU0xfT1BfQklUKDMxKQotKyMgZGVmaW5lIFNTTF9PUF9SSF9Q RVJNSVRfTk9FTVNfRklQUyAgICAgICAgICAgICAgICAgICAgIFNTTF9PUF9CSVQoNDgpCitAQCAt NDMyLDYgKzQzMiw3IEBAIHR5cGVkZWYgaW50ICgqU1NMX2FzeW5jX2NhbGxiYWNrX2ZuKShTU0wg KnMsIHZvaWQgKmFyZyk7CisgI2RlZmluZSBTU0xfT1BfRU5BQkxFX0tUTFNfVFhfWkVST0NPUFlf U0VOREZJTEUgU1NMX09QX0JJVCgzNCkKKyAKKyAjZGVmaW5lIFNTTF9PUF9QUkVGRVJfTk9fREhF X0tFWCBTU0xfT1BfQklUKDM1KQorKyNkZWZpbmUgU1NMX09QX1JIX1BFUk1JVF9OT0VNU19GSVBT IFNTTF9PUF9CSVQoNDgpCisgCiAgLyoKLSAgKiBEaXNhYmxlIFJGQzg4NzkgY2VydGlmaWNhdGUg Y29tcHJlc3Npb24KLSAgKiBTU0xfT1BfTk9fVFhfQ0VSVElGSUNBVEVfQ09NUFJFU1NJT046IGRv bid0IHNlbmQgY29tcHJlc3NlZCBjZXJ0aWZpY2F0ZXMsCisgICogT3B0aW9uICJjb2xsZWN0aW9u cy4iCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ZpcHMvaW5jbHVkZS9maXBzX2luZGljYXRvcl9w YXJhbXMuaW5jIGIvcHJvdmlkZXJzL2ZpcHMvaW5jbHVkZS9maXBzX2luZGljYXRvcl9wYXJhbXMu aW5jCiBpbmRleCBjMWIwMjlkZTg2Li40N2QxY2YyZDAxIDEwMDY0NAogLS0tIGEvcHJvdmlkZXJz L2ZpcHMvaW5jbHVkZS9maXBzX2luZGljYXRvcl9wYXJhbXMuaW5jCkBAIC04NiwxOSArODYsMTkg QEAgaW5kZXggYzFiMDI5ZGU4Ni4uNDdkMWNmMmQwMSAxMDA2NDQKICBPU1NMX0ZJUFNfUEFSQU0o aG1hY19rZXlfY2hlY2ssIEhNQUNfS0VZX0NIRUNLLCAwKQogIE9TU0xfRklQU19QQVJBTShrbWFj X2tleV9jaGVjaywgS01BQ19LRVlfQ0hFQ0ssIDApCiBkaWZmIC0tZ2l0IGEvc3NsL3NzbF9jb25m LmMgYi9zc2wvc3NsX2NvbmYuYwotaW5kZXggOTQ2ZDIwYmU1Mi4uYjUyYzE2NzVmZCAxMDA2NDQK K2luZGV4IDBkOTM1OTM4ODAuLjQzNjFlZGZhNDkgMTAwNjQ0CiAtLS0gYS9zc2wvc3NsX2NvbmYu YwogKysrIGIvc3NsL3NzbF9jb25mLmMKLUBAIC0zOTQsNiArMzk0LDcgQEAgc3RhdGljIGludCBj bWRfT3B0aW9ucyhTU0xfQ09ORl9DVFggKmNjdHgsIGNvbnN0IGNoYXIgKnZhbHVlKQorQEAgLTM5 Miw2ICszOTIsNyBAQCBzdGF0aWMgaW50IGNtZF9PcHRpb25zKFNTTF9DT05GX0NUWCAqY2N0eCwg Y29uc3QgY2hhciAqdmFsdWUpCiAgICAgICAgICBTU0xfRkxBR19UQkwoIkNsaWVudFJlbmVnb3Rp YXRpb24iLAotICAgICAgICAgICAgICAgICAgICAgIFNTTF9PUF9BTExPV19DTElFTlRfUkVORUdP VElBVElPTiksCisgICAgICAgICAgICAgU1NMX09QX0FMTE9XX0NMSUVOVF9SRU5FR09USUFUSU9O KSwKICAgICAgICAgIFNTTF9GTEFHX1RCTF9JTlYoIkVuY3J5cHRUaGVuTWFjIiwgU1NMX09QX05P X0VOQ1JZUFRfVEhFTl9NQUMpLAogKyAgICAgICAgU1NMX0ZMQUdfVEJMKCJSSE5vRW5mb3JjZUVN U2luRklQUyIsIFNTTF9PUF9SSF9QRVJNSVRfTk9FTVNfRklQUyksCiAgICAgICAgICBTU0xfRkxB R19UQkwoIk5vUmVuZWdvdGlhdGlvbiIsIFNTTF9PUF9OT19SRU5FR09USUFUSU9OKSwKICAgICAg ICAgIFNTTF9GTEFHX1RCTCgiQWxsb3dOb0RIRUtFWCIsIFNTTF9PUF9BTExPV19OT19ESEVfS0VY KSwKICAgICAgICAgIFNTTF9GTEFHX1RCTCgiUHJlZmVyTm9ESEVLRVgiLCBTU0xfT1BfUFJFRkVS X05PX0RIRV9LRVgpLAogZGlmZiAtLWdpdCBhL3NzbC9zdGF0ZW0vZXh0ZW5zaW9uc19zcnZyLmMg Yi9zc2wvc3RhdGVtL2V4dGVuc2lvbnNfc3J2ci5jCi1pbmRleCAxYTA5OTEzYWQ2Li45MzZiZTgx ODE5IDEwMDY0NAoraW5kZXggY2RiOTE0ZGFlZC4uMWJjYzBmZDkwMiAxMDA2NDQKIC0tLSBhL3Nz bC9zdGF0ZW0vZXh0ZW5zaW9uc19zcnZyLmMKICsrKyBiL3NzbC9zdGF0ZW0vZXh0ZW5zaW9uc19z cnZyLmMKIEBAIC0xMiw2ICsxMiw3IEBACkBAIC0xMDcsMTEgKzEwNywxMSBAQCBpbmRleCAxYTA5 OTEzYWQ2Li45MzZiZTgxODE5IDEwMDY0NAogICNpbmNsdWRlICJpbnRlcm5hbC9zc2xfdW53cmFw LmgiCiArI2luY2x1ZGUgPG9wZW5zc2wvZmlwcy5oPgogIAotICNkZWZpbmUgQ09PS0lFX1NUQVRF X0ZPUk1BVF9WRVJTSU9OICAgICAxCisgI2RlZmluZSBDT09LSUVfU1RBVEVfRk9STUFUX1ZFUlNJ T04gMQogIAotQEAgLTE4ODYsOCArMTg4NywxMyBAQCBFWFRfUkVUVVJOIHRsc19jb25zdHJ1Y3Rf c3RvY19lbXMoU1NMX0NPTk5FQ1RJT04gKnMsIFdQQUNLRVQgKnBrdCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNvbnRleHQsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFg1MDkgKngsIHNpemVfdCBjaGFpbmlkeCkKK0BAIC0xODg5 LDggKzE4OTAsMTMgQEAgRVhUX1JFVFVSTiB0bHNfY29uc3RydWN0X3N0b2NfZW1zKFNTTF9DT05O RUNUSU9OICpzLCBXUEFDS0VUICpwa3QsCisgICAgIHVuc2lnbmVkIGludCBjb250ZXh0LAorICAg ICBYNTA5ICp4LCBzaXplX3QgY2hhaW5pZHgpCiAgewogLSAgICBpZiAoKHMtPnMzLmZsYWdzICYg VExTMV9GTEFHU19SRUNFSVZFRF9FWFRNUykgPT0gMCkKICsgICAgaWYgKChzLT5zMy5mbGFncyAm IFRMUzFfRkxBR1NfUkVDRUlWRURfRVhUTVMpID09IDApIHsKQEAgLTEyMyw5ICsxMjMsOSBAQCBp bmRleCAxYTA5OTEzYWQ2Li45MzZiZTgxODE5IDEwMDY0NAogKyAgICB9CiAgCiAgICAgIGlmICgh V1BBQ0tFVF9wdXRfYnl0ZXNfdTE2KHBrdCwgVExTRVhUX1RZUEVfZXh0ZW5kZWRfbWFzdGVyX3Nl Y3JldCkKLSAgICAgICAgICAgICB8fCAhV1BBQ0tFVF9wdXRfYnl0ZXNfdTE2KHBrdCwgMCkpIHsK KyAgICAgICAgIHx8ICFXUEFDS0VUX3B1dF9ieXRlc191MTYocGt0LCAwKSkgewogZGlmZiAtLWdp dCBhL3NzbC90MV9lbmMuYyBiL3NzbC90MV9lbmMuYwotaW5kZXggNDc0ZWE3YmY1Yi4uZTBlNTk1 ZTk4OSAxMDA2NDQKK2luZGV4IDg5NzhlMGM2MzAuLjg1ZDlkZjBkYTYgMTAwNjQ0CiAtLS0gYS9z c2wvdDFfZW5jLmMKICsrKyBiL3NzbC90MV9lbmMuYwogQEAgLTIxLDYgKzIxLDcgQEAKQEAgLTEz NiwxMiArMTM2LDE0IEBAIGluZGV4IDQ3NGVhN2JmNWIuLmUwZTU5NWU5ODkgMTAwNjQ0CiAgCiAg Lyogc2VlZDEgdGhyb3VnaCBzZWVkNSBhcmUgY29uY2F0ZW5hdGVkICovCiAgc3RhdGljIGludCB0 bHMxX1BSRihTU0xfQ09OTkVDVElPTiAqcywKLUBAIC03OCw4ICs3OSwxNCBAQCBzdGF0aWMgaW50 IHRsczFfUFJGKFNTTF9DT05ORUNUSU9OICpzLAorQEAgLTc3LDkgKzc4LDE1IEBAIHN0YXRpYyBp bnQgdGxzMV9QUkYoU1NMX0NPTk5FQ1RJT04gKnMsCisgICAgICAgICByZXR1cm4gMTsKICAgICAg fQogIAotICBlcnI6CistZXJyOgogLSAgICBpZiAoZmF0YWwpCiAtICAgICAgICBTU0xmYXRhbChz LCBTU0xfQURfSU5URVJOQUxfRVJST1IsIEVSUl9SX0lOVEVSTkFMX0VSUk9SKTsKKysgZXJyOgog KyAgICBpZiAoZmF0YWwpIHsKICsgICAgICAgIC8qIFRoZSBjYWxscyB0byB0aGlzIGZ1bmN0aW9u IGFyZSBsb2NhbCBzbyBpdCdzIHNhZmUgdG8gaW1wbGVtZW50IHRoZSBjaGVjayAqLwogKyAgICAg ICAgaWYgKEZJUFNfbW9kZSgpICYmIHNlZWQxX2xlbiA+PSBUTFNfTURfTUFTVEVSX1NFQ1JFVF9D T05TVF9TSVpFCkBAIC0xNzUsMTAgKzE3NywxMCBAQCBpbmRleCA1MDk0NDMyOGNiLi5lZGIyZTgx MjczIDEwMDY0NAogIEtERiA9IFRMUzEtUFJGCiAgQ3RybC5kaWdlc3QgPSBkaWdlc3Q6U0hBMjU2 CiBkaWZmIC0tZ2l0IGEvdGVzdC9zc2xhcGl0ZXN0LmMgYi90ZXN0L3NzbGFwaXRlc3QuYwotaW5k ZXggMDVjNWFiMjU2Zi4uNDM3M2JjMjg2NSAxMDA2NDQKK2luZGV4IGE5NDA2MWQ5NzQuLjkyYTMz ZjA1ZGIgMTAwNjQ0CiAtLS0gYS90ZXN0L3NzbGFwaXRlc3QuYwogKysrIGIvdGVzdC9zc2xhcGl0 ZXN0LmMKLUBAIC01ODUsNyArNTg1LDcgQEAgc3RhdGljIGludCB0ZXN0X2NsaWVudF9jZXJ0X3Zl cmlmeV9jYih2b2lkKQorQEAgLTU4Miw3ICs1ODIsNyBAQCBzdGF0aWMgaW50IHRlc3RfY2xpZW50 X2NlcnRfdmVyaWZ5X2NiKHZvaWQpCiAgICAgIFNUQUNLX09GKFg1MDkpICpzZXJ2ZXJfY2hhaW47 CiAgICAgIFNTTF9DVFggKmNjdHggPSBOVUxMLCAqc2N0eCA9IE5VTEw7CiAgICAgIFNTTCAqY2xp ZW50c3NsID0gTlVMTCwgKnNlcnZlcnNzbCA9IE5VTEw7CkBAIC0xODYsNyArMTg4LDcgQEAgaW5k ZXggMDVjNWFiMjU2Zi4uNDM3M2JjMjg2NSAxMDA2NDQKICsgICAgaW50IHRlc3RyZXN1bHQgPSAw LCBzdGF0dXM7CiAgCiAgICAgIGlmICghVEVTVF90cnVlKGNyZWF0ZV9zc2xfY3R4X3BhaXIobGli Y3R4LCBUTFNfc2VydmVyX21ldGhvZCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFRMU19jbGllbnRfbWV0aG9kKCksIFRMUzFfVkVSU0lPTiwgMCwKKyAgICAgICAg ICAgICBUTFNfY2xpZW50X21ldGhvZCgpLCBUTFMxX1ZFUlNJT04sIDAsCiAtLSAKLTIuNTEuMAor Mi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDM4LUZJUFMtQ01TLVNldC1kZWZhdWx0LXBhZGRpbmct dG8tT0FFUC5wYXRjaCBiLzAwMzgtRklQUy1DTVMtU2V0LWRlZmF1bHQtcGFkZGluZy10by1PQUVQ LnBhdGNoCmluZGV4IDdjN2Y5NDcuLjExNTM4MzIgMTAwNjQ0Ci0tLSBhLzAwMzgtRklQUy1DTVMt U2V0LWRlZmF1bHQtcGFkZGluZy10by1PQUVQLnBhdGNoCisrKyBiLzAwMzgtRklQUy1DTVMtU2V0 LWRlZmF1bHQtcGFkZGluZy10by1PQUVQLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSAxMmY1 YWI4YjZkOThjZjhmMmRiMzViZWJjNDgxNDBiNjFhNjZmYjM1IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbSBjOTFjNzQxMmFiNTRmOGRiOGNhYzQzN2U3MzA4YTkwNDJjN2E0NzMyIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogU2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQuY29tPgog RGF0ZTogVGh1LCAxMyBGZWIgMjAyNSAxODowODozNCAtMDUwMAotU3ViamVjdDogW1BBVENIIDM4 LzU5XSBGSVBTOiBDTVM6IFNldCBkZWZhdWx0IHBhZGRpbmcgdG8gT0FFUAorU3ViamVjdDogW1BB VENIIDM4LzU3XSBGSVBTOiBDTVM6IFNldCBkZWZhdWx0IHBhZGRpbmcgdG8gT0FFUAogCiBGcm9t LWRpc3QtZ2l0LWNvbW1pdDogZDUwOGNiZWQ5MzA0ODFjMTk2MGQ2YTZiYzFlMWE5NTkzMjUyZGJi ZQogLS0tCkBAIC0xMCw3ICsxMCw3IEBAIEZyb20tZGlzdC1naXQtY29tbWl0OiBkNTA4Y2JlZDkz MDQ4MWMxOTYwZDZhNmJjMWUxYTk1OTMyNTJkYmJlCiAgMiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNl cnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9hcHBzL2Ntcy5jIGIvYXBwcy9jbXMuYwotaW5kZXgg NmYxOTQxNDg4MC4uNDAxOWQ3MzczZSAxMDA2NDQKK2luZGV4IDIxNGVlYTViY2IuLmMxZmM3MGVm MTIgMTAwNjQ0CiAtLS0gYS9hcHBzL2Ntcy5jCiArKysgYi9hcHBzL2Ntcy5jCiBAQCAtMjAsNiAr MjAsNyBAQApAQCAtMjIsNyArMjIsNyBAQCBpbmRleCA2ZjE5NDE0ODgwLi40MDE5ZDczNzNlIDEw MDY0NAogIHN0YXRpYyBpbnQgc2F2ZV9jZXJ0cyhjaGFyICpzaWduZXJmaWxlLCBTVEFDS19PRihY NTA5KSAqc2lnbmVycyk7CiAgc3RhdGljIGludCBjbXNfY2IoaW50IG9rLCBYNTA5X1NUT1JFX0NU WCAqY3R4KTsKIGRpZmYgLS1naXQgYS9jcnlwdG8vY21zL2Ntc19lbnYuYyBiL2NyeXB0by9jbXMv Y21zX2Vudi5jCi1pbmRleCAzNzUyMzljNzhkLi5lMDlhZDAzZWNlIDEwMDY0NAoraW5kZXggMDgy OGQxNTdmYS4uZTEyMDBhMzdkNCAxMDA2NDQKIC0tLSBhL2NyeXB0by9jbXMvY21zX2Vudi5jCiAr KysgYi9jcnlwdG8vY21zL2Ntc19lbnYuYwogQEAgLTE0LDYgKzE0LDcgQEAKQEAgLTMzLDcgKzMz LDcgQEAgaW5kZXggMzc1MjM5Yzc4ZC4uZTA5YWQwM2VjZSAxMDA2NDQKICAjaW5jbHVkZSAiaW50 ZXJuYWwvc2l6ZXMuaCIKICAjaW5jbHVkZSAiY3J5cHRvL2FzbjEuaCIKICAjaW5jbHVkZSAiY3J5 cHRvL2V2cC5oIgotQEAgLTM3NSw2ICszNzYsMTAgQEAgc3RhdGljIGludCBjbXNfUmVjaXBpZW50 SW5mb19rdHJpX2luaXQoQ01TX1JlY2lwaWVudEluZm8gKnJpLCBYNTA5ICpyZWNpcCwKK0BAIC0z NzIsNiArMzczLDEwIEBAIHN0YXRpYyBpbnQgY21zX1JlY2lwaWVudEluZm9fa3RyaV9pbml0KENN U19SZWNpcGllbnRJbmZvICpyaSwgWDUwOSAqcmVjaXAsCiAgICAgICAgICAgICAgcmV0dXJuIDA7 CiAgICAgICAgICBpZiAoRVZQX1BLRVlfZW5jcnlwdF9pbml0KGt0cmktPnBjdHgpIDw9IDApCiAg ICAgICAgICAgICAgcmV0dXJuIDA7CkBAIC00NCw3ICs0NCw3IEBAIGluZGV4IDM3NTIzOWM3OGQu LmUwOWFkMDNlY2UgMTAwNjQ0CiAgICAgIH0gZWxzZSBpZiAoIW9zc2xfY21zX2Vudl9hc24xX2N0 cmwocmksIDApKQogICAgICAgICAgcmV0dXJuIDA7CiAgICAgIHJldHVybiAxOwotQEAgLTU0MCw2 ICs1NDUsMTEgQEAgc3RhdGljIGludCBjbXNfUmVjaXBpZW50SW5mb19rdHJpX2VuY3J5cHQoY29u c3QgQ01TX0NvbnRlbnRJbmZvICpjbXMsCitAQCAtNTM1LDYgKzU0MCwxMSBAQCBzdGF0aWMgaW50 IGNtc19SZWNpcGllbnRJbmZvX2t0cmlfZW5jcnlwdChjb25zdCBDTVNfQ29udGVudEluZm8gKmNt cywKICAKICAgICAgICAgIGlmIChFVlBfUEtFWV9lbmNyeXB0X2luaXQocGN0eCkgPD0gMCkKICAg ICAgICAgICAgICBnb3RvIGVycjsKQEAgLTU3LDUgKzU3LDUgQEAgaW5kZXggMzc1MjM5Yzc4ZC4u ZTA5YWQwM2VjZSAxMDA2NDQKICAKICAgICAgaWYgKEVWUF9QS0VZX2VuY3J5cHQocGN0eCwgTlVM TCwgJmVrbGVuLCBlYy0+a2V5LCBlYy0+a2V5bGVuKSA8PSAwKQogLS0gCi0yLjUxLjAKKzIuNTIu MAogCgpkaWZmIC0tZ2l0IGEvMDAzOS1GSVBTLVBLQ1MxMi1QQk1BQzEtZGVmYXVsdHMucGF0Y2gg Yi8wMDM5LUZJUFMtUEtDUzEyLVBCTUFDMS1kZWZhdWx0cy5wYXRjaAppbmRleCBjMzE0Yjk5Li4y NjA5YzJmIDEwMDY0NAotLS0gYS8wMDM5LUZJUFMtUEtDUzEyLVBCTUFDMS1kZWZhdWx0cy5wYXRj aAorKysgYi8wMDM5LUZJUFMtUEtDUzEyLVBCTUFDMS1kZWZhdWx0cy5wYXRjaApAQCAtMSw3ICsx LDcgQEAKLUZyb20gYzc5MWFkNDEzMWZiMTFkYzk2MDEzYWJjOGUyNDdjYmJlYzViYThlZSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNTFmYzVjZTMyYmZlMGZiZTAxODkzNGZhODgyNTJl ZmU5MDczYzY0OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFNpbW8gU29yY2UgPHNp bW9AcmVkaGF0LmNvbT4KIERhdGU6IFRodSwgMTMgRmViIDIwMjUgMTg6MTY6MjkgLTA1MDAKLVN1 YmplY3Q6IFtQQVRDSCAzOS81OV0gRklQUzogUEtDUzEyOiBQQk1BQzEgZGVmYXVsdHMKK1N1Ympl Y3Q6IFtQQVRDSCAzOS81N10gRklQUzogUEtDUzEyOiBQQk1BQzEgZGVmYXVsdHMKIAogRnJvbS1k aXN0LWdpdC1jb21taXQ6IDhmYzJkNDg0MjM4NTU4NDA5NGQ1N2Y2ZjY2ZmNiYzJhMDc4NjU3MDgK IC0tLQpAQCAtOSw3ICs5LDcgQEAgRnJvbS1kaXN0LWdpdC1jb21taXQ6IDhmYzJkNDg0MjM4NTU4 NDA5NGQ1N2Y2ZjY2ZmNiYzJhMDc4NjU3MDgKICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25z KCspCiAKIGRpZmYgLS1naXQgYS9hcHBzL3BrY3MxMi5jIGIvYXBwcy9wa2NzMTIuYwotaW5kZXgg OTk2NGZhZjIxYS4uNTk0MzlhOGNjMCAxMDA2NDQKK2luZGV4IDJjODNlNDM4NDUuLjIwYWFkMjdj NTkgMTAwNjQ0CiAtLS0gYS9hcHBzL3BrY3MxMi5jCiArKysgYi9hcHBzL3BrY3MxMi5jCiBAQCAt MTcsNiArMTcsNyBAQApAQCAtMjAsNyArMjAsNyBAQCBpbmRleCA5OTY0ZmFmMjFhLi41OTQzOWE4 Y2MwIDEwMDY0NAogICNpbmNsdWRlIDxvcGVuc3NsL3BlbS5oPgogICNpbmNsdWRlIDxvcGVuc3Ns L3BrY3MxMi5oPgogICNpbmNsdWRlIDxvcGVuc3NsL3Byb3ZpZGVyLmg+Ci1AQCAtNzA5LDYgKzcx MCw5IEBAIGludCBwa2NzMTJfbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitAQCAtNzQ2LDYg Kzc0Nyw5IEBAIGludCBwa2NzMTJfbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAg ICB9CiAgCiAgICAgICAgICBpZiAobWFjaXRlciAhPSAtMSkgewpAQCAtMjksNyArMjksNyBAQCBp bmRleCA5OTY0ZmFmMjFhLi41OTQzOWE4Y2MwIDEwMDY0NAogKwogICAgICAgICAgICAgIGlmIChw Ym1hYzFfcGJrZGYyID09IDEpIHsKICAgICAgICAgICAgICAgICAgaWYgKCFQS0NTMTJfc2V0X3Bi bWFjMV9wYmtkZjIocDEyLCBtcGFzcywgLTEsIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3NhbHRsZW4sIG1hY2l0ZXIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgbWFjc2FsdGxlbiwgbWFjaXRlciwKIC0tIAotMi41MS4wCisyLjUyLjAK IAoKZGlmZiAtLWdpdCBhLzAwNDAtRklQUy1GaXgtZW5jb2Rlci1kZWNvZGVyLW5lZ2F0aXZlLXRl c3QucGF0Y2ggYi8wMDQwLUZJUFMtRml4LWVuY29kZXItZGVjb2Rlci1uZWdhdGl2ZS10ZXN0LnBh dGNoCmluZGV4IGI3OGUxMDEuLjJlYjk0ZjUgMTAwNjQ0Ci0tLSBhLzAwNDAtRklQUy1GaXgtZW5j b2Rlci1kZWNvZGVyLW5lZ2F0aXZlLXRlc3QucGF0Y2gKKysrIGIvMDA0MC1GSVBTLUZpeC1lbmNv ZGVyLWRlY29kZXItbmVnYXRpdmUtdGVzdC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNDY5 MTY2MTI0MzA2MGNjNmFkODg5MDJmNDIyZjA1OGM1NDcyNjRmNiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb20gN2I3YWRlN2UxZWUyZjZiMTBiMzRiZjdmOWU3YTAxNjU0NzRmNTg2MCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4K IERhdGU6IFdlZCwgNSBNYXIgMjAyNSAxMzoyMjowMyAtMDUwMAotU3ViamVjdDogW1BBVENIIDQw LzU5XSBGSVBTOiBGaXggZW5jb2Rlci9kZWNvZGVyIG5lZ2F0aXZlIHRlc3QKK1N1YmplY3Q6IFtQ QVRDSCA0MC81N10gRklQUzogRml4IGVuY29kZXIvZGVjb2RlciBuZWdhdGl2ZSB0ZXN0CiAKIFNp Z25lZC1vZmYtYnk6IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4KIC0tLQpAQCAtMzEsNSAr MzEsNSBAQCBpbmRleCAyYWNjOTgwZTkwLi42NjBkNGUxMTE1CiAgICAgIG15ICRjb25mMiA9IHNy Y3RvcF9maWxlKCJ0ZXN0IiwgImRlZmF1bHQtYW5kLWZpcHMuY25mIik7CiAgICAgIG9rKHJ1bih0 ZXN0KFsnZGVjb2Rlcl9wcm9wcV90ZXN0JywgJy1jb25maWcnLCAkY29uZjIsCiAtLSAKLTIuNTEu MAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDQxLUZJUFMtRUMtREgtRFNBLVBDVHMucGF0Y2gg Yi8wMDQxLUZJUFMtRUMtREgtRFNBLVBDVHMucGF0Y2gKaW5kZXggM2Y1OWM0NC4uODRkZWM0ZCAx MDA2NDQKLS0tIGEvMDA0MS1GSVBTLUVDLURILURTQS1QQ1RzLnBhdGNoCisrKyBiLzAwNDEtRklQ Uy1FQy1ESC1EU0EtUENUcy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMTI4NzFhMGEwYWFh ZTNjZTBkY2FlMGIxNGE1MjI4M2IzYTRhNDgwOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b20gMTdjYWFiY2U0MjNiYmNmZTA1MDFlYmFhMTFjMmQ0YTgzNzlhY2E5MiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKIEZyb206IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4KIERhdGU6IE1v biwgMjQgTWFyIDIwMjUgMTA6NTA6MDYgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA0MS81OV0gRklQ UzogRUM6IERIL0RTQSBQQ1RzCitTdWJqZWN0OiBbUEFUQ0ggNDEvNTddIEZJUFM6IEVDOiBESC9E U0EgUENUcwogCiBTaWduZWQtb2ZmLWJ5OiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiAt LS0KQEAgLTExLDEwICsxMSwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBTaW1vIFNvcmNlIDxzaW1vQHJl ZGhhdC5jb20+CiAgMyBmaWxlcyBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9u cygtKQogCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9leGNoYW5nZS9l Y2RoX2V4Y2guYyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvZXhjaGFuZ2UvZWNkaF9leGNo LmMKLWluZGV4IDU4ZmJjN2JjMDkuLjk4ZDQzNTRmM2UgMTAwNjQ0CitpbmRleCA0M2YzNTE1ODc4 Li4wZDM1ZmMxNTkwIDEwMDY0NAogLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9leGNo YW5nZS9lY2RoX2V4Y2guYwogKysrIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9leGNoYW5n ZS9lY2RoX2V4Y2guYwotQEAgLTU2MCw2ICs1NjAsMjUgQEAgaW50IGVjZGhfcGxhaW5fZGVyaXZl KHZvaWQgKnZwZWNkaGN0eCwgdW5zaWduZWQgY2hhciAqc2VjcmV0LAorQEAgLTU0Niw2ICs1NDYs MjUgQEAgc3RhdGljIG9zc2xfaW5saW5lIGludCBlY2RoX3BsYWluX2Rlcml2ZSh2b2lkICp2cGVj ZGhjdHgsIHVuc2lnbmVkIGNoYXIgKnNlY3JldCwKICAjZW5kaWYKICAKICAgICAgcHB1YmtleSA9 IEVDX0tFWV9nZXQwX3B1YmxpY19rZXkocGVjZGhjdHgtPnBlZXJrKTsKQEAgLTQxLDEwICs0MSwx MCBAQCBpbmRleCA1OGZiYzdiYzA5Li45OGQ0MzU0ZjNlIDEwMDY0NAogICAgICByZXRsZW4gPSBF Q0RIX2NvbXB1dGVfa2V5KHNlY3JldCwgc2l6ZSwgcHB1YmtleSwgcHJpdmssIE5VTEwpOwogIAog ZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2V5bWdtdC9lY19rbWdtdC5j IGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZXltZ210L2VjX2ttZ210LmMKLWluZGV4IGEx ZDA0YmMzZmQuLmM5YTViMTljZmMgMTAwNjQ0CitpbmRleCAzMDVkYzNhNmI4Li4wNGU2MDRjNDUz IDEwMDY0NAogLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZXltZ210L2VjX2ttZ210 LmMKICsrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMva2V5bWdtdC9lY19rbWdtdC5jCi1A QCAtOTk1LDkgKzk5NSwxOCBAQCBzdHJ1Y3QgZWNfZ2VuX2N0eCB7CitAQCAtOTYzLDkgKzk2Mywx OCBAQCBzdHJ1Y3QgZWNfZ2VuX2N0eCB7CiAgICAgIEVDX0dST1VQICpnZW5fZ3JvdXA7CiAgICAg IHVuc2lnbmVkIGNoYXIgKmRoa2VtX2lrbTsKICAgICAgc2l6ZV90IGRoa2VtX2lrbWxlbjsKQEAg LTYxLDkgKzYxLDkgQEAgaW5kZXggYTFkMDRiYzNmZC4uYzlhNWIxOWNmYyAxMDA2NDQKICsjZW5k aWYKICsKICBzdGF0aWMgdm9pZCAqZWNfZ2VuX2luaXQodm9pZCAqcHJvdmN0eCwgaW50IHNlbGVj dGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgT1NTTF9QQVJBTSBwYXJhbXNb XSkKKyAgICAgY29uc3QgT1NTTF9QQVJBTSBwYXJhbXNbXSkKICB7Ci1AQCAtMTAxNyw2ICsxMDI2 LDEwIEBAIHN0YXRpYyB2b2lkICplY19nZW5faW5pdCh2b2lkICpwcm92Y3R4LCBpbnQgc2VsZWN0 aW9uLAorQEAgLTk4NSw2ICs5OTQsMTAgQEAgc3RhdGljIHZvaWQgKmVjX2dlbl9pbml0KHZvaWQg KnByb3ZjdHgsIGludCBzZWxlY3Rpb24sCiAgICAgICAgICAgICAgZ2N0eCA9IE5VTEw7CiAgICAg ICAgICB9CiAgICAgIH0KQEAgLTc0LDcgKzc0LDcgQEAgaW5kZXggYTFkMDRiYzNmZC4uYzlhNWIx OWNmYyAxMDA2NDQKICAgICAgcmV0dXJuIGdjdHg7CiAgfQogIAotQEAgLTEzMjgsNiArMTM0MSwx MiBAQCBzdGF0aWMgdm9pZCAqZWNfZ2VuKHZvaWQgKmdlbmN0eCwgT1NTTF9DQUxMQkFDSyAqb3Nz bGNiLCB2b2lkICpjYmFyZykKK0BAIC0xMjk1LDYgKzEzMDgsMTIgQEAgc3RhdGljIHZvaWQgKmVj X2dlbih2b2lkICpnZW5jdHgsIE9TU0xfQ0FMTEJBQ0sgKm9zc2xjYiwgdm9pZCAqY2JhcmcpCiAg CiAgICAgIGlmIChnY3R4LT5lY2RoX21vZGUgIT0gLTEpCiAgICAgICAgICByZXQgPSByZXQgJiYg b3NzbF9lY19zZXRfZWNkaF9jb2ZhY3Rvcl9tb2RlKGVjLCBnY3R4LT5lY2RoX21vZGUpOwpAQCAt ODYsOCArODYsOCBAQCBpbmRleCBhMWQwNGJjM2ZkLi5jOWE1YjE5Y2ZjIDEwMDY0NAogKyNlbmRp ZgogIAogICAgICBpZiAoZ2N0eC0+Z3JvdXBfY2hlY2sgIT0gTlVMTCkKLSAgICAgICAgIHJldCA9 IHJldCAmJiBvc3NsX2VjX3NldF9jaGVja19ncm91cF90eXBlX2Zyb21fbmFtZShlYywKLUBAIC0x NDEzLDcgKzE0MzIsMTAgQEAgc3RhdGljIHZvaWQgZWNfZ2VuX2NsZWFudXAodm9pZCAqZ2VuY3R4 KQorICAgICAgICAgcmV0ID0gcmV0ICYmIG9zc2xfZWNfc2V0X2NoZWNrX2dyb3VwX3R5cGVfZnJv bV9uYW1lKGVjLCBnY3R4LT5ncm91cF9jaGVjayk7CitAQCAtMTM3OSw3ICsxMzk4LDEwIEBAIHN0 YXRpYyB2b2lkIGVjX2dlbl9jbGVhbnVwKHZvaWQgKmdlbmN0eCkKICAKICAgICAgaWYgKGdjdHgg PT0gTlVMTCkKICAgICAgICAgIHJldHVybjsKQEAgLTEwMCw3ICsxMDAsNyBAQCBpbmRleCBhMWQw NGJjM2ZkLi5jOWE1YjE5Y2ZjIDEwMDY0NAogICAgICBFQ19HUk9VUF9mcmVlKGdjdHgtPmdlbl9n cm91cCk7CiAgICAgIEJOX2ZyZWUoZ2N0eC0+cCk7CiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2lt cGxlbWVudGF0aW9ucy9zaWduYXR1cmUvZWNkc2Ffc2lnLmMgYi9wcm92aWRlcnMvaW1wbGVtZW50 YXRpb25zL3NpZ25hdHVyZS9lY2RzYV9zaWcuYwotaW5kZXggMDFiMzAyMzg5MS4uYWQ1OTVkNTMx YyAxMDA2NDQKK2luZGV4IGY1YzEwMTAwNWYuLmIxNTc2OTc3ZjcgMTAwNjQ0CiAtLS0gYS9wcm92 aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9lY2RzYV9zaWcuYwogKysrIGIvcHJvdmlk ZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvZWNkc2Ffc2lnLmMKIEBAIC0zMyw3ICszMyw3 IEBACkBAIC0xMzAsNyArMTMwLDcgQEAgaW5kZXggMDFiMzAyMzg5MS4uYWQ1OTVkNTMxYyAxMDA2 NDQKICB7CiAgICAgIFBST1ZfRUNEU0FfQ1RYICpjdHg7CiAgCi1AQCAtNjEyLDcgKzYxMiw3IEBA IGludCBlY2RzYV9kaWdlc3RfdmVyaWZ5X2ZpbmFsKHZvaWQgKnZjdHgsIGNvbnN0IHVuc2lnbmVk IGNoYXIgKnNpZywKK0BAIC02MTAsNyArNjEwLDcgQEAgaW50IGVjZHNhX2RpZ2VzdF92ZXJpZnlf ZmluYWwodm9pZCAqdmN0eCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2lnLAogICAgICByZXR1cm4g b2s7CiAgfQogIApAQCAtMTM5LDcgKzEzOSw3IEBAIGluZGV4IDAxYjMwMjM4OTEuLmFkNTk1ZDUz MWMgMTAwNjQ0CiAgewogICAgICBQUk9WX0VDRFNBX0NUWCAqY3R4ID0gKFBST1ZfRUNEU0FfQ1RY ICopdmN0eDsKICAKLUBAIC04NjEsNiArODYxLDM1IEBAIHN0YXRpYyBjb25zdCBPU1NMX1BBUkFN ICplY2RzYV9zZXR0YWJsZV9jdHhfbWRfcGFyYW1zKHZvaWQgKnZjdHgpCitAQCAtODU0LDYgKzg1 NCwzNSBAQCBzdGF0aWMgY29uc3QgT1NTTF9QQVJBTSAqZWNkc2Ffc2V0dGFibGVfY3R4X21kX3Bh cmFtcyh2b2lkICp2Y3R4KQogICAgICByZXR1cm4gRVZQX01EX3NldHRhYmxlX2N0eF9wYXJhbXMo Y3R4LT5tZCk7CiAgfQogIApAQCAtMTc2LDUgKzE3Niw1IEBAIGluZGV4IDAxYjMwMjM4OTEuLmFk NTk1ZDUzMWMgMTAwNjQ0CiAgICAgIHsgT1NTTF9GVU5DX1NJR05BVFVSRV9ORVdDVFgsICh2b2lk ICgqKSh2b2lkKSllY2RzYV9uZXdjdHggfSwKICAgICAgeyBPU1NMX0ZVTkNfU0lHTkFUVVJFX1NJ R05fSU5JVCwgKHZvaWQgKCopKHZvaWQpKWVjZHNhX3NpZ25faW5pdCB9LAogLS0gCi0yLjUxLjAK KzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEvMDA0Mi1GSVBTLUVDLWRpc2FibGUtd2Vhay1jdXJ2ZXMu cGF0Y2ggYi8wMDQyLUZJUFMtRUMtZGlzYWJsZS13ZWFrLWN1cnZlcy5wYXRjaAppbmRleCAyNTky OTAwLi43NjNkZjk1IDEwMDY0NAotLS0gYS8wMDQyLUZJUFMtRUMtZGlzYWJsZS13ZWFrLWN1cnZl cy5wYXRjaAorKysgYi8wMDQyLUZJUFMtRUMtZGlzYWJsZS13ZWFrLWN1cnZlcy5wYXRjaApAQCAt MSw3ICsxLDcgQEAKLUZyb20gMTM0Y2Q2MTY5YjZkY2JjMWUzOTVhMzhkN2U1YWYwZjk2OTFlNzcy YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMmNkYTNlOWFkZjU1MzRkNmJlNjg5Y2Zm NWVlYjgxNDU5MDYxZjUyYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFNpbW8gU29y Y2UgPHNpbW9AcmVkaGF0LmNvbT4KIERhdGU6IEZyaSwgNyBNYXIgMjAyNSAxODowNjozNiAtMDUw MAotU3ViamVjdDogW1BBVENIIDQyLzU5XSBGSVBTOiBFQzogZGlzYWJsZSB3ZWFrIGN1cnZlcwor U3ViamVjdDogW1BBVENIIDQyLzU3XSBGSVBTOiBFQzogZGlzYWJsZSB3ZWFrIGN1cnZlcwogCiBT aWduZWQtb2ZmLWJ5OiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiAtLS0KQEAgLTksMTAg KzksMTAgQEAgU2lnbmVkLW9mZi1ieTogU2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQuY29tPgogIDEg ZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL2FwcHMvZWNwYXJh bS5jIGIvYXBwcy9lY3BhcmFtLmMKLWluZGV4IGYwODc5ZGZiMTEuLmE2MDQyZTdkMmEgMTAwNjQ0 CitpbmRleCAwMTdkYzc1NjhkLi41OTZjMzFhOTI1IDEwMDY0NAogLS0tIGEvYXBwcy9lY3BhcmFt LmMKICsrKyBiL2FwcHMvZWNwYXJhbS5jCi1AQCAtNzcsNiArNzcsMTMgQEAgc3RhdGljIGludCBs aXN0X2J1aWx0aW5fY3VydmVzKEJJTyAqb3V0KQorQEAgLTkwLDYgKzkwLDEzIEBAIHN0YXRpYyBp bnQgbGlzdF9idWlsdGluX2N1cnZlcyhCSU8gKm91dCkKICAgICAgICAgIGNvbnN0IGNoYXIgKmNv bW1lbnQgPSBjdXJ2ZXNbbl0uY29tbWVudDsKICAgICAgICAgIGNvbnN0IGNoYXIgKnNuYW1lID0g T0JKX25pZDJzbihjdXJ2ZXNbbl0ubmlkKTsKICAKQEAgLTI3LDUgKzI3LDUgQEAgaW5kZXggZjA4 NzlkZmIxMS4uYTYwNDJlN2QyYSAxMDA2NDQKICAgICAgICAgICAgICBjb21tZW50ID0gIkNVUlZF IERFU0NSSVBUSU9OIE5PVCBBVkFJTEFCTEUiOwogICAgICAgICAgaWYgKHNuYW1lID09IE5VTEwp CiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDQzLUZJUFMtTk8tRFNBLVN1 cHBvcnQucGF0Y2ggYi8wMDQzLUZJUFMtTk8tRFNBLVN1cHBvcnQucGF0Y2gKaW5kZXggYjcxZWE5 Yy4uYTdhMWZmYSAxMDA2NDQKLS0tIGEvMDA0My1GSVBTLU5PLURTQS1TdXBwb3J0LnBhdGNoCisr KyBiLzAwNDMtRklQUy1OTy1EU0EtU3VwcG9ydC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20g NTY3OTkzN2U5M2QyZjA3MmNmNGY1NmIyN2RjNmJjY2UyNTFmNmRlZiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb20gOWZjYTM2YTZjMDcxMmYzYzExZTZiYTk0MmU5OTAzOWIxN2ZjNzViMCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNv bT4KIERhdGU6IEZyaSwgNyBNYXIgMjAyNSAxODoxMDo1MiAtMDUwMAotU3ViamVjdDogW1BBVENI IDQzLzU5XSBGSVBTOiBOTyBEU0EgU3VwcG9ydAorU3ViamVjdDogW1BBVENIIDQzLzU3XSBGSVBT OiBOTyBEU0EgU3VwcG9ydAogCiBTaWduZWQtb2ZmLWJ5OiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhh dC5jb20+CiAtLS0KQEAgLTE4LDEwICsxOCwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBTaW1vIFNvcmNl IDxzaW1vQHJlZGhhdC5jb20+CiAgbW9kZSBjaGFuZ2UgMTAwNjQ0ID0+IDEwMDc1NSB0ZXN0L3Jl Y2lwZXMvMzAtdGVzdF9ldnAudAogCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ZpcHMvZmlwc3By b3YuYyBiL3Byb3ZpZGVycy9maXBzL2ZpcHNwcm92LmMKLWluZGV4IGU1ZDc5OGZkNTQuLmE4MDdj NzZmZDggMTAwNjQ0CitpbmRleCAwZjAwNjMwMWQ3Li5mOGYyODIyMzAwIDEwMDY0NAogLS0tIGEv cHJvdmlkZXJzL2ZpcHMvZmlwc3Byb3YuYwogKysrIGIvcHJvdmlkZXJzL2ZpcHMvZmlwc3Byb3Yu YwotQEAgLTQzMiw3ICs0MzIsOCBAQCBzdGF0aWMgY29uc3QgT1NTTF9BTEdPUklUSE0gZmlwc19r ZXlleGNoW10gPSB7CitAQCAtNDMxLDcgKzQzMSw4IEBAIHN0YXRpYyBjb25zdCBPU1NMX0FMR09S SVRITSBmaXBzX2tleWV4Y2hbXSA9IHsKICB9OwogIAogIHN0YXRpYyBjb25zdCBPU1NMX0FMR09S SVRITSBmaXBzX3NpZ25hdHVyZVtdID0gewpAQCAtMzEsMTggKzMxLDE4IEBAIGluZGV4IGU1ZDc5 OGZkNTQuLmE4MDdjNzZmZDggMTAwNjQ0CiAgICAgIHsgUFJPVl9OQU1FU19EU0EsIEZJUFNfREVG QVVMVF9QUk9QRVJUSUVTLCBvc3NsX2RzYV9zaWduYXR1cmVfZnVuY3Rpb25zIH0sCiAgICAgIHsg UFJPVl9OQU1FU19EU0FfU0hBMSwgRklQU19ERUZBVUxUX1BST1BFUlRJRVMsIG9zc2xfZHNhX3No YTFfc2lnbmF0dXJlX2Z1bmN0aW9ucyB9LAogICAgICB7IFBST1ZfTkFNRVNfRFNBX1NIQTIyNCwg RklQU19ERUZBVUxUX1BST1BFUlRJRVMsIG9zc2xfZHNhX3NoYTIyNF9zaWduYXR1cmVfZnVuY3Rp b25zIH0sCi1AQCAtNTYyLDggKzU2Myw5IEBAIHN0YXRpYyBjb25zdCBPU1NMX0FMR09SSVRITSBm aXBzX2tleW1nbXRbXSA9IHsKLSAgICAgICBQUk9WX0RFU0NTX0RIWCB9LAorQEAgLTU1OSw4ICs1 NjAsOSBAQCBzdGF0aWMgY29uc3QgT1NTTF9BTEdPUklUSE0gZmlwc19rZXltZ210W10gPSB7Cisg ICAgICAgICBQUk9WX0RFU0NTX0RIWCB9LAogICNlbmRpZgogICNpZm5kZWYgT1BFTlNTTF9OT19E U0EKIC0gICAgeyBQUk9WX05BTUVTX0RTQSwgRklQU19ERUZBVUxUX1BST1BFUlRJRVMsIG9zc2xf ZHNhX2tleW1nbXRfZnVuY3Rpb25zLAotLSAgICAgIFBST1ZfREVTQ1NfRFNBIH0sCistICAgICAg ICBQUk9WX0RFU0NTX0RTQSB9LAogKyAgICAvKiBXZSBkb24ndCBjZXJ0aWZ5IERTQSBpbiBvdXIg RklQUyBwcm92aWRlciAqLwogKyAgICAvKiB7IFBST1ZfTkFNRVNfRFNBLCBGSVBTX0RFRkFVTFRf UFJPUEVSVElFUywgb3NzbF9kc2Ffa2V5bWdtdF9mdW5jdGlvbnMsCi0rICAgICAgUFJPVl9ERVND U19EU0EgfSwgKi8KKysgICAgICAgICAgIFBST1ZfREVTQ1NfRFNBIH0sICovCiAgI2VuZGlmCiAg ICAgIHsgUFJPVl9OQU1FU19SU0EsIEZJUFNfREVGQVVMVF9QUk9QRVJUSUVTLCBvc3NsX3JzYV9r ZXltZ210X2Z1bmN0aW9ucywKLSAgICAgICBQUk9WX0RFU0NTX1JTQSB9LAorICAgICAgICAgUFJP Vl9ERVNDU19SU0EgfSwKIGRpZmYgLS1naXQgYS9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3RfZGF0 YS5pbmMgYi9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3RfZGF0YS5pbmMKIGluZGV4IDZhYmFiMGE3 YTEuLmE3ZDc2ODRkOTYgMTAwNjQ0CiAtLS0gYS9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3RfZGF0 YS5pbmMKQEAgLTgzLDE4ICs4MywxOCBAQCBpbmRleCA2YWJhYjBhN2ExLi5hN2Q3Njg0ZDk2IDEw MDY0NAogICNpZm5kZWYgT1BFTlNTTF9OT19NTF9EU0EKICAgICAgewogZGlmZiAtLWdpdCBhL3Rl c3QvYWN2cF90ZXN0LmMgYi90ZXN0L2FjdnBfdGVzdC5jCi1pbmRleCAyYmNjODg2ZmQyLi5kYjAy ODJkMDQzIDEwMDY0NAoraW5kZXggMTVjODdjNTdhNy4uZTMzMjE4NzRjMiAxMDA2NDQKIC0tLSBh L3Rlc3QvYWN2cF90ZXN0LmMKICsrKyBiL3Rlc3QvYWN2cF90ZXN0LmMKLUBAIC0xNzM1LDYgKzE3 MzUsNyBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkKLSAgICAgICAgICAgICAgICAgICBPU1NMX05F TEVNKGRoX3NhZmVfcHJpbWVfa2V5dmVyX2RhdGEpKTsKK0BAIC0xNzQ5LDYgKzE3NDksNyBAQCBp bnQgc2V0dXBfdGVzdHModm9pZCkKKyAgICAgICAgIE9TU0xfTkVMRU0oZGhfc2FmZV9wcmltZV9r ZXl2ZXJfZGF0YSkpOwogICNlbmRpZiAvKiBPUEVOU1NMX05PX0RIICovCiAgCiArI2lmIDAgLyog UmVkIEhhdCBGSVBTIHByb3ZpZGVyIGRvZXNuJ3QgaGF2ZSBmaXBzPXllcyBwcm9wZXJ0eSBvbiBE U0EgKi8KICAjaWZuZGVmIE9QRU5TU0xfTk9fRFNBCiAgICAgIGRzYXNpZ25fYWxsb3dlZCA9IGZp cHNfcHJvdmlkZXJfdmVyc2lvbl9sdChsaWJjdHgsIDMsIDQsIDApOwogICAgICBBRERfQUxMX1RF U1RTKGRzYV9rZXlnZW5fdGVzdCwgT1NTTF9ORUxFTShkc2Ffa2V5Z2VuX2RhdGEpKTsKLUBAIC0x NzQzLDYgKzE3NDQsNyBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkKK0BAIC0xNzU3LDYgKzE3NTgs NyBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkKICAgICAgQUREX0FMTF9URVNUUyhkc2Ffc2lnZ2Vu X3Rlc3QsIE9TU0xfTkVMRU0oZHNhX3NpZ2dlbl9kYXRhKSk7CiAgICAgIEFERF9BTExfVEVTVFMo ZHNhX3NpZ3Zlcl90ZXN0LCBPU1NMX05FTEVNKGRzYV9zaWd2ZXJfZGF0YSkpOwogICNlbmRpZiAv KiBPUEVOU1NMX05PX0RTQSAqLwpAQCAtMTAzLDEwICsxMDMsMTAgQEAgaW5kZXggMmJjYzg4NmZk Mi4uZGIwMjgyZDA0MyAxMDA2NDQKICAjaWZuZGVmIE9QRU5TU0xfTk9fRUMKICAgICAgZWNfY29m YWN0b3JzID0gZmlwc19wcm92aWRlcl92ZXJzaW9uX2dlKGxpYmN0eCwgMywgNCwgMCk7CiBkaWZm IC0tZ2l0IGEvdGVzdC9lbmRlY29kZV90ZXN0LmMgYi90ZXN0L2VuZGVjb2RlX3Rlc3QuYwotaW5k ZXggZDJmZjllNmViNi4uZGZkNWU5MmY3ZSAxMDA2NDQKK2luZGV4IGIxNWJhYjIxN2UuLmFjZmI1 ZWYzNmQgMTAwNjQ0CiAtLS0gYS90ZXN0L2VuZGVjb2RlX3Rlc3QuYwogKysrIGIvdGVzdC9lbmRl Y29kZV90ZXN0LmMKLUBAIC0xNTM2LDYgKzE1MzYsNyBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkK K0BAIC0xNTQ5LDYgKzE1NDksNyBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkKICAgICAgICAgICAq IHNvIG5vIGxlZ2FjeSB0ZXN0cy4KICAgICAgICAgICAqLwogICNlbmRpZgpAQCAtMTE0LDkgKzEx NCw5IEBAIGluZGV4IGQyZmY5ZTZlYjYuLmRmZDVlOTJmN2UgMTAwNjQ0CiAgI2lmbmRlZiBPUEVO U1NMX05PX0RTQQogICAgICAgICAgQUREX1RFU1RfU1VJVEUoRFNBKTsKICAgICAgICAgIEFERF9U RVNUX1NVSVRFX1BBUkFNUyhEU0EpOwotQEAgLTE1NDYsNiArMTU0Nyw3IEBAIGludCBzZXR1cF90 ZXN0cyh2b2lkKQorQEAgLTE1NTksNiArMTU2MCw3IEBAIGludCBzZXR1cF90ZXN0cyh2b2lkKQog ICAgICAgICAgQUREX1RFU1RfU1VJVEVfUFJPVEVDVEVEX1BWSyhEU0EpOwotICMgZW5kaWYKKyAj ZW5kaWYKICAjZW5kaWYKICsgICAgfQogICNpZm5kZWYgT1BFTlNTTF9OT19FQwpAQCAtMzAyLDcg KzMwMiw3IEBAIGluZGV4IDVlNTMxNWE1YjkuLjY2MGQxZGIxNDkgMTAwNjQ0CiAgS2V5ID0gRFNB LTIwNDgtMTYwCiAgSW5wdXQgPSAiSGVsbG8iCiBkaWZmIC0tZ2l0IGEvdGVzdC9yZWNpcGVzLzgw LXRlc3RfY21zLnQgYi90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXMudAotaW5kZXggY2Y0NTQxNDQ5 Yi4uNzM1MGJhYTkyMSAxMDA2NDQKK2luZGV4IDkxMjgzYzVlNzQuLmJlYWRiNDNjZjQgMTAwNjQ0 CiAtLS0gYS90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXMudAogKysrIGIvdGVzdC9yZWNpcGVzLzgw LXRlc3RfY21zLnQKIEBAIC0xMTYsNyArMTE2LDcgQEAgbXkgQHNtaW1lX3BrY3M3X3Rlc3RzID0g KApAQCAtMzk2LDUgKzM5Niw1IEBAIGluZGV4IGNmNDU0MTQ0OWIuLjczNTBiYWE5MjEgMTAwNjQ0 CiAgICAgICAgICAiLXNpZ25lciIsICRzbXJzYTEsCiAgICAgICAgICAiLXNpZ25lciIsIGNhdGZp bGUoJHNtZGlyLCAic21yc2EyLnBlbSIpLAogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0t Z2l0IGEvMDA0NC1GSVBTLU5PLURFUy1zdXBwb3J0LnBhdGNoIGIvMDA0NC1GSVBTLU5PLURFUy1z dXBwb3J0LnBhdGNoCmluZGV4IDVjMjJmY2YuLmVkZWJmN2YgMTAwNjQ0Ci0tLSBhLzAwNDQtRklQ Uy1OTy1ERVMtc3VwcG9ydC5wYXRjaAorKysgYi8wMDQ0LUZJUFMtTk8tREVTLXN1cHBvcnQucGF0 Y2gKQEAgLTEsNTMgKzEsMzggQEAKLUZyb20gN2M3NWM2ZjUyNzAwZWZiZWU4ZDk2MDYwMWMwYjE5 NDMyOTViNmFlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNjI3NDhjMjMzYWUzYWZi OGIwNzk3YTdkMWNlMmYzOTE3MjFkMjk3MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206 IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4KIERhdGU6IEZyaSwgNyBNYXIgMjAyNSAxODox NToxMyAtMDUwMAotU3ViamVjdDogW1BBVENIIDQ0LzU5XSBGSVBTOiBOTyBERVMgc3VwcG9ydAor U3ViamVjdDogW1BBVENIIDQ0LzU3XSBGSVBTOiBOTyBERVMgc3VwcG9ydAogCiBTaWduZWQtb2Zm LWJ5OiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiAtLS0KLSBwcm92aWRlcnMvZmlwcy9m aXBzcHJvdi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KLSBwcm92aWRlcnMv Zmlwcy9zZWxmX3Rlc3RfZGF0YS5pbmMgICAgICAgICAgICAgICAgICAgfCAgNCArKysrCisgcHJv dmlkZXJzL2ZpcHMvZmlwc3Byb3YuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgLS0t LQorIHByb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9kYXRhLmluYyAgICAgICAgICAgICAgICAgICB8 ICAyICsrCiAgdGVzdC9ldnBfbGliY3R4X3Rlc3QuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDQgKysrLQogIC4uLi8zMC10ZXN0X2V2cF9kYXRhL2V2cGNpcGhfZGVzM19jb21tb24u dHh0ICAgICAgICB8IDEzICsrKystLS0tLS0tLS0KICB0ZXN0L3JlY2lwZXMvMzAtdGVzdF9ldnBf ZGF0YS9ldnBtYWNfY21hY19kZXMudHh0ICAgfCAxMCAtLS0tLS0tLS0tCiAgdGVzdC9yZWNpcGVz LzgwLXRlc3RfY21zLnQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KLSA2IGZpbGVz IGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQorIDYgZmlsZXMgY2hh bmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9w cm92aWRlcnMvZmlwcy9maXBzcHJvdi5jIGIvcHJvdmlkZXJzL2ZpcHMvZmlwc3Byb3YuYwotaW5k ZXggYTgwN2M3NmZkOC4uNzY3MDczZmNlNCAxMDA2NDQKK2luZGV4IGY4ZjI4MjIzMDAuLjMzZTFh MTc5Y2YgMTAwNjQ0CiAtLS0gYS9wcm92aWRlcnMvZmlwcy9maXBzcHJvdi5jCiArKysgYi9wcm92 aWRlcnMvZmlwcy9maXBzcHJvdi5jCi1AQCAtMzU2LDcgKzM1Niw4IEBAIHN0YXRpYyBjb25zdCBP U1NMX0FMR09SSVRITV9DQVBBQkxFIGZpcHNfY2lwaGVyc1tdID0gewotICAgICAgICAgIG9zc2xf Y2lwaGVyX2NhcGFibGVfYWVzX2NiY19obWFjX3NoYTI1NiksCitAQCAtMzU1LDEwICszNTUsNiBA QCBzdGF0aWMgY29uc3QgT1NTTF9BTEdPUklUSE1fQ0FQQUJMRSBmaXBzX2NpcGhlcnNbXSA9IHsK KyAgICAgICAgIG9zc2xfY2lwaGVyX2NhcGFibGVfYWVzX2NiY19obWFjX3NoYTI1NiksCiAgICAg IEFMR0MoUFJPVl9OQU1FU19BRVNfMjU2X0NCQ19ITUFDX1NIQTI1Niwgb3NzbF9hZXMyNTZjYmNf aG1hY19zaGEyNTZfZnVuY3Rpb25zLAotICAgICAgICAgIG9zc2xfY2lwaGVyX2NhcGFibGVfYWVz X2NiY19obWFjX3NoYTI1NiksCisgICAgICAgICBvc3NsX2NpcGhlcl9jYXBhYmxlX2Flc19jYmNf aG1hY19zaGEyNTYpLAogLSNpZm5kZWYgT1BFTlNTTF9OT19ERVMKLSsvKiBXZSBkb24ndCBjZXJ0 aWZ5IDNERVMgaW4gb3VyIEZJUFMgcHJvdmlkZXIgKi8KLSsjaWYgMCAvKiBpZm5kZWYgT1BFTlNT TF9OT19ERVMgKi8KLSAgICAgQUxHKFBST1ZfTkFNRVNfREVTX0VERTNfRUNCLCBvc3NsX3RkZXNf ZWRlM19lY2JfZnVuY3Rpb25zKSwKLSAgICAgQUxHKFBST1ZfTkFNRVNfREVTX0VERTNfQ0JDLCBv c3NsX3RkZXNfZWRlM19jYmNfZnVuY3Rpb25zKSwKLSAjZW5kaWYgIC8qIE9QRU5TU0xfTk9fREVT ICovCistICAgIEFMRyhQUk9WX05BTUVTX0RFU19FREUzX0VDQiwgb3NzbF90ZGVzX2VkZTNfZWNi X2Z1bmN0aW9ucyksCistICAgIEFMRyhQUk9WX05BTUVTX0RFU19FREUzX0NCQywgb3NzbF90ZGVz X2VkZTNfY2JjX2Z1bmN0aW9ucyksCistI2VuZGlmIC8qIE9QRU5TU0xfTk9fREVTICovCisgICAg IHsgeyBOVUxMLCBOVUxMLCBOVUxMIH0sIE5VTEwgfQorIH07Cisgc3RhdGljIE9TU0xfQUxHT1JJ VEhNIGV4cG9ydGVkX2ZpcHNfY2lwaGVyc1tPU1NMX05FTEVNKGZpcHNfY2lwaGVycyldOwogZGlm ZiAtLWdpdCBhL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9kYXRhLmluYyBiL3Byb3ZpZGVycy9m aXBzL3NlbGZfdGVzdF9kYXRhLmluYwotaW5kZXggYTdkNzY4NGQ5Ni4uYzljZThmMzM0MCAxMDA2 NDQKK2luZGV4IGE3ZDc2ODRkOTYuLmQ4ZDIzZTZmOTAgMTAwNjQ0CiAtLS0gYS9wcm92aWRlcnMv Zmlwcy9zZWxmX3Rlc3RfZGF0YS5pbmMKICsrKyBiL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9k YXRhLmluYwotQEAgLTI2Miw2ICsyNjIsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBh ZXNfMTI4X2VjYl9jdFtdID0gewotICAgICAweDRlLCAweGFhLCAweDZmLCAweGI0LCAweGRiLCAw eGY3LCAweDg0LCAweDY1Ci0gfTsKLSAKLSsjaWYgMAotICNpZm5kZWYgT1BFTlNTTF9OT19ERVMK LSAvKgotICAqIFRERVMtRUNCIHRlc3QgZGF0YSBmcm9tCi1AQCAtMjgwLDYgKzI4MSw3IEBAIHN0 YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHRkZXNfcHRbXSA9IHsKLSAgICAgMHg0QiwgMHhBQiwg MHgzQiwgMHhFMSwgMHg1MCwgMHgyRSwgMHgzQiwgMHgzNgotIH07Ci0gI2VuZGlmCi0rI2VuZGlm Ci0gCi0gc3RhdGljIGNvbnN0IFNUX0tBVF9DSVBIRVIgc3Rfa2F0X2NpcGhlcl90ZXN0c1tdID0g ewotICAgICB7Ci1AQCAtMzA1LDYgKzMwNyw3IEBAIHN0YXRpYyBjb25zdCBTVF9LQVRfQ0lQSEVS IHN0X2thdF9jaXBoZXJfdGVzdHNbXSA9IHsKK0BAIC0zMDUsNiArMzA1LDcgQEAgc3RhdGljIGNv bnN0IFNUX0tBVF9DSVBIRVIgc3Rfa2F0X2NpcGhlcl90ZXN0c1tdID0gewogICAgICAgICAgQ0lQ SEVSX01PREVfREVDUllQVCwKICAgICAgICAgIElUTShhZXNfMTI4X2VjYl9rZXkpCiAgICAgIH0s CkBAIC01NSw3ICs0MCw3IEBAIGluZGV4IGE3ZDc2ODRkOTYuLmM5Y2U4ZjMzNDAgMTAwNjQ0CiAg I2lmbmRlZiBPUEVOU1NMX05PX0RFUwogICAgICB7CiAgICAgICAgICB7Ci1AQCAtMzE3LDYgKzMy MCw3IEBAIHN0YXRpYyBjb25zdCBTVF9LQVRfQ0lQSEVSIHN0X2thdF9jaXBoZXJfdGVzdHNbXSA9 IHsKK0BAIC0zMTcsNiArMzE4LDcgQEAgc3RhdGljIGNvbnN0IFNUX0tBVF9DSVBIRVIgc3Rfa2F0 X2NpcGhlcl90ZXN0c1tdID0gewogICAgICAgICAgSVRNKHRkZXNfa2V5KQogICAgICB9CiAgI2Vu ZGlmCkBAIC02NCwxMCArNDksMTAgQEAgaW5kZXggYTdkNzY4NGQ5Ni4uYzljZThmMzM0MCAxMDA2 NDQKICAKICBzdGF0aWMgY29uc3QgY2hhciBoa2RmX2RpZ2VzdFtdID0gIlNIQTI1NiI7CiBkaWZm IC0tZ2l0IGEvdGVzdC9ldnBfbGliY3R4X3Rlc3QuYyBiL3Rlc3QvZXZwX2xpYmN0eF90ZXN0LmMK LWluZGV4IDI4MzhmMzQzYmQuLjE5ZGQyYzZjNjMgMTAwNjQ0CitpbmRleCA3NzMyMTBmYWRiLi5l MGI0ZWZlM2Y0IDEwMDY0NAogLS0tIGEvdGVzdC9ldnBfbGliY3R4X3Rlc3QuYwogKysrIGIvdGVz dC9ldnBfbGliY3R4X3Rlc3QuYwotQEAgLTgzMSw3ICs4MzEsOSBAQCBpbnQgc2V0dXBfdGVzdHMo dm9pZCkKK0BAIC05ODQsNyArOTg0LDkgQEAgaW50IHNldHVwX3Rlc3RzKHZvaWQpCiAgICAgIEFE RF9URVNUKGtlbV9pbnZhbGlkX2tleXR5cGUpOwogICNlbmRpZgogICNpZm5kZWYgT1BFTlNTTF9O T19ERVMKQEAgLTE1Niw3ICsxNDEsNyBAQCBpbmRleCBhMTFlNWZmZTU0Li5lNGE3Y2JlNzVlIDEw MDY0NAogLUlucHV0ID0gRkE2MjBDMUJCRTk3MzE5RTlBMENGMDQ5MjEyMUY3QTIwRUIwOEE2QTcw OURDQkQwMEFBRjM4RTRGOTlFNzU0RQogLU91dHB1dCA9IDhGNDlBMUI3RDZBQTIyNTgKIGRpZmYg LS1naXQgYS90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXMudCBiL3Rlc3QvcmVjaXBlcy84MC10ZXN0 X2Ntcy50Ci1pbmRleCA3MzUwYmFhOTIxLi43NDA4MjNjNjFlIDEwMDY0NAoraW5kZXggYmVhZGI0 M2NmNC4uNzFhYjRhMzkxMCAxMDA2NDQKIC0tLSBhL3Rlc3QvcmVjaXBlcy84MC10ZXN0X2Ntcy50 CiArKysgYi90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXMudAogQEAgLTQxNSw3ICs0MTUsNyBAQCBt eSBAc21pbWVfY21zX3Rlc3RzID0gKApAQCAtMTY5LDUgKzE1NCw1IEBAIGluZGV4IDczNTBiYWE5 MjEuLjc0MDgyM2M2MWUgMTAwNjQ0CiAgICAgICAgICAiLWRlczMiLCAiLXNlY3JldGtleSIsICIw MDAxMDIwMzA0MDUwNjA3MDgwOTBBMEIwQzBEMEUwRjEwMTExMjEzMTQxNTE2MTciLAogICAgICAg ICAgIi1zdHJlYW0iLCAiLW91dCIsICJ7b3V0cHV0fS5jbXMiIF0sCiAtLSAKLTIuNTEuMAorMi41 Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDQ1LUZJUFMtTk8tS21hYy5wYXRjaCBiLzAwNDUtRklQUy1O Ty1LbWFjLnBhdGNoCmluZGV4IGE4NDlhNTMuLjk3YzVjYjcgMTAwNjQ0Ci0tLSBhLzAwNDUtRklQ Uy1OTy1LbWFjLnBhdGNoCisrKyBiLzAwNDUtRklQUy1OTy1LbWFjLnBhdGNoCkBAIC0xLDM4ICsx LDM3IEBACi1Gcm9tIDcwMDk0YWQ2YWY2YjgxYzFlMjc4YjY5MThmYzdhMTQzZmJhZDAyYTkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDdhZmQ0MWEwODZmZjlkM2MzOWZmNTkyZTI2ZDAw NmM3NjllMmE2ZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBTaW1vIFNvcmNlIDxz aW1vQHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDcgTWFyIDIwMjUgMTg6MjI6MDcgLTA1MDAKLVN1 YmplY3Q6IFtQQVRDSCA0NS81OV0gRklQUzogTk8gS21hYworU3ViamVjdDogW1BBVENIIDQ1LzU3 XSBGSVBTOiBOTyBLbWFjCiAKIFNpZ25lZC1vZmYtYnk6IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0 LmNvbT4KIC0tLQotIHByb3ZpZGVycy9maXBzL2ZpcHNwcm92LmMgICAgICAgICAgICAgICAgICAg ICB8ICAxMCArLQorIHByb3ZpZGVycy9maXBzL2ZpcHNwcm92LmMgICAgICAgICAgICAgICAgICAg ICB8ICAgOSArLQogIHByb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9kYXRhLmluYyAgICAgICAgICAg ICB8ICAgNCArCiAgdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwLnQgICAgICAgICAgICAgICAgICAg IHwgICAyICstCiAgdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwa2RmX2hrZGYudHh0 IHwgICAyICstCiAgLi4uLzMwLXRlc3RfZXZwX2RhdGEvZXZwa2RmX2tia2RmX2NvdW50ZXIudHh0 IHwgICAyICstCiAgdGVzdC9yZWNpcGVzLzMwLXRlc3RfZXZwX2RhdGEvZXZwa2RmX3NzLnR4dCAg IHwgICA2ICstCiAgLi4uLzMwLXRlc3RfZXZwX2RhdGEvZXZwbWFjX2NvbW1vbi50eHQgICAgICAg IHwgMTAwICsrKystLS0tLS0tLS0tLS0tLQotIDcgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9u cygrKSwgODYgZGVsZXRpb25zKC0pCisgNyBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCsp LCA4NiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9maXBzL2ZpcHNwcm92 LmMgYi9wcm92aWRlcnMvZmlwcy9maXBzcHJvdi5jCi1pbmRleCA3NjcwNzNmY2U0Li4zZDZmZTFm MjQ0IDEwMDY0NAoraW5kZXggMzNlMWExNzljZi4uNzkzMGNmMzI0MSAxMDA2NDQKIC0tLSBhL3By b3ZpZGVycy9maXBzL2ZpcHNwcm92LmMKICsrKyBiL3Byb3ZpZGVycy9maXBzL2ZpcHNwcm92LmMK LUBAIC0yOTUsMTAgKzI5NSwxMSBAQCBzdGF0aWMgY29uc3QgT1NTTF9BTEdPUklUSE0gZmlwc19k aWdlc3RzW10gPSB7CitAQCAtMjk0LDEwICsyOTQsMTAgQEAgc3RhdGljIGNvbnN0IE9TU0xfQUxH T1JJVEhNIGZpcHNfZGlnZXN0c1tdID0gewogICAgICAgKiBLRUNDQUstS01BQy0xMjggYW5kIEtF Q0NBSy1LTUFDLTI1NiBhcyBoYXNoZXMgYXJlIG1vc3RseSB1c2VmdWwgZm9yCiAgICAgICAqIEtN QUMxMjggYW5kIEtNQUMyNTYuCiAgICAgICAqLwogLSAgICB7IFBST1ZfTkFNRVNfS0VDQ0FLX0tN QUNfMTI4LCBGSVBTX0RFRkFVTFRfUFJPUEVSVElFUywKLSsgICAgLyogV2UgZG9uJ3QgY2VydGlm eSBLRUNDQUsgaW4gb3VyIEZJUFMgcHJvdmlkZXIgKi8KICsgICAgLyogeyBQUk9WX05BTUVTX0tF Q0NBS19LTUFDXzEyOCwgRklQU19ERUZBVUxUX1BST1BFUlRJRVMsCi0gICAgICAgb3NzbF9rZWNj YWtfa21hY18xMjhfZnVuY3Rpb25zIH0sCisgICAgICAgICBvc3NsX2tlY2Nha19rbWFjXzEyOF9m dW5jdGlvbnMgfSwKICAgICAgeyBQUk9WX05BTUVTX0tFQ0NBS19LTUFDXzI1NiwgRklQU19ERUZB VUxUX1BST1BFUlRJRVMsCi0tICAgICAgb3NzbF9rZWNjYWtfa21hY18yNTZfZnVuY3Rpb25zIH0s Ci0rICAgICAgb3NzbF9rZWNjYWtfa21hY18yNTZfZnVuY3Rpb25zIH0sICovCistICAgICAgICBv c3NsX2tlY2Nha19rbWFjXzI1Nl9mdW5jdGlvbnMgfSwKKysgICAgICAgIG9zc2xfa2VjY2FrX2tt YWNfMjU2X2Z1bmN0aW9ucyB9LCAqLwogICAgICB7IE5VTEwsIE5VTEwsIE5VTEwgfQogIH07CiAg Ci1AQCAtMzcxLDggKzM3Miw5IEBAIHN0YXRpYyBjb25zdCBPU1NMX0FMR09SSVRITSBmaXBzX21h Y3NbXSA9IHsKK0BAIC0zNjUsOCArMzY1LDkgQEAgc3RhdGljIGNvbnN0IE9TU0xfQUxHT1JJVEhN IGZpcHNfbWFjc1tdID0gewogICNlbmRpZgogICAgICB7IFBST1ZfTkFNRVNfR01BQywgRklQU19E RUZBVUxUX1BST1BFUlRJRVMsIG9zc2xfZ21hY19mdW5jdGlvbnMgfSwKICAgICAgeyBQUk9WX05B TUVTX0hNQUMsIEZJUFNfREVGQVVMVF9QUk9QRVJUSUVTLCBvc3NsX2htYWNfZnVuY3Rpb25zIH0s CkBAIC00NSwxMCArNDQsMTAgQEAgaW5kZXggNzY3MDczZmNlNC4uM2Q2ZmUxZjI0NCAxMDA2NDQK ICB9OwogIAogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9kYXRhLmluYyBi L3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9kYXRhLmluYwotaW5kZXggYzljZThmMzM0MC4uM2Uz MmE1NDQ2YSAxMDA2NDQKK2luZGV4IGQ4ZDIzZTZmOTAuLjQzZjdjODlmZDYgMTAwNjQ0CiAtLS0g YS9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3RfZGF0YS5pbmMKICsrKyBiL3Byb3ZpZGVycy9maXBz L3NlbGZfdGVzdF9kYXRhLmluYwotQEAgLTUzNSw2ICs1MzUsNyBAQCBzdGF0aWMgY29uc3QgU1Rf S0FUX1BBUkFNIGtia2RmX3BhcmFtc1tdID0geworQEAgLTUzMyw2ICs1MzMsNyBAQCBzdGF0aWMg Y29uc3QgU1RfS0FUX1BBUkFNIGtia2RmX3BhcmFtc1tdID0gewogICAgICBTVF9LQVRfUEFSQU1f RU5EKCkKICB9OwogIApAQCAtNTYsNyArNTUsNyBAQCBpbmRleCBjOWNlOGYzMzQwLi4zZTMyYTU0 NDZhIDEwMDY0NAogIHN0YXRpYyBjb25zdCBjaGFyIGtia2RmX2ttYWNfbWFjW10gPSAiS01BQzEy OCI7CiAgc3RhdGljIHVuc2lnbmVkIGNoYXIga2JrZGZfa21hY19sYWJlbFtdID0gewogICAgICAw eEI1LCAweEI1LCAweEYzLCAweDcxLCAweDlGLCAweEJFLCAweDVCLCAweDNELAotQEAgLTU2MSw2 ICs1NjIsNyBAQCBzdGF0aWMgY29uc3QgU1RfS0FUX1BBUkFNIGtia2RmX2ttYWNfcGFyYW1zW10g PSB7CitAQCAtNTU5LDYgKzU2MCw3IEBAIHN0YXRpYyBjb25zdCBTVF9LQVRfUEFSQU0ga2JrZGZf a21hY19wYXJhbXNbXSA9IHsKICAgICAgU1RfS0FUX1BBUkFNX09DVEVUKE9TU0xfS0RGX1BBUkFN X0lORk8sIGtia2RmX2ttYWNfY29udGV4dCksCiAgICAgIFNUX0tBVF9QQVJBTV9FTkQoKQogIH07 CkBAIC02NCw3ICs2Myw3IEBAIGluZGV4IGM5Y2U4ZjMzNDAuLjNlMzJhNTQ0NmEgMTAwNjQ0CiAg CiAgc3RhdGljIGNvbnN0IGNoYXIgdGxzMTNfa2RmX2RpZ2VzdFtdID0gIlNIQTI1NiI7CiAgc3Rh dGljIGludCB0bHMxM19rZGZfZXh0cmFjdF9tb2RlID0gRVZQX0tERl9IS0RGX01PREVfRVhUUkFD VF9PTkxZOwotQEAgLTY1MSwxMiArNjUzLDE0IEBAIHN0YXRpYyBjb25zdCBTVF9LQVRfS0RGIHN0 X2thdF9rZGZfdGVzdHNbXSA9CitAQCAtNjQ5LDEyICs2NTEsMTQgQEAgc3RhdGljIGNvbnN0IFNU X0tBVF9LREYgc3Rfa2F0X2tkZl90ZXN0c1tdID0KICAgICAgICAgIGtia2RmX3BhcmFtcywKICAg ICAgICAgIElUTShrYmtkZl9leHBlY3RlZCkKICAgICAgfSwKQEAgLTQyMiw1ICs0MjEsNSBAQCBp bmRleCA4MzFlZWNiYWM5Li5hZjkyY2VlYTk4IDEwMDY0NAogLUN1c3RvbSA9ICIiCiAtT3V0cHV0 ID0gNzUzNThDRjM5RTQxNDk0RTk0OTcwNzkyN0NFRTBBRjIwQTNGRjU1MzkwNEM4NkIwOEYyMUND NDE0QkNGRDY5MTU4OUQyN0NGNUUxNTM2OUNCQkZGOEI5QTRDMkVCMTc4MDA4NTVEMDIzNUZGNjM1 REE4MjUzM0VDNkI3NTlCNjkKIC0tIAotMi41MS4wCisyLjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAw NDYtRklQUy1GaXgtc29tZS10ZXN0cy1kdWUtdG8tb3VyLXZlcnNpb25pbmctY2hhbmdlLnBhdGNo IGIvMDA0Ni1GSVBTLUZpeC1zb21lLXRlc3RzLWR1ZS10by1vdXItdmVyc2lvbmluZy1jaGFuZ2Uu cGF0Y2gKaW5kZXggOTRkNWE2MC4uNTA4MWExZSAxMDA2NDQKLS0tIGEvMDA0Ni1GSVBTLUZpeC1z b21lLXRlc3RzLWR1ZS10by1vdXItdmVyc2lvbmluZy1jaGFuZ2UucGF0Y2gKKysrIGIvMDA0Ni1G SVBTLUZpeC1zb21lLXRlc3RzLWR1ZS10by1vdXItdmVyc2lvbmluZy1jaGFuZ2UucGF0Y2gKQEAg LTEsNyArMSw3IEBACi1Gcm9tIDU1MmRlYzMyN2E1Nzk1NzJjYTE3YTU2MGJiNDE1ZDhmNDA3Y2U5 OTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGQ2YTZhZmRjNjE0Y2UwZTYyNzM1NTRm NTBjMThjZDcwMDAwY2ZmMDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBTaW1vIFNv cmNlIDxzaW1vQHJlZGhhdC5jb20+CiBEYXRlOiBNb24sIDEwIE1hciAyMDI1IDEzOjUyOjUwIC0w NDAwCi1TdWJqZWN0OiBbUEFUQ0ggNDYvNTldIEZJUFM6IEZpeCBzb21lIHRlc3RzIGR1ZSB0byBv dXIgdmVyc2lvbmluZyBjaGFuZ2UKK1N1YmplY3Q6IFtQQVRDSCA0Ni81N10gRklQUzogRml4IHNv bWUgdGVzdHMgZHVlIHRvIG91ciB2ZXJzaW9uaW5nIGNoYW5nZQogCiBTaWduZWQtb2ZmLWJ5OiBT aW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiAtLS0KQEAgLTEwMiw1ICsxMDIsNSBAQCBpbmRl eCBhZjQ3ODQyZmQ4Li4yMWM3NTAzM2U4IDEwMDY0NAogIAogIG15IEB0ZXN0c19tbGRzYV90bHNf MV8zID0gKAogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEvMDA0Ny1DdXJyZW50 LVJlYmFzZS1zdGF0dXMucGF0Y2ggYi8wMDQ3LUN1cnJlbnQtUmViYXNlLXN0YXR1cy5wYXRjaApp bmRleCBkOGQ2OGQ1Li44ZGZmMzNkIDEwMDY0NAotLS0gYS8wMDQ3LUN1cnJlbnQtUmViYXNlLXN0 YXR1cy5wYXRjaAorKysgYi8wMDQ3LUN1cnJlbnQtUmViYXNlLXN0YXR1cy5wYXRjaApAQCAtMSw3 ICsxLDcgQEAKLUZyb20gM2NlMjcyYmU2NmQ2ZTgyODVlMGZhMGZkZGMwYWU0YjNjOGM5ZTZkYSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNjA3YTE5NWIzNzRhNjA3MmM4N2E1MDA3MTNj ZWE3ODM0N2I3ZDI1MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFNpbW8gU29yY2Ug PHNpbW9AcmVkaGF0LmNvbT4KIERhdGU6IFdlZCwgMTIgRmViIDIwMjUgMTc6MjU6NDcgLTA1MDAK LVN1YmplY3Q6IFtQQVRDSCA0Ny81OV0gQ3VycmVudCBSZWJhc2Ugc3RhdHVzCitTdWJqZWN0OiBb UEFUQ0ggNDcvNTddIEN1cnJlbnQgUmViYXNlIHN0YXR1cwogCiBTaWduZWQtb2ZmLWJ5OiBTaW1v IFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiAtLS0KQEAgLTEwMiw1ICsxMDIsNSBAQCBpbmRleCAy ODMzYTM4M2MxLi5jOGY2Yzk5MmE4IDEwMDY0NAogKy4vQ29uZmlndXJlIC0tcHJlZml4PSRIT01F L3RtcC9vcGVuc3NsLXJlYmFzZSAtLW9wZW5zc2xkaXI9JEhPTUUvdG1wL29wZW5zc2wtcmViYXNl L2V0Yy9wa2kvdGxzIGVuYWJsZS1lY19uaXN0cF82NF9nY2NfMTI4IC0tc3lzdGVtLWNpcGhlcnMt ZmlsZT0kSE9NRS90bXAvb3BlbnNzbC1yZWJhc2UvZXRjL2NyeXB0by1wb2xpY2llcy9iYWNrLWVu ZHMvb3BlbnNzbGNuZi5jb25maWcgemxpYiBlbmFibGUtY2FtZWxsaWEgZW5hYmxlLXNlZWQgZW5h YmxlLXJmYzM3NzkgZW5hYmxlLXNjdHAgZW5hYmxlLWNtcyBlbmFibGUtbWQyIGVuYWJsZS1yYzUg ZW5hYmxlLWt0bHMgZW5hYmxlLWZpcHMgbm8tbWRjMiBuby1lYzJtIG5vLXNtMiBuby1zbTQgbm8t YXRleGl0IGVuYWJsZS1idWlsZHRlc3QtYysrIHNoYXJlZCBsaW51eC14ODZfNjQgJFJQTV9PUFRf RkxBR1MgJy1EREVWUkFORE9NPSJcIi9kZXYvdXJhbmRvbVwiIiAtRE9QRU5TU0xfUEVEQU5USUNf WkVST0laQVRJT04gLURSRURIQVRfRklQU19WRU5ET1I9IlwiUmVkIEhhdCBFbnRlcnByaXNlIExp bnV4IE9wZW5TU0wgRklQUyBQcm92aWRlclwiIiAtRFJFREhBVF9GSVBTX1ZFUlNJT049IlwiMy41 LjAtNGM3MTRkOTdmZDc3ZDFhOFwiIicgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbgog KwogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEvMDA0OC1GSVBTLUtERi1rZXkt bGVuZ2h0LWVycm9ycy5wYXRjaCBiLzAwNDgtRklQUy1LREYta2V5LWxlbmdodC1lcnJvcnMucGF0 Y2gKaW5kZXggYzU5ZTVlMC4uYTBlNzZiYiAxMDA2NDQKLS0tIGEvMDA0OC1GSVBTLUtERi1rZXkt bGVuZ2h0LWVycm9ycy5wYXRjaAorKysgYi8wMDQ4LUZJUFMtS0RGLWtleS1sZW5naHQtZXJyb3Jz LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSAyODRjNjRmMmFkOGYxMDRiMTU5ODNmN2ZmMzdl OTA0ODY4NDdjNWIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiZTA3YzhlZDY1Yjk2 NTcyMjdkMDNiOTA1YjlhNDkwYmQxNGJkMTczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJv bTogU2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQuY29tPgogRGF0ZTogTW9uLCAxNCBBcHIgMjAyNSAx NToyNTo0MCAtMDQwMAotU3ViamVjdDogW1BBVENIIDQ4LzU5XSBGSVBTOiBLREYga2V5IGxlbmdo dCBlcnJvcnMKK1N1YmplY3Q6IFtQQVRDSCA0OC81N10gRklQUzogS0RGIGtleSBsZW5naHQgZXJy b3JzCiAKIFNpZ25lZC1vZmYtYnk6IFNpbW8gU29yY2UgPHNpbW9AcmVkaGF0LmNvbT4KIC0tLQpA QCAtMTcxLDUgKzE3MSw1IEBAIGluZGV4IDFmYjI0NzIwMDEuLjkzYzA3ZWRlN2MgMTAwNjQ0CiAg CiAgIyBUZXN0IHRoYXQgdGhlIGtleSB3aG9zZSBsZW5ndGggaXMgc2hvcnRlciB0aGFuIDExMiBi aXRzIGlzIHJlcG9ydGVkIGFzCiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8w MDQ5LUZJUFMtZml4LWRpc2FsbG93ZWQtZGlnZXN0cy10ZXN0cy5wYXRjaCBiLzAwNDktRklQUy1m aXgtZGlzYWxsb3dlZC1kaWdlc3RzLXRlc3RzLnBhdGNoCmluZGV4IGNiNGNhZWMuLjBkZGQxYjcg MTAwNjQ0Ci0tLSBhLzAwNDktRklQUy1maXgtZGlzYWxsb3dlZC1kaWdlc3RzLXRlc3RzLnBhdGNo CisrKyBiLzAwNDktRklQUy1maXgtZGlzYWxsb3dlZC1kaWdlc3RzLXRlc3RzLnBhdGNoCkBAIC0x LDcgKzEsNyBAQAotRnJvbSA0MzczYmIyNjQ0ODkyZTFkNzg4Y2EyYmRkMzdkNzI4MTIyMWMwMzg1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1MzQ2Mjc0OWUyOWJkOGY5NmU1MmYzZjMx Y2YxZGUyMTE0ZTg5NmMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogU2ltbyBTb3Jj ZSA8c2ltb0ByZWRoYXQuY29tPgogRGF0ZTogVHVlLCAxNSBBcHIgMjAyNSAxMzo0MTo0MiAtMDQw MAotU3ViamVjdDogW1BBVENIIDQ5LzU5XSBGSVBTOiBmaXggZGlzYWxsb3dlZCBkaWdlc3RzIHRl c3RzCitTdWJqZWN0OiBbUEFUQ0ggNDkvNTddIEZJUFM6IGZpeCBkaXNhbGxvd2VkIGRpZ2VzdHMg dGVzdHMKIAogU2lnbmVkLW9mZi1ieTogU2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQuY29tPgogLS0t CkBAIC00Nyw1ICs0Nyw1IEBAIGluZGV4IDY2ODhjMjE3YWEuLjgzNDdmNzczZTYgMTAwNjQ0CiAg IyBUZXN0IHRoYXQgdGhlIGtleSB3aG9zZSBsZW5ndGggaXMgc2hvcnRlciB0aGFuIDExMiBiaXRz IGlzIHJlcG9ydGVkIGFzCiAgIyB1bmFwcHJvdmVkCiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRp ZmYgLS1naXQgYS8wMDUwLU1ha2Utb3BlbnNzbC1zcGVlZC1ydW4taW4tRklQUy1tb2RlLnBhdGNo IGIvMDA1MC1NYWtlLW9wZW5zc2wtc3BlZWQtcnVuLWluLUZJUFMtbW9kZS5wYXRjaAppbmRleCA2 NzRmMmU4Li43NzY2OTk2IDEwMDY0NAotLS0gYS8wMDUwLU1ha2Utb3BlbnNzbC1zcGVlZC1ydW4t aW4tRklQUy1tb2RlLnBhdGNoCisrKyBiLzAwNTAtTWFrZS1vcGVuc3NsLXNwZWVkLXJ1bi1pbi1G SVBTLW1vZGUucGF0Y2gKQEAgLTEsMTggKzEsMTggQEAKLUZyb20gNGVmYzIwNjUxNDA4NWM0ODJh MGIyYTc0YTk4ZjNjYTI4NWM5OWRiOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZWQ5 ZmQ1NDY2NTllNjkxZjUxZGYwMzJkNmUzNjRjZWU0NWMzYmYwYiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKIEZyb206IERtaXRyeSBCZWx5YXZza2l5IDxiZWxkbWl0QGdtYWlsLmNvbT4KIERhdGU6 IEZyaSwgOSBNYXkgMjAyNSAxNTowOTo0NiArMDIwMAotU3ViamVjdDogW1BBVENIIDUwLzU5XSBN YWtlIGBvcGVuc3NsIHNwZWVkYCBydW4gaW4gRklQUyBtb2RlCitTdWJqZWN0OiBbUEFUQ0ggNTAv NTddIE1ha2UgYG9wZW5zc2wgc3BlZWRgIHJ1biBpbiBGSVBTIG1vZGUKIAogLS0tCiAgYXBwcy9z cGVlZC5jIHwgNDQgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K ICAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCiAKIGRp ZmYgLS1naXQgYS9hcHBzL3NwZWVkLmMgYi9hcHBzL3NwZWVkLmMKLWluZGV4IDMzMDdhOWNiNDYu LmFlMmYxNjZkMjQgMTAwNjQ0CitpbmRleCAxM2M4NTA1ZWQ5Li5jMzFlMzBmMjM1IDEwMDY0NAog LS0tIGEvYXBwcy9zcGVlZC5jCiArKysgYi9hcHBzL3NwZWVkLmMKLUBAIC0zMTcyLDE4ICszMTcy LDE4IEBAIGludCBzcGVlZF9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKWtleTMy LCAxNik7CitAQCAtMzIzMSwxOCArMzIzMSwxOCBAQCBpbnQgc3BlZWRfbWFpbihpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCisgICAgICAgICAgICAgKHZvaWQgKilrZXkzMiwgMTYpOwogICAgICAgICAg cGFyYW1zWzFdID0gT1NTTF9QQVJBTV9jb25zdHJ1Y3RfZW5kKCk7CiAgCiAtICAgICAgICBpZiAo bWFjX3NldHVwKCJLTUFDLTEyOCIsICZtYWMsIHBhcmFtcywgbG9vcGFyZ3MsIGxvb3BhcmdzX2xl bikgPCAxKQpAQCAtNDEsOCArNDEsOCBAQCBpbmRleCAzMzA3YTljYjQ2Li5hZTJmMTY2ZDI0IDEw MDY0NAogICAgICB9CiAgCiAgICAgIGlmIChkb2l0W0RfS01BQzI1Nl0pIHsKLUBAIC0zMTkzLDE4 ICszMTkzLDE4IEBAIGludCBzcGVlZF9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAq KWtleTMyLCAzMik7CitAQCAtMzI1MiwxOCArMzI1MiwxOCBAQCBpbnQgc3BlZWRfbWFpbihpbnQg YXJnYywgY2hhciAqKmFyZ3YpCisgICAgICAgICAgICAgKHZvaWQgKilrZXkzMiwgMzIpOwogICAg ICAgICAgcGFyYW1zWzFdID0gT1NTTF9QQVJBTV9jb25zdHJ1Y3RfZW5kKCk7CiAgCiAtICAgICAg ICBpZiAobWFjX3NldHVwKCJLTUFDLTI1NiIsICZtYWMsIHBhcmFtcywgbG9vcGFyZ3MsIGxvb3Bh cmdzX2xlbikgPCAxKQpAQCAtNzIsNSArNzIsNSBAQCBpbmRleCAzMzA3YTljYjQ2Li5hZTJmMTY2 ZDI0IDEwMDY0NAogIAogICAgICBmb3IgKGkgPSAwOyBpIDwgbG9vcGFyZ3NfbGVuOyBpKyspCiAt LSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDUxLUJhY2twb3J0LXVwc3RyZWFt LTI3NDgzLWZvci1QS0NTMTEtbmVlZHMucGF0Y2ggYi8wMDUxLUJhY2twb3J0LXVwc3RyZWFtLTI3 NDgzLWZvci1QS0NTMTEtbmVlZHMucGF0Y2gKaW5kZXggMzU4YzQzMy4uYmZjZDBiZCAxMDA2NDQK LS0tIGEvMDA1MS1CYWNrcG9ydC11cHN0cmVhbS0yNzQ4My1mb3ItUEtDUzExLW5lZWRzLnBhdGNo CisrKyBiLzAwNTEtQmFja3BvcnQtdXBzdHJlYW0tMjc0ODMtZm9yLVBLQ1MxMS1uZWVkcy5wYXRj aApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNWUxMzVlN2NlZWZkNWI3MmNiNTRhOTNiMTNiNDc4YWYw NTg3MzMxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjAzZGViYTk5MWY3ZjA2Nzcx MjdmNjAzMGZkZTAwMTFhYjMwNDMwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IERt aXRyeSBCZWx5YXZza2l5IDxiZWxkbWl0QGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgMTIgTWF5IDIw MjUgMTQ6MzQ6MzkgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA1MS81OV0gQmFja3BvcnQgdXBzdHJl YW0gIzI3NDgzIGZvciBQS0NTMTEgbmVlZHMKK1N1YmplY3Q6IFtQQVRDSCA1MS81N10gQmFja3Bv cnQgdXBzdHJlYW0gIzI3NDgzIGZvciBQS0NTMTEgbmVlZHMKIAogLS0tCiAgLi4uL2ltcGxlbWVu dGF0aW9ucy9za2V5bWdtdC9hZXNfc2ttZ210LmMgICAgIHwgIDIgKwpAQCAtMTEsNyArMTEsNyBA QCBTdWJqZWN0OiBbUEFUQ0ggNTEvNTldIEJhY2twb3J0IHVwc3RyZWFtICMyNzQ4MyBmb3IgUEtD UzExIG5lZWRzCiAgNCBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1n aXQgYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NrZXltZ210L2Flc19za21nbXQuYyBiL3By b3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2tleW1nbXQvYWVzX3NrbWdtdC5jCi1pbmRleCA2ZDNi NWYzNzdmLi4xN2JlNDgwMTMxIDEwMDY0NAoraW5kZXggMDIzNzBiN2ZiNy4uNDhlM2I2NDU4MCAx MDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2tleW1nbXQvYWVzX3NrbWdt dC5jCiArKysgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NrZXltZ210L2Flc19za21nbXQu YwogQEAgLTQ4LDUgKzQ4LDcgQEAgY29uc3QgT1NTTF9ESVNQQVRDSCBvc3NsX2Flc19za2V5bWdt dF9mdW5jdGlvbnNbXSA9IHsKQEAgLTIzLDcgKzIzLDcgQEAgaW5kZXggNmQzYjVmMzc3Zi4uMTdi ZTQ4MDEzMSAxMDA2NDQKICAgICAgT1NTTF9ESVNQQVRDSF9FTkQKICB9OwogZGlmZiAtLWdpdCBh L3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2tleW1nbXQvZ2VuZXJpYy5jIGIvcHJvdmlkZXJz L2ltcGxlbWVudGF0aW9ucy9za2V5bWdtdC9nZW5lcmljLmMKLWluZGV4IGI0MWJmOGUxMmQuLjVm YjNmYWQ3ZTMgMTAwNjQ0CitpbmRleCA1YjhjNTU3ZjgzLi5mYWVjMTIzNzRhIDEwMDY0NAogLS0t IGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9za2V5bWdtdC9nZW5lcmljLmMKICsrKyBiL3By b3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2tleW1nbXQvZ2VuZXJpYy5jCiBAQCAtNjUsNiArNjUs MTYgQEAgZW5kOgpAQCAtNDEsNyArNDEsNyBAQCBpbmRleCBiNDFiZjhlMTJkLi41ZmIzZmFkN2Uz IDEwMDY0NAogK30KICsKICBpbnQgZ2VuZXJpY19leHBvcnQodm9pZCAqa2V5ZGF0YSwgaW50IHNl bGVjdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgT1NTTF9DQUxMQkFDSyAqcGFyYW1fY2FsbGJh Y2ssIHZvaWQgKmNiYXJnKQorICAgICBPU1NMX0NBTExCQUNLICpwYXJhbV9jYWxsYmFjaywgdm9p ZCAqY2JhcmcpCiAgewogQEAgLTg5LDUgKzk5LDcgQEAgY29uc3QgT1NTTF9ESVNQQVRDSCBvc3Ns X2dlbmVyaWNfc2tleW1nbXRfZnVuY3Rpb25zW10gPSB7CiAgICAgIHsgT1NTTF9GVU5DX1NLRVlN R01UX0ZSRUUsICh2b2lkICgqKSh2b2lkKSlnZW5lcmljX2ZyZWUgfSwKQEAgLTUyLDcgKzUyLDcg QEAgaW5kZXggYjQxYmY4ZTEyZC4uNWZiM2ZhZDdlMyAxMDA2NDQKICAgICAgT1NTTF9ESVNQQVRD SF9FTkQKICB9OwogZGlmZiAtLWdpdCBhL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2tleW1n bXQvc2tleW1nbXRfbGNsLmggYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NrZXltZ210L3Nr ZXltZ210X2xjbC5oCi1pbmRleCBjMTgwYzFkMzAzLi5hN2U3NjA1MDUwIDEwMDY0NAoraW5kZXgg Yzc1Nzc2Y2NlNC4uN2UzNWIyY2M5ZSAxMDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9pbXBsZW1lbnRh dGlvbnMvc2tleW1nbXQvc2tleW1nbXRfbGNsLmgKICsrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRh dGlvbnMvc2tleW1nbXQvc2tleW1nbXRfbGNsLmgKIEBAIC0xNSw1ICsxNSw2IEBACkBAIC02Mywx MCArNjMsMTAgQEAgaW5kZXggYzE4MGMxZDMwMy4uYTdlNzYwNTA1MCAxMDA2NDQKICAKICAjZW5k aWYKIGRpZmYgLS1naXQgYS90ZXN0L2V2cF9za2V5X3Rlc3QuYyBiL3Rlc3QvZXZwX3NrZXlfdGVz dC5jCi1pbmRleCBiODFkZjljOGY4Li5lMzNiYmJlMDAzIDEwMDY0NAoraW5kZXggN2ZkNzBjYTcz Mi4uZGRkZjkyZjlkYSAxMDA2NDQKIC0tLSBhL3Rlc3QvZXZwX3NrZXlfdGVzdC5jCiArKysgYi90 ZXN0L2V2cF9za2V5X3Rlc3QuYwotQEAgLTkyLDYgKzkyLDY2IEBAIGVuZDoKK0BAIC0xMDcsNiAr MTA3LDY2IEBAIGVuZDoKICAgICAgcmV0dXJuIHJldDsKICB9CiAgCkBAIC0xMzMsNyArMTMzLDcg QEAgaW5kZXggYjgxZGY5YzhmOC4uZTMzYmJiZTAwMyAxMDA2NDQKICAjZGVmaW5lIElWX1NJWkUg MTYKICAjZGVmaW5lIERBVEFfU0laRSAzMgogIHN0YXRpYyBpbnQgdGVzdF9hZXNfcmF3X3NrZXko dm9pZCkKLUBAIC0yNTIsNiArMzEyLDcgQEAgaW50IHNldHVwX3Rlc3RzKHZvaWQpCitAQCAtMjY3 LDYgKzMyNyw3IEBAIGludCBzZXR1cF90ZXN0cyh2b2lkKQogICAgICAgICAgcmV0dXJuIDA7CiAg CiAgICAgIEFERF9URVNUKHRlc3Rfc2tleV9jaXBoZXIpOwpAQCAtMTQyLDUgKzE0Miw1IEBAIGlu ZGV4IGI4MWRmOWM4ZjguLmUzM2JiYmUwMDMgMTAwNjQ0CiAgICAgIEFERF9URVNUKHRlc3RfYWVz X3Jhd19za2V5KTsKICAjaWZuZGVmIE9QRU5TU0xfTk9fREVTCiAtLSAKLTIuNTEuMAorMi41Mi4w CiAKCmRpZmYgLS1naXQgYS8wMDUyLVJlZC1IYXQtOS1GSVBTLWluZGljYXRvci1kZWZpbmVzLnBh dGNoIGIvMDA1Mi1SZWQtSGF0LTktRklQUy1pbmRpY2F0b3ItZGVmaW5lcy5wYXRjaAppbmRleCAw YmVlYmRiLi5iMDA5NWVhIDEwMDY0NAotLS0gYS8wMDUyLVJlZC1IYXQtOS1GSVBTLWluZGljYXRv ci1kZWZpbmVzLnBhdGNoCisrKyBiLzAwNTItUmVkLUhhdC05LUZJUFMtaW5kaWNhdG9yLWRlZmlu ZXMucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGUzODg0ZWIyNjJmYzQ2NWVmODE1ZDhkZmY0 NjBkMzgwNTNhOTQ4NmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDRhNjc2ODU3NzM4 Mjg1MGRkM2YzNTgwZjIzMmEyYTJhYzdlZDA5YzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBG cm9tOiBEbWl0cnkgQmVseWF2c2tpeSA8YmVsZG1pdEBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDEy IE1heSAyMDI1IDE2OjIxOjIzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggNTIvNTldIFJlZCBIYXQg OSBGSVBTIGluZGljYXRvciBkZWZpbmVzCitTdWJqZWN0OiBbUEFUQ0ggNTIvNTddIFJlZCBIYXQg OSBGSVBTIGluZGljYXRvciBkZWZpbmVzCiAKIC0tLQogIGluY2x1ZGUvb3BlbnNzbC9ldnAuaCAg ICAgICAgICAgfCAxNSArKysrKysrKysrKysrKysKQEAgLTEwLDEwICsxMCwxMCBAQCBTdWJqZWN0 OiBbUEFUQ0ggNTIvNTldIFJlZCBIYXQgOSBGSVBTIGluZGljYXRvciBkZWZpbmVzCiAgMyBmaWxl cyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9pbmNsdWRlL29wZW5z c2wvZXZwLmggYi9pbmNsdWRlL29wZW5zc2wvZXZwLmgKLWluZGV4IGU1ZGExZTY0MTUuLjM4NDlj MTc3OWUgMTAwNjQ0CitpbmRleCBlODNhZDEzMTgzLi5hZmE4ZjdhNTQyIDEwMDY0NAogLS0tIGEv aW5jbHVkZS9vcGVuc3NsL2V2cC5oCiArKysgYi9pbmNsdWRlL29wZW5zc2wvZXZwLmgKLUBAIC03 NzksNiArNzc5LDEwIEBAIHZvaWQgRVZQX0NJUEhFUl9DVFhfc2V0X2ZsYWdzKEVWUF9DSVBIRVJf Q1RYICpjdHgsIGludCBmbGFncyk7CitAQCAtNzY3LDYgKzc2NywxMCBAQCB2b2lkIEVWUF9DSVBI RVJfQ1RYX3NldF9mbGFncyhFVlBfQ0lQSEVSX0NUWCAqY3R4LCBpbnQgZmxhZ3MpOwogIHZvaWQg RVZQX0NJUEhFUl9DVFhfY2xlYXJfZmxhZ3MoRVZQX0NJUEhFUl9DVFggKmN0eCwgaW50IGZsYWdz KTsKICBpbnQgRVZQX0NJUEhFUl9DVFhfdGVzdF9mbGFncyhjb25zdCBFVlBfQ0lQSEVSX0NUWCAq Y3R4LCBpbnQgZmxhZ3MpOwogIApAQCAtMjIsMjEgKzIyLDIxIEBAIGluZGV4IGU1ZGExZTY0MTUu LjM4NDljMTc3OWUgMTAwNjQ0CiArIyBkZWZpbmUgRVZQX0NJUEhFUl9SRURIQVRfRklQU19JTkRJ Q0FUT1JfTk9UX0FQUFJPVkVEIDIKICsKICBfX293dXIgaW50IEVWUF9FbmNyeXB0SW5pdChFVlBf Q0lQSEVSX0NUWCAqY3R4LCBjb25zdCBFVlBfQ0lQSEVSICpjaXBoZXIsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqa2V5LCBjb25zdCB1bnNpZ25lZCBj aGFyICppdik7CisgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmtleSwgY29uc3QgdW5zaWduZWQg Y2hhciAqaXYpOwogIF9fb3d1ciBpbnQgRVZQX0VuY3J5cHRJbml0X2V4KEVWUF9DSVBIRVJfQ1RY ICpjdHgsCi1AQCAtODUwLDYgKzg1NCwxMCBAQCBfX293dXIgaW50IEVWUF9DaXBoZXJQaXBlbGlu ZUZpbmFsKEVWUF9DSVBIRVJfQ1RYICpjdHgsCitAQCAtODM4LDYgKzg0MiwxMCBAQCBfX293dXIg aW50IEVWUF9DaXBoZXJQaXBlbGluZUZpbmFsKEVWUF9DSVBIRVJfQ1RYICpjdHgsCiAgX19vd3Vy IGludCBFVlBfQ2lwaGVyRmluYWxfZXgoRVZQX0NJUEhFUl9DVFggKmN0eCwgdW5zaWduZWQgY2hh ciAqb3V0bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKm91dGwpOworICAg ICBpbnQgKm91dGwpOwogIAogKyMgZGVmaW5lIEVWUF9TSUdOQVRVUkVfUkVESEFUX0ZJUFNfSU5E SUNBVE9SX1VOREVURVJNSU5FRCAwCiArIyBkZWZpbmUgRVZQX1NJR05BVFVSRV9SRURIQVRfRklQ U19JTkRJQ0FUT1JfQVBQUk9WRUQgICAgIDEKICsjIGRlZmluZSBFVlBfU0lHTkFUVVJFX1JFREhB VF9GSVBTX0lORElDQVRPUl9OT1RfQVBQUk9WRUQgMgogKwogIF9fb3d1ciBpbnQgRVZQX1NpZ25G aW5hbChFVlBfTURfQ1RYICpjdHgsIHVuc2lnbmVkIGNoYXIgKm1kLCB1bnNpZ25lZCBpbnQgKnMs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIEVWUF9QS0VZICpwa2V5KTsKKyAgICAgRVZQX1BL RVkgKnBrZXkpOwogIF9fb3d1ciBpbnQgRVZQX1NpZ25GaW5hbF9leChFVlBfTURfQ1RYICpjdHgs IHVuc2lnbmVkIGNoYXIgKm1kLCB1bnNpZ25lZCBpbnQgKnMsCi1AQCAtMTI0OSw2ICsxMjU3LDkg QEAgdm9pZCBFVlBfTURfZG9fYWxsX3Byb3ZpZGVkKE9TU0xfTElCX0NUWCAqbGliY3R4LAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICphcmcpOworQEAgLTEyNDAsNiArMTI0OCw5 IEBAIHZvaWQgRVZQX01EX2RvX2FsbF9wcm92aWRlZChPU1NMX0xJQl9DVFggKmxpYmN0eCwKKyAg ICAgdm9pZCAqYXJnKTsKICAKICAvKiBNQUMgc3R1ZmYgKi8KICsjIGRlZmluZSBFVlBfTUFDX1JF REhBVF9GSVBTX0lORElDQVRPUl9VTkRFVEVSTUlORUQgMApAQCAtNDQsMzUgKzQ0LDM1IEBAIGlu ZGV4IGU1ZGExZTY0MTUuLjM4NDljMTc3OWUgMTAwNjQ0CiArIyBkZWZpbmUgRVZQX01BQ19SRURI QVRfRklQU19JTkRJQ0FUT1JfTk9UX0FQUFJPVkVEIDIKICAKICBFVlBfTUFDICpFVlBfTUFDX2Zl dGNoKE9TU0xfTElCX0NUWCAqbGliY3R4LCBjb25zdCBjaGFyICphbGdvcml0aG0sCi0gICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwcm9wZXJ0aWVzKTsKLUBAIC0xODI2LDYgKzE4 MzcsMTAgQEAgT1NTTF9ERVBSRUNBVEVESU5fM18wIHNpemVfdCBFVlBfUEtFWV9tZXRoX2dldF9j b3VudCh2b2lkKTsKKyAgICAgY29uc3QgY2hhciAqcHJvcGVydGllcyk7CitAQCAtMTgxNiw2ICsx ODI3LDEwIEBAIE9TU0xfREVQUkVDQVRFRElOXzNfMCBzaXplX3QgRVZQX1BLRVlfbWV0aF9nZXRf Y291bnQodm9pZCk7CiAgT1NTTF9ERVBSRUNBVEVESU5fM18wIGNvbnN0IEVWUF9QS0VZX01FVEhP RCAqRVZQX1BLRVlfbWV0aF9nZXQwKHNpemVfdCBpZHgpOwotICMgZW5kaWYKKyAjZW5kaWYKICAK ICsjIGRlZmluZSBFVlBfUEtFWV9SRURIQVRfRklQU19JTkRJQ0FUT1JfVU5ERVRFUk1JTkVEIDAK ICsjIGRlZmluZSBFVlBfUEtFWV9SRURIQVRfRklQU19JTkRJQ0FUT1JfQVBQUk9WRUQgICAgIDEK ICsjIGRlZmluZSBFVlBfUEtFWV9SRURIQVRfRklQU19JTkRJQ0FUT1JfTk9UX0FQUFJPVkVEIDIK ICsKICBFVlBfS0VZTUdNVCAqRVZQX0tFWU1HTVRfZmV0Y2goT1NTTF9MSUJfQ1RYICpjdHgsIGNv bnN0IGNoYXIgKmFsZ29yaXRobSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciAqcHJvcGVydGllcyk7CisgICAgIGNvbnN0IGNoYXIgKnByb3BlcnRpZXMpOwogIGlu dCBFVlBfS0VZTUdNVF91cF9yZWYoRVZQX0tFWU1HTVQgKmtleW1nbXQpOwogZGlmZiAtLWdpdCBh L2luY2x1ZGUvb3BlbnNzbC9rZGYuaCBiL2luY2x1ZGUvb3BlbnNzbC9rZGYuaAotaW5kZXggMDk4 MzIzMGE0OC4uODYxNzE2MzVlYSAxMDA2NDQKK2luZGV4IGQwNmNhNmM2OWQuLmUwNjFmMDE2NGYg MTAwNjQ0CiAtLS0gYS9pbmNsdWRlL29wZW5zc2wva2RmLmgKICsrKyBiL2luY2x1ZGUvb3BlbnNz bC9rZGYuaAogQEAgLTYzLDYgKzYzLDEwIEBAIGludCBFVlBfS0RGX25hbWVzX2RvX2FsbChjb25z dCBFVlBfS0RGICprZGYsCi0gIyBkZWZpbmUgRVZQX0tERl9IS0RGX01PREVfRVhUUkFDVF9PTkxZ ICAgICAgICAxCi0gIyBkZWZpbmUgRVZQX0tERl9IS0RGX01PREVfRVhQQU5EX09OTFkgICAgICAg ICAyCisgI2RlZmluZSBFVlBfS0RGX0hLREZfTU9ERV9FWFRSQUNUX09OTFkgMQorICNkZWZpbmUg RVZQX0tERl9IS0RGX01PREVfRVhQQU5EX09OTFkgMgogIAogKyMgZGVmaW5lIEVWUF9LREZfUkVE SEFUX0ZJUFNfSU5ESUNBVE9SX1VOREVURVJNSU5FRCAwCiArIyBkZWZpbmUgRVZQX0tERl9SRURI QVRfRklQU19JTkRJQ0FUT1JfQVBQUk9WRUQgICAgIDEKICsjIGRlZmluZSBFVlBfS0RGX1JFREhB VF9GSVBTX0lORElDQVRPUl9OT1RfQVBQUk9WRUQgMgogKwotICNkZWZpbmUgRVZQX0tERl9TU0hL REZfVFlQRV9JTklUSUFMX0lWX0NMSV9UT19TUlYgICAgIDY1Ci0gI2RlZmluZSBFVlBfS0RGX1NT SEtERl9UWVBFX0lOSVRJQUxfSVZfU1JWX1RPX0NMSSAgICAgNjYKKyAjZGVmaW5lIEVWUF9LREZf U1NIS0RGX1RZUEVfSU5JVElBTF9JVl9DTElfVE9fU1JWIDY1CisgI2RlZmluZSBFVlBfS0RGX1NT SEtERl9UWVBFX0lOSVRJQUxfSVZfU1JWX1RPX0NMSSA2NgogICNkZWZpbmUgRVZQX0tERl9TU0hL REZfVFlQRV9FTkNSWVBUSU9OX0tFWV9DTElfVE9fU1JWIDY3CiBkaWZmIC0tZ2l0IGEvdXRpbC9w ZXJsL09wZW5TU0wvcGFyYW1uYW1lcy5wbSBiL3V0aWwvcGVybC9PcGVuU1NML3BhcmFtbmFtZXMu cG0KLWluZGV4IDA1OWI0ODk3MzUuLjVhMTg2NDMwOWQgMTAwNjQ0CitpbmRleCAyNjJjMTg0Y2Ey Li42MDA5MjUzNDQwIDEwMDY0NAogLS0tIGEvdXRpbC9wZXJsL09wZW5TU0wvcGFyYW1uYW1lcy5w bQogKysrIGIvdXRpbC9wZXJsL09wZW5TU0wvcGFyYW1uYW1lcy5wbQogQEAgLTE0Myw2ICsxNDMs OCBAQCBteSAlcGFyYW1zID0gKApAQCAtMTI1LDUgKzEyNSw1IEBAIGluZGV4IDA1OWI0ODk3MzUu LjVhMTg2NDMwOWQgMTAwNjQ0CiAgICAgICdLRU1fUEFSQU1fRklQU19LRVlfQ0hFQ0snID0+ICAg ICAgICcqUEtFWV9QQVJBTV9GSVBTX0tFWV9DSEVDSycsCiAgICAgICdLRU1fUEFSQU1fRklQU19B UFBST1ZFRF9JTkRJQ0FUT1InID0+ICcqQUxHX1BBUkFNX0ZJUFNfQVBQUk9WRURfSU5ESUNBVE9S JywKIC0tIAotMi41MS4wCisyLjUyLjAKIAoKZGlmZiAtLWdpdCBhLzAwNTMtQWxsb3ctaHlicmlk LU1MS0VNLWluLUZJUFMtbW9kZS5wYXRjaCBiLzAwNTMtQWxsb3ctaHlicmlkLU1MS0VNLWluLUZJ UFMtbW9kZS5wYXRjaAppbmRleCA0MjIwZjdjLi42NjMyYjlmIDEwMDY0NAotLS0gYS8wMDUzLUFs bG93LWh5YnJpZC1NTEtFTS1pbi1GSVBTLW1vZGUucGF0Y2gKKysrIGIvMDA1My1BbGxvdy1oeWJy aWQtTUxLRU0taW4tRklQUy1tb2RlLnBhdGNoCkBAIC0xLDIxICsxLDIxIEBACi1Gcm9tIDIxN2Q4 ZjU4NTM2NzBhZTIyNDVhZDhkMzFmYWVlNDExYTY4Yzk5N2EgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tIDFiMWE1NDQ3Mzg2Y2Y4YTE0OWM0Y2Q2MDNjODkzYTY5MWViMjEwYjUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBEbWl0cnkgQmVseWF2c2tpeSA8YmVsZG1pdEBnbWFp bC5jb20+CiBEYXRlOiBGcmksIDMwIE1heSAyMDI1IDE2OjE3OjM3ICswMjAwCi1TdWJqZWN0OiBb UEFUQ0ggNTMvNTldIEFsbG93IGh5YnJpZCBNTEtFTSBpbiBGSVBTIG1vZGUKK1N1YmplY3Q6IFtQ QVRDSCA1My81N10gQWxsb3cgaHlicmlkIE1MS0VNIGluIEZJUFMgbW9kZQogCiAtLS0KICBjcnlw dG8vbWxfa2VtL21sX2tlbS5jICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKy0tCi0gaW5j bHVkZS9jcnlwdG8vbWxfa2VtLmggICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKwotIHByb3Zp ZGVycy9kZWZsdHByb3YuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICstLQorIGluY2x1 ZGUvY3J5cHRvL21sX2tlbS5oICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKKyBwcm92aWRl cnMvZGVmbHRwcm92LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNCArKy0tLQogIHByb3Zp ZGVycy9pbXBsZW1lbnRhdGlvbnMva2VtL21seF9rZW0uYyAgICAgICB8IDMzICsrKysrKysrKy0K ICBwcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2tleW1nbXQvbWx4X2ttZ210LmMgfCA2MSArKysr KysrKysrKysrKysrKystCi0gNSBmaWxlcyBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKSwgMTIg ZGVsZXRpb25zKC0pCisgNSBmaWxlcyBjaGFuZ2VkLCAxMDUgaW5zZXJ0aW9ucygrKSwgMTUgZGVs ZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jcnlwdG8vbWxfa2VtL21sX2tlbS5jIGIvY3J5cHRv L21sX2tlbS9tbF9rZW0uYwotaW5kZXggNzE2YzNiZjQyNy4uNmFlOWM5YzViNSAxMDA2NDQKK2lu ZGV4IGRkOGEzOTE5N2EuLjgzM2FiZjlmMWQgMTAwNjQ0CiAtLS0gYS9jcnlwdG8vbWxfa2VtL21s X2tlbS5jCiArKysgYi9jcnlwdG8vbWxfa2VtL21sX2tlbS5jCi1AQCAtMTYxMyw2ICsxNjEzLDcg QEAgTUxfS0VNX0tFWSAqb3NzbF9tbF9rZW1fa2V5X25ldyhPU1NMX0xJQl9DVFggKmxpYmN0eCwg Y29uc3QgY2hhciAqcHJvcGVydGllcywKK0BAIC0xOTI0LDYgKzE5MjQsNyBAQCBNTF9LRU1fS0VZ ICpvc3NsX21sX2tlbV9rZXlfbmV3KE9TU0xfTElCX0NUWCAqbGliY3R4LCBjb25zdCBjaGFyICpw cm9wZXJ0aWVzLAogIHsKICAgICAgY29uc3QgTUxfS0VNX1ZJTkZPICp2aW5mbyA9IG9zc2xfbWxf a2VtX2dldF92aW5mbyhldnBfdHlwZSk7CiAgICAgIE1MX0tFTV9LRVkgKmtleTsKQEAgLTIzLDcg KzIzLDcgQEAgaW5kZXggNzE2YzNiZjQyNy4uNmFlOWM5YzViNSAxMDA2NDQKICAKICAgICAgaWYg KHZpbmZvID09IE5VTEwpIHsKICAgICAgICAgIEVSUl9yYWlzZV9kYXRhKEVSUl9MSUJfQ1JZUFRP LCBFUlJfUl9QQVNTRURfSU5WQUxJRF9BUkdVTUVOVCwKLUBAIC0xNjIzLDE1ICsxNjI0LDE3IEBA IE1MX0tFTV9LRVkgKm9zc2xfbWxfa2VtX2tleV9uZXcoT1NTTF9MSUJfQ1RYICpsaWJjdHgsIGNv bnN0IGNoYXIgKnByb3BlcnRpZXMsCitAQCAtMTkzNCwxNSArMTkzNSwxNyBAQCBNTF9LRU1fS0VZ ICpvc3NsX21sX2tlbV9rZXlfbmV3KE9TU0xfTElCX0NUWCAqbGliY3R4LCBjb25zdCBjaGFyICpw cm9wZXJ0aWVzLAogICAgICBpZiAoKGtleSA9IE9QRU5TU0xfbWFsbG9jKHNpemVvZigqa2V5KSkp ID09IE5VTEwpCiAgICAgICAgICByZXR1cm4gTlVMTDsKICAKQEAgLTQ2LDQ1ICs0Niw1MSBAQCBp bmRleCA3MTZjM2JmNDI3Li42YWU5YzljNWI1IDEwMDY0NAogICAgICBpZiAoa2V5LT5zaGFrZTEy OF9tZCAhPSBOVUxMCiAgICAgICAgICAmJiBrZXktPnNoYWtlMjU2X21kICE9IE5VTEwKIGRpZmYg LS1naXQgYS9pbmNsdWRlL2NyeXB0by9tbF9rZW0uaCBiL2luY2x1ZGUvY3J5cHRvL21sX2tlbS5o Ci1pbmRleCA2N2Q1NTY5N2U5Li5hYjFhYWFlOGFjIDEwMDY0NAoraW5kZXggZGJlOTE5MjM2NC4u MzVkY2JiZjMyYyAxMDA2NDQKIC0tLSBhL2luY2x1ZGUvY3J5cHRvL21sX2tlbS5oCiArKysgYi9p bmNsdWRlL2NyeXB0by9tbF9rZW0uaAotQEAgLTI3OCw0ICsyNzgsNiBAQCBpbnQgb3NzbF9tbF9r ZW1fZGVjYXAodWludDhfdCAqc2hhcmVkX3NlY3JldCwgc2l6ZV90IHNsZW4sCi0gX19vd3VyCi0g aW50IG9zc2xfbWxfa2VtX3B1YmtleV9jbXAoY29uc3QgTUxfS0VNX0tFWSAqa2V5MSwgY29uc3Qg TUxfS0VNX0tFWSAqa2V5Mik7CitAQCAtMjY4LDQgKzI2OCw1IEBAIF9fb3d1ciBpbnQgb3NzbF9t bF9rZW1fZGVjYXAodWludDhfdCAqc2hhcmVkX3NlY3JldCwgc2l6ZV90IHNsZW4sCisgLyogQ29t cGFyZSB0aGUgcHVibGljIGtleSBoYXNoZXMgb2YgdHdvIGtleXMgKi8KKyBfX293dXIgaW50IG9z c2xfbWxfa2VtX3B1YmtleV9jbXAoY29uc3QgTUxfS0VNX0tFWSAqa2V5MSwgY29uc3QgTUxfS0VN X0tFWSAqa2V5Mik7CiAgCiArY2hhciAqZ2V0X2FkanVzdGVkX3Byb3BxKGNvbnN0IGNoYXIgKnBy b3BxKTsKLSsKLSAjZW5kaWYgIC8qIE9QRU5TU0xfSEVBREVSX01MX0tFTV9IICovCisgI2VuZGlm IC8qIE9QRU5TU0xfSEVBREVSX01MX0tFTV9IICovCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2Rl Zmx0cHJvdi5jIGIvcHJvdmlkZXJzL2RlZmx0cHJvdi5jCi1pbmRleCBlZWUyMTc4YjQxLi4wZGJh MDE3ZjNmIDEwMDY0NAoraW5kZXggOTA2NTUzOTVjMS4uZjc0YjE2MGQ2ZiAxMDA2NDQKIC0tLSBh L3Byb3ZpZGVycy9kZWZsdHByb3YuYwogKysrIGIvcHJvdmlkZXJzL2RlZmx0cHJvdi5jCiBAQCAt NTE3LDggKzUxNyw4IEBAIHN0YXRpYyBjb25zdCBPU1NMX0FMR09SSVRITSBkZWZsdF9hc3ltX2tl bVtdID0gewogICAgICB7ICJYNDQ4TUxLRU0xMDI0IiwgInByb3ZpZGVyPWRlZmF1bHQiLCBvc3Ns X21seF9rZW1fYXN5bV9rZW1fZnVuY3Rpb25zIH0sCi0gIyBlbmRpZgotICMgaWYgIWRlZmluZWQo T1BFTlNTTF9OT19FQykKKyAjZW5kaWYKKyAjaWYgIWRlZmluZWQoT1BFTlNTTF9OT19FQykKIC0g ICAgeyAiU2VjUDI1NnIxTUxLRU03NjgiLCAicHJvdmlkZXI9ZGVmYXVsdCIsIG9zc2xfbWx4X2tl bV9hc3ltX2tlbV9mdW5jdGlvbnMgfSwKIC0gICAgeyAiU2VjUDM4NHIxTUxLRU0xMDI0IiwgInBy b3ZpZGVyPWRlZmF1bHQiLCBvc3NsX21seF9rZW1fYXN5bV9rZW1fZnVuY3Rpb25zIH0sCiArICAg IHsgIlNlY1AyNTZyMU1MS0VNNzY4IiwgInByb3ZpZGVyPWRlZmF1bHQsZmlwcz15ZXMiLCBvc3Ns X21seF9rZW1fYXN5bV9rZW1fZnVuY3Rpb25zIH0sCiArICAgIHsgIlNlY1AzODRyMU1MS0VNMTAy NCIsICJwcm92aWRlcj1kZWZhdWx0LGZpcHM9eWVzIiwgb3NzbF9tbHhfa2VtX2FzeW1fa2VtX2Z1 bmN0aW9ucyB9LAotICMgZW5kaWYKKyAjZW5kaWYKICAjZW5kaWYKICAgICAgeyBOVUxMLCBOVUxM LCBOVUxMIH0KLUBAIC01OTcsOSArNTk3LDkgQEAgc3RhdGljIGNvbnN0IE9TU0xfQUxHT1JJVEhN IGRlZmx0X2tleW1nbXRbXSA9IHsKLSAgICAgICBQUk9WX0RFU0NTX1g0NDhNTEtFTTEwMjQgfSwK LSAjIGVuZGlmCi0gIyBpZiAhZGVmaW5lZChPUEVOU1NMX05PX0VDKQorQEAgLTU5NCwxMyArNTk0 LDEzIEBAIHN0YXRpYyBjb25zdCBPU1NMX0FMR09SSVRITSBkZWZsdF9rZXltZ210W10gPSB7Cisg ICAgIHsgUFJPVl9OQU1FU19YMjU1MTlNTEtFTTc2OCwgInByb3ZpZGVyPWRlZmF1bHQiLCBvc3Ns X21seF94MjU1MTlfa2VtX2ttZ210X2Z1bmN0aW9ucywKKyAgICAgICAgIFBST1ZfREVTQ1NfWDI1 NTE5TUxLRU03NjggfSwKKyAgICAgeyBQUk9WX05BTUVTX1g0NDhNTEtFTTEwMjQsICJwcm92aWRl cj1kZWZhdWx0Iiwgb3NzbF9tbHhfeDQ0OF9rZW1fa21nbXRfZnVuY3Rpb25zLAorLSAgICAgICAg UFJPVl9ERVNDU19YNDQ4TUxLRU0xMDI0IH0sCisrICAgICAgUFJPVl9ERVNDU19YNDQ4TUxLRU0x MDI0IH0sCisgI2VuZGlmCisgI2lmICFkZWZpbmVkKE9QRU5TU0xfTk9fRUMpCiAtICAgIHsgUFJP Vl9OQU1FU19TZWNQMjU2cjFNTEtFTTc2OCwgInByb3ZpZGVyPWRlZmF1bHQiLCBvc3NsX21seF9w MjU2X2tlbV9rbWdtdF9mdW5jdGlvbnMsCi0rICAgIHsgUFJPVl9OQU1FU19TZWNQMjU2cjFNTEtF TTc2OCwgInByb3ZpZGVyPWRlZmF1bHQsZmlwcz15ZXMiLCBvc3NsX21seF9wMjU2X2tlbV9rbWdt dF9mdW5jdGlvbnMsCi0gICAgICAgUFJPVl9ERVNDU19TZWNQMjU2cjFNTEtFTTc2OCB9LAorLSAg ICAgICAgUFJPVl9ERVNDU19TZWNQMjU2cjFNTEtFTTc2OCB9LAogLSAgICB7IFBST1ZfTkFNRVNf U2VjUDM4NHIxTUxLRU0xMDI0LCAicHJvdmlkZXI9ZGVmYXVsdCIsIG9zc2xfbWx4X3AzODRfa2Vt X2ttZ210X2Z1bmN0aW9ucywKLSsgICAgeyBQUk9WX05BTUVTX1NlY1AzODRyMU1MS0VNMTAyNCwg InByb3ZpZGVyPWRlZmF1bHQsZmlwcz15ZXMiLCBvc3NsX21seF9wMzg0X2tlbV9rbWdtdF9mdW5j dGlvbnMsCi0gICAgICAgUFJPVl9ERVNDU19TZWNQMzg0cjFNTEtFTTEwMjQgfSwKLSAjIGVuZGlm CistICAgICAgICBQUk9WX0RFU0NTX1NlY1AzODRyMU1MS0VNMTAyNCB9LAorKyAgIHsgUFJPVl9O QU1FU19TZWNQMjU2cjFNTEtFTTc2OCwgInByb3ZpZGVyPWRlZmF1bHQsZmlwcz15ZXMiLCBvc3Ns X21seF9wMjU2X2tlbV9rbWdtdF9mdW5jdGlvbnMsCisrICAgICBQUk9WX0RFU0NTX1NlY1AyNTZy MU1MS0VNNzY4IH0sCisrICAgeyBQUk9WX05BTUVTX1NlY1AzODRyMU1MS0VNMTAyNCwgInByb3Zp ZGVyPWRlZmF1bHQsZmlwcz15ZXMiLCBvc3NsX21seF9wMzg0X2tlbV9rbWdtdF9mdW5jdGlvbnMs CisrICAgICBQUk9WX0RFU0NTX1NlY1AzODRyMU1MS0VNMTAyNCB9LAorICNlbmRpZgogICNlbmRp ZgorICNpZm5kZWYgT1BFTlNTTF9OT19TTEhfRFNBCiBkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2lt cGxlbWVudGF0aW9ucy9rZW0vbWx4X2tlbS5jIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9r ZW0vbWx4X2tlbS5jCi1pbmRleCAxOTdjMzQ1ZDg1Li4wOGZiZjk5YTc2IDEwMDY0NAoraW5kZXgg Mzc2YjMzNDJkZC4uMDlmYTAwMzYxMiAxMDA2NDQKIC0tLSBhL3Byb3ZpZGVycy9pbXBsZW1lbnRh dGlvbnMva2VtL21seF9rZW0uYwogKysrIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZW0v bWx4X2tlbS5jCiBAQCAtMTksNiArMTksNyBAQApAQCAtMTIyLDcgKzEyOCw3IEBAIGluZGV4IDE5 N2MzNDVkODUuLjA4ZmJmOTlhNzYgMTAwNjQ0CiArfQogKwogIHN0YXRpYyBpbnQgbWx4X2tlbV9l bmNhcHN1bGF0ZSh2b2lkICp2Y3R4LCB1bnNpZ25lZCBjaGFyICpjdGV4dCwgc2l6ZV90ICpjbGVu LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpzaHNlYywg c2l6ZV90ICpzbGVuKQorICAgICB1bnNpZ25lZCBjaGFyICpzaHNlYywgc2l6ZV90ICpzbGVuKQog IHsKIEBAIC0xMTUsNiArMTM4LDcgQEAgc3RhdGljIGludCBtbHhfa2VtX2VuY2Fwc3VsYXRlKHZv aWQgKnZjdHgsIHVuc2lnbmVkIGNoYXIgKmN0ZXh0LCBzaXplX3QgKmNsZW4sCiAgICAgIHVpbnQ4 X3QgKnNidWY7CkBAIC0xNDIsMTUgKzE0OCwxNSBAQCBpbmRleCAxOTdjMzQ1ZDg1Li4wOGZiZjk5 YTc2IDEwMDY0NAogICAgICBpZiAoY3R4ID09IE5VTEwKICAgICAgICAgIHx8IEVWUF9QS0VZX2Vu Y2Fwc3VsYXRlX2luaXQoY3R4LCBOVUxMKSA8PSAwCiAgICAgICAgICB8fCBFVlBfUEtFWV9lbmNh cHN1bGF0ZShjdHgsIGNidWYsICZlbmNhcF9jbGVuLCBzYnVmLCAmZW5jYXBfc2xlbikgPD0gMCkK LUBAIC0yMzcsNiArMjYyLDcgQEAgc3RhdGljIGludCBtbHhfa2VtX2VuY2Fwc3VsYXRlKHZvaWQg KnZjdHgsIHVuc2lnbmVkIGNoYXIgKmN0ZXh0LCBzaXplX3QgKmNsZW4sCi0gIGVuZDoKK0BAIC0y MzgsNiArMjYzLDcgQEAgc3RhdGljIGludCBtbHhfa2VtX2VuY2Fwc3VsYXRlKHZvaWQgKnZjdHgs IHVuc2lnbmVkIGNoYXIgKmN0ZXh0LCBzaXplX3QgKmNsZW4sCisgZW5kOgogICAgICBFVlBfUEtF WV9mcmVlKHhrZXkpOwogICAgICBFVlBfUEtFWV9DVFhfZnJlZShjdHgpOwogKyAgICBPUEVOU1NM X2ZyZWUoYWRqdXN0ZWRfcHJvcHEpOwogICAgICByZXR1cm4gcmV0OwogIH0KICAKLUBAIC0yNTIs NiArMjc4LDcgQEAgc3RhdGljIGludCBtbHhfa2VtX2RlY2Fwc3VsYXRlKHZvaWQgKnZjdHgsIHVp bnQ4X3QgKnNoc2VjLCBzaXplX3QgKnNsZW4sCitAQCAtMjUzLDYgKzI3OSw3IEBAIHN0YXRpYyBp bnQgbWx4X2tlbV9kZWNhcHN1bGF0ZSh2b2lkICp2Y3R4LCB1aW50OF90ICpzaHNlYywgc2l6ZV90 ICpzbGVuLAogICAgICBzaXplX3QgZGVjYXBfY2xlbiA9IGtleS0+bWluZm8tPmN0ZXh0X2J5dGVz ICsga2V5LT54aW5mby0+cHVia2V5X2J5dGVzOwogICAgICBpbnQgbWxfa2VtX3Nsb3QgPSBrZXkt PnhpbmZvLT5tbF9rZW1fc2xvdDsKICAgICAgaW50IHJldCA9IDA7CkBAIC0xNTgsNyArMTY0LDcg QEAgaW5kZXggMTk3YzM0NWQ4NS4uMDhmYmY5OWE3NiAxMDA2NDQKICAKICAgICAgaWYgKCFtbHhf a2VtX2hhdmVfcHJ2a2V5KGtleSkpIHsKICAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX1BST1Ys IFBST1ZfUl9NSVNTSU5HX0tFWSk7Ci1AQCAtMjg3LDcgKzMxNCw4IEBAIHN0YXRpYyBpbnQgbWx4 X2tlbV9kZWNhcHN1bGF0ZSh2b2lkICp2Y3R4LCB1aW50OF90ICpzaHNlYywgc2l6ZV90ICpzbGVu LAorQEAgLTI4OCw3ICszMTUsOCBAQCBzdGF0aWMgaW50IG1seF9rZW1fZGVjYXBzdWxhdGUodm9p ZCAqdmN0eCwgdWludDhfdCAqc2hzZWMsIHNpemVfdCAqc2xlbiwKICAgICAgZGVjYXBfc2xlbiA9 IE1MX0tFTV9TSEFSRURfU0VDUkVUX0JZVEVTOwogICAgICBjYnVmID0gY3RleHQgKyBtbF9rZW1f c2xvdCAqIGtleS0+eGluZm8tPnB1YmtleV9ieXRlczsKICAgICAgc2J1ZiA9IHNoc2VjICsgbWxf a2VtX3Nsb3QgKiBrZXktPnhpbmZvLT5zaHNlY19ieXRlczsKQEAgLTE2OCw4ICsxNzQsOCBAQCBp bmRleCAxOTdjMzQ1ZDg1Li4wOGZiZjk5YTc2IDEwMDY0NAogICAgICBpZiAoY3R4ID09IE5VTEwK ICAgICAgICAgIHx8IEVWUF9QS0VZX2RlY2Fwc3VsYXRlX2luaXQoY3R4LCBOVUxMKSA8PSAwCiAg ICAgICAgICB8fCBFVlBfUEtFWV9kZWNhcHN1bGF0ZShjdHgsIHNidWYsICZkZWNhcF9zbGVuLCBj YnVmLCBkZWNhcF9jbGVuKSA8PSAwKQotQEAgLTMyNSw2ICszNTMsNyBAQCBzdGF0aWMgaW50IG1s eF9rZW1fZGVjYXBzdWxhdGUodm9pZCAqdmN0eCwgdWludDhfdCAqc2hzZWMsIHNpemVfdCAqc2xl biwKLSAgZW5kOgorQEAgLTMyNiw2ICszNTQsNyBAQCBzdGF0aWMgaW50IG1seF9rZW1fZGVjYXBz dWxhdGUodm9pZCAqdmN0eCwgdWludDhfdCAqc2hzZWMsIHNpemVfdCAqc2xlbiwKKyBlbmQ6CiAg ICAgIEVWUF9QS0VZX0NUWF9mcmVlKGN0eCk7CiAgICAgIEVWUF9QS0VZX2ZyZWUoeGtleSk7CiAr ICAgIE9QRU5TU0xfZnJlZShhZGp1c3RlZF9wcm9wcSk7CkBAIC0xNzcsMTEgKzE4MywxMSBAQCBp bmRleCAxOTdjMzQ1ZDg1Li4wOGZiZjk5YTc2IDEwMDY0NAogIH0KICAKIGRpZmYgLS1naXQgYS9w cm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2tleW1nbXQvbWx4X2ttZ210LmMgYi9wcm92aWRlcnMv aW1wbGVtZW50YXRpb25zL2tleW1nbXQvbWx4X2ttZ210LmMKLWluZGV4IGJlYTg3ODMyNzYuLmFl ZWYwYzhmODQgMTAwNjQ0CitpbmRleCA0NmVkNjMwMzllLi42Y2U5YWEzYzlhIDEwMDY0NAogLS0t IGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZXltZ210L21seF9rbWdtdC5jCiArKysgYi9w cm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2tleW1nbXQvbWx4X2ttZ210LmMKLUBAIC0xNTYsNiAr MTU2LDUyIEBAIHR5cGVkZWYgc3RydWN0IGV4cG9ydF9jYl9hcmdfc3QgewotICAgICBzaXplX3Qg ICBwcnZsZW47CitAQCAtMTU1LDYgKzE1NSw1MiBAQCB0eXBlZGVmIHN0cnVjdCBleHBvcnRfY2Jf YXJnX3N0IHsKKyAgICAgc2l6ZV90IHBydmxlbjsKICB9IEVYUE9SVF9DQl9BUkc7CiAgCiArI2lm bmRlZiBGSVBTX01PRFVMRQpAQCAtMjMzLDcgKzIzOSw3IEBAIGluZGV4IGJlYTg3ODMyNzYuLmFl ZWYwYzhmODQgMTAwNjQ0CiAgLyogQ29weSBhbnkgZXhwb3J0ZWQga2V5IG1hdGVyaWFsIGludG8g aXRzIHN0b3JhZ2Ugc2xvdCAqLwogIHN0YXRpYyBpbnQgZXhwb3J0X3N1Yl9jYihjb25zdCBPU1NM X1BBUkFNICpwYXJhbXMsIHZvaWQgKnZhcmcpCiAgewotQEAgLTE3Niw2ICsyMjIsMTAgQEAgc3Rh dGljIGludCBleHBvcnRfc3ViX2NiKGNvbnN0IE9TU0xfUEFSQU0gKnBhcmFtcywgdm9pZCAqdmFy ZykKK0BAIC0xNzUsNiArMjIxLDEwIEBAIHN0YXRpYyBpbnQgZXhwb3J0X3N1Yl9jYihjb25zdCBP U1NMX1BBUkFNICpwYXJhbXMsIHZvaWQgKnZhcmcpCiAgCiAgICAgICAgICBpZiAoT1NTTF9QQVJB TV9nZXRfb2N0ZXRfc3RyaW5nKHAsICZwdWIsIHN1Yl9hcmctPnB1YmxlbiwgJmxlbikgIT0gMSkK ICAgICAgICAgICAgICByZXR1cm4gMDsKQEAgLTI0Myw4ICsyNDksOCBAQCBpbmRleCBiZWE4Nzgz Mjc2Li5hZWVmMGM4Zjg0IDEwMDY0NAogKyNlbmRpZgogICAgICAgICAgaWYgKGxlbiAhPSBzdWJf YXJnLT5wdWJsZW4pIHsKICAgICAgICAgICAgICBFUlJfcmFpc2VfZGF0YShFUlJfTElCX1BST1Ys IEVSUl9SX0lOVEVSTkFMX0VSUk9SLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmV4 cGVjdGVkICVzIHB1YmxpYyBrZXkgbGVuZ3RoICVsdSAhPSAlbHUiLAotQEAgLTM0NCwxMiArMzk0 LDE0IEBAIGxvYWRfc2xvdChPU1NMX0xJQl9DVFggKmxpYmN0eCwgY29uc3QgY2hhciAqcHJvcHEs IGNvbnN0IGNoYXIgKnBuYW1lLAorICAgICAgICAgICAgICAgICAiVW5leHBlY3RlZCAlcyBwdWJs aWMga2V5IGxlbmd0aCAlbHUgIT0gJWx1IiwKK0BAIC0zNDMsMTIgKzM5MywxNCBAQCBsb2FkX3Ns b3QoT1NTTF9MSUJfQ1RYICpsaWJjdHgsIGNvbnN0IGNoYXIgKnByb3BxLCBjb25zdCBjaGFyICpw bmFtZSwKICAgICAgdm9pZCAqdmFsOwogICAgICBpbnQgbWxfa2VtX3Nsb3QgPSBrZXktPnhpbmZv LT5tbF9rZW1fc2xvdDsKICAgICAgaW50IHJldCA9IDA7CkBAIC0yNTgsOCArMjY0LDggQEAgaW5k ZXggYmVhODc4MzI3Ni4uYWVlZjBjOGY4NCAxMDA2NDQKICsgICAgICAgIGFkanVzdGVkX3Byb3Bx ID0gZ2V0X2FkanVzdGVkX3Byb3BxKHByb3BxKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAgIGFs ZyA9IGtleS0+eGluZm8tPmFsZ29yaXRobV9uYW1lOwotICAgICAgICAgZ3JvdXAgPSAoY2hhciAq KSBrZXktPnhpbmZvLT5ncm91cF9uYW1lOwotQEAgLTM1OSw3ICs0MTEsOCBAQCBsb2FkX3Nsb3Qo T1NTTF9MSUJfQ1RYICpsaWJjdHgsIGNvbnN0IGNoYXIgKnByb3BxLCBjb25zdCBjaGFyICpwbmFt ZSwKKyAgICAgICAgIGdyb3VwID0gKGNoYXIgKilrZXktPnhpbmZvLT5ncm91cF9uYW1lOworQEAg LTM1OCw3ICs0MTAsOCBAQCBsb2FkX3Nsb3QoT1NTTF9MSUJfQ1RYICpsaWJjdHgsIGNvbnN0IGNo YXIgKnByb3BxLCBjb25zdCBjaGFyICpwbmFtZSwKICAgICAgfQogICAgICB2YWwgPSAodm9pZCAq KShpbiArIG9mZik7CiAgCkBAIC0yNjksMzQgKzI3NSwzNCBAQCBpbmRleCBiZWE4NzgzMjc2Li5h ZWVmMGM4Zjg0IDEwMDY0NAogICAgICAgICAgfHwgRVZQX1BLRVlfZnJvbWRhdGFfaW5pdChjdHgp IDw9IDApCiAgICAgICAgICBnb3RvIGVycjsKICAgICAgcGFyclswXSA9IE9TU0xfUEFSQU1fY29u c3RydWN0X29jdGV0X3N0cmluZyhwbmFtZSwgdmFsLCBsZW4pOwotQEAgLTM3MCw2ICs0MjMsNyBA QCBsb2FkX3Nsb3QoT1NTTF9MSUJfQ1RYICpsaWJjdHgsIGNvbnN0IGNoYXIgKnByb3BxLCBjb25z dCBjaGFyICpwbmFtZSwKK0BAIC0zNjksNiArNDIyLDcgQEAgbG9hZF9zbG90KE9TU0xfTElCX0NU WCAqbGliY3R4LCBjb25zdCBjaGFyICpwcm9wcSwgY29uc3QgY2hhciAqcG5hbWUsCiAgICAgICAg ICByZXQgPSAxOwogIAotICBlcnI6CisgZXJyOgogKyAgICBPUEVOU1NMX2ZyZWUoYWRqdXN0ZWRf cHJvcHEpOwogICAgICBFVlBfUEtFWV9DVFhfZnJlZShjdHgpOwogICAgICByZXR1cm4gcmV0Owog IH0KLUBAIC02ODgsNiArNzQyLDcgQEAgc3RhdGljIHZvaWQgKm1seF9rZW1fZ2VuKHZvaWQgKnZn Y3R4LCBPU1NMX0NBTExCQUNLICpvc3NsY2IsIHZvaWQgKmNiYXJnKQorQEAgLTY4NSw2ICs3Mzks NyBAQCBzdGF0aWMgdm9pZCAqbWx4X2tlbV9nZW4odm9pZCAqdmdjdHgsIE9TU0xfQ0FMTEJBQ0sg Km9zc2xjYiwgdm9pZCAqY2JhcmcpCiAgICAgIFBST1ZfTUxfS0VNX0dFTl9DVFggKmdjdHggPSB2 Z2N0eDsKICAgICAgTUxYX0tFWSAqa2V5OwogICAgICBjaGFyICpwcm9wcTsKICsgICAgY2hhciAq YWRqdXN0ZWRfcHJvcHEgPSBOVUxMOwogIAogICAgICBpZiAoZ2N0eCA9PSBOVUxMCi0gICAgICAg ICB8fCAoZ2N0eC0+c2VsZWN0aW9uICYgT1NTTF9LRVlNR01UX1NFTEVDVF9LRVlQQUlSKSA9PQot QEAgLTcwNCw4ICs3NTksMTAgQEAgc3RhdGljIHZvaWQgKm1seF9rZW1fZ2VuKHZvaWQgKnZnY3R4 LCBPU1NMX0NBTExCQUNLICpvc3NsY2IsIHZvaWQgKmNiYXJnKQorICAgICAgICAgfHwgKGdjdHgt PnNlbGVjdGlvbiAmIE9TU0xfS0VZTUdNVF9TRUxFQ1RfS0VZUEFJUikgPT0gT1NTTF9LRVlNR01U X1NFTEVDVF9QVUJMSUNfS0VZKQorQEAgLTcwMCw4ICs3NTUsMTAgQEAgc3RhdGljIHZvaWQgKm1s eF9rZW1fZ2VuKHZvaWQgKnZnY3R4LCBPU1NMX0NBTExCQUNLICpvc3NsY2IsIHZvaWQgKmNiYXJn KQogICAgICAgICAgcmV0dXJuIGtleTsKICAKICAgICAgLyogRm9yIG5vdywgdXNpbmcgdGhlIHNh bWUgInByb3BxIiBmb3IgYWxsIGNvbXBvbmVudHMgKi8KIC0gICAga2V5LT5ta2V5ID0gRVZQX1BL RVlfUV9rZXlnZW4oa2V5LT5saWJjdHgsIGtleS0+cHJvcHEsCiArICAgIGFkanVzdGVkX3Byb3Bx ID0gZ2V0X2FkanVzdGVkX3Byb3BxKHByb3BxKTsKICsgICAga2V5LT5ta2V5ID0gRVZQX1BLRVlf UV9rZXlnZW4oa2V5LT5saWJjdHgsIGFkanVzdGVkX3Byb3BxID8gYWRqdXN0ZWRfcHJvcHEgOiBr ZXktPnByb3BxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXktPm1pbmZv LT5hbGdvcml0aG1fbmFtZSk7CisgICAgICAgICBrZXktPm1pbmZvLT5hbGdvcml0aG1fbmFtZSk7 CiArICAgIE9QRU5TU0xfZnJlZShhZGp1c3RlZF9wcm9wcSk7CiAgICAgIGtleS0+eGtleSA9IEVW UF9QS0VZX1Ffa2V5Z2VuKGtleS0+bGliY3R4LCBrZXktPnByb3BxLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBrZXktPnhpbmZvLT5hbGdvcml0aG1fbmFtZSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5LT54aW5mby0+Z3JvdXBfbmFtZSk7CisgICAg ICAgICBrZXktPnhpbmZvLT5hbGdvcml0aG1fbmFtZSwKKyAgICAgICAgIGtleS0+eGluZm8tPmdy b3VwX25hbWUpOwogLS0gCi0yLjUxLjAKKzIuNTIuMAogCgpkaWZmIC0tZ2l0IGEvMDA1NC1UZW1w b3JhcmlseS1kaXNhYmxlLVNMSC1EU0EtRklQUy1zZWxmLXRlc3RzLnBhdGNoIGIvMDA1NC1UZW1w b3JhcmlseS1kaXNhYmxlLVNMSC1EU0EtRklQUy1zZWxmLXRlc3RzLnBhdGNoCmluZGV4IDRiOGNk MGIuLjY1OGE4ZjAgMTAwNjQ0Ci0tLSBhLzAwNTQtVGVtcG9yYXJpbHktZGlzYWJsZS1TTEgtRFNB LUZJUFMtc2VsZi10ZXN0cy5wYXRjaAorKysgYi8wMDU0LVRlbXBvcmFyaWx5LWRpc2FibGUtU0xI LURTQS1GSVBTLXNlbGYtdGVzdHMucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGI5NjM5ODJj NGI4ZWRlOTMyMTJjMTUwMjFkNGQyNTE0MzUxNTNhYTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tIDNmNzM3MjJiOGU1NDZhM2Y4ZjRlOGJjN2Q3NDUyN2Y0ZmU3YzQ0MTMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCiBGcm9tOiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiBEYXRl OiBUdWUsIDE1IEp1bCAyMDI1IDEyOjMyOjE0IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggNTQvNTld IFRlbXBvcmFyaWx5IGRpc2FibGUgU0xILURTQSBGSVBTIHNlbGYtdGVzdHMKK1N1YmplY3Q6IFtQ QVRDSCA1NC81N10gVGVtcG9yYXJpbHkgZGlzYWJsZSBTTEgtRFNBIEZJUFMgc2VsZi10ZXN0cwog CiBTaWduZWQtb2ZmLWJ5OiBTaW1vIFNvcmNlIDxzaW1vQHJlZGhhdC5jb20+CiAtLS0KQEAgLTks MTAgKzksMTAgQEAgU2lnbmVkLW9mZi1ieTogU2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQuY29tPgog IDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL3Byb3ZpZGVy cy9maXBzL3NlbGZfdGVzdF9kYXRhLmluYyBiL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9kYXRh LmluYwotaW5kZXggM2UzMmE1NDQ2YS4uMDc1MThhOWQ3ZiAxMDA2NDQKK2luZGV4IDQzZjdjODlm ZDYuLjdiMDNhYWQ3NzUgMTAwNjQ0CiAtLS0gYS9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3RfZGF0 YS5pbmMKICsrKyBiL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9kYXRhLmluYwotQEAgLTI4ODgs NiArMjg4OCw3IEBAIHN0YXRpYyBjb25zdCBTVF9LQVRfUEFSQU0gbWxfZHNhX3NpZ19pbml0W10g PSB7CitAQCAtMjg4Niw2ICsyODg2LDcgQEAgc3RhdGljIGNvbnN0IFNUX0tBVF9QQVJBTSBtbF9k c2Ffc2lnX2luaXRbXSA9IHsKICB9OwogICNlbmRpZiAvKiBPUEVOU1NMX05PX01MX0RTQSAqLwog IApAQCAtMjAsNyArMjAsNyBAQCBpbmRleCAzZTMyYTU0NDZhLi4wNzUxOGE5ZDdmIDEwMDY0NAog ICNpZm5kZWYgT1BFTlNTTF9OT19TTEhfRFNBCiAgLyoKICAgKiBEZXRlcm1pbmlzdGljIFNMSF9E U0Ega2V5IGdlbmVyYXRpb24gc3VwcGxpZXMgdGhlIHByaXZhdGUga2V5IGVsZW1lbnRzIGFuZAot QEAgLTI5NzgsNiArMjk3OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHNsaF9kc2Ff c2hha2VfMTI4Zl9zaWdfZGlnZXN0W10gPSB7CitAQCAtMjk3Niw2ICsyOTc3LDcgQEAgc3RhdGlj IGNvbnN0IHVuc2lnbmVkIGNoYXIgc2xoX2RzYV9zaGFrZV8xMjhmX3NpZ19kaWdlc3RbXSA9IHsK ICAgICAgMHg4OSwgMHg3NywgMHgwMCwgMHg3MiwgMHgwMywgMHg5MiwgMHhkMSwgMHhhNiwKICB9 OwogICNlbmRpZiAvKiBPUEVOU1NMX05PX1NMSF9EU0EgKi8KQEAgLTI4LDcgKzI4LDcgQEAgaW5k ZXggM2UzMmE1NDQ2YS4uMDc1MThhOWQ3ZiAxMDA2NDQKICAKICAvKiBIYXNoIERSQkcgaW5wdXRz IGZvciBzaWduYXR1cmUgS0FUcyAqLwogIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHNpZ19r YXRfZW50cm9weWluW10gPSB7Ci1AQCAtMzA3Nyw2ICszMDc5LDcgQEAgc3RhdGljIGNvbnN0IFNU X0tBVF9TSUdOIHN0X2thdF9zaWduX3Rlc3RzW10gPSB7CitAQCAtMzA3NSw2ICszMDc3LDcgQEAg c3RhdGljIGNvbnN0IFNUX0tBVF9TSUdOIHN0X2thdF9zaWduX3Rlc3RzW10gPSB7CiAgICAgICAg ICBtbF9kc2Ffc2lnX2luaXQKICAgICAgfSwKICAjZW5kaWYgLyogT1BFTlNTTF9OT19NTF9EU0Eg Ki8KQEAgLTM2LDcgKzM2LDcgQEAgaW5kZXggM2UzMmE1NDQ2YS4uMDc1MThhOWQ3ZiAxMDA2NDQK ICAjaWZuZGVmIE9QRU5TU0xfTk9fU0xIX0RTQQogICAgICAvKgogICAgICAgKiBGSVBTIDE0MC0z IElHIDEwLjMuQS4xNiBOb3RlIDI5IHNheXM6Ci1AQCAtMzEwNyw2ICszMTEwLDcgQEAgc3RhdGlj IGNvbnN0IFNUX0tBVF9TSUdOIHN0X2thdF9zaWduX3Rlc3RzW10gPSB7CitAQCAtMzEwNSw2ICsz MTA4LDcgQEAgc3RhdGljIGNvbnN0IFNUX0tBVF9TSUdOIHN0X2thdF9zaWduX3Rlc3RzW10gPSB7 CiAgICAgICAgICBzbGhfZHNhX3NpZ19wYXJhbXMsIHNsaF9kc2Ffc2lnX3BhcmFtcwogICAgICB9 LAogICNlbmRpZiAvKiBPUEVOU1NMX05PX1NMSF9EU0EgKi8KQEAgLTQ0LDcgKzQ0LDcgQEAgaW5k ZXggM2UzMmE1NDQ2YS4uMDc1MThhOWQ3ZiAxMDA2NDQKICB9OwogIAogICNpZiAhZGVmaW5lZChP UEVOU1NMX05PX01MX0RTQSkKLUBAIC0zNTExLDYgKzM1MTUsNyBAQCBzdGF0aWMgY29uc3QgU1Rf S0FUX0FTWU1fS0VZR0VOIHN0X2thdF9hc3ltX2tleWdlbl90ZXN0c1tdID0geworQEAgLTM1MDks NiArMzUxMyw3IEBAIHN0YXRpYyBjb25zdCBTVF9LQVRfQVNZTV9LRVlHRU4gc3Rfa2F0X2FzeW1f a2V5Z2VuX3Rlc3RzW10gPSB7CiAgICAgICAgICBtbF9kc2Ffa2V5CiAgICAgIH0sCiAgIyBlbmRp ZgpAQCAtNTIsNyArNTIsNyBAQCBpbmRleCAzZTMyYTU0NDZhLi4wNzUxOGE5ZDdmIDEwMDY0NAog ICMgaWYgIWRlZmluZWQoT1BFTlNTTF9OT19TTEhfRFNBKQogICAgICB7CiAgICAgICAgICBPU1NM X1NFTEZfVEVTVF9ERVNDX0tFWUdFTl9TTEhfRFNBLAotQEAgLTM1MTksNiArMzUyNCw3IEBAIHN0 YXRpYyBjb25zdCBTVF9LQVRfQVNZTV9LRVlHRU4gc3Rfa2F0X2FzeW1fa2V5Z2VuX3Rlc3RzW10g PSB7CitAQCAtMzUxNyw2ICszNTIyLDcgQEAgc3RhdGljIGNvbnN0IFNUX0tBVF9BU1lNX0tFWUdF TiBzdF9rYXRfYXN5bV9rZXlnZW5fdGVzdHNbXSA9IHsKICAgICAgICAgIHNsaF9kc2FfMTI4Zl9r ZXlnZW5fZXhwZWN0ZWRfcGFyYW1zCiAgICAgIH0sCiAgIyBlbmRpZgpAQCAtNjEsNSArNjEsNSBA QCBpbmRleCAzZTMyYTU0NDZhLi4wNzUxOGE5ZDdmIDEwMDY0NAogICNlbmRpZiAvKiAhT1BFTlNT TF9OT19NTF9EU0EgfHwgIU9QRU5TU0xfTk9fU0xIX0RTQSAqLwogIAogLS0gCi0yLjUxLjAKKzIu NTIuMAogCgpkaWZmIC0tZ2l0IGEvMDA1NS1BZGQtYS1kZWZpbmUtdG8tZGlzYWJsZS1zeW12ZXIt YXR0cmlidXRlcy5wYXRjaCBiLzAwNTUtQWRkLWEtZGVmaW5lLXRvLWRpc2FibGUtc3ltdmVyLWF0 dHJpYnV0ZXMucGF0Y2gKaW5kZXggYjdmMzYyNy4uMjRlN2Q2MCAxMDA2NDQKLS0tIGEvMDA1NS1B ZGQtYS1kZWZpbmUtdG8tZGlzYWJsZS1zeW12ZXItYXR0cmlidXRlcy5wYXRjaAorKysgYi8wMDU1 LUFkZC1hLWRlZmluZS10by1kaXNhYmxlLXN5bXZlci1hdHRyaWJ1dGVzLnBhdGNoCkBAIC0xLDcg KzEsNyBAQAotRnJvbSA4ZDJmMmYxMWYzODc1YjU4ZjEzMzcyOWRjYjkwN2JiNjQ2MjA2NDlmIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAyNDg3NWQ1ZjQ0ODY1NDBjYzdiYWYyM2MzZjk0 MjM0ZWU5ODAwODYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogU2ltbyBTb3JjZSA8 c2ltb0ByZWRoYXQuY29tPgogRGF0ZTogVGh1LCAxNyBKdWwgMjAyNSAwOTo0MDozNCAtMDQwMAot U3ViamVjdDogW1BBVENIIDU1LzU5XSBBZGQgYSBkZWZpbmUgdG8gZGlzYWJsZSBzeW12ZXIgYXR0 cmlidXRlcworU3ViamVjdDogW1BBVENIIDU1LzU3XSBBZGQgYSBkZWZpbmUgdG8gZGlzYWJsZSBz eW12ZXIgYXR0cmlidXRlcwogCiBEZWZpbmluaWcgUkhFTF9OT19TWU1WRVJfQVRUUklCVVRFUyBm b3IgYSBidWlsZCBub3cgcHJldmVudHMgYWRkaW5nCiBjb21wYXRpYmlsaXR5IHN5bXZlciBhdHRy aWJ1dGVzLgpAQCAtMTQsNyArMTQsNyBAQCBTaWduZWQtb2ZmLWJ5OiBTaW1vIFNvcmNlIDxzaW1v QHJlZGhhdC5jb20+CiAgMyBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCiAKIGRpZmYgLS1naXQgYS9jcnlwdG8vZXZwL2RpZ2VzdC5jIGIvY3J5cHRvL2V2cC9k aWdlc3QuYwotaW5kZXggOGVlOWRiNzNkZC4uN2VkNDkzMzkzNCAxMDA2NDQKK2luZGV4IDYzOGRh Yzg4NDQuLjViMWI1NGMxOTUgMTAwNjQ0CiAtLS0gYS9jcnlwdG8vZXZwL2RpZ2VzdC5jCiArKysg Yi9jcnlwdG8vZXZwL2RpZ2VzdC5jCiBAQCAtNTczLDcgKzU3Myw3IEBAIGludCBFVlBfRGlnZXN0 U3F1ZWV6ZShFVlBfTURfQ1RYICpjdHgsIHVuc2lnbmVkIGNoYXIgKm1kLCBzaXplX3Qgc2l6ZSkK QEAgLTI3LDEwICsyNywxMCBAQCBpbmRleCA4ZWU5ZGI3M2RkLi43ZWQ0OTMzOTM0IDEwMDY0NAog ICAgICAgICAgICAgICAgICAgICAgc3ltdmVyICgiRVZQX01EX0NUWF9kdXBAT1BFTlNTTF8zLjIu MCIpKSkKICAjZW5kaWYKIGRpZmYgLS1naXQgYS9jcnlwdG8vZXZwL2V2cF9lbmMuYyBiL2NyeXB0 by9ldnAvZXZwX2VuYy5jCi1pbmRleCA2MTljZjRmMzg1Li45MTkyODk4ZDM5IDEwMDY0NAoraW5k ZXggYjRlZGQ4MjVjZC4uZTdiMTI0YTc5YiAxMDA2NDQKIC0tLSBhL2NyeXB0by9ldnAvZXZwX2Vu Yy5jCiArKysgYi9jcnlwdG8vZXZwL2V2cF9lbmMuYwotQEAgLTE3NjMsNyArMTc2Myw3IEBAIGlu dCBFVlBfQ0lQSEVSX0NUWF9yYW5kX2tleShFVlBfQ0lQSEVSX0NUWCAqY3R4LCB1bnNpZ25lZCBj aGFyICprZXkpCitAQCAtMTc1Nyw3ICsxNzU3LDcgQEAgaW50IEVWUF9DSVBIRVJfQ1RYX3JhbmRf a2V5KEVWUF9DSVBIRVJfQ1RYICpjdHgsIHVuc2lnbmVkIGNoYXIgKmtleSkKICB9CiAgCiAgRVZQ X0NJUEhFUl9DVFgKQEAgLTQwLDEwICs0MCwxMCBAQCBpbmRleCA2MTljZjRmMzg1Li45MTkyODk4 ZDM5IDEwMDY0NAogICAgICAgICAgICAgICAgICAgICAgc3ltdmVyICgiRVZQX0NJUEhFUl9DVFhf ZHVwQE9QRU5TU0xfMy4yLjAiKSkpCiAgI2VuZGlmCiBkaWZmIC0tZ2l0IGEvY3J5cHRvL29fc3Ry LmMgYi9jcnlwdG8vb19zdHIuYwotaW5kZXggODY0NDJhOTM5ZS4uOGMzM2U0ZGQ2MyAxMDA2NDQK K2luZGV4IGZkZTQzNDIxZWEuLjgwN2UwNzA4MjcgMTAwNjQ0CiAtLS0gYS9jcnlwdG8vb19zdHIu YwogKysrIGIvY3J5cHRvL29fc3RyLmMKLUBAIC00MDQsNyArNDA0LDcgQEAgaW50IG9wZW5zc2xf c3RyZXJyb3JfcihpbnQgZXJybnVtLCBjaGFyICpidWYsIHNpemVfdCBidWZsZW4pCitAQCAtNDA3 LDcgKzQwNyw3IEBAIGludCBvcGVuc3NsX3N0cmVycm9yX3IoaW50IGVycm51bSwgY2hhciAqYnVm LCBzaXplX3QgYnVmbGVuKQogIH0KICAKICBpbnQKQEAgLTUyLDcgKzUyLDcgQEAgaW5kZXggODY0 NDJhOTM5ZS4uOGMzM2U0ZGQ2MyAxMDA2NDQKICBfX2F0dHJpYnV0ZV9fICgoc3ltdmVyICgiT1BF TlNTTF9zdHJjYXNlY21wQEBPUEVOU1NMXzMuMC4zIiksCiAgICAgICAgICAgICAgICAgICAgICBz eW12ZXIgKCJPUEVOU1NMX3N0cmNhc2VjbXBAT1BFTlNTTF8zLjAuMSIpKSkKICAjZW5kaWYKLUBA IC00MTksNyArNDE5LDcgQEAgT1BFTlNTTF9zdHJjYXNlY21wKGNvbnN0IGNoYXIgKnMxLCBjb25z dCBjaGFyICpzMikKK0BAIC00MjIsNyArNDIyLDcgQEAgT1BFTlNTTF9zdHJjYXNlY21wKGNvbnN0 IGNoYXIgKnMxLCBjb25zdCBjaGFyICpzMikKICB9CiAgCiAgaW50CkBAIC02Miw1ICs2Miw1IEBA IGluZGV4IDg2NDQyYTkzOWUuLjhjMzNlNGRkNjMgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAg ICBzeW12ZXIgKCJPUEVOU1NMX3N0cm5jYXNlY21wQE9QRU5TU0xfMy4wLjEiKSkpCiAgI2VuZGlm CiAtLSAKLTIuNTEuMAorMi41Mi4wCiAKCmRpZmYgLS1naXQgYS8wMDU2LUFkZC10YXJnZXRzLXRv LXNraXAtYnVpbGQtb2Ytbm9uLWluc3RhbGxhYmxlLXByb2dyYW0ucGF0Y2ggYi8wMDU2LUFkZC10 YXJnZXRzLXRvLXNraXAtYnVpbGQtb2Ytbm9uLWluc3RhbGxhYmxlLXByb2dyYW0ucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY5MWQzNQotLS0gL2Rldi9udWxsCisr KyBiLzAwNTYtQWRkLXRhcmdldHMtdG8tc2tpcC1idWlsZC1vZi1ub24taW5zdGFsbGFibGUtcHJv Z3JhbS5wYXRjaApAQCAtMCwwICsxLDE1OCBAQAorRnJvbSA0YjYzNGJkY2M0ZGVkYzg1MTY1Mjlk MzkwNjJhZGMxMzA1YzdiZjliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYt OD9xP1Bhdm9sPTIwPUM1PUJEPUMzPUExPUM0PThEaWs/PSA8emFjaWsucGFAZ21haWwuY29tPgor RGF0ZTogVHVlLCAxOSBBdWcgMjAyNSAxNDoyNjowNyArMDIwMAorU3ViamVjdDogW1BBVENIIDU2 LzU3XSBBZGQgdGFyZ2V0cyB0byBza2lwIGJ1aWxkIG9mIG5vbi1pbnN0YWxsYWJsZSBwcm9ncmFt cworCitUaGVzZSBtYWtlIGl0IHBvc3NpYmxlIHRvIHNwbGl0IHRoZSBidWlsZCBpbnRvIHR3bwor cGFydHMsIGUuZy4sIHdoZW4gdGVzdHMgc2hvdWxkIGJlIGJ1aWx0IHdpdGggZGlmZmVyZW50Citj b21waWxlciBmbGFncyB0aGFuIGluc3RhbGxlZCBzb2Z0d2FyZS4KKworQWxzbyB1c2UgdGhlc2Ug YXMgZGVwZW5kZWNpZXMgd2hlcmUgYXBwcm9wcmlhdGUuCisKK1Jldmlld2VkLWJ5OiBQYXVsIFlh bmcgPHBhdWx5YW5nLmluZkBnbWFpbC5jb20+CitSZXZpZXdlZC1ieTogRG1pdHJ5IEJlbHlhdnNr aXkgPGJlbGRtaXRAZ21haWwuY29tPgorUmV2aWV3ZWQtYnk6IE5laWwgSG9ybWFuIDxuaG9ybWFu QG9wZW5zc2wub3JnPgorKE1lcmdlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29w ZW5zc2wvcHVsbC8yODMwMikKKy0tLQorIENvbmZpZ3VyYXRpb25zL2Rlc2NyaXAubW1zLnRtcGwg ICAgICB8IDcgKysrKystLQorIENvbmZpZ3VyYXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbCAgICB8 IDkgKysrKysrLS0tCisgQ29uZmlndXJhdGlvbnMvd2luZG93cy1tYWtlZmlsZS50bXBsIHwgOCAr KysrKystLQorIHV0aWwvaGVscC5wbCAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyA0 IGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9Db25maWd1cmF0aW9ucy9kZXNjcmlwLm1tcy50bXBsIGIvQ29uZmlndXJhdGlvbnMv ZGVzY3JpcC5tbXMudG1wbAoraW5kZXggZGI2YTFiMTc5OS4uYmM3ZmMzNmI0NiAxMDA2NDQKKy0t LSBhL0NvbmZpZ3VyYXRpb25zL2Rlc2NyaXAubW1zLnRtcGwKKysrKyBiL0NvbmZpZ3VyYXRpb25z L2Rlc2NyaXAubW1zLnRtcGwKK0BAIC00OTEsNiArNDkxLDggQEAgTk9ERUJVRz1ACisgey0gZGVw ZW5kbWFnaWMoJ2J1aWxkX2xpYnMnKTsgLX0gOiBidWlsZF9saWJzX25vZGVwCisgey0gZGVwZW5k bWFnaWMoJ2J1aWxkX21vZHVsZXMnKTsgLX0gOiBidWlsZF9tb2R1bGVzX25vZGVwCisgey0gZGVw ZW5kbWFnaWMoJ2J1aWxkX3Byb2dyYW1zJyk7IC19IDogYnVpbGRfcHJvZ3JhbXNfbm9kZXAKKyt7 LSBkZXBlbmRtYWdpYygnYnVpbGRfaW5zdF9zdycpOyAtfSA6IGJ1aWxkX2xpYnNfbm9kZXAsIGJ1 aWxkX21vZHVsZXNfbm9kZXAsIGJ1aWxkX2luc3RfcHJvZ3JhbXNfbm9kZXAKKyt7LSBkZXBlbmRt YWdpYygnYnVpbGRfaW5zdF9wcm9ncmFtcycpOyAtfSA6IGJ1aWxkX2luc3RfcHJvZ3JhbXNfbm9k ZXAKKyAKKyBidWlsZF9nZW5lcmF0ZWRfcG9kcyA6ICQoR0VORVJBVEVEX1BPRFMpCisgYnVpbGRf ZG9jcyA6IGJ1aWxkX2h0bWxfZG9jcworQEAgLTUwMCw2ICs1MDIsNyBAQCBidWlsZF9nZW5lcmF0 ZWQgOiAkKEdFTkVSQVRFRF9NQU5EQVRPUlkpCisgYnVpbGRfbGlic19ub2RlcCA6ICQoTElCUyks ICQoU0hMSUJTKQorIGJ1aWxkX21vZHVsZXNfbm9kZXAgOiAkKE1PRFVMRVMpCisgYnVpbGRfcHJv Z3JhbXNfbm9kZXAgOiAkKFBST0dSQU1TKSwgJChTQ1JJUFRTKQorK2J1aWxkX2luc3RfcHJvZ3Jh bXNfbm9kZXAgOiAkKElOU1RBTExfUFJPR1JBTVMpLCAkKFNDUklQVFMpCisgCisgIyBLZXB0IGFy b3VuZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eQorIGJ1aWxkX2FwcHMgYnVpbGRfdGVzdHMg OiBidWlsZF9wcm9ncmFtcworQEAgLTYwNiw3ICs2MDksNyBAQCBpbnN0YWxsX2RvY3MgOiBpbnN0 YWxsX2h0bWxfZG9jcworIHVuaW5zdGFsbF9kb2NzIDogdW5pbnN0YWxsX2h0bWxfZG9jcworIAor IHstIG91dHB1dF9vZmYoKSBpZiAkZGlzYWJsZWR7Zmlwc307ICIiIC19CistaW5zdGFsbF9maXBz IDogYnVpbGRfc3cgJChJTlNUQUxMX0ZJUFNNT0RVTEVDT05GKQorK2luc3RhbGxfZmlwcyA6IGJ1 aWxkX2luc3Rfc3cgJChJTlNUQUxMX0ZJUFNNT0RVTEVDT05GKQorIAlAIFdSSVRFIFNZUyRPVVRQ VVQgIioqKiBJbnN0YWxsaW5nIEZJUFMgbW9kdWxlIgorIAktIENSRUFURS9ESVIgb3NzbF9pbnN0 YWxscm9vdDpbTU9EVUxFU3stICR0YXJnZXR7cG9pbnRlcl9zaXplfSAtfS4nYXJjaCddCisgCS0g Q1JFQVRFL0RJUi9QUk9UPShTOlJXRUQsTzpSV0UsRzpSRSxXOlJFKSBPU1NMX0RBVEFST09UOlsw MDAwMDBdCitAQCAtNjg3LDcgKzY5MCw3IEBAIGluc3RhbGxfcnVudGltZV9saWJzIDogY2hlY2tf SU5TVEFMTFRPUCBidWlsZF9saWJzCisgICAgICAgICAgICAgICAgIEBpbnN0YWxsX3NobGlicykg LX0KKyAgICAgICAgIEAgey0gb3V0cHV0X29uKCkgaWYgJGRpc2FibGVke3NoYXJlZH07ICIiIC19 ICEKKyAKKy1pbnN0YWxsX3Byb2dyYW1zIDogY2hlY2tfSU5TVEFMTFRPUCBpbnN0YWxsX3J1bnRp bWVfbGlicyBidWlsZF9wcm9ncmFtcworK2luc3RhbGxfcHJvZ3JhbXMgOiBjaGVja19JTlNUQUxM VE9QIGluc3RhbGxfcnVudGltZV9saWJzIGJ1aWxkX2luc3RfcHJvZ3JhbXMKKyAgICAgICAgIEAg ey0gb3V0cHV0X29mZigpIGlmICRkaXNhYmxlZHthcHBzfTsgIiIgLX0gIQorICAgICAgICAgQCAh IEluc3RhbGwgdGhlIG1haW4gcHJvZ3JhbQorICAgICAgICAgLSBDUkVBVEUvRElSIG9zc2xfaW5z dGFsbHJvb3Q6W0VYRS4nYXJjaCddCitkaWZmIC0tZ2l0IGEvQ29uZmlndXJhdGlvbnMvdW5peC1N YWtlZmlsZS50bXBsIGIvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsCitpbmRleCAx OTIwZDM4NjU1Li5iZmVkZTQ0Y2U0IDEwMDY0NAorLS0tIGEvQ29uZmlndXJhdGlvbnMvdW5peC1N YWtlZmlsZS50bXBsCisrKysgYi9Db25maWd1cmF0aW9ucy91bml4LU1ha2VmaWxlLnRtcGwKK0BA IC01NDcsNyArNTQ3LDkgQEAgTEFORz1DCisgey0gZGVwZW5kbWFnaWMoJ2J1aWxkX3N3JywgJ0J1 aWxkIGFsbCB0aGUgc29mdHdhcmUgKGRlZmF1bHQgdGFyZ2V0KScpOyAtfTogYnVpbGRfbGlic19u b2RlcCBidWlsZF9tb2R1bGVzX25vZGVwIGJ1aWxkX3Byb2dyYW1zX25vZGVwIGxpbmstdXRpbHMK KyB7LSBkZXBlbmRtYWdpYygnYnVpbGRfbGlicycsICdCdWlsZCB0aGUgbGlicmFyaWVzIGxpYnNz bCBhbmQgbGliY3J5cHRvJyk7IC19OiBidWlsZF9saWJzX25vZGVwCisgey0gZGVwZW5kbWFnaWMo J2J1aWxkX21vZHVsZXMnLCAnQnVpbGQgdGhlIG1vZHVsZXMgKGkuZS4gcHJvdmlkZXJzIGFuZCBl bmdpbmVzKScpOyAtfTogYnVpbGRfbW9kdWxlc19ub2RlcAorLXstIGRlcGVuZG1hZ2ljKCdidWls ZF9wcm9ncmFtcycsICdCdWlsZCB0aGUgb3BlbnNzbCBleGVjdXRhYmxlcyBhbmQgc2NyaXB0cycp OyAtfTogYnVpbGRfcHJvZ3JhbXNfbm9kZXAKKyt7LSBkZXBlbmRtYWdpYygnYnVpbGRfcHJvZ3Jh bXMnLCAnQnVpbGQgdGhlIG9wZW5zc2wgZXhlY3V0YWJsZXMsIHNjcmlwdHMgYW5kIGFsbCBvdGhl ciBwcm9ncmFtcyBhcyBjb25maWd1cmVkIChlLmcuIHRlc3RzIG9yIGRlbW9zKScpOyAtfTogYnVp bGRfcHJvZ3JhbXNfbm9kZXAKKyt7LSBkZXBlbmRtYWdpYygnYnVpbGRfaW5zdF9zdycsICdCdWls ZCBhbGwgdGhlIHNvZnR3YXJlIHRvIGJlIGluc3RhbGxlZCcpOyAtfTogYnVpbGRfbGlic19ub2Rl cCBidWlsZF9tb2R1bGVzX25vZGVwIGJ1aWxkX2luc3RfcHJvZ3JhbXNfbm9kZXAgbGluay11dGls cworK3stIGRlcGVuZG1hZ2ljKCdidWlsZF9pbnN0X3Byb2dyYW1zJywgJ0J1aWxkIG9ubHkgdGhl IGluc3RhbGxhYmxlIG9wZW5zc2wgZXhlY3V0YWJsZXMgYW5kIHNjcmlwdHMnKTsgLX06IGJ1aWxk X2luc3RfcHJvZ3JhbXNfbm9kZXAKKyAKKyBhbGw6IGJ1aWxkX3N3IHstICJidWlsZF9kb2NzIiBp ZiAhJGRpc2FibGVke2RvY3N9OyAtfSAjIyBCdWlsZCBzb2Z0d2FyZSBhbmQgZG9jdW1lbnRhdGlv bgorIGRlYnVnaW5mbzogJChTSExJQlMpCitAQCAtNTY2LDYgKzU2OCw3IEBAIGJ1aWxkX2dlbmVy YXRlZDogJChHRU5FUkFURURfTUFOREFUT1JZKQorIGJ1aWxkX2xpYnNfbm9kZXA6ICQoTElCUykg ey0gam9pbigiICIsbWFwIHsgcGxhdGZvcm0tPnNoYXJlZGxpYl9zaW1wbGUoJF8pIC8vIHBsYXRm b3JtLT5zaGFyZWRsaWJfaW1wb3J0KCRfKSAvLyBwbGF0Zm9ybS0+c2hhcmVkbGliKCRfKSAvLyAo KSB9IEB7JHVuaWZpZWRfaW5mb3tsaWJyYXJpZXN9fSkgLX0KKyBidWlsZF9tb2R1bGVzX25vZGVw OiAkKE1PRFVMRVMpCisgYnVpbGRfcHJvZ3JhbXNfbm9kZXA6ICQoUFJPR1JBTVMpICQoU0NSSVBU UykKKytidWlsZF9pbnN0X3Byb2dyYW1zX25vZGVwOiAkKElOU1RBTExfUFJPR1JBTVMpICQoU0NS SVBUUykKKyAKKyAjIEtlcHQgYXJvdW5kIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CisgYnVp bGRfYXBwcyBidWlsZF90ZXN0czogYnVpbGRfcHJvZ3JhbXMKK0BAIC02ODAsNyArNjgzLDcgQEAg dW5pbnN0YWxsX2RvY3M6IHVuaW5zdGFsbF9tYW5fZG9jcyB1bmluc3RhbGxfaHRtbF9kb2NzICMj IFVuaW5zdGFsbCBtYW5wYWdlcyBhbmQKKyAJJChSTSkgLXIgIiQoREVTVERJUikkKERPQ0RJUiki CisgCisgey0gb3V0cHV0X29mZigpIGlmICRkaXNhYmxlZHtmaXBzfTsgIiIgLX0KKy1pbnN0YWxs X2ZpcHM6IGJ1aWxkX3N3ICQoSU5TVEFMTF9GSVBTTU9EVUxFQ09ORikKKytpbnN0YWxsX2ZpcHM6 IGJ1aWxkX2luc3Rfc3cgJChJTlNUQUxMX0ZJUFNNT0RVTEVDT05GKQorIAlAWyAtbiAiJChJTlNU QUxMVE9QKSIgXSB8fCAoZWNobyBJTlNUQUxMVE9QIHNob3VsZCBub3QgYmUgZW1wdHk7IGV4aXQg MSkKKyAJQCQoUEVSTCkgJChTUkNESVIpL3V0aWwvbWtkaXItcC5wbCAiJChERVNURElSKSQoTU9E VUxFU0RJUikiCisgCUAkKFBFUkwpICQoU1JDRElSKS91dGlsL21rZGlyLXAucGwgIiQoREVTVERJ UikkKE9QRU5TU0xESVIpIgorQEAgLTk2Niw3ICs5NjksNyBAQCBpbnN0YWxsX3J1bnRpbWVfbGli czogYnVpbGRfbGlicworIAkJOiB7LSBvdXRwdXRfb24oKSBpZiB3aW5kb3dzZGxsKCk7ICIiIC19 OyBcCisgCWRvbmUKKyAKKy1pbnN0YWxsX3Byb2dyYW1zOiBpbnN0YWxsX3J1bnRpbWVfbGlicyBi dWlsZF9wcm9ncmFtcworK2luc3RhbGxfcHJvZ3JhbXM6IGluc3RhbGxfcnVudGltZV9saWJzIGJ1 aWxkX2luc3RfcHJvZ3JhbXMKKyAJQFsgLW4gIiQoSU5TVEFMTFRPUCkiIF0gfHwgKGVjaG8gSU5T VEFMTFRPUCBzaG91bGQgbm90IGJlIGVtcHR5OyBleGl0IDEpCisgCUAkKFBFUkwpICQoU1JDRElS KS91dGlsL21rZGlyLXAucGwgIiQoREVTVERJUikkKGJpbmRpcikiCisgCUAkKEVDSE8pICIqKiog SW5zdGFsbGluZyBydW50aW1lIHByb2dyYW1zIgorZGlmZiAtLWdpdCBhL0NvbmZpZ3VyYXRpb25z L3dpbmRvd3MtbWFrZWZpbGUudG1wbCBiL0NvbmZpZ3VyYXRpb25zL3dpbmRvd3MtbWFrZWZpbGUu dG1wbAoraW5kZXggODk0ODM0Y2ZiNy4uYjU4NzIxMjRkZSAxMDA2NDQKKy0tLSBhL0NvbmZpZ3Vy YXRpb25zL3dpbmRvd3MtbWFrZWZpbGUudG1wbAorKysrIGIvQ29uZmlndXJhdGlvbnMvd2luZG93 cy1tYWtlZmlsZS50bXBsCitAQCAtNDE4LDYgKzQxOCw4IEBAIFBST0NFU1NPUj0gey0gJGNvbmZp Z3twcm9jZXNzb3J9IC19Cisgey0gZGVwZW5kbWFnaWMoJ2J1aWxkX2xpYnMnKTsgLX06IGJ1aWxk X2xpYnNfbm9kZXAKKyB7LSBkZXBlbmRtYWdpYygnYnVpbGRfbW9kdWxlcycpOyAtfTogYnVpbGRf bW9kdWxlc19ub2RlcAorIHstIGRlcGVuZG1hZ2ljKCdidWlsZF9wcm9ncmFtcycpOyAtfTogYnVp bGRfcHJvZ3JhbXNfbm9kZXAKKyt7LSBkZXBlbmRtYWdpYygnYnVpbGRfaW5zdF9zdycpOyAtfTog YnVpbGRfbGlic19ub2RlcCBidWlsZF9tb2R1bGVzX25vZGVwIGJ1aWxkX2luc3RfcHJvZ3JhbXNf bm9kZXAgY29weS11dGlscworK3stIGRlcGVuZG1hZ2ljKCdidWlsZF9pbnN0X3Byb2dyYW1zJyk7 IC19OiBidWlsZF9pbnN0X3Byb2dyYW1zX25vZGVwCisgCisgYnVpbGRfZG9jczogYnVpbGRfaHRt bF9kb2NzCisgYnVpbGRfaHRtbF9kb2NzOiAkKEhUTUxET0NTMSkgJChIVE1MRE9DUzMpICQoSFRN TERPQ1M1KSAkKEhUTUxET0NTNykKK0BAIC00MzAsNiArNDMyLDggQEAgYnVpbGRfbW9kdWxlc19u b2RlcDogJChNT0RVTEVTKQorIAlACisgYnVpbGRfcHJvZ3JhbXNfbm9kZXA6ICQoUFJPR1JBTVMp ICQoU0NSSVBUUykKKyAJQAorK2J1aWxkX2luc3RfcHJvZ3JhbXNfbm9kZXA6ICQoSU5TVEFMTF9Q Uk9HUkFNUykgJChTQ1JJUFRTKQorKwlACisgCisgIyBLZXB0IGFyb3VuZCBmb3IgYmFja3dhcmQg Y29tcGF0aWJpbGl0eQorIGJ1aWxkX2FwcHMgYnVpbGRfdGVzdHM6IGJ1aWxkX3Byb2dyYW1zCitA QCAtNTA3LDcgKzUxMSw3IEBAIGluc3RhbGxfZG9jczogaW5zdGFsbF9odG1sX2RvY3MKKyB1bmlu c3RhbGxfZG9jczogdW5pbnN0YWxsX2h0bWxfZG9jcworIAorIHstIG91dHB1dF9vZmYoKSBpZiAk ZGlzYWJsZWR7Zmlwc307ICIiIC19CistaW5zdGFsbF9maXBzOiBidWlsZF9zdyAkKElOU1RBTExf RklQU01PRFVMRUNPTkYpCisraW5zdGFsbF9maXBzOiBidWlsZF9pbnN0X3N3ICQoSU5TVEFMTF9G SVBTTU9EVUxFQ09ORikKKyAjCUBbIC1uICIkKElOU1RBTExUT1ApIiBdIHx8IChlY2hvIElOU1RB TExUT1Agc2hvdWxkIG5vdCBiZSBlbXB0eTsgZXhpdCAxKQorIAlAIiQoUEVSTCkiICIkKFNSQ0RJ UilcdXRpbFxta2Rpci1wLnBsIiAiJChNT0RVTEVTRElSKSIKKyAJQCIkKFBFUkwpIiAiJChTUkNE SVIpXHV0aWxcbWtkaXItcC5wbCIgIiQoT1BFTlNTTERJUikiCitAQCAtNjA3LDcgKzYxMSw3IEBA IGluc3RhbGxfcnVudGltZV9saWJzOiBidWlsZF9saWJzCisgCSAiJChQRVJMKSIgIiQoU1JDRElS KVx1dGlsXGNvcHkucGwiICQoSU5TVEFMTF9TSExJQlBEQlMpIFwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIiQoSU5TVEFMTFRPUClcYmluIgorIAorLWluc3RhbGxf cHJvZ3JhbXM6IGluc3RhbGxfcnVudGltZV9saWJzIGJ1aWxkX3Byb2dyYW1zCisraW5zdGFsbF9w cm9ncmFtczogaW5zdGFsbF9ydW50aW1lX2xpYnMgYnVpbGRfaW5zdF9wcm9ncmFtcworIAlAaWYg IiQoSU5TVEFMTFRPUCkiPT0iIiAoICQoRUNITykgIklOU1RBTExUT1Agc2hvdWxkIG5vdCBiZSBl bXB0eSIgJiBleGl0IDEgKQorIAlAJChFQ0hPKSAiKioqIEluc3RhbGxpbmcgcnVudGltZSBwcm9n cmFtcyIKKyAJQGlmIG5vdCAiJChJTlNUQUxMX1BST0dSQU1TKSI9PSIiIFwKK2RpZmYgLS1naXQg YS91dGlsL2hlbHAucGwgYi91dGlsL2hlbHAucGwKK2luZGV4IGExNjE0ZmU4YTkuLmU4OGZmNGJh ZTEgMTAwNzU1CistLS0gYS91dGlsL2hlbHAucGwKKysrKyBiL3V0aWwvaGVscC5wbAorQEAgLTE0 LDcgKzE0LDcgQEAgd2hpbGUgKDw+KSB7CisgICAgIGNob21wOwkjIHN0cmlwIHJlY29yZCBzZXBh cmF0b3IKKyAgICAgQEZsZCA9IHNwbGl0KCRGUywgJF8sIC0xKTsKKyAgICAgaWYgKC9eW2EtekEt WjAtOV9cLV0rOi4qPyMjLykgeworLQlwcmludGYgIiAgXDAzM1szNm0lLTE1c1wwMzNbMG0gJXNc biIsICRGbGRbMF0sICRGbGRbMV0KKysJcHJpbnRmICIgIFwwMzNbMzZtJS0xOXNcMDMzWzBtICVz XG4iLCAkRmxkWzBdLCAkRmxkWzFdCisgICAgIH0KKyAgICAgaWYgKC9eIyNALykgeworIAlwcmlu dGYgIlxuXDAzM1sxbSVzXDAzM1swbVxuIiwgc3Vic3RyKCRGbGRbJF9dLCAoNSktMSk7CistLSAK KzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEvMDA1Ni1hcHBzLXNwZWVkLmMtRGlzYWJsZS10ZXN0aW5n LW9mLWNvbXBvc2l0ZS1zaWduYXR1cmUtLnBhdGNoIGIvMDA1Ni1hcHBzLXNwZWVkLmMtRGlzYWJs ZS10ZXN0aW5nLW9mLWNvbXBvc2l0ZS1zaWduYXR1cmUtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA2N2Y3Mjg2Li4wMDAwMDAwCi0tLSBhLzAwNTYtYXBwcy1zcGVlZC5jLURp c2FibGUtdGVzdGluZy1vZi1jb21wb3NpdGUtc2lnbmF0dXJlLS5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDQ3ICswLDAgQEAKLUZyb20gYmQwMTVhYjFmNTYwMDhmMTc0MDRhYzk1MTEwMjU4MTI2 NDZlNWUyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9QYXZvbD0y MD1DNT1CRD1DMz1BMT1DND04RGlrPz0gPHphY2lrLnBhQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwg MTEgQXVnIDIwMjUgMTI6MDI6MDMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA1Ni81OV0gYXBwcy9z cGVlZC5jOiBEaXNhYmxlIHRlc3Rpbmcgb2YgY29tcG9zaXRlIHNpZ25hdHVyZQotIGFsZ29yaXRo bXMKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotQ3JlYXRpbmcgcHVibGlj IGtleSBjb250ZXh0IGZyb20gbmFtZSB3b3VsZCBhbHdheXMgZmFpbAotZm9yIGNvbXBvc2l0ZSBz aWduYXR1cmUgYWxnb3JpdGhtcyAoc3VjaCBhcyBSU0EtU0hBMjU2KQotYmVjYXVzZSB0aGUgcHVi bGljIGtleSBhbGdvcml0aG0gbmFtZSAoZS5nLiwgUlNBKSBkb2VzCi1ub3QgbWF0Y2ggdGhlIG5h bWUgb2YgdGhlIGNvbXBvc2l0ZSBhbGdvcml0aG0uCi0KLVJlbGF0ZXMgdG8gIzI3ODU1LgotCi1T aWduZWQtb2ZmLWJ5OiBQYXZvbCDFvcOhxI1payA8emFjaWsucGFAZ21haWwuY29tPgotCi1SZXZp ZXdlZC1ieTogVG9tYXMgTXJheiA8dG9tYXNAb3BlbnNzbC5vcmc+Ci1SZXZpZXdlZC1ieTogRG1p dHJ5IEJlbHlhdnNraXkgPGJlbGRtaXRAZ21haWwuY29tPgotKE1lcmdlZCBmcm9tIGh0dHBzOi8v Z2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvcHVsbC8yODIyNCkKLS0tLQotIGFwcHMvc3BlZWQu YyB8IDggKysrKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYXBwcy9zcGVlZC5jIGIvYXBwcy9zcGVlZC5jCi1pbmRl eCBhZTJmMTY2ZDI0Li5hNTFkNmE1N2Q0IDEwMDY0NAotLS0tIGEvYXBwcy9zcGVlZC5jCi0rKysg Yi9hcHBzL3NwZWVkLmMKLUBAIC0yMjc1LDkgKzIyNzUsMTEgQEAgaW50IHNwZWVkX21haW4oaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQotICAgICAgICAgfQotICNlbmRpZiAvKiBPUEVOU1NMX05PX0RT QSAqLwotICAgICAgICAgLyogc2tpcHBpbmcgdGhlc2UgYWxncyBhcyB0ZXN0ZWQgZWxzZXdoZXJl IC0gYW5kIGIvbyBzZXR1cCBpcyBhIHBhaW4gKi8KLS0gICAgICAgIGVsc2UgaWYgKHN0cmNtcChz aWdfbmFtZSwgIkVEMjU1MTkiKSAmJgotLSAgICAgICAgICAgICAgICAgc3RyY21wKHNpZ19uYW1l LCAiRUQ0NDgiKSAmJgotLSAgICAgICAgICAgICAgICAgc3RyY21wKHNpZ19uYW1lLCAiRUNEU0Ei KSAmJgotKyAgICAgICAgZWxzZSBpZiAoc3RybmNtcChzaWdfbmFtZSwgIlJTQSIsIDMpICYmCi0r ICAgICAgICAgICAgICAgICBzdHJuY21wKHNpZ19uYW1lLCAiRFNBIiwgMykgJiYKLSsgICAgICAg ICAgICAgICAgIHN0cm5jbXAoc2lnX25hbWUsICJFRDI1NTE5IiwgNykgJiYKLSsgICAgICAgICAg ICAgICAgIHN0cm5jbXAoc2lnX25hbWUsICJFRDQ0OCIsIDUpICYmCi0rICAgICAgICAgICAgICAg ICBzdHJuY21wKHNpZ19uYW1lLCAiRUNEU0EiLCA1KSAmJgotICAgICAgICAgICAgICAgICAgc3Ry Y21wKHNpZ19uYW1lLCAiSE1BQyIpICYmCi0gICAgICAgICAgICAgICAgICBzdHJjbXAoc2lnX25h bWUsICJTSVBIQVNIIikgJiYKLSAgICAgICAgICAgICAgICAgIHN0cmNtcChzaWdfbmFtZSwgIlBP TFkxMzA1IikgJiYKLS0tIAotMi41MS4wCi0KCmRpZmYgLS1naXQgYS8wMDU3LURpc2FibGUtUlNB LVBLQ1MxLjUtRklQUy1QT1NULW5vdC1yZWxldmFudC1mb3ItUkhFTC5wYXRjaCBiLzAwNTctRGlz YWJsZS1SU0EtUEtDUzEuNS1GSVBTLVBPU1Qtbm90LXJlbGV2YW50LWZvci1SSEVMLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwMmZiOWYKLS0tIC9kZXYvbnVsbAor KysgYi8wMDU3LURpc2FibGUtUlNBLVBLQ1MxLjUtRklQUy1QT1NULW5vdC1yZWxldmFudC1mb3It UkhFTC5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIDNmZmRjNjhmMTZkNmIzMjZmZjA4NTQw NTNmYzkyMDZiZTNkYWJjYzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEbWl0cnkg QmVseWF2c2tpeSA8YmVsZG1pdEBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDIxIEphbiAyMDI2IDE4 OjEzOjQzICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggNTcvNTddIERpc2FibGUgUlNBLVBLQ1MxLjUg RklQUyBQT1NULCBub3QgcmVsZXZhbnQgZm9yIFJIRUwKKworLS0tCisgcHJvdmlkZXJzL2ZpcHMv c2VsZl90ZXN0X2thdHMuYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9wcm92aWRlcnMvZmlwcy9zZWxmX3Rl c3Rfa2F0cy5jIGIvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0X2thdHMuYworaW5kZXggZjQ1M2Iy ZjJmYi4uNWIzNzM4N2Q4MyAxMDA2NDQKKy0tLSBhL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9r YXRzLmMKKysrKyBiL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9rYXRzLmMKK0BAIC0xMTkwLDgg KzExOTAsOCBAQCBpbnQgU0VMRl9URVNUX2thdHMoT1NTTF9TRUxGX1RFU1QgKnN0LCBPU1NMX0xJ Ql9DVFggKmxpYmN0eCkKKyAgICAgICAgIHJldCA9IDA7CisgICAgIGlmICghc2VsZl90ZXN0X2tl bXMoc3QsIGxpYmN0eCkpCisgICAgICAgICByZXQgPSAwOworLSAgICBpZiAoIXNlbGZfdGVzdF9h c3ltX2NpcGhlcnMoc3QsIGxpYmN0eCkpCistICAgICAgICByZXQgPSAwOworKy8qICAgIGlmICgh c2VsZl90ZXN0X2FzeW1fY2lwaGVycyhzdCwgbGliY3R4KSkKKysgICAgICAgIHJldCA9IDA7ICov CisgCisgICAgIFJBTkRfc2V0MF9wcml2YXRlKGxpYmN0eCwgc2F2ZWRfcmFuZCk7CisgICAgIHJl dHVybiByZXQ7CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEvMDA1Ny1hcHBzLXNwZWVkLmMt U3VwcG9ydC1tb3JlLXNpZ25hdHVyZS1hbGdvcml0aG1zLnBhdGNoIGIvMDA1Ny1hcHBzLXNwZWVk LmMtU3VwcG9ydC1tb3JlLXNpZ25hdHVyZS1hbGdvcml0aG1zLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCBhZTQ5YTM0Li4wMDAwMDAwCi0tLSBhLzAwNTctYXBwcy1zcGVlZC5j LVN1cHBvcnQtbW9yZS1zaWduYXR1cmUtYWxnb3JpdGhtcy5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE0MiArMCwwIEBACi1Gcm9tIGVlYjA1ZDhiNGI2M2ZkZGE3MzJmYjQ5MjAxYzY3NjkwODI5 MjJjMTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/UGF2b2w9MjA9 QzU9QkQ9QzM9QTE9QzQ9OERpaz89IDx6YWNpay5wYUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDEx IEF1ZyAyMDI1IDEyOjE5OjU5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggNTcvNTldIGFwcHMvc3Bl ZWQuYzogU3VwcG9ydCBtb3JlIHNpZ25hdHVyZSBhbGdvcml0aG1zCi1NSU1FLVZlcnNpb246IDEu MAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVNvbWUgc2lnbmF0dXJlIGFsZ29yaXRobXMgKGUuZy4sIE1M LURTQS02NSkgY2Fubm90IGJlIGluaXRpYWxpemVkCi12aWEgRVZQX1BLRVlfc2lnbl9pbml0LCBz byB0cnkgYWxzbyBFVlBfUEtFWV9zaWduX21lc3NhZ2VfaW5pdAotYmVmb3JlIHJlcG9ydGluZyBh biBlcnJvci4KLQotRml4ZXMgIzI3MTA4LgotCi1TaWduZWQtb2ZmLWJ5OiBQYXZvbCDFvcOhxI1p ayA8emFjaWsucGFAZ21haWwuY29tPgotCi1SZXZpZXdlZC1ieTogVG9tYXMgTXJheiA8dG9tYXNA b3BlbnNzbC5vcmc+Ci1SZXZpZXdlZC1ieTogRG1pdHJ5IEJlbHlhdnNraXkgPGJlbGRtaXRAZ21h aWwuY29tPgotKE1lcmdlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wv cHVsbC8yODIyNCkKLS0tLQotIGFwcHMvc3BlZWQuYyB8IDY5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNTMgaW5z ZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9hcHBzL3NwZWVkLmMg Yi9hcHBzL3NwZWVkLmMKLWluZGV4IGE1MWQ2YTU3ZDQuLjQwNTBmNDZiY2UgMTAwNjQ0Ci0tLS0g YS9hcHBzL3NwZWVkLmMKLSsrKyBiL2FwcHMvc3BlZWQuYwotQEAgLTQyNDgsNiArNDI0OCw3IEBA IGludCBzcGVlZF9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgICAgICAgICBFVlBf UEtFWV9DVFggKnNpZ19nZW5fY3R4ID0gTlVMTDsKLSAgICAgICAgICAgICBFVlBfUEtFWV9DVFgg KnNpZ19zaWduX2N0eCA9IE5VTEw7Ci0gICAgICAgICAgICAgRVZQX1BLRVlfQ1RYICpzaWdfdmVy aWZ5X2N0eCA9IE5VTEw7Ci0rICAgICAgICAgICAgRVZQX1NJR05BVFVSRSAqYWxnID0gTlVMTDsK LSAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIG1kW1NIQTI1Nl9ESUdFU1RfTEVOR1RIXTsKLSAg ICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpzaWc7Ci0gICAgICAgICAgICAgY2hhciBzZnhbTUFY X0FMR05BTUVfU1VGRklYXTsKLUBAIC00MzA4LDIxICs0MzA5LDQ4IEBAIGludCBzcGVlZF9tYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWdf bmFtZSk7Ci0gICAgICAgICAgICAgICAgIGdvdG8gc2lnX2Vycl9icmVhazsKLSAgICAgICAgICAg ICB9Ci0rCi0rICAgICAgICAgICAgLyoKLSsgICAgICAgICAgICAgKiBUcnkgZXhwbGljaXRseSBm ZXRjaGluZyB0aGUgc2lnbmF0dXJlIGFsZ29yaXRtIGltcGxlbWVudGF0aW9uIHRvCi0rICAgICAg ICAgICAgICogdXNlIGluIGNhc2UgdGhlIGFsZ29yaXRobSBkb2VzIG5vdCBzdXBwb3J0IEVWUF9Q S0VZX3NpZ25faW5pdAotKyAgICAgICAgICAgICAqLwotKyAgICAgICAgICAgIEVSUl9zZXRfbWFy aygpOwotKyAgICAgICAgICAgIGFsZyA9IEVWUF9TSUdOQVRVUkVfZmV0Y2goYXBwX2dldDBfbGli Y3R4KCksIHNpZ19uYW1lLCBhcHBfZ2V0MF9wcm9wcSgpKTsKLSsgICAgICAgICAgICBFUlJfcG9w X3RvX21hcmsoKTsKLSsKLSAgICAgICAgICAgICAvKiBOb3cgcHJlcGFyZSBzaWduYXR1cmUgZGF0 YSBzdHJ1Y3RzICovCi0gICAgICAgICAgICAgc2lnX3NpZ25fY3R4ID0gRVZQX1BLRVlfQ1RYX25l d19mcm9tX3BrZXkoYXBwX2dldDBfbGliY3R4KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtleSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBfZ2V0MF9wcm9wcSgpKTsKLS0g ICAgICAgICAgICBpZiAoc2lnX3NpZ25fY3R4ID09IE5VTEwKLS0gICAgICAgICAgICAgICAgfHwg RVZQX1BLRVlfc2lnbl9pbml0KHNpZ19zaWduX2N0eCkgPD0gMAotLSAgICAgICAgICAgICAgICB8 fCAodXNlX3BhcmFtcyA9PSAxCi0tICAgICAgICAgICAgICAgICAgICAmJiAoRVZQX1BLRVlfQ1RY X3NldF9yc2FfcGFkZGluZyhzaWdfc2lnbl9jdHgsCi0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSU0FfUEtDUzFfUEFERElORykgPD0gMCkpCi0t ICAgICAgICAgICAgICAgIHx8IEVWUF9QS0VZX3NpZ24oc2lnX3NpZ25fY3R4LCBOVUxMLCAmbWF4 X3NpZ19sZW4sCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWQsIG1kX2xlbikg PD0gMCkgewotLSAgICAgICAgICAgICAgICAgICAgQklPX3ByaW50ZihiaW9fZXJyLAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiRXJyb3Igd2hpbGUgaW5pdGlhbGl6aW5nIHNpZ25p bmcgZGF0YSBzdHJ1Y3RzIGZvciAlcy5cbiIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNpZ19uYW1lKTsKLS0gICAgICAgICAgICAgICAgICAgIGdvdG8gc2lnX2Vycl9icmVhazsK LSsgICAgICAgICAgICBpZiAoc2lnX3NpZ25fY3R4ID09IE5VTEwpIHsKLSsgICAgICAgICAgICAg ICAgQklPX3ByaW50ZihiaW9fZXJyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJFcnJv ciB3aGlsZSBpbml0aWFsaXppbmcgc2lnbmluZyBjdHggZm9yICVzLlxuIiwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaWdfbmFtZSk7Ci0rICAgICAgICAgICAgICAgIGdvdG8gc2lnX2Vy cl9icmVhazsKLSsgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgRVJSX3NldF9tYXJrKCk7Ci0r ICAgICAgICAgICAgaWYgKEVWUF9QS0VZX3NpZ25faW5pdChzaWdfc2lnbl9jdHgpIDw9IDAKLSsg ICAgICAgICAgICAgICAgJiYgKGFsZyA9PSBOVUxMCi0rICAgICAgICAgICAgICAgICAgICB8fCBF VlBfUEtFWV9zaWduX21lc3NhZ2VfaW5pdChzaWdfc2lnbl9jdHgsIGFsZywgTlVMTCkgPD0gMCkp IHsKLSsgICAgICAgICAgICAgICAgRVJSX2NsZWFyX2xhc3RfbWFyaygpOwotKyAgICAgICAgICAg ICAgICBCSU9fcHJpbnRmKGJpb19lcnIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVy cm9yIHdoaWxlIGluaXRpYWxpemluZyBzaWduaW5nIGRhdGEgc3RydWN0cyBmb3IgJXMuXG4iLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ19uYW1lKTsKLSsgICAgICAgICAgICAgICAg Z290byBzaWdfZXJyX2JyZWFrOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBFUlJfcG9w X3RvX21hcmsoKTsKLSsgICAgICAgICAgICBpZiAodXNlX3BhcmFtcyA9PSAxICYmCi0rICAgICAg ICAgICAgICAgIEVWUF9QS0VZX0NUWF9zZXRfcnNhX3BhZGRpbmcoc2lnX3NpZ25fY3R4LCBSU0Ff UEtDUzFfUEFERElORykgPD0gMCkgewotKyAgICAgICAgICAgICAgICBCSU9fcHJpbnRmKGJpb19l cnIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVycm9yIHdoaWxlIGluaXRpYWxpemlu ZyBwYWRkaW5nIGZvciAlcy5cbiIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnX25h bWUpOwotKyAgICAgICAgICAgICAgICBnb3RvIHNpZ19lcnJfYnJlYWs7Ci0rICAgICAgICAgICAg fQotKyAgICAgICAgICAgIGlmIChFVlBfUEtFWV9zaWduKHNpZ19zaWduX2N0eCwgTlVMTCwgJm1h eF9zaWdfbGVuLCBtZCwgbWRfbGVuKSA8PSAwKSB7Ci0rICAgICAgICAgICAgICAgIEJJT19wcmlu dGYoYmlvX2VyciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAiRXJyb3Igd2hpbGUgb2J0 YWluaW5nIHNpZ25hdHVyZSBidWZmZmVyIGxlbmd0aCBmb3IgJXMuXG4iLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNpZ19uYW1lKTsKLSsgICAgICAgICAgICAgICAgZ290byBzaWdfZXJy X2JyZWFrOwotICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICBzaWcgPSBhcHBfbWFsbG9jKHNp Z19sZW4gPSBtYXhfc2lnX2xlbiwgInNpZ25hdHVyZSBidWZmZXIiKTsKLSAgICAgICAgICAgICBp ZiAoc2lnID09IE5VTEwpIHsKLUBAIC00MzM4LDE2ICs0MzY2LDIzIEBAIGludCBzcGVlZF9tYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgICAgICAgICBzaWdfdmVyaWZ5X2N0eCA9IEVW UF9QS0VZX0NUWF9uZXdfZnJvbV9wa2V5KGFwcF9nZXQwX2xpYmN0eCgpLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtleSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcF9n ZXQwX3Byb3BxKCkpOwotLSAgICAgICAgICAgIGlmIChzaWdfdmVyaWZ5X2N0eCA9PSBOVUxMCi0t ICAgICAgICAgICAgICAgIHx8IEVWUF9QS0VZX3ZlcmlmeV9pbml0KHNpZ192ZXJpZnlfY3R4KSA8 PSAwCi0tICAgICAgICAgICAgICAgIHx8ICh1c2VfcGFyYW1zID09IDEKLS0gICAgICAgICAgICAg ICAgICAmJiAoRVZQX1BLRVlfQ1RYX3NldF9yc2FfcGFkZGluZyhzaWdfdmVyaWZ5X2N0eCwKLS0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSU0FfUEtD UzFfUEFERElORykgPD0gMCkpKSB7Ci0rICAgICAgICAgICAgaWYgKHNpZ192ZXJpZnlfY3R4ID09 IE5VTEwpIHsKLSsgICAgICAgICAgICAgICAgQklPX3ByaW50ZihiaW9fZXJyLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICJFcnJvciB3aGlsZSBpbml0aWFsaXppbmcgdmVyaWZ5IGN0eCBm b3IgJXMuXG4iLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ19uYW1lKTsKLSsgICAg ICAgICAgICAgICAgZ290byBzaWdfZXJyX2JyZWFrOwotKyAgICAgICAgICAgIH0KLSsgICAgICAg ICAgICBFUlJfc2V0X21hcmsoKTsKLSsgICAgICAgICAgICBpZiAoRVZQX1BLRVlfdmVyaWZ5X2lu aXQoc2lnX3ZlcmlmeV9jdHgpIDw9IDAKLSsgICAgICAgICAgICAgICAgJiYgKGFsZyA9PSBOVUxM Ci0rICAgICAgICAgICAgICAgICAgICB8fCBFVlBfUEtFWV92ZXJpZnlfbWVzc2FnZV9pbml0KHNp Z192ZXJpZnlfY3R4LCBhbGcsIE5VTEwpIDw9IDApKSB7Ci0rICAgICAgICAgICAgICAgIEVSUl9j bGVhcl9sYXN0X21hcmsoKTsKLSAgICAgICAgICAgICAgICAgQklPX3ByaW50ZihiaW9fZXJyLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFcnJvciB3aGlsZSBpbml0aWFsaXppbmcgdmVy aWZ5IGRhdGEgc3RydWN0cyBmb3IgJXMuXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpZ19uYW1lKTsKLSAgICAgICAgICAgICAgICAgZ290byBzaWdfZXJyX2JyZWFrOwotICAgICAg ICAgICAgIH0KLSsgICAgICAgICAgICBFUlJfcG9wX3RvX21hcmsoKTsKLSAgICAgICAgICAgICBp ZiAoRVZQX1BLRVlfdmVyaWZ5KHNpZ192ZXJpZnlfY3R4LCBzaWcsIHNpZ19sZW4sIG1kLCBtZF9s ZW4pIDw9IDApIHsKLSAgICAgICAgICAgICAgICAgQklPX3ByaW50ZihiaW9fZXJyLCAiVmVyaWZ5 IGVycm9yIGZvciAlcy5cbiIsIHNpZ19uYW1lKTsKLSAgICAgICAgICAgICAgICAgZ290byBzaWdf ZXJyX2JyZWFrOwotQEAgLTQzNjMsMTIgKzQzOTgsMTQgQEAgaW50IHNwZWVkX21haW4oaW50IGFy Z2MsIGNoYXIgKiphcmd2KQotICAgICAgICAgICAgIGxvb3BhcmdzW2ldLnNpZ19hY3Rfc2lnX2xl blt0ZXN0bnVtXSA9IHNpZ19sZW47Ci0gICAgICAgICAgICAgbG9vcGFyZ3NbaV0uc2lnX3NpZ1t0 ZXN0bnVtXSA9IHNpZzsKLSAgICAgICAgICAgICBFVlBfUEtFWV9mcmVlKHBrZXkpOwotKyAgICAg ICAgICAgIEVWUF9TSUdOQVRVUkVfZnJlZShhbGcpOwotICAgICAgICAgICAgIHBrZXkgPSBOVUxM OwotICAgICAgICAgICAgIGNvbnRpbnVlOwotIAotICAgICAgICAgc2lnX2Vycl9icmVhazoKLSAg ICAgICAgICAgICBkb2ZhaWwoKTsKLSAgICAgICAgICAgICBFVlBfUEtFWV9mcmVlKHBrZXkpOwot KyAgICAgICAgICAgIEVWUF9TSUdOQVRVUkVfZnJlZShhbGcpOwotICAgICAgICAgICAgIG9wX2Nv dW50ID0gMTsKLSAgICAgICAgICAgICBzaWdfY2hlY2tzID0gMDsKLSAgICAgICAgICAgICBicmVh azsKLS0tIAotMi41MS4wCi0KCmRpZmYgLS1naXQgYS8wMDU4LUFkZC10YXJnZXRzLXRvLXNraXAt YnVpbGQtb2Ytbm9uLWluc3RhbGxhYmxlLXByb2dyYW0ucGF0Y2ggYi8wMDU4LUFkZC10YXJnZXRz LXRvLXNraXAtYnVpbGQtb2Ytbm9uLWluc3RhbGxhYmxlLXByb2dyYW0ucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4N2MyNzguLjAwMDAwMDAKLS0tIGEvMDA1OC1BZGQtdGFy Z2V0cy10by1za2lwLWJ1aWxkLW9mLW5vbi1pbnN0YWxsYWJsZS1wcm9ncmFtLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTU4ICswLDAgQEAKLUZyb20gZjMyMGRhNDZmNzA2YTgwMTNkZTUzMmVl MWEzNDcwM2JkODE0YmUwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/ cT9QYXZvbD0yMD1DNT1CRD1DMz1BMT1DND04RGlrPz0gPHphY2lrLnBhQGdtYWlsLmNvbT4KLURh dGU6IFR1ZSwgMTkgQXVnIDIwMjUgMTQ6MjY6MDcgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA1OC81 OV0gQWRkIHRhcmdldHMgdG8gc2tpcCBidWlsZCBvZiBub24taW5zdGFsbGFibGUgcHJvZ3JhbXMK LQotVGhlc2UgbWFrZSBpdCBwb3NzaWJsZSB0byBzcGxpdCB0aGUgYnVpbGQgaW50byB0d28KLXBh cnRzLCBlLmcuLCB3aGVuIHRlc3RzIHNob3VsZCBiZSBidWlsdCB3aXRoIGRpZmZlcmVudAotY29t cGlsZXIgZmxhZ3MgdGhhbiBpbnN0YWxsZWQgc29mdHdhcmUuCi0KLUFsc28gdXNlIHRoZXNlIGFz IGRlcGVuZGVjaWVzIHdoZXJlIGFwcHJvcHJpYXRlLgotCi1SZXZpZXdlZC1ieTogUGF1bCBZYW5n IDxwYXVseWFuZy5pbmZAZ21haWwuY29tPgotUmV2aWV3ZWQtYnk6IERtaXRyeSBCZWx5YXZza2l5 IDxiZWxkbWl0QGdtYWlsLmNvbT4KLVJldmlld2VkLWJ5OiBOZWlsIEhvcm1hbiA8bmhvcm1hbkBv cGVuc3NsLm9yZz4KLShNZXJnZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVu c3NsL3B1bGwvMjgzMDIpCi0tLS0KLSBDb25maWd1cmF0aW9ucy9kZXNjcmlwLm1tcy50bXBsICAg ICAgfCA3ICsrKysrLS0KLSBDb25maWd1cmF0aW9ucy91bml4LU1ha2VmaWxlLnRtcGwgICAgfCA5 ICsrKysrKy0tLQotIENvbmZpZ3VyYXRpb25zL3dpbmRvd3MtbWFrZWZpbGUudG1wbCB8IDggKysr KysrLS0KLSB1dGlsL2hlbHAucGwgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCi0gNCBm aWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0t Z2l0IGEvQ29uZmlndXJhdGlvbnMvZGVzY3JpcC5tbXMudG1wbCBiL0NvbmZpZ3VyYXRpb25zL2Rl c2NyaXAubW1zLnRtcGwKLWluZGV4IGRiNmExYjE3OTkuLmJjN2ZjMzZiNDYgMTAwNjQ0Ci0tLS0g YS9Db25maWd1cmF0aW9ucy9kZXNjcmlwLm1tcy50bXBsCi0rKysgYi9Db25maWd1cmF0aW9ucy9k ZXNjcmlwLm1tcy50bXBsCi1AQCAtNDkxLDYgKzQ5MSw4IEBAIE5PREVCVUc9QAotIHstIGRlcGVu ZG1hZ2ljKCdidWlsZF9saWJzJyk7IC19IDogYnVpbGRfbGlic19ub2RlcAotIHstIGRlcGVuZG1h Z2ljKCdidWlsZF9tb2R1bGVzJyk7IC19IDogYnVpbGRfbW9kdWxlc19ub2RlcAotIHstIGRlcGVu ZG1hZ2ljKCdidWlsZF9wcm9ncmFtcycpOyAtfSA6IGJ1aWxkX3Byb2dyYW1zX25vZGVwCi0rey0g ZGVwZW5kbWFnaWMoJ2J1aWxkX2luc3Rfc3cnKTsgLX0gOiBidWlsZF9saWJzX25vZGVwLCBidWls ZF9tb2R1bGVzX25vZGVwLCBidWlsZF9pbnN0X3Byb2dyYW1zX25vZGVwCi0rey0gZGVwZW5kbWFn aWMoJ2J1aWxkX2luc3RfcHJvZ3JhbXMnKTsgLX0gOiBidWlsZF9pbnN0X3Byb2dyYW1zX25vZGVw Ci0gCi0gYnVpbGRfZ2VuZXJhdGVkX3BvZHMgOiAkKEdFTkVSQVRFRF9QT0RTKQotIGJ1aWxkX2Rv Y3MgOiBidWlsZF9odG1sX2RvY3MKLUBAIC01MDAsNiArNTAyLDcgQEAgYnVpbGRfZ2VuZXJhdGVk IDogJChHRU5FUkFURURfTUFOREFUT1JZKQotIGJ1aWxkX2xpYnNfbm9kZXAgOiAkKExJQlMpLCAk KFNITElCUykKLSBidWlsZF9tb2R1bGVzX25vZGVwIDogJChNT0RVTEVTKQotIGJ1aWxkX3Byb2dy YW1zX25vZGVwIDogJChQUk9HUkFNUyksICQoU0NSSVBUUykKLStidWlsZF9pbnN0X3Byb2dyYW1z X25vZGVwIDogJChJTlNUQUxMX1BST0dSQU1TKSwgJChTQ1JJUFRTKQotIAotICMgS2VwdCBhcm91 bmQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKLSBidWlsZF9hcHBzIGJ1aWxkX3Rlc3RzIDog YnVpbGRfcHJvZ3JhbXMKLUBAIC02MDYsNyArNjA5LDcgQEAgaW5zdGFsbF9kb2NzIDogaW5zdGFs bF9odG1sX2RvY3MKLSB1bmluc3RhbGxfZG9jcyA6IHVuaW5zdGFsbF9odG1sX2RvY3MKLSAKLSB7 LSBvdXRwdXRfb2ZmKCkgaWYgJGRpc2FibGVke2ZpcHN9OyAiIiAtfQotLWluc3RhbGxfZmlwcyA6 IGJ1aWxkX3N3ICQoSU5TVEFMTF9GSVBTTU9EVUxFQ09ORikKLStpbnN0YWxsX2ZpcHMgOiBidWls ZF9pbnN0X3N3ICQoSU5TVEFMTF9GSVBTTU9EVUxFQ09ORikKLSAJQCBXUklURSBTWVMkT1VUUFVU ICIqKiogSW5zdGFsbGluZyBGSVBTIG1vZHVsZSIKLSAJLSBDUkVBVEUvRElSIG9zc2xfaW5zdGFs bHJvb3Q6W01PRFVMRVN7LSAkdGFyZ2V0e3BvaW50ZXJfc2l6ZX0gLX0uJ2FyY2gnXQotIAktIENS RUFURS9ESVIvUFJPVD0oUzpSV0VELE86UldFLEc6UkUsVzpSRSkgT1NTTF9EQVRBUk9PVDpbMDAw MDAwXQotQEAgLTY4Nyw3ICs2OTAsNyBAQCBpbnN0YWxsX3J1bnRpbWVfbGlicyA6IGNoZWNrX0lO U1RBTExUT1AgYnVpbGRfbGlicwotICAgICAgICAgICAgICAgICBAaW5zdGFsbF9zaGxpYnMpIC19 Ci0gICAgICAgICBAIHstIG91dHB1dF9vbigpIGlmICRkaXNhYmxlZHtzaGFyZWR9OyAiIiAtfSAh Ci0gCi0taW5zdGFsbF9wcm9ncmFtcyA6IGNoZWNrX0lOU1RBTExUT1AgaW5zdGFsbF9ydW50aW1l X2xpYnMgYnVpbGRfcHJvZ3JhbXMKLStpbnN0YWxsX3Byb2dyYW1zIDogY2hlY2tfSU5TVEFMTFRP UCBpbnN0YWxsX3J1bnRpbWVfbGlicyBidWlsZF9pbnN0X3Byb2dyYW1zCi0gICAgICAgICBAIHst IG91dHB1dF9vZmYoKSBpZiAkZGlzYWJsZWR7YXBwc307ICIiIC19ICEKLSAgICAgICAgIEAgISBJ bnN0YWxsIHRoZSBtYWluIHByb2dyYW0KLSAgICAgICAgIC0gQ1JFQVRFL0RJUiBvc3NsX2luc3Rh bGxyb290OltFWEUuJ2FyY2gnXQotZGlmZiAtLWdpdCBhL0NvbmZpZ3VyYXRpb25zL3VuaXgtTWFr ZWZpbGUudG1wbCBiL0NvbmZpZ3VyYXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbAotaW5kZXggNzQx MzllYzIyOC4uMTZhYWI5Y2Q3NiAxMDA2NDQKLS0tLSBhL0NvbmZpZ3VyYXRpb25zL3VuaXgtTWFr ZWZpbGUudG1wbAotKysrIGIvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsCi1AQCAt NTQ3LDcgKzU0Nyw5IEBAIExBTkc9QwotIHstIGRlcGVuZG1hZ2ljKCdidWlsZF9zdycsICdCdWls ZCBhbGwgdGhlIHNvZnR3YXJlIChkZWZhdWx0IHRhcmdldCknKTsgLX06IGJ1aWxkX2xpYnNfbm9k ZXAgYnVpbGRfbW9kdWxlc19ub2RlcCBidWlsZF9wcm9ncmFtc19ub2RlcCBsaW5rLXV0aWxzCi0g ey0gZGVwZW5kbWFnaWMoJ2J1aWxkX2xpYnMnLCAnQnVpbGQgdGhlIGxpYnJhcmllcyBsaWJzc2wg YW5kIGxpYmNyeXB0bycpOyAtfTogYnVpbGRfbGlic19ub2RlcAotIHstIGRlcGVuZG1hZ2ljKCdi dWlsZF9tb2R1bGVzJywgJ0J1aWxkIHRoZSBtb2R1bGVzIChpLmUuIHByb3ZpZGVycyBhbmQgZW5n aW5lcyknKTsgLX06IGJ1aWxkX21vZHVsZXNfbm9kZXAKLS17LSBkZXBlbmRtYWdpYygnYnVpbGRf cHJvZ3JhbXMnLCAnQnVpbGQgdGhlIG9wZW5zc2wgZXhlY3V0YWJsZXMgYW5kIHNjcmlwdHMnKTsg LX06IGJ1aWxkX3Byb2dyYW1zX25vZGVwCi0rey0gZGVwZW5kbWFnaWMoJ2J1aWxkX3Byb2dyYW1z JywgJ0J1aWxkIHRoZSBvcGVuc3NsIGV4ZWN1dGFibGVzLCBzY3JpcHRzIGFuZCBhbGwgb3RoZXIg cHJvZ3JhbXMgYXMgY29uZmlndXJlZCAoZS5nLiB0ZXN0cyBvciBkZW1vcyknKTsgLX06IGJ1aWxk X3Byb2dyYW1zX25vZGVwCi0rey0gZGVwZW5kbWFnaWMoJ2J1aWxkX2luc3Rfc3cnLCAnQnVpbGQg YWxsIHRoZSBzb2Z0d2FyZSB0byBiZSBpbnN0YWxsZWQnKTsgLX06IGJ1aWxkX2xpYnNfbm9kZXAg YnVpbGRfbW9kdWxlc19ub2RlcCBidWlsZF9pbnN0X3Byb2dyYW1zX25vZGVwIGxpbmstdXRpbHMK LSt7LSBkZXBlbmRtYWdpYygnYnVpbGRfaW5zdF9wcm9ncmFtcycsICdCdWlsZCBvbmx5IHRoZSBp bnN0YWxsYWJsZSBvcGVuc3NsIGV4ZWN1dGFibGVzIGFuZCBzY3JpcHRzJyk7IC19OiBidWlsZF9p bnN0X3Byb2dyYW1zX25vZGVwCi0gCi0gYWxsOiBidWlsZF9zdyB7LSAiYnVpbGRfZG9jcyIgaWYg ISRkaXNhYmxlZHtkb2NzfTsgLX0gIyMgQnVpbGQgc29mdHdhcmUgYW5kIGRvY3VtZW50YXRpb24K LSBkZWJ1Z2luZm86ICQoU0hMSUJTKQotQEAgLTU2Niw2ICs1NjgsNyBAQCBidWlsZF9nZW5lcmF0 ZWQ6ICQoR0VORVJBVEVEX01BTkRBVE9SWSkKLSBidWlsZF9saWJzX25vZGVwOiAkKExJQlMpIHst IGpvaW4oIiAiLG1hcCB7IHBsYXRmb3JtLT5zaGFyZWRsaWJfc2ltcGxlKCRfKSAvLyBwbGF0Zm9y bS0+c2hhcmVkbGliX2ltcG9ydCgkXykgLy8gcGxhdGZvcm0tPnNoYXJlZGxpYigkXykgLy8gKCkg fSBAeyR1bmlmaWVkX2luZm97bGlicmFyaWVzfX0pIC19Ci0gYnVpbGRfbW9kdWxlc19ub2RlcDog JChNT0RVTEVTKQotIGJ1aWxkX3Byb2dyYW1zX25vZGVwOiAkKFBST0dSQU1TKSAkKFNDUklQVFMp Ci0rYnVpbGRfaW5zdF9wcm9ncmFtc19ub2RlcDogJChJTlNUQUxMX1BST0dSQU1TKSAkKFNDUklQ VFMpCi0gCi0gIyBLZXB0IGFyb3VuZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eQotIGJ1aWxk X2FwcHMgYnVpbGRfdGVzdHM6IGJ1aWxkX3Byb2dyYW1zCi1AQCAtNjgwLDcgKzY4Myw3IEBAIHVu aW5zdGFsbF9kb2NzOiB1bmluc3RhbGxfbWFuX2RvY3MgdW5pbnN0YWxsX2h0bWxfZG9jcyAjIyBV bmluc3RhbGwgbWFucGFnZXMgYW5kCi0gCSQoUk0pIC1yICIkKERFU1RESVIpJChET0NESVIpIgot IAotIHstIG91dHB1dF9vZmYoKSBpZiAkZGlzYWJsZWR7Zmlwc307ICIiIC19Ci0taW5zdGFsbF9m aXBzOiBidWlsZF9zdyAkKElOU1RBTExfRklQU01PRFVMRUNPTkYpCi0raW5zdGFsbF9maXBzOiBi dWlsZF9pbnN0X3N3ICQoSU5TVEFMTF9GSVBTTU9EVUxFQ09ORikKLSAJQFsgLW4gIiQoSU5TVEFM TFRPUCkiIF0gfHwgKGVjaG8gSU5TVEFMTFRPUCBzaG91bGQgbm90IGJlIGVtcHR5OyBleGl0IDEp Ci0gCUAkKFBFUkwpICQoU1JDRElSKS91dGlsL21rZGlyLXAucGwgIiQoREVTVERJUikkKE1PRFVM RVNESVIpIgotIAlAJChQRVJMKSAkKFNSQ0RJUikvdXRpbC9ta2Rpci1wLnBsICIkKERFU1RESVIp JChPUEVOU1NMRElSKSIKLUBAIC05NjUsNyArOTY4LDcgQEAgaW5zdGFsbF9ydW50aW1lX2xpYnM6 IGJ1aWxkX2xpYnMKLSAJCTogey0gb3V0cHV0X29uKCkgaWYgd2luZG93c2RsbCgpOyAiIiAtfTsg XAotIAlkb25lCi0gCi0taW5zdGFsbF9wcm9ncmFtczogaW5zdGFsbF9ydW50aW1lX2xpYnMgYnVp bGRfcHJvZ3JhbXMKLStpbnN0YWxsX3Byb2dyYW1zOiBpbnN0YWxsX3J1bnRpbWVfbGlicyBidWls ZF9pbnN0X3Byb2dyYW1zCi0gCUBbIC1uICIkKElOU1RBTExUT1ApIiBdIHx8IChlY2hvIElOU1RB TExUT1Agc2hvdWxkIG5vdCBiZSBlbXB0eTsgZXhpdCAxKQotIAlAJChQRVJMKSAkKFNSQ0RJUikv dXRpbC9ta2Rpci1wLnBsICIkKERFU1RESVIpJChiaW5kaXIpIgotIAlAJChFQ0hPKSAiKioqIElu c3RhbGxpbmcgcnVudGltZSBwcm9ncmFtcyIKLWRpZmYgLS1naXQgYS9Db25maWd1cmF0aW9ucy93 aW5kb3dzLW1ha2VmaWxlLnRtcGwgYi9Db25maWd1cmF0aW9ucy93aW5kb3dzLW1ha2VmaWxlLnRt cGwKLWluZGV4IDg5NDgzNGNmYjcuLmI1ODcyMTI0ZGUgMTAwNjQ0Ci0tLS0gYS9Db25maWd1cmF0 aW9ucy93aW5kb3dzLW1ha2VmaWxlLnRtcGwKLSsrKyBiL0NvbmZpZ3VyYXRpb25zL3dpbmRvd3Mt bWFrZWZpbGUudG1wbAotQEAgLTQxOCw2ICs0MTgsOCBAQCBQUk9DRVNTT1I9IHstICRjb25maWd7 cHJvY2Vzc29yfSAtfQotIHstIGRlcGVuZG1hZ2ljKCdidWlsZF9saWJzJyk7IC19OiBidWlsZF9s aWJzX25vZGVwCi0gey0gZGVwZW5kbWFnaWMoJ2J1aWxkX21vZHVsZXMnKTsgLX06IGJ1aWxkX21v ZHVsZXNfbm9kZXAKLSB7LSBkZXBlbmRtYWdpYygnYnVpbGRfcHJvZ3JhbXMnKTsgLX06IGJ1aWxk X3Byb2dyYW1zX25vZGVwCi0rey0gZGVwZW5kbWFnaWMoJ2J1aWxkX2luc3Rfc3cnKTsgLX06IGJ1 aWxkX2xpYnNfbm9kZXAgYnVpbGRfbW9kdWxlc19ub2RlcCBidWlsZF9pbnN0X3Byb2dyYW1zX25v ZGVwIGNvcHktdXRpbHMKLSt7LSBkZXBlbmRtYWdpYygnYnVpbGRfaW5zdF9wcm9ncmFtcycpOyAt fTogYnVpbGRfaW5zdF9wcm9ncmFtc19ub2RlcAotIAotIGJ1aWxkX2RvY3M6IGJ1aWxkX2h0bWxf ZG9jcwotIGJ1aWxkX2h0bWxfZG9jczogJChIVE1MRE9DUzEpICQoSFRNTERPQ1MzKSAkKEhUTUxE T0NTNSkgJChIVE1MRE9DUzcpCi1AQCAtNDMwLDYgKzQzMiw4IEBAIGJ1aWxkX21vZHVsZXNfbm9k ZXA6ICQoTU9EVUxFUykKLSAJQAotIGJ1aWxkX3Byb2dyYW1zX25vZGVwOiAkKFBST0dSQU1TKSAk KFNDUklQVFMpCi0gCUAKLStidWlsZF9pbnN0X3Byb2dyYW1zX25vZGVwOiAkKElOU1RBTExfUFJP R1JBTVMpICQoU0NSSVBUUykKLSsJQAotIAotICMgS2VwdCBhcm91bmQgZm9yIGJhY2t3YXJkIGNv bXBhdGliaWxpdHkKLSBidWlsZF9hcHBzIGJ1aWxkX3Rlc3RzOiBidWlsZF9wcm9ncmFtcwotQEAg LTUwNyw3ICs1MTEsNyBAQCBpbnN0YWxsX2RvY3M6IGluc3RhbGxfaHRtbF9kb2NzCi0gdW5pbnN0 YWxsX2RvY3M6IHVuaW5zdGFsbF9odG1sX2RvY3MKLSAKLSB7LSBvdXRwdXRfb2ZmKCkgaWYgJGRp c2FibGVke2ZpcHN9OyAiIiAtfQotLWluc3RhbGxfZmlwczogYnVpbGRfc3cgJChJTlNUQUxMX0ZJ UFNNT0RVTEVDT05GKQotK2luc3RhbGxfZmlwczogYnVpbGRfaW5zdF9zdyAkKElOU1RBTExfRklQ U01PRFVMRUNPTkYpCi0gIwlAWyAtbiAiJChJTlNUQUxMVE9QKSIgXSB8fCAoZWNobyBJTlNUQUxM VE9QIHNob3VsZCBub3QgYmUgZW1wdHk7IGV4aXQgMSkKLSAJQCIkKFBFUkwpIiAiJChTUkNESVIp XHV0aWxcbWtkaXItcC5wbCIgIiQoTU9EVUxFU0RJUikiCi0gCUAiJChQRVJMKSIgIiQoU1JDRElS KVx1dGlsXG1rZGlyLXAucGwiICIkKE9QRU5TU0xESVIpIgotQEAgLTYwNyw3ICs2MTEsNyBAQCBp bnN0YWxsX3J1bnRpbWVfbGliczogYnVpbGRfbGlicwotIAkgIiQoUEVSTCkiICIkKFNSQ0RJUilc dXRpbFxjb3B5LnBsIiAkKElOU1RBTExfU0hMSUJQREJTKSBcCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICIkKElOU1RBTExUT1ApXGJpbiIKLSAKLS1pbnN0YWxsX3By b2dyYW1zOiBpbnN0YWxsX3J1bnRpbWVfbGlicyBidWlsZF9wcm9ncmFtcwotK2luc3RhbGxfcHJv Z3JhbXM6IGluc3RhbGxfcnVudGltZV9saWJzIGJ1aWxkX2luc3RfcHJvZ3JhbXMKLSAJQGlmICIk KElOU1RBTExUT1ApIj09IiIgKCAkKEVDSE8pICJJTlNUQUxMVE9QIHNob3VsZCBub3QgYmUgZW1w dHkiICYgZXhpdCAxICkKLSAJQCQoRUNITykgIioqKiBJbnN0YWxsaW5nIHJ1bnRpbWUgcHJvZ3Jh bXMiCi0gCUBpZiBub3QgIiQoSU5TVEFMTF9QUk9HUkFNUykiPT0iIiBcCi1kaWZmIC0tZ2l0IGEv dXRpbC9oZWxwLnBsIGIvdXRpbC9oZWxwLnBsCi1pbmRleCBhMTYxNGZlOGE5Li5lODhmZjRiYWUx IDEwMDc1NQotLS0tIGEvdXRpbC9oZWxwLnBsCi0rKysgYi91dGlsL2hlbHAucGwKLUBAIC0xNCw3 ICsxNCw3IEBAIHdoaWxlICg8PikgewotICAgICBjaG9tcDsJIyBzdHJpcCByZWNvcmQgc2VwYXJh dG9yCi0gICAgIEBGbGQgPSBzcGxpdCgkRlMsICRfLCAtMSk7Ci0gICAgIGlmICgvXlthLXpBLVow LTlfXC1dKzouKj8jIy8pIHsKLS0JcHJpbnRmICIgIFwwMzNbMzZtJS0xNXNcMDMzWzBtICVzXG4i LCAkRmxkWzBdLCAkRmxkWzFdCi0rCXByaW50ZiAiICBcMDMzWzM2bSUtMTlzXDAzM1swbSAlc1xu IiwgJEZsZFswXSwgJEZsZFsxXQotICAgICB9Ci0gICAgIGlmICgvXiMjQC8pIHsKLSAJcHJpbnRm ICJcblwwMzNbMW0lc1wwMzNbMG1cbiIsIHN1YnN0cigkRmxkWyRfXSwgKDUpLTEpOwotLS0gCi0y LjUxLjAKLQoKZGlmZiAtLWdpdCBhLzAwNTktUlNBX2VuY3J5cHQtZGVjcnlwdC13aXRoLXBhZGRp bmctTk9ORS1pcy1ub3Qtc3VwcG9ydC5wYXRjaCBiLzAwNTktUlNBX2VuY3J5cHQtZGVjcnlwdC13 aXRoLXBhZGRpbmctTk9ORS1pcy1ub3Qtc3VwcG9ydC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggNTMyM2Q2YS4uMDAwMDAwMAotLS0gYS8wMDU5LVJTQV9lbmNyeXB0LWRlY3J5 cHQtd2l0aC1wYWRkaW5nLU5PTkUtaXMtbm90LXN1cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwyOSArMCwwIEBACi1Gcm9tIDRiOTFkMDYwNDY0M2VmZjg0OWE0ODBmMzdiMjJmM2JkNzAy OWQ4OTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEbWl0cnkgQmVseWF2c2tpeSA8 YmVsZG1pdEBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDE3IE9jdCAyMDI1IDE3OjQ1OjQ4ICswMjAw Ci1TdWJqZWN0OiBbUEFUQ0ggNTkvNTldIFJTQV9lbmNyeXB0L2RlY3J5cHQgd2l0aCBwYWRkaW5n IE5PTkUgaXMgbm90IHN1cHBvcnRlZAotIGluCi0KLVJIRUwvQ2VudE9TL0ZlZG9yYSBGSVBTIG1v ZGUKLS0tLQotIHByb3ZpZGVycy9maXBzL3NlbGZfdGVzdF9rYXRzLmMgfCA0ICsrLS0KLSAxIGZp bGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0 IGEvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0X2thdHMuYyBiL3Byb3ZpZGVycy9maXBzL3NlbGZf dGVzdF9rYXRzLmMKLWluZGV4IGFjYjBiODVmNzMuLmM2OWM4MWJjOWMgMTAwNjQ0Ci0tLS0gYS9w cm92aWRlcnMvZmlwcy9zZWxmX3Rlc3Rfa2F0cy5jCi0rKysgYi9wcm92aWRlcnMvZmlwcy9zZWxm X3Rlc3Rfa2F0cy5jCi1AQCAtMTE5MCw4ICsxMTkwLDggQEAgaW50IFNFTEZfVEVTVF9rYXRzKE9T U0xfU0VMRl9URVNUICpzdCwgT1NTTF9MSUJfQ1RYICpsaWJjdHgpCi0gICAgICAgICByZXQgPSAw OwotICAgICBpZiAoIXNlbGZfdGVzdF9rZW1zKHN0LCBsaWJjdHgpKQotICAgICAgICAgcmV0ID0g MDsKLS0gICAgaWYgKCFzZWxmX3Rlc3RfYXN5bV9jaXBoZXJzKHN0LCBsaWJjdHgpKQotLSAgICAg ICAgcmV0ID0gMDsKLSsvKiAgICBpZiAoIXNlbGZfdGVzdF9hc3ltX2NpcGhlcnMoc3QsIGxpYmN0 eCkpCi0rICAgICAgICByZXQgPSAwOyAqLwotIAotICAgICBSQU5EX3NldDBfcHJpdmF0ZShsaWJj dHgsIHNhdmVkX3JhbmQpOwotICAgICByZXR1cm4gcmV0OwotLS0gCi0yLjUxLjAKLQoKZGlmZiAt LWdpdCBhLzAwNjAtQ1ZFLTIwMjUtMTU0NjcucGF0Y2ggYi8wMDYwLUNWRS0yMDI1LTE1NDY3LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTcyYjYyLi4wMDAwMDAwCi0tLSBh LzAwNjAtQ1ZFLTIwMjUtMTU0NjcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMDcgKzAsMCBA QAotRnJvbSAxOTBiYTU4YzBhMWQ5OTVkNGRhOGIwMTcwNTRkNGI3NGQxMzgyOTFjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSWdvciBVc3Rpbm92IDxpZ3VzNjhAZ21haWwuY29tPgot RGF0ZTogTW9uLCAxMiBKYW4gMjAyNiAxMjoxMzozNSArMDEwMAotU3ViamVjdDogW1BBVENIIDEv M10gQ29ycmVjdCBoYW5kbGluZyBvZiBBRUFELWVuY3J5cHRlZCBDTVMgd2l0aCBpbmFkbWlzc2li bHkKLSBsb25nIElWCi0KLUZpeGVzIENWRS0yMDI1LTE1NDY3Ci0tLS0KLSBjcnlwdG8vZXZwL2V2 cF9saWIuYyB8IDUgKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3J5cHRvL2V2cC9ldnBfbGliLmMgYi9jcnlwdG8v ZXZwL2V2cF9saWIuYwotaW5kZXggOWVhZTFkNDIxYzIuLjU4ZmE3Y2U0M2I0IDEwMDY0NAotLS0t IGEvY3J5cHRvL2V2cC9ldnBfbGliLmMKLSsrKyBiL2NyeXB0by9ldnAvZXZwX2xpYi5jCi1AQCAt MjI4LDEwICsyMjgsOSBAQCBpbnQgZXZwX2NpcGhlcl9nZXRfYXNuMV9hZWFkX3BhcmFtcyhFVlBf Q0lQSEVSX0NUWCAqYywgQVNOMV9UWVBFICp0eXBlLAotICAgICBpZiAodHlwZSA9PSBOVUxMIHx8 IGFzbjFfcGFyYW1zID09IE5VTEwpCi0gICAgICAgICByZXR1cm4gMDsKLSAKLS0gICAgaSA9IG9z c2xfYXNuMV90eXBlX2dldF9vY3RldHN0cmluZ19pbnQodHlwZSwgJnRsLCBOVUxMLCBFVlBfTUFY X0lWX0xFTkdUSCk7Ci0tICAgIGlmIChpIDw9IDApCi0rICAgIGkgPSBvc3NsX2FzbjFfdHlwZV9n ZXRfb2N0ZXRzdHJpbmdfaW50KHR5cGUsICZ0bCwgaXYsIEVWUF9NQVhfSVZfTEVOR1RIKTsKLSsg ICAgaWYgKGkgPD0gMCB8fCBpID4gRVZQX01BWF9JVl9MRU5HVEgpCi0gICAgICAgICByZXR1cm4g LTE7Ci0tICAgIG9zc2xfYXNuMV90eXBlX2dldF9vY3RldHN0cmluZ19pbnQodHlwZSwgJnRsLCBp diwgaSk7Ci0gCi0gICAgIG1lbWNweShhc24xX3BhcmFtcy0+aXYsIGl2LCBpKTsKLSAgICAgYXNu MV9wYXJhbXMtPml2X2xlbiA9IGk7Ci0KLUZyb20gNmZiNDc5NTdiZmIwYWVmMmRlYWE3ZGY3YWVi ZDRlYjUyZmZlMjBjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IElnb3IgVXN0aW5v diA8aWd1czY4QGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMTIgSmFuIDIwMjYgMTI6MTU6NDIgKzAx MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzNdIFNvbWUgY29tbWVudHMgdG8gY2xhcmlmeSBmdW5jdGlv bnMgdXNhZ2UKLQotLS0tCi0gY3J5cHRvL2FzbjEvZXZwX2FzbjEuYyB8IDIwICsrKysrKysrKysr KysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdp dCBhL2NyeXB0by9hc24xL2V2cF9hc24xLmMgYi9jcnlwdG8vYXNuMS9ldnBfYXNuMS5jCi1pbmRl eCAzODI1NzYzNjRiZS4uZTczYmRhNjRlM2QgMTAwNjQ0Ci0tLS0gYS9jcnlwdG8vYXNuMS9ldnBf YXNuMS5jCi0rKysgYi9jcnlwdG8vYXNuMS9ldnBfYXNuMS5jCi1AQCAtNjAsNiArNjAsMTIgQEAg c3RhdGljIG9zc2xfaW5saW5lIHZvaWQgYXNuMV90eXBlX2luaXRfb2N0KEFTTjFfT0NURVRfU1RS SU5HICpvY3QsCi0gICAgIG9jdC0+ZmxhZ3MgPSAwOwotIH0KLSAKLSsvKgotKyAqIFRoaXMgZnVu Y3Rpb24gY29waWVzICdhbnVtJyB0byAnbnVtJyBhbmQgdGhlIGRhdGEgb2YgJ29jdCcgdG8gJ2Rh dGEnLgotKyAqIElmIHRoZSBsZW5ndGggb2YgJ2RhdGEnID4gJ21heF9sZW4nLCBjb3BpZXMgb25s eSB0aGUgZmlyc3QgJ21heF9sZW4nCi0rICogYnl0ZXMsIGJ1dCByZXR1cm5zIHRoZSBmdWxsIGxl bmd0aCBvZiAnb2N0JzsgdGhpcyBhbGxvd3MgZGlzdGluZ3Vpc2hpbmcKLSsgKiB3aGV0aGVyIGFs bCB0aGUgZGF0YSB3YXMgY29waWVkLgotKyAqLwotIHN0YXRpYyBpbnQgYXNuMV90eXBlX2dldF9p bnRfb2N0KEFTTjFfT0NURVRfU1RSSU5HICpvY3QsIGludDMyX3QgYW51bSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsb25nICpudW0sIHVuc2lnbmVkIGNoYXIgKmRhdGEsIGlu dCBtYXhfbGVuKQotIHsKLUBAIC0xMDYsNiArMTEyLDEzIEBAIGludCBBU04xX1RZUEVfc2V0X2lu dF9vY3RldHN0cmluZyhBU04xX1RZUEUgKmEsIGxvbmcgbnVtLCB1bnNpZ25lZCBjaGFyICpkYXRh LAotICAgICByZXR1cm4gMDsKLSB9Ci0gCi0rLyoKLSsgKiBUaGlzIGZ1bmN0aW9uIGRlY29kZXMg YW4gaW50LW9jdGV0IHNlcXVlbmNlIGFuZCBjb3BpZXMgdGhlIGludGVnZXIgdG8gJ251bScKLSsg KiBhbmQgdGhlIGRhdGEgb2Ygb2N0ZXQgdG8gJ2RhdGEnLgotKyAqIElmIHRoZSBsZW5ndGggb2Yg J2RhdGEnID4gJ21heF9sZW4nLCBjb3BpZXMgb25seSB0aGUgZmlyc3QgJ21heF9sZW4nCi0rICog Ynl0ZXMsIGJ1dCByZXR1cm5zIHRoZSBmdWxsIGxlbmd0aCBvZiAnb2N0JzsgdGhpcyBhbGxvd3Mg ZGlzdGluZ3Vpc2hpbmcKLSsgKiB3aGV0aGVyIGFsbCB0aGUgZGF0YSB3YXMgY29waWVkLgotKyAq LwotIGludCBBU04xX1RZUEVfZ2V0X2ludF9vY3RldHN0cmluZyhjb25zdCBBU04xX1RZUEUgKmEs IGxvbmcgKm51bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg Y2hhciAqZGF0YSwgaW50IG1heF9sZW4pCi0gewotQEAgLTE2Miw2ICsxNzUsMTMgQEAgaW50IG9z c2xfYXNuMV90eXBlX3NldF9vY3RldHN0cmluZ19pbnQoQVNOMV9UWVBFICphLCBsb25nIG51bSwK LSAgICAgcmV0dXJuIDA7Ci0gfQotIAotKy8qCi0rICogVGhpcyBmdW5jdGlvbiBkZWNvZGVzIGFu IG9jdGV0LWludCBzZXF1ZW5jZSBhbmQgY29waWVzIHRoZSBkYXRhIG9mIG9jdGV0Ci0rICogdG8g J2RhdGEnIGFuZCB0aGUgaW50ZWdlciB0byAnbnVtJy4KLSsgKiBJZiB0aGUgbGVuZ3RoIG9mICdk YXRhJyA+ICdtYXhfbGVuJywgY29waWVzIG9ubHkgdGhlIGZpcnN0ICdtYXhfbGVuJwotKyAqIGJ5 dGVzLCBidXQgcmV0dXJucyB0aGUgZnVsbCBsZW5ndGggb2YgJ29jdCc7IHRoaXMgYWxsb3dzIGRp c3Rpbmd1aXNoaW5nCi0rICogd2hldGhlciBhbGwgdGhlIGRhdGEgd2FzIGNvcGllZC4KLSsgKi8K LSBpbnQgb3NzbF9hc24xX3R5cGVfZ2V0X29jdGV0c3RyaW5nX2ludChjb25zdCBBU04xX1RZUEUg KmEsIGxvbmcgKm51bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbWF4X2xlbikKLSB7Ci0KLUZyb20gMWU4ZjVjN2NkMmM0 NmIyNWEyODc3ZThmM2Y0YmJmOTU0ZmJjZGY3NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IElnb3IgVXN0aW5vdiA8aWd1czY4QGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTEgSmFuIDIw MjYgMTE6MzU6MTUgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIFRlc3QgZm9yIGhhbmRsaW5n IG9mIEFFQUQtZW5jcnlwdGVkIENNUyB3aXRoIGluYWRtaXNzaWJseQotIGxvbmcgSVYKLQotLS0t Ci0gdGVzdC9jbXNhcGl0ZXN0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzkgKysr KysrKysrKysrKysrKysrLQotIHRlc3QvcmVjaXBlcy84MC10ZXN0X2Ntc2FwaS50ICAgICAgICAg ICAgICAgICB8ICAzICstCi0gLi4uL2VuY0RhdGFXaXRoVG9vTG9uZ0lWLnBlbSAgICAgICAgICAg ICAgICAgIHwgMTEgKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3JlY2lwZXMvODAtdGVzdF9j bXNhcGlfZGF0YS9lbmNEYXRhV2l0aFRvb0xvbmdJVi5wZW0KLQotZGlmZiAtLWdpdCBhL3Rlc3Qv Y21zYXBpdGVzdC5jIGIvdGVzdC9jbXNhcGl0ZXN0LmMKLWluZGV4IDg4ZDUxOWZkMTQ4Li40NzJk MzBjOWU1ZCAxMDA2NDQKLS0tLSBhL3Rlc3QvY21zYXBpdGVzdC5jCi0rKysgYi90ZXN0L2Ntc2Fw aXRlc3QuYwotQEAgLTksMTAgKzksMTAgQEAKLSAKLSAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0gCi0r I2luY2x1ZGUgPG9wZW5zc2wvcGVtLmg+Ci0gI2luY2x1ZGUgPG9wZW5zc2wvY21zLmg+Ci0gI2lu Y2x1ZGUgPG9wZW5zc2wvYmlvLmg+Ci0gI2luY2x1ZGUgPG9wZW5zc2wveDUwOS5oPgotLSNpbmNs dWRlIDxvcGVuc3NsL3BlbS5oPgotICNpbmNsdWRlICIuLi9jcnlwdG8vY21zL2Ntc19sb2NhbC5o IiAvKiBmb3IgZC5zaWduZWREYXRhIGFuZCBkLmVudmVsb3BlZERhdGEgKi8KLSAKLSAjaW5jbHVk ZSAidGVzdHV0aWwuaCIKLUBAIC0yMCw2ICsyMCw3IEBACi0gc3RhdGljIFg1MDkgKmNlcnQgPSBO VUxMOwotIHN0YXRpYyBFVlBfUEtFWSAqcHJpdmtleSA9IE5VTEw7Ci0gc3RhdGljIGNoYXIgKmRl cmluID0gTlVMTDsKLStzdGF0aWMgY2hhciAqdG9vX2xvbmdfaXZfY21zX2luID0gTlVMTDsKLSAK LSBzdGF0aWMgaW50IHRlc3RfZW5jcnlwdF9kZWNyeXB0KGNvbnN0IEVWUF9DSVBIRVIgKmNpcGhl cikKLSB7Ci1AQCAtNDc5LDYgKzQ4MCwzOCBAQCBzdGF0aWMgaW50IHRlc3RfZW5jcnlwdGVkX2Rh dGFfYWVhZCh2b2lkKQotICAgICByZXR1cm4gcmV0OwotIH0KLSAKLStzdGF0aWMgaW50IHRlc3Rf Y21zX2Flc2djbV9pdl90b29fbG9uZyh2b2lkKQotK3sKLSsgICAgaW50IHJldCA9IDA7Ci0rICAg IEJJTyAqY21zYmlvID0gTlVMTCwgKm91dCA9IE5VTEw7Ci0rICAgIENNU19Db250ZW50SW5mbyAq Y21zID0gTlVMTDsKLSsgICAgdW5zaWduZWQgbG9uZyBlcnIgPSAwOwotKwotKyAgICBpZiAoIVRF U1RfcHRyKGNtc2JpbyA9IEJJT19uZXdfZmlsZSh0b29fbG9uZ19pdl9jbXNfaW4sICJyIikpKQot KyAgICAgICAgZ290byBlbmQ7Ci0rCi0rICAgIGlmICghVEVTVF9wdHIoY21zID0gUEVNX3JlYWRf YmlvX0NNUyhjbXNiaW8sIE5VTEwsIE5VTEwsIE5VTEwpKSkKLSsgICAgICAgIGdvdG8gZW5kOwot KwotKyAgICAvKiBNdXN0IGZhaWwgY2xlYW5seSAobm8gY3Jhc2gpICovCi0rICAgIGlmICghVEVT VF9mYWxzZShDTVNfZGVjcnlwdChjbXMsIHByaXZrZXksIGNlcnQsIE5VTEwsIG91dCwgMCkpKQot KyAgICAgICAgZ290byBlbmQ7Ci0rICAgIGVyciA9IEVSUl9wZWVrX2xhc3RfZXJyb3IoKTsKLSsg ICAgaWYgKCFURVNUX3Vsb25nX25lKGVyciwgMCkpCi0rICAgICAgICBnb3RvIGVuZDsKLSsgICAg aWYgKCFURVNUX2ludF9lcShFUlJfR0VUX0xJQihlcnIpLCBFUlJfTElCX0NNUykpCi0rICAgICAg ICBnb3RvIGVuZDsKLSsgICAgaWYgKCFURVNUX2ludF9lcShFUlJfR0VUX1JFQVNPTihlcnIpLCBD TVNfUl9DSVBIRVJfUEFSQU1FVEVSX0lOSVRJQUxJU0FUSU9OX0VSUk9SKSkKLSsgICAgICAgIGdv dG8gZW5kOwotKwotKyAgICByZXQgPSAxOwotK2VuZDoKLSsgICAgQ01TX0NvbnRlbnRJbmZvX2Zy ZWUoY21zKTsKLSsgICAgQklPX2ZyZWUoY21zYmlvKTsKLSsgICAgQklPX2ZyZWUob3V0KTsKLSsg ICAgcmV0dXJuIHJldDsKLSt9Ci0rCi0gT1BUX1RFU1RfREVDTEFSRV9VU0FHRSgiY2VydGZpbGUg cHJpdmtleWZpbGUgZGVyZmlsZVxuIikKLSAKLSBpbnQgc2V0dXBfdGVzdHModm9pZCkKLUBAIC00 OTMsNyArNTI2LDggQEAgaW50IHNldHVwX3Rlc3RzKHZvaWQpCi0gCi0gICAgIGlmICghVEVTVF9w dHIoY2VydGluID0gdGVzdF9nZXRfYXJndW1lbnQoMCkpCi0gICAgICAgICAgICAgfHwgIVRFU1Rf cHRyKHByaXZrZXlpbiA9IHRlc3RfZ2V0X2FyZ3VtZW50KDEpKQotLSAgICAgICAgICAgIHx8ICFU RVNUX3B0cihkZXJpbiA9IHRlc3RfZ2V0X2FyZ3VtZW50KDIpKSkKLSsgICAgICAgIHx8ICFURVNU X3B0cihkZXJpbiA9IHRlc3RfZ2V0X2FyZ3VtZW50KDIpKQotKyAgICAgICAgfHwgIVRFU1RfcHRy KHRvb19sb25nX2l2X2Ntc19pbiA9IHRlc3RfZ2V0X2FyZ3VtZW50KDMpKSkKLSAgICAgICAgIHJl dHVybiAwOwotIAotICAgICBjZXJ0YmlvID0gQklPX25ld19maWxlKGNlcnRpbiwgInIiKTsKLUBA IC01MjksNiArNTYzLDcgQEAgaW50IHNldHVwX3Rlc3RzKHZvaWQpCi0gICAgIEFERF9URVNUKHRl c3RfQ01TX2FkZDFfY2VydCk7Ci0gICAgIEFERF9URVNUKHRlc3RfZDJpX0NNU19iaW9fTlVMTCk7 Ci0gICAgIEFERF9BTExfVEVTVFModGVzdF9kMmlfQ01TX2RlY29kZSwgMik7Ci0rICAgIEFERF9U RVNUKHRlc3RfY21zX2Flc2djbV9pdl90b29fbG9uZyk7Ci0gICAgIHJldHVybiAxOwotIH0KLSAK LWRpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXNhcGkudCBiL3Rlc3QvcmVjaXBl cy84MC10ZXN0X2Ntc2FwaS50Ci1pbmRleCBhZjAwMzU1YTlkNi4uMTgyNjI5ZTcxYTAgMTAwNjQ0 Ci0tLS0gYS90ZXN0L3JlY2lwZXMvODAtdGVzdF9jbXNhcGkudAotKysrIGIvdGVzdC9yZWNpcGVz LzgwLXRlc3RfY21zYXBpLnQKLUBAIC0xOCw1ICsxOCw2IEBAIHBsYW4gdGVzdHMgPT4gMTsKLSAK LSBvayhydW4odGVzdChbImNtc2FwaXRlc3QiLCBzcmN0b3BfZmlsZSgidGVzdCIsICJjZXJ0cyIs ICJzZXJ2ZXJjZXJ0LnBlbSIpLAotICAgICAgICAgICAgICBzcmN0b3BfZmlsZSgidGVzdCIsICJj ZXJ0cyIsICJzZXJ2ZXJrZXkucGVtIiksCi0tICAgICAgICAgICAgIHNyY3RvcF9maWxlKCJ0ZXN0 IiwgInJlY2lwZXMiLCAiODAtdGVzdF9jbXNhcGlfZGF0YSIsICJlbmNyeXB0ZWREYXRhLmRlciIp XSkpLAotKyAgICAgICAgICAgICBzcmN0b3BfZmlsZSgidGVzdCIsICJyZWNpcGVzIiwgIjgwLXRl c3RfY21zYXBpX2RhdGEiLCAiZW5jcnlwdGVkRGF0YS5kZXIiKSwKLSsgICAgICAgICAgICAgc3Jj dG9wX2ZpbGUoInRlc3QiLCAicmVjaXBlcyIsICI4MC10ZXN0X2Ntc2FwaV9kYXRhIiwgImVuY0Rh dGFXaXRoVG9vTG9uZ0lWLnBlbSIpXSkpLAotICAgICAgICAgICAgICAicnVubmluZyBjbXNhcGl0 ZXN0Iik7Ci1kaWZmIC0tZ2l0IGEvdGVzdC9yZWNpcGVzLzgwLXRlc3RfY21zYXBpX2RhdGEvZW5j RGF0YVdpdGhUb29Mb25nSVYucGVtIGIvdGVzdC9yZWNpcGVzLzgwLXRlc3RfY21zYXBpX2RhdGEv ZW5jRGF0YVdpdGhUb29Mb25nSVYucGVtCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAw MDAwMDAwMDAuLjQzMjNjZDJmYjBjCi0tLS0gL2Rldi9udWxsCi0rKysgYi90ZXN0L3JlY2lwZXMv ODAtdGVzdF9jbXNhcGlfZGF0YS9lbmNEYXRhV2l0aFRvb0xvbmdJVi5wZW0KLUBAIC0wLDAgKzEs MTEgQEAKLSstLS0tLUJFR0lOIENNUy0tLS0tCi0rTUlJQm1nWUxLb1pJaHZjTkFRa1FBUmVnZ2dH Sk1JSUJoUUlCQURHQ0FUTXdnZ0V2QWdFQU1CY3dFakVRTUE0RwotK0ExVUVBd3dIVW05dmRDQkRR UUlCQWpBTkJna3Foa2lHOXcwQkFRRUZBQVNDQVFDOFpxUDFPcWJsZXRjVXJlMVYKLStiNFhPb2Ja elFyNndLTVNzZGp0R3pWYlpvd1VWdjVEa09uOVZPZWZycGc0SHhNcS9vaThJcHpWWWo4WmlLUk1W Ci0rTlRKKy9kOEZ3d0J3VVVOTlAvSURuZkVwWCtyVDErcEdTNXpBYTdOZW5Mb1pnR0JOalB5NUky T0hQMjNmUG5FZAotK3NtOFlrRmp6dWJraEFEMWxvZDlwRU9FcUIzVjJrVHJUVGl3elNOdE1IZ2du YTF6UG94NlRrZFp3Rm1NbnA4ZDIKLStDVmE2bElQR3gyNmdGd0N1SURTYWF2bVEyVVJKNjE1TDhn QXZwWVVscHNEcWpGc2FiV3NiYU9GYk16M2JJR0p1Ci0rR2tyWDJlelg3Q3B1QzF3aml4MjZvamxU eVNKSHYrTDBJcnBjYUl6TGxDNWxCMXJxdHVpamE4ZEdtM3JCTm0vUAotK0FBVU5NRGNHQ1NxR1NJ YjNEUUVIQVRBakJnbGdoa2dCWlFNRUFRWXdGZ1FSenh3b1JRek9IVm9vVm4zQ3BhV2wKLStwYVVD QVJDQUJVTmRvbG82QkJBNTVFOWhZYVlPMlM4Qy9abkQ4ZFJPCi0rLS0tLS1FTkQgQ01TLS0tLS0K CmRpZmYgLS1naXQgYS8wMDYxLUNWRS0yMDI1LTE1NDY4LnBhdGNoIGIvMDA2MS1DVkUtMjAyNS0x NTQ2OC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGUwY2YyMS4uMDAwMDAw MAotLS0gYS8wMDYxLUNWRS0yMDI1LTE1NDY4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjQg KzAsMCBAQAotRnJvbSA3ZGE2YWZlM2RhYzdkNjViMzBmODdmMmM1ZDMwNWI2ZTY5OWJjNWRjIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGFuaWVsIEt1YmVjIDxrdWJlY0BvcGVuc3Ns Lm9yZz4KLURhdGU6IEZyaSwgOSBKYW4gMjAyNiAxNDozMzoyNCArMDEwMAotU3ViamVjdDogW1BB VENIXSBvc3NsX3F1aWNfZ2V0X2NpcGhlcl9ieV9jaGFyKCk6IEFkZCBhIE5VTEwgZ3VhcmQgYmVm b3JlCi0gZGVyZWZlcmVuY2luZyBTU0xfQ0lQSEVSCi0KLUZpeGVzIENWRS0yMDI1LTE1NDY4Ci0t LS0KLSBzc2wvcXVpYy9xdWljX2ltcGwuYyB8IDIgKysKLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zc2wvcXVpYy9xdWljX2ltcGwuYyBiL3NzbC9xdWlj L3F1aWNfaW1wbC5jCi1pbmRleCA4N2MxMzcwYThkNi4uODljMTA4YTk3MzQgMTAwNjQ0Ci0tLS0g YS9zc2wvcXVpYy9xdWljX2ltcGwuYwotKysrIGIvc3NsL3F1aWMvcXVpY19pbXBsLmMKLUBAIC01 MjIyLDYgKzUyMjIsOCBAQCBjb25zdCBTU0xfQ0lQSEVSICpvc3NsX3F1aWNfZ2V0X2NpcGhlcl9i eV9jaGFyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnApCi0gewotICAgICBjb25zdCBTU0xfQ0lQSEVS ICpjaXBoID0gc3NsM19nZXRfY2lwaGVyX2J5X2NoYXIocCk7Ci0gCi0rICAgIGlmIChjaXBoID09 IE5VTEwpCi0rICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgaWYgKChjaXBoLT5hbGdvcml0aG0y ICYgU1NMX1FVSUMpID09IDApCi0gICAgICAgICByZXR1cm4gTlVMTDsKLSAKCmRpZmYgLS1naXQg YS8wMDYyLUNWRS0yMDI1LTE1NDY5LnBhdGNoIGIvMDA2Mi1DVkUtMjAyNS0xNTQ2OS5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzdmMTEzYy4uMDAwMDAwMAotLS0gYS8wMDYy LUNWRS0yMDI1LTE1NDY5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjY2ICswLDAgQEAKLUZy b20gZWY0ODgxMGFhZmRjM2I4YzZjNGE4NWU1MjMxNGNhZWVjMGNiNTk2YyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IFZpa3RvciBEdWtob3ZuaSA8b3BlbnNzbC11c2Vyc0BkdWtob3Zu aS5vcmc+Ci1EYXRlOiBXZWQsIDcgSmFuIDIwMjYgMDE6MjE6NTggKzExMDAKLVN1YmplY3Q6IFtQ QVRDSF0gUmVwb3J0IHRydW5jYXRpb24gaW4gb25lc2hvdCBgb3BlbnNzbCBkZ3N0IC1zaWduYAot Ci1QcmV2aW91c2x5IGlucHV0IHdhcyBzaWxlbnRseSB0cnVuY2F0ZWQgYXQgMTZNQiwgbm93IGlm IHRoZSBpbnB1dCBpcwotbG9uZ2VyIHRoYW4gbGltaXQsIGFuIGVycm9yIGlzIHJlcG9ydGVkLgot Ci1UaGUgYmlvX3RvX21lbSgpIGFwcHMgaGVscGVyIGZ1bmN0aW9uIHdhcyBjaGFuZ2VkIHRvIHJl dHVybiAwIG9yIDEsCi1hbmQgcmV0dXJuIHRoZSBzaXplIG9mIHRoZSByZXN1bHQgdmlhIGFuIG91 dHB1dCBzaXplX3QgcG9pbnRlci4KLQotRml4ZXMgIENWRS0yMDI1LTE1NDY5Ci0tLS0KLSBhcHBz L2Rnc3QuYyAgICAgICAgIHwgIDcgKysrLS0tCi0gYXBwcy9pbmNsdWRlL2FwcHMuaCB8ICAyICst Ci0gYXBwcy9saWIvYXBwcy5jICAgICB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQotIGFwcHMvcGtleXV0bC5jICAgICAgfCAzNiArKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLQotIDQgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwgNTAg ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9hcHBzL2Rnc3QuYyBiL2FwcHMvZGdzdC5jCi1p bmRleCA5NDQxNTEyOGQ3Zi4uNzE2OGI1ZjhiODQgMTAwNjQ0Ci0tLS0gYS9hcHBzL2Rnc3QuYwot KysrIGIvYXBwcy9kZ3N0LmMKLUBAIC03MjEsMTIgKzcyMSwxMSBAQCBzdGF0aWMgaW50IGRvX2Zw X29uZXNob3Rfc2lnbihCSU8gKm91dCwgRVZQX01EX0NUWCAqY3R4LCBCSU8gKmluLCBpbnQgc2Vw LCBpbnQgYgotIHsKLSAgICAgaW50IHJlcywgcmV0ID0gRVhJVF9GQUlMVVJFOwotICAgICBzaXpl X3QgbGVuID0gMDsKLS0gICAgaW50IGJ1ZmxlbiA9IDA7Ci0tICAgIGludCBtYXhsZW4gPSAxNiAq IDEwMjQgKiAxMDI0OwotKyAgICBzaXplX3QgYnVmbGVuID0gMDsKLSsgICAgc2l6ZV90IG1heGxl biA9IDE2ICogMTAyNCAqIDEwMjQ7Ci0gICAgIHVpbnQ4X3QgKmJ1ZiA9IE5VTEwsICpzaWcgPSBO VUxMOwotIAotLSAgICBidWZsZW4gPSBiaW9fdG9fbWVtKCZidWYsIG1heGxlbiwgaW4pOwotLSAg ICBpZiAoYnVmbGVuIDw9IDApIHsKLSsgICAgaWYgKCFiaW9fdG9fbWVtKCZidWYsICZidWZsZW4s IG1heGxlbiwgaW4pKSB7Ci0gICAgICAgICBCSU9fcHJpbnRmKGJpb19lcnIsICJSZWFkIGVycm9y IGluICVzXG4iLCBmaWxlKTsKLSAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgIH0KLWRpZmYgLS1n aXQgYS9hcHBzL2luY2x1ZGUvYXBwcy5oIGIvYXBwcy9pbmNsdWRlL2FwcHMuaAotaW5kZXggNmEy M2RiYmIxMzEuLmM5NDcxZGRjNGVkIDEwMDY0NAotLS0tIGEvYXBwcy9pbmNsdWRlL2FwcHMuaAot KysrIGIvYXBwcy9pbmNsdWRlL2FwcHMuaAotQEAgLTI1Myw3ICsyNTMsNyBAQCBpbnQgcGFyc2Vf eWVzbm8oY29uc3QgY2hhciAqc3RyLCBpbnQgZGVmKTsKLSBYNTA5X05BTUUgKnBhcnNlX25hbWUo Y29uc3QgY2hhciAqc3RyLCBpbnQgY2h0eXBlLCBpbnQgbXVsdGlyZG4sCi0gICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIgKmRlc2MpOwotIHZvaWQgcG9saWNpZXNfcHJpbnQoWDUwOV9T VE9SRV9DVFggKmN0eCk7Ci0taW50IGJpb190b19tZW0odW5zaWduZWQgY2hhciAqKm91dCwgaW50 IG1heGxlbiwgQklPICppbik7Ci0raW50IGJpb190b19tZW0odW5zaWduZWQgY2hhciAqKm91dCwg c2l6ZV90ICpvdXRsZW4sIHNpemVfdCBtYXhsZW4sIEJJTyAqaW4pOwotIGludCBwa2V5X2N0cmxf c3RyaW5nKEVWUF9QS0VZX0NUWCAqY3R4LCBjb25zdCBjaGFyICp2YWx1ZSk7Ci0gaW50IHg1MDlf Y3RybF9zdHJpbmcoWDUwOSAqeCwgY29uc3QgY2hhciAqdmFsdWUpOwotIGludCB4NTA5X3JlcV9j dHJsX3N0cmluZyhYNTA5X1JFUSAqeCwgY29uc3QgY2hhciAqdmFsdWUpOwotZGlmZiAtLWdpdCBh L2FwcHMvbGliL2FwcHMuYyBiL2FwcHMvbGliL2FwcHMuYwotaW5kZXggMGU0MzY1ODIwMzAuLjc2 ZjNjMTY4M2IyIDEwMDY0NAotLS0tIGEvYXBwcy9saWIvYXBwcy5jCi0rKysgYi9hcHBzL2xpYi9h cHBzLmMKLUBAIC00OSw2ICs0OSw3IEBACi0gI2luY2x1ZGUgImFwcHMuaCIKLSAKLSAjaW5jbHVk ZSAiaW50ZXJuYWwvc29ja2V0cy5oIiAvKiBmb3Igb3BlbnNzbF9mZHNldCgpICovCi0rI2luY2x1 ZGUgImludGVybmFsL251bWJlcnMuaCIgLyogZm9yIExPTkdfTUFYICovCi0gI2luY2x1ZGUgImlu dGVybmFsL2Vfb3MuaCIKLSAKLSAjaWZkZWYgX1dJTjMyCi1AQCAtMjAxMCw0NSArMjAxMSw0NSBA QCBYNTA5X05BTUUgKnBhcnNlX25hbWUoY29uc3QgY2hhciAqY3AsIGludCBjaHR5cGUsIGludCBj YW5tdWx0aSwKLSB9Ci0gCi0gLyoKLS0gKiBSZWFkIHdob2xlIGNvbnRlbnRzIG9mIGEgQklPIGlu dG8gYW4gYWxsb2NhdGVkIG1lbW9yeSBidWZmZXIgYW5kIHJldHVybgotLSAqIGl0LgotKyAqIFJl YWQgd2hvbGUgY29udGVudHMgb2YgYSBCSU8gaW50byBhbiBhbGxvY2F0ZWQgbWVtb3J5IGJ1ZmZl ci4KLSsgKiBUaGUgcmV0dXJuIHZhbHVlIGlzIG9uZSBvbiBzdWNjZXNzLCB6ZXJvIG9uIGVycm9y LgotKyAqIElmIGBtYXhsZW5gIGlzIG5vbi16ZXJvLCBhdCBtb3N0IGBtYXhsZW5gIGJ5dGVzIGFy ZSByZXR1cm5lZCwgb3IgZWxzZSwgaWYKLSsgKiB0aGUgaW5wdXQgaXMgbG9uZ2VyIHRoYW4gYG1h eGxlbmAsIGFuIGVycm9yIGlzIHJldHVybmVkLgotKyAqIElmIGBtYXhsZW5gIGlzIHplcm8sIHRo ZSBsaW1pdCBpcyBlZmZlY3RpdmVseSBgU0laRV9NQVhgLgotICAqLwotLQotLWludCBiaW9fdG9f bWVtKHVuc2lnbmVkIGNoYXIgKipvdXQsIGludCBtYXhsZW4sIEJJTyAqaW4pCi0raW50IGJpb190 b19tZW0odW5zaWduZWQgY2hhciAqKm91dCwgc2l6ZV90ICpvdXRsZW4sIHNpemVfdCBtYXhsZW4s IEJJTyAqaW4pCi0gewotKyAgICB1bnNpZ25lZCBjaGFyIHRidWZbNDA5Nl07Ci0gICAgIEJJTyAq bWVtOwotLSAgICBpbnQgbGVuLCByZXQ7Ci0tICAgIHVuc2lnbmVkIGNoYXIgdGJ1ZlsxMDI0XTsK LSsgICAgQlVGX01FTSAqYnVmbTsKLSsgICAgc2l6ZV90IHN6ID0gMDsKLSsgICAgaW50IGxlbjsK LSAKLSAgICAgbWVtID0gQklPX25ldyhCSU9fc19tZW0oKSk7Ci0gICAgIGlmIChtZW0gPT0gTlVM TCkKLS0gICAgICAgIHJldHVybiAtMTsKLSsgICAgICAgIHJldHVybiAwOwotICAgICBmb3IgKDs7 KSB7Ci0tICAgICAgICBpZiAoKG1heGxlbiAhPSAtMSkgJiYgbWF4bGVuIDwgMTAyNCkKLS0gICAg ICAgICAgICBsZW4gPSBtYXhsZW47Ci0tICAgICAgICBlbHNlCi0tICAgICAgICAgICAgbGVuID0g MTAyNDsKLS0gICAgICAgIGxlbiA9IEJJT19yZWFkKGluLCB0YnVmLCBsZW4pOwotLSAgICAgICAg aWYgKGxlbiA8IDApIHsKLS0gICAgICAgICAgICBCSU9fZnJlZShtZW0pOwotLSAgICAgICAgICAg IHJldHVybiAtMTsKLS0gICAgICAgIH0KLS0gICAgICAgIGlmIChsZW4gPT0gMCkKLSsgICAgICAg IGlmICgobGVuID0gQklPX3JlYWQoaW4sIHRidWYsIDQwOTYpKSA9PSAwKQotICAgICAgICAgICAg IGJyZWFrOwotLSAgICAgICAgaWYgKEJJT193cml0ZShtZW0sIHRidWYsIGxlbikgIT0gbGVuKSB7 Ci0rICAgICAgICBpZiAobGVuIDwgMAotKyAgICAgICAgICAgIHx8IEJJT193cml0ZShtZW0sIHRi dWYsIGxlbikgIT0gbGVuCi0rICAgICAgICAgICAgfHwgc3ogPiBTSVpFX01BWCAtIGxlbgotKyAg ICAgICAgICAgIHx8ICgoc3ogKz0gbGVuKSA+IG1heGxlbiAmJiBtYXhsZW4gIT0gMCkpIHsKLSAg ICAgICAgICAgICBCSU9fZnJlZShtZW0pOwotLSAgICAgICAgICAgIHJldHVybiAtMTsKLSsgICAg ICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgIH0KLS0gICAgICAgIGlmIChtYXhsZW4gIT0gLTEp Ci0tICAgICAgICAgICAgbWF4bGVuIC09IGxlbjsKLS0KLS0gICAgICAgIGlmIChtYXhsZW4gPT0g MCkKLS0gICAgICAgICAgICBicmVhazsKLSAgICAgfQotLSAgICByZXQgPSBCSU9fZ2V0X21lbV9k YXRhKG1lbSwgKGNoYXIgKiopb3V0KTsKLS0gICAgQklPX3NldF9mbGFncyhtZW0sIEJJT19GTEFH U19NRU1fUkRPTkxZKTsKLSsKLSsgICAgLyogU28gQklPX2ZyZWUgb3JwaGFucyBCVUZfTUVNICov Ci0rICAgICh2b2lkKUJJT19zZXRfY2xvc2UobWVtLCBCSU9fTk9DTE9TRSk7Ci0rICAgIEJJT19n ZXRfbWVtX3B0cihtZW0sICZidWZtKTsKLSAgICAgQklPX2ZyZWUobWVtKTsKLS0gICAgcmV0dXJu IHJldDsKLSsgICAgKm91dCA9ICh1bnNpZ25lZCBjaGFyICopYnVmbS0+ZGF0YTsKLSsgICAgKm91 dGxlbiA9IGJ1Zm0tPmxlbmd0aDsKLSsgICAgLyogVGVsbCBCVUZfTUVNIHRvIG9ycGhhbiBkYXRh ICovCi0rICAgIGJ1Zm0tPmRhdGEgPSBOVUxMOwotKyAgICBCVUZfTUVNX2ZyZWUoYnVmbSk7Ci0r ICAgIHJldHVybiAxOwotIH0KLSAKLSBpbnQgcGtleV9jdHJsX3N0cmluZyhFVlBfUEtFWV9DVFgg KmN0eCwgY29uc3QgY2hhciAqdmFsdWUpCi1kaWZmIC0tZ2l0IGEvYXBwcy9wa2V5dXRsLmMgYi9h cHBzL3BrZXl1dGwuYwotaW5kZXggZGVlY2VjNmJjZDcuLjI2ODExMTRmYmExIDEwMDY0NAotLS0t IGEvYXBwcy9wa2V5dXRsLmMKLSsrKyBiL2FwcHMvcGtleXV0bC5jCi1AQCAtNDAsNyArNDAsNyBA QCBzdGF0aWMgaW50IGRvX2tleW9wKEVWUF9QS0VZX0NUWCAqY3R4LCBpbnQgcGtleV9vcCwKLSAK LSBzdGF0aWMgaW50IGRvX3Jhd19rZXlvcChpbnQgcGtleV9vcCwgRVZQX01EX0NUWCAqbWN0eCwK LSAgICAgICAgICAgICAgICAgICAgICAgICBFVlBfUEtFWSAqcGtleSwgQklPICppbiwKLS0gICAg ICAgICAgICAgICAgICAgICAgICBpbnQgZmlsZXNpemUsIHVuc2lnbmVkIGNoYXIgKnNpZywgaW50 IHNpZ2xlbiwKLSsgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmlsZXNpemUsIHVuc2lnbmVk IGNoYXIgKnNpZywgc2l6ZV90IHNpZ2xlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBjaGFyICoqb3V0LCBzaXplX3QgKnBvdXRsZW4pOwotIAotIHN0YXRpYyBpbnQgb25seV9u b21kKEVWUF9QS0VZICpwa2V5KQotQEAgLTE1OCw3ICsxNTgsNyBAQCBpbnQgcGtleXV0bF9tYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgY2hhciBoZXhkdW1wID0gMCwgYXNuMXBhcnNl ID0gMCwgcmV2ID0gMCwgKnByb2c7Ci0gICAgIHVuc2lnbmVkIGNoYXIgKmJ1Zl9pbiA9IE5VTEws ICpidWZfb3V0ID0gTlVMTCwgKnNpZyA9IE5VTEwsICpzZWNyZXQgPSBOVUxMOwotICAgICBPUFRJ T05fQ0hPSUNFIG87Ci0tICAgIGludCBidWZfaW5sZW4gPSAwLCBzaWdsZW4gPSAtMTsKLSsgICAg c2l6ZV90IGJ1Zl9pbmxlbiA9IDAsIHNpZ2xlbiA9IDA7Ci0gICAgIGludCBrZXlmb3JtID0gRk9S TUFUX1VOREVGLCBwZWVyZm9ybSA9IEZPUk1BVF9VTkRFRjsKLSAgICAgaW50IGtleXNpemUgPSAt MSwgcGtleV9vcCA9IEVWUF9QS0VZX09QX1NJR04sIGtleV90eXBlID0gS0VZX1BSSVZLRVk7Ci0g ICAgIGludCBlbmdpbmVfaW1wbCA9IDA7Ci1AQCAtNTA4LDMxICs1MDgsMzEgQEAgaW50IHBrZXl1 dGxfbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gCi0gICAgIGlmIChzaWdmaWxlICE9IE5V TEwpIHsKLSAgICAgICAgIEJJTyAqc2lnYmlvID0gQklPX25ld19maWxlKHNpZ2ZpbGUsICJyYiIp OwotKyAgICAgICAgc2l6ZV90IG1heHNpZ2xlbiA9IDE2ICogMTAyNCAqIDEwMjQ7Ci0gCi0gICAg ICAgICBpZiAoc2lnYmlvID09IE5VTEwpIHsKLSAgICAgICAgICAgICBCSU9fcHJpbnRmKGJpb19l cnIsICJDYW4ndCBvcGVuIHNpZ25hdHVyZSBmaWxlICVzXG4iLCBzaWdmaWxlKTsKLSAgICAgICAg ICAgICBnb3RvIGVuZDsKLSAgICAgICAgIH0KLS0gICAgICAgIHNpZ2xlbiA9IGJpb190b19tZW0o JnNpZywga2V5c2l6ZSAqIDEwLCBzaWdiaW8pOwotLSAgICAgICAgQklPX2ZyZWUoc2lnYmlvKTsK LS0gICAgICAgIGlmIChzaWdsZW4gPCAwKSB7Ci0rICAgICAgICBpZiAoIWJpb190b19tZW0oJnNp ZywgJnNpZ2xlbiwgbWF4c2lnbGVuLCBzaWdiaW8pKSB7Ci0rICAgICAgICAgICAgQklPX2ZyZWUo c2lnYmlvKTsKLSAgICAgICAgICAgICBCSU9fcHJpbnRmKGJpb19lcnIsICJFcnJvciByZWFkaW5n IHNpZ25hdHVyZSBkYXRhXG4iKTsKLSAgICAgICAgICAgICBnb3RvIGVuZDsKLSAgICAgICAgIH0K LSsgICAgICAgIEJJT19mcmVlKHNpZ2Jpbyk7Ci0gICAgIH0KLSAKLSAgICAgLyogUmF3IGlucHV0 IGRhdGEgaXMgaGFuZGxlZCBlbHNld2hlcmUgKi8KLSAgICAgaWYgKGluICE9IE5VTEwgJiYgIXJh d2luKSB7Ci0gICAgICAgICAvKiBSZWFkIHRoZSBpbnB1dCBkYXRhICovCi0tICAgICAgICBidWZf aW5sZW4gPSBiaW9fdG9fbWVtKCZidWZfaW4sIC0xLCBpbik7Ci0tICAgICAgICBpZiAoYnVmX2lu bGVuIDwgMCkgewotKyAgICAgICAgaWYgKCFiaW9fdG9fbWVtKCZidWZfaW4sICZidWZfaW5sZW4s IDAsIGluKSkgewotICAgICAgICAgICAgIEJJT19wcmludGYoYmlvX2VyciwgIkVycm9yIHJlYWRp bmcgaW5wdXQgRGF0YVxuIik7Ci0gICAgICAgICAgICAgZ290byBlbmQ7Ci0gICAgICAgICB9Ci0g ICAgICAgICBpZiAocmV2KSB7Ci0gICAgICAgICAgICAgc2l6ZV90IGk7Ci0gICAgICAgICAgICAg dW5zaWduZWQgY2hhciBjdG1wOwotLSAgICAgICAgICAgIHNpemVfdCBsID0gKHNpemVfdClidWZf aW5sZW47Ci0rICAgICAgICAgICAgc2l6ZV90IGwgPSBidWZfaW5sZW47Ci0gCi0gICAgICAgICAg ICAgZm9yIChpID0gMDsgaSA8IGwgLyAyOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgY3RtcCA9 IGJ1Zl9pbltpXTsKLUBAIC01NDcsNyArNTQ3LDggQEAgaW50IHBrZXl1dGxfbWFpbihpbnQgYXJn YywgY2hhciAqKmFyZ3YpCi0gICAgICAgICAmJiAocGtleV9vcCA9PSBFVlBfUEtFWV9PUF9TSUdO IHx8IHBrZXlfb3AgPT0gRVZQX1BLRVlfT1BfVkVSSUZZKSkgewotICAgICAgICAgaWYgKGJ1Zl9p bmxlbiA+IEVWUF9NQVhfTURfU0laRSkgewotICAgICAgICAgICAgIEJJT19wcmludGYoYmlvX2Vy ciwKLS0gICAgICAgICAgICAgICAgICAgICAgICJFcnJvcjogVGhlIG5vbi1yYXcgaW5wdXQgZGF0 YSBsZW5ndGggJWQgaXMgdG9vIGxvbmcgLSBtYXggc3VwcG9ydGVkIGhhc2hlZCBzaXplIGlzICVk XG4iLAotKyAgICAgICAgICAgICAgICAgICAgICAgIkVycm9yOiBUaGUgbm9uLXJhdyBpbnB1dCBk YXRhIGxlbmd0aCAlemQgaXMgdG9vIGxvbmcgLSAiCi0rICAgICAgICAgICAgICAgICAgICAgICAi bWF4IHN1cHBvcnRlZCBoYXNoZWQgc2l6ZSBpcyAlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAg ICAgIGJ1Zl9pbmxlbiwgRVZQX01BWF9NRF9TSVpFKTsKLSAgICAgICAgICAgICBnb3RvIGVuZDsK LSAgICAgICAgIH0KLUBAIC01NTgsOCArNTU5LDcgQEAgaW50IHBrZXl1dGxfbWFpbihpbnQgYXJn YywgY2hhciAqKmFyZ3YpCi0gICAgICAgICAgICAgcnYgPSBkb19yYXdfa2V5b3AocGtleV9vcCwg bWN0eCwgcGtleSwgaW4sIGZpbGVzaXplLCBzaWcsIHNpZ2xlbiwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOVUxMLCAwKTsKLSAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAg cnYgPSBFVlBfUEtFWV92ZXJpZnkoY3R4LCBzaWcsIChzaXplX3Qpc2lnbGVuLAotLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zl9pbiwgKHNpemVfdClidWZfaW5sZW4pOwotKyAg ICAgICAgICAgIHJ2ID0gRVZQX1BLRVlfdmVyaWZ5KGN0eCwgc2lnLCBzaWdsZW4sIGJ1Zl9pbiwg YnVmX2lubGVuKTsKLSAgICAgICAgIH0KLSAgICAgICAgIGlmIChydiA9PSAxKSB7Ci0gICAgICAg ICAgICAgQklPX3B1dHMob3V0LCAiU2lnbmF0dXJlIFZlcmlmaWVkIFN1Y2Nlc3NmdWxseVxuIik7 Ci1AQCAtNTc4LDggKzU3OCw4IEBAIGludCBwa2V5dXRsX21haW4oaW50IGFyZ2MsIGNoYXIgKiph cmd2KQotICAgICAgICAgICAgIGJ1Zl9vdXRsZW4gPSBrZGZsZW47Ci0gICAgICAgICAgICAgcnYg PSAxOwotICAgICAgICAgfSBlbHNlIHsKLS0gICAgICAgICAgICBydiA9IGRvX2tleW9wKGN0eCwg cGtleV9vcCwgTlVMTCwgKHNpemVfdCAqKSZidWZfb3V0bGVuLAotLSAgICAgICAgICAgICAgICAg ICAgICAgICAgYnVmX2luLCAoc2l6ZV90KWJ1Zl9pbmxlbiwgTlVMTCwgKHNpemVfdCAqKSZzZWNy ZXRsZW4pOwotKyAgICAgICAgICAgIHJ2ID0gZG9fa2V5b3AoY3R4LCBwa2V5X29wLCBOVUxMLCAm YnVmX291dGxlbiwKLSsgICAgICAgICAgICAgICAgYnVmX2luLCBidWZfaW5sZW4sIE5VTEwsICZz ZWNyZXRsZW4pOwotICAgICAgICAgfQotICAgICAgICAgaWYgKHJ2ID4gMAotICAgICAgICAgICAg ICYmIChzZWNyZXRsZW4gPiAwIHx8IChwa2V5X29wICE9IEVWUF9QS0VZX09QX0VOQ0FQU1VMQVRF Ci1AQCAtNTg5LDggKzU4OSw4IEBAIGludCBwa2V5dXRsX21haW4oaW50IGFyZ2MsIGNoYXIgKiph cmd2KQotICAgICAgICAgICAgIGlmIChzZWNyZXRsZW4gPiAwKQotICAgICAgICAgICAgICAgICBz ZWNyZXQgPSBhcHBfbWFsbG9jKHNlY3JldGxlbiwgInNlY3JldCBvdXRwdXQiKTsKLSAgICAgICAg ICAgICBydiA9IGRvX2tleW9wKGN0eCwgcGtleV9vcCwKLS0gICAgICAgICAgICAgICAgICAgICAg ICAgIGJ1Zl9vdXQsIChzaXplX3QgKikmYnVmX291dGxlbiwKLS0gICAgICAgICAgICAgICAgICAg ICAgICAgIGJ1Zl9pbiwgKHNpemVfdClidWZfaW5sZW4sIHNlY3JldCwgKHNpemVfdCAqKSZzZWNy ZXRsZW4pOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmX291dCwgJmJ1Zl9vdXRsZW4s Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICBidWZfaW4sIGJ1Zl9pbmxlbiwgc2VjcmV0LCAm c2VjcmV0bGVuKTsKLSAgICAgICAgIH0KLSAgICAgfQotICAgICBpZiAocnYgPD0gMCkgewotQEAg LTg1Nyw3ICs4NTcsNyBAQCBzdGF0aWMgaW50IGRvX2tleW9wKEVWUF9QS0VZX0NUWCAqY3R4LCBp bnQgcGtleV9vcCwKLSAKLSBzdGF0aWMgaW50IGRvX3Jhd19rZXlvcChpbnQgcGtleV9vcCwgRVZQ X01EX0NUWCAqbWN0eCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBFVlBfUEtFWSAqcGtleSwg QklPICppbiwKLS0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmlsZXNpemUsIHVuc2lnbmVk IGNoYXIgKnNpZywgaW50IHNpZ2xlbiwKLSsgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmls ZXNpemUsIHVuc2lnbmVkIGNoYXIgKnNpZywgc2l6ZV90IHNpZ2xlbiwKLSAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBjaGFyICoqb3V0LCBzaXplX3QgKnBvdXRsZW4pCi0gewotICAg ICBpbnQgcnYgPSAwOwotQEAgLTg4MCw3ICs4ODAsNyBAQCBzdGF0aWMgaW50IGRvX3Jhd19rZXlv cChpbnQgcGtleV9vcCwgRVZQX01EX0NUWCAqbWN0eCwKLSAgICAgICAgICAgICAgICAgQklPX3By aW50ZihiaW9fZXJyLCAiRXJyb3IgcmVhZGluZyByYXcgaW5wdXQgZGF0YVxuIik7Ci0gICAgICAg ICAgICAgICAgIGdvdG8gZW5kOwotICAgICAgICAgICAgIH0KLS0gICAgICAgICAgICBydiA9IEVW UF9EaWdlc3RWZXJpZnkobWN0eCwgc2lnLCAoc2l6ZV90KXNpZ2xlbiwgbWJ1ZiwgYnVmX2xlbik7 Ci0rICAgICAgICAgICAgcnYgPSBFVlBfRGlnZXN0VmVyaWZ5KG1jdHgsIHNpZywgc2lnbGVuLCBt YnVmLCBidWZfbGVuKTsKLSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIGNhc2UgRVZQX1BL RVlfT1BfU0lHTjoKLSAgICAgICAgICAgICBidWZfbGVuID0gQklPX3JlYWQoaW4sIG1idWYsIGZp bGVzaXplKTsKLUBAIC05MTQsNyArOTE0LDcgQEAgc3RhdGljIGludCBkb19yYXdfa2V5b3AoaW50 IHBrZXlfb3AsIEVWUF9NRF9DVFggKm1jdHgsCi0gICAgICAgICAgICAgICAgIGdvdG8gZW5kOwot ICAgICAgICAgICAgIH0KLSAgICAgICAgIH0KLS0gICAgICAgIHJ2ID0gRVZQX0RpZ2VzdFZlcmlm eUZpbmFsKG1jdHgsIHNpZywgKHNpemVfdClzaWdsZW4pOwotKyAgICAgICAgcnYgPSBFVlBfRGln ZXN0VmVyaWZ5RmluYWwobWN0eCwgc2lnLCBzaWdsZW4pOwotICAgICAgICAgYnJlYWs7Ci0gICAg IGNhc2UgRVZQX1BLRVlfT1BfU0lHTjoKLSAgICAgICAgIGZvciAoOzspIHsKCmRpZmYgLS1naXQg YS8wMDYzLUNWRS0yMDI1LTY2MTk5LnBhdGNoIGIvMDA2My1DVkUtMjAyNS02NjE5OS5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGI5YWExZi4uMDAwMDAwMAotLS0gYS8wMDYz LUNWRS0yMDI1LTY2MTk5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotRnJv bSAwNGE5M2FjMTQ1MDQxZTNlZjAxMjFhMjY4OGNmN2MxYjIzNzgwNTE5IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogSWdvciBVc3Rpbm92IDxpZ3VzNjhAZ21haWwuY29tPgotRGF0ZTog VGh1LCA4IEphbiAyMDI2IDE0OjAyOjU0ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIENoZWNrIHRo ZSByZWNlaXZlZCB1bmNvbXByZXNzZWQgY2VydGlmaWNhdGUgbGVuZ3RoIHRvIHByZXZlbnQKLSBl eGNlc3NpdmUgcHJlLWRlY29tcHJlc3Npb24gYWxsb2NhdGlvbi4KLQotVGhlIHBhdGNoIHdhcyBw cm9wb3NlZCBieSBUb21hcyBEdWxrYSBhbmQgU3RhbmlzbGF2IEZvcnQgKEFpc2xlIFJlc2VhcmNo KS4KLQotRml4ZXM6IENWRS0yMDI1LTY2MTk5Ci0tLS0KLSBzc2wvc3RhdGVtL3N0YXRlbV9saWIu YyB8IDYgKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0t Z2l0IGEvc3NsL3N0YXRlbS9zdGF0ZW1fbGliLmMgYi9zc2wvc3RhdGVtL3N0YXRlbV9saWIuYwot aW5kZXggOWUwYzg1M2MwZDIuLmY4MmQ4ZGNkYWMxIDEwMDY0NAotLS0tIGEvc3NsL3N0YXRlbS9z dGF0ZW1fbGliLmMKLSsrKyBiL3NzbC9zdGF0ZW0vc3RhdGVtX2xpYi5jCi1AQCAtMjg3Nyw2ICsy ODc3LDEyIEBAIE1TR19QUk9DRVNTX1JFVFVSTiB0bHMxM19wcm9jZXNzX2NvbXByZXNzZWRfY2Vy dGlmaWNhdGUoU1NMX0NPTk5FQ1RJT04gKnNjLAotICAgICAgICAgZ290byBlcnI7Ci0gICAgIH0K LSAKLSsgICAgLyogUHJldmVudCBleGNlc3NpdmUgcHJlLWRlY29tcHJlc3Npb24gYWxsb2NhdGlv biAqLwotKyAgICBpZiAoZXhwZWN0ZWRfbGVuZ3RoID4gc2MtPm1heF9jZXJ0X2xpc3QpIHsKLSsg ICAgICAgIFNTTGZhdGFsKHNjLCBTU0xfQURfSUxMRUdBTF9QQVJBTUVURVIsIFNTTF9SX0VYQ0VT U0lWRV9NRVNTQUdFX1NJWkUpOwotKyAgICAgICAgZ290byBlcnI7Ci0rICAgIH0KLSsKLSAgICAg aWYgKFBBQ0tFVF9yZW1haW5pbmcocGt0KSAhPSBjb21wX2xlbmd0aCB8fCBjb21wX2xlbmd0aCA9 PSAwKSB7Ci0gICAgICAgICBTU0xmYXRhbChzYywgU1NMX0FEX0RFQ09ERV9FUlJPUiwgU1NMX1Jf QkFEX0RFQ09NUFJFU1NJT04pOwotICAgICAgICAgZ290byBlcnI7CgpkaWZmIC0tZ2l0IGEvMDA2 NC1DVkUtMjAyNS02ODE2MC5wYXRjaCBiLzAwNjQtQ1ZFLTIwMjUtNjgxNjAucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkNTdlZDEuLjAwMDAwMDAKLS0tIGEvMDA2NC1DVkUt MjAyNS02ODE2MC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLUZyb20gNzAx YWEyNzBkYjhhZDQyNGNlY2U2ODcwMmI5YmIyZTA1MjkwYWY5YiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IE5laWwgSG9ybWFuIDxuaG9ybWFuQG9wZW5zc2wub3JnPgotRGF0ZTogV2Vk LCA3IEphbiAyMDI2IDExOjUyOjA5IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBoZWFwIGJ1 ZmZlciBvdmVyZmxvdyBpbiBCSU9fZl9saW5lYnVmZmVyCi0KLVdoZW4gYSBGSU9fZl9saW5lYnVm ZmVyIGlzIHBhcnQgb2YgYSBiaW8gY2hhaW4sIGFuZCB0aGUgbmV4dCBCSU8KLXByZWZvcm1zIHNo b3J0IHdyaXRlcywgdGhlIHJlbWFpbmRlciBvZiB0aGUgdW53cml0dGVuIGJ1ZmZlciBpcyBjb3Bp ZWQKLXVuY29uZGl0aW9uYWxseSB0byB0aGUgaW50ZXJuYWwgYnVmZmVyIGN0eC0+b2J1Ziwgd2hp Y2ggbWF5IG5vdCBiZQotc3VmZmljaWVudGx5IHNpemVkIHRvIGhhbmRsZSB0aGUgcmVtYWluaW5n IGRhdGEsIHJlc3VsdGluZyBpbiBhIGJ1ZmZlcgotb3ZlcmZsb3cuCi0KLUZpeCBpdCBieSBvbmx5 IGNvcHlpbmcgZGF0YSB3aGVuIGN0eC0+b2J1ZiBoYXMgc3BhY2UsIGZsdXNoaW5nIHRvIHRoZQot bmV4dCBCSU8gdG8gaW5jcmVhc2UgYXZhaWxhYmxlIHN0b3JhZ2UgaWYgbmVlZGVkLgotCi1GaXhl cyBDVkUtMjAyNS02ODE2MAotLS0tCi0gY3J5cHRvL2Jpby9iZl9sYnVmLmMgfCAzMiArKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25z KCspLCA2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3J5cHRvL2Jpby9iZl9sYnVmLmMg Yi9jcnlwdG8vYmlvL2JmX2xidWYuYwotaW5kZXggMWRmY2FjOGYyZWEuLmU0YWYyYThjNGZmIDEw MDY0NAotLS0tIGEvY3J5cHRvL2Jpby9iZl9sYnVmLmMKLSsrKyBiL2NyeXB0by9iaW8vYmZfbGJ1 Zi5jCi1AQCAtMTg3LDE0ICsxODcsMzQgQEAgc3RhdGljIGludCBsaW5lYnVmZmVyX3dyaXRlKEJJ TyAqYiwgY29uc3QgY2hhciAqaW4sIGludCBpbmwpCi0gICAgIHdoaWxlIChmb3VuZG5sICYmIGlu bCA+IDApOwotICAgICAvKgotICAgICAgKiBXZSd2ZSB3cml0dGVuIGFzIG11Y2ggYXMgd2UgY2Fu LiAgVGhlIHJlc3Qgb2YgdGhlIGlucHV0IGJ1ZmZlciwgaWYKLS0gICAgICogYW55LCBpcyB0ZXh0 IHRoYXQgZG9lc24ndCBhbmQgd2l0aCBhIE5MIGFuZCB0aGVyZWZvcmUgbmVlZHMgdG8gYmUKLS0g ICAgICogc2F2ZWQgZm9yIHRoZSBuZXh0IHRyaXAuCi0rICAgICAqIGFueSwgaXMgdGV4dCB0aGF0 IGRvZXNuJ3QgZW5kIHdpdGggYSBOTCBhbmQgdGhlcmVmb3JlIHdlIG5lZWQgdG8gdHJ5Ci0rICAg ICAqIGZyZWUgdXAgc29tZSBzcGFjZSBpbiBvdXIgb2J1ZiBzbyB3ZSBjYW4gbWFrZSBmb3J3YXJk IHByb2dyZXNzLgotICAgICAgKi8KLS0gICAgaWYgKGlubCA+IDApIHsKLS0gICAgICAgIG1lbWNw eSgmKGN0eC0+b2J1ZltjdHgtPm9idWZfbGVuXSksIGluLCBpbmwpOwotLSAgICAgICAgY3R4LT5v YnVmX2xlbiArPSBpbmw7Ci0tICAgICAgICBudW0gKz0gaW5sOwotKyAgICB3aGlsZSAoaW5sID4g MCkgewotKyAgICAgICAgc2l6ZV90IGF2YWlsID0gKHNpemVfdCljdHgtPm9idWZfc2l6ZSAtIChz aXplX3QpY3R4LT5vYnVmX2xlbjsKLSsgICAgICAgIHNpemVfdCB0b19jb3B5OwotKwotKyAgICAg ICAgaWYgKGF2YWlsID09IDApIHsKLSsgICAgICAgICAgICAvKiBGbHVzaCBidWZmZXJlZCBkYXRh IHRvIG1ha2Ugcm9vbSAqLwotKyAgICAgICAgICAgIGkgPSBCSU9fd3JpdGUoYi0+bmV4dF9iaW8s IGN0eC0+b2J1ZiwgY3R4LT5vYnVmX2xlbik7Ci0rICAgICAgICAgICAgaWYgKGkgPD0gMCkgewot KyAgICAgICAgICAgICAgICBCSU9fY29weV9uZXh0X3JldHJ5KGIpOwotKyAgICAgICAgICAgICAg ICByZXR1cm4gbnVtID4gMCA/IG51bSA6IGk7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAg IGlmIChpIDwgY3R4LT5vYnVmX2xlbikKLSsgICAgICAgICAgICAgICAgbWVtbW92ZShjdHgtPm9i dWYsIGN0eC0+b2J1ZiArIGksIGN0eC0+b2J1Zl9sZW4gLSBpKTsKLSsgICAgICAgICAgICBjdHgt Pm9idWZfbGVuIC09IGk7Ci0rICAgICAgICAgICAgY29udGludWU7Ci0rICAgICAgICB9Ci0rCi0r ICAgICAgICB0b19jb3B5ID0gaW5sID4gKGludClhdmFpbCA/IGF2YWlsIDogKHNpemVfdClpbmw7 Ci0rICAgICAgICBtZW1jcHkoJihjdHgtPm9idWZbY3R4LT5vYnVmX2xlbl0pLCBpbiwgdG9fY29w eSk7Ci0rICAgICAgICBjdHgtPm9idWZfbGVuICs9IChpbnQpdG9fY29weTsKLSsgICAgICAgIGlu ICs9IHRvX2NvcHk7Ci0rICAgICAgICBpbmwgLT0gKGludCl0b19jb3B5OwotKyAgICAgICAgbnVt ICs9IChpbnQpdG9fY29weTsKLSAgICAgfQotKwotICAgICByZXR1cm4gbnVtOwotIH0KLSAKCmRp ZmYgLS1naXQgYS8wMDY1LUNWRS0yMDI1LTY5NDE4LnBhdGNoIGIvMDA2NS1DVkUtMjAyNS02OTQx OC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzMzYWY0Yy4uMDAwMDAwMAot LS0gYS8wMDY1LUNWRS0yMDI1LTY5NDE4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAs MCBAQAotRnJvbSAxYTU1NmZmNjE5NDczYWY5ZTE3OWIyMDIyODRhOTYxNTkwZDVhMmJkIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTm9yYmVydCBQb2NzIDxub3JiZXJ0cEBvcGVuc3Ns Lm9yZz4KLURhdGU6IFRodSwgOCBKYW4gMjAyNiAxNTowNDo1NCArMDEwMAotU3ViamVjdDogW1BB VENIXSBGaXggT0NCIEFFUy1OSS9IVyBzdHJlYW0gcGF0aCB1bmF1dGhlbnRpY2F0ZWQvdW5lbmNy eXB0ZWQKLSB0cmFpbGluZyBieXRlcwotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJp dAotCi1XaGVuIGN0eC0+c3RyZWFtIChlLmcuLCBBRVPigJFOSSBvciBBUk12OCBDRSkgaXMgYXZh aWxhYmxlLCB0aGUgZmFzdCBwYXRoCi1lbmNyeXB0cy9kZWNyeXB0cyBmdWxsIGJsb2NrcyBidXQg ZG9lcyBub3QgYWR2YW5jZSBpbi9vdXQgcG9pbnRlcnMuIFRoZQotdGFpbC1oYW5kbGluZyBjb2Rl IHRoZW4gb3BlcmF0ZXMgb24gdGhlIGJhc2UgcG9pbnRlcnMsIGVmZmVjdGl2ZWx5IHJlcHJvY2Vz c2luZwotdGhlIGJlZ2lubmluZyBvZiB0aGUgYnVmZmVyIHdoaWxlIGxlYXZpbmcgdGhlIGFjdHVh bCB0cmFpbGluZyBieXRlcwotdW5lbmNyeXB0ZWQgKGVuY3J5cHRpb24pIG9yIHVzaW5nIHRoZSB3 cm9uZyBwbGFpbnRleHQgKGRlY3J5cHRpb24pLiBUaGUKLWF1dGhlbnRpY2F0aW9uIGNoZWNrc3Vt IGV4Y2x1ZGVzIHRoZSB0cnVlIHRhaWwuCi0KLUNWRS0yMDI1LTY5NDE4Ci0KLUZpeGVzOiBodHRw czovL2dpdGh1Yi5jb20vb3BlbnNzbC9zcnQvaXNzdWVzLzU4Ci0KLVNpZ25lZC1vZmYtYnk6IE5v cmJlcnQgUG9jcyA8bm9yYmVydHBAb3BlbnNzbC5vcmc+Ci0tLS0KLSBjcnlwdG8vbW9kZXMvb2Ni MTI4LmMgfCAxMCArKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NyeXB0by9tb2Rlcy9vY2IxMjguYyBiL2Ny eXB0by9tb2Rlcy9vY2IxMjguYwotaW5kZXggY2U3MmJhZjZkYTUuLjhhNWQ3YzdkYjAwIDEwMDY0 NAotLS0tIGEvY3J5cHRvL21vZGVzL29jYjEyOC5jCi0rKysgYi9jcnlwdG8vbW9kZXMvb2NiMTI4 LmMKLUBAIC0zMzcsNyArMzM3LDcgQEAgaW50IENSWVBUT19vY2IxMjhfZW5jcnlwdChPQ0IxMjhf Q09OVEVYVCAqY3R4LAotIAotICAgICBpZiAobnVtX2Jsb2NrcyAmJiBhbGxfbnVtX2Jsb2NrcyA9 PSAoc2l6ZV90KWFsbF9udW1fYmxvY2tzCi0gICAgICAgICAmJiBjdHgtPnN0cmVhbSAhPSBOVUxM KSB7Ci0tICAgICAgICBzaXplX3QgbWF4X2lkeCA9IDAsIHRvcCA9IChzaXplX3QpYWxsX251bV9i bG9ja3M7Ci0rICAgICAgICBzaXplX3QgbWF4X2lkeCA9IDAsIHRvcCA9IChzaXplX3QpYWxsX251 bV9ibG9ja3MsIHByb2Nlc3NlZF9ieXRlcyA9IDA7Ci0gCi0gICAgICAgICAvKgotICAgICAgICAg ICogU2VlIGhvdyBtYW55IExfe2l9IGVudHJpZXMgd2UgbmVlZCB0byBwcm9jZXNzIGRhdGEgYXQg aGFuZAotQEAgLTM1MSw2ICszNTEsOSBAQCBpbnQgQ1JZUFRPX29jYjEyOF9lbmNyeXB0KE9DQjEy OF9DT05URVhUICpjdHgsCi0gICAgICAgICBjdHgtPnN0cmVhbShpbiwgb3V0LCBudW1fYmxvY2tz LCBjdHgtPmtleWVuYywKLSAgICAgICAgICAgICAgICAgICAgIChzaXplX3QpY3R4LT5zZXNzLmJs b2Nrc19wcm9jZXNzZWQgKyAxLCBjdHgtPnNlc3Mub2Zmc2V0LmMsCi0gICAgICAgICAgICAgICAg ICAgICAoY29uc3QgdW5zaWduZWQgY2hhciAoKilbMTZdKWN0eC0+bCwgY3R4LT5zZXNzLmNoZWNr c3VtLmMpOwotKyAgICAgICAgcHJvY2Vzc2VkX2J5dGVzID0gbnVtX2Jsb2NrcyAqIDE2OwotKyAg ICAgICAgaW4gKz0gcHJvY2Vzc2VkX2J5dGVzOwotKyAgICAgICAgb3V0ICs9IHByb2Nlc3NlZF9i eXRlczsKLSAgICAgfSBlbHNlIHsKLSAgICAgICAgIC8qIExvb3AgdGhyb3VnaCBhbGwgZnVsbCBi bG9ja3MgdG8gYmUgZW5jcnlwdGVkICovCi0gICAgICAgICBmb3IgKGkgPSBjdHgtPnNlc3MuYmxv Y2tzX3Byb2Nlc3NlZCArIDE7IGkgPD0gYWxsX251bV9ibG9ja3M7IGkrKykgewotQEAgLTQyOSw3 ICs0MzIsNyBAQCBpbnQgQ1JZUFRPX29jYjEyOF9kZWNyeXB0KE9DQjEyOF9DT05URVhUICpjdHgs Ci0gCi0gICAgIGlmIChudW1fYmxvY2tzICYmIGFsbF9udW1fYmxvY2tzID09IChzaXplX3QpYWxs X251bV9ibG9ja3MKLSAgICAgICAgICYmIGN0eC0+c3RyZWFtICE9IE5VTEwpIHsKLS0gICAgICAg IHNpemVfdCBtYXhfaWR4ID0gMCwgdG9wID0gKHNpemVfdClhbGxfbnVtX2Jsb2NrczsKLSsgICAg ICAgIHNpemVfdCBtYXhfaWR4ID0gMCwgdG9wID0gKHNpemVfdClhbGxfbnVtX2Jsb2NrcywgcHJv Y2Vzc2VkX2J5dGVzID0gMDsKLSAKLSAgICAgICAgIC8qCi0gICAgICAgICAgKiBTZWUgaG93IG1h bnkgTF97aX0gZW50cmllcyB3ZSBuZWVkIHRvIHByb2Nlc3MgZGF0YSBhdCBoYW5kCi1AQCAtNDQz LDYgKzQ0Niw5IEBAIGludCBDUllQVE9fb2NiMTI4X2RlY3J5cHQoT0NCMTI4X0NPTlRFWFQgKmN0 eCwKLSAgICAgICAgIGN0eC0+c3RyZWFtKGluLCBvdXQsIG51bV9ibG9ja3MsIGN0eC0+a2V5ZGVj LAotICAgICAgICAgICAgICAgICAgICAgKHNpemVfdCljdHgtPnNlc3MuYmxvY2tzX3Byb2Nlc3Nl ZCArIDEsIGN0eC0+c2Vzcy5vZmZzZXQuYywKLSAgICAgICAgICAgICAgICAgICAgIChjb25zdCB1 bnNpZ25lZCBjaGFyICgqKVsxNl0pY3R4LT5sLCBjdHgtPnNlc3MuY2hlY2tzdW0uYyk7Ci0rICAg ICAgICBwcm9jZXNzZWRfYnl0ZXMgPSBudW1fYmxvY2tzICogMTY7Ci0rICAgICAgICBpbiArPSBw cm9jZXNzZWRfYnl0ZXM7Ci0rICAgICAgICBvdXQgKz0gcHJvY2Vzc2VkX2J5dGVzOwotICAgICB9 IGVsc2UgewotICAgICAgICAgT0NCX0JMT0NLIHRtcDsKLSAKCmRpZmYgLS1naXQgYS8wMDY2LUNW RS0yMDI1LTY5NDIwLnBhdGNoIGIvMDA2Ni1DVkUtMjAyNS02OTQyMC5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggYmM0ZTQyMC4uMDAwMDAwMAotLS0gYS8wMDY2LUNWRS0yMDI1 LTY5NDIwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSA2NDUzZDI3 ODU1N2M4NzE5MjMzNzkzNzMwZWM1MDBjODRhZWE1NWQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogQm9iIEJlY2sgPGJlY2tAb3BlbnNzbC5vcmc+Ci1EYXRlOiBXZWQsIDcgSmFuIDIw MjYgMTE6Mjk6NDggLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gVmVyaWZ5IEFTTjEgb2JqZWN0J3Mg dHlwZXMgYmVmb3JlIGF0dGVtcHRpbmcgdG8gYWNjZXNzIHRoZW0KLSBhcyBhIHBhcnRpY3VsYXIg dHlwZQotCi1Jc3N1ZSB3YXMgcmVwb3J0ZWQgaW4gb3NzbF9lc3NfZ2V0X3NpZ25pbmdfY2VydCBi dXQgaXMgYWxzbyBwcmVzZW50IGluCi1vc3NsX2Vzc19nZXRfc2lnbmluZ19jZXJ0X3YyLgotCi1G aXhlczogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zc2wvc3J0L2lzc3Vlcy82MQotRml4ZXMgQ1ZF LTIwMjUtNjk0MjAKLS0tLQotIGNyeXB0by90cy90c19yc3BfdmVyaWZ5LmMgfCA0ICsrLS0KLSAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0t Z2l0IGEvY3J5cHRvL3RzL3RzX3JzcF92ZXJpZnkuYyBiL2NyeXB0by90cy90c19yc3BfdmVyaWZ5 LmMKLWluZGV4IDM4NzZlMzBmNDdiLi40MGRhYjY4N2QxYyAxMDA2NDQKLS0tLSBhL2NyeXB0by90 cy90c19yc3BfdmVyaWZ5LmMKLSsrKyBiL2NyeXB0by90cy90c19yc3BfdmVyaWZ5LmMKLUBAIC0y MDksNyArMjA5LDcgQEAgc3RhdGljIEVTU19TSUdOSU5HX0NFUlQgKm9zc2xfZXNzX2dldF9zaWdu aW5nX2NlcnQoY29uc3QgUEtDUzdfU0lHTkVSX0lORk8gKnNpKQotICAgICBjb25zdCB1bnNpZ25l ZCBjaGFyICpwOwotIAotICAgICBhdHRyID0gUEtDUzdfZ2V0X3NpZ25lZF9hdHRyaWJ1dGUoc2ks IE5JRF9pZF9zbWltZV9hYV9zaWduaW5nQ2VydGlmaWNhdGUpOwotLSAgICBpZiAoYXR0ciA9PSBO VUxMKQotKyAgICBpZiAoYXR0ciA9PSBOVUxMIHx8IGF0dHItPnR5cGUgIT0gVl9BU04xX1NFUVVF TkNFKQotICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgIHAgPSBhdHRyLT52YWx1ZS5zZXF1ZW5j ZS0+ZGF0YTsKLSAgICAgcmV0dXJuIGQyaV9FU1NfU0lHTklOR19DRVJUKE5VTEwsICZwLCBhdHRy LT52YWx1ZS5zZXF1ZW5jZS0+bGVuZ3RoKTsKLUBAIC0yMjEsNyArMjIxLDcgQEAgc3RhdGljIEVT U19TSUdOSU5HX0NFUlRfVjIgKm9zc2xfZXNzX2dldF9zaWduaW5nX2NlcnRfdjIoY29uc3QgUEtD UzdfU0lHTkVSX0lORk8KLSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcDsKLSAKLSAgICAgYXR0 ciA9IFBLQ1M3X2dldF9zaWduZWRfYXR0cmlidXRlKHNpLCBOSURfaWRfc21pbWVfYWFfc2lnbmlu Z0NlcnRpZmljYXRlVjIpOwotLSAgICBpZiAoYXR0ciA9PSBOVUxMKQotKyAgICBpZiAoYXR0ciA9 PSBOVUxMIHx8IGF0dHItPnR5cGUgIT0gVl9BU04xX1NFUVVFTkNFKQotICAgICAgICAgcmV0dXJu IE5VTEw7Ci0gICAgIHAgPSBhdHRyLT52YWx1ZS5zZXF1ZW5jZS0+ZGF0YTsKLSAgICAgcmV0dXJu IGQyaV9FU1NfU0lHTklOR19DRVJUX1YyKE5VTEwsICZwLCBhdHRyLT52YWx1ZS5zZXF1ZW5jZS0+ bGVuZ3RoKTsKCmRpZmYgLS1naXQgYS8wMDY3LUNWRS0yMDI1LTY5NDIxLnBhdGNoIGIvMDA2Ny1D VkUtMjAyNS02OTQyMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWVhZDE0 MS4uMDAwMDAwMAotLS0gYS8wMDY3LUNWRS0yMDI1LTY5NDIxLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMjggKzAsMCBAQAotRnJvbSAwYTJlY2I5NTk5M2I1ODhkMjE1NmRkNjUyNzQ1OWNjMzk4 M2FhYmQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW5kcmV3IERpbmggPGFuZHJl d2RAb3BlbnNzbC5vcmc+Ci1EYXRlOiBUaHUsIDggSmFuIDIwMjYgMDE6MjQ6MzAgKzA5MDAKLVN1 YmplY3Q6IFtQQVRDSF0gQWRkIE5VTEwgY2hlY2sgdG8gUEtDUzEyX2l0ZW1fZGVjcnlwdF9kMmlf ZXgKLQotQWRkcmVzcyBDVkUtMjAyNS02OTQyMQotCi1BZGQgTlVMTCBjaGVjayBmb3Igb2N0IHBh cmFtZXRlcgotLS0tCi0gY3J5cHRvL3BrY3MxMi9wMTJfZGVjci5jIHwgNSArKysrKwotIDEgZmls ZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NyeXB0by9wa2NzMTIv cDEyX2RlY3IuYyBiL2NyeXB0by9wa2NzMTIvcDEyX2RlY3IuYwotaW5kZXggNjA2NzEzYjllZTku LjE2MTRkYTQ0MDQyIDEwMDY0NAotLS0tIGEvY3J5cHRvL3BrY3MxMi9wMTJfZGVjci5jCi0rKysg Yi9jcnlwdG8vcGtjczEyL3AxMl9kZWNyLmMKLUBAIC0xNDYsNiArMTQ2LDExIEBAIHZvaWQgKlBL Q1MxMl9pdGVtX2RlY3J5cHRfZDJpX2V4KGNvbnN0IFg1MDlfQUxHT1IgKmFsZ29yLCBjb25zdCBB U04xX0lURU0gKml0LAotICAgICB2b2lkICpyZXQ7Ci0gICAgIGludCBvdXRsZW4gPSAwOwotIAot KyAgICBpZiAob2N0ID09IE5VTEwpIHsKLSsgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX1BLQ1Mx MiwgRVJSX1JfUEFTU0VEX05VTExfUEFSQU1FVEVSKTsKLSsgICAgICAgIHJldHVybiBOVUxMOwot KyAgICB9Ci0rCi0gICAgIGlmICghUEtDUzEyX3BiZV9jcnlwdF9leChhbGdvciwgcGFzcywgcGFz c2xlbiwgb2N0LT5kYXRhLCBvY3QtPmxlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZvdXQsICZvdXRsZW4sIDAsIGxpYmN0eCwgcHJvcHEpKQotICAgICAgICAgcmV0dXJuIE5V TEw7CgpkaWZmIC0tZ2l0IGEvMDA2OC1DVkUtMjAyNS02OTQxOS5wYXRjaCBiLzAwNjgtQ1ZFLTIw MjUtNjk0MTkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2N2RlYmMuLjAw MDAwMDAKLS0tIGEvMDA2OC1DVkUtMjAyNS02OTQxOS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDEzNiArMCwwIEBACi1kaWZmIC0tZ2l0IGEvY3J5cHRvL2FzbjEvYV9tYnN0ci5jIGIvY3J5cHRv L2FzbjEvYV9tYnN0ci5jCi1pbmRleCBiN2E1Mjg0ZmE1OWZhLi43YmUyMzNkYjVlMGIyIDEwMDY0 NAotLS0tIGEvY3J5cHRvL2FzbjEvYV9tYnN0ci5jCi0rKysgYi9jcnlwdG8vYXNuMS9hX21ic3Ry LmMKLUBAIC0xMjMsNyArMTIzLDEwIEBAIGludCBBU04xX21ic3RyaW5nX25jb3B5KEFTTjFfU1RS SU5HICoqb3V0LCBjb25zdCB1bnNpZ25lZCBjaGFyICppbiwgaW50IGxlbiwKLSAgICAgICAgIHJl dHVybiAtMTsKLSAgICAgfQotIAotLSAgICAvKiBOb3cgd29yayBvdXQgb3V0cHV0IGZvcm1hdCBh bmQgc3RyaW5nIHR5cGUgKi8KLSsgICAgLyoKLSsgICAgICogTm93IHdvcmsgb3V0IG91dHB1dCBm b3JtYXQgYW5kIHN0cmluZyB0eXBlLgotKyAgICAgKiBUaGVzZSBjaGVja3Mgc2hvdWxkIGJlIGlu IHN5bmMgd2l0aCB0aGUgY2hlY2tzIGluIHR5cGVfc3RyLgotKyAgICAgKi8KLSAgICAgb3V0Zm9y bSA9IE1CU1RSSU5HX0FTQzsKLSAgICAgaWYgKG1hc2sgJiBCX0FTTjFfTlVNRVJJQ1NUUklORykK LSAgICAgICAgIHN0cl90eXBlID0gVl9BU04xX05VTUVSSUNTVFJJTkc7Ci1AQCAtMTkxLDcgKzE5 NCwxMSBAQCBpbnQgQVNOMV9tYnN0cmluZ19uY29weShBU04xX1NUUklORyAqKm91dCwgY29uc3Qg dW5zaWduZWQgY2hhciAqaW4sIGludCBsZW4sCi0gCi0gICAgIGNhc2UgTUJTVFJJTkdfVVRGODoK LSAgICAgICAgIG91dGxlbiA9IDA7Ci0tICAgICAgICB0cmF2ZXJzZV9zdHJpbmcoaW4sIGxlbiwg aW5mb3JtLCBvdXRfdXRmOCwgJm91dGxlbik7Ci0rICAgICAgICByZXQgPSB0cmF2ZXJzZV9zdHJp bmcoaW4sIGxlbiwgaW5mb3JtLCBvdXRfdXRmOCwgJm91dGxlbik7Ci0rICAgICAgICBpZiAocmV0 IDwgMCkgewotKyAgICAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX0FTTjEsIEFTTjFfUl9JTlZB TElEX1VURjhTVFJJTkcpOwotKyAgICAgICAgICAgIHJldHVybiAtMTsKLSsgICAgICAgIH0KLSAg ICAgICAgIGNweWZ1bmMgPSBjcHlfdXRmODsKLSAgICAgICAgIGJyZWFrOwotICAgICB9Ci1AQCAt Mjg2LDkgKzI5MywyOSBAQCBzdGF0aWMgaW50IG91dF91dGY4KHVuc2lnbmVkIGxvbmcgdmFsdWUs IHZvaWQgKmFyZykKLSAKLSBzdGF0aWMgaW50IHR5cGVfc3RyKHVuc2lnbmVkIGxvbmcgdmFsdWUs IHZvaWQgKmFyZykKLSB7Ci0tICAgIHVuc2lnbmVkIGxvbmcgdHlwZXMgPSAqKCh1bnNpZ25lZCBs b25nICopYXJnKTsKLSsgICAgdW5zaWduZWQgbG9uZyB1c2FibGVfdHlwZXMgPSAqKCh1bnNpZ25l ZCBsb25nICopYXJnKTsKLSsgICAgdW5zaWduZWQgbG9uZyB0eXBlcyA9IHVzYWJsZV90eXBlczsK LSAgICAgY29uc3QgaW50IG5hdGl2ZSA9IHZhbHVlID4gSU5UX01BWCA/IElOVF9NQVggOiBvc3Ns X2Zyb21hc2NpaSh2YWx1ZSk7Ci0gCi0rICAgIC8qCi0rICAgICAqIENsZWFyIG91dCBhbGwgdGhl IHR5cGVzIHdoaWNoIGFyZSBub3QgY2hlY2tlZCBsYXRlci4gSWYgYW55IG9mIHRob3NlCi0rICAg ICAqIGlzIHByZXNlbnQgaW4gdGhlIG1hc2ssIHRoZW4gdGhlIFVURjggdHlwZSB3aWxsIGJlIGFk ZGVkIGFuZCBjaGVja2VkCi0rICAgICAqIGJlbG93LgotKyAgICAgKi8KLSsgICAgdHlwZXMgJj0g Ql9BU04xX05VTUVSSUNTVFJJTkcgfCBCX0FTTjFfUFJJTlRBQkxFU1RSSU5HCi0rICAgICAgICB8 IEJfQVNOMV9JQTVTVFJJTkcgfCBCX0FTTjFfVDYxU1RSSU5HIHwgQl9BU04xX0JNUFNUUklORwot KyAgICAgICAgfCBCX0FTTjFfVU5JVkVSU0FMU1RSSU5HIHwgQl9BU04xX1VURjhTVFJJTkc7Ci0r Ci0rICAgIC8qCi0rICAgICAqIElmIGFueSBvdGhlciB0eXBlcyB3ZXJlIGluIHRoZSBpbnB1dCBt YXNrLCB0aGV5J3JlIGVmZmVjdGl2ZWx5IHRyZWF0ZWQKLSsgICAgICogYXMgVVRGOAotKyAgICAg Ki8KLSsgICAgaWYgKHR5cGVzICE9IHVzYWJsZV90eXBlcykKLSsgICAgICAgIHR5cGVzIHw9IEJf QVNOMV9VVEY4U1RSSU5HOwotKwotKyAgICAvKgotKyAgICAgKiBUaGVzZSBjaGVja3Mgc2hvdWxk IGJlIGluIHN5bmMgd2l0aCBBU04xX21ic3RyaW5nX25jb3B5LgotKyAgICAgKi8KLSAgICAgaWYg KCh0eXBlcyAmIEJfQVNOMV9OVU1FUklDU1RSSU5HKSAmJiAhKG9zc2xfaXNkaWdpdChuYXRpdmUp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBuYXRpdmUg PT0gJyAnKSkKLSAgICAgICAgIHR5cGVzICY9IH5CX0FTTjFfTlVNRVJJQ1NUUklORzsKLUBAIC0z NTYsNiArMzgzLDggQEAgc3RhdGljIGludCBjcHlfdXRmOCh1bnNpZ25lZCBsb25nIHZhbHVlLCB2 b2lkICphcmcpCi0gICAgIHAgPSBhcmc7Ci0gICAgIC8qIFdlIGFscmVhZHkga25vdyB0aGVyZSBp cyBlbm91Z2ggcm9vbSBzbyBwYXNzIDB4ZmYgYXMgdGhlIGxlbmd0aCAqLwotICAgICByZXQgPSBV VEY4X3B1dGMoKnAsIDB4ZmYsIHZhbHVlKTsKLSsgICAgaWYgKHJldCA8IDApCi0rICAgICAgICBy ZXR1cm4gcmV0OwotICAgICAqcCArPSByZXQ7Ci0gICAgIHJldHVybiAxOwotIH0KLWRpZmYgLS1n aXQgYS9jcnlwdG8vYXNuMS9hX3N0cmV4LmMgYi9jcnlwdG8vYXNuMS9hX3N0cmV4LmMKLWluZGV4 IDE3ZjczNzIwMjZjM2IuLjAxZTIyNjk0NDRjYmEgMTAwNjQ0Ci0tLS0gYS9jcnlwdG8vYXNuMS9h X3N0cmV4LmMKLSsrKyBiL2NyeXB0by9hc24xL2Ffc3RyZXguYwotQEAgLTE5OCw4ICsxOTgsMTAg QEAgc3RhdGljIGludCBkb19idWYodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgYnVmbGVuLAotICAg ICAgICAgICAgIG9yZmxhZ3MgPSBDSEFSVFlQRV9MQVNUX0VTQ18yMjUzOwotICAgICAgICAgaWYg KHR5cGUgJiBCVUZfVFlQRV9DT05WVVRGOCkgewotICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIg dXRmYnVmWzZdOwotLSAgICAgICAgICAgIGludCB1dGZsZW47Ci0tICAgICAgICAgICAgdXRmbGVu ID0gVVRGOF9wdXRjKHV0ZmJ1Ziwgc2l6ZW9mKHV0ZmJ1ZiksIGMpOwotKyAgICAgICAgICAgIGlu dCB1dGZsZW4gPSBVVEY4X3B1dGModXRmYnVmLCBzaXplb2YodXRmYnVmKSwgYyk7Ci0rCi0rICAg ICAgICAgICAgaWYgKHV0ZmxlbiA8IDApCi0rICAgICAgICAgICAgICAgIHJldHVybiAtMTsgLyog ZXJyb3IgaGFwcGVuZWQgd2l0aCBVVEY4ICovCi0gICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8 IHV0ZmxlbjsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgICAgICAq IFdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgc2V0dGluZyBvcmZsYWdzIGNvcnJlY3RseQot ZGlmZiAtLWdpdCBhL2NyeXB0by9wa2NzMTIvcDEyX3V0bC5jIGIvY3J5cHRvL3BrY3MxMi9wMTJf dXRsLmMKLWluZGV4IDUwYWRjZTZiMjZmZDIuLjhiNWYyOTA5ZThkOTYgMTAwNjQ0Ci0tLS0gYS9j cnlwdG8vcGtjczEyL3AxMl91dGwuYwotKysrIGIvY3J5cHRvL3BrY3MxMi9wMTJfdXRsLmMKLUBA IC0yMTMsNiArMjEzLDExIEBAIGNoYXIgKk9QRU5TU0xfdW5pMnV0ZjgoY29uc3QgdW5zaWduZWQg Y2hhciAqdW5pLCBpbnQgdW5pbGVuKQotICAgICAvKiByZS1ydW4gdGhlIGxvb3AgZW1pdHRpbmcg VVRGLTggc3RyaW5nICovCi0gICAgIGZvciAoYXNjbGVuID0gMCwgaSA9IDA7IGkgPCB1bmlsZW47 ICkgewotICAgICAgICAgaiA9IGJtcF90b191dGY4KGFzY3RtcCthc2NsZW4sIHVuaStpLCB1bmls ZW4taSk7Ci0rICAgICAgICAvKiB3aGVuIFVURjhfcHV0YyBmYWlscyAqLwotKyAgICAgICAgaWYg KGogPCAwKSB7Ci0rICAgICAgICAgICAgT1BFTlNTTF9mcmVlKGFzY3RtcCk7Ci0rICAgICAgICAg ICAgcmV0dXJuIE5VTEw7Ci0rICAgICAgICB9Ci0gICAgICAgICBpZiAoaiA9PSA0KSBpICs9IDQ7 Ci0gICAgICAgICBlbHNlICAgICAgICBpICs9IDI7Ci0gICAgICAgICBhc2NsZW4gKz0gajsKLWRp ZmYgLS1naXQgYS90ZXN0L2FzbjFfaW50ZXJuYWxfdGVzdC5jIGIvdGVzdC9hc24xX2ludGVybmFs X3Rlc3QuYwotaW5kZXggZTA4ZTJhMTFiZTliNy4uNTZhZjJiMzY5YjRkZCAxMDA2NDQKLS0tLSBh L3Rlc3QvYXNuMV9pbnRlcm5hbF90ZXN0LmMKLSsrKyBiL3Rlc3QvYXNuMV9pbnRlcm5hbF90ZXN0 LmMKLUBAIC01NTQsNiArNTU0LDIyIEBAIHN0YXRpYyBpbnQgcG9zaXhfdGltZV90ZXN0KHZvaWQp Ci0gICAgIHJldHVybiAxOwotIH0KLSAKLStzdGF0aWMgaW50IHRlc3RfbWJzdHJpbmdfbmNvcHko dm9pZCkKLSt7Ci0rICAgIEFTTjFfU1RSSU5HICpzdHIgPSBOVUxMOwotKyAgICBjb25zdCB1bnNp Z25lZCBjaGFyIGluW10gPSB7IDB4RkYsIDB4RkUsIDB4RkYsIDB4RkUgfTsKLSsgICAgaW50IGlu bGVuID0gNDsKLSsgICAgaW50IGluZm9ybSA9IE1CU1RSSU5HX1VOSVY7Ci0rCi0rICAgIGlmICgh VEVTVF9pbnRfZXEoQVNOMV9tYnN0cmluZ19uY29weSgmc3RyLCBpbiwgaW5sZW4sIGluZm9ybSwg Ql9BU04xX0dFTkVSQUxTVFJJTkcsIDAsIDApLCAtMSkKLSsgICAgICAgIHx8ICFURVNUX2ludF9l cShBU04xX21ic3RyaW5nX25jb3B5KCZzdHIsIGluLCBpbmxlbiwgaW5mb3JtLCBCX0FTTjFfVklT SUJMRVNUUklORywgMCwgMCksIC0xKQotKyAgICAgICAgfHwgIVRFU1RfaW50X2VxKEFTTjFfbWJz dHJpbmdfbmNvcHkoJnN0ciwgaW4sIGlubGVuLCBpbmZvcm0sIEJfQVNOMV9WSURFT1RFWFNUUklO RywgMCwgMCksIC0xKQotKyAgICAgICAgfHwgIVRFU1RfaW50X2VxKEFTTjFfbWJzdHJpbmdfbmNv cHkoJnN0ciwgaW4sIGlubGVuLCBpbmZvcm0sIEJfQVNOMV9HRU5FUkFMSVpFRFRJTUUsIDAsIDAp LCAtMSkpCi0rICAgICAgICByZXR1cm4gMDsKLSsKLSsgICAgcmV0dXJuIDE7Ci0rfQotKwotIGlu dCBzZXR1cF90ZXN0cyh2b2lkKQotIHsKLSAgICAgQUREX1RFU1QodGVzdF90Ymxfc3RhbmRhcmQp OwotQEAgLTU2NSw1ICs1ODEsNiBAQCBpbnQgc2V0dXBfdGVzdHModm9pZCkKLSAgICAgQUREX1RF U1QodGVzdF91bmljb2RlX3JhbmdlKTsKLSAgICAgQUREX1RFU1QodGVzdF9vYmpfY3JlYXRlKTsK LSAgICAgQUREX1RFU1QodGVzdF9vYmpfbmlkX3VuZGVmKTsKLSsgICAgQUREX1RFU1QodGVzdF9t YnN0cmluZ19uY29weSk7Ci0gICAgIHJldHVybiAxOwotIH0KCmRpZmYgLS1naXQgYS8wMDY5LUNW RS0yMDI2LTIyNzk1LnBhdGNoIGIvMDA2OS1DVkUtMjAyNi0yMjc5NS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggYTA3MDNhYS4uMDAwMDAwMAotLS0gYS8wMDY5LUNWRS0yMDI2 LTIyNzk1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotZGlmZiAtLWdpdCBh L2FwcHMvc19jbGllbnQuYyBiL2FwcHMvc19jbGllbnQuYwotaW5kZXggN2IyY2FiZGM0MjhhOS4u ZDA2MTE0MzMyNjFkYyAxMDA2NDQKLS0tLSBhL2FwcHMvc19jbGllbnQuYwotKysrIGIvYXBwcy9z X2NsaWVudC5jCi1AQCAtMjg0Nyw4ICsyODQ3LDkgQEAgaW50IHNfY2xpZW50X21haW4oaW50IGFy Z2MsIGNoYXIgKiphcmd2KQotICAgICAgICAgICAgICAgICBnb3RvIGVuZDsKLSAgICAgICAgICAg ICB9Ci0gICAgICAgICAgICAgYXR5cCA9IEFTTjFfZ2VuZXJhdGVfbmNvbmYoZ2Vuc3RyLCBjbmYp OwotLSAgICAgICAgICAgIGlmIChhdHlwID09IE5VTEwpIHsKLSsgICAgICAgICAgICBpZiAoYXR5 cCA9PSBOVUxMIHx8IGF0eXAtPnR5cGUgIT0gVl9BU04xX1NFUVVFTkNFKSB7Ci0gICAgICAgICAg ICAgICAgIE5DT05GX2ZyZWUoY25mKTsKLSsgICAgICAgICAgICAgICAgQVNOMV9UWVBFX2ZyZWUo YXR5cCk7Ci0gICAgICAgICAgICAgICAgIEJJT19wcmludGYoYmlvX2VyciwgIkFTTjFfZ2VuZXJh dGVfbmNvbmYgZmFpbGVkXG4iKTsKLSAgICAgICAgICAgICAgICAgZ290byBlbmQ7Ci0gICAgICAg ICAgICAgfQotZGlmZiAtLWdpdCBhL2NyeXB0by9wa2NzMTIvcDEyX2tpc3MuYyBiL2NyeXB0by9w a2NzMTIvcDEyX2tpc3MuYwotaW5kZXggMTBiNTgxNjEyZGJiMi4uZDAyMzZlMzRmZTlkZiAxMDA2 NDQKLS0tLSBhL2NyeXB0by9wa2NzMTIvcDEyX2tpc3MuYwotKysrIGIvY3J5cHRvL3BrY3MxMi9w MTJfa2lzcy5jCi1AQCAtMTk2LDExICsxOTYsMTcgQEAgc3RhdGljIGludCBwYXJzZV9iYWcoUEtD UzEyX1NBRkVCQUcgKmJhZywgY29uc3QgY2hhciAqcGFzcywgaW50IHBhc3NsZW4sCi0gICAgIEFT TjFfQk1QU1RSSU5HICpmbmFtZSA9IE5VTEw7Ci0gICAgIEFTTjFfT0NURVRfU1RSSU5HICpsa2lk ID0gTlVMTDsKLSAKLS0gICAgaWYgKChhdHRyaWIgPSBQS0NTMTJfU0FGRUJBR19nZXQwX2F0dHIo YmFnLCBOSURfZnJpZW5kbHlOYW1lKSkpCi0rICAgIGlmICgoYXR0cmliID0gUEtDUzEyX1NBRkVC QUdfZ2V0MF9hdHRyKGJhZywgTklEX2ZyaWVuZGx5TmFtZSkpKSB7Ci0rICAgICAgICBpZiAoYXR0 cmliLT50eXBlICE9IFZfQVNOMV9CTVBTVFJJTkcpCi0rICAgICAgICAgICAgcmV0dXJuIDA7Ci0g ICAgICAgICBmbmFtZSA9IGF0dHJpYi0+dmFsdWUuYm1wc3RyaW5nOwotKyAgICB9Ci0gCi0tICAg IGlmICgoYXR0cmliID0gUEtDUzEyX1NBRkVCQUdfZ2V0MF9hdHRyKGJhZywgTklEX2xvY2FsS2V5 SUQpKSkKLSsgICAgaWYgKChhdHRyaWIgPSBQS0NTMTJfU0FGRUJBR19nZXQwX2F0dHIoYmFnLCBO SURfbG9jYWxLZXlJRCkpKSB7Ci0rICAgICAgICBpZiAoYXR0cmliLT50eXBlICE9IFZfQVNOMV9P Q1RFVF9TVFJJTkcpCi0rICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICBsa2lkID0gYXR0 cmliLT52YWx1ZS5vY3RldF9zdHJpbmc7Ci0rICAgIH0KLSAKLSAgICAgc3dpdGNoIChQS0NTMTJf U0FGRUJBR19nZXRfbmlkKGJhZykpIHsKLSAgICAgY2FzZSBOSURfa2V5QmFnOgotZGlmZiAtLWdp dCBhL2NyeXB0by9wa2NzNy9wazdfZG9pdC5jIGIvY3J5cHRvL3BrY3M3L3BrN19kb2l0LmMKLWlu ZGV4IDAyNDQ0ZDk4M2M0NzYuLjc3OTg4NDZiMTZlYzEgMTAwNjQ0Ci0tLS0gYS9jcnlwdG8vcGtj czcvcGs3X2RvaXQuYwotKysrIGIvY3J5cHRvL3BrY3M3L3BrN19kb2l0LmMKLUBAIC0xMjI5LDYg KzEyMjksOCBAQCBBU04xX09DVEVUX1NUUklORyAqUEtDUzdfZGlnZXN0X2Zyb21fYXR0cmlidXRl cyhTVEFDS19PRihYNTA5X0FUVFJJQlVURSkgKnNrKQotICAgICBBU04xX1RZUEUgKmFzdHlwZTsK LSAgICAgaWYgKChhc3R5cGUgPSBnZXRfYXR0cmlidXRlKHNrLCBOSURfcGtjczlfbWVzc2FnZURp Z2VzdCkpID09IE5VTEwpCi0gICAgICAgICByZXR1cm4gTlVMTDsKLSsgICAgaWYgKGFzdHlwZS0+ dHlwZSAhPSBWX0FTTjFfT0NURVRfU1RSSU5HKQotKyAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAg IHJldHVybiBhc3R5cGUtPnZhbHVlLm9jdGV0X3N0cmluZzsKLSB9Ci0gCgpkaWZmIC0tZ2l0IGEv MDA3MC1DVkUtMjAyNS0xMTE4Ny5wYXRjaCBiLzAwNzAtQ1ZFLTIwMjUtMTExODcucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2YmY3NjAuLjAwMDAwMDAKLS0tIGEvMDA3MC1D VkUtMjAyNS0xMTE4Ny5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4NSArMCwwIEBACi1Gcm9t IGEyNmQ4MmM1YjE0MWM3MDZiYzk3NDU1Y2RlNTExZTcxMGMyNTEwYTkgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBUb21hcyBNcmF6IDx0b21hc0BvcGVuc3NsLm9yZz4KLURhdGU6IFRo dSwgOCBKYW4gMjAyNiAxNDozMToxOSArMDEwMAotU3ViamVjdDogW1BBVENIIDEvM10gcGtjczEy OiBWYWxpZGF0ZSBzYWx0IGFuZCBrZXlsZW5ndGggaW4gUEJNQUMxCi0KLVRoZSBrZXlsZW5ndGgg dmFsdWUgbXVzdCBiZSBwcmVzZW50IGFuZCB3ZSBhY2NlcHQKLUVWUF9NQVhfTURfU0laRSBhdCBt YXhpbXVtLgotCi1UaGUgc2FsdCBBU04uMSB0eXBlIG11c3QgYmUgT0NURVQgU1RSSU5HLgotCi1G aXhlcyBDVkUtMjAyNS0xMTE4NwotCi1SZXBvcnRlZCBieSBTdGFuaXNsYXYgRm9ydCAoQWlzbGUg UmVzZWFyY2gpIGFuZCBQZXRyIFNpbWVjZWsgKEFpc2xlIFJlc2VhcmNoKS4KLVJlcG9ydGVkIGlu ZGVwZW5kZW50bHkgYWxzbyBieSBIYW16YSAoTWV0YWR1c3QpLgotLS0tCi0gY3J5cHRvL3BrY3Mx Mi9wMTJfbXV0bC5jIHwgMTggKysrKysrKysrKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDE2 IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcnlwdG8vcGtj czEyL3AxMl9tdXRsLmMgYi9jcnlwdG8vcGtjczEyL3AxMl9tdXRsLmMKLWluZGV4IGY4ZDBiYmQx MDliLi44YmI0ZTMwNTI5ZCAxMDA2NDQKLS0tLSBhL2NyeXB0by9wa2NzMTIvcDEyX211dGwuYwot KysrIGIvY3J5cHRvL3BrY3MxMi9wMTJfbXV0bC5jCi1AQCAtMTIzLDggKzEyMyw2IEBAIHN0YXRp YyBpbnQgUEJNQUMxX1BCS0RGMl9ITUFDKE9TU0xfTElCX0NUWCAqY3R4LCBjb25zdCBjaGFyICpw cm9wcSwKLSAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX1BLQ1MxMiwgRVJSX1JfVU5TVVBQT1JU RUQpOwotICAgICAgICAgZ290byBlcnI7Ci0gICAgIH0KLS0gICAga2V5bGVuID0gQVNOMV9JTlRF R0VSX2dldChwYmtkZjJfcGFyYW0tPmtleWxlbmd0aCk7Ci0tICAgIHBia2RmMl9zYWx0ID0gcGJr ZGYyX3BhcmFtLT5zYWx0LT52YWx1ZS5vY3RldF9zdHJpbmc7Ci0gCi0gICAgIGlmIChwYmtkZjJf cGFyYW0tPnByZiA9PSBOVUxMKSB7Ci0gICAgICAgICBrZGZfaG1hY19uaWQgPSBOSURfaG1hY1dp dGhTSEExOwotQEAgLTEzOSw2ICsxMzcsMjIgQEAgc3RhdGljIGludCBQQk1BQzFfUEJLREYyX0hN QUMoT1NTTF9MSUJfQ1RYICpjdHgsIGNvbnN0IGNoYXIgKnByb3BxLAotICAgICAgICAgZ290byBl cnI7Ci0gICAgIH0KLSAKLSsgICAgLyogVmFsaWRhdGUgc2FsdCBpcyBhbiBPQ1RFVCBTVFJJTkcg Y2hvaWNlICovCi0rICAgIGlmIChwYmtkZjJfcGFyYW0tPnNhbHQgPT0gTlVMTAotKyAgICAgICAg fHwgcGJrZGYyX3BhcmFtLT5zYWx0LT50eXBlICE9IFZfQVNOMV9PQ1RFVF9TVFJJTkcpIHsKLSsg ICAgICAgIEVSUl9yYWlzZShFUlJfTElCX1BLQ1MxMiwgUEtDUzEyX1JfUEFSU0VfRVJST1IpOwot KyAgICAgICAgZ290byBlcnI7Ci0rICAgIH0KLSsgICAgcGJrZGYyX3NhbHQgPSBwYmtkZjJfcGFy YW0tPnNhbHQtPnZhbHVlLm9jdGV0X3N0cmluZzsKLSsKLSsgICAgLyogUkZDIDk1Nzkgc3BlY2lm aWVzIG1pc3Npbmcga2V5IGxlbmd0aCBhcyBpbnZhbGlkICovCi0rICAgIGlmIChwYmtkZjJfcGFy YW0tPmtleWxlbmd0aCAhPSBOVUxMKQotKyAgICAgICAga2V5bGVuID0gQVNOMV9JTlRFR0VSX2dl dChwYmtkZjJfcGFyYW0tPmtleWxlbmd0aCk7Ci0rICAgIGlmIChrZXlsZW4gPD0gMCB8fCBrZXls ZW4gPiBFVlBfTUFYX01EX1NJWkUpIHsKLSsgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX1BLQ1Mx MiwgUEtDUzEyX1JfUEFSU0VfRVJST1IpOwotKyAgICAgICAgZ290byBlcnI7Ci0rICAgIH0KLSsK LSAgICAgaWYgKFBLQ1M1X1BCS0RGMl9ITUFDKHBhc3MsIHBhc3NsZW4sIHBia2RmMl9zYWx0LT5k YXRhLCBwYmtkZjJfc2FsdC0+bGVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQVNO MV9JTlRFR0VSX2dldChwYmtkZjJfcGFyYW0tPml0ZXIpLCBrZGZfbWQsIGtleWxlbiwga2V5KSA8 PSAwKSB7Ci0gICAgICAgICBFUlJfcmFpc2UoRVJSX0xJQl9QS0NTMTIsIEVSUl9SX0lOVEVSTkFM X0VSUk9SKTsKLQotRnJvbSBhNzQ5ZGNkYjdjOTQ0YzE4YWY4YmYxY2UzYmQyZGJlMzhlNWRjYjY4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVG9tYXMgTXJheiA8dG9tYXNAb3BlbnNz bC5vcmc+Ci1EYXRlOiBUaHUsIDggSmFuIDIwMjYgMTU6MjU6MTggKzAxMDAKLVN1YmplY3Q6IFtQ QVRDSCAyLzNdIEFkZCB0ZXN0Y2FzZSBmb3IgUEtDUzEyIHdpdGggaW52YWxpZCBQQk1BQzEga2V5 IGxlbmd0aAotCi0tLS0KLSB0ZXN0L3JlY2lwZXMvODAtdGVzdF9wa2NzMTIudCAgICAgICAgICAg ICAgICAgICAgfCAgMTAgKysrKysrKy0tLQotIC4uLi9wYm1hYzFfMjU2XzI1Ni5iYWQtbGVuLnAx MiAgICAgICAgICAgICAgICAgICB8IEJpbiAwIC0+IDI3MDIgYnl0ZXMKLSAyIGZpbGVzIGNoYW5n ZWQsIDcgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQg dGVzdC9yZWNpcGVzLzgwLXRlc3RfcGtjczEyX2RhdGEvcGJtYWMxXzI1Nl8yNTYuYmFkLWxlbi5w MTIKLQotZGlmZiAtLWdpdCBhL3Rlc3QvcmVjaXBlcy84MC10ZXN0X3BrY3MxMi50IGIvdGVzdC9y ZWNpcGVzLzgwLXRlc3RfcGtjczEyLnQKLWluZGV4IDA2ZmE4NWFmMGYzLi5mZjcyMDg5NGM5YiAx MDA2NDQKLS0tLSBhL3Rlc3QvcmVjaXBlcy84MC10ZXN0X3BrY3MxMi50Ci0rKysgYi90ZXN0L3Jl Y2lwZXMvODAtdGVzdF9wa2NzMTIudAotQEAgLTU2LDcgKzU2LDcgQEAgJEVOVntPUEVOU1NMX1dJ TjMyX1VURjh9PTE7Ci0gCi0gbXkgJG5vX2ZpcHMgPSBkaXNhYmxlZCgnZmlwcycpIHx8ICgkRU5W e05PX0ZJUFN9IC8vIDApOwotIAotLXBsYW4gdGVzdHMgPT4gJG5vX2ZpcHMgPyA0NyA6IDUzOwot K3BsYW4gdGVzdHMgPT4gJG5vX2ZpcHMgPyA1MyA6IDU5OwotIAotICMgVGVzdCBkaWZmZXJlbnQg UEtDUyMxMiBmb3JtYXRzCi0gb2socnVuKHRlc3QoWyJwa2NzMTJfZm9ybWF0X3Rlc3QiXSkpLCAi dGVzdCBwa2NzMTIgZm9ybWF0cyIpOwotQEAgLTIzNSw4ICsyMzUsMTIgQEAgdW5sZXNzICgkbm9f ZmlwcykgewotICAgICB9Ci0gfQotIAotLSMgVGVzdCBwYm1hYzEgcGtjczEyIGJhZCBmaWxlcywg UkZDIDk1NzkKLS1mb3IgbXkgJGZpbGUgKCJwYm1hYzFfMjU2XzI1Ni5iYWQtaXRlci5wMTIiLCAi cGJtYWMxXzI1Nl8yNTYuYmFkLXNhbHQucDEyIiwgInBibWFjMV8yNTZfMjU2Lm5vLWxlbi5wMTIi KQotKyMgVGVzdCBwYm1hYzEgcGtjczEyIGJhZCBmaWxlcywgUkZDIDk1NzkgYW5kIENWRS0yMDI1 LTExMTg3Ci0rZm9yIG15ICRmaWxlICgicGJtYWMxXzI1Nl8yNTYuYmFkLWl0ZXIucDEyIiwgInBi bWFjMV8yNTZfMjU2LmJhZC1zYWx0LnAxMiIsCi0rICAgICAgICAgICAgICAicGJtYWMxXzI1Nl8y NTYubm8tbGVuLnAxMiIsICJwYm1hYzFfMjU2XzI1Ni5iYWQtbGVuLnAxMiIsCi0rICAgICAgICAg ICAgICAicGJtYWMxXzI1Nl8yNTYuYmFkLXNhbHQtdHlwZS5wMTIiLCAicGJtYWMxXzI1Nl8yNTYu bmVnYXRpdmUtbGVuLnAxMiIsCi0rICAgICAgICAgICAgICAicGJtYWMxXzI1Nl8yNTYubm8tc2Fs dC5wMTIiLCAicGJtYWMxXzI1Nl8yNTYudmVyeS1iaWctbGVuLnAxMiIsCi0rICAgICAgICAgICAg ICAicGJtYWMxXzI1Nl8yNTYuemVyby1sZW4ucDEyIikKLSB7Ci0gICAgIG15ICRwYXRoID0gc3Jj dG9wX2ZpbGUoInRlc3QiLCAicmVjaXBlcyIsICI4MC10ZXN0X3BrY3MxMl9kYXRhIiwgJGZpbGUp OwotICAgICB3aXRoKHsgZXhpdF9jaGVja2VyID0+IHN1YiB7IHJldHVybiBzaGlmdCA9PSAxOyB9 IH0sCi1kaWZmIC0tZ2l0IGEvdGVzdC9yZWNpcGVzLzgwLXRlc3RfcGtjczEyX2RhdGEvcGJtYWMx XzI1Nl8yNTYuYmFkLWxlbi5wMTIgYi90ZXN0L3JlY2lwZXMvODAtdGVzdF9wa2NzMTJfZGF0YS9w Ym1hYzFfMjU2XzI1Ni5iYWQtbGVuLnAxMgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1NDhkMGYyOWVkZDk2Nzg1 NGFhMWE3YzllM2EwMmEwOWU4NTZmNmQKLUdJVCBiaW5hcnkgcGF0Y2gKLWxpdGVyYWwgMjcwMgot emNtYWkkY3tKM0U4XitDOzhBSkJ2N0daMmRDaUp5bSM9ZVl3JHI4N2skaTZlI3FHU3gmTVEtLXAj Qj8hZTItJkc8Ci16cCh5dGJXeWAqZj4/N2chVFRZJGRAMU9nfWQqMVVyJndJfU0teyg5NGZoOEZY Vmd2eypQIzd+Ui1aKn1yNGE1WDAKLXpCezEobjIrVWdtZnRkeW5BVEI+NlNTYk53YGB4a3ZnQlpS cTxEVXIjYVFHcGhZPTl7c3tacTA2ZilLYlNpRXE9QAotenVPPTdfaEJFLUhGIStESWZ0akhVZkRu dz9Jbz1yTCZJa2RhQWVeO1oqVVBOZ1d4WlhZNEYkdXxjaSFPJWpNS2J2Ci16ZClUVFFVWEZ+Rkll fklVZm5MfnRDeXNgNmdATyQoeV5ZZCFKRyNBdnlBajdTb2JyeEgoYXczajRZKjxtRXBWTikKLXpV dUklZ3c9WEE9RDVWalUwa3ZhO1BYfiZlYkd2VWNzRT1VSWt6aChPfEdTfUY1JGdfNm12N345UUFs PEhrR0QyJAotemNjWV55JnBUI3xpQ2ZBOWBpc19xM2d2OT5YZT1Pa18kUC01OFpoVE9qO1JQZ25j fkFzal45WG5NPlpianhqbDF2Ci16VFdLdU5zPX5vc2JBRGN1eTx3enMmQWA1Qz1Vam50Rm5KbmRn czNeeDQ9KSR7VD0/bSZXP1d+ZHdwcFNsblpZbCkKLXpKIT5GfkI0WWZKIUBRTlE3QyUoVDhnbioy PHRuSnUyU35ab3IlPk9FN1NENShsVWZBNWQ2SFVZUkRQTko+WGxrUwotekU1eUJxRkBxRzhodTcl XjVpYS17b1FRKTA8NCpJUFBBclFjcE5INyFxLVRuKGllPFFMX2NoZ19PRVArbkNaQH56Ci16KGBv eFdnQmw/UHNhPy1jQ14zO3N3LWBVPyhwUHYmVzxvMXstb0VzUyF+NDE5O04jbStUPXltRSNPSCY1 c1lNQXEKLXo4dHZMX0BxOGhJekFjXmo9NkghRDZMRkRYPTsmO2Q4QCY2RnRMS3Y2RXpsRzx4STBT enlsQnk1cTV4ODJNdTs8TAotenNjQzsoXjlzbkZte05XN1RqSDBrcm04PTZALXoweTNpQXslTVoh WWxQNnl7VlFNOyUlcFpjRFYwRlljbEtPJVdRCi16bHIyVUZWaXA+VTNnfH00dk9Ha0NaWnM5Sytg SVEye05uMFMlS0xVRCltWlE5aiFrUml1KH1HeDs9fj4/V0pCZ0sKLXpmLTB3T009JlcxY1hGWVAq U2ZAZmxnX2hYcz48QmM1YDZXJTRwTFArPHZmXm5MMEs0dyFFTit8ISpyLT9IQDxCOAotem4oIVNS aEolV3NKcX4tNV4ocCQwcyM2X1p2UHtgVk9TVFIqTE00Nkd5Zl89NUticDM2b0YmcSVKbHRKSilA cnhhCi16ZWNVKnUlZSFiWkRqNi0xeUlXYXU4JEYtTjBPVjdEbjwzNjdUJSp3eEwoTCNpPiF5fnN6 dCtTSWVDY3QwZyRHPnYKLXpEZXMlNWhuSCk3MXdZbyYjdSNmP0FFPS0xKy1YKittYUBRJm14TFRP PT98QUp3cUJfSkpTRUg/SzNSYmk2YlgkeAotelV9ODtKVSNEa0hAPiFUOWBOXlohNTtzWityZ2Fl SjFVdFBgMyg7IUxiRW5jQ2c5R3xMVkM1IytHQGM3X3d5SS1lCi16PEo7YHRXWUBfK2dJbW0wcyV5 UWpwLU5TPGRoWWZrWnFfPGdCQmhTamtgeE1Aa3EjT2RPTk1UJXleR09tbVMzJVYKLXpiIzxzQ0FJ PzFNVSs9emE9dj9TYXBtLXE5bStgUWRwd3Ukc1V0dzhsTSZnXndIeiNMQiF5QkdrJXkkQUU+dWVs NQotelBTazw+ZU1Ud3hybF5QfEEqVTV6UGZYa3lgYUxEM1llTD4tbVgqKUZfdjlCUUtYUkA/XkNW ei1pP3F5Xj92cD9OCi16MilETGtpRUk3VkMtfXMke3lkKElyc1FWcihJX3lyVkdkaSpXOFh5Ylp4 LSV+TWplfTN3OFhYKGJ4K3J3KUk/ZzIKLXowUig4PTRfXkVXSytzU0swZ0MlPmArcHlBKnMxQHJp SW9LZXt2T0pJSClhMGBJSlcmN1Q5Km9abyZPT3liKUtkcQoteldwVXF8alcwMCUqTyRYYUFPeShK ZkREfGJOeWtmVSt8ZVNuJSNsTGlAOGYoQWIwPilGdTYqd2NrZTJ5UGZrVTI/Ci16MmZNQyU9SXh5 alRKTmZAcVRMNHt0WGg5PnB7WTR2S1U8ZUNYSDlFcD9zUmhCMjc0TVIhTDYwV3U3Z1lNM2pnS0AK LXoyJUl2NVNGQDVubGxrKVRgSjhMQSspd0J5RHN2WXJRVm5MQ3dzZnlwdj0hKzBvZkVkUj4rUXte YSErXkE4KU51awotekMtUExvOWozSkNaXzRLYlg/KmpNe0Q8SENubUNEVDI5QjQqMCV4cCk1Vl8o SzNaTV9SMFU4bnBRRDFNSiZaYjd9Ci16TD9fLTxjUmp7emRNO2NMUFN3Tz5PeHAoQSEtRn1DT3dC eTRvZ309PkEtaDVUX0tie2E7M05rNzVFUUkmPnhQZmIKLXotbklidWNvYmE1biQqS3N5fFR7Sz55 UmR+bk5aIXVXR25nPSFSbmNTKjt6PTdvYjBTT3p2TWFwakorPj0/RmZ4TQotejN8Wn4tOExnUGVE VzNEVjYpeHBYMm9ZJnA0bjdmPFh9bzNwPSRSR2F4fkZrOF5GSDYwZHRMa2tJUlp3aCFlQC1HCi16 JDY3UVU4ayFOYzskblkrcjx8SjM5JnRgPT11cUQ2blR6d19LM1AzVFNMQFFGUm1lKlhVY0oxQGA3 Vn5zc2tKcnoKLXo1U2lhU3daJSpmST9RZW1pfFFVN0ZES3RgKy12andfPV9ZX0BUdVopS3V3PVA/ dyM/VmQwcyZrU017aFFRc0RGLQotekZ7MTtZUDJaMXslY2gjNTdtSDFWPTktSHJGTGxCejNaeXIw V3o7azJnd1ZscU1TeStfPU59THxDbGxEWG8pTipJCi16cV9wRXB0MjZ6bjdJX2JpND0oWE0+JiRO dTZjZ2UmUTllUSpJaGZCWntUKE43TjhDPWlGQitDMSZfKiRofEdvWlkKLXpsX0kkMHQrWHAhb21O PntUYSowTFU4V2deUlp+QV8rfiheYj1sYzVfPnUhPyVpTUo3PUNCbzFeRkFpeHBObVQhdAoteldq VW9KRzZEcUtGeHV6bU51WDNEb0gtdjZjN2dme2ZCbEtqZXg0dV47Vzl7eXZeIVlwMWxhYDZSKSkp Xk9FOUZUCi16S1FnPlJkPTs/QkYmdyokSHVTJGRCSUk1KTVwQkQzd3xKJCFoRiF5MjN0d3EtIXgj bVUrOUhTX0lmUHheUVZ7RF4KLXozQCVrdihiYXhub21ybWZhVD0tMWp2bURnVCR+cnNJQG5RViF3 NUwlV1FaNlFGV3J1ZC00X1hmZ0I+K0ZLRHFfSgotemMqP3RxeVZ6YDRlaWphQ281VSM9KjQqYEsk Y2Zle2RHKWFKXjt4RCpNZThNRXlZZnJEaGFTVityck5JXm9jWVdICi16WjhNRHoqamBKTzBfbjRo VlZ8a305UntEeHhtKHZDVmBIV0pMSUNscSlpUmRmcHdUTUEwO05HdVpqWVpKTmxKamAKLXpAR1BR bWo+dy1LQkNDflZ3VEAjTiMzcX1CcVhlQVZeeiQ1JGEpUVhjMCZWbkw8JWNQM0dGZHNqLSFNeXZX fF50RQotelhLfmApNkgoSiZyNHkkUXp2MzRieSE7eiEtJnBFPmprcEZsanlTN3M9QjN1V2NWRUZ9 PCMkU1RnfClwfFNHZChNCi16YTFQZ3w8MXxoOyNgYXBeOUR7NT0/enwqKnNtPXpUR1Y+cX1DP3Mz O1dRWEhhc21jQiRaJlVvPkRZYz93cCFVTEwKLXpeO0wrcnJXbXM7JXpiJSFrUEZnKUlQeTNuSEtH XkZMd3kyMUYzRV5sbz8xR1VQcjlDK2VhS3VST2drPGx6cE0zYQotekxQd1hjc0VZfjVfNHc0PVUm ZGZGYzQqS2AyKSpLPyVVYGBWKD5uRldeQTQ/QVJReVV0WE9oe2JUVGZxbSNwZ3VUCi16ZT5fI15D aFpCXiRadyt3OGkqQDNhM0dQOHpaU35fWk4kKnokKndCPHIwaWUrQkE9QDJuJTBFUngtNnptT3o9 cUoKLXpYbGU8UTlQZFhWc2kmMnpfWD89TldiRVZFaG9Rd0IqWHRaS0Z9U09qTjxDaDRrN05DOHlR MWc+ZHN7UVRwJm9mOAotekFwUWZlJXpXfntLek1zeHBSeS0hKm4yPzdgNXhyNUR2QDtzKHhpYWZm SW5kSjt9RlVZWGFGKWxCYGJoe3p5cG1tCi16ZXl4fDJ8OTZvQ2dSSzZxJWwlS1lnTlFee199Xjhk Zj5wSDlnS3ttKGhKOTF6UHJaV3tkQmJKSkVPbiFrVT10OXkKLVBySW5xQ3l7KH1FN3pGd29TSDBI QwotCi1saXRlcmFsIDAKLUhjbVY/ZDAwMDAxCi0KLQotRnJvbSBlZDc3OGZjZmIyNGQ3NjIzZTdi MmNlOWJlZWU0YWY5MjQzNzY3NDAyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxp Y2phIEthcmlvIDxoa2FyaW9AcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgOCBKYW4gMjAyNiAxOToz MTo0MiArMDEwMAotU3ViamVjdDogW1BBVENIIDMvM10gQWRkaXRpb25hbCBQS0NTMTIgUEJNQUMx IG1hbGZvcm1lZCB0ZXN0Y2FzZSBmaWxlcwotCi0tLS0KLSAuLi4vcGJtYWMxXzI1Nl8yNTYuYmFk LWxlbi5wMTIgICAgICAgICAgICAgICAgfCBCaW4gMjcwMiAtPiAyNzAzIGJ5dGVzCi0gLi4uL3Bi bWFjMV8yNTZfMjU2LmJhZC1zYWx0LXR5cGUucDEyICAgICAgICAgIHwgQmluIDAgLT4gMjcwMiBi eXRlcwotIC4uLi9wYm1hYzFfMjU2XzI1Ni5uZWdhdGl2ZS1sZW4ucDEyICAgICAgICAgICB8IEJp biAwIC0+IDI3MDMgYnl0ZXMKLSAuLi4vcGJtYWMxXzI1Nl8yNTYubm8tc2FsdC5wMTIgICAgICAg ICAgICAgICAgfCBCaW4gMCAtPiAyNjkyIGJ5dGVzCi0gLi4uL3BibWFjMV8yNTZfMjU2LnZlcnkt YmlnLWxlbi5wMTIgICAgICAgICAgIHwgQmluIDAgLT4gMjcxMSBieXRlcwotIC4uLi9wYm1hYzFf MjU2XzI1Ni56ZXJvLWxlbi5wMTIgICAgICAgICAgICAgICB8IEJpbiAwIC0+IDI3MDIgYnl0ZXMK LSA2IGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKLSBjcmVh dGUgbW9kZSAxMDA2NDQgdGVzdC9yZWNpcGVzLzgwLXRlc3RfcGtjczEyX2RhdGEvcGJtYWMxXzI1 Nl8yNTYuYmFkLXNhbHQtdHlwZS5wMTIKLSBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9yZWNpcGVz LzgwLXRlc3RfcGtjczEyX2RhdGEvcGJtYWMxXzI1Nl8yNTYubmVnYXRpdmUtbGVuLnAxMgotIGNy ZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3JlY2lwZXMvODAtdGVzdF9wa2NzMTJfZGF0YS9wYm1hYzFf MjU2XzI1Ni5uby1zYWx0LnAxMgotIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3JlY2lwZXMvODAt dGVzdF9wa2NzMTJfZGF0YS9wYm1hYzFfMjU2XzI1Ni52ZXJ5LWJpZy1sZW4ucDEyCi0gY3JlYXRl IG1vZGUgMTAwNjQ0IHRlc3QvcmVjaXBlcy84MC10ZXN0X3BrY3MxMl9kYXRhL3BibWFjMV8yNTZf MjU2Lnplcm8tbGVuLnAxMgotCi1kaWZmIC0tZ2l0IGEvdGVzdC9yZWNpcGVzLzgwLXRlc3RfcGtj czEyX2RhdGEvcGJtYWMxXzI1Nl8yNTYuYmFkLWxlbi5wMTIgYi90ZXN0L3JlY2lwZXMvODAtdGVz dF9wa2NzMTJfZGF0YS9wYm1hYzFfMjU2XzI1Ni5iYWQtbGVuLnAxMgotaW5kZXggNzU0OGQwZjI5 ZWRkOTY3ODU0YWExYTdjOWUzYTAyYTA5ZTg1NmY2ZC4uYTFhY2YyZmMyMWIxY2IxN2I0MDkxMWY3 ZGQxMjZiNDhjOTFkNTBhNyAxMDA2NDQKLUdJVCBiaW5hcnkgcGF0Y2gKLWRlbHRhIDY5Ci16Y21l QVo/SDZTK1h5V1NMJGltQklUeCpiTDtLanpOKSNsT21vdEtmNyYlbzl8N3MySCpQKztONmNlazxG cGw0WGoKLVEjS2doQyNLZyFqKl9xMjUwOH44PmVFPExlCi0KLWRlbHRhIDY4Ci16Y21lQWQ/R3Q0 Jlh5V1NIJGltQklSQVoyOTtLfDBSKSNsT21vdEtmNyYlbmsmMmZeaHJrWjBrQGNlazxGcGw0WGoK LVAjS2doQyNPT2NTaDA3Wk5NZ3RHUwotCi1kaWZmIC0tZ2l0IGEvdGVzdC9yZWNpcGVzLzgwLXRl c3RfcGtjczEyX2RhdGEvcGJtYWMxXzI1Nl8yNTYuYmFkLXNhbHQtdHlwZS5wMTIgYi90ZXN0L3Jl Y2lwZXMvODAtdGVzdF9wa2NzMTJfZGF0YS9wYm1hYzFfMjU2XzI1Ni5iYWQtc2FsdC10eXBlLnAx MgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAuLjdmNGUxZTg5Y2E1YzI0ZGU3NGU2MDFkZWE4ZjYyZjY4ZDQzYzMzZjgK LUdJVCBiaW5hcnkgcGF0Y2gKLWxpdGVyYWwgMjcwMgotemNtYWkkY3tKM0U4XitDOzhBSkJ2VEVk S0ZofHQmQ1ckWkViQn0/M0RrYlAlRE5ATlYjbUU3I1IzMCh7dExkSVV2Ci16TEx2N0tXeT55JT4/ N09seDEyaF4tI188e19xXndNcDcpJmh6dDRGOTAhdU8mIzBVXnJwZkcwSGM7b216SFZfbDIKLXpn dXVLREF1dytPMVpFbVFmVmxwUVU/bHtJP1JVIXgzfVgxY2pESUV8en5QNjB2SF8tbSV1bVMqMnQo am5tMyRqKwotent4dTxCRnF7RWtnfjkqeDRhXks+MDdQS1NGN2RgNzRATCtgN1EkSihkOUJvJVVF YXFIK0tAaktlZGolJXomT250Ci16d35NWDE/KE43fWtzWUw5NnklTlZiTE1FY3Vhdiplck4zVVhX PUZUVEBHIzw3aExoaEQkdlc5QHdnNUtfcCNgcGMKLXpgcys7VyVHVHdpTl47MzlhPS1lcSFLWnk/ JmJnaHA+RDAkQ21rMlBxTmJ2biY0JGBfRSlhaDRvVG97Xl8mKlAmKgoteitnV2NmJT1MLWNXYTVA S2YmUVlzdVNQemRHYTNzPjlzSjNHTDw4bzAkMSZ5TUNzVFpRc3F5UGM/QDdpKEpkcmIoCi16d15Z VzB0alpuQ3dkVXVnKmMoUEZSdEBaJXckSjFuaG1mVypNdT9oJjMqbHdycDk/O3sofjlmcCZAb0gm QX5FPFUKLXp3YEtOY2w5OSRBSW19ej4+aFhnR3RUQ3RLUT83emFlMVZpWnktTXt4WG8qfSQxP2Zm NStvITNlTXJEX3x1VUBHWQotenduRSUlNyZBemJfNE1Ybkt5dHdhYTdZSXcjX2lAaTlhdDcmSzJQ entOdnstbkhPcH1NRX5vUUBtKm4mdk8tel5iCi16cnFsTCMxfmZ6U1EjKVVya1lnZzJaWm0kKXA/ fjJpbyhaZSllZlA+WTQpNT1wamdQMHVheV5pdTZKSEdjcjUre3AKLXpjKGlrKSNwQCohOVZ3SWVf SVJtTT8kJCt1cGAoalVQUlB6OXVJQHx6dz9SfGY7STFnZXZ0b3IkaChhakk4ND1GbAotenJLWV90 dHQlaThWb0xTUiFeRSRmTzt2eUQ9QjRrRWw7KzlhJTdsZjg/UkwmWEZ9bzs9WismLVlBVj92aDUw U2hWCi16I3VsUnNGJDteODRlVWI2dnBobkJ0flY5MytgSVB6e1BPQmklNWE7P2BCPE9vXzY9Kilr Y0p4Qjs9fj4/WGhZJksKLXpmfnV4Ji1DfE18P2NoUWl1WGMrMkM3b3IjUkYhKDlDSFUha0AyOCZj UTFFMmgwY0J6dzJEWj0tNUFIK1Z5Nn5tYgotelBOSHtvOFRRS3VjUkIxJCl+NHUjPWJoezVRbCtY aytWWFg+Qmg8PW9Te0c7SV5HNEcpazI4X1lzelk2TUI8KGdeCi16eShmKVJkYzJEXnFmKmdBSVhl fV9rPzhwaDF8WDA2K1lFNnchSEdzdzRseyM1dCgjaWp7YU8+I3xGenJnSDZDIzcKLXpCTSYjcjNA ejlBMzRnNGtqV08xKUprO1J0Kmx0IzxtYlNvKzdsJDQtVF5LNHxZJn0+MWN9a1EkZTZrIVRqMH10 MAotelhKU29RVGNjLUFAPiFUOWA3NnE8Q2F4Q35PelItYjMzbUZZN05YVWc9VDQ8UDBTRVNleiQj MyNYfSVFUVl9TFRWCi16IyM4THlYNFQwLUx0NHojcyV5UVNXSn1hQ3lZS2NQWnFfPGlwcm5zaGxh JXNaUCE1X0hPTks3MS1IWHhjbWZ4JjwKLXpebU01czl8V0hGdCMjY3NiU2R5N2tVZGRuT0xeRmZX entwe1V0P0tuTSZnXndIWVI3cSFXJiojJXkkNm9ZaXUwYgoteiZlWit+eSskZWNybD95PkJGPG1A eWZBU0JebXs1UVA5aT5+bUs4NjJiYD0qVUtYUkBAYjB1TjlpP29jRXU5SDlpCi16MilETGtpRUJP VjZARkAxZS1fVjFRKnBRVVkhc1NXSDsxanx2VHZYU0h3dCNkcUs/ZmhUNExMWGRpLUBLSDQmQyQK LXowMEEySmdCU2stNUh0KXpmYTFRfTBwR181Y0l2LXVWcjJuPXpsVno3UDVGTlVqJX1aJl9OOUQz bXd5Q0tvdEo1KQotenMpWE9vIytSNllZcyl1QUFPeSVAelp7JlZNYU42Ny1fZnBZblgzJGk1NkFm KDxWK0NQLTF2c2BRST5nNEw0I2hDCi16YCNXeT49NH5BaVRGOzhEdmZUJD90YUBLaGZ2R3VQQTZ1 cyVYSDlFWiZVQTlgSSh3UklmX3AyQVR8MVpoNn5UPVUKLXo1SUFgVHVXbHRIa24hcnQqPSMzeT94 Knc8d1lpSnNzUnB4Nm58ZkMpREVTdzkmeHFSRF80SCY+eHVASWRqV0wzLQotejZHZmB3SGQ5Kmtx M1lRbjhzQl9gO0s4QVA2RE0paSExM35wcGMoNjZNMj5gezY2a3wlcHIpaWopVkpJR1M9M3dHCi16 KFRPKVQrPlM5RFVKS18kUT87LWRRXzRWRmNuRHtxc2hPOXh2IXU1PFdHNlZsb3s9I1BvV3gpc0Ro cTRleXpYblcKLXp5Q3VYdTl0REBQdUl5JjR7PDZsQDxCJXF+a3g8PnFXR25VISFSblFPKjxNSkNu Q3olR3p2TU9sb1ZfPHxeJDNrVQotejJ3bXkqOVc5XjhFfUhZYTlXTCFkMnRgdHNMcno1SDhnQ212 ZXJgcCQ9NEJrc3l2SH1AUTVYTUVmcStwZF9aXzNfCi16dmxkUT1nezRQKmFrVzNrUSUxZWRlKFF8 KjtETXQxYjYxeXZKKDVQU3A3eTIzRTA5OzN5IXlHNV5QTWFpUT4me04KLXpMZ2p3PChoKVo/WGc5 a35FVWJIY3lxeEA/YWhLeHZAZlJ0Z0BINkcoej94b3pvSUImZV5TcmBwWlc+V1psfGo+ZwoteiNF a1pUSFhSLSpsVFM1OEZCWH1JJXJ6STFVK0lSST1nVnh8UE9vUnU0Vyl3PjNWe25Qb1BSKjxvSzBa a2BiR3FVCi16OyokMlN0dUZMdStONTFIS0JVO3x3MlBvWWE3P0o8TUEtO3dXUGQpUjxhZUIrOWRS cT1mIUt8N0Fxdj92e2BkTTwKLXpSbSRNdmNRUzVsYj1zdytscVNWeko0YGJTRTJqUH54USNjI0Y3 KiVBKlc5SDc1K2V+fSNpR3o0Wnc/dUVEY0xATwoteldkKVRhNSZ7SFVIYCl7QU5nJFVlMiVOb2o7 fmUhOXtAUFFLeTxBfTshZ1ppQiFmdD01MTdzNjRUTUAyc1V5fFllCi16e2x8dF5oXzM/fElmaTFG KFNgdytNP15kZEMhJWUpPy1xUyZ0NnxyKSoyWSlaVHNNe2xOcEJKKWp2UWBXLUJjM3EKLXpRNFQz bFJAMmpZWHF7MSg9KmZATFZASHFUYFkrQjRZNDJ+SlhUdTEmV1R6dklpazJlZFYpdX1OYUltOG0k NEI+Jgotem0oT0B0YTJKfm0lVEJgfmx1NFgmTENzejdoVXtwfjtANktWLWtmSW9SSmN8d3pONUkq YktwNnxaTDBJZSFHK0h9Ci16JFRxYHhwWTRydzMyPVhRQHkySXJVJVNDKWJNRHIpQylpay0tY1Vm SVlOZUZySCl5bilzOEM3cCk1ITQ/UkhYYF8KLXpIOGhKVG0/SHtpaDAxSEVTKl91aTJDJkh7O2ol KWBsbmMySUM8UzVFWm9VcnNvJDh8JEhvNDV+bzxxek1xRkhXZwotej9zPVI8KkZAQ3hIPGByZ2dL emtTMUBDfUgrOTZCNXBBbEMtI31RfU0mRF8rUVZVSTdrJSlBY2kmS3Mxc1lmODVwCi16YHBAN2Z5 M1hUdFZ7REhGJk4wfkw8TXlreyZoeFdEcl80TW5gPDBUZHkwZ01APWMmbTdCa3hsRDtWSEZaVzF6 TnoKLXpXc01ieGorUXZIOF9aKlFkVm1Za2ZIPzlMa1JIKHc8RG90VTl+WTtgRUtlPCslQiNHVm0z Nj5lQlQ3M2lBaWJ+awotelllR2t0ZWJFcFhqcUNRVXg0KD9ScmY8YHJta3wwek4wK35PWj1ga1Rr TE1tKHdXIz9Ra0lwMnNPfUZ3cHoyPFlLCi16VVUpSzk9UHUmflRoRjc9Z2JnSEE4YVBsVyRYfDxQ S3tuIU8ocXcwcWVOeHUxZjAwZ0FieHYhK1hJJlQ1Q01JfksKLXphNVZMVk5zaSVCTkdpVy1ePT57 amdvSiQoYHpXbDQ8NjUxQTc2eTBxUWk8bXE/czJUWVpEJG1uVX5nLXRLaUk4XgotejB3aklfbVlH bFM3WUp7KytjV20kYiRkX2ZJTiFxQFJ1eigtUD98SWwyP1BLcEtNdFluZkY+YUtRP2RkR0ZnKGFl Ci16XlZmTz4jZVd3JEZiTWc3VUc5SUg5UndMczkmbEhrM1Jjclc0PUEqIzh1bV89SkBXfSg8UERi Png3M1NIZj14aSsKLVBtUjVGMWRzeztURmJNUUZOZkZrVwotCi1saXRlcmFsIDAKLUhjbVY/ZDAw MDAxCi0KLWRpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvODAtdGVzdF9wa2NzMTJfZGF0YS9wYm1h YzFfMjU2XzI1Ni5uZWdhdGl2ZS1sZW4ucDEyIGIvdGVzdC9yZWNpcGVzLzgwLXRlc3RfcGtjczEy X2RhdGEvcGJtYWMxXzI1Nl8yNTYubmVnYXRpdmUtbGVuLnAxMgotbmV3IGZpbGUgbW9kZSAxMDA2 NDQKLWluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhNGZk NDU5MjI3YzUyYjNjNGE1NjE4Yjg3NGFmZDcxN2RlMmFmYjcKLUdJVCBiaW5hcnkgcGF0Y2gKLWxp dGVyYWwgMjcwMwotemNtYWkkWEVmWGk3c2t6KThBSjU0Tl8yKihgUm1LKlclTHEjQzQ9YWxpNTVn S0w+RlNDY1ktV044R2A1fUElejY3Ci16SjB4MjRJLShEUCYwOWAjLXVLSVh4YVhlZGRHMHkpK3dW TDhtTVI0ZEFfdVRrUCNDM1h5azdoPDRUdTYlaWxzYikKLXpVQDcraUVGfUBaTFkjZ151dT8zPDs9 NSVFMjliU1ZkT3M1b1ZEbSNqWCNmTDI8Zm8odEkzYU1BWUw7RFJwU25PVwotejcpfU9JIXtHbjwy Qnc2UDBiRFJqJDlPJUVEPighdDNaYnZ4eUlwMlJFOCohM1o3dnYjeThqXj5PRnF2V2NaOUNGCi16 PDYlbyltRSRqfD4rZ1hjYS1lSFltb0NfMChBKzhBd2pAfkB5WHctZCF8QCp+QE08fTRfV0BAVndq SGoxXzNKfEgKLXo9RHVCMEhORz9xS2RnQTZ7ck48T2UoQ1VDMkhgMnBGJnZDOVg4JG1uJVdLdlI+ aC1SPUM8QDloVkRlTlc5YDFBKAotejwkMT5KUTd7VllMd2B7e2s7aC1ub3MwIzkmaTx0MU1GS2BG N2NySGdtdmIhOUxlcURXS0gmN21uQz5tdT9hTk8yCi16bl54S3dzVnB4RyhLYigxWkUwSno5JFlL WDMmaFElYmIwRXx2X2l9SXpaOENjdU0qZU9xaF5Ac2p3QUMpPyNkZEAKLXohdD81VnFCSDZzRGFN WiRRcGE0NFBxX3N1XiNXNHY0QHglPEFPLVNsQzUyWihAMUNXVz42WTZ1LW52PU9ZMEM0awotemN9 aEQpKVhqcitnX2ktJmhUKmw1Q08+R3EtLUQqJldPM3U0b09NcjtrVChnSD0oQVRDd0hEWDMpaStx cnBIRGt4Ci16OGNffV5OYlAtamlIYHxpaXk7NCFPV0kmNlNxUUgzZGpIeGhGNTFUX0NweH1VbDtN I09zcDkzeFV5NnwmUGJZaEsKLXordWRMQkJKWVZMelBuaGY3N3gzRCl2PExuJmthMCQhcTlLKzY5 SmxJMW91VHNpU1pSUlJkNjUjN3I1dkgpPkBERQotelJjP1lARF5oQ2plb09xaSpJTShaZFZhPCtQ ST8qZEElazVCS2peMGEjJUNHWD5EQWFEPE9oO1c3filBajR5Szd3Ci16aFpxTE9pdSZ+LUImZVBz TDNkaDxzMilDaTM0VjMhSll+RX5SdzM1Mnd0THFNRntVSnNIQD52dTg4eWV6PXxiZ0YKLXpfcm9h VXhPKjZvZFJ4OHgtYnJGcXNHMmdAdjs9UVdrQ1JrfDkhV1FmTHJAbVZXQEkxdl8kKGRqKyF0TG9a X2o7Uwotem8kUkQ/Xm9ZKCVlfHdISnNeSEstNS1PODNTQ3djR29naEA3c0B6ek4mITBAJnlVNX5n bE47LTZ6XlFnd1hmKENWCi16WCl2I3ZQWU9rRzxRYFUpKyhSeUJrXiVYSS14ZXdzNllQbVpuUDVX KilVMzdye2pZVH4hKGFRSS0kVm1XTC1fR0YKLXprK0puVVpfWkIqIzN9T24mQnNjdEpxSztfd1pn YGo+NWAhSFI7e3RKKXNFfHBVKkA9Skx1Vl43b1Y+d3RDbHU1UAoteit1Tms5U3IlamNCcClmIXQ7 QyVZdFUme1dHUW0+dyUxVkBDK3RRVl5DYX5ZJk4zYFREanEqel9gVkoqQFk8I0VICi16eVgqI1dY a2ZkY2R+TG1seT1iWD9Se3coYHAxYnU5UlM0bnB0dDlDSk19JjxzJTdtPVheeW8mRXFSRlkqZlFD OUAKLXo7dj9JT3EzeW0wSSp4X2pTaUJvVHRjOzFhTHt1Pnx7dGNSe1pYJis1ZTBPJHtGU1Bsa0Bw MkUpeS1oPVI7Nk5DRAotekdebT5yLTVNRlQjXnRjIz9UKDZMQlIhT3J3ZGU5SUdwVHklY19nKG1g LXklRm5rTlgkVFAwPztfZygoXk4yci04Ci16UmIwb25MQyRBN2piaE8+THxHUnp3LSUxTTlWNkl3 OV89b0llWWZ6Q0ZZPzBCeElNUDNMVzh5OHZNJF9ZM2N5MCsKLXplKD5VNzBEPVpYdXUjbCoreFBv OyFtais2UDFJQiVAYl4mYXlEOU5jel9BIW9SPCRuaGNLaz0rR2BKZzclTCNiagotelpGejxBeX1j ZVgwbGA4PmhzRUpVNjtpYXwmVkFNRF9ORDN8Xzt7VDZTPyl+NXdsbTlrMG0zQXwpcW03fF9UPG82 Ci16KTJPUWxMTEF0JWtnQCNlZztwRklDXlJyKThLVVgrcm15UD0mWWUjbCtAVmJxTz5wVTt2Z35H MXl2ZUAlNWR6MEEKLXpMQFN6I3V3fWsoNjNlbGRWMD1jcGx3WjEwblgwfG14fkZsfHhVKWNPQEVX KEo8LWtCVGZwTlpAKURwdUV5T2JqNgotejk4amMxZVVsVU9DJGNQdXYhOHdRWHtFMiYoemRrPUBu MHx0O0s+eWJsbT5tWUBLWUFsankjUUUlX2Y4JEw/eng7Ci16YT10K0F5MDJYNFBFfHBwM18zQDtM SWRmRzM9R31QOTBXYSNBY3EwSVJeO1NxOzNQN3VBVz5NJC1XQE9WcWtScz4KLXo9fTVTXlMjPntv P1ohNjZmSzhnPFpiRUdAZyQzVSE1NEMjJj5SPUA7ZTcyfDIkbDg3UjE/Xno9KTtTVj03UEw5Jgot ekhDWns2UUByRkI1aTBENzRkVSV3NTRffFNaOzgtKmBvYWBAK2cmZTtAfGIxSHdJVGtvQm8teEc9 YH1edHElTjhkCi16NCRnPyZhSSg3MlI4Qn56NFpGcmFkTTQlYSFwVSp1N15mN1ZwPSRrZjZZXlNf U3U8flR4dEEoKVpmaT5gTmM/d3EKLXpIR1h+VlpvQGtqTUdhM2Mpe2BIIzlDZG5zYGJEVU1eU1I4 MFUpYFd+Pyl+WTJXb0F4IVhRanhiWVhBOF5Wa1U+Ygotejc+ck1wT1FhZWdTQnYkem1mREsmdWhs fjwzcSpEIUc4IXE9Z0dnWT5CMCNJMXt0dCt5Z0ZiOXBReH5nVVFyaThzCi16ITskbns2P2NTOzRs SHJNPmQzQWc1RUVvT1EkQiY0STlianR7VChBXlMrU3E7aCVZM0FxWjRsc3w5aik+OFgwaU8KLXpk bDZAdjJHejIlJlFfYENoWkdCQm4rODZQbkJCSmxqKlg5WXdxMW1MNll1ZnhtMmdBLUo/S1BTZ2hZ cWYpK0o/PQotemE2Qk5gal94ciNRdiR2K2ZsVndkPFR+TVZeekNPeyQ5YkY7SldlQ2s7ZyU8Qkpz QC1jI2l+JXJiVjBLOF5ydCNFCi16RThoNjYodjhLZ0JYeFozQ2IoUlNXfSsrKDl1I2tNKXpLPU9z WVh8cy1fYThWM0daUEEmVFQ/Jj9NZD93JE9NK2sKLXokWk0hUUhwP3RlYlluJG0mPnwtPiEjOT5X UjhJflJYaXl4RUlUXmdWI2NUS0NWdmwrSzs5eSU3eD0ke0Z1YndrKwotelZzNW5RbHdYQklJJWhG NWc+P0ArbnNjSSpPV3IpR2RWN2BQYkoyRFF8RG57e3o/c19ecWstQzY4JUd1K2V+VjFMCi16NlBt WmVyOWtAUFlSREpEUGBDQ01CZ1QmSENVbVVHVT1TY3N2c3AmPDgjR0Z1bzEtK34qfWRzWU03MW9T R1BjTjUKLXp4S3pRTzlWRFRlWDFhfWA3KHBsTmhsK0FJYlpYXzxBUzV7dk0rSXVnX2l8NUNYdkRL fTJFTCl6Yy1xQTBtUmBnTwotel52eSlocE5iXlRwUGZkcHRhJGpnNVdpNzFkaDBSXykxQX1UK3w1 Z144K1lCbldhYWs9X2w5KTcrbT89Szk9P1hACi16UkNreXI+N2ZVVkZ9NEJicEFLR0VfYk0jPFVv bXY2OStwbHY/YXZPeUM9aWw7QypHJnt6KkZrXnJhKWJWPnE/c3QKLXpINUduSlhQRTJ5ezBJWjJu ZGpWJU8/V354bjJHUVZke0w0U3ZwJTxXQ0JPUTFjSj4pJTlYSWkhNWNpP3B5QT5IIwotenpNO2c9 OW9PJkdYa357JlhCLWZyKTt5WlU9WFIkYXlKPGF8KHxLcDY/ZWFiKWxNQmYtXkJ0YEFaJih9JVQx fDVlCi16RStYISpvJX5LQnI/IUE+R2FVaX1gRD9ZQC08JShibzkoVCFPM01FQUZXaS15LWd5PUhx U0k+SCVuWHdkaE56ZUAKLXpPRSozVk5vQUYqSnRgbXM7P1BhOFBsQWktWmEzSmRwZkk8ck9Xb2N3 UE5SSitkTHYwI0QrQCEtKFM5aWVBbipnUQotemxxXiFlSyQhY1RwVktEcVNoKyFgU3N2JDclaT1V Uih1OUZYeno7Q15hUntYYVF+LSZla3thTkohMk5aVmV7R2JNCi16YGdmNTdnVUslY3VndntWd1Mo fTZTTmM5c0IhSzFCa1J5YHFheW8tXjw8QzY+UismUjNfKVJwVGwzKzZzeFFWR0gKLU11YSQrNEhX Jm9AOChHUU1mJmMmagotCi1saXRlcmFsIDAKLUhjbVY/ZDAwMDAxCi0KLWRpZmYgLS1naXQgYS90 ZXN0L3JlY2lwZXMvODAtdGVzdF9wa2NzMTJfZGF0YS9wYm1hYzFfMjU2XzI1Ni5uby1zYWx0LnAx MiBiL3Rlc3QvcmVjaXBlcy84MC10ZXN0X3BrY3MxMl9kYXRhL3BibWFjMV8yNTZfMjU2Lm5vLXNh bHQucDEyCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQzYjRiZTA0MzA3YThjNWQyYzAwMmQ0YTMxY2ZkZjBhYzky MTdjZAotR0lUIGJpbmFyeSBwYXRjaAotbGl0ZXJhbCAyNjkyCi16Y21haSRje0oxdTheX0k8OEFK QnZoQV80dkxPKk1sdkIlaCNFT0QhZTVAVUBDM0NTMztFNGtUczZWdF9AQSFPX28KLXpFZmpMXnNC R0VBak89NS0tU2ZWdSZpbnB6fDlILUd6VGZZMiZoeXtyZDt0T245dD5neTJwbXV0eUpFYX57NUJW ZQotejRPQnY0LSt+YT4qOGw9TDEwWD1Jeyl9S0gxYz44eiVNSmA7YE0lNzVDTHFBJmhrJFljbVZt LWYkcTklLTtDZHZYCi16UlMqQl9VQCNjWTAmdjNNfE0+PUhocTNfVEZuMEhOYkM0JTExZiZTenR5 I05MWVJ8M2c7e21QREFCP3s5OSMzR00KLXo2cFkpI1JObkEqV3YkMiNSNTEobSNgTD1KKVpiVWpV KlIpZURXTit0b296aExjb3lONV9lNj84X00zSVUxNUlkIwotejg9bSshNn16OzRBJkVwTzM4KGFG QURWcExRUmtpNmU0OT50NDBEZUZRO0owMTU5Q1BOd31DcVJEaD4tbnZob0ZkCi16Mz5jZCRaSDJp JEY+N3I2QClwb3ZebW51PEN2cncmMGxCP0RjX2RNUXdhe1RxZER6aX01TUZOZE0kJnQtYEpsazwK LXpzU0UyRzl8UF5tVTk5ekhYWFV1LWhieHYlb0V0WXo9OT5xVEMoJmt6PmI8akpXenReP0tFS244 WWl+RU9PMm0+YAotentGN1RWYCFYcSM9QVVAMVRiU0RNMHxsSGhDKm81c2ZsN1JWbHNpM1liPUBl TFR2cndPZEM9UlpzaWtJUjd4KnQtCi16dFAhKEErXmhkK2xBYEc0ZVNBKW00PSMrOGJXdm03WHU4 dm07U2R3QGt7JWh5cllMTEtoQURTbUp+TUQkJD1LRHgKLXpheHJmKlpDanZVSHpZcmA8SFpwckNT b0N5Xi1CKSh0M2RIb1hvY14pU0g1dzB8RXQ7ZmMmWn1iMTM0en5NZ0wjZwotelFLRkFXSSMhI3BG Q3xnODYleVliRXw4U00mazs7ci01cWoqSHlgbkpvJWZGZlA0SSZ8cWZ9Mng2K1IofkI0d3c8Ci16 ZDRtPWp4N1lQOWY7QD5TUmshdk56cFhWXnslTSQoekQtdH1yRmczbzx7fiFRYz14NThxTnUpZ1Rf TSomRGhhKWEKLXo8bjIoZDcoPDl2WHNxSihQTlh1JkJOWFVIVjxFQEFkb1JFKkZDQy18d1E4Site e0h4R3dNUCE+WGk7cEFvRGw7SwoteldGOWw5WDZreDRvMkVvTkFJZn5XTCl0SXQ2YkhKcClINXg/ Jik5bj5eLVF+cDd1ek4lNlliSyFqKFdJdkFMYE1HCi16RlAqJEJhbVNFbHIraT9HJEp2NUQhNWxj X1I/Q3p0KXBYRVR1Mm1lU2sjX2FZT34+YnJxXiV1aE47WVdAY0dpO2gKLXpUT0V5X0cpeCE/Jk80 MEFNVF9RYVJ1dGJ4JjFTRndkOT5mQWh8PnZ8ODRVR01EK3R1U3ZIOUp2KWlIaEZ4OyRSdgotemZ2 ZGZncChjZ0YjY0RzWFBxbURYdFRqc3liJmpgaEctKn1JK3UlbHZMaz0zeDR3bFpob1VaI2FBO0JG c1VYQnghCi16NDJ8MWk8NG1CX25WSTg0SFdvPyNzKjF+ckU1IXVNU19wZkJsa3VeK1h6aXclVmAp I28qTHl4LVJLfmU8VXhAUnoKLXo9d00+d3NtXmIrWUwlZUQlfm8xZkhRdHZNT1NDZSg/KUQ7WCl3 b3E0PHF3dlYpYmlidEYxbCEybVFLNV5iSjV6aQotenlZfTVpaFAyQGkhcTBvQG9wKCokMztZTmFG WFg5RzBxJFomP1RxLT43Pj9AVV97T3I7QG9BfkJgV0g1ez9MWnJ5Ci16aSlYYCkqN3U7dEVDdF5m Nn19K3VfU0Z4SWp1VTN5KTZscHE/byg9OEB4b19JYiNEOTw/PW0hMzdNNDVEJFl9MDcKLXpgdHkl NGRwbk19bWktPkZyPjFxTUBMVVh5WXhaNlpxN3k2REZuVFdjRHBGKiVVe2ZtVSg4e0pjd3Z9amZ5 IU5PJQoteiF1QklUZlg0bWMjWGtVb2hDJkVYKzs9PFJgfW58KXtnK0xnOTNiJWJRMSFkMXtCT1c8 P0E2c2pwWVB9WHVmVkNyCi16VDlQem57QkFZOEw8ZH0xeWczWFpLbkQ3aDswISRgVVV1YjxLQjsr ejZhcFdMXlZgY0FCaG8jRGhWcWZOZDV3VnMKLXoqenVpQjRgYmByYl9rPDskeCs/dWdEKnpBeDRY ZDdUQncoKyE7aVBSQntYTDt4bzNxdE8pPXFHM3hgdTFwWX16TwoteillaklqV2VUcnRyeSFqMT5k QzM+JWdYI3VuTVliUD1nTHp9cldAQ2NGNHxEQCYtUj5AYUJ9TUkmWjY7OHdsTiFHCi16THx7aiVH fTheWHdDSGAhUS1LVmoqJDkhbmVnOCZZOzxBYkJnYDBzPl9DYmdvOENmO1oyZ21FV3ZMO2N4aztr KVcKLXo7VHpHM3d7JCFYKFd9X0coLU50QTdfPXB8emNubkZ4NnNsR1l3c3JPWjRLRUIzVUZwK08j PiZmSUVOXzA4ckUrMwotekkmN19yQHtkTnJtRiE3ZnRXe3M+WX4zenR2YTFQSTljKyRMeTlpRWYw KHhVRUVuPlhBJmlYdWRfQm5TPyo3NS1nCi16dmxwX3w8MnpENW1SJlVDNiZXVilMa04raUUoUlkt Q15iWnlLWW5nVXhQbXAwWDVTWTI9dmY+OFA9JGNqREVJeHkKLXpIMENVdjM9S18+YGcreSp2X0tp e0s2bSZAPjQ4MWZZdE9IYF9pdk1SZntnVWZLVkV7byhpSnEkOWlRI3MkZTM3Twotekp7ekwrSkp2 d2ohbGNkVzJDPWFBQCE/fGZnTjd9dC09fDtYaCtAeXc1M2c3RW5CPzNVNFZvMWMpQUc9WE4rSmJM Ci16e3QrfE1fci1FKHhKKV9LNTtiM0JBd0pWb05PQCUjUi1VaTA4a3RfbFcqRVcqc311cmZufGMz JElKc0hDTXZjdH4KLXpDZERPZi0mKSs2Ji1CUyNEMTJ9K19KcTVMTmw7OVA+c1orXmQzYXx3cXZV cy1zdU9XTjwkPWBBYld0a0JHWEQzdgotelNDIzdFOyYlIWpUKCRiOHJQTX4lWFBhek9FSzhSRD96 cSlBTEdFPUFSX05FezB1cFp7cT4zZT1mITtneypXP3M/Ci16ZyU/I2NsRT9AVVl7aElfTD9ENHVv KjtaR3tOYCFlWFopMz87QGkxbU04d3M4UWlSamFMT2FNSWFKbkspPC1SUC0KLXp7cml0aUZBYHMw cFhWOGpUfH03JVRvQE1qRUY2bj0rXytveHdZOGRDKklwbEE7YyZ4VDVoVEF4a1U0TzxkMSp+ZQot eng/NFRDTHx4MHM7R3VtK1MpJGkqcSFCbDIxbE08TlIjYm15O3x2I0MpSUI/MCh5VkNWYzNrWVg8 YUlkTVJnZFM+Ci16d2N3WX0xZWI4PG5vUEAxeiMtSWVvTyhnXlVHTXRyWHgteDFrMUYxclZFYkgx RlA3ZF5VRmhFUDhzeFYkYztuKE8KLXpXRjY/M1ZaT3VsTSFwMk5LUnRpKjMkM0AhPGNsP2IzO2hX dVItcT5aa2Z+Zk08QGdPNnR0QkJeNjc9LTs9bjt+bgotejBxNn0qQk1ONFNCM1U4SWBlfUFfOTl1 c28qJjw5KSlReCZKKjlFQn1oVE9fR0spdXNebCl8TnluY2NtUVVPK1N7Ci16UDBUIXhsaiQ2Ym4l cUBMb1pRPlImJl8hVUclKXIjPmlvPzNgZ2pnX0R7dGtkUnU2ZjgjYnhIVCVYaSRRek5NPjAKLXoq N3UjblE0UVRqbmRYPm84PVB5OSE+NWZgcT5lTXdmeWI9OE5QVExfYzNvTHZ4SEdpbWZaPXkze192 QzxzZ0khNgotemY8PkpyaD1IQ295OWRtM2FrOEhlUWphK0I1fCRxfTRpJXQxMXNAaXQkMUZ9UDlM cG5KJDsjU2V1YTttTzdMZWM5Ci16XyUpKVUlZjlNSk9UPX5nKTtWODVXNzBQbShETWw2cUpzOyYt bTdXdCMtcTc9Y0ZrSjsjVW9TNlQkMyV3RlRXT1kKLXpxbiYqK1FGfjFSM3RQI2ZHUT48fEgwcFZm TlhURkZXcX1VVEREcnFtckVebCZ1WVp3YFJkITczIUtiZ3pyO1V2WAoteiRsKH47M0ZBQ05CYXFi Tm5wSW8qdnx1dmtOJGpLMEJBelI/RV8hSShyU20wVFp9PitzeypFMHtPb0ZxY21HTUJBCi16RGlW PFMwYSRoKyluNmNqVF5gVDRsVUpPKnByYiskYjJ2NH5NeHRyKnp6eDZ5RiEqckA8cCRJTT43U0Fs NWMtRnYKLXpWMzZlaEhNc3hqYX1kZGhAX0BWQUdfYU5kcyRacDkpM2olej8zcXV7eWtNQkp3NT9I ZTVeTXx0eDN6UFViYXBmfgotSTBmUnQpMTluVylvZDVzOwotCi1saXRlcmFsIDAKLUhjbVY/ZDAw MDAxCi0KLWRpZmYgLS1naXQgYS90ZXN0L3JlY2lwZXMvODAtdGVzdF9wa2NzMTJfZGF0YS9wYm1h YzFfMjU2XzI1Ni52ZXJ5LWJpZy1sZW4ucDEyIGIvdGVzdC9yZWNpcGVzLzgwLXRlc3RfcGtjczEy X2RhdGEvcGJtYWMxXzI1Nl8yNTYudmVyeS1iaWctbGVuLnAxMgotbmV3IGZpbGUgbW9kZSAxMDA2 NDQKLWluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5MjBi ODlhNmM3ZjFjYjkyOTRiMzk5ZDUwYWMyZDRkNjIwMmUyNWUKLUdJVCBiaW5hcnkgcGF0Y2gKLWxp dGVyYWwgMjcxMQotemNtYWkkY3tKMn1BSUhzQDhBSkJ2aEFfNHY2WitYTlY+aWFXNlN0WnVHMWkh RFE4ST8/QjR5dUFENEEjbyp7TnV1Ci16a2I2Z0UlZjYyNkJqTT9Kb19wIyUmcC1FaiZnWHAzYH5D aSReWkQ7fS1UO2ExRSpRaU5rbDNJd1IjY3A2KyU1LSoKLXoxeW4qfS1HUHU7SHZrZVY5VXd0Mntm Yn5FQiM2VGclTFdXJGB0aDBtTjxlX35QWFhscyVtS015a3t1OSV6OyFBRwoteio0X1E4Z1RQPW82 VGw5R3xNd2MwNzBMdk4hZFR0bk9oRiNaNUQqSCZ7ZG5WSXNWJTMxdz56e2hlPXpGaWRtQFE+Ci16 bDBTOV9TOVI2UGd9RVgtSyt6PD8zKWt6KVJoT29tenM2JkBSPGkySWFJKjMrO2FZQEstOz0zJio+ NSVoY1B5ejEKLXp1N0JkfFJMdF9gKn5DZ31OalNBbl5BUGlTUGxiRENgKXhZeTBuOUF8T2YzPzZL YWVBQytYbXxKdHZEPFUmZFRUVwoteil9d0Upd0g0LWlNe2x0MyU5PXJjKTc/fDJwMiEpQTBjN183 PFB0eyVtSTg7LTx6WXQ/MHp7ZTd0QkxPXnJofE1wCi16cnB8N3ZlaGpjRmNlZDEtb3Q1Rk44P0lR dkk1bGpZJXJfMDlPa3p6QyklISthV3MrWUNLRUtuNlpFeDRKTldmRT0KLXp7RX1LVGAhY0VHcmt9 VmhuO0R2TTB8bzVTQypxUk5nR3pqVzxlTlJwd2NUaWBUbyo7emRDPVJaRFd4VzVYTC0rYAotemRu e3N1eEx4LVZsWl44OEl6QWBQMH5hS1NKMWFBOUhRc0U7djU1JEhOeyk9PGxOSHBoIXhUQyVYYmha QEgqXyZHCi16VShCMEstUjB9bzQkZT5NY3lVQ0hqIyMrUHszVkM2IzgqNU9Rc01MTmx9e3x1P0B+ NH50XzgoJk19fFJ1KGZebGIKLXpyMHwyMGpgYiR8T0w2b0t4ckRjZTN6aFFXYnxobUxIflhCUj9m WDFrWFopXiVDVjBWfWt4SGl8M1pJYUxrPHdHNQoteis8Xi1YeVBHPWFLcHkxZU43dWU1ZUJFZk1g Y3BxSWVWM3Y8T1o4R0ElfCZkcmFldFJeakJOMyM/RnptRVFqRzZLCi16QjwrVDlNQyhIPUxTaiU/ SSp8JSZfdEJ1TTRUV3NDWkAmUClKYiNjcClUKml4PE5jXkAtNDsyaHJCMWF2YXpZSCkKLXpRQEJp XllBS3VIRU5XdXlKWlJJRTRvVG17USo3OShRamdTbFVxaTNHNnBlTzhQbks7XkNmMiFzNk1iKCM0 ZUgpVwotekVTPGF7YzJsMmV1WTYjSyVnSm5ZZi0jYHNURW1ialJrUFBzczZoP1dEIT1MMk9+PlZw cTs0RSRpWmBrYWNHZ2dJCi16VE9BQ1opSzNgaiYpYmo0TDwjMz9SfXxrcyZ0QDxJZDkqKkska1h1 YD15YTczM2tjTTxxM1BaNCl6TilseVdDJEIKLXpmbEl5QXArPnBFI2NFJVhQY2AoOSUjV0F2WCZy Q2hZRSp3RFllZzY+NG5BbHc4WjRifUszKTR8TFgwelB5cXE4Kwotejl1bTk5IVhDZjYlRSVsU3Vy Zj5aUSRucEl0UUN7WVlhcCFnail1cVBxQkkrNGotQF5VVStNWFBReWt+ZWVqJj07Ci16dGM4bi1Z akp2O1JVOzEjWU8rdiZed3tlSHN6ZzFyPnNCd34rR0UhV3IwbF47cUg/fCkocGVqOCZEM2VMVjs3 fXEKLXp7bXIpOUslWH1KTEdYRitZVWVGdXcqcEBoKWYwS0RsI2pDKnJJYGA7OHBsPlc5TUAyYEsw WWxHUmA8ZWN3akYzJgotejw+MTxLclM7d0VGLWF5aU0yMFZqeC1SK1J2OVdAVCtwNE07TTc+TGBE XyhmLUQ5dyQzOyRESH5PMmN5Sj1eMEkoCi16TX1JeUh2JGJLMVpUe1hQXjM9SFk2cEAzamRmQz5x VVUqezc2MUpNbHhzRFdDRlc4b2RKaFpUQ2lmSlZxOUlyWDUKLXpqPEVnK2tmNTxZZEdUKW1LfD4l VURCKnxnfDZ7eWkkTnB2JEl+eGY2QlVKaWZEKk98MDlEMjJOJipifk17VWROewotekBhQzBqUW9o JmZVdDt8KUVgfDw2TlJXWChje3A4JUw2bHkqc2F4NEpReUJ+Jml1SyprODYmVHszaz5CV3RAOWNK Ci16MkpxdjErd08qenQ/ZHdjX3AqYkU7fEN2e1deWj9heHVybGFNfjUkV2IjcUEwV0t6IT5YRFRa R2F4PEdfODt8QlcKLXpxNGZfQ0lDWUFzWChLMD9AI0BLYD48YkZLUFo+dypHamA9RW5DWFRNZ0w3 NmJgOT9oXyNUKl5HeVImRyNsV21PcAotelhkJjI8NjN1dnZCe2t+MStObDcjei0peGp7JiY5eVp0 QERvPCFvcmNseC1qKU1AbXs1XnVnaFp3bHBVNCt4NnBGCi16d0Q3SHtnbGsmdmh1QyVlKy1iMkM5 VVJ1WXJOMT5TaGBaMy0wJm5Ybz9QVXFzNClrfG9XPTtoc0dDMmpLVkQlZVUKLXplZThFT2c/VUZL O3F0YlhVQ2ZWYFIkMDI4UT5FQUFBOWIpZU5QSSlFPEt3WWdiRXkmST9Ye0w/QFV6YzNkJEx2egot eig3NjVKPHNQNHJeMERscThQRHJzdmZpWCVAc2BEKUJRZzI8PiF1SCQrbUo1ZU9gfStNMXdNTXoj TkFVUVZPN2gwCi16Sn45bTEzbnhRRChqJThISWkyUCFxb3J8JXBPaFRmU0d4VENsM1Z7U01KdiFp X3NvTjMkU1pBciFgJClONHpgU20KLXpsQCs2NGBNWT5NTmkkNUYjWl9gKSY0YV9tcSZ4TEhFeHc8 QWxPYztkUSNyZystR2otd0lUfD8yRlFWP1E2YDVFVwotekYhP1pncjA8TFEmflRZVGlhQzB8JFZf eW12NUAqb0tkZH1vWnZBP0NFc0s2STFGVHBHNyZVUH1nZ0NtSSFBMT5ECi16TlNOWjF3eShgQGpB eSEoOVcqaGg3PU9ZfDJvbzNgPkBycTFPY355ciVfekFgUDt3LTFDZnxfPU8mNHlWbiNiTCgKLXpl TzA5YkVgQkhIJlFZVVZUSDRafV5sWTFEaWZQJjAmeUJHRENlVz8rJmY0bF84VUtWRTIjSTFiWG4r QCYrK2BWNQotenVpJkRoWTlhKnpmfn1lQzNofjhMJWl7JTRnQD5NfGVJe09mRCFROTFMUGxLYnVa KGNxVFdBTl8yVFdJbERXKnY/Ci16cktMU0VLMVk2aVd1OXY9VylXQGRlfEF7WnFpYChCVmUzfVdR Zm9EKnd5aUYpIXYzbCQzTTlLaGt+KGs+Si0/d1cKLXoqe3U+KHFNfmt+Y2g1R1hFV3pfUSh0cn5e TGc9JWI3MXJJYCglYEBmeUplP35uLW5lRmg+aDc1elhBdWw9eH18eQotejlRNSlUfDEhYUAoWVdq YzlNVXBRUCR7VXM8eURzKnJDdDJgZSNNJjtFVDBRa2l6VDt9N1B8TDYyWUpvKS1aO0FuCi16U096 I2BuQ0B9Qmt1M3F6cnNxU3koMGJjMlVvM2Y+U0QpWnc8YSZZdXNqQjV0d20rYXo+U0RxcmZscUlZ OXc5NEwKLXowaUQ1Vk04T1BNQ0BXWSZIYFFqOXp8eE9QRzdDY3F5UzVuUkl3S1dEa1VSTiQ9eXop T2xSNHh3diU5fXo3WjhvfAotejZFbnxhcjg+dFZDJT8laE96d1hwJmRxdUcqVkRoVikldSQ3Xmw9 PzxTNiQwWnNVR3JKQjRwO1olWFdtZXlqQGtrCi16VWV8WSQoNHl9OyR9cSlzVE09OVc/TFRlM3Nf ZjkxNG1mN3ZTPXB6WVdZZCl1TSRuKW9gNDdLS19KYiFzbWlQIzIKLXpFbStpQWhVbj0/dmJ3YE83 QU8wOEFhI2ZYUGVJdlghd14yJlF9QUpOZGkzSk4hbSsle2kmPEl3dGtxKWwhdmYwdAoteiRHIzJk c0luejNOd0xeMnBJV0UwU1h9eFI5ZU1eflNhZmpxbzdafTN5V3djPXpEPCs1VS04SVA2MzFsb0Bl OGo3Ci16VHhtdjZDVGNGcjtiQ2llRXAhbyNseGlJcDUoKVdoekFWNkE1PXxOSnNCJWlvYHUjNzt2 OHMrcTlyKk82YFA4djcKLXpKe2JhQ0drJTxGWGF0Z1NUPHlfTEp9cm9YZGxHWCRxPUBUY2prNkF4 YVE7ayo9TnNOcG9TI0VTQiFsR1NVfH40VwotenJHeH5lZWdjK05LPFBJS2YwejMrJlpJUmJQdzEk P3kmUUhgaWgqI2RFRCMrRmdhQ0Z3SD0mI1cyMmxNYSojVEp5Ci16Sml0V3pfZ1kxenwxPiE7RTlt SSZfa1g0Q2U8fmhDSmZodEhtTD82WHU3fmJkWSpJN3NuSjliYTlYUVYpclhYbzsKLVY1UzBpVWdU U3FBOUwxZCtqNEB5az13QmBaLSE9ZE0KLQotbGl0ZXJhbCAwCi1IY21WP2QwMDAwMQotCi1kaWZm IC0tZ2l0IGEvdGVzdC9yZWNpcGVzLzgwLXRlc3RfcGtjczEyX2RhdGEvcGJtYWMxXzI1Nl8yNTYu emVyby1sZW4ucDEyIGIvdGVzdC9yZWNpcGVzLzgwLXRlc3RfcGtjczEyX2RhdGEvcGJtYWMxXzI1 Nl8yNTYuemVyby1sZW4ucDEyCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU2M2ViNjA3N2ZkOTRkYTI2YmE4NmYx YjYyMzBkYWFiNWY1ZWEzZAotR0lUIGJpbmFyeSBwYXRjaAotbGl0ZXJhbCAyNzAyCi16Y21haSRY RWZYaTdza3opOEFKNTRMTk1BOEhHZWhCPXc8WDBlSTxrRm9yeEFMN0BgWlkoS3xzRnFZT2NHbDh7 MHwKLXpWc31XaT16PFlfXmYmdnk/QDcqbis3SXtLXkV9VHo9WUlSMDJmKSFKZ0YlITRqc147JjdM Q2A5S2NvWHVmbDZgSQotejJNYD9mNHVHUjMwWFRAYCZqP25FZ1A0RH1PdSEoRD9AUlkqMHNeZG0y cSt6KDR+WURmdjtZP2J1M1hLdz9jYGstCi16MDB6UzswOXFMUWY4VzU9UHpyej5NKHElPDN2IWBe Zko3bVReKmd1QU96OTsmb1NAQUdWXlIwc044PjJ4U21PPmIKLXpIRnctP0Q2NFkoQno2NFVGKz10 WSZGUnR3VFRCe1RySkVMSE9DdUtAaEJZfGhlRlpAXj1nbHRRZ3ZQYlEpdmtQLQotems2cXVqT3t5 bDhoN3lKcSZiMi10JHVLVk56cyg+JWZqTllNM0I/QG1Ne3t7aXlGdEJQUnAmKjQqIyNeZnMtKnBg Ci16P3hILThtPm51K1ZMaitDRG82NSFFNGRTfmZZOGFHNDdAMTdrbktGQ0dVUV5HRW1+O21QU1No ND9pZnFOeXpRPisKLXpxQFBLcHdXMEZUa2BSNktjLTRsTVckV0o2MF5JPW85OWpvYWNjS3xtJml8 JEdeRT42Wm8qcT8kTF5uS3pjWEMoTwotemEyQTFBX1k7RioyVSNKMHcyKElETl9AJktQXmwtN2Em SigmYVI0UWRYQ289UjAoJCMyd00/aG5taWdBcmRNKj5oCi16Z1hUJUM2ajRgcV9HTWxzXys+MXd3 S1V+aytyMXRQNEh1ZyR8SE89MmlpRXN6aCh3Pj1eLShLdjRJNGZFd2Z3b1gKLXpMeldTeHo9Rzc/ N1otJD51Kz96TkZTK0VlRUc2P25SaTV1JmRCI1AxSkxXe2tjWnhEUzZlM3I9ODJMKmZsSm0oIwot ej97PlN9T0l9b2pOYUVZYClvU3QzOCNyd24yZWFJT3tsYHJHUl5IKkRTIVFyd3E/OHo2UUJ3c2NR Z0VKfChTTm58Ci16YTk4O3okZlk4c19VPnVveDFIOVNLaF5SeDQpTX1VMWF9JFNhQGJ4czwwK3At V1QkNmlmMW9jJkdHUGRqZD5CTCoKLXpxWHNidWlXVCtrTHJUeSpNdUcwTTdTVEwtQEI7a3UpPitE akY0Xm1gOTx8LXVycFBmeGQ0a2J9QzFUVkomITdYOQotek9XaDVubEg9KU5MZ3tZd0BfUXdUKFYl T31UKyRNfUd+QUM7dWxHcDBRdGdBWChBRmNuczdFTDFQXlo0PXZOPTFSCi16ZHVrTCVtN0BtP21V XjRCPGs5USk0UD5EKklXclpCMkdNYjFefEE3ZWg0fW81dzRMKVQtWnJfaHo2UUtYbSRgYVYKLXol ZDklPGlySXV2NmxkOyFSWT9TRERVJC1vQzttMkh2NTtVI0JGT3w5SyVsMHI/ZUJpQWl5OGpiQEFO dHZhMno2aAotelhjSE0qdE1sVWUpSWdlfnRZM2VtJGxrTnBDU05PVGdxPG8wSlpzZSlEX2lOZio3 IytYaGR5TWM2M2ZMSzZuOHtMCi16bzNPYl8mWUVFfShvNkR8NjVVQUxEIzdWREsmVFRlRyVoVmlE WVB3S05eMWk5NHR+VCkmZEAybjtBWlNsI0tndlQKLXpURTVNMDVRaGV8OF8zdHp5VzVHRCU0aFo4 QTQxJSV4MzVBOXBLVDtiN2RSbFRtQyhpJWVJXkd0cTc7bWVPJFhHfgotemh+cG5HS09mcmN5Ullw fj0hR009QkVgeUI9dTFRdUdVSCFrWHpJcX1UZyRnKzdXaEolVWw9WCowTnRCKDQxNHkoCi16O2ZJ NGREYmNOd3B7dn5YVSVsTVdhaEomdFdNJUVSSjw1ISRVVShjeEV6ZipuKzxAaUAhdHohfm5lQlpT ZkJxMy0KLXpZQztwJmFYUUhMUkomMHVudk52dlowZyM9SWxFO0Qrc3ZjaU1zalF5Pyg7PlM4eUww NmMyJWdlSChiPCg4QllRQAotelh4dEI4ezAkJno1Q2pMc2V6JCRUanxjNDF8SmcpSzB8SXshck17 YUl7e3xmTUF0ZT43MHh5U3UxeHx5VGV6bHh7Ci16KldIJHZYckozXyFRJjdkV09QXkBQRXNhRTN2 Uygwc2N2N2E0dXBTKl5FJTAkdUduOzlgJXIqMSZUc1ZfYig9WmIKLXpjaFdIST5WYzMzKjNEJXNL Nit2bGg2VzF0NGNVaDFkYzdGeUkpWlpOa19XZncoP2s9VEo3X0dybkd8a3ZZPTRCbgotejNHPmtr Q0wpKEpVcDB5NCpodyV5QzExIWQtbCRCflQ0PiEtemlISDJwZ0RNeiRISFBAQWUrY00qRytEVDtl Y0k4Ci16NXctV0koeE9ofiNRYUVYT0pOKSpyezFsTTYmcVNNdyF3YiRydjhYcjBZUGNkTXt7MiNM OU5LK2FRMTlzPXc0TGYKLXpUfTd2Sl50UmpiSEooJnUzfGhaKXEkP3pWdX1JJiomRDM3ZC00TD94 P18pX3huRmRheHVuWksxd2R+eVNHJnxWawoteldTKXdJaTw/JldRYFVhbnEjQ2VKNldtVXk/V0hw M0o0VnBEQzd9MH4pNTJ6WThWIy03bVkmbE9XXmJJS0ZlaWNRCi16Z1BzJFcoPmNZOXVIaGxWOT1K Zj4mYjVGRzlgVGxOLTZ6allhSlN1YnFvQHpyQ1M0bGhBNCVmU3ZYITJiV0RWTSkKLXp4dUJxbyRn aHI7KkkzR2w+R1l2amBBMUtyb1MhPjdqMnorPntuYl5ob34lUCZEWTB0ZyVgRWxPV1heN0VYYTxW Xgotej94eERHcmAydDZyPXFDZyRAeUNIITxLX2l1VFFAU1JkNzklSXJwc18pWEtkIzwtZiRyQ0dW c2RuTjttSl9lYWRjCi16QEU4M0w8SytebWBseXYrSj9fUH1CRWw9UmtqZXMpP2VMNjdEeiFpfFNo NUp2WS1qdWZWcXZjYm82XncxWF9iX0EKLXpmOXI0e0tVMlhVcHJRangrXiNycVghKndrK0R3O148 SHdKZEdFMEJRTj9CQ3dyYWFeZSZmeDRNPSpSIXdfXkwoKgotelQ9R3VEaUxPRFZ0Z04kRD5lKVdr SmpKQGN3KnorampsVjxWIT52dGNBKW13dTFZWmRjKVgkd2sjOTJzbT08PUdSCi16WSFWJjtmXkYj PmE8QyoyRGliYj9nJDc/RWV2WkVWbD4wRGBzey1MVFFYT1Ytd0F1cVFeSU5EMmt4VW4pTktiI0YK LXplWTRgVj8rVXxNPj41aGokOUEwQ3JEIV9KZUQ4a28qUkRFeEJ+ejg/RHppSmZxOUVaTm9XUGxO QFUwemJ7c0ViUQotelFXPCU1KWttaDg8JXpFQk5PZ01EMWF8bnc1fnNAMS1nUD1PciRiSCN1VEpy NUx8cDc0dVArPklxcztLaElwRjBwCi16KV4rVFNIdHE1JmE3Z0QyUjtJQS16SSRee2x2MnMtJDVu NXhQPDx9aUVhQmdtU3sqb1g5Yj92NGVQaXZ3WDZSPzAKLXpzZTQ1Q016fEQ2VXN3dExMTEJQV2Bl TWwzdkR0KSk2JlZaITFadmpIWG51bzYkQDZmUWBhZ31CeDxGUlQwP0sweAotemh7REFSal9nMVFs e0F4MEVZJTFtU3VhR0MpNG8kUCZsKU1vZyorJXdNWkpASW9JKXBfbHswWFBVUFpLdCZuYFpYCi16 Nlg9X2NvSTRndG9JNSM9VVM0K2hYKDY0YEc8eFlVNEt0aUUqNClpWXReNDVlNmBQZ2NCaXRMQGBG Mnd9eW18TzQKLXp3b31jMWltWnpuRnY4bVNufDwxUVJvIzFpIVM5bFJZeFNebnZQcGstMj0rUUwq PVBKK2laP3Veb15LTT1SaylfTwotejRwQ0wrcio/dzV0aiYhdUw3RVh+dTl0PCFIRylgKFByPklV ODhLX0t0QyNZdFopYXpwUH1sTDAmSXxHSD4lQ2YwCi16UVJRRDFgRll+e0pzVH07KFVePXE2NFZO elFHOH41PzdwNFdxY04zdFYkdj99VHsxREJPZ0dvVFp1Z3Fhb35ZUzAKLXordSR0WDJIVlEtQnlu ajgkVGwrfGsmd1N1JUtnbXZRVFVuTzhxMXtZVTtufmlzX0M2bWhBJWotcSlrdD0yd19QSQotejJ7 UX5JQ0xwUW9hPHZCcSF+aV58RGZWJHRGfmpXIVloXlV7bVF8X2k4fEVwRHd8UT9ROEUwdjNwZlRE bmcjLWtDCi16MEc2NmY+SzYhV3p0YzFOPFNrMkE9b0goZFR2fVBZSSVrP041Q1FsQWRPckBLXm5l bHx7IWBLZDJuZ0l5Tjlvcl8KLXpOdlohOXh4WmBSS2ZCeU42b2ZhZCgmeFNjNWlHQlk4aik8NSg7 bDJIZjlCITghV3RzTVo+JTFiMWU9RHlqWkd8ZwotTUV6UHlIeiMhMG4wNjxDQmRqSjNjCi0KLWxp dGVyYWwgMAotSGNtVj9kMDAwMDEKLQoKZGlmZiAtLWdpdCBhLzAwNzEtRG8tbm90LW1ha2Uta2V5 LXNoYXJlLWNob2ljZS1pbi10bHMxX3NldF9ncm91cHMucGF0Y2ggYi8wMDcxLURvLW5vdC1tYWtl LWtleS1zaGFyZS1jaG9pY2UtaW4tdGxzMV9zZXRfZ3JvdXBzLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCBiYjIxNzIyLi4wMDAwMDAwCi0tLSBhLzAwNzEtRG8tbm90LW1ha2Ut a2V5LXNoYXJlLWNob2ljZS1pbi10bHMxX3NldF9ncm91cHMucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwxMjkgKzAsMCBAQAotRnJvbSA2NWMyZjQ1NGU4M2Y3OGQ1ZmZkZmMwYTUxNWQzNWMwMGZi MTA2MGFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2xlbWVucyBMYW5nIDxjbGxh bmdAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMjEgTm92IDIwMjUgMTY6MDA6MDggKzAxMDAKLVN1 YmplY3Q6IFtQQVRDSF0gRG8gbm90IG1ha2Uga2V5IHNoYXJlIGNob2ljZSBpbiB0bHMxX3NldF9n cm91cHMoKQotCi10bHMxX3NldF9ncm91cHMoKSwgd2hpY2ggaXMgdXNlZCBieSBTU0xfQ1RYX3Nl dDFfZ3JvdXBzKCkgZG9lcyBub3QgY2hlY2sKLXdoZXRoZXIgdGhlIE5JRHMgcGFzc2VkIGFzIGFy Z3VtZW50IGFjdHVhbGx5IGhhdmUgYW4gaW1wbGVtZW50YXRpb24KLWF2YWlsYWJsZSBpbiBhbnkg b2YgdGhlIGN1cnJlbnRseSBsb2FkZWQgcHJvdmlkZXJzLiBJdCBpcyBub3Qgc2ltcGxlIHRvCi1h ZGQgdGhpcyBjaGVjaywgZWl0aGVyLCBiZWNhdXNlIGl0IHdvdWxkIHJlcXVpcmUgYWNjZXNzIHRv IHRoZSBTU0xfQ1RYLAotd2hpY2ggdGhpcyBmdW5jdGlvbiBkb2VzIG5vdCByZWNlaXZlLiBUaGVy ZSBhcmUgbGVnYWN5IGNhbGxlcnMgdGhhdCBkbwotbm90IGhhdmUgYW4gU1NMX0NUWCBwb2ludGVy IGFuZCBhcmUgcHVibGljIEFQSS4KLQotVGhpcyBiZWNvbWVzIGEgcHJvYmxlbSwgd2hlbiBhbiBh cHBsaWNhdGlvbiBzZXRzIHRoZSBmaXJzdCBncm91cCB0byBvbmUKLXRoYXQgaXMgbm90IHN1cHBv cnRlZCBieSB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uLCBhbmQgY2FuIHRyaWdnZXIKLXNlbmRp bmcgb2YgYW4gZW1wdHkga2V5IHNoYXJlLgotCi1TZXQgdGhlIGZpcnN0IGVudHJ5IG9mIHRoZSBr ZXkgc2hhcmUgbGlzdCB0byAwIChhbmQgdGhlIGtleSBzaGFyZSBsaXN0Ci1sZW5ndGggdG8gMSkg dG8gc2lnbmFsIHRvIHRsczFfY29uc3RydWN0X2N0b3Nfa2V5X3NoYXJlIHRoYXQgaXQgc2hvdWxk Ci1waWNrIHRoZSBmaXJzdCBzdXBwb3J0ZWQgZ3JvdXAgYW5kIGdlbmVyYXRlIGEga2V5IHNoYXJl IGZvciB0aGF0LiBTZWUKLWFsc28gdGxzMV9nZXRfcmVxdWVzdGVkX2tleXNoYXJlX2dyb3Vwcywg d2hpY2ggZG9jdW1lbnRzIHRoaXMgc3BlY2lhbAotY2FzZS4KLQotU2VlOiBodHRwczovL2lzc3Vl cy5yZWRoYXQuY29tL2Jyb3dzZS9SSEVMLTEyODAxOAotU2lnbmVkLW9mZi1ieTogQ2xlbWVucyBM YW5nIDxjbGxhbmdAcmVkaGF0LmNvbT4KLQotUmV2aWV3ZWQtYnk6IE5vcmJlcnQgUG9jcyA8bm9y YmVydHBAb3BlbnNzbC5vcmc+Ci1SZXZpZXdlZC1ieTogU2ltbyBTb3JjZSA8c2ltb0ByZWRoYXQu Y29tPgotUmV2aWV3ZWQtYnk6IFRvbWFzIE1yYXogPHRvbWFzQG9wZW5zc2wub3JnPgotKE1lcmdl ZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5zc2wvcHVsbC8yOTE5MikKLQot KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNTM3NWU5NDBlMjJkZTgwYWQ4YzZlODY1YTA4ZGIx Mzc2MjI0MmVlZSkKLS0tLQotIHNzbC90MV9saWIuYyAgICAgIHwgIDggKysrKysrLQotIHRlc3Qv c3NsYXBpdGVzdC5jIHwgNTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKLQotZGlmZiAtLWdpdCBhL3NzbC90MV9saWIuYyBiL3NzbC90MV9saWIuYwotaW5kZXggMmY3 MWY5NTQzOC4uM2E0ZWJkZWVlYSAxMDA2NDQKLS0tLSBhL3NzbC90MV9saWIuYwotKysrIGIvc3Ns L3QxX2xpYi5jCi1AQCAtMTExOSw3ICsxMTE5LDEzIEBAIGludCB0bHMxX3NldF9ncm91cHModWlu dDE2X3QgKipncnBleHQsIHNpemVfdCAqZ3JwZXh0bGVuLAotICAgICBPUEVOU1NMX2ZyZWUoKnRw bGV4dCk7Ci0gICAgICpncnBleHQgPSBnbGlzdDsKLSAgICAgKmdycGV4dGxlbiA9IG5ncm91cHM7 Ci0tICAgIGtzbGlzdFswXSA9IGdsaXN0WzBdOwotKyAgICAvKgotKyAgICAgKiBObyAqIHByZWZp eCB3YXMgdXNlZCwgbGV0IHRsc19jb25zdHJ1Y3RfY3Rvc19rZXlfc2hhcmUgY2hvb3NlIGEga2V5 Ci0rICAgICAqIHNoYXJlLiBUaGlzIGhhcyB0aGUgYWR2YW50YWdlIHRoYXQgaXQgd2lsbCBmaWx0 ZXIgdW5zdXBwb3J0ZWQgZ3JvdXBzCi0rICAgICAqIGJlZm9yZSBjaG9vc2luZyBvbmUsIHdoaWNo IHRoaXMgZnVuY3Rpb24gZG9lcyBub3QgZG8uIFNlZSBhbHNvIHRoZQotKyAgICAgKiBjb21tZW50 IGZvciB0bHMxX2dldF9yZXF1ZXN0ZWRfa2V5c2hhcmVfZ3JvdXBzLgotKyAgICAgKi8KLSsgICAg a3NsaXN0WzBdID0gMDsKLSAgICAgKmtzZXh0ID0ga3NsaXN0OwotICAgICAqa3NleHRsZW4gPSAx OwotICAgICB0cGxsaXN0WzBdID0gbmdyb3VwczsKLWRpZmYgLS1naXQgYS90ZXN0L3NzbGFwaXRl c3QuYyBiL3Rlc3Qvc3NsYXBpdGVzdC5jCi1pbmRleCBiODNkZDZjNTUyLi5hYjFkMDhjZjhiIDEw MDY0NAotLS0tIGEvdGVzdC9zc2xhcGl0ZXN0LmMKLSsrKyBiL3Rlc3Qvc3NsYXBpdGVzdC5jCi1A QCAtMTMyNjksNiArMTMyNjksNTggQEAgc3RhdGljIGludCB0ZXN0X25vX3JlbmVnb3RpYXRpb24o aW50IGlkeCkKLSAgICAgcmV0dXJuIHRlc3RyZXN1bHQ7Ci0gfQotIAotKy8qCi0rICogVGVzdCB0 aGF0IFNTTF9DVFhfc2V0MV9ncm91cHMoKSB3aGVuIGNhbGxlZCB3aXRoIGEgbGlzdCB3aGVyZSB0 aGUgZmlyc3QKLSsgKiBlbnRyeSBpcyB1bnN1cHBvcnRlZCwgd2lsbCBzZW5kIGEga2V5X3NoYXJl IHRoYXQgdXNlcyB0aGUgbmV4dCB1c2FibGUgZW50cnkuCi0rICovCi0rc3RhdGljIGludCB0ZXN0 X3NzbF9zZXRfZ3JvdXBzX3Vuc3VwcG9ydGVkX2tleXNoYXJlKHZvaWQpCi0rewotKyNpZiAhZGVm aW5lZChPUEVOU1NMX05PX0VDKSB8fCAhZGVmaW5lZChPUEVOU1NMX05PX0RIKQotKyAgICBpbnQg dGVzdHJlc3VsdCA9IDA7Ci0rICAgIFNTTF9DVFggKnNjdHggPSBOVUxMLCAqY2N0eCA9IE5VTEw7 Ci0rICAgIFNTTCAqc2VydmVyc3NsID0gTlVMTCwgKmNsaWVudHNzbCA9IE5VTEw7Ci0rICAgIGlu dCBjbGllbnRfZ3JvdXBzW10gPSB7Ci0rICAgICAgICBOSURfYnJhaW5wb29sUDI1NnIxdGxzMTMs Ci0rICAgICAgICBOSURfc2VjdDE2M2sxLAotKyAgICAgICAgTklEX3NlY3AzODRyMSwKLSsgICAg ICAgIE5JRF9mZmRoZTIwNDgsCi0rICAgIH07Ci0rCi0rICAgIGlmICghVEVTVF90cnVlKGNyZWF0 ZV9zc2xfY3R4X3BhaXIobGliY3R4LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFRMU19zZXJ2ZXJfbWV0aG9kKCksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVExTX2NsaWVudF9tZXRob2QoKSwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAwLCAwLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZzY3R4LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZj Y3R4LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnQsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdmtleSkpKQotKyAgICAgICAg Z290byBlbmQ7Ci0rCi0rICAgIGlmICghVEVTVF90cnVlKFNTTF9DVFhfc2V0MV9ncm91cHMoY2N0 eCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfZ3JvdXBz LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9TU0xfTkVMRU0oY2xp ZW50X2dyb3VwcykpKSkKLSsgICAgICAgIGdvdG8gZW5kOwotKwotKyAgICBpZiAoIVRFU1RfdHJ1 ZShjcmVhdGVfc3NsX29iamVjdHMoc2N0eCwgY2N0eCwgJnNlcnZlcnNzbCwgJmNsaWVudHNzbCwg TlVMTCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpKSkKLSsg ICAgICAgIGdvdG8gZW5kOwotKwotKyAgICBpZiAoIVRFU1RfdHJ1ZShjcmVhdGVfc3NsX2Nvbm5l Y3Rpb24oc2VydmVyc3NsLCBjbGllbnRzc2wsIFNTTF9FUlJPUl9OT05FKSkpCi0rICAgICAgICBn b3RvIGVuZDsKLSsKLSsgICAgdGVzdHJlc3VsdCA9IDE7Ci0rIGVuZDoKLSsgICAgU1NMX2ZyZWUo c2VydmVyc3NsKTsKLSsgICAgU1NMX2ZyZWUoY2xpZW50c3NsKTsKLSsgICAgU1NMX0NUWF9mcmVl KHNjdHgpOwotKyAgICBTU0xfQ1RYX2ZyZWUoY2N0eCk7Ci0rCi0rICAgIHJldHVybiB0ZXN0cmVz dWx0OwotKyNlbHNlIC8qICFkZWZpbmVkKE9QRU5TU0xfTk9fRUMpIHx8ICFkZWZpbmVkKE9QRU5T U0xfTk9fREgpICovCi0rICAgIHJldHVybiBURVNUX3NraXAoIk5vIEVDIGFuZCBESCBzdXBwb3J0 LiIpOwotKyNlbmRpZiAvKiAhZGVmaW5lZChPUEVOU1NMX05PX0VDKSB8fCAhZGVmaW5lZChPUEVO U1NMX05PX0RIKSAqLwotK30KLSsKLSAjaWYgZGVmaW5lZChET19TU0xfVFJBQ0VfVEVTVCkKLSAv KgotICAqIFRlc3RzIHRoYXQgdGhlIFNTTF90cmFjZSgpIG1zZ19jYWxsYmFjayB3b3JrcyBhcyBl eHBlY3RlZCB3aXRoIGEgUFEgR3JvdXBzLgotQEAgLTEzNTk4LDYgKzEzNjUwLDcgQEAgaW50IHNl dHVwX3Rlc3RzKHZvaWQpCi0gICAgIEFERF9URVNUKHRlc3RfcXVpY190bHNfZWFybHlfZGF0YSk7 Ci0gI2VuZGlmCi0gICAgIEFERF9BTExfVEVTVFModGVzdF9ub19yZW5lZ290aWF0aW9uLCAyKTsK LSsgICAgQUREX1RFU1QodGVzdF9zc2xfc2V0X2dyb3Vwc191bnN1cHBvcnRlZF9rZXlzaGFyZSk7 Ci0gI2lmIGRlZmluZWQoRE9fU1NMX1RSQUNFX1RFU1QpCi0gICAgIGlmIChkYXRhZGlyICE9IE5V TEwpCi0gICAgICAgICBBRERfVEVTVCh0ZXN0X3NzbF90cmFjZSk7Ci0tLSAKLTIuNTEuMAotCgpk aWZmIC0tZ2l0IGEvMDA3Mi1GaXgtUFBDLXJlZ2lzdGVyLXByb2Nlc3NpbmcucGF0Y2ggYi8wMDcy LUZpeC1QUEMtcmVnaXN0ZXItcHJvY2Vzc2luZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMTA2ODFjNS4uMDAwMDAwMAotLS0gYS8wMDcyLUZpeC1QUEMtcmVnaXN0ZXItcHJv Y2Vzc2luZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyNTggKzAsMCBAQAotZGlmZiAtLWdp dCBhL2NyeXB0by9tb2Rlcy9hc20vYWVzLWdjbS1wcGMucGwgYi9jcnlwdG8vbW9kZXMvYXNtL2Fl cy1nY20tcHBjLnBsCi1pbmRleCBlOGEyMTUwMjdlLi42ODkxOGE5MzA1IDEwMDY0NAotLS0tIGEv Y3J5cHRvL21vZGVzL2FzbS9hZXMtZ2NtLXBwYy5wbAotKysrIGIvY3J5cHRvL21vZGVzL2FzbS9h ZXMtZ2NtLXBwYy5wbAotQEAgLTEsNiArMSw2IEBACi0gIyEgL3Vzci9iaW4vZW52IHBlcmwKLSAj IENvcHlyaWdodCAyMDE0LTIwMjIgVGhlIE9wZW5TU0wgUHJvamVjdCBBdXRob3JzLiBBbGwgUmln aHRzIFJlc2VydmVkLgotLSMgQ29weXJpZ2h0IDIwMjEtIElCTSBJbmMuIEFsbCByaWdodHMgcmVz ZXJ2ZWQKLSsjIENvcHlyaWdodCAyMDI1LSBJQk0gQ29ycC4gQWxsIHJpZ2h0cyByZXNlcnZlZAot ICMKLSAjIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSAyLjAgKHRoZSAiTGljZW5z ZSIpLiAgWW91IG1heSBub3QgdXNlCi0gIyB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ug d2l0aCB0aGUgTGljZW5zZS4gIFlvdSBjYW4gb2J0YWluIGEgY29weQotQEAgLTgsNyArOCw5IEBA Ci0gIyBodHRwczovL3d3dy5vcGVuc3NsLm9yZy9zb3VyY2UvbGljZW5zZS5odG1sCi0gIwotICM9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLSMgV3JpdHRlbiBieSBEYW5ueSBUc2VuIDxkdHNl bkB1cy5pYm0uY29tPiBmb3IgT3BlblNTTCBQcm9qZWN0LAotKyMgQWNjZWxlcmF0ZWQgQUVTLUdD TSBzdGl0Y2hlZCBpbXBsZW1lbnRhdGlvbiBmb3IgcHBjNjRsZS4KLSsjCi0rIyBXcml0dGVuIGJ5 IERhbm55IFRzZW4gPGR0c2VuQHVzLmlibS5jb20+Ci0gIwotICMgR0hBU0ggaXMgYmFzZWQgb24g dGhlIEthcmF0c3ViYSBtdWx0aXBsaWNhdGlvbiBtZXRob2QuCi0gIwotQEAgLTMyLDQyMCArMzQs NTIxIEBACi0gIyB2MzEgLSBjb3VudGVyIDEKLSAjCi0gIyBBRVMgdXNlZCwKLS0jICAgICB2czAg LSB2czE0IGZvciByb3VuZCBrZXlzCi0rIyAgICAgdnMwIC0gcm91bmQga2V5IDAKLSAjICAgICB2 MTUsIHYxNiwgdjE3LCB2MTgsIHYxOSwgdjIwLCB2MjEsIHYyMiBmb3IgOCBibG9ja3MgKGVuY3J5 cHRlZCkKLSAjCi0gIyBUaGlzIGltcGxlbWVudGF0aW9uIHVzZXMgc3RpdGNoZWQgQUVTLUdDTSBh cHByb2FjaCB0byBpbXByb3ZlIG92ZXJhbGwgcGVyZm9ybWFuY2UuCi0gIyBBRVMgaXMgaW1wbGVt ZW50ZWQgd2l0aCA4eCBibG9ja3MgYW5kIEdIQVNIIGlzIHVzaW5nIDIgNHggYmxvY2tzLgotICMK LS0jIEN1cnJlbnQgbGFyZ2UgYmxvY2sgKDE2Mzg0IGJ5dGVzKSBwZXJmb3JtYW5jZSBwZXIgc2Vj b25kIHdpdGggMTI4IGJpdCBrZXkgLS0KLS0jCi0tIyAgICAgICAgICAgICAgICAgICAgICAgIEVu Y3J5cHQgIERlY3J5cHQKLS0jIFBvd2VyMTBbbGVdICgzLjVHSHopICAgNS4zMkcgICAgNS4yNkcK LS0jCi0gIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICMKLSt1c2Ugc3RyaWN0OwotK3Vz ZSB3YXJuaW5nczsKLSsKLSAjICRvdXRwdXQgaXMgdGhlIGxhc3QgYXJndW1lbnQgaWYgaXQgbG9v a3MgbGlrZSBhIGZpbGUgKGl0IGhhcyBhbiBleHRlbnNpb24pCi0gIyAkZmxhdm91ciBpcyB0aGUg Zmlyc3QgYXJndW1lbnQgaWYgaXQgZG9lc24ndCBsb29rIGxpa2UgYSBmaWxlCi0tJG91dHB1dCA9 ICQjQVJHViA+PSAwICYmICRBUkdWWyQjQVJHVl0gPX4gbXxcLlx3KyR8ID8gcG9wIDogdW5kZWY7 Ci0tJGZsYXZvdXIgPSAkI0FSR1YgPj0gMCAmJiAkQVJHVlswXSAhfiBtfFwufCA/IHNoaWZ0IDog dW5kZWY7Ci0tCi0taWYgKCRmbGF2b3VyID1+IC82NC8pIHsKLS0JJFNJWkVfVD04OwotLQkkTFJT QVZFPTIqJFNJWkVfVDsKLS0JJFNUVT0ic3RkdSI7Ci0tCSRQT1A9ImxkIjsKLS0JJFBVU0g9InN0 ZCI7Ci0tCSRVQ01QPSJjbXBsZCI7Ci0tCSRTSFJJPSJzcmRpIjsKLS19IGVsc2lmICgkZmxhdm91 ciA9fiAvMzIvKSB7Ci0tCSRTSVpFX1Q9NDsKLS0JJExSU0FWRT0kU0laRV9UOwotLQkkU1RVPSJz dHd1IjsKLS0JJFBPUD0ibHd6IjsKLS0JJFBVU0g9InN0dyI7Ci0tCSRVQ01QPSJjbXBsdyI7Ci0t CSRTSFJJPSJzcndpIjsKLS19IGVsc2UgeyBkaWUgIm5vbnNlbnNlICRmbGF2b3VyIjsgfQotLQot LSRzcD0icjEiOwotLSRGUkFNRT02KiRTSVpFX1QrMTMqMTY7CSMgMTMqMTYgaXMgZm9yIHYyMC12 MzEgb2ZmbG9hZAotLQotLSQwID1+IG0vKC4qW1wvXFxdKVteXC9cXF0rJC87ICRkaXI9JDE7Ci0t KCAkeGxhdGU9IiR7ZGlyfXBwYy14bGF0ZS5wbCIgYW5kIC1mICR4bGF0ZSApIG9yCi0tKCAkeGxh dGU9IiR7ZGlyfS4uLy4uL3Blcmxhc20vcHBjLXhsYXRlLnBsIiBhbmQgLWYgJHhsYXRlKSBvcgot LWRpZSAiY2FuJ3QgbG9jYXRlIHBwYy14bGF0ZS5wbCI7Ci0tCi0tb3BlbiBTVERPVVQsInwgJF5Y ICR4bGF0ZSAkZmxhdm91ciBcIiRvdXRwdXRcIiIKLS0gICAgb3IgZGllICJjYW4ndCBjYWxsICR4 bGF0ZTogJCEiOwotLQotLSRjb2RlPTw8X19fOwotLS5tYWNoaW5lICAgICAgICAiYW55IgotLS50 ZXh0Ci0tCi0tIyA0eCBsb29wcwotLSMgdjE1IC0gdjE4IC0gaW5wdXQgc3RhdGVzCi0tIyB2czEg LSB2czkgLSByb3VuZCBrZXlzCi0tIwotLS5tYWNybyBMb29wX2Flc19taWRkbGU0eAotLQl4eGxv cgkxOSszMiwgMSwgMQotLQl4eGxvcgkyMCszMiwgMiwgMgotLQl4eGxvcgkyMSszMiwgMywgMwot LQl4eGxvcgkyMiszMiwgNCwgNAotLQotLQl2Y2lwaGVyCTE1LCAxNSwgMTkKLS0JdmNpcGhlcgkx NiwgMTYsIDE5Ci0tCXZjaXBoZXIJMTcsIDE3LCAxOQotLQl2Y2lwaGVyCTE4LCAxOCwgMTkKLStt eSAkb3V0cHV0ID0gJCNBUkdWID49IDAgJiYgJEFSR1ZbJCNBUkdWXSA9fiBtfFwuXHcrJHwgPyBw b3AgOiB1bmRlZjsKLStteSAkZmxhdm91ciA9ICQjQVJHViA+PSAwICYmICRBUkdWWzBdICF+IG18 XC58ID8gc2hpZnQgOiB1bmRlZjsKLSAKLS0JdmNpcGhlcgkxNSwgMTUsIDIwCi0tCXZjaXBoZXIJ MTYsIDE2LCAyMAotLQl2Y2lwaGVyCTE3LCAxNywgMjAKLS0JdmNpcGhlcgkxOCwgMTgsIDIwCi0t Ci0tCXZjaXBoZXIJMTUsIDE1LCAyMQotLQl2Y2lwaGVyCTE2LCAxNiwgMjEKLS0JdmNpcGhlcgkx NywgMTcsIDIxCi0tCXZjaXBoZXIJMTgsIDE4LCAyMQotKyRvdXRwdXQgYW5kIG9wZW4gU1RET1VU LCI+JG91dHB1dCI7Ci0gCi0tCXZjaXBoZXIJMTUsIDE1LCAyMgotLQl2Y2lwaGVyCTE2LCAxNiwg MjIKLS0JdmNpcGhlcgkxNywgMTcsIDIyCi0tCXZjaXBoZXIJMTgsIDE4LCAyMgotLQotLQl4eGxv cgkxOSszMiwgNSwgNQotLQl4eGxvcgkyMCszMiwgNiwgNgotLQl4eGxvcgkyMSszMiwgNywgNwot LQl4eGxvcgkyMiszMiwgOCwgOAotK215ICRjb2RlLj08PF9fXzsKLSsubWFjaGluZSAgICAgICAg ImFueSIKLSsudGV4dAotIAotLQl2Y2lwaGVyCTE1LCAxNSwgMTkKLS0JdmNpcGhlcgkxNiwgMTYs IDE5Ci0tCXZjaXBoZXIJMTcsIDE3LCAxOQotLQl2Y2lwaGVyCTE4LCAxOCwgMTkKLSsubWFjcm8g U0FWRV9SRUdTCi0rCW1mbHIgMAotKwlzdGQgMCwgMTYoMSkKLSsJc3RkdSAxLC01MTIoMSkKLSAK LS0JdmNpcGhlcgkxNSwgMTUsIDIwCi0tCXZjaXBoZXIJMTYsIDE2LCAyMAotLQl2Y2lwaGVyCTE3 LCAxNywgMjAKLS0JdmNpcGhlcgkxOCwgMTgsIDIwCi0rCXN0ZAkxNCwgMTEyKDEpCi0rCXN0ZAkx NSwgMTIwKDEpCi0rCXN0ZAkxNiwgMTI4KDEpCi0rCXN0ZAkxNywgMTM2KDEpCi0rCXN0ZAkxOCwg MTQ0KDEpCi0rCXN0ZAkxOSwgMTUyKDEpCi0rCXN0ZAkyMCwgMTYwKDEpCi0rCXN0ZAkyMSwgMTY4 KDEpCi0rCXN0ZAkyMiwgMTc2KDEpCi0rCXN0ZAkyMywgMTg0KDEpCi0rCXN0ZAkyNCwgMTkyKDEp Ci0rCi0rCXN0eHYJMzIrMjAsIDI1NigxKQotKwlzdHh2CTMyKzIxLCAyNTYrMTYoMSkKLSsJc3R4 dgkzMisyMiwgMjU2KzMyKDEpCi0rCXN0eHYJMzIrMjMsIDI1Nis0OCgxKQotKwlzdHh2CTMyKzI0 LCAyNTYrNjQoMSkKLSsJc3R4dgkzMisyNSwgMjU2KzgwKDEpCi0rCXN0eHYJMzIrMjYsIDI1Nis5 NigxKQotKwlzdHh2CTMyKzI3LCAyNTYrMTEyKDEpCi0rCXN0eHYJMzIrMjgsIDI1NisxMjgoMSkK LSsJc3R4dgkzMisyOSwgMjU2KzE0NCgxKQotKwlzdHh2CTMyKzMwLCAyNTYrMTYwKDEpCi0rCXN0 eHYJMzIrMzEsIDI1NisxNzYoMSkKLSsuZW5kbSAjIFNBVkVfUkVHUwotKwotKy5tYWNybyBSRVNU T1JFX1JFR1MKLSsJbHh2CTMyKzIwLCAyNTYoMSkKLSsJbHh2CTMyKzIxLCAyNTYrMTYoMSkKLSsJ bHh2CTMyKzIyLCAyNTYrMzIoMSkKLSsJbHh2CTMyKzIzLCAyNTYrNDgoMSkKLSsJbHh2CTMyKzI0 LCAyNTYrNjQoMSkKLSsJbHh2CTMyKzI1LCAyNTYrODAoMSkKLSsJbHh2CTMyKzI2LCAyNTYrOTYo MSkKLSsJbHh2CTMyKzI3LCAyNTYrMTEyKDEpCi0rCWx4dgkzMisyOCwgMjU2KzEyOCgxKQotKwls eHYJMzIrMjksIDI1NisxNDQoMSkKLSsJbHh2CTMyKzMwLCAyNTYrMTYwKDEpCi0rCWx4dgkzMisz MSwgMjU2KzE3NigxKQotKwotKwlsZAkxNCwgMTEyKDEpCi0rCWxkCTE1LCAxMjAoMSkKLSsJbGQJ MTYsIDEyOCgxKQotKwlsZAkxNywgMTM2KDEpCi0rCWxkCTE4LCAxNDQoMSkKLSsJbGQJMTksIDE1 MigxKQotKwlsZAkyMCwgMTYwKDEpCi0rCWxkCTIxLCAxNjgoMSkKLSsJbGQJMjIsIDE3NigxKQot KwlsZAkyMywgMTg0KDEpCi0rCWxkCTI0LCAxOTIoMSkKLSsKLSsJYWRkaSAgICAxLCAxLCA1MTIK LSsJbGQgMCwgMTYoMSkKLSsJbXRsciAwCi0rLmVuZG0gIyBSRVNUT1JFX1JFR1MKLSAKLS0JdmNp cGhlcgkxNSwgMTUsIDIxCi0tCXZjaXBoZXIJMTYsIDE2LCAyMQotLQl2Y2lwaGVyCTE3LCAxNywg MjEKLS0JdmNpcGhlcgkxOCwgMTgsIDIxCi0tCi0tCXZjaXBoZXIJMTUsIDE1LCAyMgotLQl2Y2lw aGVyCTE2LCAxNiwgMjIKLS0JdmNpcGhlcgkxNywgMTcsIDIyCi0tCXZjaXBoZXIJMTgsIDE4LCAy MgotLQotLQl4eGxvcgkyMyszMiwgOSwgOQotLQl2Y2lwaGVyCTE1LCAxNSwgMjMKLS0JdmNpcGhl cgkxNiwgMTYsIDIzCi0tCXZjaXBoZXIJMTcsIDE3LCAyMwotLQl2Y2lwaGVyCTE4LCAxOCwgMjMK LSsjIDR4IGxvb3BzCi0rLm1hY3JvIEFFU19DSVBIRVJfNHggcgotKwl2Y2lwaGVyCTE1LCAxNSwg XFxyCi0rCXZjaXBoZXIJMTYsIDE2LCBcXHIKLSsJdmNpcGhlcgkxNywgMTcsIFxccgotKwl2Y2lw aGVyCTE4LCAxOCwgXFxyCi0gLmVuZG0KLSAKLSAjIDh4IGxvb3BzCi0tIyB2MTUgLSB2MjIgLSBp bnB1dCBzdGF0ZXMKLS0jIHZzMSAtIHZzOSAtIHJvdW5kIGtleXMKLS0jCi0tLm1hY3JvIExvb3Bf YWVzX21pZGRsZTh4Ci0tCXh4bG9yCTIzKzMyLCAxLCAxCi0tCXh4bG9yCTI0KzMyLCAyLCAyCi0t CXh4bG9yCTI1KzMyLCAzLCAzCi0tCXh4bG9yCTI2KzMyLCA0LCA0Ci0tCi0tCXZjaXBoZXIJMTUs IDE1LCAyMwotLQl2Y2lwaGVyCTE2LCAxNiwgMjMKLS0JdmNpcGhlcgkxNywgMTcsIDIzCi0tCXZj aXBoZXIJMTgsIDE4LCAyMwotLQl2Y2lwaGVyCTE5LCAxOSwgMjMKLS0JdmNpcGhlcgkyMCwgMjAs IDIzCi0tCXZjaXBoZXIJMjEsIDIxLCAyMwotLQl2Y2lwaGVyCTIyLCAyMiwgMjMKLS0KLS0JdmNp cGhlcgkxNSwgMTUsIDI0Ci0tCXZjaXBoZXIJMTYsIDE2LCAyNAotLQl2Y2lwaGVyCTE3LCAxNywg MjQKLS0JdmNpcGhlcgkxOCwgMTgsIDI0Ci0tCXZjaXBoZXIJMTksIDE5LCAyNAotLQl2Y2lwaGVy CTIwLCAyMCwgMjQKLS0JdmNpcGhlcgkyMSwgMjEsIDI0Ci0tCXZjaXBoZXIJMjIsIDIyLCAyNAot LQotLQl2Y2lwaGVyCTE1LCAxNSwgMjUKLS0JdmNpcGhlcgkxNiwgMTYsIDI1Ci0tCXZjaXBoZXIJ MTcsIDE3LCAyNQotLQl2Y2lwaGVyCTE4LCAxOCwgMjUKLS0JdmNpcGhlcgkxOSwgMTksIDI1Ci0t CXZjaXBoZXIJMjAsIDIwLCAyNQotLQl2Y2lwaGVyCTIxLCAyMSwgMjUKLS0JdmNpcGhlcgkyMiwg MjIsIDI1Ci0tCi0tCXZjaXBoZXIJMTUsIDE1LCAyNgotLQl2Y2lwaGVyCTE2LCAxNiwgMjYKLS0J dmNpcGhlcgkxNywgMTcsIDI2Ci0tCXZjaXBoZXIJMTgsIDE4LCAyNgotLQl2Y2lwaGVyCTE5LCAx OSwgMjYKLS0JdmNpcGhlcgkyMCwgMjAsIDI2Ci0tCXZjaXBoZXIJMjEsIDIxLCAyNgotLQl2Y2lw aGVyCTIyLCAyMiwgMjYKLS0KLS0JeHhsb3IJMjMrMzIsIDUsIDUKLS0JeHhsb3IJMjQrMzIsIDYs IDYKLS0JeHhsb3IJMjUrMzIsIDcsIDcKLS0JeHhsb3IJMjYrMzIsIDgsIDgKLS0KLS0JdmNpcGhl cgkxNSwgMTUsIDIzCi0tCXZjaXBoZXIJMTYsIDE2LCAyMwotLQl2Y2lwaGVyCTE3LCAxNywgMjMK LS0JdmNpcGhlcgkxOCwgMTgsIDIzCi0tCXZjaXBoZXIJMTksIDE5LCAyMwotLQl2Y2lwaGVyCTIw LCAyMCwgMjMKLS0JdmNpcGhlcgkyMSwgMjEsIDIzCi0tCXZjaXBoZXIJMjIsIDIyLCAyMwotLQot LQl2Y2lwaGVyCTE1LCAxNSwgMjQKLS0JdmNpcGhlcgkxNiwgMTYsIDI0Ci0tCXZjaXBoZXIJMTcs IDE3LCAyNAotLQl2Y2lwaGVyCTE4LCAxOCwgMjQKLS0JdmNpcGhlcgkxOSwgMTksIDI0Ci0tCXZj aXBoZXIJMjAsIDIwLCAyNAotLQl2Y2lwaGVyCTIxLCAyMSwgMjQKLS0JdmNpcGhlcgkyMiwgMjIs IDI0Ci0tCi0tCXZjaXBoZXIJMTUsIDE1LCAyNQotLQl2Y2lwaGVyCTE2LCAxNiwgMjUKLS0JdmNp cGhlcgkxNywgMTcsIDI1Ci0tCXZjaXBoZXIJMTgsIDE4LCAyNQotLQl2Y2lwaGVyCTE5LCAxOSwg MjUKLS0JdmNpcGhlcgkyMCwgMjAsIDI1Ci0tCXZjaXBoZXIJMjEsIDIxLCAyNQotLQl2Y2lwaGVy CTIyLCAyMiwgMjUKLS0KLS0JdmNpcGhlcgkxNSwgMTUsIDI2Ci0tCXZjaXBoZXIJMTYsIDE2LCAy NgotLQl2Y2lwaGVyCTE3LCAxNywgMjYKLS0JdmNpcGhlcgkxOCwgMTgsIDI2Ci0tCXZjaXBoZXIJ MTksIDE5LCAyNgotLQl2Y2lwaGVyCTIwLCAyMCwgMjYKLS0JdmNpcGhlcgkyMSwgMjEsIDI2Ci0t CXZjaXBoZXIJMjIsIDIyLCAyNgotLQotLQl4eGxvcgkyMyszMiwgOSwgOQotLQl2Y2lwaGVyCTE1 LCAxNSwgMjMKLS0JdmNpcGhlcgkxNiwgMTYsIDIzCi0tCXZjaXBoZXIJMTcsIDE3LCAyMwotLQl2 Y2lwaGVyCTE4LCAxOCwgMjMKLS0JdmNpcGhlcgkxOSwgMTksIDIzCi0tCXZjaXBoZXIJMjAsIDIw LCAyMwotLQl2Y2lwaGVyCTIxLCAyMSwgMjMKLS0JdmNpcGhlcgkyMiwgMjIsIDIzCi0rLm1hY3Jv IEFFU19DSVBIRVJfOHggcgotKwl2Y2lwaGVyCTE1LCAxNSwgXFxyCi0rCXZjaXBoZXIJMTYsIDE2 LCBcXHIKLSsJdmNpcGhlcgkxNywgMTcsIFxccgotKwl2Y2lwaGVyCTE4LCAxOCwgXFxyCi0rCXZj aXBoZXIJMTksIDE5LCBcXHIKLSsJdmNpcGhlcgkyMCwgMjAsIFxccgotKwl2Y2lwaGVyCTIxLCAy MSwgXFxyCi0rCXZjaXBoZXIJMjIsIDIyLCBcXHIKLSsuZW5kbQotKwotKy5tYWNybyBMT09QXzhB RVNfU1RBVEUKLSsJQUVTX0NJUEhFUl84eCAyMwotKwlBRVNfQ0lQSEVSXzh4IDI0Ci0rCUFFU19D SVBIRVJfOHggMjUKLSsJQUVTX0NJUEhFUl84eCAyNgotKwlBRVNfQ0lQSEVSXzh4IDI3Ci0rCUFF U19DSVBIRVJfOHggMjgKLSsJQUVTX0NJUEhFUl84eCAyOQotKwlBRVNfQ0lQSEVSXzh4IDEKLSAu ZW5kbQotIAotICMKLS0jIENvbXB1dGUgNHggaGFzaCB2YWx1ZXMgYmFzZWQgb24gS2FyYXRzdWJh IG1ldGhvZC4KLSsjIFBQQ19HRk1VTDEyOF84eDogQ29tcHV0ZSBoYXNoIHZhbHVlcyBvZiA4IGJs b2NrcyBiYXNlZCBvbiBLYXJhdHN1YmEgbWV0aG9kLgotICMKLS1wcGNfYWVzX2djbV9naGFzaDoK LS0JdnhvcgkJMTUsIDE1LCAwCi0tCi0tCXh4bHhvcgkJMjksIDI5LCAyOQotKyMgUzEgc2hvdWxk IHhvciB3aXRoIHRoZSBwcmV2aW91cyBkaWdlc3QKLSsjCi0rIyBYaSA9IHYwCi0rIyBIIFBvbHkg PSB2MgotKyMgSGFzaCBrZXlzID0gdjMgLSB2MTQKLSsjIHZzMTA6IHZwZXJteG9yIHZlY3Rvcgot KyMgU2NyYXRjaDogdjIzIC0gdjI5Ci0rIwotKy5tYWNybyBQUENfR0ZNVUwxMjhfOHgKLSAKLS0J dnBtc3VtZAkJMjMsIDEyLCAxNQkJIyBINC5MICogWC5MCi0tCXZwbXN1bWQJCTI0LCA5LCAxNgot LQl2cG1zdW1kCQkyNSwgNiwgMTcKLS0JdnBtc3VtZAkJMjYsIDMsIDE4Ci0rCXZwbXN1bWQJMjMs IDEyLCAxNQkJIyBINC5MICogWC5MCi0rCXZwbXN1bWQJMjQsIDksIDE2Ci0rCXZwbXN1bWQJMjUs IDYsIDE3Ci0rCXZwbXN1bWQJMjYsIDMsIDE4Ci0gCi0tCXZ4b3IJCTIzLCAyMywgMjQKLS0Jdnhv cgkJMjMsIDIzLCAyNQotLQl2eG9yCQkyMywgMjMsIDI2CQkjIEwKLSsJdnhvcgkyMywgMjMsIDI0 Ci0rCXZ4b3IJMjMsIDIzLCAyNQotKwl2eG9yCTIzLCAyMywgMjYJCSMgTAotIAotLQl2cG1zdW1k CQkyNCwgMTMsIDE1CQkjIEg0LkwgKiBYLkggKyBINC5IICogWC5MCi0tCXZwbXN1bWQJCTI1LCAx MCwgMTYJCSMgSDMuTCAqIFgxLkggKyBIMy5IICogWDEuTAotLQl2cG1zdW1kCQkyNiwgNywgMTcK LS0JdnBtc3VtZAkJMjcsIDQsIDE4Ci0rCXZwbXN1bWQJMjcsIDEzLCAxNQkJIyBINC5MICogWC5I ICsgSDQuSCAqIFguTAotKwl2cG1zdW1kCTI4LCAxMCwgMTYJCSMgSDMuTCAqIFgxLkggKyBIMy5I ICogWDEuTAotKwl2cG1zdW1kCTI1LCA3LCAxNwotKwl2cG1zdW1kCTI2LCA0LCAxOAotIAotLQl2 eG9yCQkyNCwgMjQsIDI1Ci0tCXZ4b3IJCTI0LCAyNCwgMjYKLS0JdnhvcgkJMjQsIDI0LCAyNwkJ IyBNCi0rCXZ4b3IJMjQsIDI3LCAyOAotKwl2eG9yCTI0LCAyNCwgMjUKLSsJdnhvcgkyNCwgMjQs IDI2CQkjIE0KLSAKLS0JIyBzdW0gaGFzaCBhbmQgcmVkdWN0aW9uIHdpdGggSCBQb2x5Ci0tCXZw bXN1bWQJCTI4LCAyMywgMgkJIyByZWR1Y3Rpb24KLSsJdnBtc3VtZAkyNiwgMTQsIDE1CQkjIEg0 LkggKiBYLkgKLSsJdnBtc3VtZAkyNywgMTEsIDE2Ci0rCXZwbXN1bWQJMjgsIDgsIDE3Ci0rCXZw bXN1bWQJMjksIDUsIDE4Ci0gCi0tCXh4bG9yCQkyOSszMiwgMjksIDI5Ci0tCXZzbGRvaQkJMjYs IDI0LCAyOSwgOAkJIyBtTAotLQl2c2xkb2kJCTI5LCAyOSwgMjQsIDgJCSMgbUgKLS0JdnhvcgkJ MjMsIDIzLCAyNgkJIyBtTCArIEwKLSsJdnhvcgkyNiwgMjYsIDI3Ci0rCXZ4b3IJMjYsIDI2LCAy OAotKwl2eG9yCTI2LCAyNiwgMjkKLSAKLS0JdnNsZG9pCQkyMywgMjMsIDIzLCA4CQkjIHN3YXAK LS0JdnhvcgkJMjMsIDIzLCAyOAotKwkjIHN1bSBoYXNoIGFuZCByZWR1Y3Rpb24gd2l0aCBIIFBv bHkKLSsJdnBtc3VtZAkyOCwgMjMsIDIJCSMgcmVkdWN0aW9uCi0gCi0tCXZwbXN1bWQJCTI0LCAx NCwgMTUJCSMgSDQuSCAqIFguSAotLQl2cG1zdW1kCQkyNSwgMTEsIDE2Ci0tCXZwbXN1bWQJCTI2 LCA4LCAxNwotLQl2cG1zdW1kCQkyNywgNSwgMTgKLSsJdnhvcgkxLCAxLCAxCi0rCXZzbGRvaQky NSwgMjQsIDEsIDgJCSMgbUwKLSsJdnNsZG9pCTEsIDEsIDI0LCA4CQkjIG1ICi0rCXZ4b3IJMjMs IDIzLCAyNQkJIyBtTCArIEwKLSAKLS0JdnhvcgkJMjQsIDI0LCAyNQotLQl2eG9yCQkyNCwgMjQs IDI2Ci0tCXZ4b3IJCTI0LCAyNCwgMjcKLSsJIyBUaGlzIHBlcmZvcm1zIHN3YXAgYW5kIHhvciBs aWtlLAotKwkjICAgdnNsZG9pCTIzLCAyMywgMjMsIDgJCSMgc3dhcAotKwkjICAgdnhvcgkyMywg MjMsIDI4Ci0rCXh4bG9yCTMyKzI5LCAxMCwgMTAKLSsJdnBlcm14b3IgMjMsIDIzLCAyOCwgMjkK LSAKLS0JdnhvcgkJMjQsIDI0LCAyOQotKwl2eG9yCTI0LCAyNiwgMQkJIyBICi0gCi0gCSMgc3Vt IGhhc2ggYW5kIHJlZHVjdGlvbiB3aXRoIEggUG9seQotLQl2c2xkb2kJCTI3LCAyMywgMjMsIDgJ CSMgc3dhcAotLQl2cG1zdW1kCQkyMywgMjMsIDIKLS0JdnhvcgkJMjcsIDI3LCAyNAotLQl2eG9y CQkyMywgMjMsIDI3Ci0tCi0tCXh4bG9yCQkzMiwgMjMrMzIsIDIzKzMyCQkjIHVwZGF0ZSBoYXNo Ci0rCSMKLSsJIyAgdnNsZG9pIDI1LCAyMywgMjMsIDgJCSMgc3dhcAotKwkjICB2cG1zdW1kIDIz LCAyMywgMgotKwkjICB2eG9yCTI3LCAyNSwgMjQKLSsJIwotKwl2cGVybXhvciAyNywgMjMsIDI0 LCAyOQotKwl2cG1zdW1kCTIzLCAyMywgMgotKwl2eG9yCTAsIDIzLCAyNwkJIyBEaWdlc3Qgb2Yg NCBibG9ja3MKLSAKLS0JYmxyCi0rCXZ4b3IJMTksIDE5LCAwCi0gCi0tIwotLSMgQ29tYmluZSB0 d28gNHggZ2hhc2gKLS0jIHYxNSAtIHYyMiAtIGlucHV0IGJsb2NrcwotLSMKLS0ubWFjcm8gcHBj X2Flc19nY21fZ2hhc2gyXzR4Ci0tCSMgZmlyc3QgNHggaGFzaAotLQl2eG9yCQkxNSwgMTUsIDAJ CSMgWGkgKyBYCi0rCSMgQ29tcHV0ZSBkaWdlc3QgZm9yIHRoZSBuZXh0IDQgYmxvY2tzCi0rCXZw bXN1bWQJMjQsIDksIDIwCi0rCXZwbXN1bWQJMjUsIDYsIDIxCi0rCXZwbXN1bWQJMjYsIDMsIDIy Ci0rCXZwbXN1bWQJMjMsIDEyLCAxOQkJIyBINC5MICogWC5MCi0gCi0tCXh4bHhvcgkJMjksIDI5 LCAyOQotKwl2eG9yCTIzLCAyMywgMjQKLSsJdnhvcgkyMywgMjMsIDI1Ci0rCXZ4b3IJMjMsIDIz LCAyNgkJIyBMCi0gCi0tCXZwbXN1bWQJCTIzLCAxMiwgMTUJCSMgSDQuTCAqIFguTAotLQl2cG1z dW1kCQkyNCwgOSwgMTYKLS0JdnBtc3VtZAkJMjUsIDYsIDE3Ci0tCXZwbXN1bWQJCTI2LCAzLCAx OAotKwl2cG1zdW1kCTI3LCAxMywgMTkJCSMgSDQuTCAqIFguSCArIEg0LkggKiBYLkwKLSsJdnBt c3VtZAkyOCwgMTAsIDIwCQkjIEgzLkwgKiBYMS5IICsgSDMuSCAqIFgxLkwKLSsJdnBtc3VtZAky NSwgNywgMjEKLSsJdnBtc3VtZAkyNiwgNCwgMjIKLSAKLS0JdnhvcgkJMjMsIDIzLCAyNAotLQl2 eG9yCQkyMywgMjMsIDI1Ci0tCXZ4b3IJCTIzLCAyMywgMjYJCSMgTAotKwl2eG9yCTI0LCAyNywg MjgKLSsJdnhvcgkyNCwgMjQsIDI1Ci0rCXZ4b3IJMjQsIDI0LCAyNgkJIyBNCi0gCi0tCXZwbXN1 bWQJCTI0LCAxMywgMTUJCSMgSDQuTCAqIFguSCArIEg0LkggKiBYLkwKLS0JdnBtc3VtZAkJMjUs IDEwLCAxNgkJIyBIMy5MICogWDEuSCArIEgzLkggKiBYMS5MCi0tCXZwbXN1bWQJCTI2LCA3LCAx NwotLQl2cG1zdW1kCQkyNywgNCwgMTgKLSsJdnBtc3VtZAkyNiwgMTQsIDE5CQkjIEg0LkggKiBY LkgKLSsJdnBtc3VtZAkyNywgMTEsIDIwCi0rCXZwbXN1bWQJMjgsIDgsIDIxCi0rCXZwbXN1bWQJ MjksIDUsIDIyCi0gCi0tCXZ4b3IJCTI0LCAyNCwgMjUKLS0JdnhvcgkJMjQsIDI0LCAyNgotKwl2 eG9yCTI2LCAyNiwgMjcKLSsJdnhvcgkyNiwgMjYsIDI4Ci0rCXZ4b3IJMjYsIDI2LCAyOQotIAot IAkjIHN1bSBoYXNoIGFuZCByZWR1Y3Rpb24gd2l0aCBIIFBvbHkKLS0JdnBtc3VtZAkJMjgsIDIz LCAyCQkjIHJlZHVjdGlvbgotKwl2cG1zdW1kCTI4LCAyMywgMgkJIyByZWR1Y3Rpb24KLSAKLS0J eHhsb3IJCTI5KzMyLCAyOSwgMjkKLSsJdnhvcgkxLCAxLCAxCi0rCXZzbGRvaQkyNSwgMjQsIDEs IDgJCSMgbUwKLSsJdnNsZG9pCTEsIDEsIDI0LCA4CQkjIG1ICi0rCXZ4b3IJMjMsIDIzLCAyNQkJ IyBtTCArIEwKLSAKLS0JdnhvcgkJMjQsIDI0LCAyNwkJIyBNCi0tCXZzbGRvaQkJMjYsIDI0LCAy OSwgOAkJIyBtTAotLQl2c2xkb2kJCTI5LCAyOSwgMjQsIDgJCSMgbUgKLS0JdnhvcgkJMjMsIDIz LCAyNgkJIyBtTCArIEwKLSsJIyBUaGlzIHBlcmZvcm1zIHN3YXAgYW5kIHhvciBsaWtlLAotKwkj ICAgdnNsZG9pCTIzLCAyMywgMjMsIDgJCSMgc3dhcAotKwkjICAgdnhvcgkyMywgMjMsIDI4Ci0r CXh4bG9yCTMyKzI5LCAxMCwgMTAKLSsJdnBlcm14b3IgMjMsIDIzLCAyOCwgMjkKLSAKLS0JdnNs ZG9pCQkyMywgMjMsIDIzLCA4CQkjIHN3YXAKLS0JdnhvcgkJMjMsIDIzLCAyOAotKwl2eG9yCTI0 LCAyNiwgMQkJIyBICi0gCi0tCXZwbXN1bWQJCTI0LCAxNCwgMTUJCSMgSDQuSCAqIFguSAotLQl2 cG1zdW1kCQkyNSwgMTEsIDE2Ci0tCXZwbXN1bWQJCTI2LCA4LCAxNwotLQl2cG1zdW1kCQkyNywg NSwgMTgKLSsJIyBzdW0gaGFzaCBhbmQgcmVkdWN0aW9uIHdpdGggSCBQb2x5Ci0rCSMKLSsJIyAg dnNsZG9pIDI1LCAyMywgMjMsIDgJCSMgc3dhcAotKwkjICB2cG1zdW1kIDIzLCAyMywgMgotKwkj ICB2eG9yCTI3LCAyNSwgMjQKLSsJIwotKwl2cGVybXhvciAyNywgMjMsIDI0LCAyOQotKwl2cG1z dW1kCTIzLCAyMywgMgotKwl2eG9yCTAsIDIzLCAyNwkJIyBEaWdlc3Qgb2YgOCBibG9ja3MKLSsu ZW5kbQotIAotLQl2eG9yCQkyNCwgMjQsIDI1Ci0tCXZ4b3IJCTI0LCAyNCwgMjYKLS0JdnhvcgkJ MjQsIDI0LCAyNwkJIyBICi0rIwotKyMgQ29tcHV0ZSB1cGRhdGUgc2luZ2xlIGdoYXNoCi0rIyB2 czEwOiB2cGVybXhvciB2ZWN0b3IKLSsjIHNjcmF0Y2g6IHYxLCB2MjIuLnYyNwotKyMKLSsubWFj cm8gUFBDX0dIQVNIMXggSCBTMQotIAotLQl2eG9yCQkyNCwgMjQsIDI5CQkjIEggKyBtSAotKwl2 eG9yCTEsIDEsIDEKLSAKLS0JIyBzdW0gaGFzaCBhbmQgcmVkdWN0aW9uIHdpdGggSCBQb2x5Ci0t CXZzbGRvaQkJMjcsIDIzLCAyMywgOAkJIyBzd2FwCi0tCXZwbXN1bWQJCTIzLCAyMywgMgotLQl2 eG9yCQkyNywgMjcsIDI0Ci0tCXZ4b3IJCTI3LCAyMywgMjcJCSMgMXN0IFhpCi0tCi0tCSMgMm5k IDR4IGhhc2gKLS0JdnBtc3VtZAkJMjQsIDksIDIwCi0tCXZwbXN1bWQJCTI1LCA2LCAyMQotLQl2 cG1zdW1kCQkyNiwgMywgMjIKLS0JdnhvcgkJMTksIDE5LCAyNwkJIyBYaSArIFgKLS0JdnBtc3Vt ZAkJMjMsIDEyLCAxOQkJIyBINC5MICogWC5MCi0tCi0tCXZ4b3IJCTIzLCAyMywgMjQKLS0Jdnhv cgkJMjMsIDIzLCAyNQotLQl2eG9yCQkyMywgMjMsIDI2CQkjIEwKLS0KLS0JdnBtc3VtZAkJMjQs IDEzLCAxOQkJIyBINC5MICogWC5IICsgSDQuSCAqIFguTAotLQl2cG1zdW1kCQkyNSwgMTAsIDIw CQkjIEgzLkwgKiBYMS5IICsgSDMuSCAqIFgxLkwKLS0JdnBtc3VtZAkJMjYsIDcsIDIxCi0tCXZw bXN1bWQJCTI3LCA0LCAyMgotLQotLQl2eG9yCQkyNCwgMjQsIDI1Ci0tCXZ4b3IJCTI0LCAyNCwg MjYKLSsJdnBtc3VtZAkyMiwgMywgXFxTMQkJIyBMCi0rCXZwbXN1bWQJMjMsIDQsIFxcUzEJCSMg TQotKwl2cG1zdW1kCTI0LCA1LCBcXFMxCQkjIEgKLSAKLS0JIyBzdW0gaGFzaCBhbmQgcmVkdWN0 aW9uIHdpdGggSCBQb2x5Ci0tCXZwbXN1bWQJCTI4LCAyMywgMgkJIyByZWR1Y3Rpb24KLSsJdnBt c3VtZAkyNywgMjIsIDIJCSMgcmVkdWN0aW9uCi0gCi0tCXh4bG9yCQkyOSszMiwgMjksIDI5Ci0r CXZzbGRvaQkyNSwgMjMsIDEsIDgJCSMgbUwKLSsJdnNsZG9pCTI2LCAxLCAyMywgOAkJIyBtSAot Kwl2eG9yCTIyLCAyMiwgMjUJCSMgTEwgKyBMTAotKwl2eG9yCTI0LCAyNCwgMjYJCSMgSEggKyBI SAotIAotLQl2eG9yCQkyNCwgMjQsIDI3CQkjIE0KLS0JdnNsZG9pCQkyNiwgMjQsIDI5LCA4CQkj IG1MCi0tCXZzbGRvaQkJMjksIDI5LCAyNCwgOAkJIyBtSAotLQl2eG9yCQkyMywgMjMsIDI2CQkj IG1MICsgTAotKwl4eGxvcgkzMisyNSwgMTAsIDEwCi0rCXZwZXJteG9yIDIyLCAyMiwgMjcsIDI1 Ci0gCi0tCXZzbGRvaQkJMjMsIDIzLCAyMywgOAkJIyBzd2FwCi0tCXZ4b3IJCTIzLCAyMywgMjgK LSsJIyAgdnNsZG9pIDIzLCAyMiwgMjIsIDgJCSMgc3dhcAotKwkjICB2cG1zdW1kIDIyLCAyMiwg MgkJIyByZWR1Y3Rpb24KLSsJIyAgdnhvcgkyMywgMjMsIDI0Ci0rCXZwZXJteG9yIDIzLCAyMiwg MjQsIDI1Ci0rCXZwbXN1bWQJMjIsIDIyLCAyCQkjIHJlZHVjdGlvbgotIAotLQl2cG1zdW1kCQky NCwgMTQsIDE5CQkjIEg0LkggKiBYLkgKLS0JdnBtc3VtZAkJMjUsIDExLCAyMAotLQl2cG1zdW1k CQkyNiwgOCwgMjEKLS0JdnBtc3VtZAkJMjcsIDUsIDIyCi0rCXZ4b3IJXFxILCAyMiwgMjMKLSsu ZW5kbQotIAotLQl2eG9yCQkyNCwgMjQsIDI1Ci0tCXZ4b3IJCTI0LCAyNCwgMjYKLS0JdnhvcgkJ MjQsIDI0LCAyNwkJIyBICi0rIwotKyMgTE9BRF9IQVNIX1RBQkxFCi0rIyBYaSA9IHYwCi0rIyBI IFBvbHkgPSB2MgotKyMgSGFzaCBrZXlzID0gdjMgLSB2MTQKLSsjCi0rLm1hY3JvIExPQURfSEFT SF9UQUJMRQotKwkjIExvYWQgWGkKLSsJbHh2YjE2eAkzMiwgMCwgOAkjIGxvYWQgWGkKLSAKLS0J dnhvcgkJMjQsIDI0LCAyOQkJIyBIICsgbUgKLSsJdnhvcgkxLCAxLCAxCi0gCi0tCSMgc3VtIGhh c2ggYW5kIHJlZHVjdGlvbiB3aXRoIEggUG9seQotLQl2c2xkb2kJCTI3LCAyMywgMjMsIDgJCSMg c3dhcAotLQl2cG1zdW1kCQkyMywgMjMsIDIKLS0JdnhvcgkJMjcsIDI3LCAyNAotLQl2eG9yCQky MywgMjMsIDI3Ci0rCWxpCTEwLCAzMgotKwlseHZkMngJMiszMiwgMTAsIDgJIyBIIFBvbGkKLSsK LSsJIyBsb2FkIEhhc2ggLSBoXjQsIGheMywgaF4yLCBoCi0rCWxpCTEwLCA2NAotKwlseHZkMngJ NCszMiwgMTAsIDgJIyBICi0rCXZzbGRvaQkzLCAxLCA0LCA4CSMgbAotKwl2c2xkb2kJNSwgNCwg MSwgOAkjIGgKLSsJbGkJMTAsIDExMgotKwlseHZkMngJNyszMiwgMTAsIDgJIyBIXjIKLSsJdnNs ZG9pCTYsIDEsIDcsIDgJIyBsCi0rCXZzbGRvaQk4LCA3LCAxLCA4CSMgaAotKwlsaQkxMCwgMTYw Ci0rCWx4dmQyeAkxMCszMiwgMTAsIDgJIyBIXjMKLSsJdnNsZG9pCTksIDEsIDEwLCA4CSMgbAot Kwl2c2xkb2kJMTEsIDEwLCAxLCA4CSMgaAotKwlsaQkxMCwgMjA4Ci0rCWx4dmQyeAkxMyszMiwg MTAsIDgJIyBIXjQKLSsJdnNsZG9pCTEyLCAxLCAxMywgOAkjIGwKLSsJdnNsZG9pCTE0LCAxMywg MSwgOAkjIGgKLSsuZW5kbQotIAotLQl4eGxvcgkJMzIsIDIzKzMyLCAyMyszMgkJIyB1cGRhdGUg aGFzaAotKy5tYWNybyBQUk9DRVNTXzhYX0FFU19TVEFURVMKLSsJdmNpcGhlcmxhc3QgICAgIDE1 LCAxNSwgMQotKwl2Y2lwaGVybGFzdCAgICAgMTYsIDE2LCAxCi0rCXZjaXBoZXJsYXN0ICAgICAx NywgMTcsIDEKLSsJdmNpcGhlcmxhc3QgICAgIDE4LCAxOCwgMQotKwl2Y2lwaGVybGFzdCAgICAg MTksIDE5LCAxCi0rCXZjaXBoZXJsYXN0ICAgICAyMCwgMjAsIDEKLSsJdmNpcGhlcmxhc3QgICAg IDIxLCAyMSwgMQotKwl2Y2lwaGVybGFzdCAgICAgMjIsIDIyLCAxCi0rCi0rCWx4dmIxNngJMzIr MjMsIDAsIDE0CSMgbG9hZCBibG9jawotKwlseHZiMTZ4CTMyKzI0LCAxNSwgMTQJIyBsb2FkIGJs b2NrCi0rCWx4dmIxNngJMzIrMjUsIDE2LCAxNAkjIGxvYWQgYmxvY2sKLSsJbHh2YjE2eAkzMisy NiwgMTcsIDE0CSMgbG9hZCBibG9jawotKwlseHZiMTZ4CTMyKzI3LCAxOCwgMTQJIyBsb2FkIGJs b2NrCi0rCWx4dmIxNngJMzIrMjgsIDE5LCAxNAkjIGxvYWQgYmxvY2sKLSsJbHh2YjE2eAkzMisy OSwgMjAsIDE0CSMgbG9hZCBibG9jawotKwlseHZiMTZ4CTMyKzMwLCAyMSwgMTQJIyBsb2FkIGJs b2NrCi0rCWFkZGkJMTQsIDE0LCAxMjgKLSsKLSsJdnhvcgkxNSwgMTUsIDIzCi0rCXZ4b3IJMTYs IDE2LCAyNAotKwl2eG9yCTE3LCAxNywgMjUKLSsJdnhvcgkxOCwgMTgsIDI2Ci0rCXZ4b3IJMTks IDE5LCAyNwotKwl2eG9yCTIwLCAyMCwgMjgKLSsJdnhvcgkyMSwgMjEsIDI5Ci0rCXZ4b3IJMjIs IDIyLCAzMAotKwotKwlzdHh2YjE2eCA0NywgMCwgOQkjIHN0b3JlIG91dHB1dAotKwlzdHh2YjE2 eCA0OCwgMTUsIDkJIyBzdG9yZSBvdXRwdXQKLSsJc3R4dmIxNnggNDksIDE2LCA5CSMgc3RvcmUg b3V0cHV0Ci0rCXN0eHZiMTZ4IDUwLCAxNywgOQkjIHN0b3JlIG91dHB1dAotKwlzdHh2YjE2eCA1 MSwgMTgsIDkJIyBzdG9yZSBvdXRwdXQKLSsJc3R4dmIxNnggNTIsIDE5LCA5CSMgc3RvcmUgb3V0 cHV0Ci0rCXN0eHZiMTZ4IDUzLCAyMCwgOQkjIHN0b3JlIG91dHB1dAotKwlzdHh2YjE2eCA1NCwg MjEsIDkJIyBzdG9yZSBvdXRwdXQKLSsJYWRkaQk5LCA5LCAxMjgKLSsuZW5kbQotIAotKy5tYWNy byBDT01QVVRFX1NUQVRFUwotKwl4eGxvcgkzMisxNSwgOSwgOQkJIyBsYXN0IHN0YXRlCi0rCXZh ZGR1d20gMTUsIDE1LCAzMQkJIyBzdGF0ZSArIGNvdW50ZXIKLSsJdmFkZHV3bSAxNiwgMTUsIDMx Ci0rCXZhZGR1d20gMTcsIDE2LCAzMQotKwl2YWRkdXdtIDE4LCAxNywgMzEKLSsJdmFkZHV3bSAx OSwgMTgsIDMxCi0rCXZhZGR1d20gMjAsIDE5LCAzMQotKwl2YWRkdXdtIDIxLCAyMCwgMzEKLSsJ dmFkZHV3bSAyMiwgMjEsIDMxCi0rCXh4bG9yCTksIDMyKzIyLCAzMisyMgkJIyBzYXZlIGxhc3Qg c3RhdGUKLSsKLSsgICAgICAgIHh4bHhvcgkzMisxNSwgMzIrMTUsIDAJCSMgSVYgKyByb3VuZCBr ZXkgLSBhZGQgcm91bmQga2V5IDAKLSsJeHhseG9yCTMyKzE2LCAzMisxNiwgMAotKwl4eGx4b3IJ MzIrMTcsIDMyKzE3LCAwCi0rCXh4bHhvcgkzMisxOCwgMzIrMTgsIDAKLSsJeHhseG9yCTMyKzE5 LCAzMisxOSwgMAotKwl4eGx4b3IJMzIrMjAsIDMyKzIwLCAwCi0rCXh4bHhvcgkzMisyMSwgMzIr MjEsIDAKLSsJeHhseG9yCTMyKzIyLCAzMisyMiwgMAotIC5lbmRtCi0gCi0rIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKLSsjIENvbXB1dGUgQUVTIGFuZCBnaGFzaCBvbmUgYmxvY2sgYXQgYSB0aW1l LgotKyMgcjIzOiBBRVMgcm91bmRzCi0rIyB2MzA6IGN1cnJlbnQgSVYKLSsjIHZzMDogcm91bmRr ZXkgMAotICMKLS0jIENvbXB1dGUgdXBkYXRlIHNpbmdsZSBoYXNoCi0tIwotLS5tYWNybyBwcGNf dXBkYXRlX2hhc2hfMXgKLS0JdnhvcgkJMjgsIDI4LCAwCi0rIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKLSsuYWxpZ24gNAotK2Flc19nY21fY3J5cHRfMXg6Ci0rLmxvY2FsZW50cnkJYWVzX2djbV9j cnlwdF8xeCwwCi0gCi0tCXZ4b3IJCTE5LCAxOSwgMTkKLSsJY21wZGkJNSwgMTYKLSsJYmdlCV9f TW9yZV8xeAotKwlibHIKLStfX01vcmVfMXg6Ci0rCWxpICAgICAgMTAsIDE2Ci0rCWRpdmR1ICAg MTIsIDUsIDEwCi0gCi0tCXZwbXN1bWQJCTIyLCAzLCAyOAkJIyBMCi0tCXZwbXN1bWQJCTIzLCA0 LCAyOAkJIyBNCi0tCXZwbXN1bWQJCTI0LCA1LCAyOAkJIyBICi0rCXh4bHhvcgkzMisxNSwgMzIr MzAsIDAKLSAKLS0JdnBtc3VtZAkJMjcsIDIyLCAyCQkjIHJlZHVjdGlvbgotKwkjIFByZS1sb2Fk IDggQUVTIHJvdW5kcyB0byBzY3JhdGNoIHZlY3RvcnMuCi0rCWx4dgkzMisxNiwgMTYoNikJCSMg cm91bmQga2V5IDEKLSsJbHh2CTMyKzE3LCAzMig2KQkJIyByb3VuZCBrZXkgMgotKwlseHYJMzIr MTgsIDQ4KDYpCQkjIHJvdW5kIGtleSAzCi0rCWx4dgkzMisxOSwgNjQoNikJCSMgcm91bmQga2V5 IDQKLSsJbHh2CTMyKzIwLCA4MCg2KQkJIyByb3VuZCBrZXkgNQotKwlseHYJMzIrMjEsIDk2KDYp CQkjIHJvdW5kIGtleSA2Ci0rCWx4dgkzMisyOCwgMTEyKDYpCQkjIHJvdW5kIGtleSA3Ci0rCWx4 dgkzMisyOSwgMTI4KDYpCQkjIHJvdW5kIGtleSA4Ci0gCi0tCXZzbGRvaQkJMjUsIDIzLCAxOSwg OAkJIyBtTAotLQl2c2xkb2kJCTI2LCAxOSwgMjMsIDgJCSMgbUgKLS0JdnhvcgkJMjIsIDIyLCAy NQkJIyBMTCArIExMCi0tCXZ4b3IJCTI0LCAyNCwgMjYJCSMgSEggKyBISAotKwlsd3oJMjMsIDI0 MCg2KQkjIG4gcm91bmRzCi0rCWFkZGkJMjIsIDIzLCAtOQkjIHJlbWFpbmluZyBBRVMgcm91bmRz Ci0gCi0tCXZzbGRvaQkJMjIsIDIyLCAyMiwgOAkJIyBzd2FwCi0tCXZ4b3IJCTIyLCAyMiwgMjcK LSsJY21wZGkJMTIsIDAKLSsJYmd0CV9fTG9vcF8xeAotKwlibHIKLSsKLStfX0xvb3BfMXg6Ci0r CW10Y3RyCTIyCi0rCWFkZGkJMTAsIDYsIDE0NAotKwl2Y2lwaGVyCTE1LCAxNSwgMTYKLSsJdmNp cGhlcgkxNSwgMTUsIDE3Ci0rCXZjaXBoZXIJMTUsIDE1LCAxOAotKwl2Y2lwaGVyCTE1LCAxNSwg MTkKLSsJdmNpcGhlcgkxNSwgMTUsIDIwCi0rCXZjaXBoZXIJMTUsIDE1LCAyMQotKwl2Y2lwaGVy CTE1LCAxNSwgMjgKLSsJdmNpcGhlcgkxNSwgMTUsIDI5Ci0gCi0tCXZzbGRvaQkJMjAsIDIyLCAy MiwgOAkJIyBzd2FwCi0tCXZwbXN1bWQJCTIyLCAyMiwgMgkJIyByZWR1Y3Rpb24KLS0JdnhvcgkJ MjAsIDIwLCAyNAotLQl2eG9yCQkyMiwgMjIsIDIwCi0rX19Mb29wX2Flc18xc3RhdGU6Ci0rCWx4 dgkzMisxLCAwKDEwKQotKwl2Y2lwaGVyCTE1LCAxNSwgMQotKwlhZGRpCTEwLCAxMCwgMTYKLSsJ YmRueglfX0xvb3BfYWVzXzFzdGF0ZQotKwlseHYJMzIrMSwgMCgxMCkJCSMgbGFzdCByb3VuZCBr ZXkKLSsJbHh2YjE2eCAxMSwgMCwgMTQJCSMgbG9hZCBpbnB1dCBibG9jawotKwl2Y2lwaGVybGFz dCAxNSwgMTUsIDEKLSAKLS0Jdm1yCQkwLCAyMgkJCSMgdXBkYXRlIGhhc2gKLSsJeHhseG9yCTMy KzE1LCAzMisxNSwgMTEKLSsJc3R4dmIxNnggMzIrMTUsIDAsIDkJIyBzdG9yZSBvdXRwdXQKLSsJ YWRkaQkxNCwgMTQsIDE2Ci0rCWFkZGkJOSwgOSwgMTYKLSAKLS0uZW5kbQotKwljbXBkaQkyNCwg MAkjIGRlY3J5cHQ/Ci0rCWJuZQlfX0VuY3J5cHRfMXgKLSsJeHhsb3IJMTUrMzIsIDExLCAxMQot K19fRW5jcnlwdF8xeDoKLSsJdnhvcgkxNSwgMTUsIDAKLSsJUFBDX0dIQVNIMXggMCwgMTUKLSsK LSsJYWRkaQk1LCA1LCAtMTYKLSsJYWRkaQkxMSwgMTEsIDE2Ci0gCi0rCXZhZGR1d20gMzAsIDMw LCAzMQkJIyBJViArIGNvdW50ZXIKLSsJeHhseG9yCTMyKzE1LCAzMiszMCwgMAotKwlhZGRpCTEy LCAxMiwgLTEKLSsJY21wZGkJMTIsIDAKLSsJYmd0CV9fTG9vcF8xeAotKwotKwlzdHh2YjE2eCAz MiswLCAwLCA4CQkjIHVwZGF0ZSBYaQotKwlibHIKLSsuc2l6ZSAgIGFlc19nY21fY3J5cHRfMXgs Li1hZXNfZ2NtX2NyeXB0XzF4Ci0rCi0rIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSsjIFByb2Nl c3MgYSBub3JtYWwgcGFydGlhbCBibG9jayB3aGVuIHdlIGNvbWUgaGVyZS4KLSsjICBDb21wdXRl IHBhcnRpYWwgbWFzaywgTG9hZCBhbmQgc3RvcmUgcGFydGlhbCBibG9jayB0byBzdGFjay4KLSsj ICBDb21wdXRlIEFFUyBzdGF0ZS4KLSsjICAgQ29tcHV0ZSBnaGFzaC4KLSAjCi0rIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKLSsuYWxpZ24gNAotK19fUHJvY2Vzc19wYXJ0aWFsOgotKy5sb2NhbGVu dHJ5CV9fUHJvY2Vzc19wYXJ0aWFsLDAKLSsKLSsJIyBjcmVhdGUgcGFydGlhbCBtYXNrCi0rCXZz cGx0aXNiIDE2LCAtMQotKwlsaQkxMiwgMTYKLSsJc3ViCTEyLCAxMiwgNQotKwlzbGRpCTEyLCAx MiwgMwotKwltdHZzcmRkCTMyKzE3LCAwLCAxMgotKwl2c2xvCTE2LCAxNiwgMTcJCSMgcGFydGlh bCBibG9jayBtYXNrCi0rCi0rCWx4dmIxNnggMTEsIDAsIDE0CQkjIGxvYWQgcGFydGlhbCBibG9j awotKwl4eGxhbmQJMTEsIDExLCAzMisxNgotKwotKwkjIEFFUyBjcnlwdCBwYXJ0aWFsCi0rCXh4 bHhvcgkzMisxNSwgMzIrMzAsIDAKLSsJbHd6CTIzLCAyNDAoNikJCSMgbiByb3VuZHMKLSsJYWRk aQkyMiwgMjMsIC0xCQkjIGxvb3AgLSAxCi0rCW10Y3RyCTIyCi0rCWFkZGkJMTAsIDYsIDE2Ci0r Ci0rX19Mb29wX2Flc19wc3RhdGU6Ci0rCWx4dgkzMisxLCAwKDEwKQotKwl2Y2lwaGVyCTE1LCAx NSwgMQotKwlhZGRpCTEwLCAxMCwgMTYKLSsJYmRueglfX0xvb3BfYWVzX3BzdGF0ZQotKwlseHYJ MzIrMSwgMCgxMCkJCSMgbGFzdCByb3VuZCBrZXkKLSsJdmNpcGhlcmxhc3QgMTUsIDE1LCAxCi0r Ci0rCXh4bHhvcgkzMisxNSwgMzIrMTUsIDExCi0rCXZhbmQJMTUsIDE1LCAxNgotKwotKwkjIEFF UyBjcnlwdCBvdXRwdXQgdjE1Ci0rCSMgV3JpdGUgcGFydGlhbAotKwlsaQkxMCwgMjI0Ci0rCXN0 eHZiMTZ4IDE1KzMyLCAxMCwgMQkJIyB3cml0ZSB2MTUgdG8gc3RhY2sKLSsJYWRkaQkxMCwgMSwg MjIzCi0rCWFkZGkJMTIsIDksIC0xCi0rICAgICAgICBtdGN0cgk1CQkJIyBwYXJ0aWFsIGJsb2Nr IGxlbgotK19fV3JpdGVfcGFydGlhbDoKLSsgICAgICAgIGxienUJMjIsIDEoMTApCi0rCXN0YnUJ MjIsIDEoMTIpCi0rICAgICAgICBiZG56CV9fV3JpdGVfcGFydGlhbAotKwotKwljbXBkaQkyNCwg MAkJCSMgZGVjcnlwdD8KLSsJYm5lCV9fRW5jcnlwdF9wYXJ0aWFsCi0rCXh4bG9yCTMyKzE1LCAx MSwgMTEJCSMgZGVjcnlwdCB1c2luZyB0aGUgaW5wdXQgYmxvY2sKLStfX0VuY3J5cHRfcGFydGlh bDoKLSsJdnhvcgkxNSwgMTUsIDAJCSMgXiBwcmV2aW91cyBoYXNoCi0rCVBQQ19HSEFTSDF4IDAs IDE1Ci0rCWxpCTUsIDAJCQkjIGRvbmUgbGFzdCBieXRlCi0rCXN0eHZiMTZ4IDMyKzAsIDAsIDgJ CSMgVXBkYXRlIFgxCi0rCWJscgotKy5zaXplICAgX19Qcm9jZXNzX3BhcnRpYWwsLi1fX1Byb2Nl c3NfcGFydGlhbAotKwotKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gIyBwcGNfYWVzX2djbV9l bmNyeXB0IChjb25zdCB2b2lkICppbnAsIHZvaWQgKm91dCwgc2l6ZV90IGxlbiwKLS0jICAgICAg ICAgICAgICAgY29uc3QgQUVTX0tFWSAqa2V5LCB1bnNpZ25lZCBjaGFyIGl2WzE2XSwKLS0jICAg ICAgICAgICAgICAgdm9pZCAqWGlwKTsKLSsjICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcmss IHVuc2lnbmVkIGNoYXIgaXZbMTZdLCB2b2lkICpYaXApOwotICMKLSAjICAgIHIzIC0gaW5wCi0g IyAgICByNCAtIG91dAotQEAgLTQ1NCwxNTkgKzU1Nyw4NSBAQCBwcGNfYWVzX2djbV9naGFzaDoK LSAjICAgIHI3IC0gaXYKLSAjICAgIHI4IC0gWGksIEhQb2xpLCBoYXNoIGtleXMKLSAjCi0rIyAg ICByb3VuZHMgaXMgYXQgb2Zmc2V0IDI0MCBpbiByawotKyMgICAgWGkgaXMgYXQgMCBpbiBnY21f dGFibGUgKFhpcCkuCi0rIwotKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gLmdsb2JhbCBwcGNf YWVzX2djbV9lbmNyeXB0Ci0gLmFsaWduIDUKLSBwcGNfYWVzX2djbV9lbmNyeXB0OgotLV9wcGNf YWVzX2djbV9lbmNyeXB0OgotKy5sb2NhbGVudHJ5ICAgICBwcGNfYWVzX2djbV9lbmNyeXB0LDAK LSAKLS0Jc3RkdSAxLC01MTIoMSkKLS0JbWZsciAwCi0tCi0tCXN0ZAkxNCwxMTIoMSkKLS0Jc3Rk CTE1LDEyMCgxKQotLQlzdGQJMTYsMTI4KDEpCi0tCXN0ZAkxNywxMzYoMSkKLS0Jc3RkCTE4LDE0 NCgxKQotLQlzdGQJMTksMTUyKDEpCi0tCXN0ZAkyMCwxNjAoMSkKLS0Jc3RkCTIxLDE2OCgxKQot LQlsaQk5LCAyNTYKLS0Jc3R2eAkyMCwgOSwgMQotLQlhZGRpCTksIDksIDE2Ci0tCXN0dngJMjEs IDksIDEKLS0JYWRkaQk5LCA5LCAxNgotLQlzdHZ4CTIyLCA5LCAxCi0tCWFkZGkJOSwgOSwgMTYK LS0Jc3R2eAkyMywgOSwgMQotLQlhZGRpCTksIDksIDE2Ci0tCXN0dngJMjQsIDksIDEKLS0JYWRk aQk5LCA5LCAxNgotLQlzdHZ4CTI1LCA5LCAxCi0tCWFkZGkJOSwgOSwgMTYKLS0Jc3R2eAkyNiwg OSwgMQotLQlhZGRpCTksIDksIDE2Ci0tCXN0dngJMjcsIDksIDEKLS0JYWRkaQk5LCA5LCAxNgot LQlzdHZ4CTI4LCA5LCAxCi0tCWFkZGkJOSwgOSwgMTYKLS0Jc3R2eAkyOSwgOSwgMQotLQlhZGRp CTksIDksIDE2Ci0tCXN0dngJMzAsIDksIDEKLS0JYWRkaQk5LCA5LCAxNgotLQlzdHZ4CTMxLCA5 LCAxCi0tCXN0ZAkwLCA1MjgoMSkKLS0KLS0JIyBMb2FkIFhpCi0tCWx4dmIxNngJMzIsIDAsIDgJ IyBsb2FkIFhpCi0tCi0tCSMgbG9hZCBIYXNoIC0gaF40LCBoXjMsIGheMiwgaAotLQlsaQkxMCwg MzIKLS0JbHh2ZDJ4CTIrMzIsIDEwLCA4CSMgSCBQb2xpCi0tCWxpCTEwLCA0OAotLQlseHZkMngJ MyszMiwgMTAsIDgJIyBIbAotLQlsaQkxMCwgNjQKLS0JbHh2ZDJ4CTQrMzIsIDEwLCA4CSMgSAot LQlsaQkxMCwgODAKLS0JbHh2ZDJ4CTUrMzIsIDEwLCA4CSMgSGgKLS0KLS0JbGkJMTAsIDk2Ci0t CWx4dmQyeAk2KzMyLCAxMCwgOAkjIEheMmwKLS0JbGkJMTAsIDExMgotLQlseHZkMngJNyszMiwg MTAsIDgJIyBIXjIKLS0JbGkJMTAsIDEyOAotLQlseHZkMngJOCszMiwgMTAsIDgJIyBIXjJoCi0t Ci0tCWxpCTEwLCAxNDQKLS0JbHh2ZDJ4CTkrMzIsIDEwLCA4CSMgSF4zbAotLQlsaQkxMCwgMTYw Ci0tCWx4dmQyeAkxMCszMiwgMTAsIDgJIyBIXjMKLS0JbGkJMTAsIDE3NgotLQlseHZkMngJMTEr MzIsIDEwLCA4CSMgSF4zaAotLQotLQlsaQkxMCwgMTkyCi0tCWx4dmQyeAkxMiszMiwgMTAsIDgJ IyBIXjRsCi0tCWxpCTEwLCAyMDgKLS0JbHh2ZDJ4CTEzKzMyLCAxMCwgOAkjIEheNAotLQlsaQkx MCwgMjI0Ci0tCWx4dmQyeAkxNCszMiwgMTAsIDgJIyBIXjRoCi0rCVNBVkVfUkVHUwotKwlMT0FE X0hBU0hfVEFCTEUKLSAKLSAJIyBpbml0aWFsaXplIElDQjogR0hBU0goIElWICksIElWIC0gcjcK LSAJbHh2YjE2eAkzMCszMiwgMCwgNwkjIGxvYWQgSVYgIC0gdjMwCi0gCi0tCW1yCTEyLCA1CQkj IGxlbmd0aAotLQlsaQkxMSwgMAkJIyBibG9jayBpbmRleAotKwltcgkxNCwgMwotKwltcgk5LCA0 Ci0gCi0gCSMgY291bnRlciAxCi0gCXZ4b3IJMzEsIDMxLCAzMQotIAl2c3BsdGlzYiAyMiwgMQot IAl2c2xkb2kJMzEsIDMxLCAyMiwxCSMgY291bnRlciAxCi0gCi0tCSMgbG9hZCByb3VuZCBrZXkg dG8gVlNSCi0tCWx4dgkwLCAwKDYpCi0tCWx4dgkxLCAweDEwKDYpCi0tCWx4dgkyLCAweDIwKDYp Ci0tCWx4dgkzLCAweDMwKDYpCi0tCWx4dgk0LCAweDQwKDYpCi0tCWx4dgk1LCAweDUwKDYpCi0t CWx4dgk2LCAweDYwKDYpCi0tCWx4dgk3LCAweDcwKDYpCi0tCWx4dgk4LCAweDgwKDYpCi0tCWx4 dgk5LCAweDkwKDYpCi0tCWx4dgkxMCwgMHhhMCg2KQotKwlhZGRpcwkxMSwgMiwgcGVybXhcQHRv Y1xAaGEKLSsJYWRkaQkxMSwgMTEsIHBlcm14XEB0b2NcQGwKLSsJbHh2CTEwLCAwKDExKQkjIHZz MTA6IHZwZXJteG9yIHZlY3RvcgotKwlsaQkxMSwgMAotIAotLQkjIGxvYWQgcm91bmRzIC0gMTAg KDEyOCksIDEyICgxOTIpLCAxNCAoMjU2KQotLQlsd3oJOSwyNDAoNikKLSsJbHh2CTAsIDAoNikJ CQkjIHJvdW5kIGtleSAwCi0gCi0gCSMKLS0JIyB2eG9yCXN0YXRlLCBzdGF0ZSwgdyAjIGFkZHJv dW5ka2V5Ci0tCXh4bG9yCTMyKzI5LCAwLCAwCi0tCXZ4b3IJMTUsIDMwLCAyOQkjIElWICsgcm91 bmQga2V5IC0gYWRkIHJvdW5kIGtleSAwCi0tCi0tCWNtcGRpCTksIDEwCi0tCWJlcQlMb29wX2Fl c19nY21fOHgKLS0KLS0JIyBsb2FkIDIgbW9yZSByb3VuZCBrZXlzICh2MTEsIHYxMikKLS0JbHh2 CTExLCAweGIwKDYpCi0tCWx4dgkxMiwgMHhjMCg2KQotLQotLQljbXBkaQk5LCAxMgotLQliZXEJ TG9vcF9hZXNfZ2NtXzh4Ci0tCi0tCSMgbG9hZCAyIG1vcmUgcm91bmQga2V5cyAodjExLCB2MTIs IHYxMywgdjE0KQotLQlseHYJMTMsIDB4ZDAoNikKLS0JbHh2CTE0LCAweGUwKDYpCi0tCWNtcGRp CTksIDE0Ci0tCWJlcQlMb29wX2Flc19nY21fOHgKLS0KLS0JYglhZXNfZ2NtX291dAotKwkjIFBy b2Nlc3MgZGlmZmVyZW50IGJsb2NrcwotKwkjCi0rCWNtcGRpCTUsIDEyOAotKwlibHQJX19Qcm9j ZXNzX21vcmVfZW5jCi0rCi0rCSMgbG9hZCA5IHJvdW5kIGtleXMKLSsJbHh2CTMyKzIzLCAxNig2 KQkJIyByb3VuZCBrZXkgMQotKwlseHYJMzIrMjQsIDMyKDYpCQkjIHJvdW5kIGtleSAyCi0rCWx4 dgkzMisyNSwgNDgoNikJCSMgcm91bmQga2V5IDMKLSsJbHh2CTMyKzI2LCA2NCg2KQkJIyByb3Vu ZCBrZXkgNAotKwlseHYJMzIrMjcsIDgwKDYpCQkjIHJvdW5kIGtleSA1Ci0rCWx4dgkzMisyOCwg OTYoNikJCSMgcm91bmQga2V5IDYKLSsJbHh2CTMyKzI5LCAxMTIoNikJCSMgcm91bmQga2V5IDcK LSsJbHh2CTMyKzEsIDEyOCg2KQkJIyByb3VuZCBrZXkgOAotIAotLS5hbGlnbiA1Ci0tTG9vcF9h ZXNfZ2NtXzh4OgotLQltcgkxNCwgMwotLQltcgk5LCA0Ci0rCSMgbG9hZCByb3VuZHMgLSAxMCAo MTI4KSwgMTIgKDE5MiksIDE0ICgyNTYpCi0rCWx3egkyMywgMjQwKDYpCQkjIG4gcm91bmRzCi0g Ci0tCSMgbiBibG9ja3MKLStfX1Byb2Nlc3NfZW5jcnlwdDoKLSsjCi0rIyBQcm9jZXNzIDh4IEFF Uy9HQ00gYmxvY2tzCi0rIwotK19fUHJvY2Vzc184eF9lbmM6Ci0rCSMgOHggYmxvY2tzCi0gCWxp CTEwLCAxMjgKLS0JZGl2ZHUJMTAsIDUsIDEwCSMgbiAxMjggYnl0ZXMtYmxvY2tzCi0tCWNtcGRp CTEwLCAwCi0tCWJlcQlMb29wX2xhc3RfYmxvY2sKLS0KLS0JdmFkZHVkbQkzMCwgMzAsIDMxCSMg SVYgKyBjb3VudGVyCi0tCXZ4b3IJMTYsIDMwLCAyOQotLQl2YWRkdWRtCTMwLCAzMCwgMzEKLS0J dnhvcgkxNywgMzAsIDI5Ci0tCXZhZGR1ZG0JMzAsIDMwLCAzMQotLQl2eG9yCTE4LCAzMCwgMjkK LS0JdmFkZHVkbQkzMCwgMzAsIDMxCi0tCXZ4b3IJMTksIDMwLCAyOQotLQl2YWRkdWRtCTMwLCAz MCwgMzEKLS0JdnhvcgkyMCwgMzAsIDI5Ci0tCXZhZGR1ZG0JMzAsIDMwLCAzMQotLQl2eG9yCTIx LCAzMCwgMjkKLS0JdmFkZHVkbQkzMCwgMzAsIDMxCi0tCXZ4b3IJMjIsIDMwLCAyOQotLQotLQlt dGN0cgkxMAotKwlkaXZkdQkxMiwgNSwgMTAJIyBuIDEyOCBieXRlcy1ibG9ja3MKLSsKLSsJYWRk aQkxMiwgMTIsIC0xCSMgbG9vcCAtIDEKLSsKLSsJdm1yCTE1LCAzMAkJIyBmaXJzdCBzdGF0ZTog SVYKLSsJdmFkZHV3bQkxNiwgMTUsIDMxCSMgc3RhdGUgKyBjb3VudGVyCi0rCXZhZGR1d20JMTcs IDE2LCAzMQotKwl2YWRkdXdtCTE4LCAxNywgMzEKLSsJdmFkZHV3bQkxOSwgMTgsIDMxCi0rCXZh ZGR1d20JMjAsIDE5LCAzMQotKwl2YWRkdXdtCTIxLCAyMCwgMzEKLSsJdmFkZHV3bQkyMiwgMjEs IDMxCi0rCXh4bG9yCTksIDMyKzIyLCAzMisyMgkjIHNhdmUgbGFzdCBzdGF0ZQotKwotKwkjIHZ4 b3IgIHN0YXRlLCBzdGF0ZSwgdyAjIGFkZHJvdW5ka2V5Ci0rCXh4bHhvcgkzMisxNSwgMzIrMTUs IDAgICAgICAjIElWICsgcm91bmQga2V5IC0gYWRkIHJvdW5kIGtleSAwCi0rCXh4bHhvcgkzMisx NiwgMzIrMTYsIDAKLSsJeHhseG9yCTMyKzE3LCAzMisxNywgMAotKwl4eGx4b3IJMzIrMTgsIDMy KzE4LCAwCi0rCXh4bHhvcgkzMisxOSwgMzIrMTksIDAKLSsJeHhseG9yCTMyKzIwLCAzMisyMCwg MAotKwl4eGx4b3IJMzIrMjEsIDMyKzIxLCAwCi0rCXh4bHhvcgkzMisyMiwgMzIrMjIsIDAKLSAK LSAJbGkJMTUsIDE2Ci0gCWxpCTE2LCAzMgotQEAgLTYxNiw1MjMgKzY0NSwxODUgQEAgTG9vcF9h ZXNfZ2NtXzh4OgotIAlsaQkyMCwgOTYKLSAJbGkJMjEsIDExMgotIAotLQlsd3oJMTAsIDI0MCg2 KQotLQotLUxvb3BfOHhfYmxvY2s6Ci0tCi0tCWx4dmIxNngJCTE1LCAwLCAxNAkjIGxvYWQgYmxv Y2sKLS0JbHh2YjE2eAkJMTYsIDE1LCAxNAkjIGxvYWQgYmxvY2sKLS0JbHh2YjE2eAkJMTcsIDE2 LCAxNAkjIGxvYWQgYmxvY2sKLS0JbHh2YjE2eAkJMTgsIDE3LCAxNAkjIGxvYWQgYmxvY2sKLS0J bHh2YjE2eAkJMTksIDE4LCAxNAkjIGxvYWQgYmxvY2sKLS0JbHh2YjE2eAkJMjAsIDE5LCAxNAkj IGxvYWQgYmxvY2sKLS0JbHh2YjE2eAkJMjEsIDIwLCAxNAkjIGxvYWQgYmxvY2sKLS0JbHh2YjE2 eAkJMjIsIDIxLCAxNAkjIGxvYWQgYmxvY2sKLS0JYWRkaQkJMTQsIDE0LCAxMjgKLS0KLS0JTG9v cF9hZXNfbWlkZGxlOHgKLS0KLS0JeHhsb3IJMjMrMzIsIDEwLCAxMAotLQotLQljbXBkaQkxMCwg MTAKLS0JYmVxCURvX25leHRfZ2hhc2gKLS0KLS0JIyAxOTIgYml0cwotLQl4eGxvcgkyNCszMiwg MTEsIDExCi0tCi0tCXZjaXBoZXIJMTUsIDE1LCAyMwotLQl2Y2lwaGVyCTE2LCAxNiwgMjMKLS0J dmNpcGhlcgkxNywgMTcsIDIzCi0tCXZjaXBoZXIJMTgsIDE4LCAyMwotLQl2Y2lwaGVyCTE5LCAx OSwgMjMKLS0JdmNpcGhlcgkyMCwgMjAsIDIzCi0tCXZjaXBoZXIJMjEsIDIxLCAyMwotLQl2Y2lw aGVyCTIyLCAyMiwgMjMKLS0KLS0JdmNpcGhlcgkxNSwgMTUsIDI0Ci0tCXZjaXBoZXIJMTYsIDE2 LCAyNAotLQl2Y2lwaGVyCTE3LCAxNywgMjQKLS0JdmNpcGhlcgkxOCwgMTgsIDI0Ci0tCXZjaXBo ZXIJMTksIDE5LCAyNAotLQl2Y2lwaGVyCTIwLCAyMCwgMjQKLS0JdmNpcGhlcgkyMSwgMjEsIDI0 Ci0tCXZjaXBoZXIJMjIsIDIyLCAyNAotLQotLQl4eGxvcgkyMyszMiwgMTIsIDEyCi0tCi0tCWNt cGRpCTEwLCAxMgotLQliZXEJRG9fbmV4dF9naGFzaAotLQotLQkjIDI1NiBiaXRzCi0tCXh4bG9y CTI0KzMyLCAxMywgMTMKLS0KLS0JdmNpcGhlcgkxNSwgMTUsIDIzCi0tCXZjaXBoZXIJMTYsIDE2 LCAyMwotLQl2Y2lwaGVyCTE3LCAxNywgMjMKLS0JdmNpcGhlcgkxOCwgMTgsIDIzCi0tCXZjaXBo ZXIJMTksIDE5LCAyMwotLQl2Y2lwaGVyCTIwLCAyMCwgMjMKLS0JdmNpcGhlcgkyMSwgMjEsIDIz Ci0tCXZjaXBoZXIJMjIsIDIyLCAyMwotLQotLQl2Y2lwaGVyCTE1LCAxNSwgMjQKLS0JdmNpcGhl cgkxNiwgMTYsIDI0Ci0tCXZjaXBoZXIJMTcsIDE3LCAyNAotLQl2Y2lwaGVyCTE4LCAxOCwgMjQK LS0JdmNpcGhlcgkxOSwgMTksIDI0Ci0tCXZjaXBoZXIJMjAsIDIwLCAyNAotLQl2Y2lwaGVyCTIx LCAyMSwgMjQKLS0JdmNpcGhlcgkyMiwgMjIsIDI0Ci0tCi0tCXh4bG9yCTIzKzMyLCAxNCwgMTQK LS0KLS0JY21wZGkJMTAsIDE0Ci0tCWJlcQlEb19uZXh0X2doYXNoCi0tCWIJYWVzX2djbV9vdXQK LS0KLS1Eb19uZXh0X2doYXNoOgotLQotIAkjCi0tCSMgbGFzdCByb3VuZAotLQl2Y2lwaGVybGFz dCAgICAgMTUsIDE1LCAyMwotLQl2Y2lwaGVybGFzdCAgICAgMTYsIDE2LCAyMwotLQotLQl4eGx4 b3IJCTQ3LCA0NywgMTUKLS0Jc3R4dmIxNnggICAgICAgIDQ3LCAwLCA5CSMgc3RvcmUgb3V0cHV0 Ci0tCXh4bHhvcgkJNDgsIDQ4LCAxNgotLQlzdHh2YjE2eCAgICAgICAgNDgsIDE1LCA5CSMgc3Rv cmUgb3V0cHV0Ci0tCi0tCXZjaXBoZXJsYXN0ICAgICAxNywgMTcsIDIzCi0tCXZjaXBoZXJsYXN0 ICAgICAxOCwgMTgsIDIzCi0rCSMgUHJlLWNvbXB1dGUgZmlyc3QgOCBBRVMgc3RhdGUgYW5kIGxl YXZlIDEvMy81IG1vcmUgcm91bmRzCi0rCSMgZm9yIHRoZSBsb29wLgotKwkjCi0rCWFkZGkJMjIs IDIzLCAtOQkJIyBwcm9jZXNzIDgga2V5cwotKwltdGN0cgkyMgkJCSMgQUVTIGtleSBsb29wCi0r CWFkZGkJMTAsIDYsIDE0NAotIAotLQl4eGx4b3IJCTQ5LCA0OSwgMTcKLS0Jc3R4dmIxNnggICAg ICAgIDQ5LCAxNiwgOQkjIHN0b3JlIG91dHB1dAotLQl4eGx4b3IJCTUwLCA1MCwgMTgKLS0Jc3R4 dmIxNnggICAgICAgIDUwLCAxNywgOQkjIHN0b3JlIG91dHB1dAotKwlMT09QXzhBRVNfU1RBVEUJ CQkjIHByb2Nlc3MgOCBBRVMga2V5cwotIAotLQl2Y2lwaGVybGFzdCAgICAgMTksIDE5LCAyMwot LQl2Y2lwaGVybGFzdCAgICAgMjAsIDIwLCAyMwotK19fUHJlTG9vcF9hZXNfc3RhdGU6Ci0rCWx4 dgkzMisxLCAwKDEwKQkJIyByb3VuZCBrZXkKLSsJQUVTX0NJUEhFUl84eCAxCi0rCWFkZGkJMTAs IDEwLCAxNgotKwliZG56CV9fUHJlTG9vcF9hZXNfc3RhdGUKLSsJbHh2CTMyKzEsIDAoMTApCQkj IGxhc3Qgcm91bmQga2V5ICh2MSkKLSAKLS0JeHhseG9yCQk1MSwgNTEsIDE5Ci0tCXN0eHZiMTZ4 ICAgICAgICA1MSwgMTgsIDkJIyBzdG9yZSBvdXRwdXQKLS0JeHhseG9yCQk1MiwgNTIsIDIwCi0t CXN0eHZiMTZ4ICAgICAgICA1MiwgMTksIDkJIyBzdG9yZSBvdXRwdXQKLSsJY21wZGkJMTIsIDAJ CQkjIE9ubHkgb25lIGxvb3AgKDggYmxvY2spCi0rCWJlcQlfX0ZpbmlzaF9naGFzaAotIAotLQl2 Y2lwaGVybGFzdCAgICAgMjEsIDIxLCAyMwotLQl2Y2lwaGVybGFzdCAgICAgMjIsIDIyLCAyMwot KyMKLSsjIExvb3AgOHggYmxvY2tzIGFuZCBjb21wdXRlIGdoYXNoCi0rIwotK19fTG9vcF84eF9i bG9ja19lbmM6Ci0rCVBST0NFU1NfOFhfQUVTX1NUQVRFUwotIAotLQl4eGx4b3IJCTUzLCA1Mywg MjEKLS0Jc3R4dmIxNnggICAgICAgIDUzLCAyMCwgOQkjIHN0b3JlIG91dHB1dAotLQl4eGx4b3IJ CTU0LCA1NCwgMjIKLS0Jc3R4dmIxNnggICAgICAgIDU0LCAyMSwgOQkjIHN0b3JlIG91dHB1dAot KwkjIENvbXB1dGUgZ2hhc2ggaGVyZQotKwl2eG9yCTE1LCAxNSwgMAotKwlQUENfR0ZNVUwxMjhf OHgKLSAKLS0JYWRkaQkJOSwgOSwgMTI4Ci0rCUNPTVBVVEVfU1RBVEVTCi0gCi0tCSMgZ2hhc2gg aGVyZQotLQlwcGNfYWVzX2djbV9naGFzaDJfNHgKLS0KLS0JeHhsb3IJMjcrMzIsIDAsIDAKLS0J dmFkZHVkbSAzMCwgMzAsIDMxCQkjIElWICsgY291bnRlcgotLQl2bXIJMjksIDMwCi0tCXZ4b3Ig ICAgMTUsIDMwLCAyNwkJIyBhZGQgcm91bmQga2V5Ci0tCXZhZGR1ZG0gMzAsIDMwLCAzMQotLQl2 eG9yICAgIDE2LCAzMCwgMjcKLS0JdmFkZHVkbSAzMCwgMzAsIDMxCi0tCXZ4b3IgICAgMTcsIDMw LCAyNwotLQl2YWRkdWRtIDMwLCAzMCwgMzEKLS0JdnhvciAgICAxOCwgMzAsIDI3Ci0tCXZhZGR1 ZG0gMzAsIDMwLCAzMQotLQl2eG9yICAgIDE5LCAzMCwgMjcKLS0JdmFkZHVkbSAzMCwgMzAsIDMx Ci0tCXZ4b3IgICAgMjAsIDMwLCAyNwotLQl2YWRkdWRtIDMwLCAzMCwgMzEKLS0JdnhvciAgICAy MSwgMzAsIDI3Ci0tCXZhZGR1ZG0gMzAsIDMwLCAzMQotLQl2eG9yICAgIDIyLCAzMCwgMjcKLS0K LS0JYWRkaSAgICAxMiwgMTIsIC0xMjgKLSsJYWRkaSAgICA1LCA1LCAtMTI4Ci0gCWFkZGkgICAg MTEsIDExLCAxMjgKLSAKLS0JYmRueglMb29wXzh4X2Jsb2NrCi0tCi0tCXZtcgkzMCwgMjkKLS0K LS1Mb29wX2xhc3RfYmxvY2s6Ci0tCWNtcGRpICAgMTIsIDAKLS0JYmVxICAgICBhZXNfZ2NtX291 dAotLQotLQkjIGxvb3AgbGFzdCBmZXcgYmxvY2tzCi0tCWxpICAgICAgMTAsIDE2Ci0tCWRpdmR1 ICAgMTAsIDEyLCAxMAotLQotLQltdGN0ciAgIDEwCi0tCi0tCWx3egkxMCwgMjQwKDYpCi0tCi0t CWNtcGRpICAgMTIsIDE2Ci0tCWJsdCAgICAgRmluYWxfYmxvY2sKLS0KLS0ubWFjcm8gTG9vcF9h ZXNfbWlkZGxlXzF4Ci0tCXh4bG9yCTE5KzMyLCAxLCAxCi0tCXh4bG9yCTIwKzMyLCAyLCAyCi0t CXh4bG9yCTIxKzMyLCAzLCAzCi0tCXh4bG9yCTIyKzMyLCA0LCA0Ci0tCi0tCXZjaXBoZXIgMTUs IDE1LCAxOQotLQl2Y2lwaGVyIDE1LCAxNSwgMjAKLS0JdmNpcGhlciAxNSwgMTUsIDIxCi0tCXZj aXBoZXIgMTUsIDE1LCAyMgotLQotLQl4eGxvcgkxOSszMiwgNSwgNQotLQl4eGxvcgkyMCszMiwg NiwgNgotLQl4eGxvcgkyMSszMiwgNywgNwotLQl4eGxvcgkyMiszMiwgOCwgOAotLQotLQl2Y2lw aGVyIDE1LCAxNSwgMTkKLS0JdmNpcGhlciAxNSwgMTUsIDIwCi0tCXZjaXBoZXIgMTUsIDE1LCAy MQotLQl2Y2lwaGVyIDE1LCAxNSwgMjIKLS0KLS0JeHhsb3IJMTkrMzIsIDksIDkKLS0JdmNpcGhl ciAxNSwgMTUsIDE5Ci0tLmVuZG0KLS0KLS1OZXh0X3JlbV9ibG9jazoKLS0JbHh2YjE2eCAxNSwg MCwgMTQJCSMgbG9hZCBibG9jawotLQotLQlMb29wX2Flc19taWRkbGVfMXgKLS0KLS0JeHhsb3IJ MjMrMzIsIDEwLCAxMAotLQotLQljbXBkaQkxMCwgMTAKLS0JYmVxCURvX25leHRfMXgKLS0KLS0J IyAxOTIgYml0cwotLQl4eGxvcgkyNCszMiwgMTEsIDExCi0tCi0tCXZjaXBoZXIJMTUsIDE1LCAy MwotLQl2Y2lwaGVyCTE1LCAxNSwgMjQKLS0KLS0JeHhsb3IJMjMrMzIsIDEyLCAxMgotLQotLQlj bXBkaQkxMCwgMTIKLS0JYmVxCURvX25leHRfMXgKLS0KLS0JIyAyNTYgYml0cwotLQl4eGxvcgky NCszMiwgMTMsIDEzCi0tCi0tCXZjaXBoZXIJMTUsIDE1LCAyMwotLQl2Y2lwaGVyCTE1LCAxNSwg MjQKLS0KLS0JeHhsb3IJMjMrMzIsIDE0LCAxNAotLQotLQljbXBkaQkxMCwgMTQKLS0JYmVxCURv X25leHRfMXgKLS0KLS1Eb19uZXh0XzF4OgotLQl2Y2lwaGVybGFzdCAgICAgMTUsIDE1LCAyMwot LQotLQl4eGx4b3IJCTQ3LCA0NywgMTUKLS0Jc3R4dmIxNngJNDcsIDAsIDkJIyBzdG9yZSBvdXRw dXQKLS0JYWRkaQkJMTQsIDE0LCAxNgotLQlhZGRpCQk5LCA5LCAxNgotLQotLQl2bXIJCTI4LCAx NQotLQlwcGNfdXBkYXRlX2hhc2hfMXgKLS0KLS0JYWRkaQkJMTIsIDEyLCAtMTYKLS0JYWRkaQkJ MTEsIDExLCAxNgotLQl4eGxvcgkJMTkrMzIsIDAsIDAKLS0JdmFkZHVkbQkJMzAsIDMwLCAzMQkJ IyBJViArIGNvdW50ZXIKLS0JdnhvcgkJMTUsIDMwLCAxOQkJIyBhZGQgcm91bmQga2V5Ci0rCWx4 dgkzMisyMywgMTYoNikJCSMgcm91bmQga2V5IDEKLSsJbHh2CTMyKzI0LCAzMig2KQkJIyByb3Vu ZCBrZXkgMgotKwlseHYJMzIrMjUsIDQ4KDYpCQkjIHJvdW5kIGtleSAzCi0rCWx4dgkzMisyNiwg NjQoNikJCSMgcm91bmQga2V5IDQKLSsJbHh2CTMyKzI3LCA4MCg2KQkJIyByb3VuZCBrZXkgNQot KwlseHYJMzIrMjgsIDk2KDYpCQkjIHJvdW5kIGtleSA2Ci0rCWx4dgkzMisyOSwgMTEyKDYpCQkj IHJvdW5kIGtleSA3Ci0rCWx4dgkzMisxLCAxMjgoNikJCSMgcm91bmQga2V5IDgKLSsKLSsJIyBD b21wdXRlIGZpcnN0IDggQUVTIHN0YXRlIGFuZCBsZWF2ZSAxLzMvNSBtb3JlIHJvdW5kcwotKwkj IGZvciB0aGUgbG9vcC4KLSsJTE9PUF84QUVTX1NUQVRFCQkJIyBwcm9jZXNzIDggQUVTIGtleXMK LSsJbXRjdHIJMjIJCQkjIEFFUyBrZXkgbG9vcAotKwlhZGRpCTEwLCA2LCAxNDQKLSsKLStfX0xh c3RMb29wX2Flc19zdGF0ZToKLSsJbHh2CTMyKzEsIDAoMTApCQkjIHJvdW5kIGtleQotKwlBRVNf Q0lQSEVSXzh4IDEKLSsJYWRkaQkxMCwgMTAsIDE2Ci0rCWJkbnoJX19MYXN0TG9vcF9hZXNfc3Rh dGUKLSAKLS0JYmRueglOZXh0X3JlbV9ibG9jawotKwlseHYJMzIrMSwgMCgxMCkJCSMgbGFzdCBy b3VuZCBrZXkgKHYxKQotIAotKwlhZGRpCTEyLCAxMiwgLTEKLSAJY21wZGkJMTIsIDAKLS0JYmVx CWFlc19nY21fb3V0Ci0tCi0tRmluYWxfYmxvY2s6Ci0tCUxvb3BfYWVzX21pZGRsZV8xeAotLQot LQl4eGxvcgkyMyszMiwgMTAsIDEwCi0tCi0tCWNtcGRpCTEwLCAxMAotLQliZXEJRG9fZmluYWxf MXgKLS0KLS0JIyAxOTIgYml0cwotLQl4eGxvcgkyNCszMiwgMTEsIDExCi0tCi0tCXZjaXBoZXIJ MTUsIDE1LCAyMwotLQl2Y2lwaGVyCTE1LCAxNSwgMjQKLSsJYm5lCV9fTG9vcF84eF9ibG9ja19l bmMKLSAKLS0JeHhsb3IJMjMrMzIsIDEyLCAxMgotLQotLQljbXBkaQkxMCwgMTIKLS0JYmVxCURv X2ZpbmFsXzF4Ci0tCi0tCSMgMjU2IGJpdHMKLS0JeHhsb3IJMjQrMzIsIDEzLCAxMwotLQotLQl2 Y2lwaGVyCTE1LCAxNSwgMjMKLS0JdmNpcGhlcgkxNSwgMTUsIDI0Ci0tCi0tCXh4bG9yCTIzKzMy LCAxNCwgMTQKLS0KLS0JY21wZGkJMTAsIDE0Ci0tCWJlcQlEb19maW5hbF8xeAotLQotLURvX2Zp bmFsXzF4OgotLQl2Y2lwaGVybGFzdCAgICAgMTUsIDE1LCAyMwotLQotLQlseHZiMTZ4CTE1LCAw LCAxNAkJIyBsb2FkIGxhc3QgYmxvY2sKLS0JeHhseG9yCTQ3LCA0NywgMTUKLS0KLS0JIyBjcmVh dGUgcGFydGlhbCBibG9jayBtYXNrCi0tCWxpCTE1LCAxNgotLQlzdWIJMTUsIDE1LCAxMgkJIyBp bmRleCB0byB0aGUgbWFzawotLQotLQl2c3BsdGlzYgkxNiwgLTEJCSMgZmlyc3QgMTYgYnl0ZXMg LSAweGZmZmYuLi5mZgotLQl2c3BsdGlzYgkxNywgMAkJIyBzZWNvbmQgMTYgYnl0ZXMgLSAweDAw MDAuLi4wMAotLQlsaQkxMCwgMTkyCi0tCXN0dngJMTYsIDEwLCAxCi0tCWFkZGkJMTAsIDEwLCAx NgotLQlzdHZ4CTE3LCAxMCwgMQotLQotLQlhZGRpCTEwLCAxLCAxOTIKLS0JbHh2YjE2eAkxNiwg MTUsIDEwCQkjIGxvYWQgcGFydGlhbCBibG9jayBtYXNrCi0tCXh4bGFuZAk0NywgNDcsIDE2Ci0t Ci0tCXZtcgkyOCwgMTUKLS0JcHBjX3VwZGF0ZV9oYXNoXzF4Ci0rCSMKLSsJIyBSZW1haW5uZyBi bG9ja3MKLSsJIwotK19fRmluaXNoX2doYXNoOgotKwlQUk9DRVNTXzhYX0FFU19TVEFURVMKLSAK LS0JIyAqIHNob3VsZCBzdG9yZSBvbmx5IHRoZSByZW1haW5pbmcgYnl0ZXMuCi0tCWJsCVdyaXRl X3BhcnRpYWxfYmxvY2sKLSsJIyBDb21wdXRlIGdoYXNoIGhlcmUKLSsJdnhvcgkxNSwgMTUsIDAK LSsJUFBDX0dGTVVMMTI4Xzh4Ci0gCi0tCWIgYWVzX2djbV9vdXQKLSsJIyBVcGRhdGUgSVYgYW5k IFhpCi0rCXh4bG9yCTMwKzMyLCA5LCA5CQkjIGxhc3QgY3RyCi0rCXZhZGR1d20JMzAsIDMwLCAz MQkJIyBpbmNyZWFzZSBjdHIKLSsJc3R4dmIxNnggMzIrMCwgMCwgOAkJIyB1cGRhdGUgWGkKLSAK LS0jCi0tIyBXcml0ZSBwYXJ0aWFsIGJsb2NrCi0tIyByOSAtIG91dHB1dAotLSMgcjEyIC0gcmVt YWluaW5nIGJ5dGVzCi0tIyB2MTUgLSBwYXJ0aWFsIGlucHV0IGRhdGEKLS0jCi0tV3JpdGVfcGFy dGlhbF9ibG9jazoKLS0JbGkJCTEwLCAxOTIKLS0Jc3R4dmIxNngJMTUrMzIsIDEwLCAxCQkjIGxh c3QgYmxvY2sKLSsJYWRkaSAgICA1LCA1LCAtMTI4Ci0rCWFkZGkgICAgMTEsIDExLCAxMjgKLSAK LS0JI2FkZAkJMTAsIDksIDExCQkjIE91dHB1dAotLQlhZGRpCQkxMCwgOSwgLTEKLS0JYWRkaQkJ MTYsIDEsIDE5MQotKwkjCi0rCSMgRG9uZSA4eCBibG9ja3MKLSsJIwotIAotLSAgICAgICAgbXRj dHIJCTEyCQkJIyByZW1haW5pbmcgYnl0ZXMKLS0JbGkJCTE1LCAwCi0rCWNtcGRpICAgNSwgMAot KwliZXEgICAgIGFlc19nY21fb3V0Ci0gCi0tV3JpdGVfbGFzdF9ieXRlOgotLSAgICAgICAgbGJ6 dQkJMTQsIDEoMTYpCi0tCXN0YnUJCTE0LCAxKDEwKQotLSAgICAgICAgYmRuegkJV3JpdGVfbGFz dF9ieXRlCi0tCWJscgotK19fUHJvY2Vzc19tb3JlX2VuYzoKLSsJbGkJMjQsIDEJCQkjIGVuY3J5 cHQKLSsJYmwJYWVzX2djbV9jcnlwdF8xeAotKwljbXBkaSAgIDUsIDAKLSsJYmVxICAgICBhZXNf Z2NtX291dAotIAotLWFlc19nY21fb3V0OgotLQkjIG91dCA9IHN0YXRlCi0tCXN0eHZiMTZ4CTMy LCAwLCA4CQkjIHdyaXRlIG91dCBYaQotLQlhZGQJMywgMTEsIDEyCQkjIHJldHVybiBjb3VudAot KwlibAlfX1Byb2Nlc3NfcGFydGlhbAotKwliCWFlc19nY21fb3V0Ci0gCi0tCWxpCTksIDI1Ngot LQlsdngJMjAsIDksIDEKLS0JYWRkaQk5LCA5LCAxNgotLQlsdngJMjEsIDksIDEKLS0JYWRkaQk5 LCA5LCAxNgotLQlsdngJMjIsIDksIDEKLS0JYWRkaQk5LCA5LCAxNgotLQlsdngJMjMsIDksIDEK LS0JYWRkaQk5LCA5LCAxNgotLQlsdngJMjQsIDksIDEKLS0JYWRkaQk5LCA5LCAxNgotLQlsdngJ MjUsIDksIDEKLS0JYWRkaQk5LCA5LCAxNgotLQlsdngJMjYsIDksIDEKLS0JYWRkaQk5LCA5LCAx NgotLQlsdngJMjcsIDksIDEKLS0JYWRkaQk5LCA5LCAxNgotLQlsdngJMjgsIDksIDEKLS0JYWRk aQk5LCA5LCAxNgotLQlsdngJMjksIDksIDEKLS0JYWRkaQk5LCA5LCAxNgotLQlsdngJMzAsIDks IDEKLS0JYWRkaQk5LCA5LCAxNgotLQlsdngJMzEsIDksIDEKLS0KLS0JbGQJMCwgNTI4KDEpCi0t CWxkICAgICAgMTQsMTEyKDEpCi0tCWxkICAgICAgMTUsMTIwKDEpCi0tCWxkICAgICAgMTYsMTI4 KDEpCi0tCWxkICAgICAgMTcsMTM2KDEpCi0tCWxkICAgICAgMTgsMTQ0KDEpCi0tCWxkICAgICAg MTksMTUyKDEpCi0tCWxkICAgICAgMjAsMTYwKDEpCi0tCWxkCTIxLDE2OCgxKQotLQotLQltdGxy CTAKLS0JYWRkaQkxLCAxLCA1MTIKLS0JYmxyCi0rLnNpemUgICBwcGNfYWVzX2djbV9lbmNyeXB0 LC4tcHBjX2Flc19nY21fZW5jcnlwdAotIAotLSMKLSsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwot KyMgcHBjX2Flc19nY21fZGVjcnlwdCAoY29uc3Qgdm9pZCAqaW5wLCB2b2lkICpvdXQsIHNpemVf dCBsZW4sCi0rIyAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnJrLCB1bnNpZ25lZCBjaGFyIGl2 WzE2XSwgdm9pZCAqWGlwKTsKLSAjIDh4IERlY3J5cHQKLSAjCi0rIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKLSAuZ2xvYmFsIHBwY19hZXNfZ2NtX2RlY3J5cHQKLSAuYWxpZ24gNQotIHBwY19hZXNf Z2NtX2RlY3J5cHQ6Ci0tX3BwY19hZXNfZ2NtX2RlY3J5cHQ6Ci0tCi0tCXN0ZHUgMSwtNTEyKDEp Ci0tCW1mbHIgMAotLQotLQlzdGQJMTQsMTEyKDEpCi0tCXN0ZAkxNSwxMjAoMSkKLS0Jc3RkCTE2 LDEyOCgxKQotLQlzdGQJMTcsMTM2KDEpCi0tCXN0ZAkxOCwxNDQoMSkKLS0Jc3RkCTE5LDE1Migx KQotLQlzdGQJMjAsMTYwKDEpCi0tCXN0ZAkyMSwxNjgoMSkKLS0JbGkJOSwgMjU2Ci0tCXN0dngJ MjAsIDksIDEKLS0JYWRkaQk5LCA5LCAxNgotLQlzdHZ4CTIxLCA5LCAxCi0tCWFkZGkJOSwgOSwg MTYKLS0Jc3R2eAkyMiwgOSwgMQotLQlhZGRpCTksIDksIDE2Ci0tCXN0dngJMjMsIDksIDEKLS0J YWRkaQk5LCA5LCAxNgotLQlzdHZ4CTI0LCA5LCAxCi0tCWFkZGkJOSwgOSwgMTYKLS0Jc3R2eAky NSwgOSwgMQotLQlhZGRpCTksIDksIDE2Ci0tCXN0dngJMjYsIDksIDEKLS0JYWRkaQk5LCA5LCAx NgotLQlzdHZ4CTI3LCA5LCAxCi0tCWFkZGkJOSwgOSwgMTYKLS0Jc3R2eAkyOCwgOSwgMQotLQlh ZGRpCTksIDksIDE2Ci0tCXN0dngJMjksIDksIDEKLS0JYWRkaQk5LCA5LCAxNgotLQlzdHZ4CTMw LCA5LCAxCi0tCWFkZGkJOSwgOSwgMTYKLS0Jc3R2eAkzMSwgOSwgMQotLQlzdGQJMCwgNTI4KDEp Ci0tCi0tCSMgTG9hZCBYaQotLQlseHZiMTZ4CTMyLCAwLCA4CSMgbG9hZCBYaQotLQotLQkjIGxv YWQgSGFzaCAtIGheNCwgaF4zLCBoXjIsIGgKLS0JbGkJMTAsIDMyCi0tCWx4dmQyeAkyKzMyLCAx MCwgOAkjIEggUG9saQotLQlsaQkxMCwgNDgKLS0JbHh2ZDJ4CTMrMzIsIDEwLCA4CSMgSGwKLS0J bGkJMTAsIDY0Ci0tCWx4dmQyeAk0KzMyLCAxMCwgOAkjIEgKLS0JbGkJMTAsIDgwCi0tCWx4dmQy eAk1KzMyLCAxMCwgOAkjIEhoCi0tCi0tCWxpCTEwLCA5NgotLQlseHZkMngJNiszMiwgMTAsIDgJ IyBIXjJsCi0tCWxpCTEwLCAxMTIKLS0JbHh2ZDJ4CTcrMzIsIDEwLCA4CSMgSF4yCi0tCWxpCTEw LCAxMjgKLS0JbHh2ZDJ4CTgrMzIsIDEwLCA4CSMgSF4yaAotKy5sb2NhbGVudHJ5CXBwY19hZXNf Z2NtX2RlY3J5cHQsIDAKLSAKLS0JbGkJMTAsIDE0NAotLQlseHZkMngJOSszMiwgMTAsIDgJIyBI XjNsCi0tCWxpCTEwLCAxNjAKLS0JbHh2ZDJ4CTEwKzMyLCAxMCwgOAkjIEheMwotLQlsaQkxMCwg MTc2Ci0tCWx4dmQyeAkxMSszMiwgMTAsIDgJIyBIXjNoCi0tCi0tCWxpCTEwLCAxOTIKLS0JbHh2 ZDJ4CTEyKzMyLCAxMCwgOAkjIEheNGwKLS0JbGkJMTAsIDIwOAotLQlseHZkMngJMTMrMzIsIDEw LCA4CSMgSF40Ci0tCWxpCTEwLCAyMjQKLS0JbHh2ZDJ4CTE0KzMyLCAxMCwgOAkjIEheNGgKLSsJ U0FWRV9SRUdTCi0rCUxPQURfSEFTSF9UQUJMRQotIAotIAkjIGluaXRpYWxpemUgSUNCOiBHSEFT SCggSVYgKSwgSVYgLSByNwotIAlseHZiMTZ4CTMwKzMyLCAwLCA3CSMgbG9hZCBJViAgLSB2MzAK LSAKLS0JbXIJMTIsIDUJCSMgbGVuZ3RoCi0tCWxpCTExLCAwCQkjIGJsb2NrIGluZGV4Ci0rCW1y CTE0LCAzCi0rCW1yCTksIDQKLSAKLSAJIyBjb3VudGVyIDEKLSAJdnhvcgkzMSwgMzEsIDMxCi0g CXZzcGx0aXNiIDIyLCAxCi0gCXZzbGRvaQkzMSwgMzEsIDIyLDEJIyBjb3VudGVyIDEKLSAKLS0J IyBsb2FkIHJvdW5kIGtleSB0byBWU1IKLS0JbHh2CTAsIDAoNikKLS0JbHh2CTEsIDB4MTAoNikK LS0JbHh2CTIsIDB4MjAoNikKLS0JbHh2CTMsIDB4MzAoNikKLS0JbHh2CTQsIDB4NDAoNikKLS0J bHh2CTUsIDB4NTAoNikKLS0JbHh2CTYsIDB4NjAoNikKLS0JbHh2CTcsIDB4NzAoNikKLS0JbHh2 CTgsIDB4ODAoNikKLS0JbHh2CTksIDB4OTAoNikKLS0JbHh2CTEwLCAweGEwKDYpCi0rCWFkZGlz CTExLCAyLCBwZXJteFxAdG9jXEBoYQotKwlhZGRpCTExLCAxMSwgcGVybXhcQHRvY1xAbAotKwls eHYJMTAsIDAoMTEpCSMgdnMxMDogdnBlcm14b3IgdmVjdG9yCi0rCWxpCTExLCAwCi0gCi0tCSMg bG9hZCByb3VuZHMgLSAxMCAoMTI4KSwgMTIgKDE5MiksIDE0ICgyNTYpCi0tCWx3egk5LDI0MCg2 KQotKwlseHYJMCwgMCg2KQkJCSMgcm91bmQga2V5IDAKLSAKLSAJIwotLQkjIHZ4b3IJc3RhdGUs IHN0YXRlLCB3ICMgYWRkcm91bmRrZXkKLS0JeHhsb3IJMzIrMjksIDAsIDAKLS0JdnhvcgkxNSwg MzAsIDI5CSMgSVYgKyByb3VuZCBrZXkgLSBhZGQgcm91bmQga2V5IDAKLS0KLS0JY21wZGkJOSwg MTAKLS0JYmVxCUxvb3BfYWVzX2djbV84eF9kZWMKLS0KLS0JIyBsb2FkIDIgbW9yZSByb3VuZCBr ZXlzICh2MTEsIHYxMikKLS0JbHh2CTExLCAweGIwKDYpCi0tCWx4dgkxMiwgMHhjMCg2KQotLQot LQljbXBkaQk5LCAxMgotLQliZXEJTG9vcF9hZXNfZ2NtXzh4X2RlYwotLQotLQkjIGxvYWQgMiBt b3JlIHJvdW5kIGtleXMgKHYxMSwgdjEyLCB2MTMsIHYxNCkKLS0JbHh2CTEzLCAweGQwKDYpCi0t CWx4dgkxNCwgMHhlMCg2KQotLQljbXBkaQk5LCAxNAotLQliZXEJTG9vcF9hZXNfZ2NtXzh4X2Rl YwotLQotLQliCWFlc19nY21fb3V0Ci0rCSMgUHJvY2VzcyBkaWZmZXJlbnQgYmxvY2tzCi0rCSMK LSsJY21wZGkJNSwgMTI4Ci0rCWJsdAlfX1Byb2Nlc3NfbW9yZV9kZWMKLSsKLSsJIyBsb2FkIDkg cm91bmQga2V5cwotKwlseHYJMzIrMjMsIDE2KDYpCQkjIHJvdW5kIGtleSAxCi0rCWx4dgkzMisy NCwgMzIoNikJCSMgcm91bmQga2V5IDIKLSsJbHh2CTMyKzI1LCA0OCg2KQkJIyByb3VuZCBrZXkg MwotKwlseHYJMzIrMjYsIDY0KDYpCQkjIHJvdW5kIGtleSA0Ci0rCWx4dgkzMisyNywgODAoNikJ CSMgcm91bmQga2V5IDUKLSsJbHh2CTMyKzI4LCA5Nig2KQkJIyByb3VuZCBrZXkgNgotKwlseHYJ MzIrMjksIDExMig2KQkJIyByb3VuZCBrZXkgNwotKwlseHYJMzIrMSwgMTI4KDYpCQkjIHJvdW5k IGtleSA4Ci0gCi0tLmFsaWduIDUKLS1Mb29wX2Flc19nY21fOHhfZGVjOgotLQltcgkxNCwgMwot LQltcgk5LCA0Ci0rCSMgbG9hZCByb3VuZHMgLSAxMCAoMTI4KSwgMTIgKDE5MiksIDE0ICgyNTYp Ci0rCWx3egkyMywgMjQwKDYpCQkjIG4gcm91bmRzCi0gCi0tCSMgbiBibG9ja3MKLStfX1Byb2Nl c3NfZGVjcnlwdDoKLSsjCi0rIyBQcm9jZXNzIDh4IEFFUy9HQ00gYmxvY2tzCi0rIwotK19fUHJv Y2Vzc184eF9kZWM6Ci0rCSMgOHggYmxvY2tzCi0gCWxpCTEwLCAxMjgKLS0JZGl2ZHUJMTAsIDUs IDEwCSMgbiAxMjggYnl0ZXMtYmxvY2tzCi0tCWNtcGRpCTEwLCAwCi0tCWJlcQlMb29wX2xhc3Rf YmxvY2tfZGVjCi0tCi0tCXZhZGR1ZG0JMzAsIDMwLCAzMQkjIElWICsgY291bnRlcgotLQl2eG9y CTE2LCAzMCwgMjkKLS0JdmFkZHVkbQkzMCwgMzAsIDMxCi0tCXZ4b3IJMTcsIDMwLCAyOQotLQl2 YWRkdWRtCTMwLCAzMCwgMzEKLS0JdnhvcgkxOCwgMzAsIDI5Ci0tCXZhZGR1ZG0JMzAsIDMwLCAz MQotLQl2eG9yCTE5LCAzMCwgMjkKLS0JdmFkZHVkbQkzMCwgMzAsIDMxCi0tCXZ4b3IJMjAsIDMw LCAyOQotLQl2YWRkdWRtCTMwLCAzMCwgMzEKLS0JdnhvcgkyMSwgMzAsIDI5Ci0tCXZhZGR1ZG0J MzAsIDMwLCAzMQotLQl2eG9yCTIyLCAzMCwgMjkKLS0KLS0JbXRjdHIJMTAKLSsJZGl2ZHUJMTIs IDUsIDEwCSMgbiAxMjggYnl0ZXMtYmxvY2tzCi0rCi0rCWFkZGkJMTIsIDEyLCAtMQkjIGxvb3Ag LSAxCi0rCi0rCXZtcgkxNSwgMzAJCSMgZmlyc3Qgc3RhdGU6IElWCi0rCXZhZGR1d20JMTYsIDE1 LCAzMQkjIHN0YXRlICsgY291bnRlcgotKwl2YWRkdXdtCTE3LCAxNiwgMzEKLSsJdmFkZHV3bQkx OCwgMTcsIDMxCi0rCXZhZGR1d20JMTksIDE4LCAzMQotKwl2YWRkdXdtCTIwLCAxOSwgMzEKLSsJ dmFkZHV3bQkyMSwgMjAsIDMxCi0rCXZhZGR1d20JMjIsIDIxLCAzMQotKwl4eGxvcgk5LCAzMisy MiwgMzIrMjIJIyBzYXZlIGxhc3Qgc3RhdGUKLSsKLSsJIyB2eG9yICBzdGF0ZSwgc3RhdGUsIHcg IyBhZGRyb3VuZGtleQotKwl4eGx4b3IJMzIrMTUsIDMyKzE1LCAwICAgICAgIyBJViArIHJvdW5k IGtleSAtIGFkZCByb3VuZCBrZXkgMAotKwl4eGx4b3IJMzIrMTYsIDMyKzE2LCAwCi0rCXh4bHhv cgkzMisxNywgMzIrMTcsIDAKLSsJeHhseG9yCTMyKzE4LCAzMisxOCwgMAotKwl4eGx4b3IJMzIr MTksIDMyKzE5LCAwCi0rCXh4bHhvcgkzMisyMCwgMzIrMjAsIDAKLSsJeHhseG9yCTMyKzIxLCAz MisyMSwgMAotKwl4eGx4b3IJMzIrMjIsIDMyKzIyLCAwCi0gCi0gCWxpCTE1LCAxNgotIAlsaQkx NiwgMzIKLUBAIC0xMTQyLDI5NyArODMzLDIxOSBAQCBMb29wX2Flc19nY21fOHhfZGVjOgotIAls aQkyMCwgOTYKLSAJbGkJMjEsIDExMgotIAotLQlsd3oJMTAsIDI0MCg2KQotLQotLUxvb3BfOHhf YmxvY2tfZGVjOgotLQotLQlseHZiMTZ4CQkxNSwgMCwgMTQJIyBsb2FkIGJsb2NrCi0tCWx4dmIx NngJCTE2LCAxNSwgMTQJIyBsb2FkIGJsb2NrCi0tCWx4dmIxNngJCTE3LCAxNiwgMTQJIyBsb2Fk IGJsb2NrCi0tCWx4dmIxNngJCTE4LCAxNywgMTQJIyBsb2FkIGJsb2NrCi0tCWx4dmIxNngJCTE5 LCAxOCwgMTQJIyBsb2FkIGJsb2NrCi0tCWx4dmIxNngJCTIwLCAxOSwgMTQJIyBsb2FkIGJsb2Nr Ci0tCWx4dmIxNngJCTIxLCAyMCwgMTQJIyBsb2FkIGJsb2NrCi0tCWx4dmIxNngJCTIyLCAyMSwg MTQJIyBsb2FkIGJsb2NrCi0tCWFkZGkJCTE0LCAxNCwgMTI4Ci0tCi0tCUxvb3BfYWVzX21pZGRs ZTh4Ci0tCi0tCXh4bG9yCTIzKzMyLCAxMCwgMTAKLS0KLS0JY21wZGkJMTAsIDEwCi0tCWJlcQlE b19sYXN0X2Flc19kZWMKLS0KLS0JIyAxOTIgYml0cwotLQl4eGxvcgkyNCszMiwgMTEsIDExCi0t Ci0tCXZjaXBoZXIJMTUsIDE1LCAyMwotLQl2Y2lwaGVyCTE2LCAxNiwgMjMKLS0JdmNpcGhlcgkx NywgMTcsIDIzCi0tCXZjaXBoZXIJMTgsIDE4LCAyMwotLQl2Y2lwaGVyCTE5LCAxOSwgMjMKLS0J dmNpcGhlcgkyMCwgMjAsIDIzCi0tCXZjaXBoZXIJMjEsIDIxLCAyMwotLQl2Y2lwaGVyCTIyLCAy MiwgMjMKLS0KLS0JdmNpcGhlcgkxNSwgMTUsIDI0Ci0tCXZjaXBoZXIJMTYsIDE2LCAyNAotLQl2 Y2lwaGVyCTE3LCAxNywgMjQKLS0JdmNpcGhlcgkxOCwgMTgsIDI0Ci0tCXZjaXBoZXIJMTksIDE5 LCAyNAotLQl2Y2lwaGVyCTIwLCAyMCwgMjQKLS0JdmNpcGhlcgkyMSwgMjEsIDI0Ci0tCXZjaXBo ZXIJMjIsIDIyLCAyNAotLQotLQl4eGxvcgkyMyszMiwgMTIsIDEyCi0tCi0tCWNtcGRpCTEwLCAx MgotLQliZXEJRG9fbGFzdF9hZXNfZGVjCi0tCi0tCSMgMjU2IGJpdHMKLS0JeHhsb3IJMjQrMzIs IDEzLCAxMwotLQotLQl2Y2lwaGVyCTE1LCAxNSwgMjMKLS0JdmNpcGhlcgkxNiwgMTYsIDIzCi0t CXZjaXBoZXIJMTcsIDE3LCAyMwotLQl2Y2lwaGVyCTE4LCAxOCwgMjMKLS0JdmNpcGhlcgkxOSwg MTksIDIzCi0tCXZjaXBoZXIJMjAsIDIwLCAyMwotLQl2Y2lwaGVyCTIxLCAyMSwgMjMKLS0JdmNp cGhlcgkyMiwgMjIsIDIzCi0tCi0tCXZjaXBoZXIJMTUsIDE1LCAyNAotLQl2Y2lwaGVyCTE2LCAx NiwgMjQKLS0JdmNpcGhlcgkxNywgMTcsIDI0Ci0tCXZjaXBoZXIJMTgsIDE4LCAyNAotLQl2Y2lw aGVyCTE5LCAxOSwgMjQKLS0JdmNpcGhlcgkyMCwgMjAsIDI0Ci0tCXZjaXBoZXIJMjEsIDIxLCAy NAotLQl2Y2lwaGVyCTIyLCAyMiwgMjQKLS0KLS0JeHhsb3IJMjMrMzIsIDE0LCAxNAotLQotLQlj bXBkaQkxMCwgMTQKLS0JYmVxCURvX2xhc3RfYWVzX2RlYwotLQliCWFlc19nY21fb3V0Ci0tCi0t RG9fbGFzdF9hZXNfZGVjOgotLQotIAkjCi0tCSMgbGFzdCByb3VuZAotLQl2Y2lwaGVybGFzdCAg ICAgMTUsIDE1LCAyMwotLQl2Y2lwaGVybGFzdCAgICAgMTYsIDE2LCAyMwotLQotLQl4eGx4b3IJ CTQ3LCA0NywgMTUKLS0Jc3R4dmIxNnggICAgICAgIDQ3LCAwLCA5CSMgc3RvcmUgb3V0cHV0Ci0t CXh4bHhvcgkJNDgsIDQ4LCAxNgotLQlzdHh2YjE2eCAgICAgICAgNDgsIDE1LCA5CSMgc3RvcmUg b3V0cHV0Ci0tCi0tCXZjaXBoZXJsYXN0ICAgICAxNywgMTcsIDIzCi0tCXZjaXBoZXJsYXN0ICAg ICAxOCwgMTgsIDIzCi0tCi0tCXh4bHhvcgkJNDksIDQ5LCAxNwotLQlzdHh2YjE2eCAgICAgICAg NDksIDE2LCA5CSMgc3RvcmUgb3V0cHV0Ci0tCXh4bHhvcgkJNTAsIDUwLCAxOAotLQlzdHh2YjE2 eCAgICAgICAgNTAsIDE3LCA5CSMgc3RvcmUgb3V0cHV0Ci0tCi0tCXZjaXBoZXJsYXN0ICAgICAx OSwgMTksIDIzCi0tCXZjaXBoZXJsYXN0ICAgICAyMCwgMjAsIDIzCi0tCi0tCXh4bHhvcgkJNTEs IDUxLCAxOQotLQlzdHh2YjE2eCAgICAgICAgNTEsIDE4LCA5CSMgc3RvcmUgb3V0cHV0Ci0tCXh4 bHhvcgkJNTIsIDUyLCAyMAotLQlzdHh2YjE2eCAgICAgICAgNTIsIDE5LCA5CSMgc3RvcmUgb3V0 cHV0Ci0tCi0tCXZjaXBoZXJsYXN0ICAgICAyMSwgMjEsIDIzCi0tCXZjaXBoZXJsYXN0ICAgICAy MiwgMjIsIDIzCi0tCi0tCXh4bHhvcgkJNTMsIDUzLCAyMQotLQlzdHh2YjE2eCAgICAgICAgNTMs IDIwLCA5CSMgc3RvcmUgb3V0cHV0Ci0tCXh4bHhvcgkJNTQsIDU0LCAyMgotLQlzdHh2YjE2eCAg ICAgICAgNTQsIDIxLCA5CSMgc3RvcmUgb3V0cHV0Ci0tCi0tCWFkZGkJCTksIDksIDEyOAotLQot LQl4eGxvcgkJMTUrMzIsIDE1LCAxNQotLQl4eGxvcgkJMTYrMzIsIDE2LCAxNgotLQl4eGxvcgkJ MTcrMzIsIDE3LCAxNwotLQl4eGxvcgkJMTgrMzIsIDE4LCAxOAotLQl4eGxvcgkJMTkrMzIsIDE5 LCAxOQotLQl4eGxvcgkJMjArMzIsIDIwLCAyMAotLQl4eGxvcgkJMjErMzIsIDIxLCAyMQotLQl4 eGxvcgkJMjIrMzIsIDIyLCAyMgotLQotLQkjIGdoYXNoIGhlcmUKLS0JcHBjX2Flc19nY21fZ2hh c2gyXzR4Ci0tCi0tCXh4bG9yCTI3KzMyLCAwLCAwCi0tCXZhZGR1ZG0gMzAsIDMwLCAzMQkJIyBJ ViArIGNvdW50ZXIKLS0Jdm1yCTI5LCAzMAotLQl2eG9yICAgIDE1LCAzMCwgMjcJCSMgYWRkIHJv dW5kIGtleQotLQl2YWRkdWRtIDMwLCAzMCwgMzEKLS0JdnhvciAgICAxNiwgMzAsIDI3Ci0tCXZh ZGR1ZG0gMzAsIDMwLCAzMQotLQl2eG9yICAgIDE3LCAzMCwgMjcKLS0JdmFkZHVkbSAzMCwgMzAs IDMxCi0tCXZ4b3IgICAgMTgsIDMwLCAyNwotLQl2YWRkdWRtIDMwLCAzMCwgMzEKLS0JdnhvciAg ICAxOSwgMzAsIDI3Ci0tCXZhZGR1ZG0gMzAsIDMwLCAzMQotLQl2eG9yICAgIDIwLCAzMCwgMjcK LS0JdmFkZHVkbSAzMCwgMzAsIDMxCi0tCXZ4b3IgICAgMjEsIDMwLCAyNwotLQl2YWRkdWRtIDMw LCAzMCwgMzEKLS0JdnhvciAgICAyMiwgMzAsIDI3Ci0tCWFkZGkgICAgMTIsIDEyLCAtMTI4Ci0t CWFkZGkgICAgMTEsIDExLCAxMjgKLS0KLS0JYmRueglMb29wXzh4X2Jsb2NrX2RlYwotLQotLQl2 bXIJMzAsIDI5Ci0tCi0tTG9vcF9sYXN0X2Jsb2NrX2RlYzoKLS0JY21wZGkgICAxMiwgMAotLQli ZXEgICAgIGFlc19nY21fb3V0Ci0tCi0tCSMgbG9vcCBsYXN0IGZldyBibG9ja3MKLS0JbGkgICAg ICAxMCwgMTYKLS0JZGl2ZHUgICAxMCwgMTIsIDEwCi0tCi0tCW10Y3RyICAgMTAKLS0KLS0JbHd6 CTEwLDI0MCg2KQotLQotLQljbXBkaSAgIDEyLCAxNgotLQlibHQgICAgIEZpbmFsX2Jsb2NrX2Rl YwotLQotLU5leHRfcmVtX2Jsb2NrX2RlYzoKLS0JbHh2YjE2eCAxNSwgMCwgMTQJCSMgbG9hZCBi bG9jawotLQotLQlMb29wX2Flc19taWRkbGVfMXgKLS0KLS0JeHhsb3IJMjMrMzIsIDEwLCAxMAot LQotLQljbXBkaQkxMCwgMTAKLS0JYmVxCURvX25leHRfMXhfZGVjCi0tCi0tCSMgMTkyIGJpdHMK LS0JeHhsb3IJMjQrMzIsIDExLCAxMQotLQotLQl2Y2lwaGVyCTE1LCAxNSwgMjMKLS0JdmNpcGhl cgkxNSwgMTUsIDI0Ci0tCi0tCXh4bG9yCTIzKzMyLCAxMiwgMTIKLS0KLS0JY21wZGkJMTAsIDEy Ci0tCWJlcQlEb19uZXh0XzF4X2RlYwotLQotLQkjIDI1NiBiaXRzCi0tCXh4bG9yCTI0KzMyLCAx MywgMTMKLS0KLS0JdmNpcGhlcgkxNSwgMTUsIDIzCi0tCXZjaXBoZXIJMTUsIDE1LCAyNAotKwkj IFByZS1jb21wdXRlIGZpcnN0IDggQUVTIHN0YXRlIGFuZCBsZWF2ZSAxLzMvNSBtb3JlIHJvdW5k cwotKwkjIGZvciB0aGUgbG9vcC4KLSsJIwotKwlhZGRpCTIyLCAyMywgLTkJCSMgcHJvY2VzcyA4 IGtleXMKLSsJbXRjdHIJMjIJCQkjIEFFUyBrZXkgbG9vcAotKwlhZGRpCTEwLCA2LCAxNDQKLSAK LS0JeHhsb3IJMjMrMzIsIDE0LCAxNAotKwlMT09QXzhBRVNfU1RBVEUJCQkjIHByb2Nlc3MgOCBB RVMga2V5cwotIAotLQljbXBkaQkxMCwgMTQKLS0JYmVxCURvX25leHRfMXhfZGVjCi0rX19QcmVM b29wX2Flc19zdGF0ZV9kZWM6Ci0rCWx4dgkzMisxLCAwKDEwKQkJIyByb3VuZCBrZXkKLSsJQUVT X0NJUEhFUl84eCAxCi0rCWFkZGkJMTAsIDEwLCAxNgotKwliZG56CV9fUHJlTG9vcF9hZXNfc3Rh dGVfZGVjCi0rCWx4dgkzMisxLCAwKDEwKQkJIyBsYXN0IHJvdW5kIGtleSAodjEpCi0gCi0tRG9f bmV4dF8xeF9kZWM6Ci0tCXZjaXBoZXJsYXN0ICAgICAxNSwgMTUsIDIzCi0rCWNtcGRpCTEyLCAw CQkJIyBPbmx5IG9uZSBsb29wICg4IGJsb2NrKQotKwliZXEJX19GaW5pc2hfZ2hhc2hfZGVjCi0g Ci0tCXh4bHhvciAgNDcsIDQ3LCAxNQotLQlzdHh2YjE2eCAgICAgICAgNDcsIDAsIDkJIyBzdG9y ZSBvdXRwdXQKLS0JYWRkaQkxNCwgMTQsIDE2Ci0tCWFkZGkJOSwgOSwgMTYKLS0KLS0JeHhsb3IJ MjgrMzIsIDE1LCAxNQotLQlwcGNfdXBkYXRlX2hhc2hfMXgKLSsjCi0rIyBMb29wIDh4IGJsb2Nr cyBhbmQgY29tcHV0ZSBnaGFzaAotKyMKLStfX0xvb3BfOHhfYmxvY2tfZGVjOgotKwl2Y2lwaGVy bGFzdCAgICAgMTUsIDE1LCAxCi0rCXZjaXBoZXJsYXN0ICAgICAxNiwgMTYsIDEKLSsJdmNpcGhl cmxhc3QgICAgIDE3LCAxNywgMQotKwl2Y2lwaGVybGFzdCAgICAgMTgsIDE4LCAxCi0rCXZjaXBo ZXJsYXN0ICAgICAxOSwgMTksIDEKLSsJdmNpcGhlcmxhc3QgICAgIDIwLCAyMCwgMQotKwl2Y2lw aGVybGFzdCAgICAgMjEsIDIxLCAxCi0rCXZjaXBoZXJsYXN0ICAgICAyMiwgMjIsIDEKLSsKLSsJ bHh2YjE2eAkzMisyMywgMCwgMTQJIyBsb2FkIGJsb2NrCi0rCWx4dmIxNngJMzIrMjQsIDE1LCAx NAkjIGxvYWQgYmxvY2sKLSsJbHh2YjE2eAkzMisyNSwgMTYsIDE0CSMgbG9hZCBibG9jawotKwls eHZiMTZ4CTMyKzI2LCAxNywgMTQJIyBsb2FkIGJsb2NrCi0rCWx4dmIxNngJMzIrMjcsIDE4LCAx NAkjIGxvYWQgYmxvY2sKLSsJbHh2YjE2eAkzMisyOCwgMTksIDE0CSMgbG9hZCBibG9jawotKwls eHZiMTZ4CTMyKzI5LCAyMCwgMTQJIyBsb2FkIGJsb2NrCi0rCWx4dmIxNngJMzIrMzAsIDIxLCAx NAkjIGxvYWQgYmxvY2sKLSsJYWRkaQkxNCwgMTQsIDEyOAotKwotKwl2eG9yCTE1LCAxNSwgMjMK LSsJdnhvcgkxNiwgMTYsIDI0Ci0rCXZ4b3IJMTcsIDE3LCAyNQotKwl2eG9yCTE4LCAxOCwgMjYK LSsJdnhvcgkxOSwgMTksIDI3Ci0rCXZ4b3IJMjAsIDIwLCAyOAotKwl2eG9yCTIxLCAyMSwgMjkK LSsJdnhvcgkyMiwgMjIsIDMwCi0rCi0rCXN0eHZiMTZ4IDQ3LCAwLCA5CSMgc3RvcmUgb3V0cHV0 Ci0rCXN0eHZiMTZ4IDQ4LCAxNSwgOQkjIHN0b3JlIG91dHB1dAotKwlzdHh2YjE2eCA0OSwgMTYs IDkJIyBzdG9yZSBvdXRwdXQKLSsJc3R4dmIxNnggNTAsIDE3LCA5CSMgc3RvcmUgb3V0cHV0Ci0r CXN0eHZiMTZ4IDUxLCAxOCwgOQkjIHN0b3JlIG91dHB1dAotKwlzdHh2YjE2eCA1MiwgMTksIDkJ IyBzdG9yZSBvdXRwdXQKLSsJc3R4dmIxNnggNTMsIDIwLCA5CSMgc3RvcmUgb3V0cHV0Ci0rCXN0 eHZiMTZ4IDU0LCAyMSwgOQkjIHN0b3JlIG91dHB1dAotKwotKwlhZGRpCTksIDksIDEyOAotKwot Kwl2bXIJMTUsIDIzCi0rCXZtcgkxNiwgMjQKLSsJdm1yCTE3LCAyNQotKwl2bXIJMTgsIDI2Ci0r CXZtcgkxOSwgMjcKLSsJdm1yCTIwLCAyOAotKwl2bXIJMjEsIDI5Ci0rCXZtcgkyMiwgMzAKLSAK LS0JYWRkaSAgICAxMiwgMTIsIC0xNgotLQlhZGRpICAgIDExLCAxMSwgMTYKLS0JeHhsb3IJMTkr MzIsIDAsIDAKLS0JdmFkZHVkbSAzMCwgMzAsIDMxCQkjIElWICsgY291bnRlcgotLQl2eG9yCTE1 LCAzMCwgMTkJCSMgYWRkIHJvdW5kIGtleQotKwkjIGdoYXNoIGhlcmUKLSsJdnhvcgkxNSwgMTUs IDAKLSsJUFBDX0dGTVVMMTI4Xzh4Ci0rCi0rCXh4bG9yCTMyKzE1LCA5LCA5CQkjIGxhc3Qgc3Rh dGUKLSsJdmFkZHV3bSAxNSwgMTUsIDMxCQkjIHN0YXRlICsgY291bnRlcgotKwl2YWRkdXdtIDE2 LCAxNSwgMzEKLSsJdmFkZHV3bSAxNywgMTYsIDMxCi0rCXZhZGR1d20gMTgsIDE3LCAzMQotKwl2 YWRkdXdtIDE5LCAxOCwgMzEKLSsJdmFkZHV3bSAyMCwgMTksIDMxCi0rCXZhZGR1d20gMjEsIDIw LCAzMQotKwl2YWRkdXdtIDIyLCAyMSwgMzEKLSsJeHhsb3IJOSwgMzIrMjIsIDMyKzIyCQkjIHNh dmUgbGFzdCBzdGF0ZQotKwotKwl4eGxvcgkzMisyNywgMCwgMAkJIyByZXN0b3JlIHJvdW5ka2V5 IDAKLSsgICAgICAgIHZ4b3IgICAgMTUsIDE1LCAyNwkJIyBJViArIHJvdW5kIGtleSAtIGFkZCBy b3VuZCBrZXkgMAotKwl2eG9yCTE2LCAxNiwgMjcKLSsJdnhvcgkxNywgMTcsIDI3Ci0rCXZ4b3IJ MTgsIDE4LCAyNwotKwl2eG9yCTE5LCAxOSwgMjcKLSsJdnhvcgkyMCwgMjAsIDI3Ci0rCXZ4b3IJ MjEsIDIxLCAyNwotKwl2eG9yCTIyLCAyMiwgMjcKLSsKLSsJYWRkaSAgICA1LCA1LCAtMTI4Ci0r CWFkZGkgICAgMTEsIDExLCAxMjgKLSAKLS0JYmRueglOZXh0X3JlbV9ibG9ja19kZWMKLSsJbHh2 CTMyKzIzLCAxNig2KQkJIyByb3VuZCBrZXkgMQotKwlseHYJMzIrMjQsIDMyKDYpCQkjIHJvdW5k IGtleSAyCi0rCWx4dgkzMisyNSwgNDgoNikJCSMgcm91bmQga2V5IDMKLSsJbHh2CTMyKzI2LCA2 NCg2KQkJIyByb3VuZCBrZXkgNAotKwlseHYJMzIrMjcsIDgwKDYpCQkjIHJvdW5kIGtleSA1Ci0r CWx4dgkzMisyOCwgOTYoNikJCSMgcm91bmQga2V5IDYKLSsJbHh2CTMyKzI5LCAxMTIoNikJCSMg cm91bmQga2V5IDcKLSsJbHh2CTMyKzEsIDEyOCg2KQkJIyByb3VuZCBrZXkgOAotKwotKwlMT09Q XzhBRVNfU1RBVEUJCQkjIHByb2Nlc3MgOCBBRVMga2V5cwotKwltdGN0cgkyMgkJCSMgQUVTIGtl eSBsb29wCi0rCWFkZGkJMTAsIDYsIDE0NAotK19fTGFzdExvb3BfYWVzX3N0YXRlX2RlYzoKLSsJ bHh2CTMyKzEsIDAoMTApCQkjIHJvdW5kIGtleQotKwlBRVNfQ0lQSEVSXzh4IDEKLSsJYWRkaQkx MCwgMTAsIDE2Ci0rCWJkbnoJX19MYXN0TG9vcF9hZXNfc3RhdGVfZGVjCi0rCWx4dgkzMisxLCAw KDEwKQkJIyBsYXN0IHJvdW5kIGtleSAodjEpCi0gCi0rCWFkZGkJMTIsIDEyLCAtMQotIAljbXBk aQkxMiwgMAotLQliZXEJYWVzX2djbV9vdXQKLS0KLS1GaW5hbF9ibG9ja19kZWM6Ci0tCUxvb3Bf YWVzX21pZGRsZV8xeAotLQotLQl4eGxvcgkyMyszMiwgMTAsIDEwCi0tCi0tCWNtcGRpCTEwLCAx MAotLQliZXEJRG9fZmluYWxfMXhfZGVjCi0tCi0tCSMgMTkyIGJpdHMKLS0JeHhsb3IJMjQrMzIs IDExLCAxMQotLQotLQl2Y2lwaGVyCTE1LCAxNSwgMjMKLS0JdmNpcGhlcgkxNSwgMTUsIDI0Ci0t Ci0tCXh4bG9yCTIzKzMyLCAxMiwgMTIKLS0KLS0JY21wZGkJMTAsIDEyCi0tCWJlcQlEb19maW5h bF8xeF9kZWMKLS0KLS0JIyAyNTYgYml0cwotLQl4eGxvcgkyNCszMiwgMTMsIDEzCi0tCi0tCXZj aXBoZXIJMTUsIDE1LCAyMwotLQl2Y2lwaGVyCTE1LCAxNSwgMjQKLS0KLS0JeHhsb3IJMjMrMzIs IDE0LCAxNAotLQotLQljbXBkaQkxMCwgMTQKLS0JYmVxCURvX2ZpbmFsXzF4X2RlYwotLQotLURv X2ZpbmFsXzF4X2RlYzoKLS0JdmNpcGhlcmxhc3QgICAgIDE1LCAxNSwgMjMKLS0KLS0JbHh2YjE2 eAkxNSwgMCwgMTQJCSMgbG9hZCBibG9jawotLQl4eGx4b3IJNDcsIDQ3LCAxNQotKwlibmUJX19M b29wXzh4X2Jsb2NrX2RlYwotKwotK19fRmluaXNoX2doYXNoX2RlYzoKLSsJdmNpcGhlcmxhc3Qg ICAgIDE1LCAxNSwgMQotKwl2Y2lwaGVybGFzdCAgICAgMTYsIDE2LCAxCi0rCXZjaXBoZXJsYXN0 ICAgICAxNywgMTcsIDEKLSsJdmNpcGhlcmxhc3QgICAgIDE4LCAxOCwgMQotKwl2Y2lwaGVybGFz dCAgICAgMTksIDE5LCAxCi0rCXZjaXBoZXJsYXN0ICAgICAyMCwgMjAsIDEKLSsJdmNpcGhlcmxh c3QgICAgIDIxLCAyMSwgMQotKwl2Y2lwaGVybGFzdCAgICAgMjIsIDIyLCAxCi0rCi0rCWx4dmIx NngJMzIrMjMsIDAsIDE0CSMgbG9hZCBibG9jawotKwlseHZiMTZ4CTMyKzI0LCAxNSwgMTQJIyBs b2FkIGJsb2NrCi0rCWx4dmIxNngJMzIrMjUsIDE2LCAxNAkjIGxvYWQgYmxvY2sKLSsJbHh2YjE2 eAkzMisyNiwgMTcsIDE0CSMgbG9hZCBibG9jawotKwlseHZiMTZ4CTMyKzI3LCAxOCwgMTQJIyBs b2FkIGJsb2NrCi0rCWx4dmIxNngJMzIrMjgsIDE5LCAxNAkjIGxvYWQgYmxvY2sKLSsJbHh2YjE2 eAkzMisyOSwgMjAsIDE0CSMgbG9hZCBibG9jawotKwlseHZiMTZ4CTMyKzMwLCAyMSwgMTQJIyBs b2FkIGJsb2NrCi0rCWFkZGkJMTQsIDE0LCAxMjgKLSsKLSsJdnhvcgkxNSwgMTUsIDIzCi0rCXZ4 b3IJMTYsIDE2LCAyNAotKwl2eG9yCTE3LCAxNywgMjUKLSsJdnhvcgkxOCwgMTgsIDI2Ci0rCXZ4 b3IJMTksIDE5LCAyNwotKwl2eG9yCTIwLCAyMCwgMjgKLSsJdnhvcgkyMSwgMjEsIDI5Ci0rCXZ4 b3IJMjIsIDIyLCAzMAotKwotKwlzdHh2YjE2eCA0NywgMCwgOQkjIHN0b3JlIG91dHB1dAotKwlz dHh2YjE2eCA0OCwgMTUsIDkJIyBzdG9yZSBvdXRwdXQKLSsJc3R4dmIxNnggNDksIDE2LCA5CSMg c3RvcmUgb3V0cHV0Ci0rCXN0eHZiMTZ4IDUwLCAxNywgOQkjIHN0b3JlIG91dHB1dAotKwlzdHh2 YjE2eCA1MSwgMTgsIDkJIyBzdG9yZSBvdXRwdXQKLSsJc3R4dmIxNnggNTIsIDE5LCA5CSMgc3Rv cmUgb3V0cHV0Ci0rCXN0eHZiMTZ4IDUzLCAyMCwgOQkjIHN0b3JlIG91dHB1dAotKwlzdHh2YjE2 eCA1NCwgMjEsIDkJIyBzdG9yZSBvdXRwdXQKLSsJYWRkaQk5LCA5LCAxMjgKLSsKLSsJdnhvcgkx NSwgMjMsIDAKLSsJdm1yCTE2LCAyNAotKwl2bXIJMTcsIDI1Ci0rCXZtcgkxOCwgMjYKLSsJdm1y CTE5LCAyNwotKwl2bXIJMjAsIDI4Ci0rCXZtcgkyMSwgMjkKLSsJdm1yCTIyLCAzMAotKwotKwkj dnhvcgkxNSwgMTUsIDAKLSsJUFBDX0dGTVVMMTI4Xzh4Ci0rCi0rCXh4bG9yCTMwKzMyLCA5LCA5 CQkjIGxhc3QgY3RyCi0rCXZhZGR1d20JMzAsIDMwLCAzMQkJIyBpbmNyZWFzZSBjdHIKLSsJc3R4 dmIxNnggMzIrMCwgMCwgOAkJIyB1cGRhdGUgWGkKLSsKLSsJYWRkaSAgICA1LCA1LCAtMTI4Ci0r CWFkZGkgICAgMTEsIDExLCAxMjgKLSAKLS0JIyBjcmVhdGUgcGFydGlhbCBibG9jayBtYXNrCi0t CWxpCTE1LCAxNgotLQlzdWIJMTUsIDE1LCAxMgkJIyBpbmRleCB0byB0aGUgbWFzawotKwkjCi0r CSMgRG9uZSA4eCBibG9ja3MKLSsJIwotIAotLQl2c3BsdGlzYgkxNiwgLTEJCSMgZmlyc3QgMTYg Ynl0ZXMgLSAweGZmZmYuLi5mZgotLQl2c3BsdGlzYgkxNywgMAkJIyBzZWNvbmQgMTYgYnl0ZXMg LSAweDAwMDAuLi4wMAotLQlsaQkxMCwgMTkyCi0tCXN0dngJMTYsIDEwLCAxCi0tCWFkZGkJMTAs IDEwLCAxNgotLQlzdHZ4CTE3LCAxMCwgMQotKwljbXBkaSAgIDUsIDAKLSsJYmVxICAgICBhZXNf Z2NtX291dAotIAotLQlhZGRpCTEwLCAxLCAxOTIKLS0JbHh2YjE2eAkxNiwgMTUsIDEwCQkjIGxv YWQgYmxvY2sgbWFzawotLQl4eGxhbmQJNDcsIDQ3LCAxNgotK19fUHJvY2Vzc19tb3JlX2RlYzoK LSsJbGkJMjQsIDAJCQkjIGRlY3J5cHQKLSsJYmwJYWVzX2djbV9jcnlwdF8xeAotKwljbXBkaSAg IDUsIDAKLSsJYmVxICAgICBhZXNfZ2NtX291dAotIAotLQl4eGxvcgkyOCszMiwgMTUsIDE1Ci0t CXBwY191cGRhdGVfaGFzaF8xeAotKwlibAlfX1Byb2Nlc3NfcGFydGlhbAotKwliCWFlc19nY21f b3V0Ci0rLnNpemUgICBwcGNfYWVzX2djbV9kZWNyeXB0LC4tcHBjX2Flc19nY21fZGVjcnlwdAot IAotLQkjICogc2hvdWxkIHN0b3JlIG9ubHkgdGhlIHJlbWFpbmluZyBieXRlcy4KLS0JYmwJV3Jp dGVfcGFydGlhbF9ibG9jawotK2Flc19nY21fb3V0OgotKy5sb2NhbGVudHJ5CWFlc19nY21fb3V0 LDAKLSAKLS0JYiBhZXNfZ2NtX291dAotKwltcgkzLCAxMQkJCSMgcmV0dXJuIGNvdW50Ci0gCi0r CVJFU1RPUkVfUkVHUwotKwlibHIKLSsuc2l6ZQlhZXNfZ2NtX291dCwuLWFlc19nY21fb3V0Ci0g Ci0rLnJvZGF0YQotKy5hbGlnbiA0Ci0rIyBmb3IgdmVjdG9yIHBlcm11dGUgYW5kIHhvcgotK3Bl cm14OgotKy5sb25nIDB4NGM1ZDZlN2YsIDB4MDgxOTJhM2IsIDB4YzRkNWU2ZjcsIDB4ODA5MWEy YjMKLSBfX18KLSAKLS1mb3JlYWNoIChzcGxpdCgiXG4iLCRjb2RlKSkgewotLQlzL1xgKFteXGBd KilcYC9ldmFsICQxL2dlbzsKLS0KLS0JaWYgKCRmbGF2b3VyID1+IC9sZSQvbykgewkjIGxpdHRs ZS1lbmRpYW4KLS0JICAgIHMvbGVcPy8vbwkJb3IKLS0JICAgIHMvYmVcPy8jYmUjL287Ci0tCX0g ZWxzZSB7Ci0tCSAgICBzL2xlXD8vI2xlIy9vCW9yCi0tCSAgICBzL2JlXD8vL287Ci0tCX0KLS0J cHJpbnQgJF8sIlxuIjsKLS19Ci0tCi0tY2xvc2UgU1RET1VUIG9yIGRpZSAiZXJyb3IgY2xvc2lu ZyBTVERPVVQ6ICQhIjsgIyBlbmZvcmNlIGZsdXNoCi0rcHJpbnQgJGNvZGU7Ci0rY2xvc2UgU1RE T1VUIG9yIGRpZSAiZXJyb3IgY2xvc2luZyBTVERPVVQ6ICQhIjsKCmRpZmYgLS1naXQgYS8wMDcz LUNWRS0yMDI2LTI2NzMucGF0Y2ggYi8wMDczLUNWRS0yMDI2LTI2NzMucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1ZGVmZTAuLjAwMDAwMDAKLS0tIGEvMDA3My1DVkUtMjAy Ni0yNjczLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIzICswLDAgQEAKLUZyb20gOWM1ZjA0 ZDFhOWNjMDY3YmI4YTZhMTE4MWQzZDQyYmZkMGE2Mjc2MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IFZpa3RvciBEdWtob3ZuaSA8b3BlbnNzbC11c2Vyc0BkdWtob3ZuaS5vcmc+Ci1E YXRlOiBUdWUsIDE3IEZlYiAyMDI2IDE4OjM3OjA2ICsxMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZp eCBncm91cCB0dXBsZSBoYW5kbGluZyBpbiBERUZBVUxUIGV4cGFuc2lvbgotCi1BbHNvIGZpbmUt dHVuZSBkb2NzIGFuZCBhZGQgdGVzdHMuCi0KLUZpeGVzOiAjMzAxMDkKLUZpeGVzOiBDVkUtMjAy Ni0yNjczCi0KLVJldmlld2VkLWJ5OiBNYXR0IENhc3dlbGwgPG1hdHRAb3BlbnNzbC5mb3VuZGF0 aW9uPgotUmV2aWV3ZWQtYnk6IFBhdWwgRGFsZSA8cGF1bC5kYWxlQG9yYWNsZS5jb20+Ci1SZXZp ZXdlZC1ieTogVG9tYXMgTXJheiA8dG9tYXNAb3BlbnNzbC5vcmc+Ci1NZXJnZURhdGU6IEZyaSBN YXIgMTMgMTI6NDQ6MDYgMjAyNgotKE1lcmdlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVu c3NsL29wZW5zc2wvcHVsbC8zMDExMCkKLS0tLQotIGRvYy9tYW4zL1NTTF9DVFhfc2V0MV9jdXJ2 ZXMucG9kIHwgMTIzICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KLSBzc2wvdDFfbGli LmMgICAgICAgICAgICAgICAgICAgICB8ICA5NSArKysrKysrKysrKysrKy0tLS0tLS0tLS0KLSB0 ZXN0L3RsczEzZ3JvdXBzZWxlY3Rpb25fdGVzdC5jICB8ICAzNiArKysrKysrLS0KLSAzIGZpbGVz IGNoYW5nZWQsIDE3MiBpbnNlcnRpb25zKCspLCA4MiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdp dCBhL2RvYy9tYW4zL1NTTF9DVFhfc2V0MV9jdXJ2ZXMucG9kIGIvZG9jL21hbjMvU1NMX0NUWF9z ZXQxX2N1cnZlcy5wb2QKLWluZGV4IDAxN2VlZmQzMTcuLjQ3MmQzODU4MzEgMTAwNzU1Ci0tLS0g YS9kb2MvbWFuMy9TU0xfQ1RYX3NldDFfY3VydmVzLnBvZAotKysrIGIvZG9jL21hbjMvU1NMX0NU WF9zZXQxX2N1cnZlcy5wb2QKLUBAIC00MCwxMyArNDAsMTMgQEAgU1NMX2dldDFfY3VydmVzLCBT U0xfZ2V0X3NoYXJlZF9jdXJ2ZSwgU1NMX0NUWF9nZXQwX2ltcGxlbWVudGVkX2dyb3VwcwotIAot IEZvciBhbGwgb2YgdGhlIGZ1bmN0aW9ucyBiZWxvdyB0aGF0IHNldCB0aGUgc3VwcG9ydGVkIGdy b3VwcyB0aGVyZSBtdXN0IGJlIGF0Ci0gbGVhc3Qgb25lIGdyb3VwIGluIHRoZSBsaXN0LiBBIG51 bWJlciBvZiB0aGVzZSBmdW5jdGlvbnMgaWRlbnRpZnkgZ3JvdXBzIHZpYSBhCi0tdW5pcXVlIGlu dGVnZXIgTklEIHZhbHVlLiBIb3dldmVyLCBzdXBwb3J0IGZvciBzb21lIGdyb3VwcyBtYXkgYmUg YWRkZWQgYnkKLS1leHRlcm5hbCBwcm92aWRlcnMuIEluIHRoaXMgY2FzZSB0aGVyZSB3aWxsIGJl IG5vIE5JRCBhc3NpZ25lZCBmb3IgdGhlIGdyb3VwLgotK3VuaXF1ZSBpbnRlZ2VyIEI8TklEPiB2 YWx1ZS4gSG93ZXZlciwgc3VwcG9ydCBmb3Igc29tZSBncm91cHMgbWF5IGJlIGFkZGVkIGJ5Ci0r ZXh0ZXJuYWwgcHJvdmlkZXJzLiBJbiB0aGlzIGNhc2UgdGhlcmUgd2lsbCBiZSBubyBCPE5JRD4g YXNzaWduZWQgZm9yIHRoZSBncm91cC4KLSBXaGVuIHNldHRpbmcgc3VjaCBncm91cHMgYXBwbGlj YXRpb25zIHNob3VsZCB1c2UgdGhlICJsaXN0IiBmb3JtIG9mIHRoZXNlCi0gZnVuY3Rpb25zIChp LmUuIFNTTF9DVFhfc2V0MV9ncm91cHNfbGlzdCgpIGFuZCBTU0xfc2V0MV9ncm91cHNfbGlzdCgp KS4KLSAKLSBTU0xfQ1RYX3NldDFfZ3JvdXBzKCkgc2V0cyB0aGUgc3VwcG9ydGVkIGdyb3VwcyBm b3IgQjxjdHg+IHRvIEI8Z2xpc3RsZW4+Ci0tZ3JvdXBzIGluIHRoZSBhcnJheSBCPGdsaXN0Pi4g VGhlIGFycmF5IGNvbnNpc3Qgb2YgYWxsIE5JRHMgb2Ygc3VwcG9ydGVkIGdyb3Vwcy4KLStncm91 cHMgaW4gdGhlIGFycmF5IEI8Z2xpc3Q+LiBUaGUgYXJyYXkgY29uc2lzdCBvZiBhbGwgQjxOSURz PiBvZiBzdXBwb3J0ZWQgZ3JvdXBzLgotIFRoZSBzdXBwb3J0ZWQgZ3JvdXBzIGZvciBCPFRMU3Yx LjM+IGluY2x1ZGU6Ci0gQjxOSURfWDlfNjJfcHJpbWUyNTZ2MT4sCi0gQjxOSURfc2VjcDM4NHIx PiwKLUBAIC03MywyMCArNzMsMjcgQEAgQjxTU0xfT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNF PiBpcyBzZXQsIHRoZSBvcmRlciBvZiB0aGUgZWxlbWVudHMgaW4gdGhlCi0gYXJyYXkgZGV0ZXJt aW5lcyB0aGUgc2VsZWN0ZWQgZ3JvdXAuIE90aGVyd2lzZSwgdGhlIG9yZGVyIGlzIGlnbm9yZWQg YW5kIHRoZQotIGNsaWVudCdzIG9yZGVyIGRldGVybWluZXMgdGhlIHNlbGVjdGlvbi4KLSAKLS1G b3IgYSBUTFMgMS4zIHNlcnZlciwgdGhlIGdyb3VwcyBkZXRlcm1pbmUgdGhlIHNlbGVjdGVkIGdy b3VwLCBidXQKLS1zZWxlY3Rpb24gaXMgbW9yZSBjb21wbGV4LiBBIFRMUyAxLjMgY2xpZW50IHNl bmRzIGJvdGggYSBncm91cCBsaXN0IGFzIHdlbGwgYXMgYQotLXByZWRpY3RlZCBzdWJzZXQgb2Yg Z3JvdXBzLiBDaG9vc2luZyBhIGdyb3VwIG91dHNpZGUgdGhlIHByZWRpY3RlZCBzdWJzZXQgaW5j dXJzCi0tYW4gZXh0cmEgcm91bmR0cmlwLiBIb3dldmVyLCBpbiBzb21lIHNpdHVhdGlvbnMsIHRo ZSBtb3N0IHByZWZlcnJlZCBncm91cCBtYXkKLS1ub3QgYmUgcHJlZGljdGVkLiBPcGVuU1NMIGNv bnNpZGVycyBhbGwgc3VwcG9ydGVkIGdyb3VwcyBpbiBJPGNsaXN0PiB0byBiZSBjb21wYXJhYmxl Ci0taW4gc2VjdXJpdHkgYW5kIHByaW9yaXRpemVzIGF2b2lkaW5nIHJvdW5kdHJpcHMgYWJvdmUg ZWl0aGVyIGNsaWVudCBvciBzZXJ2ZXIKLS1wcmVmZXJlbmNlIG9yZGVyLiBJZiBhbiBhcHBsaWNh dGlvbiB1c2VzIGFuIGV4dGVybmFsIHByb3ZpZGVyIHRvIGV4dGVuZCBPcGVuU1NMCi0td2l0aCwg ZS5nLiwgYSBwb3N0LXF1YW50dW0gYWxnb3JpdGhtLCB0aGlzIGJlaGF2aW9yIG1heSBhbGxvdyBh IG5ldHdvcmsgYXR0YWNrZXIKLS10byBkb3duZ3JhZGUgY29ubmVjdGlvbnMgdG8gYSB3ZWFrZXIg YWxnb3JpdGhtLiBJdCBpcyB0aGVyZWZvcmUgcmVjb21tZW5kZWQKLS10byB1c2UgU1NMX0NUWF9z ZXQxX2dyb3Vwc19saXN0KCkgd2l0aCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGdyb3VwIHR1cGxl cy4KLStGb3IgYSBUTFMgMS4zIHNlcnZlciwgdGhlIGdyb3VwcyBkZXRlcm1pbmUgdGhlIHNlbGVj dGVkIGdyb3VwLCBidXQgc2VsZWN0aW9uIGlzCi0rbW9yZSBjb21wbGV4LgotK0EgVExTIDEuMyBj bGllbnQgc2VuZHMgYm90aCBhIGdyb3VwIGxpc3QgYW5kIHByZWRpY3RlZCBrZXlzaGFyZXMgZm9y IGEgc3Vic2V0Ci0rb2YgZ3JvdXBzLgotK0Egc2VydmVyIGNob29zaW5nIGEgZ3JvdXAgb3V0c2lk ZSB0aGUgY2xpZW50J3MgcHJlZGljdGVkIHN1YnNldCBpbmN1cnMgYW4gZXh0cmEKLStyb3VuZHRy aXAuCi0rSG93ZXZlciwgaW4gc29tZSBzaXR1YXRpb25zLCB0aGUgbW9zdCBwcmVmZXJyZWQgZ3Jv dXAgbWF5IG5vdCBiZSBwcmVkaWN0ZWQuCi0rCi0rV2hlbiBncm91cHMgYXJlIHNwZWNpZmllZCB2 aWEgU1NMX0NUWF9zZXQxX2dyb3VwcygpIGFzIGEgbGlzdCBvZiBCPE5JRD4KLSt2YWx1ZXMsIE9w ZW5TU0wgY29uc2lkZXJzIGFsbCBzdXBwb3J0ZWQgZ3JvdXBzIGluIEk8Y2xpc3Q+IHRvIGJlIGNv bXBhcmFibGUgaW4KLStzZWN1cml0eSBhbmQgcHJpb3JpdGlzZXMgYXZvaWRpbmcgcm91bmR0cmlw cyBhYm92ZSBlaXRoZXIgY2xpZW50IG9yIHNlcnZlcgotK3ByZWZlcmVuY2Ugb3JkZXIuCi0rSWYg YW4gYXBwbGljYXRpb24gdXNlcyBhbiBleHRlcm5hbCBwcm92aWRlciB0byBleHRlbmQgT3BlblNT TCB3aXRoLCBlLmcuLCBhCi0rcG9zdC1xdWFudHVtIGFsZ29yaXRobSwgdGhpcyBiZWhhdmlvciBt YXkgYWxsb3cgYSBuZXR3b3JrIGF0dGFja2VyIHRvIGRvd25ncmFkZQotK2Nvbm5lY3Rpb25zIHRv IGEgd2Vha2VyIGFsZ29yaXRobS4KLStJdCBpcyB0aGVyZWZvcmUgcmVjb21tZW5kZWQgdG8gdXNl IFNTTF9DVFhfc2V0MV9ncm91cHNfbGlzdCgpIGluc3RlYWQsIG1ha2luZwotK2l0IHBvc3NpYmxl IHRvIHNwZWNpZnkgZ3JvdXAgdHVwbGVzIGFzIGRlc2NyaWJlZCBiZWxvdy4KLSAKLSBTU0xfQ1RY X3NldDFfZ3JvdXBzX2xpc3QoKSBzZXRzIHRoZSBzdXBwb3J0ZWQgZ3JvdXBzIGZvciBCPGN0eD4g dG8KLSBzdHJpbmcgSTxsaXN0Pi4gSW4gY29udHJhc3QgdG8gU1NMX0NUWF9zZXQxX2dyb3Vwcygp LCB0aGUgbmFtZXMgb2YgdGhlCi0tZ3JvdXBzLCByYXRoZXIgdGhhbiB0aGVpciBOSURzLCBhcmUg dXNlZC4KLStncm91cHMsIHJhdGhlciB0aGFuIHRoZWlyIEI8TklEcz4sIGFyZSB1c2VkLgotIAot IFRoZSBjb21tYW5kcyBiZWxvdyBsaXN0IHRoZSBhdmFpbGFibGUgZ3JvdXBzIGZvciBUTFMgMS4y IGFuZCBUTFMgMS4zLAotIHJlc3BlY3RpdmVseToKLUBAIC0xMDIsMzAgKzEwOSw3MiBAQCBUaGUg cHJlZmVycmVkIGdyb3VwIG5hbWVzIGFyZSB0aG9zZSBkZWZpbmVkIGJ5Ci0gTDxJQU5BfGh0dHBz Oi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL3Rscy1wYXJhbWV0ZXJzL3Rscy1wYXJhbWV0ZXJz LnhodG1sI3Rscy1wYXJhbWV0ZXJzLTg+LgotIAotIFRoZSBJPGxpc3Q+IGNhbiBiZSB1c2VkIHRv IGRlZmluZSBzZXZlcmFsIGdyb3VwIHR1cGxlcyBvZiBjb21wYXJhYmxlIHNlY3VyaXR5Ci0tbGV2 ZWxzLCBhbmQgY2FuIHNwZWNpZnkgd2hpY2gga2V5IHNoYXJlcyBzaG91bGQgYmUgc2VudCBieSBh IGNsaWVudC4KLS1UaGUgc3BlY2lmaWVkIGxpc3QgZWxlbWVudHMgY2FuIG9wdGlvbmFsbHkgYmUg aWdub3JlZCwgaWYgbm90IGltcGxlbWVudGVkCi0rbGV2ZWxzLCBhbmQgY2FuIHNwZWNpZnkgd2hp Y2ggcHJlZGljdGVkIGtleSBzaGFyZXMgc2hvdWxkIGJlIHNlbnQgYnkgYSBjbGllbnQuCi0rR3Jv dXAgdHVwbGVzIGFyZSB1c2VkIGJ5IE9wZW5TU0wgVExTIHNlcnZlcnMgdG8gZGVjaWRlIHdoZXRo ZXIgdG8gcmVxdWVzdCBhCi0rc3Ryb25nZXIga2V5c2hhcmUgdGhhbiB0aG9zZSBwcmVkaWN0ZWQg Ynkgc2VuZGluZyBhIEhlbGxvIFJldHJ5IFJlcXVlc3QKLSsoQjxIUlI+KSBldmVuIGlmIHNvbWUg b2YgdGhlIHByZWRpY3RlZCBncm91cHMgYXJlIHN1cHBvcnRlZC4KLStPcGVuU1NMIGNsaWVudHMg aWdub3JlIHR1cGxlIGJvdW5kYXJpZXMsIGFuZCBwYXkgYXR0ZW5pb24gb25seSB0byB0aGUgb3Zl cmFsbAotK29yZGVyIG9mIEk8bGlzdD4gZWxlbWVudHMgYW5kIHdoaWNoIGdyb3VwcyBhcmUgc2Vs ZWN0ZWQgYXMgcHJlZGljdGVkIGtleXNoYXJlcwotK2FzIGRlc2NyaWJlZCBiZWxvdy4KLSsKLStU aGUgc3BlY2lmaWVkIGxpc3QgZWxlbWVudHMgY2FuIG9wdGlvbmFsbHkgYmUgaWdub3JlZCBpZiBu b3QgaW1wbGVtZW50ZWQKLSAobGlzdGluZyB1bmtub3duIGdyb3VwcyBvdGhlcndpc2UgcmVzdWx0 cyBpbiBlcnJvcikuCi0tSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBzcGVjaWZ5IHRoZSBidWlsdC1p biBkZWZhdWx0IHNldCBvZiBncm91cHMsIGFuZCB0byBleHBsaWNpdGx5Ci0tcmVtb3ZlIGEgZ3Jv dXAgZnJvbSB0aGF0IGxpc3QuCi0tCi0tSW4gaXRzIHNpbXBsZXN0IGZvcm0sIHRoZSBzdHJpbmcg STxsaXN0PiBpcyBqdXN0IGEgY29sb24gc2VwYXJhdGVkIGxpc3QKLS1vZiBncm91cCBuYW1lcywg Zm9yIGV4YW1wbGUgIlAtNTIxOlAtMzg0OlAtMjU2OlgyNTUxOTpmZmRoZTIwNDgiLiBUaGUgZmly c3QKLS1ncm91cCBsaXN0ZWQgd2lsbCBhbHNvIGJlIHVzZWQgZm9yIHRoZSBCPGtleV9zaGFyZT4g c2VudCBieSBhIGNsaWVudCBpbiBhCi0tVExTdjEuMyBCPENsaWVudEhlbGxvPi4gRm9yIHNlcnZl cnMgbm90ZSB0aGUgZGlzY3Vzc2lvbiBhYm92ZS4gVGhlIGxpc3Qgc2hvdWxkCi0tYmUgaW4gb3Jk ZXIgb2YgcHJlZmVyZW5jZSB3aXRoIHRoZSBtb3N0IHByZWZlcnJlZCBncm91cCBmaXJzdC4KLS0K LS1Hcm91cCB0dXBsZXMgb2YgY29tcGFyYWJsZSBzZWN1cml0eSBhcmUgZGVmaW5lZCBieSBzZXBh cmF0aW5nIHRoZW0gZnJvbSBlYWNoCi0tb3RoZXIgYnkgYSB0dXBsZSBzZXBhcmF0b3IgQzwvPi4g S2V5c2hhcmVzIHRvIGJlIHNlbnQgYnkgYSBjbGllbnQgYXJlIHNwZWNpZmllZAotLWJ5IHByZXBl bmRpbmcgYSBDPCo+IHRvIHRoZSBncm91cCBuYW1lLCB3aGlsZSBhbnkgQzwqPiB3aWxsIGJlIGln bm9yZWQgYnkgYQotLXNlcnZlci4gVGhlIGZvbGxvd2luZyBzdHJpbmcgSTxsaXN0PiBmb3IgZXhh bXBsZSBkZWZpbmVzIHRocmVlIHR1cGxlcyB3aGVuCi0tdXNlZCBvbiB0aGUgc2VydmVyLXNpZGUs IGFuZCB0cmlnZ2VycyB0aGUgZ2VuZXJhdGlvbiBvZiB0aHJlZSBrZXkgc2hhcmVzCi0td2hlbiB1 c2VkIG9uIHRoZSBjbGllbnQtc2lkZTogUC01MjE6KlAtMjU2LypQLTM4NC8qWDI1NTE5OlAtMzg0 OmZmZGhlMjA0OC4KLS0KLS1JZiBhIGdyb3VwIG5hbWUgaXMgcHJlY2VkZWQgd2l0aCB0aGUgQzw/ PiBjaGFyYWN0ZXIsIGl0IHdpbGwgYmUgaWdub3JlZCBpZiBhbgotLWltcGxlbWVudGF0aW9uIGlz IG1pc3NpbmcuIElmIGEgZ3JvdXAgbmFtZSBpcyBwcmVjZWRlZCB3aXRoIHRoZSBDPC0+IGNoYXJh Y3RlciwgaXQKLS13aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCBvZiBncm91cHMgaWYgcHJl c2VudCAoaW5jbHVkaW5nIG5vdCBzZW5kaW5nIGEKLS1rZXkgc2hhcmUgZm9yIHRoaXMgZ3JvdXAp LCBpZ25vcmVkIG90aGVyd2lzZS4gVGhlIHBzZXVkbyBncm91cCBuYW1lCi0tQzxERUZBVUxUPiBj YW4gYmUgdXNlZCB0byBzZWxlY3QgdGhlIE9wZW5TU0wgYnVpbHQtaW4gZGVmYXVsdCBsaXN0IG9m IGdyb3Vwcy4KLStJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHNwZWNpZnkgdGhlIGJ1aWx0LWluIGRl ZmF1bHQgc2V0IG9mIGdyb3VwcywgYW5kIHRvCi0rZXhwbGljaXRseSByZW1vdmUgYSBncm91cCBm cm9tIHRoYXQgbGlzdC4KLSsKLStJbiBpdHMgc2ltcGxlc3QgbGVnYWN5IGZvcm0sIHRoZSBzdHJp bmcgSTxsaXN0PiBpcyBqdXN0IGEgY29sb24gc2VwYXJhdGVkIGxpc3QKLStvZiBncm91cCBuYW1l cywgZm9yIGV4YW1wbGUgIlAtNTIxOlAtMzg0OlAtMjU2OlgyNTUxOTpmZmRoZTIwNDgiLgotK1Ro ZSBmaXJzdCBncm91cCBsaXN0ZWQgd2lsbCBpbiB0aGlzIGNhc2UgYmUgdXNlZCBhcyB0aGUgc29s ZSBwcmVkaWN0ZWQKLStCPGtleV9zaGFyZT4gc2VudCBieSBhIGNsaWVudCBpbiBhIFRMU3YxLjMg QjxDbGllbnRIZWxsbz4uCi0rVGhlIGxpc3Qgc2hvdWxkIGJlIGluIG9yZGVyIG9mIHByZWZlcmVu Y2Ugd2l0aCB0aGUgbW9zdCBwcmVmZXJyZWQgZ3JvdXAgZmlyc3QuCi0rCi0rQSBtb3JlIGV4cHJl c3NpdmUgc3ludGF4IHN1cHBvcnRzIGRlZmluaXRpb24gb2YgZ3JvdXAgdHVwbGVzIG9mIGNvbXBh cmFibGUKLStzZWN1cml0eSBieSBzZXBhcmF0aW5nIHRoZW0gZnJvbSBlYWNoIG90aGVyIHdpdGgg QzwvPiBjaGFyYWN0ZXJzLgotKwotK1RoZSBwcmVkaWN0ZWQga2V5c2hhcmVzIHRvIGJlIHNlbnQg YnkgY2xpZW50cyBjYW4gYmUgZXhwbGljaXRseSBzcGVjaWZpZWQgYnkKLSthZGRpbmcgYSBDPCo+ IHByZWZpeCB0byB0aGUgYXNzb2NpYXRlZCBncm91cCBuYW1lLgotK1RoZXNlIEM8Kj4gcHJlZml4 ZXMgYXJlIGlnbm9yZWQgYnkgc2VydmVycy4KLSsKLStJZiBhIGdyb3VwIG5hbWUgaXMgcHJlZml4 ZWQgd2l0aCB0aGUgQzw/PiBjaGFyYWN0ZXIsIGl0IHdpbGwgYmUgaWdub3JlZCBpZiBhbgotK2lt cGxlbWVudGF0aW9uIGlzIG1pc3NpbmcuCi0rT3RoZXJ3aXNlLCBsaXN0aW5nIGFuIHVua25vd24g Z3JvdXAgbmFtZSB3aWxsIGNhdXNlIGEgZmFpbHVyZSB0byBwYXJzZSB0aGUKLStJPGxpc3Q+Lgot K05vdGUgdGhhdCB3aGV0aGVyIGEgZ3JvdXAgaXMga25vd24gb3Igbm90IG1heSBkZXBlbmQgb24g dGhlIE9wZW5TU0wgdmVyc2lvbiwKLStob3cgT3BlblNTTCB3YXMgY29tcGlsZWQgYW5kL29yIHdo aWNoIHByb3ZpZGVycyBhcmUgbG9hZGVkLgotK01ha2Ugc3VyZSB5b3UgaGF2ZSB0aGUgY29ycmVj dCBzcGVsbGluZyBvZiB0aGUgZ3JvdXAgbmFtZSBhbmQgd2hlbiBpbiBkb3VidAotK3ByZWZpeCBp dCB3aXRoIGEgQzw/PiB0byBoYW5kbGUgY29uZmlndXJhdGlvbnMgaW4gd2hpY2ggaXQgbWlnaHQg bmV2ZXJ0aGVsZXNzCi0rYmUgdW5rbm93bi4KLSsKLStJZiBhIGdyb3VwIG5hbWUgaXMgcHJlZml4 ZWQgd2l0aCB0aGUgQzwtPiBjaGFyYWN0ZXIsIGl0IHdpbGwgYmUgcmVtb3ZlZCBmcm9tCi0rdGhl IGxpc3Qgb2YgZ3JvdXBzIHNwZWNpZmllZCB1cCB0byB0aGF0IHBvaW50LgotK0l0IGNhbiBiZSBh ZGRlZCBhZ2FpbiBpZiBzcGVjaWZpZWQgbGF0ZXIuCi0rUmVtb3ZhbCBvZiBncm91cHMgdGhhdCBo YXZlIG5vdCBiZWVuIGluY2x1ZGVkIGVhcmxpZXIgaW4gdGhlIGxpc3QgaXMgc2lsZW50bHkKLStp Z25vcmVkLgotKwotK1RoZSBwc2V1ZG8gZ3JvdXAgbmFtZSBDPERFRkFVTFQ+IGNhbiBiZSB1c2Vk IHRvIHNlbGVjdCB0aGUgT3BlblNTTCBidWlsdC1pbgotK2RlZmF1bHQgbGlzdCBvZiBncm91cHMu Ci0rUHJlcGVuZGluZyBvbmUgb3IgbW9yZSBncm91cHMgdG8gQzxERUZBVUxUPiB1c2luZyBvbmx5 IEM8Oj4gc2VwYXJhdG9ycyBwcmVwZW5kcyB0aG9zZQotK2dyb3VwcyB0byB0aGUgYnVpbHQtaW4g ZGVmYXVsdCBsaXN0J3MgZmlyc3QgdHVwbGUuCi0rQWRkaXRpb25hbCB0dXBsZXMgY2FuIGJlIHBy ZXBlbmRlZCBieSB1c2Ugb2YgdGhlIEM8Lz4gc2VwYXJhdG9yLgotK0FwcGVuZGluZyBhIHNldCBv ZiBncm91cHMgdG8gQzxERUZBVUxUPiB1c2luZyBvbmx5IEM8Oj4gc2VwYXJhdG9ycyBhcHBlbmRz IHRob3NlCi0rZ3JvdXBzIHRvIHRoZSBidWlsdC1pbiBkZWZhdWx0IGxpc3QncyBsYXN0IHR1cGxl LgotK0FkZGl0aW9uYWwgdHVwbGVzIGNhbiBiZSBhcHBlbmRlZCBieSB1c2Ugb2YgdGhlIEM8Lz4g c2VwYXJhdG9yLgotKwotK1RoZSBCPERFRkFVTFQ+IGxpc3Qgc2VsZWN0cyBCPFgyNTUxOU1MS0VN NzY4PiBhcyBvbmUgb2YgdGhlIHByZWRpY3RlZCBrZXlzaGFyZXMuCi0rSW4gcmFyZSBjYXNlcyB0 aGlzIGNhbiBsZWFkIHRvIGZhaWx1cmVzIG9yIHRpbWVvdXRzIGJlY2F1c2UgdGhlIHJlc3VsdGlu ZwotK2xhcmdlciBUTFMgQ2xpZW50IEhlbGxvIG1lc3NhZ2UgbWF5IG5vIGxvbmdlciBmaXQgaW4g YSBzaW5nbGUgVENQIHNlZ21lbnQgYW5kCi0rZmlyZXdhbGwgc29mdHdhcmUgbWF5IGVycm9uZW91 c2x5IGRpc3J1cHQgdGhlIFRMUyBoYW5kc2hha2UuCi0rSWYgdGhpcyBpcyBhbiBpc3N1ZSBvciBj b25jZXJuLCBwcmVwZW5kaW5nIEM8P1gyNTUxOU1MS0VNNzY4Oj4gd2l0aG91dCBhIEM8Kj4KLStw cmVmaXggbGVhZHMgdG8gaXRzIG9jY3VycmVuY2UgaW4gdGhlIGRlZmF1bHQgbGlzdCB0byBiZSBp Z25vcmVkIGFzIGEgZHVwbGljYXRlLAotK2FuZCBhbG9uZyB3aXRoIHRoYXQgYWxzbyB0aGUga2V5 c2hhcmUgcHJlZGljdGlvbi4KLStUaGUgZ3JvdXAgd2lsbCB0aGVuIG9ubHkgYmUgc2VsZWN0ZWQg Ynkgc2VydmVycyB0aGF0IHNwZWNpZmljYWxseSBleHBlY3QgaXQsCi0rYWZ0ZXIgYSBIZWxsbyBS ZXRyeSBSZXF1ZXN0IChIUlIpLgotK1NlcnZlcnMgdGhhdCBzcGVjaWZpY2FsbHkgcHJlZmVyIEI8 WDI1NTE5TUxLRU03Njg+LCBhcmUgbXVjaCBsZXNzIGxpa2VseSB0byBiZQotK2ZvdW5kIGJlaGlu ZCBwcm9ibGVtYXRpYyBmaXJld2FsbHMuCi0rCi0rVGhlIGZvbGxvd2luZyBzdHJpbmcgSTxsaXN0 PiBmb3IgZXhhbXBsZSBkZWZpbmVzIHRocmVlIHR1cGxlcyB3aGVuIHVzZWQgb24gdGhlCi0rc2Vy dmVyLXNpZGUsIGFuZCB0cmlnZ2VycyB0aGUgZ2VuZXJhdGlvbiBvZiB0aHJlZSBrZXkgc2hhcmVz IHdoZW4gdXNlZCBvbiB0aGUKLStjbGllbnQtc2lkZTogUC01MjE6KlAtMjU2LypQLTM4NC8qWDI1 NTE5OlAtMzg0OmZmZGhlMjA0OC4KLSAKLSBGb3IgYSBUTFMgMS4zIGNsaWVudCwgYWxsIHRoZSBn cm91cHMgaW4gdGhlIHN0cmluZyBJPGxpc3Q+IGFyZSBhZGRlZCB0byB0aGUKLSBzdXBwb3J0ZWQg Z3JvdXBzIGV4dGVuc2lvbiBvZiBhIEM8Q2xpZW50SGVsbG8+LCBpbiB0aGUgb3JkZXIgaW4gd2hp Y2ggdGhleSBhcmUgbGlzdGVkLAotZGlmZiAtLWdpdCBhL3NzbC90MV9saWIuYyBiL3NzbC90MV9s aWIuYwotaW5kZXggMmY3MWY5NTQzOC4uOGE4YzliYTlkMSAxMDA2NDQKLS0tLSBhL3NzbC90MV9s aWIuYwotKysrIGIvc3NsL3QxX2xpYi5jCi1AQCAtMjExLDcgKzIxMSw3IEBAIHN0YXRpYyBjb25z dCB1aW50MTZfdCBzdWl0ZWJfY3VydmVzW10gPSB7Ci0gCi0gLyogR3JvdXAgbGlzdCBzdHJpbmcg b2YgdGhlIGJ1aWx0LWluIHBzZXVkbyBncm91cCBERUZBVUxUX1NVSVRFX0IgKi8KLSAjZGVmaW5l IFNVSVRFX0JfR1JPVVBfTkFNRSAiREVGQVVMVF9TVUlURV9CIgotLSNkZWZpbmUgU1VJVEVfQl9H Uk9VUF9MSVNUICJzZWNwMjU2cjE6c2VjcDM4NHIxIiwKLSsjZGVmaW5lIFNVSVRFX0JfR1JPVVBf TElTVCAiP3NlY3AyNTZyMTo/c2VjcDM4NHIxIiwKLSAKLSBzdHJ1Y3QgcHJvdmlkZXJfY3R4X2Rh dGFfc3QgewotICAgICBTU0xfQ1RYICpjdHg7Ci1AQCAtMTIzNyw4ICsxMjM3LDggQEAgdHlwZWRl ZiBzdHJ1Y3QgewotICAgICBzaXplX3Qga3NpZGNudDsgLyogTnVtYmVyIG9mIGtleSBzaGFyZXMg Ki8KLSAgICAgdWludDE2X3QgKmtzaWRfYXJyOyAvKiBUaGUgSURzIG9mIHRoZSBrZXkgc2hhcmUg Z3JvdXBzIChmbGF0IGxpc3QpICovCi0gICAgIC8qIFZhcmlhYmxlIHRvIGtlZXAgc3RhdGUgYmV0 d2VlbiBleGVjdXRpb24gb2YgY2FsbGJhY2sgb3IgaGVscGVyIGZ1bmN0aW9ucyAqLwotLSAgICBz aXplX3QgdHVwbGVfbW9kZTsgLyogS2VlcHMgdHJhY2sgd2hldGhlciB0dXBsZV9jYiBjYWxsZWQg ZnJvbSAndGhlIHRvcCcgb3IgZnJvbSBnaWRfY2IgKi8KLS0gICAgaW50IGlnbm9yZV91bmtub3du X2RlZmF1bHQ7IC8qIEZsYWcgc3VjaCB0aGF0IHVua25vd24gZ3JvdXBzIGZvciBERUZBVUxUW19Y WVpdIGFyZSBpZ25vcmVkICovCi0rICAgIGludCBpbm5lcjsgLyogQXJlIHdlIGV4cGFuZGluZyBh IERFRkFVTFQgbGlzdCAqLwotKyAgICBpbnQgZmlyc3Q7IC8qIEZpcnN0IHR1cGxlIG9mIHBvc3Np Ymx5IG5lc3RlZCBleHBhbnNpb24/ICovCi0gfSBnaWRfY2Jfc3Q7Ci0gCi0gLyogRm9yd2FyZCBk ZWNsYXJhdGlvbiBvZiB0dXBsZSBjYWxsYmFjayBmdW5jdGlvbiAqLwotQEAgLTEzMTMsMTYgKzEz MTMsMTYgQEAgc3RhdGljIGludCBnaWRfY2IoY29uc3QgY2hhciAqZWxlbSwgaW50IGxlbiwgdm9p ZCAqYXJnKQotICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBPU1NMX05FTEVNKGRlZmF1bHRf Z3JvdXBfc3RyaW5ncyk7IGkrKykgewotICAgICAgICAgICAgICAgICBpZiAoKHNpemVfdClsZW4g PT0gKHN0cmxlbihkZWZhdWx0X2dyb3VwX3N0cmluZ3NbaV0ubGlzdF9uYW1lKSkKLSAgICAgICAg ICAgICAgICAgICAgICYmIE9QRU5TU0xfc3RybmNhc2VjbXAoZGVmYXVsdF9ncm91cF9zdHJpbmdz W2ldLmxpc3RfbmFtZSwgZWxlbSwgbGVuKSA9PSAwKSB7Ci0rICAgICAgICAgICAgICAgICAgICBp bnQgc2F2ZWRfZmlyc3Q7Ci0rCi0gICAgICAgICAgICAgICAgICAgICAvKgotICAgICAgICAgICAg ICAgICAgICAgICogV2UncmUgYXNrZWQgdG8gaW5zZXJ0IGFuIGVudGlyZSBsaXN0IG9mIGdyb3Vw cyBmcm9tIGEKLSAgICAgICAgICAgICAgICAgICAgICAqIERFRkFVTFRbX1hZWl0gJ3BzZXVkbyBn cm91cCcgd2hpY2ggd2UgZG8gYnkKLSAgICAgICAgICAgICAgICAgICAgICAqIHJlY3Vyc2l2ZWx5 IGNhbGxpbmcgdGhpcyBmdW5jdGlvbiAoaW5kaXJlY3RseSB2aWEKLSAgICAgICAgICAgICAgICAg ICAgICAqIENPTkZfcGFyc2VfbGlzdCBhbmQgdHVwbGVfY2IpOyBlc3NlbnRpYWxseSwgd2UgdHJl YXQgYSBERUZBVUxUCi0gICAgICAgICAgICAgICAgICAgICAgKiBncm91cCBzdHJpbmcgbGlrZSBh IHR1cGxlIHdoaWNoIGlzIGFwcGVuZGVkIHRvIHRoZSBjdXJyZW50IHR1cGxlCi0tICAgICAgICAg ICAgICAgICAgICAgKiByYXRoZXIgdGhlbiBzdGFydGluZyBhIG5ldyB0dXBsZS4gVmFyaWFibGUg dHVwbGVfbW9kZSBpcyB0aGUgZmxhZyB3aGljaAotLSAgICAgICAgICAgICAgICAgICAgICogY29u dHJvbHMgYXBwZW5kIHR1cGxlIHZzIHN0YXJ0IG5ldyB0dXBsZS4KLSsgICAgICAgICAgICAgICAg ICAgICAqIHJhdGhlciB0aGVuIHN0YXJ0aW5nIGEgbmV3IHR1cGxlLgotICAgICAgICAgICAgICAg ICAgICAgICovCi0tCi0gICAgICAgICAgICAgICAgICAgICBpZiAoaWdub3JlX3Vua25vd24gfHwg cmVtb3ZlX2dyb3VwKQotICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsgLyogcmVt b3ZhbCBvciBpZ25vcmUgbm90IGFsbG93ZWQgaGVyZSAtPiBzeW50YXggZXJyb3IgKi8KLSAKLUBA IC0xMzQ3LDE1ICsxMzQ3LDE3IEBAIHN0YXRpYyBpbnQgZ2lkX2NiKGNvbnN0IGNoYXIgKmVsZW0s IGludCBsZW4sIHZvaWQgKmFyZykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4o ZGVmYXVsdF9ncm91cF9zdHJpbmdzW2ldLmdyb3VwX3N0cmluZykpOwotICAgICAgICAgICAgICAg ICAgICAgcmVzdG9yZWRfZGVmYXVsdF9ncm91cF9zdHJpbmdbc3RybGVuKGRlZmF1bHRfZ3JvdXBf c3RyaW5nc1tpXS5ncm91cF9zdHJpbmcpICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJlc3RvcmVkX3ByZWZpeF9pbmRleF0gPSAnXDAnOwotLSAg ICAgICAgICAgICAgICAgICAgLyogV2UgZXhlY3V0ZSB0aGUgcmVjdXJzaXZlIGNhbGwgKi8KLS0g ICAgICAgICAgICAgICAgICAgIGdhcmctPmlnbm9yZV91bmtub3duX2RlZmF1bHQgPSAxOyAvKiBX ZSBpZ25vcmUgdW5rbm93biBncm91cHMgZm9yIERFRkFVTFRfWFlaICovCi0tICAgICAgICAgICAg ICAgICAgICAvKiB3ZSBlbmZvcmNlIGdyb3VwIG1vZGUgKD0gYXBwZW5kIHR1cGxlKSBmb3IgREVG QVVMVF9YWVogZ3JvdXAgbGlzdHMgKi8KLS0gICAgICAgICAgICAgICAgICAgIGdhcmctPnR1cGxl X21vZGUgPSAwOwotLSAgICAgICAgICAgICAgICAgICAgLyogV2UgdXNlIHRoZSB0dXBsZV9jYiBj YWxsYmFjayB0byBwcm9jZXNzIHRoZSBwc2V1ZG8gZ3JvdXAgdHVwbGUgKi8KLSsgICAgICAgICAg ICAgICAgICAgIC8qCi0rICAgICAgICAgICAgICAgICAgICAgKiBBcHBlbmQgZmlyc3QgdHVwbGUg b2YgcmVzdWx0IHRvIGN1cnJlbnQgdHVwbGUsIGFuZCBkb24ndAotKyAgICAgICAgICAgICAgICAg ICAgICogdGVybWluYXRlIHRoZSBsYXN0IHR1cGxlIHVudGlsIHdlIHJldHVybiB0byBhIHRvcC1s ZXZlbAotKyAgICAgICAgICAgICAgICAgICAgICogdHVwbGVfY2IuCi0rICAgICAgICAgICAgICAg ICAgICAgKi8KLSsgICAgICAgICAgICAgICAgICAgIHNhdmVkX2ZpcnN0ID0gZ2FyZy0+Zmlyc3Q7 Ci0rICAgICAgICAgICAgICAgICAgICBnYXJnLT5pbm5lciA9IGdhcmctPmZpcnN0ID0gMTsKLSAg ICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IENPTkZfcGFyc2VfbGlzdChyZXN0b3JlZF9kZWZh dWx0X2dyb3VwX3N0cmluZywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBUVVBMRV9ERUxJTUlURVJfQ0hBUkFDVEVSLCAxLCB0dXBsZV9jYiwgZ2FyZyk7Ci0t ICAgICAgICAgICAgICAgICAgICBnYXJnLT50dXBsZV9tb2RlID0gMTsgLyogbmV4dCBjYWxsIHRv IHR1cGxlX2NiIHdpbGwgYWdhaW4gc3RhcnQgbmV3IHR1cGxlICovCi0tICAgICAgICAgICAgICAg ICAgICBnYXJnLT5pZ25vcmVfdW5rbm93bl9kZWZhdWx0ID0gMDsgLyogcmVzZXQgdG8gb3JpZ2lu YWwgdmFsdWUgKi8KLSsgICAgICAgICAgICAgICAgICAgICAgICBUVVBMRV9ERUxJTUlURVJfQ0hB UkFDVEVSLCAxLCB0dXBsZV9jYiwgZ2FyZyk7Ci0rICAgICAgICAgICAgICAgICAgICBnYXJnLT5p bm5lciA9IDA7Ci0rICAgICAgICAgICAgICAgICAgICBnYXJnLT5maXJzdCA9IHNhdmVkX2ZpcnN0 OwotICAgICAgICAgICAgICAgICAgICAgLyogV2UgZG9uJ3QgbmVlZCB0aGUgXDAtdGVybWluYXRl ZCBzdHJpbmcgYW55bW9yZSAqLwotICAgICAgICAgICAgICAgICAgICAgT1BFTlNTTF9mcmVlKHJl c3RvcmVkX2RlZmF1bHRfZ3JvdXBfc3RyaW5nKTsKLSAKLUBAIC0xMzc1LDkgKzEzNzcsNiBAQCBz dGF0aWMgaW50IGdpZF9jYihjb25zdCBjaGFyICplbGVtLCBpbnQgbGVuLCB2b2lkICphcmcpCi0g ICAgIGlmIChsZW4gPT0gMCkKLSAgICAgICAgIHJldHVybiAtMTsgLyogU2VlbXMgd2UgaGF2ZSBw cmVmeGVzIHdpdGhvdXQgYSBncm91cCBuYW1lIC0+IHN5bnRheCBlcnJvciAqLwotIAotLSAgICBp ZiAoZ2FyZy0+aWdub3JlX3Vua25vd25fZGVmYXVsdCA9PSAxKSAvKiBBbHdheXMgaWdub3JlIHVu a25vd24gZ3JvdXBzIGZvciBERUZBVUxUW19YWVpdICovCi0tICAgICAgICBpZ25vcmVfdW5rbm93 biA9IDE7Ci0tCi0gICAgIC8qIE1lbW9yeSBtYW5hZ2VtZW50IGluIGNhc2UgbW9yZSBncm91cHMg YXJlIHByZXNlbnQgY29tcGFyZWQgdG8gaW5pdGlhbCBhbGxvY2F0aW9uICovCi0gICAgIGlmIChn YXJnLT5naWRjbnQgPT0gZ2FyZy0+Z2lkbWF4KSB7Ci0gICAgICAgICB1aW50MTZfdCAqdG1wID0K LUBAIC0xNTEzLDcgKzE1MTIsNyBAQCBzdGF0aWMgaW50IGdpZF9jYihjb25zdCBjaGFyICplbGVt LCBpbnQgbGVuLCB2b2lkICphcmcpCi0gICAgICAgICAvKiBhbmQgdXBkYXRlIHRoZSBib29rIGtl ZXBpbmcgZm9yIHRoZSBudW1iZXIgb2YgZ3JvdXBzIGluIGN1cnJlbnQgdHVwbGUgKi8KLSAgICAg ICAgIGdhcmctPnR1cGxjbnRfYXJyW2dhcmctPnRwbGNudF0rKzsKLSAKLS0gICAgICAgIC8qIFdl IG1lbW9yaXplIGlmIG5lZWRlZCB0aGF0IHdlIHdhbnQgdG8gYWRkIGEga2V5IHNoYXJlIGZvciB0 aGUgY3VycmVudCBncm91cCAqLwotKyAgICAgICAgLyogV2Ugd2FudCB0byBhZGQgYSBrZXkgc2hh cmUgZm9yIHRoZSBjdXJyZW50IGdyb3VwICovCi0gICAgICAgICBpZiAoYWRkX2tleXNoYXJlKQot ICAgICAgICAgICAgIGdhcmctPmtzaWRfYXJyW2dhcmctPmtzaWRjbnQrK10gPSBnaWQ7Ci0gICAg IH0KLUBAIC0xNTIyLDYgKzE1MjEsMzkgQEAgZG9uZToKLSAgICAgcmV0dXJuIHJldHZhbDsKLSB9 Ci0gCi0rc3RhdGljIGludCBncm93X3R1cGxlcyhnaWRfY2Jfc3QgKmdhcmcpCi0rewotKyAgICBz dGF0aWMgc2l6ZV90IG1heF90cGxjbnQgPSAofihzaXplX3QpMCkgLyBzaXplb2Yoc2l6ZV90KTsK LSsKLSsgICAgLyogVGhpcyB1c2VzIE9QRU5TU0xfcmVhbGxvY19hcnJheSgpIGluIG5ld2VyIHJl bGVhc2VzICovCi0rICAgIGlmIChnYXJnLT50cGxjbnQgPT0gZ2FyZy0+dHBsbWF4KSB7Ci0rICAg ICAgICBzaXplX3QgbmV3Y250ID0gZ2FyZy0+dHBsbWF4ICsgR1JPVVBMSVNUX0lOQ1JFTUVOVDsK LSsgICAgICAgIHNpemVfdCBuZXdzeiA9IG5ld2NudCAqIHNpemVvZihzaXplX3QpOwotKyAgICAg ICAgc2l6ZV90ICp0bXA7Ci0rCi0rICAgICAgICBpZiAobmV3c3ogPiBtYXhfdHBsY250Ci0rICAg ICAgICAgICAgfHwgKHRtcCA9IE9QRU5TU0xfcmVhbGxvYyhnYXJnLT50dXBsY250X2FyciwgbmV3 c3opKSA9PSBOVUxMKQotKyAgICAgICAgICAgIHJldHVybiAwOwotKwotKyAgICAgICAgZ2FyZy0+ dHBsbWF4ID0gbmV3Y250OwotKyAgICAgICAgZ2FyZy0+dHVwbGNudF9hcnIgPSB0bXA7Ci0rICAg IH0KLSsgICAgcmV0dXJuIDE7Ci0rfQotKwotK3N0YXRpYyBpbnQgY2xvc2VfdHVwbGUoZ2lkX2Ni X3N0ICpnYXJnKQotK3sKLSsgICAgc2l6ZV90IGdpZGNudCA9IGdhcmctPnR1cGxjbnRfYXJyW2dh cmctPnRwbGNudF07Ci0rCi0rICAgIGlmIChnaWRjbnQgPT0gMCkKLSsgICAgICAgIHJldHVybiAx OwotKyAgICBpZiAoIWdyb3dfdHVwbGVzKGdhcmcpKQotKyAgICAgICAgcmV0dXJuIDA7Ci0rCi0r ICAgIGdhcmctPnR1cGxjbnRfYXJyWysrZ2FyZy0+dHBsY250XSA9IDA7Ci0rICAgIHJldHVybiAx OwotK30KLSsKLSAvKiBFeHRyYWN0IGFuZCBwcm9jZXNzIGEgdHVwbGUgb2YgZ3JvdXBzICovCi0g c3RhdGljIGludCB0dXBsZV9jYihjb25zdCBjaGFyICp0dXBsZSwgaW50IGxlbiwgdm9pZCAqYXJn KQotIHsKLUBAIC0xNTM1LDE3ICsxNTY3LDkgQEAgc3RhdGljIGludCB0dXBsZV9jYihjb25zdCBj aGFyICp0dXBsZSwgaW50IGxlbiwgdm9pZCAqYXJnKQotICAgICAgICAgcmV0dXJuIDA7Ci0gICAg IH0KLSAKLS0gICAgLyogTWVtb3J5IG1hbmFnZW1lbnQgZm9yIHR1cGxlcyAqLwotLSAgICBpZiAo Z2FyZy0+dHBsY250ID09IGdhcmctPnRwbG1heCkgewotLSAgICAgICAgc2l6ZV90ICp0bXAgPQot LSAgICAgICAgICAgIE9QRU5TU0xfcmVhbGxvYyhnYXJnLT50dXBsY250X2FyciwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGdhcmctPnRwbG1heCArIEdST1VQTElTVF9JTkNSRU1FTlQp ICogc2l6ZW9mKCpnYXJnLT50dXBsY250X2FycikpOwotLQotLSAgICAgICAgaWYgKHRtcCA9PSBO VUxMKQotLSAgICAgICAgICAgIHJldHVybiAwOwotLSAgICAgICAgZ2FyZy0+dHBsbWF4ICs9IEdS T1VQTElTVF9JTkNSRU1FTlQ7Ci0tICAgICAgICBnYXJnLT50dXBsY250X2FyciA9IHRtcDsKLS0g ICAgfQotKyAgICBpZiAoZ2FyZy0+aW5uZXIgJiYgIWdhcmctPmZpcnN0ICYmICFjbG9zZV90dXBs ZShnYXJnKSkKLSsgICAgICAgIHJldHVybiAwOwotKyAgICBnYXJnLT5maXJzdCA9IDA7Ci0gCi0g ICAgIC8qIENvbnZlcnQgdG8gXDAtdGVybWluYXRlZCBzdHJpbmcgKi8KLSAgICAgcmVzdG9yZWRf dHVwbGVfc3RyaW5nID0gT1BFTlNTTF9tYWxsb2MoKGxlbiArIDEgLyogXDAgKi8pICogc2l6ZW9m KGNoYXIpKTsKLUBAIC0xNTYwLDE1ICsxNTg0LDggQEAgc3RhdGljIGludCB0dXBsZV9jYihjb25z dCBjaGFyICp0dXBsZSwgaW50IGxlbiwgdm9pZCAqYXJnKQotICAgICAvKiBXZSBkb24ndCBuZWVk IHRoZSBcby10ZXJtaW5hdGVkIHN0cmluZyBhbnltb3JlICovCi0gICAgIE9QRU5TU0xfZnJlZShy ZXN0b3JlZF90dXBsZV9zdHJpbmcpOwotIAotLSAgICBpZiAoZ2FyZy0+dHVwbGNudF9hcnJbZ2Fy Zy0+dHBsY250XSA+IDApIHsgLyogU29tZSB2YWxpZCBncm91cHMgYXJlIHByZXNlbnQgaW4gY3Vy cmVudCB0dXBsZS4uLiAqLwotLSAgICAgICAgaWYgKGdhcmctPnR1cGxlX21vZGUpIHsKLS0gICAg ICAgICAgICAvKiBXZSAnY2xvc2UnIHRoZSB0dXBsZSAqLwotLSAgICAgICAgICAgIGdhcmctPnRw bGNudCsrOwotLSAgICAgICAgICAgIGdhcmctPnR1cGxjbnRfYXJyW2dhcmctPnRwbGNudF0gPSAw OyAvKiBOZXh0IHR1cGxlIGlzIGluaXRpYWxpemVkIHRvIGJlIGVtcHR5ICovCi0tICAgICAgICAg ICAgZ2FyZy0+dHVwbGVfbW9kZSA9IDE7IC8qIG5leHQgY2FsbCB3aWxsIHN0YXJ0IGEgdHVwbGUg KHVubGVzcyBvdmVycmlkZGVuIGluIGdpZF9jYikgKi8KLS0gICAgICAgIH0KLS0gICAgfQotLQot KyAgICBpZiAoIWdhcmctPmlubmVyICYmICFjbG9zZV90dXBsZShnYXJnKSkKLSsgICAgICAgIHJl dHVybiAwOwotICAgICByZXR1cm4gcmV0dmFsOwotIH0KLSAKLUBAIC0xNTk5LDggKzE2MTYsNiBA QCBpbnQgdGxzMV9zZXRfZ3JvdXBzX2xpc3QoU1NMX0NUWCAqY3R4LAotICAgICB9Ci0gCi0gICAg IG1lbXNldCgmZ2NiLCAwLCBzaXplb2YoZ2NiKSk7Ci0tICAgIGdjYi50dXBsZV9tb2RlID0gMTsg LyogV2UgcHJlcGFyZSB0byBjb2xsZWN0IHRoZSBmaXJzdCB0dXBsZSAqLwotLSAgICBnY2IuaWdu b3JlX3Vua25vd25fZGVmYXVsdCA9IDA7Ci0gICAgIGdjYi5naWRtYXggPSBHUk9VUExJU1RfSU5D UkVNRU5UOwotICAgICBnY2IudHBsbWF4ID0gR1JPVVBMSVNUX0lOQ1JFTUVOVDsKLSAgICAgZ2Ni LmtzaWRtYXggPSBHUk9VUExJU1RfSU5DUkVNRU5UOwotZGlmZiAtLWdpdCBhL3Rlc3QvdGxzMTNn cm91cHNlbGVjdGlvbl90ZXN0LmMgYi90ZXN0L3RsczEzZ3JvdXBzZWxlY3Rpb25fdGVzdC5jCi1p bmRleCAzNTFiMzEwMmM3Li4zYzI4MTRjNTRlIDEwMDY0NAotLS0tIGEvdGVzdC90bHMxM2dyb3Vw c2VsZWN0aW9uX3Rlc3QuYwotKysrIGIvdGVzdC90bHMxM2dyb3Vwc2VsZWN0aW9uX3Rlc3QuYwot QEAgLTM4LDYgKzM4LDEyIEBAIHR5cGVkZWYgZW51bSBTRVJWRVJfUkVTUE9OU0UgewotICAgICBT SCAgID0gMgotIH0gU0VSVkVSX1JFU1BPTlNFOwotIAotK3N0YXRpYyBjb25zdCBjaGFyICpyZXNw b25zZV9kZXNjW10gPSB7Ci0rICAgICJIUlIiLAotKyAgICAiSU5JVCIsCi0rICAgICJTSCIsCi0r fTsKLSsKLSBzdGF0aWMgY2hhciAqY2VydCA9IE5VTEw7Ci0gc3RhdGljIGNoYXIgKnByaXZrZXkg PSBOVUxMOwotIAotQEAgLTM0OCw3ICszNTQsMjYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0bHMx M2dyb3Vwc2VsZWN0aW9uX3Rlc3Rfc3QgdGxzMTNncm91cHNlbGVjdGlvbl90ZXN0c1tdID0KLSAg ICAgICAgICAgIlgyNTUxOSIsCi0gICAgICAgICAgIFNFUlZFUl9QUkVGRVJFTkNFLAotICAgICAg ICAgICBORUdPVElBVElPTl9GQUlMVVJFLCBJTklUCi0tICAgICAgICB9Ci0rICAgICAgICB9LAot KyAgICAgICAgLyogREVGQVVMVCByZXRhaW5zIHR1cGxlIHN0cnVjdHVyZSAqLwotKyAgICAgICAg eyAiKlgyNTUxOTpzZWNwMjU2cjEiLAotKyAgICAgICAgICAic2VjcDI1NnIxOkRFRkFVTFQiLCAv KiB0ZXN0IDQ0ICovCi0rICAgICAgICAgIFNFUlZFUl9QUkVGRVJFTkNFLAotKyAgICAgICAgICAi c2VjcDI1NnIxIiwgSFJSCi0rICAgICAgICB9LAotKyNpZm5kZWYgT1BFTlNTTF9OT19ESAotKyAg ICAgICAgeyAiKmZmZGhlMjA0ODpzZWNwMjU2cjEiLAotKyAgICAgICAgICAiREVGQVVMVDpmZmRo ZTQwOTYiLCAvKiB0ZXN0IDQ1ICovCi0rICAgICAgICAgIENMSUVOVF9QUkVGRVJFTkNFLAotKyAg ICAgICAgICAic2VjcDI1NnIxIiwgSFJSCi0rICAgICAgICB9LAotKyAgICAgICAgeyAieDI1NTE5 OmZmZGhlMjA0ODoqZmZkaGU0MDk2IiwKLSsgICAgICAgICAgIkRFRkFVTFQ6ZmZkaGU0MDk2Iiwg LyogdGVzdCA0NiAqLwotKyAgICAgICAgICBTRVJWRVJfUFJFRkVSRU5DRSwKLSsgICAgICAgICAg IngyNTUxOSIsCi0rICAgICAgICAgIEhSUgotKyAgICAgICAgfSwKLSsjZW5kaWYKLSAgICAgfTsK LSAKLSBzdGF0aWMgdm9pZCBzZXJ2ZXJfcmVzcG9uc2VfY2hlY2tfY2IoaW50IHdyaXRlX3AsIGlu dCB2ZXJzaW9uLAotQEAgLTQ5MiwxNSArNTE3LDE2IEBAIHN0YXRpYyBpbnQgdGVzdF9ncm91cG5l Z290aWF0aW9uKGNvbnN0IHN0cnVjdCB0bHMxM2dyb3Vwc2VsZWN0aW9uX3Rlc3Rfc3QgKmN1cnJl Ci0gICAgICAgICBncm91cF9uYW1lX2NsaWVudCA9IFNTTF9ncm91cF90b19uYW1lKGNsaWVudHNz bCwgbmVnb3RpYXRlZF9ncm91cF9jbGllbnQpOwotICAgICAgICAgaWYgKCFURVNUX2ludF9lcShu ZWdvdGlhdGVkX2dyb3VwX2NsaWVudCwgbmVnb3RpYXRlZF9ncm91cF9zZXJ2ZXIpKQotICAgICAg ICAgICAgIGdvdG8gZW5kOwotLSAgICAgICAgaWYgKCFURVNUX2ludF9lcSgoaW50KWN1cnJlbnRf dGVzdF92ZWN0b3ItPmV4cGVjdGVkX3NlcnZlcl9yZXNwb25zZSwgKGludClzZXJ2ZXJfcmVzcG9u c2UpKQotKyAgICAgICAgaWYgKCFURVNUX3N0cl9lcShyZXNwb25zZV9kZXNjW2N1cnJlbnRfdGVz dF92ZWN0b3ItPmV4cGVjdGVkX3NlcnZlcl9yZXNwb25zZV0sCi0rICAgICAgICAgICAgICAgIHJl c3BvbnNlX2Rlc2Nbc2VydmVyX3Jlc3BvbnNlXSkpCi0gICAgICAgICAgICAgZ290byBlbmQ7Ci0g ICAgICAgICBpZiAoVEVTVF9zdHJfZXEoZ3JvdXBfbmFtZV9jbGllbnQsIGN1cnJlbnRfdGVzdF92 ZWN0b3ItPmV4cGVjdGVkX2dyb3VwKSkKLSAgICAgICAgICAgICBvayA9IDE7Ci0gICAgIH0gZWxz ZSB7Ci0gICAgICAgICBURVNUX2ZhbHNlX29yX2VuZChjcmVhdGVfc3NsX2Nvbm5lY3Rpb24oc2Vy dmVyc3NsLCBjbGllbnRzc2wsIFNTTF9FUlJPUl9OT05FKSk7Ci0tICAgICAgICBpZiAodGVzdF90 eXBlID09IFRFU1RfTkVHT1RJQVRJT05fRkFJTFVSRSAmJgotLSAgICAgICAgICAgICAgICAhVEVT VF9pbnRfZXEoKGludCljdXJyZW50X3Rlc3RfdmVjdG9yLT5leHBlY3RlZF9zZXJ2ZXJfcmVzcG9u c2UsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KXNlcnZlcl9yZXNwb25zZSkp Ci0rICAgICAgICBpZiAodGVzdF90eXBlID09IFRFU1RfTkVHT1RJQVRJT05fRkFJTFVSRQotKyAg ICAgICAgICAgICYmICFURVNUX3N0cl9lcShyZXNwb25zZV9kZXNjW2N1cnJlbnRfdGVzdF92ZWN0 b3ItPmV4cGVjdGVkX3NlcnZlcl9yZXNwb25zZV0sCi0rICAgICAgICAgICAgICAgIHJlc3BvbnNl X2Rlc2Nbc2VydmVyX3Jlc3BvbnNlXSkpCi0gICAgICAgICAgICAgZ290byBlbmQ7Ci0gICAgICAg ICBvayA9IDE7Ci0gICAgIH0KLS0tIAotMi41My4wCi0KCmRpZmYgLS1naXQgYS8wMDc0LUNWRS0y MDI2LTI4Mzg3LnBhdGNoIGIvMDA3NC1DVkUtMjAyNi0yODM4Ny5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggYmQ3MDgwNC4uMDAwMDAwMAotLS0gYS8wMDc0LUNWRS0yMDI2LTI4 Mzg3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotRnJvbSA0NDQ5NThkZWFm NDUwYWVhODE5MTcxZjk3YWU2OWVhZWRlZGU0MmMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogQWxleGFuZHIgTmVkdmVkaWNreSA8c2FzaGFuQG9wZW5zc2wub3JnPgotRGF0ZTogVHVl LCAzIE1hciAyMDI2IDEzOjIzOjQ2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGRhbmVfbWF0Y2hf Y2VydCgpIHNob3VsZCBYNTA5X2ZyZWUoKSBvbiAtPm1jZXJ0IGluc3RlYWQgb2YKLSBPUEVOU1NM X2ZyZWUoKQotCi1GaXhlczogMTcwYjczNTgyMGFjICJEQU5FIHN1cHBvcnQgZm9yIFg1MDlfdmVy aWZ5X2NlcnQoKSIKLQotUmV2aWV3ZWQtYnk6IEV1Z2VuZSBTeXJvbWlhdG5pa292IDxlc3lyQG9w ZW5zc2wub3JnPgotUmV2aWV3ZWQtYnk6IFRvbWFzIE1yYXogPHRvbWFzQG9wZW5zc2wub3JnPgot UmV2aWV3ZWQtYnk6IFBhdWwgRGFsZSA8cGF1bC5kYWxlQG9yYWNsZS5jb20+Ci1SZXZpZXdlZC1i eTogTmVpbCBIb3JtYW4gPG5ob3JtYW5Ab3BlbnNzbC5vcmc+Ci1NZXJnZURhdGU6IFRodSBNYXIg IDUgMTI6Mzc6MTcgMjAyNgotKE1lcmdlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3Ns L29wZW5zc2wvcHVsbC8zMDI1MCkKLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOGI1Y2Q2 YTY4MmYwZjZlN2I4YmY1NTEzNzEzN2M1NjdkMTg5OWM0YSkKLS0tLQotIGNyeXB0by94NTA5L3g1 MDlfdmZ5LmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jcnlwdG8veDUwOS94NTA5X3ZmeS5jIGIvY3J5cHRvL3g1 MDkveDUwOV92ZnkuYwotaW5kZXggOGYxYjlmNThjYWNkYi4uMDFjZTE0OTgyZDZlMCAxMDA2NDQK LS0tLSBhL2NyeXB0by94NTA5L3g1MDlfdmZ5LmMKLSsrKyBiL2NyeXB0by94NTA5L3g1MDlfdmZ5 LmMKLUBAIC0zMDE2LDcgKzMwMTYsNyBAQCBzdGF0aWMgaW50IGRhbmVfbWF0Y2hfY2VydChYNTA5 X1NUT1JFX0NUWCAqY3R4LCBYNTA5ICpjZXJ0LCBpbnQgZGVwdGgpCi0gICAgICAgICAgICAgICAg ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgfQotIAotLSAgICAgICAgICAgICAgICBPUEVO U1NMX2ZyZWUoZGFuZS0+bWNlcnQpOwotKyAgICAgICAgICAgICAgICBYNTA5X2ZyZWUoZGFuZS0+ bWNlcnQpOwotICAgICAgICAgICAgICAgICBkYW5lLT5tY2VydCA9IGNlcnQ7Ci0gICAgICAgICAg ICAgICAgIGRhbmUtPm1kcHRoID0gZGVwdGg7Ci0gICAgICAgICAgICAgICAgIGRhbmUtPm10bHNh ID0gdDsKCmRpZmYgLS1naXQgYS8wMDc1LUNWRS0yMDI2LTI4Mzg4LnBhdGNoIGIvMDA3NS1DVkUt MjAyNi0yODM4OC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmE5MmE3MC4u MDAwMDAwMAotLS0gYS8wMDc1LUNWRS0yMDI2LTI4Mzg4LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMzQgKzAsMCBAQAotRnJvbSBkM2E5MDFlOGQ5ZjAyMWYzZTY3ZDZjZmJjMTJlNzY4MTI5ODYy NzI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGFuaWVsIEt1YmVjIDxrdWJlY0Bv cGVuc3NsLm9yZz4KLURhdGU6IFR1ZSwgMTcgTWFyIDIwMjYgMTE6MTE6MjIgKzAxMDAKLVN1Ympl Y3Q6IFtQQVRDSF0gRml4IE5VTEwgRGVyZWZlcmVuY2UgV2hlbiBEZWx0YSBDUkwgTGFja3MgQ1JM IE51bWJlcgotIEV4dGVuc2lvbgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAot Ci1GaXhlcyBDVkUtMjAyNi0yODM4OAotCi1Dby1hdXRob3JlZC1ieTogSWdvciBNb3JnZW5zdGVy biA8aWdvci5tb3JnZW5zdGVybkBhaXNsZS5jb20+Ci0KLVJldmlld2VkLWJ5OiBTYcWhYSBOZWR2 xJtkaWNrw70gPHNhc2hhbkBvcGVuc3NsLm9yZz4KLVJldmlld2VkLWJ5OiBUb21hcyBNcmF6IDx0 b21hc0BvcGVuc3NsLmZvdW5kYXRpb24+Ci1NZXJnZURhdGU6IE1vbiBBcHIgIDYgMTk6Mjc6MTYg MjAyNgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZDZhZDg1OTVlODZkYzk2Y2E4NzcxZjBh MTcxNGIzMTc5NGJlZmE3NSkKLS0tLQotIGNyeXB0by94NTA5L3g1MDlfdmZ5LmMgfCAyICsrCi0g MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvY3J5cHRvL3g1 MDkveDUwOV92ZnkuYyBiL2NyeXB0by94NTA5L3g1MDlfdmZ5LmMKLWluZGV4IDAxY2UxNDk4MmQ2 ZTAuLmQ1NTE0MWUwMTRkODQgMTAwNjQ0Ci0tLS0gYS9jcnlwdG8veDUwOS94NTA5X3ZmeS5jCi0r KysgYi9jcnlwdG8veDUwOS94NTA5X3ZmeS5jCi1AQCAtMTMwOCw2ICsxMzA4LDggQEAgc3RhdGlj IGludCBjaGVja19kZWx0YV9iYXNlKFg1MDlfQ1JMICpkZWx0YSwgWDUwOV9DUkwgKmJhc2UpCi0g ICAgIGlmIChBU04xX0lOVEVHRVJfY21wKGRlbHRhLT5iYXNlX2NybF9udW1iZXIsIGJhc2UtPmNy bF9udW1iZXIpID4gMCkKLSAgICAgICAgIHJldHVybiAwOwotICAgICAvKiBEZWx0YSBDUkwgbnVt YmVyIG11c3QgZXhjZWVkIGZ1bGwgQ1JMIG51bWJlciAqLwotKyAgICBpZiAoZGVsdGEtPmNybF9u dW1iZXIgPT0gTlVMTCkKLSsgICAgICAgIHJldHVybiAwOwotICAgICByZXR1cm4gQVNOMV9JTlRF R0VSX2NtcChkZWx0YS0+Y3JsX251bWJlciwgYmFzZS0+Y3JsX251bWJlcikgPiAwOwotIH0KLSAK CmRpZmYgLS1naXQgYS8wMDc2LUNWRS0yMDI2LTI4Mzg5LnBhdGNoIGIvMDA3Ni1DVkUtMjAyNi0y ODM4OS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjZkMTNiNC4uMDAwMDAw MAotLS0gYS8wMDc2LUNWRS0yMDI2LTI4Mzg5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEx ICswLDAgQEAKLUZyb20gYzMwYjlhNGI2ZTNmM2I2Mzc3YzAyOTY0YTkzNjM1MmY5ZTIwNmEyMCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5laWwgSG9ybWFuIDxuaG9ybWFuQG9wZW5z c2wub3JnPgotRGF0ZTogTW9uLCAxNiBNYXIgMjAyNiAxMzo0OTowNyAtMDQwMAotU3ViamVjdDog W1BBVENIXSBGaXggTlVMTCBkZXJlZiBpbiBbZWNdZGhfY21zX3NldF9zaGFyZWRfaW5mbwotTUlN RS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAot Q29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1NdWx0aXBsZSBpbmRlcGVuZGVudCBy ZXBvcnRzIGluZGljYXRlZCBhIFNJR1NFR1Ygd2FzIHBvc3NpYmxlIGluIENNUwotcHJvY2Vzc2lu ZyB3aGVuIGEgY3JhZnRlZCBDTVMgRW52ZWxvcGVkRGF0YSBtZXNzYWdlIHVzaW5nIEEgS2V5Ci1B Z3JlZW1lbnQgUmVjaXBpZW50IEluZm8gZmllbGQuICBJZiB0aGUKLUtleUVuY3J5cHRpb25BbGdv cml0aG1JZGVudGlmaWVyIG9taXRzIHRoZSBvcHRpb25hbCBwYXJhbWV0ZXIgZmllbGQsIHRoZQot cmVmZXJlbmNlZCBmdW5jdGlvbnMgYWJvdmUgd2lsbCBhdHRlbXB0IHRvIGRlcmVmZXJlbmNlIHRo ZQotYWxnLT5wYXJhbWV0ZXIgZGF0YSBwcmlvciB0byBjaGVja2luZyBpZiB0aGUgcGFyYW1ldGVy IGZpZWxkIGlzIE5VTEwuCi0KLUNvbmZpcm1lZCB0byByZXNvbHZlIHRoZSBpc3N1ZXMgdXNpbmcg dGhlIHJlcHJvZHVjZXJzIHByb3ZpZGVkIGluIHRoZQotc2VjdXJpdHkgcmVwb3J0cy4KLQotQ28t YXV0aG9yZWQtYnk6IFRvbWFzIE1yYXogPHRvbWFzQG9wZW5zc2wuZm91bmRhdGlvbj4KLQotRml4 ZXMgQ1ZFLTIwMjYtMjgzODkKLQotUmV2aWV3ZWQtYnk6IFNhxaFhIE5lZHbEm2RpY2vDvSA8c2Fz aGFuQG9wZW5zc2wub3JnPgotUmV2aWV3ZWQtYnk6IE5pa29sYSBQYWprb3Zza3kgPG5pa29sYXBA b3BlbnNzbC5vcmc+Ci1NZXJnZURhdGU6IE1vbiBBcHIgIDYgMTk6MDc6NDEgMjAyNgotLS0tCi0g Y3J5cHRvL2Ntcy9jbXNfZGguYyB8IDEzICsrKysrKysrKy0tLS0KLSBjcnlwdG8vY21zL2Ntc19l Yy5jIHwgMTQgKysrKysrKysrKy0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMo KyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcnlwdG8vY21zL2Ntc19kaC5jIGIv Y3J5cHRvL2Ntcy9jbXNfZGguYwotaW5kZXggYjQ5ZTVmN2Y1My4uOWIxOWU2NzVkYSAxMDA2NDQK LS0tLSBhL2NyeXB0by9jbXMvY21zX2RoLmMKLSsrKyBiL2NyeXB0by9jbXMvY21zX2RoLmMKLUBA IC04OSwxNiArODksMjEgQEAgc3RhdGljIGludCBkaF9jbXNfc2V0X3NoYXJlZF9pbmZvKEVWUF9Q S0VZX0NUWCAqcGN0eCwgQ01TX1JlY2lwaWVudEluZm8gKnJpKQotICAgICBpbnQga2V5bGVuLCBw bGVuOwotICAgICBFVlBfQ0lQSEVSICprZWtjaXBoZXIgPSBOVUxMOwotICAgICBFVlBfQ0lQSEVS X0NUWCAqa2VrY3R4OwotKyAgICBjb25zdCBBU04xX09CSkVDVCAqYW9pZDsKLSsgICAgY29uc3Qg dm9pZCAqcGFyYW1ldGVyID0gTlVMTDsKLSsgICAgaW50IHB0eXBlID0gMDsKLSAgICAgY2hhciBu YW1lW09TU0xfTUFYX05BTUVfU0laRV07Ci0gCi0gICAgIGlmICghQ01TX1JlY2lwaWVudEluZm9f a2FyaV9nZXQwX2FsZyhyaSwgJmFsZywgJnVrbSkpCi0gICAgICAgICBnb3RvIGVycjsKLSAKLSsg ICAgWDUwOV9BTEdPUl9nZXQwKCZhb2lkLCAmcHR5cGUsICZwYXJhbWV0ZXIsIGFsZyk7Ci0rCi0g ICAgIC8qCi0gICAgICAqIEZvciBESCB3ZSBvbmx5IGhhdmUgb25lIE9JRCBwZXJtaXNzaWJsZS4g SWYgZXZlciBhbnkgbW9yZSBnZXQgZGVmaW5lZAotICAgICAgKiB3ZSB3aWxsIG5lZWQgc29tZXRo aW5nIGNsZXZlcmVyLgotICAgICAgKi8KLS0gICAgaWYgKE9CSl9vYmoybmlkKGFsZy0+YWxnb3Jp dGhtKSAhPSBOSURfaWRfc21pbWVfYWxnX0VTREgpIHsKLSsgICAgaWYgKE9CSl9vYmoybmlkKGFv aWQpICE9IE5JRF9pZF9zbWltZV9hbGdfRVNESCkgewotICAgICAgICAgRVJSX3JhaXNlKEVSUl9M SUJfQ01TLCBDTVNfUl9LREZfUEFSQU1FVEVSX0VSUk9SKTsKLSAgICAgICAgIGdvdG8gZXJyOwot ICAgICB9Ci1AQCAtMTA3LDExICsxMTIsMTEgQEAgc3RhdGljIGludCBkaF9jbXNfc2V0X3NoYXJl ZF9pbmZvKEVWUF9QS0VZX0NUWCAqcGN0eCwgQ01TX1JlY2lwaWVudEluZm8gKnJpKQotICAgICAg ICAgICAgIHx8IEVWUF9QS0VZX0NUWF9zZXRfZGhfa2RmX21kKHBjdHgsIEVWUF9zaGExKCkpIDw9 IDApCi0gICAgICAgICBnb3RvIGVycjsKLSAKLS0gICAgaWYgKGFsZy0+cGFyYW1ldGVyLT50eXBl ICE9IFZfQVNOMV9TRVFVRU5DRSkKLSsgICAgaWYgKHB0eXBlICE9IFZfQVNOMV9TRVFVRU5DRSkK LSAgICAgICAgIGdvdG8gZXJyOwotIAotLSAgICBwID0gYWxnLT5wYXJhbWV0ZXItPnZhbHVlLnNl cXVlbmNlLT5kYXRhOwotLSAgICBwbGVuID0gYWxnLT5wYXJhbWV0ZXItPnZhbHVlLnNlcXVlbmNl LT5sZW5ndGg7Ci0rICAgIHAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEocGFyYW1ldGVyKTsKLSsg ICAgcGxlbiA9IEFTTjFfU1RSSU5HX2xlbmd0aChwYXJhbWV0ZXIpOwotICAgICBrZWthbGcgPSBk MmlfWDUwOV9BTEdPUihOVUxMLCAmcCwgcGxlbik7Ci0gICAgIGlmIChrZWthbGcgPT0gTlVMTCkK LSAgICAgICAgIGdvdG8gZXJyOwotZGlmZiAtLWdpdCBhL2NyeXB0by9jbXMvY21zX2VjLmMgYi9j cnlwdG8vY21zL2Ntc19lYy5jCi1pbmRleCA2ZTk5NjJlZDZlLi4wNzQ1NmRjYWExIDEwMDY0NAot LS0tIGEvY3J5cHRvL2Ntcy9jbXNfZWMuYwotKysrIGIvY3J5cHRvL2Ntcy9jbXNfZWMuYwotQEAg LTE2NiwyMSArMTY2LDI3IEBAIHN0YXRpYyBpbnQgZWNkaF9jbXNfc2V0X3NoYXJlZF9pbmZvKEVW UF9QS0VZX0NUWCAqcGN0eCwgQ01TX1JlY2lwaWVudEluZm8gKnJpKQotICAgICBpbnQgcGxlbiwg a2V5bGVuOwotICAgICBFVlBfQ0lQSEVSICprZWtjaXBoZXIgPSBOVUxMOwotICAgICBFVlBfQ0lQ SEVSX0NUWCAqa2VrY3R4OwotKyAgICBjb25zdCBBU04xX09CSkVDVCAqYW9pZCA9IE5VTEw7Ci0r ICAgIGludCBwdHlwZSA9IDA7Ci0rICAgIGNvbnN0IHZvaWQgKnBhcmFtZXRlciA9IE5VTEw7Ci0r Ci0gICAgIGNoYXIgbmFtZVtPU1NMX01BWF9OQU1FX1NJWkVdOwotIAotICAgICBpZiAoIUNNU19S ZWNpcGllbnRJbmZvX2thcmlfZ2V0MF9hbGcocmksICZhbGcsICZ1a20pKQotICAgICAgICAgcmV0 dXJuIDA7Ci0gCi0tICAgIGlmICghZWNkaF9jbXNfc2V0X2tkZl9wYXJhbShwY3R4LCBPQkpfb2Jq Mm5pZChhbGctPmFsZ29yaXRobSkpKSB7Ci0rICAgIFg1MDlfQUxHT1JfZ2V0MCgmYW9pZCwgJnB0 eXBlLCAmcGFyYW1ldGVyLCBhbGcpOwotKwotKyAgICBpZiAoIWVjZGhfY21zX3NldF9rZGZfcGFy YW0ocGN0eCwgT0JKX29iajJuaWQoYW9pZCkpKSB7Ci0gICAgICAgICBFUlJfcmFpc2UoRVJSX0xJ Ql9DTVMsIENNU19SX0tERl9QQVJBTUVURVJfRVJST1IpOwotICAgICAgICAgcmV0dXJuIDA7Ci0g ICAgIH0KLSAKLS0gICAgaWYgKGFsZy0+cGFyYW1ldGVyLT50eXBlICE9IFZfQVNOMV9TRVFVRU5D RSkKLSsgICAgaWYgKHB0eXBlICE9IFZfQVNOMV9TRVFVRU5DRSkKLSAgICAgICAgIHJldHVybiAw OwotIAotLSAgICBwID0gYWxnLT5wYXJhbWV0ZXItPnZhbHVlLnNlcXVlbmNlLT5kYXRhOwotLSAg ICBwbGVuID0gYWxnLT5wYXJhbWV0ZXItPnZhbHVlLnNlcXVlbmNlLT5sZW5ndGg7Ci0rICAgIHAg PSBBU04xX1NUUklOR19nZXQwX2RhdGEocGFyYW1ldGVyKTsKLSsgICAgcGxlbiA9IEFTTjFfU1RS SU5HX2xlbmd0aChwYXJhbWV0ZXIpOwotICAgICBrZWthbGcgPSBkMmlfWDUwOV9BTEdPUihOVUxM LCAmcCwgcGxlbik7Ci0gICAgIGlmIChrZWthbGcgPT0gTlVMTCkKLSAgICAgICAgIGdvdG8gZXJy OwotLS0gCi0yLjUzLjAKLQoKZGlmZiAtLWdpdCBhLzAwNzctQ1ZFLTIwMjYtMjgzOTAucGF0Y2gg Yi8wMDc3LUNWRS0yMDI2LTI4MzkwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBhZTcyOTY5Li4wMDAwMDAwCi0tLSBhLzAwNzctQ1ZFLTIwMjYtMjgzOTAucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSw5MyArMCwwIEBACi1Gcm9tIDZlZTlhNzNlOWY0ODlmYWE1NDZmMDljZmJm OWM2M2M4Zjg3OTg0NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOZWlsIEhvcm1h biA8bmhvcm1hbkBvcGVuc3NsLm9yZz4KLURhdGU6IFdlZCwgMSBBcHIgMjAyNiAxMDo1Njo0NCAr MDIwMAotU3ViamVjdDogW1BBVENIXSBGaXggTlVMTCBkZXJlZiBpbiByc2FfY21zX2RlY3J5cHQK LU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVmVyeSBzaW1taWxhciB0byBD VkUtMjAyNi0yODM4OSwgZW5zdXJlIHRoYXQgaWYgd2UgYXJlIG1pc3NpbmcKLXBhcmFtZXRlcnMg aW4gUlNBLU9BRVAgU291cmNlRnVuYyBpbiBDTVMgS2V5VHJhbnNwb3J0UmVjaXBpZW50SW5mbywK LXdlIGRvbid0IHNlZ2ZhdWx0IHdoZW4gZGVjcnlwdGluZy4KLQotQ28tYXV0aG9yZWQtYnk6IFRv bWFzIE1yYXogPHRvbWFzQG9wZW5zc2wuZm91bmRhdGlvbj4KLQotRml4ZXMgQ1ZFLTIwMjYtMjgz OTAKLQotUmV2aWV3ZWQtYnk6IFNhxaFhIE5lZHbEm2RpY2vDvSA8c2FzaGFuQG9wZW5zc2wub3Jn PgotUmV2aWV3ZWQtYnk6IE5pa29sYSBQYWprb3Zza3kgPG5pa29sYXBAb3BlbnNzbC5vcmc+Ci1N ZXJnZURhdGU6IE1vbiBBcHIgIDYgMTk6MDc6NDQgMjAyNgotLS0tCi0gY3J5cHRvL2Ntcy9jbXNf cnNhLmMgfCAzMSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5n ZWQsIDE5IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3J5 cHRvL2Ntcy9jbXNfcnNhLmMgYi9jcnlwdG8vY21zL2Ntc19yc2EuYwotaW5kZXggZjEzMmRmNWM4 YS4uYTFlMjZkM2MzZCAxMDA2NDQKLS0tLSBhL2NyeXB0by9jbXMvY21zX3JzYS5jCi0rKysgYi9j cnlwdG8vY21zL2Ntc19yc2EuYwotQEAgLTQyLDEwICs0MiwxMyBAQCBzdGF0aWMgaW50IHJzYV9j bXNfZGVjcnlwdChDTVNfUmVjaXBpZW50SW5mbyAqcmkpCi0gICAgIFg1MDlfQUxHT1IgKmNtc2Fs ZzsKLSAgICAgaW50IG5pZDsKLSAgICAgaW50IHJ2ID0gLTE7Ci0tICAgIHVuc2lnbmVkIGNoYXIg KmxhYmVsID0gTlVMTDsKLSsgICAgY29uc3QgdW5zaWduZWQgY2hhciAqbGFiZWwgPSBOVUxMOwot ICAgICBpbnQgbGFiZWxsZW4gPSAwOwotICAgICBjb25zdCBFVlBfTUQgKm1nZjFtZCA9IE5VTEws ICptZCA9IE5VTEw7Ci0gICAgIFJTQV9PQUVQX1BBUkFNUyAqb2FlcDsKLSsgICAgY29uc3QgQVNO MV9PQkpFQ1QgKmFvaWQ7Ci0rICAgIGNvbnN0IHZvaWQgKnBhcmFtZXRlciA9IE5VTEw7Ci0rICAg IGludCBwdHlwZSA9IDA7Ci0gCi0gICAgIHBrY3R4ID0gQ01TX1JlY2lwaWVudEluZm9fZ2V0MF9w a2V5X2N0eChyaSk7Ci0gICAgIGlmIChwa2N0eCA9PSBOVUxMKQotQEAgLTc1LDIxICs3OCwxOSBA QCBzdGF0aWMgaW50IHJzYV9jbXNfZGVjcnlwdChDTVNfUmVjaXBpZW50SW5mbyAqcmkpCi0gICAg ICAgICBnb3RvIGVycjsKLSAKLSAgICAgaWYgKG9hZXAtPnBTb3VyY2VGdW5jICE9IE5VTEwpIHsK LS0gICAgICAgIFg1MDlfQUxHT1IgKnBsYWIgPSBvYWVwLT5wU291cmNlRnVuYzsKLSsgICAgICAg IFg1MDlfQUxHT1JfZ2V0MCgmYW9pZCwgJnB0eXBlLCAmcGFyYW1ldGVyLCBvYWVwLT5wU291cmNl RnVuYyk7Ci0gCi0tICAgICAgICBpZiAoT0JKX29iajJuaWQocGxhYi0+YWxnb3JpdGhtKSAhPSBO SURfcFNwZWNpZmllZCkgewotKyAgICAgICAgaWYgKE9CSl9vYmoybmlkKGFvaWQpICE9IE5JRF9w U3BlY2lmaWVkKSB7Ci0gICAgICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfQ01TLCBDTVNfUl9V TlNVUFBPUlRFRF9MQUJFTF9TT1VSQ0UpOwotICAgICAgICAgICAgIGdvdG8gZXJyOwotICAgICAg ICAgfQotLSAgICAgICAgaWYgKHBsYWItPnBhcmFtZXRlci0+dHlwZSAhPSBWX0FTTjFfT0NURVRf U1RSSU5HKSB7Ci0rICAgICAgICBpZiAocHR5cGUgIT0gVl9BU04xX09DVEVUX1NUUklORykgewot ICAgICAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX0NNUywgQ01TX1JfSU5WQUxJRF9MQUJFTCk7 Ci0gICAgICAgICAgICAgZ290byBlcnI7Ci0gICAgICAgICB9Ci0gCi0tICAgICAgICBsYWJlbCA9 IHBsYWItPnBhcmFtZXRlci0+dmFsdWUub2N0ZXRfc3RyaW5nLT5kYXRhOwotLSAgICAgICAgLyog U3RvcCBsYWJlbCBiZWluZyBmcmVlZCB3aGVuIE9BRVAgcGFyYW1ldGVycyBhcmUgZnJlZWQgKi8K LS0gICAgICAgIHBsYWItPnBhcmFtZXRlci0+dmFsdWUub2N0ZXRfc3RyaW5nLT5kYXRhID0gTlVM TDsKLS0gICAgICAgIGxhYmVsbGVuID0gcGxhYi0+cGFyYW1ldGVyLT52YWx1ZS5vY3RldF9zdHJp bmctPmxlbmd0aDsKLSsgICAgICAgIGxhYmVsID0gQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKHBhcmFt ZXRlcik7Ci0rICAgICAgICBsYWJlbGxlbiA9IEFTTjFfU1RSSU5HX2xlbmd0aChwYXJhbWV0ZXIp OwotICAgICB9Ci0gCi0gICAgIGlmIChFVlBfUEtFWV9DVFhfc2V0X3JzYV9wYWRkaW5nKHBrY3R4 LCBSU0FfUEtDUzFfT0FFUF9QQURESU5HKSA8PSAwKQotQEAgLTk4LDEwICs5OSwxNiBAQCBzdGF0 aWMgaW50IHJzYV9jbXNfZGVjcnlwdChDTVNfUmVjaXBpZW50SW5mbyAqcmkpCi0gICAgICAgICBn b3RvIGVycjsKLSAgICAgaWYgKEVWUF9QS0VZX0NUWF9zZXRfcnNhX21nZjFfbWQocGtjdHgsIG1n ZjFtZCkgPD0gMCkKLSAgICAgICAgIGdvdG8gZXJyOwotLSAgICBpZiAobGFiZWwgIT0gTlVMTAot LSAgICAgICAgICAgICYmIEVWUF9QS0VZX0NUWF9zZXQwX3JzYV9vYWVwX2xhYmVsKHBrY3R4LCBs YWJlbCwgbGFiZWxsZW4pIDw9IDApIHsKLS0gICAgICAgIE9QRU5TU0xfZnJlZShsYWJlbCk7Ci0t ICAgICAgICBnb3RvIGVycjsKLSsgICAgaWYgKGxhYmVsICE9IE5VTEwpIHsKLSsgICAgICAgIHVu c2lnbmVkIGNoYXIgKmR1cF9sYWJlbCA9IE9QRU5TU0xfbWVtZHVwKGxhYmVsLCBsYWJlbGxlbik7 Ci0rCi0rICAgICAgICBpZiAoZHVwX2xhYmVsID09IE5VTEwpCi0rICAgICAgICAgICAgZ290byBl cnI7Ci0rCi0rICAgICAgICBpZiAoRVZQX1BLRVlfQ1RYX3NldDBfcnNhX29hZXBfbGFiZWwocGtj dHgsIGR1cF9sYWJlbCwgbGFiZWxsZW4pIDw9IDApIHsKLSsgICAgICAgICAgICBPUEVOU1NMX2Zy ZWUoZHVwX2xhYmVsKTsKLSsgICAgICAgICAgICBnb3RvIGVycjsKLSsgICAgICAgIH0KLSAgICAg fQotICAgICAvKiBDYXJyeSBvbiAqLwotICAgICBydiA9IDE7Ci0tLSAKLTIuNTMuMAotCgpkaWZm IC0tZ2l0IGEvMDA3OC1DVkUtMjAyNi0zMTc4OS5wYXRjaCBiLzAwNzgtQ1ZFLTIwMjYtMzE3ODku cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyNGQ4NDYuLjAwMDAwMDAKLS0t IGEvMDA3OC1DVkUtMjAyNi0zMTc4OS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAg QEAKLUZyb20gOTQ1YjkzNWFjNjZjYzdmMWE0MWYxYjg0OWM3YzI1YWRiNTM1MWY0OSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IElnb3IgVXN0aW5vdiA8aWd1czY4QGdtYWlsLmNvbT4K LURhdGU6IFRodSwgNSBNYXIgMjAyNiAxNTo0NzozNCArMDEwMAotU3ViamVjdDogW1BBVENIXSBB dm9pZCBwb3NzaWJsZSBidWZmZXIgb3ZlcmZsb3cgaW4gYnVmMmhleCBjb252ZXJzaW9uCi1NSU1F LVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1D b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUZpeGVzIENWRS0yMDI2LTMxNzg5Ci0K LVJldmlld2VkLWJ5OiBTYcWhYSBOZWR2xJtkaWNrw70gPHNhc2hhbkBvcGVuc3NsLm9yZz4KLVJl dmlld2VkLWJ5OiBUb21hcyBNcmF6IDx0b21hc0BvcGVuc3NsLmZvdW5kYXRpb24+Ci1NZXJnZURh dGU6IE1vbiBBcHIgIDYgMTk6Mzk6MjMgMjAyNgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg MzI0NGFhNGI5ZDZlYTAyMjBjYzE0ZmQ5N2Q5NTFjNjdiNTA1MjgzNykKLS0tLQotIGNyeXB0by9v X3N0ci5jIHwgMTMgKysrKysrKysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jcnlwdG8vb19zdHIuYyBiL2NyeXB0 by9vX3N0ci5jCi1pbmRleCAzNTU0MDYzMGJlMjVmLi45YjllNzc1MWZkZDllIDEwMDY0NAotLS0t IGEvY3J5cHRvL29fc3RyLmMKLSsrKyBiL2NyeXB0by9vX3N0ci5jCi1AQCAtMjk2LDYgKzI5Niwx MSBAQCBzdGF0aWMgaW50IGJ1ZjJoZXhzdHJfc2VwKGNoYXIgKnN0ciwgc2l6ZV90IHN0cl9uLCBz aXplX3QgKnN0cmxlbmd0aCwKLSAgICAgaW50IGhhc19zZXAgPSAoc2VwICE9IENIX1pFUk8pOwot ICAgICBzaXplX3QgaSwgbGVuID0gaGFzX3NlcCA/IGJ1ZmxlbiAqIDMgOiAxICsgYnVmbGVuICog MjsKLSAKLSsgICAgaWYgKGJ1ZmxlbiA+IChoYXNfc2VwID8gU0laRV9NQVggLyAzIDogKFNJWkVf TUFYIC0gMSkgLyAyKSkgewotKyAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfQ1JZUFRPLCBDUllQ VE9fUl9UT09fTUFOWV9CWVRFUyk7Ci0rICAgICAgICByZXR1cm4gMDsKLSsgICAgfQotKwotICAg ICBpZiAobGVuID09IDApCi0gICAgICAgICArK2xlbjsKLSAgICAgaWYgKHN0cmxlbmd0aCAhPSBO VUxMKQotQEAgLTMzOSw3ICszNDQsMTMgQEAgY2hhciAqb3NzbF9idWYyaGV4c3RyX3NlcChjb25z dCB1bnNpZ25lZCBjaGFyICpidWYsIGxvbmcgYnVmbGVuLCBjaGFyIHNlcCkKLSAgICAgaWYgKGJ1 ZmxlbiA9PSAwKQotICAgICAgICAgcmV0dXJuIE9QRU5TU0xfemFsbG9jKDEpOwotIAotLSAgICB0 bXBfbiA9IChzZXAgIT0gQ0hfWkVSTykgPyBidWZsZW4gKiAzIDogMSArIGJ1ZmxlbiAqIDI7Ci0r ICAgIGlmICgoc2VwICE9IENIX1pFUk8gJiYgKHNpemVfdClidWZsZW4gPiBTSVpFX01BWCAvIDMp Ci0rICAgICAgICB8fCAoc2VwID09IENIX1pFUk8gJiYgKHNpemVfdClidWZsZW4gPiAoU0laRV9N QVggLSAxKSAvIDIpKSB7Ci0rICAgICAgICBFUlJfcmFpc2UoRVJSX0xJQl9DUllQVE8sIENSWVBU T19SX1RPT19NQU5ZX0JZVEVTKTsKLSsgICAgICAgIHJldHVybiBOVUxMOwotKyAgICB9Ci0rCi0r ICAgIHRtcF9uID0gKHNlcCAhPSBDSF9aRVJPKSA/IChzaXplX3QpYnVmbGVuICogMyA6IDEgKyAo c2l6ZV90KWJ1ZmxlbiAqIDI7Ci0gICAgIGlmICgodG1wID0gT1BFTlNTTF9tYWxsb2ModG1wX24p KSA9PSBOVUxMKQotICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gCgpkaWZmIC0tZ2l0IGEvMDA3OS1D VkUtMjAyNi0zMTc5MC5wYXRjaCBiLzAwNzktQ1ZFLTIwMjYtMzE3OTAucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjZThhZWQuLjAwMDAwMDAKLS0tIGEvMDA3OS1DVkUtMjAy Ni0zMTc5MC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAgQEAKLUZyb20gMDAxZTAx ZGIzZTk5NmUxM2ZmYzcyMzg2ZmU3OWQwM2E2NjgzYjVhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IE5pa29sYSBQYWprb3Zza3kgPG5pa29sYXBAb3BlbnNzbC5vcmc+Ci1EYXRlOiBU aHUsIDE5IE1hciAyMDI2IDEyOjE2OjA4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJzYV9rZW06 IHZhbGlkYXRlIFJTQV9wdWJsaWNfZW5jcnlwdCgpIHJlc3VsdCBpbiBSU0FTVkUKLU1JTUUtVmVy c2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotUlNBX3B1YmxpY19lbmNyeXB0KCkgcmV0dXJu cyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb24gc3VjY2VzcyBhbmQKLS0xIG9uIGZhaWx1 cmUuIFdpdGggdGhlIGV4aXN0aW5nIGBpZiAocmV0KWAgY2hlY2ssIGEgcHJvdmlkZXItc2lkZSBS U0EgS0VNCi1lbmNhcHN1bGF0aW9uIGNhbiBpbmNvcnJlY3RseSBzdWNjZWVkIHdoZW4gdGhlIHVu ZGVybHlpbmcgUlNBIHB1YmxpYwotZW5jcnlwdCBvcGVyYXRpb24gZmFpbHMuIEluIHRoYXQgY2Fz ZSB0aGUgY29kZSByZXBvcnRzIHN1Y2Nlc3MsIHJldHVybnMKLWxlbmd0aHMgYXMgaWYgZW5jYXBz dWxhdGlvbiBjb21wbGV0ZWQgbm9ybWFsbHksIGFuZCBsZWF2ZXMgdGhlIGZyZXNobHkKLWdlbmVy YXRlZCBzZWNyZXQgYXZhaWxhYmxlIGluc3RlYWQgb2YgZGlzY2FyZGluZyBpdC4KLQotVGlnaHRl biB0aGUgc3VjY2VzcyBjb25kaXRpb24gc28gUlNBU1ZFIG9ubHkgc3VjY2VlZHMgd2hlbgotUlNB X3B1YmxpY19lbmNyeXB0KCkgcmV0dXJucyBhIHBvc2l0aXZlIHZhbHVlIGVxdWFsIHRvIHRoZSBt b2R1bHVzLXNpemVkCi1vdXRwdXQgZXhwZWN0ZWQgZm9yIFJTQV9OT19QQURESU5HLiBBbnkgb3Ro ZXIgcmV0dXJuIHZhbHVlIGlzIHRyZWF0ZWQgYXMKLWZhaWx1cmUsIGFuZCB0aGUgZ2VuZXJhdGVk IHNlY3JldCBpcyBjbGVhbnNlZCBiZWZvcmUgcmV0dXJuaW5nLgotCi1GaXhlcyBDVkUtMjAyNi0z MTc5MAotU2lnbmVkLW9mZi1ieTogTmlrb2xhIFBhamtvdnNreSA8bmlrb2xhcEBvcGVuc3NsLm9y Zz4KLQotUmV2aWV3ZWQtYnk6IFNhxaFhIE5lZHbEm2RpY2vDvSA8c2FzaGFuQG9wZW5zc2wub3Jn PgotUmV2aWV3ZWQtYnk6IFRvbWFzIE1yYXogPHRvbWFzQG9wZW5zc2wuZm91bmRhdGlvbj4KLU1l cmdlRGF0ZTogTW9uIEFwciAgNiAxOTo1MTozMCAyMDI2Ci0tLS0KLSBwcm92aWRlcnMvaW1wbGVt ZW50YXRpb25zL2tlbS9yc2Ffa2VtLmMgfCAyMCArKysrKysrKysrKy0tLS0tLS0tLQotIDEgZmls ZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0 IGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZW0vcnNhX2tlbS5jIGIvcHJvdmlkZXJzL2lt cGxlbWVudGF0aW9ucy9rZW0vcnNhX2tlbS5jCi1pbmRleCBmN2JmMzY4YTBkZmM3Li43NGRmYWZk ZGQ5ZTA2IDEwMDY0NAotLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9rZW0vcnNhX2tl bS5jCi0rKysgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL2tlbS9yc2Ffa2VtLmMKLUBAIC0z MTYsMTcgKzMxNiwxOSBAQCBzdGF0aWMgaW50IHJzYXN2ZV9nZW5lcmF0ZShQUk9WX1JTQV9DVFgg KnByc2FjdHgsCi0gICAgICAgICByZXR1cm4gMDsKLSAKLSAgICAgLyogU3RlcCgzKTogb3V0ID0g UlNBRVAoKG4sZSksIHopICovCi0tICAgIHJldCA9IFJTQV9wdWJsaWNfZW5jcnlwdChubGVuLCBz ZWNyZXQsIG91dCwgcHJzYWN0eC0+cnNhLCBSU0FfTk9fUEFERElORyk7Ci0tICAgIGlmIChyZXQp IHsKLS0gICAgICAgIHJldCA9IDE7Ci0tICAgICAgICBpZiAob3V0bGVuICE9IE5VTEwpCi0tICAg ICAgICAgICAgKm91dGxlbiA9IG5sZW47Ci0tICAgICAgICBpZiAoc2VjcmV0bGVuICE9IE5VTEwp Ci0tICAgICAgICAgICAgKnNlY3JldGxlbiA9IG5sZW47Ci0tICAgIH0gZWxzZSB7Ci0rICAgIHJl dCA9IFJTQV9wdWJsaWNfZW5jcnlwdCgoaW50KW5sZW4sIHNlY3JldCwgb3V0LCBwcnNhY3R4LT5y c2EsCi0rICAgICAgICBSU0FfTk9fUEFERElORyk7Ci0rICAgIGlmIChyZXQgPD0gMCB8fCByZXQg IT0gKGludClubGVuKSB7Ci0gICAgICAgICBPUEVOU1NMX2NsZWFuc2Uoc2VjcmV0LCBubGVuKTsK LSsgICAgICAgIHJldHVybiAwOwotICAgICB9Ci0tICAgIHJldHVybiByZXQ7Ci0rCi0rICAgIGlm IChvdXRsZW4gIT0gTlVMTCkKLSsgICAgICAgICpvdXRsZW4gPSBubGVuOwotKyAgICBpZiAoc2Vj cmV0bGVuICE9IE5VTEwpCi0rICAgICAgICAqc2VjcmV0bGVuID0gbmxlbjsKLSsKLSsgICAgcmV0 dXJuIDE7Ci0gfQotIAotIC8qKgoKZGlmZiAtLWdpdCBhL29wZW5zc2wuc3BlYyBiL29wZW5zc2wu c3BlYwppbmRleCBlYjQ5OWJmLi41NDYzNDNiIDEwMDY0NAotLS0gYS9vcGVuc3NsLnNwZWMKKysr IGIvb3BlbnNzbC5zcGVjCkBAIC0zMyw4ICszMyw4IEBAIHByaW50KHN0cmluZy5zdWIoaGFzaCwg MCwgMTYpKQogCiBTdW1tYXJ5OiBVdGlsaXRpZXMgZnJvbSB0aGUgZ2VuZXJhbCBwdXJwb3NlIGNy eXB0b2dyYXBoeSBsaWJyYXJ5IHdpdGggVExTIGltcGxlbWVudGF0aW9uCiBOYW1lOiBvcGVuc3Ns Ci1WZXJzaW9uOiAzLjUuNAotUmVsZWFzZTogMyV7P2Rpc3R9CitWZXJzaW9uOiAzLjUuNworUmVs ZWFzZTogMSV7P2Rpc3R9CiBFcG9jaDogMQogU291cmNlMDogb3BlbnNzbC0le3ZlcnNpb259LnRh ci5negogU291cmNlMTogZmlwcy1obWFjaWZ5LnNoCkBAIC0xMDAsMzEgKzEwMCw4IEBAIFBhdGNo MDA1MzogMDA1My1BbGxvdy1oeWJyaWQtTUxLRU0taW4tRklQUy1tb2RlLnBhdGNoCiAlZW5kaWYK IFBhdGNoMDA1NDogMDA1NC1UZW1wb3JhcmlseS1kaXNhYmxlLVNMSC1EU0EtRklQUy1zZWxmLXRl c3RzLnBhdGNoCiBQYXRjaDAwNTU6IDAwNTUtQWRkLWEtZGVmaW5lLXRvLWRpc2FibGUtc3ltdmVy LWF0dHJpYnV0ZXMucGF0Y2gKLVBhdGNoMDA1NjogMDA1Ni1hcHBzLXNwZWVkLmMtRGlzYWJsZS10 ZXN0aW5nLW9mLWNvbXBvc2l0ZS1zaWduYXR1cmUtLnBhdGNoCi1QYXRjaDAwNTc6IDAwNTctYXBw cy1zcGVlZC5jLVN1cHBvcnQtbW9yZS1zaWduYXR1cmUtYWxnb3JpdGhtcy5wYXRjaAotUGF0Y2gw MDU4OiAwMDU4LUFkZC10YXJnZXRzLXRvLXNraXAtYnVpbGQtb2Ytbm9uLWluc3RhbGxhYmxlLXBy b2dyYW0ucGF0Y2gKLVBhdGNoMDA1OTogMDA1OS1SU0FfZW5jcnlwdC1kZWNyeXB0LXdpdGgtcGFk ZGluZy1OT05FLWlzLW5vdC1zdXBwb3J0LnBhdGNoCi1QYXRjaDAwNjA6IDAwNjAtQ1ZFLTIwMjUt MTU0NjcucGF0Y2gKLVBhdGNoMDA2MTogMDA2MS1DVkUtMjAyNS0xNTQ2OC5wYXRjaAotUGF0Y2gw MDYyOiAwMDYyLUNWRS0yMDI1LTE1NDY5LnBhdGNoCi1QYXRjaDAwNjM6IDAwNjMtQ1ZFLTIwMjUt NjYxOTkucGF0Y2gKLVBhdGNoMDA2NDogMDA2NC1DVkUtMjAyNS02ODE2MC5wYXRjaAotUGF0Y2gw MDY1OiAwMDY1LUNWRS0yMDI1LTY5NDE4LnBhdGNoCi1QYXRjaDAwNjY6IDAwNjYtQ1ZFLTIwMjUt Njk0MjAucGF0Y2gKLVBhdGNoMDA2NzogMDA2Ny1DVkUtMjAyNS02OTQyMS5wYXRjaAotUGF0Y2gw MDY4OiAwMDY4LUNWRS0yMDI1LTY5NDE5LnBhdGNoCi1QYXRjaDAwNjk6IDAwNjktQ1ZFLTIwMjYt MjI3OTUucGF0Y2gKLVBhdGNoMDA3MDogMDA3MC1DVkUtMjAyNS0xMTE4Ny5wYXRjaAotUGF0Y2gw MDcxOiAwMDcxLURvLW5vdC1tYWtlLWtleS1zaGFyZS1jaG9pY2UtaW4tdGxzMV9zZXRfZ3JvdXBz LnBhdGNoCi1QYXRjaDAwNzI6IDAwNzItRml4LVBQQy1yZWdpc3Rlci1wcm9jZXNzaW5nLnBhdGNo Ci1QYXRjaDAwNzM6IDAwNzMtQ1ZFLTIwMjYtMjY3My5wYXRjaAotUGF0Y2gwMDc0OiAwMDc0LUNW RS0yMDI2LTI4Mzg3LnBhdGNoCi1QYXRjaDAwNzU6IDAwNzUtQ1ZFLTIwMjYtMjgzODgucGF0Y2gK LVBhdGNoMDA3NjogMDA3Ni1DVkUtMjAyNi0yODM4OS5wYXRjaAotUGF0Y2gwMDc3OiAwMDc3LUNW RS0yMDI2LTI4MzkwLnBhdGNoCi1QYXRjaDAwNzg6IDAwNzgtQ1ZFLTIwMjYtMzE3ODkucGF0Y2gK LVBhdGNoMDA3OTogMDA3OS1DVkUtMjAyNi0zMTc5MC5wYXRjaAotCitQYXRjaDAwNTY6IDAwNTYt QWRkLXRhcmdldHMtdG8tc2tpcC1idWlsZC1vZi1ub24taW5zdGFsbGFibGUtcHJvZ3JhbS5wYXRj aAorUGF0Y2gwMDU3OiAwMDU3LURpc2FibGUtUlNBLVBLQ1MxLjUtRklQUy1QT1NULW5vdC1yZWxl dmFudC1mb3ItUkhFTC5wYXRjaAogCiBMaWNlbnNlOiBBcGFjaGUtMi4wCiBVUkw6IGh0dHA6Ly93 d3cub3BlbnNzbC5vcmcvCkBAIC00OTcsNiArNDc0LDI0IEBAIGxuIC1zIC9ldGMvY3J5cHRvLXBv bGljaWVzL2JhY2stZW5kcy9vcGVuc3NsX2ZpcHMuY29uZmlnICRSUE1fQlVJTERfUk9PVCV7X3N5 c2NvCiAlbGRjb25maWdfc2NyaXB0bGV0cyBsaWJzCiAKICVjaGFuZ2Vsb2cKKyogV2VkIEp1biAx MCAyMDI2IERtaXRyeSBCZWx5YXZza2l5IDxkYmVseWF2c0ByZWRoYXQuY29tPiAtIDE6My41Ljct MQorLSBSZWJhc2UgdG8gT3BlblNTTCAzLjUuNworICBSZXNvbHZlczogQ1ZFLTIwMjYtNDU0NDcK KyAgUmVzb2x2ZXM6IENWRS0yMDI2LTM0MTgyCisgIFJlc29sdmVzOiBDVkUtMjAyNi0zNDE4Mwor ICBSZXNvbHZlczogQ1ZFLTIwMjYtNDI3NjQKKyAgUmVzb2x2ZXM6IENWRS0yMDI2LTQ1NDQ1Cisg IFJlc29sdmVzOiBDVkUtMjAyNi03MzgzCisgIFJlc29sdmVzOiBDVkUtMjAyNi05MDc2CisgIFJl c29sdmVzOiBDVkUtMjAyNi0zNDE4MAorICBSZXNvbHZlczogQ1ZFLTIwMjYtMzQxODEKKyAgUmVz b2x2ZXM6IENWRS0yMDI2LTQyNzY2CisgIFJlc29sdmVzOiBDVkUtMjAyNi00Mjc2NworICBSZXNv bHZlczogQ1ZFLTIwMjYtNDI3NjgKKyAgUmVzb2x2ZXM6IENWRS0yMDI2LTQyNzY5CisgIFJlc29s dmVzOiBDVkUtMjAyNi00Mjc3MAorICBSZXNvbHZlczogQ1ZFLTIwMjYtNDU0NDYKKwogKiBNb24g QXByIDIwIDIwMjYgUGF2b2wgxb3DocSNaWsgPHB6YWNpa0ByZWRoYXQuY29tPiAtIDE6My41LjQt MwogLSBCYWNrcG9ydCBzZWN1cml0eSBwYXRjaGVzIGZyb20gT3BlblNTTCAzLjUuNgogICBSZXNv bHZlczogQ1ZFLTIwMjYtMjY3MwoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4 IDA3ZTRmZWEuLjFmYTM5MmEgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAt MSArMSBAQAotU0hBNTEyIChvcGVuc3NsLTMuNS40LnRhci5neikgPSAzNjVhY2E2ZjJlNTliNWM4 MjYxZmJhNjgzNDI1ZDE3Nzg3NGNmNjAyNGIwZDIxNmNhMzA5MTEyYjg3OWMxZjRlOGRhNzg2MTdl MjNjM2M5NWQwYjRhMjZiODNlY2QwZDgzNDgwMzhiOTk5ZDMwZTU5N2QxOWY0NjZjNDc2MTIyNwor U0hBNTEyIChvcGVuc3NsLTMuNS43LnRhci5neikgPSBkZTUzNTFkMmQ1MzJlMWEzOTA4YTczOGY3 ZDhhYWU0NDhkMzJiYzYwYmRiMjQ4MDhjNTU2YTI0YmMzN2EzZjUzZGFlZGYxMmI1ZDQzMmVlYjhj MjM1ZTE2OTM5ZDg0MmY5MDgzMzJlZGU4YTQ0N2NhMTAzYWQxYzQ5M2M4MjBkNwo=