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: Tomas Mraz To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: update to the latest 1.1.1 beta version Date: Tue, 09 Jun 2026 12:44:15 GMT Message-ID: <178100905584.1.3886026101996884387.rpms-openssl-62ec0f1fa920@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: 62ec0f1fa920e67f41f5784975a5419a29f24bfa QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvb3BlbnNzbApCcmFu Y2ggOiByZWJhc2VfNDBiZXRhCkNvbW1pdCA6IDYyZWMwZjFmYTkyMGU2N2Y0MWY1Nzg0OTc1YTU0 MTlhMjlmMjRiZmEKQXV0aG9yIDogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5vcmc+ CkRhdGUgICA6IDIwMTgtMDgtMjJUMTI6NDE6MjYrMDI6MDAKU3RhdHMgIDogKzQxNC8tMTMyNiBp biAxMSBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMv b3BlbnNzbC9jLzYyZWMwZjFmYTkyMGU2N2Y0MWY1Nzg0OTc1YTU0MTlhMjlmMjRiZmE/YnJhbmNo PXJlYmFzZV80MGJldGEKCkxvZzoKdXBkYXRlIHRvIHRoZSBsYXRlc3QgMS4xLjEgYmV0YSB2ZXJz aW9uCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDhiYWNh ZGMuLjkyMjNkOGYgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAt MzksMyArMzksNCBAQCBvcGVuc3NsLTEuMC4wYS11c2EudGFyLmJ6MgogL29wZW5zc2wtMS4xLjBn LWhvYmJsZWQudGFyLnh6CiAvb3BlbnNzbC0xLjEuMGgtaG9iYmxlZC50YXIueHoKIC9vcGVuc3Ns LTEuMS4xLXByZTgtaG9iYmxlZC50YXIueHoKKy9vcGVuc3NsLTEuMS4xLXByZTktaG9iYmxlZC50 YXIueHoKCmRpZmYgLS1naXQgYS9lY19jdXJ2ZS5jIGIvZWNfY3VydmUuYwppbmRleCA3MzAzZmU5 Li41OGY4ZjNmIDEwMDY0NAotLS0gYS9lY19jdXJ2ZS5jCisrKyBiL2VjX2N1cnZlLmMKQEAgLTM0 OSw3ICszNDksNyBAQCBzdGF0aWMgRUNfR1JPVVAgKmVjX2dyb3VwX25ld19mcm9tX2RhdGEoY29u c3QgZWNfbGlzdF9lbGVtZW50IGN1cnZlKQogICAgICAgICBFQ2VycihFQ19GX0VDX0dST1VQX05F V19GUk9NX0RBVEEsIEVSUl9SX0JOX0xJQik7CiAgICAgICAgIGdvdG8gZXJyOwogICAgIH0KLSAg ICBpZiAoIUVDX1BPSU5UX3NldF9hZmZpbmVfY29vcmRpbmF0ZXNfR0ZwKGdyb3VwLCBQLCB4LCB5 LCBjdHgpKSB7CisgICAgaWYgKCFFQ19QT0lOVF9zZXRfYWZmaW5lX2Nvb3JkaW5hdGVzKGdyb3Vw LCBQLCB4LCB5LCBjdHgpKSB7CiAgICAgICAgIEVDZXJyKEVDX0ZfRUNfR1JPVVBfTkVXX0ZST01f REFUQSwgRVJSX1JfRUNfTElCKTsKICAgICAgICAgZ290byBlcnI7CiAgICAgfQoKZGlmZiAtLWdp dCBhL2VjdGVzdC5jIGIvZWN0ZXN0LmMKaW5kZXggYzNhYzdjNi4uNWMyMGFjMyAxMDA2NDQKLS0t IGEvZWN0ZXN0LmMKKysrIGIvZWN0ZXN0LmMKQEAgLTMxLDYgKzMxLDcgQEAgc3RhdGljIGludCBn cm91cF9vcmRlcl90ZXN0cyhFQ19HUk9VUCAqZ3JvdXApCiB7CiAgICAgQklHTlVNICpuMSA9IE5V TEwsICpuMiA9IE5VTEwsICpvcmRlciA9IE5VTEw7CiAgICAgRUNfUE9JTlQgKlAgPSBOVUxMLCAq USA9IE5VTEwsICpSID0gTlVMTCwgKlMgPSBOVUxMOworICAgIGNvbnN0IEVDX1BPSU5UICpHID0g TlVMTDsKICAgICBCTl9DVFggKmN0eCA9IE5VTEw7CiAgICAgaW50IGkgPSAwLCByID0gMDsKIApA QCAtMzgsNiArMzksNyBAQCBzdGF0aWMgaW50IGdyb3VwX29yZGVyX3Rlc3RzKEVDX0dST1VQICpn cm91cCkKICAgICAgICAgfHwgIVRFU1RfcHRyKG4yID0gQk5fbmV3KCkpCiAgICAgICAgIHx8ICFU RVNUX3B0cihvcmRlciA9IEJOX25ldygpKQogICAgICAgICB8fCAhVEVTVF9wdHIoY3R4ID0gQk5f Q1RYX25ldygpKQorICAgICAgICB8fCAhVEVTVF9wdHIoRyA9IEVDX0dST1VQX2dldDBfZ2VuZXJh dG9yKGdyb3VwKSkKICAgICAgICAgfHwgIVRFU1RfcHRyKFAgPSBFQ19QT0lOVF9uZXcoZ3JvdXAp KQogICAgICAgICB8fCAhVEVTVF9wdHIoUSA9IEVDX1BPSU5UX25ldyhncm91cCkpCiAgICAgICAg IHx8ICFURVNUX3B0cihSID0gRUNfUE9JTlRfbmV3KGdyb3VwKSkKQEAgLTQ5LDcgKzUxLDE1IEBA IHN0YXRpYyBpbnQgZ3JvdXBfb3JkZXJfdGVzdHMoRUNfR1JPVVAgKmdyb3VwKQogICAgICAgICB8 fCAhVEVTVF90cnVlKEVDX1BPSU5UX2lzX2F0X2luZmluaXR5KGdyb3VwLCBRKSkKICAgICAgICAg fHwgIVRFU1RfdHJ1ZShFQ19HUk9VUF9wcmVjb21wdXRlX211bHQoZ3JvdXAsIGN0eCkpCiAgICAg ICAgIHx8ICFURVNUX3RydWUoRUNfUE9JTlRfbXVsKGdyb3VwLCBRLCBvcmRlciwgTlVMTCwgTlVM TCwgY3R4KSkKLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19QT0lOVF9pc19hdF9pbmZpbml0eShn cm91cCwgUSkpKQorICAgICAgICB8fCAhVEVTVF90cnVlKEVDX1BPSU5UX2lzX2F0X2luZmluaXR5 KGdyb3VwLCBRKSkKKyAgICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19QT0lOVF9jb3B5KFAsIEcpKQor ICAgICAgICB8fCAhVEVTVF90cnVlKEJOX29uZShuMSkpCisgICAgICAgIHx8ICFURVNUX3RydWUo RUNfUE9JTlRfbXVsKGdyb3VwLCBRLCBuMSwgTlVMTCwgTlVMTCwgY3R4KSkKKyAgICAgICAgfHwg IVRFU1RfaW50X2VxKDAsIEVDX1BPSU5UX2NtcChncm91cCwgUSwgUCwgY3R4KSkKKyAgICAgICAg fHwgIVRFU1RfdHJ1ZShCTl9zdWIobjEsIG9yZGVyLCBuMSkpCisgICAgICAgIHx8ICFURVNUX3Ry dWUoRUNfUE9JTlRfbXVsKGdyb3VwLCBRLCBuMSwgTlVMTCwgTlVMTCwgY3R4KSkKKyAgICAgICAg fHwgIVRFU1RfdHJ1ZShFQ19QT0lOVF9pbnZlcnQoZ3JvdXAsIFEsIGN0eCkpCisgICAgICAgIHx8 ICFURVNUX2ludF9lcSgwLCBFQ19QT0lOVF9jbXAoZ3JvdXAsIFEsIFAsIGN0eCkpKQogICAgICAg ICBnb3RvIGVycjsKIAogICAgIGZvciAoaSA9IDE7IGkgPD0gMjsgaSsrKSB7CkBAIC02Miw2ICs3 Miw3IEBAIHN0YXRpYyBpbnQgZ3JvdXBfb3JkZXJfdGVzdHMoRUNfR1JPVVAgKmdyb3VwKQogICAg ICAgICAgICAgICogRUNfR1JPVVBfcHJlY29tcHV0ZV9tdWx0IGhhcyBzZXQgdXAgcHJlY29tcHV0 YXRpb24uCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIHx8ICFURVNUX3RydWUoRUNfUE9J TlRfbXVsKGdyb3VwLCBQLCBuMSwgTlVMTCwgTlVMTCwgY3R4KSkKKyAgICAgICAgICAgIHx8IChp ID09IDEgJiYgIVRFU1RfaW50X2VxKDAsIEVDX1BPSU5UX2NtcChncm91cCwgUCwgRywgY3R4KSkp CiAgICAgICAgICAgICB8fCAhVEVTVF90cnVlKEJOX29uZShuMSkpCiAgICAgICAgICAgICAvKiBu MSA9IDEgLSBvcmRlciAqLwogICAgICAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9zdWIobjEsIG4x LCBvcmRlcikpCkBAIC0xODEsMTYgKzE5MiwxNSBAQCBzdGF0aWMgaW50IHByaW1lX2ZpZWxkX3Rl c3RzKHZvaWQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRkZGRkZGRkVG RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkUiKSkKICAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgy Ym4oJmIsICAgICAgICAgIkI0MDUwQTg1MEMwNEIzQUJGNTQxMzI1NiIKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICI1MDQ0QjBCN0Q3QkZEOEJBMjcwQjM5NDMyMzU1RkZCNCIp KQotICAgICAgICB8fCAhVEVTVF90cnVlKEVDX0dST1VQX3NldF9jdXJ2ZV9HRnAoZ3JvdXAsIHAs IGEsIGIsIGN0eCkpCisgICAgICAgIHx8ICFURVNUX3RydWUoRUNfR1JPVVBfc2V0X2N1cnZlKGdy b3VwLCBwLCBhLCBiLCBjdHgpKQogICAgICAgICB8fCAhVEVTVF90cnVlKEJOX2hleDJibigmeCwg ICAgICAgICAiQjcwRTBDQkQ2QkI0QkY3RjMyMTM5MEI5IgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIjRBMDNDMUQzNTZDMjExMjIzNDMyODBENjExNUMxRDIxIikpCi0gICAg ICAgIHx8ICFURVNUX3RydWUoRUNfUE9JTlRfc2V0X2NvbXByZXNzZWRfY29vcmRpbmF0ZXNfR0Zw KGdyb3VwLCBQLCB4LCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjdHgpKQorICAgICAgICB8fCAhVEVTVF90cnVlKEVDX1BP SU5UX3NldF9jb21wcmVzc2VkX2Nvb3JkaW5hdGVzKGdyb3VwLCBQLCB4LCAwLCBjdHgpKQogICAg ICAgICB8fCAhVEVTVF9pbnRfZ3QoRUNfUE9JTlRfaXNfb25fY3VydmUoZ3JvdXAsIFAsIGN0eCks IDApCiAgICAgICAgIHx8ICFURVNUX3RydWUoQk5faGV4MmJuKCZ6LCAgICAgICAgICJGRkZGRkZG RkZGRkZGRkZGRkZGRkZGRkYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi RkZGRjE2QTJFMEI4RjAzRTEzREQyOTQ1NUM1QzJBM0QiKSkKICAgICAgICAgfHwgIVRFU1RfdHJ1 ZShFQ19HUk9VUF9zZXRfZ2VuZXJhdG9yKGdyb3VwLCBQLCB6LCBCTl92YWx1ZV9vbmUoKSkpCi0g ICAgICAgIHx8ICFURVNUX3RydWUoRUNfUE9JTlRfZ2V0X2FmZmluZV9jb29yZGluYXRlc19HRnAo Z3JvdXAsIFAsIHgsIHksIGN0eCkpKQorICAgICAgICB8fCAhVEVTVF90cnVlKEVDX1BPSU5UX2dl dF9hZmZpbmVfY29vcmRpbmF0ZXMoZ3JvdXAsIFAsIHgsIHksIGN0eCkpKQogICAgICAgICBnb3Rv IGVycjsKIAogICAgIFRFU1RfaW5mbygiTklTVCBjdXJ2ZSBQLTIyNCAtLSBHZW5lcmF0b3IiKTsK QEAgLTIwNSw4ICsyMTUsOCBAQCBzdGF0aWMgaW50IHByaW1lX2ZpZWxkX3Rlc3RzKHZvaWQpCiAg ICAgICogV2hlbiAoeCwgeSkgaXMgb24gdGhlIGN1cnZlLCAoeCwgeSArIDEpIGlzLCBhcyBpdCBo YXBwZW5zLCBub3QsCiAgICAgICogYW5kIHRoZXJlZm9yZSBzZXR0aW5nIHRoZSBjb29yZGluYXRl cyBzaG91bGQgZmFpbC4KICAgICAgKi8KLSAgICAgICAgfHwgIVRFU1RfZmFsc2UoRUNfUE9JTlRf c2V0X2FmZmluZV9jb29yZGluYXRlc19HRnAoZ3JvdXAsIFAsIHgsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlwbHVzb25lLCBjdHgp KQorICAgICAgICB8fCAhVEVTVF9mYWxzZShFQ19QT0lOVF9zZXRfYWZmaW5lX2Nvb3JkaW5hdGVz KGdyb3VwLCBQLCB4LCB5cGx1c29uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjdHgpKQogICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRUNf R1JPVVBfZ2V0X2RlZ3JlZShncm91cCksIDIyNCkKICAgICAgICAgfHwgIWdyb3VwX29yZGVyX3Rl c3RzKGdyb3VwKQogICAgICAgICB8fCAhVEVTVF9wdHIoUF8yMjQgPSBFQ19HUk9VUF9uZXcoRUNf R1JPVVBfbWV0aG9kX29mKGdyb3VwKSkpCkBAIC0yMjEsMTcgKzIzMSwxNiBAQCBzdGF0aWMgaW50 IHByaW1lX2ZpZWxkX3Rlc3RzKHZvaWQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiMDAwMDAwMDBGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkMiKSkKICAgICAgICAgfHwgIVRF U1RfdHJ1ZShCTl9oZXgyYm4oJmIsICI1QUM2MzVEOEFBM0E5M0U3QjNFQkJENTU3Njk4ODZCQyIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI2NTFEMDZCMENDNTNCMEY2M0JD RTNDM0UyN0QyNjA0QiIpKQotICAgICAgICB8fCAhVEVTVF90cnVlKEVDX0dST1VQX3NldF9jdXJ2 ZV9HRnAoZ3JvdXAsIHAsIGEsIGIsIGN0eCkpCisgICAgICAgIHx8ICFURVNUX3RydWUoRUNfR1JP VVBfc2V0X2N1cnZlKGdyb3VwLCBwLCBhLCBiLCBjdHgpKQogCiAgICAgICAgIHx8ICFURVNUX3Ry dWUoQk5faGV4MmJuKCZ4LCAiNkIxN0QxRjJFMTJDNDI0N0Y4QkNFNkU1NjNBNDQwRjIiCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNzcwMzdEODEyREVCMzNBMEY0QTEzOTQ1 RDg5OEMyOTYiKSkKLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19QT0lOVF9zZXRfY29tcHJlc3Nl ZF9jb29yZGluYXRlc19HRnAoZ3JvdXAsIFAsIHgsIDEsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eCkpCisgICAgICAgIHx8 ICFURVNUX3RydWUoRUNfUE9JTlRfc2V0X2NvbXByZXNzZWRfY29vcmRpbmF0ZXMoZ3JvdXAsIFAs IHgsIDEsIGN0eCkpCiAgICAgICAgIHx8ICFURVNUX2ludF9ndChFQ19QT0lOVF9pc19vbl9jdXJ2 ZShncm91cCwgUCwgY3R4KSwgMCkKICAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgyYm4oJnos ICJGRkZGRkZGRjAwMDAwMDAwRkZGRkZGRkZGRkZGRkZGRiIKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJCQ0U2RkFBREE3MTc5RTg0RjNCOUNBQzJGQzYzMjU1MSIpKQogICAg ICAgICB8fCAhVEVTVF90cnVlKEVDX0dST1VQX3NldF9nZW5lcmF0b3IoZ3JvdXAsIFAsIHosIEJO X3ZhbHVlX29uZSgpKSkKLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19QT0lOVF9nZXRfYWZmaW5l X2Nvb3JkaW5hdGVzX0dGcChncm91cCwgUCwgeCwgeSwgY3R4KSkpCisgICAgICAgIHx8ICFURVNU X3RydWUoRUNfUE9JTlRfZ2V0X2FmZmluZV9jb29yZGluYXRlcyhncm91cCwgUCwgeCwgeSwgY3R4 KSkpCiAgICAgICAgIGdvdG8gZXJyOwogCiAgICAgVEVTVF9pbmZvKCJOSVNUIGN1cnZlIFAtMjU2 IC0tIEdlbmVyYXRvciIpOwpAQCAtMjQ2LDggKzI1NSw4IEBAIHN0YXRpYyBpbnQgcHJpbWVfZmll bGRfdGVzdHModm9pZCkKICAgICAgKiBXaGVuICh4LCB5KSBpcyBvbiB0aGUgY3VydmUsICh4LCB5 ICsgMSkgaXMsIGFzIGl0IGhhcHBlbnMsIG5vdCwKICAgICAgKiBhbmQgdGhlcmVmb3JlIHNldHRp bmcgdGhlIGNvb3JkaW5hdGVzIHNob3VsZCBmYWlsLgogICAgICAqLwotICAgICAgICB8fCAhVEVT VF9mYWxzZShFQ19QT0lOVF9zZXRfYWZmaW5lX2Nvb3JkaW5hdGVzX0dGcChncm91cCwgUCwgeCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgeXBsdXNvbmUsIGN0eCkpCisgICAgICAgIHx8ICFURVNUX2ZhbHNlKEVDX1BPSU5UX3NldF9h ZmZpbmVfY29vcmRpbmF0ZXMoZ3JvdXAsIFAsIHgsIHlwbHVzb25lLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eCkpCiAgICAgICAgIHx8 ICFURVNUX2ludF9lcShFQ19HUk9VUF9nZXRfZGVncmVlKGdyb3VwKSwgMjU2KQogICAgICAgICB8 fCAhZ3JvdXBfb3JkZXJfdGVzdHMoZ3JvdXApCiAgICAgICAgIHx8ICFURVNUX3B0cihQXzI1NiA9 IEVDX0dST1VQX25ldyhFQ19HUk9VUF9tZXRob2Rfb2YoZ3JvdXApKSkKQEAgLTI2NSwxOSArMjc0 LDE4IEBAIHN0YXRpYyBpbnQgcHJpbWVfZmllbGRfdGVzdHModm9pZCkKICAgICAgICAgfHwgIVRF U1RfdHJ1ZShCTl9oZXgyYm4oJmIsICJCMzMxMkZBN0UyM0VFN0U0OTg4RTA1NkJFM0Y4MkQxOSIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxODFEOUM2RUZFODE0MTEyMDMx NDA4OEY1MDEzODc1QSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDNjU2 Mzk4RDhBMkVEMTlEMkE4NUM4RUREM0VDMkFFRiIpKQotICAgICAgICB8fCAhVEVTVF90cnVlKEVD X0dST1VQX3NldF9jdXJ2ZV9HRnAoZ3JvdXAsIHAsIGEsIGIsIGN0eCkpCisgICAgICAgIHx8ICFU RVNUX3RydWUoRUNfR1JPVVBfc2V0X2N1cnZlKGdyb3VwLCBwLCBhLCBiLCBjdHgpKQogCiAgICAg ICAgIHx8ICFURVNUX3RydWUoQk5faGV4MmJuKCZ4LCAiQUE4N0NBMjJCRThCMDUzNzhFQjFDNzFF RjMyMEFENzQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNkUxRDNCNjI4 QkE3OUI5ODU5Rjc0MUUwODI1NDJBMzgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiNTUwMkYyNURCRjU1Mjk2QzNBNTQ1RTM4NzI3NjBBQjciKSkKLSAgICAgICAgfHwgIVRF U1RfdHJ1ZShFQ19QT0lOVF9zZXRfY29tcHJlc3NlZF9jb29yZGluYXRlc19HRnAoZ3JvdXAsIFAs IHgsIDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN0eCkpCisgICAgICAgIHx8ICFURVNUX3RydWUoRUNfUE9JTlRfc2V0X2Nv bXByZXNzZWRfY29vcmRpbmF0ZXMoZ3JvdXAsIFAsIHgsIDEsIGN0eCkpCiAgICAgICAgIHx8ICFU RVNUX2ludF9ndChFQ19QT0lOVF9pc19vbl9jdXJ2ZShncm91cCwgUCwgY3R4KSwgMCkKICAgICAg ICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgyYm4oJnosICJGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZG RkZGRkZGRiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGRkZGRkZGRkZG RkZGRkZGQzc2MzREODFGNDM3MkRERiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICI1ODFBMERCMjQ4QjBBNzdBRUNFQzE5NkFDQ0M1Mjk3MyIpKQogICAgICAgICB8fCAhVEVT VF90cnVlKEVDX0dST1VQX3NldF9nZW5lcmF0b3IoZ3JvdXAsIFAsIHosIEJOX3ZhbHVlX29uZSgp KSkKLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19QT0lOVF9nZXRfYWZmaW5lX2Nvb3JkaW5hdGVz X0dGcChncm91cCwgUCwgeCwgeSwgY3R4KSkpCisgICAgICAgIHx8ICFURVNUX3RydWUoRUNfUE9J TlRfZ2V0X2FmZmluZV9jb29yZGluYXRlcyhncm91cCwgUCwgeCwgeSwgY3R4KSkpCiAgICAgICAg IGdvdG8gZXJyOwogCiAgICAgVEVTVF9pbmZvKCJOSVNUIGN1cnZlIFAtMzg0IC0tIEdlbmVyYXRv ciIpOwpAQCAtMjkzLDggKzMwMSw4IEBAIHN0YXRpYyBpbnQgcHJpbWVfZmllbGRfdGVzdHModm9p ZCkKICAgICAgKiBXaGVuICh4LCB5KSBpcyBvbiB0aGUgY3VydmUsICh4LCB5ICsgMSkgaXMsIGFz IGl0IGhhcHBlbnMsIG5vdCwKICAgICAgKiBhbmQgdGhlcmVmb3JlIHNldHRpbmcgdGhlIGNvb3Jk aW5hdGVzIHNob3VsZCBmYWlsLgogICAgICAqLwotICAgICAgICB8fCAhVEVTVF9mYWxzZShFQ19Q T0lOVF9zZXRfYWZmaW5lX2Nvb3JkaW5hdGVzX0dGcChncm91cCwgUCwgeCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeXBsdXNvbmUs IGN0eCkpCisgICAgICAgIHx8ICFURVNUX2ZhbHNlKEVDX1BPSU5UX3NldF9hZmZpbmVfY29vcmRp bmF0ZXMoZ3JvdXAsIFAsIHgsIHlwbHVzb25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eCkpCiAgICAgICAgIHx8ICFURVNUX2ludF9l cShFQ19HUk9VUF9nZXRfZGVncmVlKGdyb3VwKSwgMzg0KQogICAgICAgICB8fCAhZ3JvdXBfb3Jk ZXJfdGVzdHMoZ3JvdXApCiAgICAgICAgIHx8ICFURVNUX3B0cihQXzM4NCA9IEVDX0dST1VQX25l dyhFQ19HUk9VUF9tZXRob2Rfb2YoZ3JvdXApKSkKQEAgLTMxNywxNCArMzI1LDEzIEBAIHN0YXRp YyBpbnQgcHJpbWVfZmllbGRfdGVzdHModm9pZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJBMkRBNzI1Qjk5QjMxNUYzQjhCNDg5OTE4RUYxMDlFMSIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICI1NjE5Mzk1MUVDN0U5MzdCMTY1MkMwQkQzQkIxQkYw NyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIzNTczREY4ODNEMkMzNEYx RUY0NTFGRDQ2QjUwM0YwMCIpKQotICAgICAgICB8fCAhVEVTVF90cnVlKEVDX0dST1VQX3NldF9j dXJ2ZV9HRnAoZ3JvdXAsIHAsIGEsIGIsIGN0eCkpCisgICAgICAgIHx8ICFURVNUX3RydWUoRUNf R1JPVVBfc2V0X2N1cnZlKGdyb3VwLCBwLCBhLCBiLCBjdHgpKQogICAgICAgICB8fCAhVEVTVF90 cnVlKEJOX2hleDJibigmeCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkM2IgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjg1OEUwNkI3MDQwNEU5Q0Q5RTNFQ0I2 NjIzOTVCNDQyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjlDNjQ4MTM5 MDUzRkI1MjFGODI4QUY2MDZCNEQzREJBIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIkExNEI1RTc3RUZFNzU5MjhGRTFEQzEyN0EyRkZBOERFIgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIjMzNDhCM0MxODU2QTQyOUJGOTdFN0UzMUMyRTVCRDY2Iikp Ci0gICAgICAgIHx8ICFURVNUX3RydWUoRUNfUE9JTlRfc2V0X2NvbXByZXNzZWRfY29vcmRpbmF0 ZXNfR0ZwKGdyb3VwLCBQLCB4LCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgpKQorICAgICAgICB8fCAhVEVTVF90cnVl KEVDX1BPSU5UX3NldF9jb21wcmVzc2VkX2Nvb3JkaW5hdGVzKGdyb3VwLCBQLCB4LCAwLCBjdHgp KQogICAgICAgICB8fCAhVEVTVF9pbnRfZ3QoRUNfUE9JTlRfaXNfb25fY3VydmUoZ3JvdXAsIFAs IGN0eCksIDApCiAgICAgICAgIHx8ICFURVNUX3RydWUoQk5faGV4MmJuKCZ6LCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICIxRkYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYiCkBAIC0zMzIsNyArMzM5LDcg QEAgc3RhdGljIGludCBwcmltZV9maWVsZF90ZXN0cyh2b2lkKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIjUxODY4NzgzQkYyRjk2NkI3RkNDMDE0OEY3MDlBNUQwIgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjNCQjVDOUI4ODk5QzQ3QUVCQjZGQjcx RTkxMzg2NDA5IikpCiAgICAgICAgIHx8ICFURVNUX3RydWUoRUNfR1JPVVBfc2V0X2dlbmVyYXRv cihncm91cCwgUCwgeiwgQk5fdmFsdWVfb25lKCkpKQotICAgICAgICB8fCAhVEVTVF90cnVlKEVD X1BPSU5UX2dldF9hZmZpbmVfY29vcmRpbmF0ZXNfR0ZwKGdyb3VwLCBQLCB4LCB5LCBjdHgpKSkK KyAgICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19QT0lOVF9nZXRfYWZmaW5lX2Nvb3JkaW5hdGVzKGdy b3VwLCBQLCB4LCB5LCBjdHgpKSkKICAgICAgICAgZ290byBlcnI7CiAKICAgICBURVNUX2luZm8o Ik5JU1QgY3VydmUgUC01MjEgLS0gR2VuZXJhdG9yIik7CkBAIC0zNTAsOCArMzU3LDggQEAgc3Rh dGljIGludCBwcmltZV9maWVsZF90ZXN0cyh2b2lkKQogICAgICAqIFdoZW4gKHgsIHkpIGlzIG9u IHRoZSBjdXJ2ZSwgKHgsIHkgKyAxKSBpcywgYXMgaXQgaGFwcGVucywgbm90LAogICAgICAqIGFu ZCB0aGVyZWZvcmUgc2V0dGluZyB0aGUgY29vcmRpbmF0ZXMgc2hvdWxkIGZhaWwuCiAgICAgICov Ci0gICAgICAgIHx8ICFURVNUX2ZhbHNlKEVDX1BPSU5UX3NldF9hZmZpbmVfY29vcmRpbmF0ZXNf R0ZwKGdyb3VwLCBQLCB4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB5cGx1c29uZSwgY3R4KSkKKyAgICAgICAgfHwgIVRFU1RfZmFs c2UoRUNfUE9JTlRfc2V0X2FmZmluZV9jb29yZGluYXRlcyhncm91cCwgUCwgeCwgeXBsdXNvbmUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3R4KSkKICAgICAgICAgfHwgIVRFU1RfaW50X2VxKEVDX0dST1VQX2dldF9kZWdyZWUoZ3JvdXAp LCA1MjEpCiAgICAgICAgIHx8ICFncm91cF9vcmRlcl90ZXN0cyhncm91cCkKICAgICAgICAgfHwg IVRFU1RfcHRyKFBfNTIxID0gRUNfR1JPVVBfbmV3KEVDX0dST1VQX21ldGhvZF9vZihncm91cCkp KQpAQCAtMzYwLDcgKzM2Nyw3IEBAIHN0YXRpYyBpbnQgcHJpbWVfZmllbGRfdGVzdHModm9pZCkK ICAgICAvKiBtb3JlIHRlc3RzIHVzaW5nIHRoZSBsYXN0IGN1cnZlICovCiAKICAgICAvKiBSZXN0 b3JlIHRoZSBwb2ludCB0aGF0IGdvdCBtYW5nbGVkIGluIHRoZSAoeCwgeSArIDEpIHRlc3QuICov Ci0gICAgICAgIHx8ICFURVNUX3RydWUoRUNfUE9JTlRfc2V0X2FmZmluZV9jb29yZGluYXRlc19H RnAoZ3JvdXAsIFAsIHgsIHksIGN0eCkpCisgICAgICAgIHx8ICFURVNUX3RydWUoRUNfUE9JTlRf c2V0X2FmZmluZV9jb29yZGluYXRlcyhncm91cCwgUCwgeCwgeSwgY3R4KSkKICAgICAgICAgfHwg IVRFU1RfdHJ1ZShFQ19QT0lOVF9jb3B5KFEsIFApKQogICAgICAgICB8fCAhVEVTVF9mYWxzZShF Q19QT0lOVF9pc19hdF9pbmZpbml0eShncm91cCwgUSkpCiAgICAgICAgIHx8ICFURVNUX3RydWUo RUNfUE9JTlRfZGJsKGdyb3VwLCBQLCBQLCBjdHgpKQpAQCAtNDgzLDcgKzQ5MCw3IEBAIHN0YXRp YyBpbnQgaW50ZXJuYWxfY3VydmVfdGVzdF9tZXRob2QoaW50IG4pCiAgKiBpbXBsZW1lbnRhdGlv bnMgb2Ygc2V2ZXJhbCBOSVNUIGN1cnZlcyB3aXRoIGNoYXJhY3RlcmlzdGljID4gMy4KICAqLwog c3RydWN0IG5pc3RwX3Rlc3RfcGFyYW1zIHsKLSAgICBjb25zdCBFQ19NRVRIT0QgKigqbWV0aCkg KCk7CisgICAgY29uc3QgRUNfTUVUSE9EICooKm1ldGgpICh2b2lkKTsKICAgICBpbnQgZGVncmVl OwogICAgIC8qCiAgICAgICogUXgsIFF5IGFuZCBEIGFyZSB0YWtlbiBmcm9tCkBAIC02MTEsNyAr NjE4LDcgQEAgc3RhdGljIGludCBuaXN0cF9zaW5nbGVfdGVzdChpbnQgaWR4KQogICAgICAgICB8 fCAhVEVTVF9pbnRfZXEoMSwgQk5faXNfcHJpbWVfZXgocCwgQk5fcHJpbWVfY2hlY2tzLCBjdHgs IE5VTEwpKQogICAgICAgICB8fCAhVEVTVF90cnVlKEJOX2hleDJibigmYSwgdGVzdC0+YSkpCiAg ICAgICAgIHx8ICFURVNUX3RydWUoQk5faGV4MmJuKCZiLCB0ZXN0LT5iKSkKLSAgICAgICAgfHwg IVRFU1RfdHJ1ZShFQ19HUk9VUF9zZXRfY3VydmVfR0ZwKE5JU1RQLCBwLCBhLCBiLCBjdHgpKQor ICAgICAgICB8fCAhVEVTVF90cnVlKEVDX0dST1VQX3NldF9jdXJ2ZShOSVNUUCwgcCwgYSwgYiwg Y3R4KSkKICAgICAgICAgfHwgIVRFU1RfcHRyKEcgPSBFQ19QT0lOVF9uZXcoTklTVFApKQogICAg ICAgICB8fCAhVEVTVF9wdHIoUCA9IEVDX1BPSU5UX25ldyhOSVNUUCkpCiAgICAgICAgIHx8ICFU RVNUX3B0cihRID0gRUNfUE9JTlRfbmV3KE5JU1RQKSkKQEAgLTYyMywxMyArNjMwLDEzIEBAIHN0 YXRpYyBpbnQgbmlzdHBfc2luZ2xlX3Rlc3QoaW50IGlkeCkKICAgICAgKiBXaGVuICh4LCB5KSBp cyBvbiB0aGUgY3VydmUsICh4LCB5ICsgMSkgaXMsIGFzIGl0IGhhcHBlbnMsIG5vdCwKICAgICAg KiBhbmQgdGhlcmVmb3JlIHNldHRpbmcgdGhlIGNvb3JkaW5hdGVzIHNob3VsZCBmYWlsLgogICAg ICAqLwotICAgICAgICB8fCAhVEVTVF9mYWxzZShFQ19QT0lOVF9zZXRfYWZmaW5lX2Nvb3JkaW5h dGVzX0dGcChOSVNUUCwgUV9DSEVDSywgeCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeXBsdXNvbmUsIGN0eCkpCi0gICAgICAgIHx8 ICFURVNUX3RydWUoRUNfUE9JTlRfc2V0X2FmZmluZV9jb29yZGluYXRlc19HRnAoTklTVFAsIFFf Q0hFQ0ssIHgsIHksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3R4KSkKKyAgICAgICAgfHwgIVRFU1RfZmFsc2UoRUNfUE9JTlRfc2V0 X2FmZmluZV9jb29yZGluYXRlcyhOSVNUUCwgUV9DSEVDSywgeCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5cGx1c29uZSwgY3R4KSkKKyAg ICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19QT0lOVF9zZXRfYWZmaW5lX2Nvb3JkaW5hdGVzKE5JU1RQ LCBRX0NIRUNLLCB4LCB5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3R4KSkKICAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgyYm4oJngs IHRlc3QtPkd4KSkKICAgICAgICAgfHwgIVRFU1RfdHJ1ZShCTl9oZXgyYm4oJnksIHRlc3QtPkd5 KSkKLSAgICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19QT0lOVF9zZXRfYWZmaW5lX2Nvb3JkaW5hdGVz X0dGcChOSVNUUCwgRywgeCwgeSwgY3R4KSkKKyAgICAgICAgfHwgIVRFU1RfdHJ1ZShFQ19QT0lO VF9zZXRfYWZmaW5lX2Nvb3JkaW5hdGVzKE5JU1RQLCBHLCB4LCB5LCBjdHgpKQogICAgICAgICB8 fCAhVEVTVF90cnVlKEJOX2hleDJibigmb3JkZXIsIHRlc3QtPm9yZGVyKSkKICAgICAgICAgfHwg IVRFU1RfdHJ1ZShFQ19HUk9VUF9zZXRfZ2VuZXJhdG9yKE5JU1RQLCBHLCBvcmRlciwgQk5fdmFs dWVfb25lKCkpKQogICAgICAgICB8fCAhVEVTVF9pbnRfZXEoRUNfR1JPVVBfZ2V0X2RlZ3JlZShO SVNUUCksIHRlc3QtPmRlZ3JlZSkpCgpkaWZmIC0tZ2l0IGEvb3BlbnNzbC0xLjEuMS1iaWRpLXNo dXRkb3duLnBhdGNoIGIvb3BlbnNzbC0xLjEuMS1iaWRpLXNodXRkb3duLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNGYyMWY4Li4wMDAwMDAwCi0tLSBhL29wZW5zc2wtMS4x LjEtYmlkaS1zaHV0ZG93bi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1NyArMCwwIEBACi1k aWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2Vyci9vcGVuc3NsLnR4dC5iaWRpLXNo dXRkb3duIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXJyL29wZW5zc2wudHh0Ci0tLS0gb3Bl bnNzbC0xLjEuMS1wcmU4L2NyeXB0by9lcnIvb3BlbnNzbC50eHQuYmlkaS1zaHV0ZG93bgkyMDE4 LTA2LTIwIDE2OjQ4OjEwLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9j cnlwdG8vZXJyL29wZW5zc2wudHh0CTIwMTgtMDgtMTMgMTU6NDM6MDcuMjQ4NDM4MDMxICswMjAw Ci1AQCAtMjU0MSw2ICsyNTQxLDggQEAgU00yX1JfSU5WQUxJRF9FTkNPRElORzoxMDQ6aW52YWxp ZCBlbmNvZAotIFNNMl9SX0lOVkFMSURfRklFTEQ6MTA1OmludmFsaWQgZmllbGQKLSBTTTJfUl9O T19QQVJBTUVURVJTX1NFVDoxMDk6bm8gcGFyYW1ldGVycyBzZXQKLSBTTTJfUl9VU0VSX0lEX1RP T19MQVJHRToxMDY6dXNlciBpZCB0b28gbGFyZ2UKLStTU0xfUl9BUFBMSUNBVElPTl9EQVRBX0FG VEVSX0NMT1NFX05PVElGWToyOTE6XAotKwlhcHBsaWNhdGlvbiBkYXRhIGFmdGVyIGNsb3NlIG5v dGlmeQotIFNTTF9SX0FQUF9EQVRBX0lOX0hBTkRTSEFLRToxMDA6YXBwIGRhdGEgaW4gaGFuZHNo YWtlCi0gU1NMX1JfQVRURU1QVF9UT19SRVVTRV9TRVNTSU9OX0lOX0RJRkZFUkVOVF9DT05URVhU OjI3MjpcCi0gCWF0dGVtcHQgdG8gcmV1c2Ugc2Vzc2lvbiBpbiBkaWZmZXJlbnQgY29udGV4dAot ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9zc2xlcnIuaC5iaWRp LXNodXRkb3duIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvc3NsZXJyLmgKLS0t LSBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3NsL3NzbGVyci5oLmJpZGktc2h1dGRv d24JMjAxOC0wNi0yMCAxNjo0ODoxMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4x LXByZTgvaW5jbHVkZS9vcGVuc3NsL3NzbGVyci5oCTIwMTgtMDgtMTMgMTU6NDM6MDcuMjUwNDM4 MDc5ICswMjAwCi1AQCAtNDQ2LDYgKzQ0Niw3IEBAIGludCBFUlJfbG9hZF9TU0xfc3RyaW5ncyh2 b2lkKTsKLSAvKgotICAqIFNTTCByZWFzb24gY29kZXMuCi0gICovCi0rIyBkZWZpbmUgU1NMX1Jf QVBQTElDQVRJT05fREFUQV9BRlRFUl9DTE9TRV9OT1RJRlkgICAgICAgIDI5MQotICMgZGVmaW5l IFNTTF9SX0FQUF9EQVRBX0lOX0hBTkRTSEFLRSAgICAgICAgICAgICAgICAgICAgICAxMDAKLSAj IGRlZmluZSBTU0xfUl9BVFRFTVBUX1RPX1JFVVNFX1NFU1NJT05fSU5fRElGRkVSRU5UX0NPTlRF WFQgMjcyCi0gIyBkZWZpbmUgU1NMX1JfQVRfTEVBU1RfVExTXzFfMF9ORUVERURfSU5fRklQU19N T0RFICAgICAgIDE0MwotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9yZWNvcmQvcmVj X2xheWVyX3MzLmMuYmlkaS1zaHV0ZG93biBvcGVuc3NsLTEuMS4xLXByZTgvc3NsL3JlY29yZC9y ZWNfbGF5ZXJfczMuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9zc2wvcmVjb3JkL3JlY19sYXll cl9zMy5jLmJpZGktc2h1dGRvd24JMjAxOC0wNi0yMCAxNjo0ODoxMy4wMDAwMDAwMDAgKzAyMDAK LSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvc3NsL3JlY29yZC9yZWNfbGF5ZXJfczMuYwkyMDE4LTA4 LTEzIDE1OjQzOjA3LjI1MDQzODA3OSArMDIwMAotQEAgLTE0NTcsNDAgKzE0NTcsNiBAQCBpbnQg c3NsM19yZWFkX2J5dGVzKFNTTCAqcywgaW50IHR5cGUsIGluCi0gICAgICAgICByZXR1cm4gLTE7 Ci0gICAgIH0KLSAKLS0gICAgLyoKLS0gICAgICogSW4gY2FzZSBvZiByZWNvcmQgdHlwZXMgZm9y IHdoaWNoIHdlIGhhdmUgJ2ZyYWdtZW50JyBzdG9yYWdlLCBmaWxsCi0tICAgICAqIHRoYXQgc28g dGhhdCB3ZSBjYW4gcHJvY2VzcyB0aGUgZGF0YSBhdCBhIGZpeGVkIHBsYWNlLgotLSAgICAgKi8K LS0gICAgewotLSAgICAgICAgc2l6ZV90IGRlc3RfbWF4bGVuID0gMDsKLS0gICAgICAgIHVuc2ln bmVkIGNoYXIgKmRlc3QgPSBOVUxMOwotLSAgICAgICAgc2l6ZV90ICpkZXN0X2xlbiA9IE5VTEw7 Ci0tCi0tICAgICAgICBpZiAoU1NMM19SRUNPUkRfZ2V0X3R5cGUocnIpID09IFNTTDNfUlRfSEFO RFNIQUtFKSB7Ci0tICAgICAgICAgICAgZGVzdF9tYXhsZW4gPSBzaXplb2Yocy0+cmxheWVyLmhh bmRzaGFrZV9mcmFnbWVudCk7Ci0tICAgICAgICAgICAgZGVzdCA9IHMtPnJsYXllci5oYW5kc2hh a2VfZnJhZ21lbnQ7Ci0tICAgICAgICAgICAgZGVzdF9sZW4gPSAmcy0+cmxheWVyLmhhbmRzaGFr ZV9mcmFnbWVudF9sZW47Ci0tICAgICAgICB9Ci0tCi0tICAgICAgICBpZiAoZGVzdF9tYXhsZW4g PiAwKSB7Ci0tICAgICAgICAgICAgbiA9IGRlc3RfbWF4bGVuIC0gKmRlc3RfbGVuOyAvKiBhdmFp bGFibGUgc3BhY2UgaW4gJ2Rlc3QnICovCi0tICAgICAgICAgICAgaWYgKFNTTDNfUkVDT1JEX2dl dF9sZW5ndGgocnIpIDwgbikKLS0gICAgICAgICAgICAgICAgbiA9IFNTTDNfUkVDT1JEX2dldF9s ZW5ndGgocnIpOyAvKiBhdmFpbGFibGUgYnl0ZXMgKi8KLS0KLS0gICAgICAgICAgICAvKiBub3cg bW92ZSAnbicgYnl0ZXM6ICovCi0tICAgICAgICAgICAgbWVtY3B5KGRlc3QgKyAqZGVzdF9sZW4s Ci0tICAgICAgICAgICAgICAgICAgIFNTTDNfUkVDT1JEX2dldF9kYXRhKHJyKSArIFNTTDNfUkVD T1JEX2dldF9vZmYocnIpLCBuKTsKLS0gICAgICAgICAgICBTU0wzX1JFQ09SRF9hZGRfb2ZmKHJy LCBuKTsKLS0gICAgICAgICAgICBTU0wzX1JFQ09SRF9zdWJfbGVuZ3RoKHJyLCBuKTsKLS0gICAg ICAgICAgICAqZGVzdF9sZW4gKz0gbjsKLS0gICAgICAgICAgICBpZiAoU1NMM19SRUNPUkRfZ2V0 X2xlbmd0aChycikgPT0gMCkKLS0gICAgICAgICAgICAgICAgU1NMM19SRUNPUkRfc2V0X3JlYWQo cnIpOwotLQotLSAgICAgICAgICAgIGlmICgqZGVzdF9sZW4gPCBkZXN0X21heGxlbikKLS0gICAg ICAgICAgICAgICAgZ290byBzdGFydDsgICAgIC8qIGZyYWdtZW50IHdhcyB0b28gc21hbGwgKi8K LS0gICAgICAgIH0KLS0gICAgfQotLQotICAgICAvKi0KLSAgICAgICogcy0+cmxheWVyLmhhbmRz aGFrZV9mcmFnbWVudF9sZW4gPT0gNCAgaWZmICByci0+dHlwZSA9PSBTU0wzX1JUX0hBTkRTSEFL RTsKLSAgICAgICogKFBvc3NpYmx5IHJyIGlzICdlbXB0eScgbm93LCBpLmUuIHJyLT5sZW5ndGgg bWF5IGJlIDAuKQotQEAgLTE1ODMsMTIgKzE1NDksNzAgQEAgaW50IHNzbDNfcmVhZF9ieXRlcyhT U0wgKnMsIGludCB0eXBlLCBpbgotICAgICAgICAgcmV0dXJuIC0xOwotICAgICB9Ci0gCi0tICAg IGlmIChzLT5zaHV0ZG93biAmIFNTTF9TRU5UX1NIVVRET1dOKSB7IC8qIGJ1dCB3ZSBoYXZlIG5v dCByZWNlaXZlZCBhCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqIHNodXRkb3duICovCi0tICAgICAgICBzLT5yd3N0YXRlID0gU1NMX05PVEhJTkc7Ci0rICAg IC8qCi0rICAgICAqIElmIHdlJ3ZlIHNlbnQgYSBjbG9zZV9ub3RpZnkgYnV0IG5vdCB5ZXQgcmVj ZWl2ZWQgb25lIGJhY2sgdGhlbiBkaXRjaAotKyAgICAgKiBhbnl0aGluZyB3ZSByZWFkLgotKyAg ICAgKi8KLSsgICAgaWYgKChzLT5zaHV0ZG93biAmIFNTTF9TRU5UX1NIVVRET1dOKSAhPSAwKSB7 Ci0rICAgICAgICAvKgotKyAgICAgICAgICogSW4gVExTdjEuMyB0aGlzIGNvdWxkIGdldCBwcm9i bGVtYXRpYyBpZiB3ZSByZWNlaXZlIGEgS2V5VXBkYXRlCi0rICAgICAgICAgKiBtZXNzYWdlIGFm dGVyIHdlIHNlbnQgYSBjbG9zZV9ub3RpZnkgYmVjYXVzZSB3ZSdyZSBhYm91dCB0byBkaXRjaCBp dCwKLSsgICAgICAgICAqIHNvIHdlIHdvbid0IGJlIGFibGUgdG8gcmVhZCBhIGNsb3NlX25vdGlm eSBzZW50IGFmdGVyd2FyZHMhIFdlIGRvbid0Ci0rICAgICAgICAgKiBzdXBwb3J0IHRoYXQuCi0r ICAgICAgICAgKi8KLSAgICAgICAgIFNTTDNfUkVDT1JEX3NldF9sZW5ndGgocnIsIDApOwotICAg ICAgICAgU1NMM19SRUNPUkRfc2V0X3JlYWQocnIpOwotLSAgICAgICAgcmV0dXJuIDA7Ci0rCi0r ICAgICAgICBpZiAoU1NMM19SRUNPUkRfZ2V0X3R5cGUocnIpID09IFNTTDNfUlRfSEFORFNIQUtF KSB7Ci0rICAgICAgICAgICAgQklPICpyYmlvOwotKwotKyAgICAgICAgICAgIGlmICgocy0+bW9k ZSAmIFNTTF9NT0RFX0FVVE9fUkVUUlkpICE9IDApCi0rICAgICAgICAgICAgICAgIGdvdG8gc3Rh cnQ7Ci0rCi0rICAgICAgICAgICAgcy0+cndzdGF0ZSA9IFNTTF9SRUFESU5HOwotKyAgICAgICAg ICAgIHJiaW8gPSBTU0xfZ2V0X3JiaW8ocyk7Ci0rICAgICAgICAgICAgQklPX2NsZWFyX3JldHJ5 X2ZsYWdzKHJiaW8pOwotKyAgICAgICAgICAgIEJJT19zZXRfcmV0cnlfcmVhZChyYmlvKTsKLSsg ICAgICAgIH0gZWxzZSB7Ci0rICAgICAgICAgICAgLyoKLSsgICAgICAgICAgICAgKiBUaGUgcGVl ciBpcyBjb250aW51aW5nIHRvIHNlbmQgYXBwbGljYXRpb24gZGF0YSwgYnV0IHdlIGhhdmUKLSsg ICAgICAgICAgICAgKiBhbHJlYWR5IHNlbnQgY2xvc2Vfbm90aWZ5LiBJZiB0aGlzIHdhcyBleHBl Y3RlZCB3ZSBzaG91bGQgaGF2ZQotKyAgICAgICAgICAgICAqIGJlZW4gY2FsbGVkIHZpYSBTU0xf cmVhZCgpIGFuZCB0aGlzIHdvdWxkIGhhdmUgYmVlbiBoYW5kbGVkCi0rICAgICAgICAgICAgICog YWJvdmUuCi0rICAgICAgICAgICAgICogTm8gYWxlcnQgc2VudCBiZWNhdXNlIHdlIGFscmVhZHkg c2VudCBjbG9zZV9ub3RpZnkKLSsgICAgICAgICAgICAgKi8KLSsgICAgICAgICAgICBTU0xmYXRh bChzLCBTU0xfQURfTk9fQUxFUlQsIFNTTF9GX1NTTDNfUkVBRF9CWVRFUywKLSsgICAgICAgICAg ICAgICAgICAgICBTU0xfUl9BUFBMSUNBVElPTl9EQVRBX0FGVEVSX0NMT1NFX05PVElGWSk7Ci0r ICAgICAgICB9Ci0rICAgICAgICByZXR1cm4gLTE7Ci0rICAgIH0KLSsKLSsgICAgLyoKLSsgICAg ICogRm9yIGhhbmRzaGFrZSBkYXRhIHdlIGhhdmUgJ2ZyYWdtZW50JyBzdG9yYWdlLCBzbyBmaWxs IHRoYXQgc28gdGhhdCB3ZQotKyAgICAgKiBjYW4gcHJvY2VzcyB0aGUgaGVhZGVyIGF0IGEgZml4 ZWQgcGxhY2UuIFRoaXMgaXMgZG9uZSBhZnRlciB0aGUKLSsgICAgICogIlNIVVRET1dOIiBjb2Rl IGFib3ZlIHRvIGF2b2lkIGZpbGxpbmcgdGhlIGZyYWdtZW50IHN0b3JhZ2Ugd2l0aCBkYXRhCi0r ICAgICAqIHRoYXQgd2UncmUganVzdCBnb2luZyB0byBkaXNjYXJkLgotKyAgICAgKi8KLSsgICAg aWYgKFNTTDNfUkVDT1JEX2dldF90eXBlKHJyKSA9PSBTU0wzX1JUX0hBTkRTSEFLRSkgewotKyAg ICAgICAgc2l6ZV90IGRlc3RfbWF4bGVuID0gc2l6ZW9mKHMtPnJsYXllci5oYW5kc2hha2VfZnJh Z21lbnQpOwotKyAgICAgICAgdW5zaWduZWQgY2hhciAqZGVzdCA9IHMtPnJsYXllci5oYW5kc2hh a2VfZnJhZ21lbnQ7Ci0rICAgICAgICBzaXplX3QgKmRlc3RfbGVuID0gJnMtPnJsYXllci5oYW5k c2hha2VfZnJhZ21lbnRfbGVuOwotKwotKyAgICAgICAgbiA9IGRlc3RfbWF4bGVuIC0gKmRlc3Rf bGVuOyAvKiBhdmFpbGFibGUgc3BhY2UgaW4gJ2Rlc3QnICovCi0rICAgICAgICBpZiAoU1NMM19S RUNPUkRfZ2V0X2xlbmd0aChycikgPCBuKQotKyAgICAgICAgICAgIG4gPSBTU0wzX1JFQ09SRF9n ZXRfbGVuZ3RoKHJyKTsgLyogYXZhaWxhYmxlIGJ5dGVzICovCi0rCi0rICAgICAgICAvKiBub3cg bW92ZSAnbicgYnl0ZXM6ICovCi0rICAgICAgICBtZW1jcHkoZGVzdCArICpkZXN0X2xlbiwKLSsg ICAgICAgICAgICAgICBTU0wzX1JFQ09SRF9nZXRfZGF0YShycikgKyBTU0wzX1JFQ09SRF9nZXRf b2ZmKHJyKSwgbik7Ci0rICAgICAgICBTU0wzX1JFQ09SRF9hZGRfb2ZmKHJyLCBuKTsKLSsgICAg ICAgIFNTTDNfUkVDT1JEX3N1Yl9sZW5ndGgocnIsIG4pOwotKyAgICAgICAgKmRlc3RfbGVuICs9 IG47Ci0rICAgICAgICBpZiAoU1NMM19SRUNPUkRfZ2V0X2xlbmd0aChycikgPT0gMCkKLSsgICAg ICAgICAgICBTU0wzX1JFQ09SRF9zZXRfcmVhZChycik7Ci0rCi0rICAgICAgICBpZiAoKmRlc3Rf bGVuIDwgZGVzdF9tYXhsZW4pCi0rICAgICAgICAgICAgZ290byBzdGFydDsgICAgIC8qIGZyYWdt ZW50IHdhcyB0b28gc21hbGwgKi8KLSAgICAgfQotIAotICAgICBpZiAoU1NMM19SRUNPUkRfZ2V0 X3R5cGUocnIpID09IFNTTDNfUlRfQ0hBTkdFX0NJUEhFUl9TUEVDKSB7Ci1kaWZmIC11cCBvcGVu c3NsLTEuMS4xLXByZTgvc3NsL3NzbF9lcnIuYy5iaWRpLXNodXRkb3duIG9wZW5zc2wtMS4xLjEt cHJlOC9zc2wvc3NsX2Vyci5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfZXJyLmMu YmlkaS1zaHV0ZG93bgkyMDE4LTA2LTIwIDE2OjQ4OjEzLjAwMDAwMDAwMCArMDIwMAotKysrIG9w ZW5zc2wtMS4xLjEtcHJlOC9zc2wvc3NsX2Vyci5jCTIwMTgtMDgtMTMgMTU6NDM6MDcuMjUxNDM4 MTAzICswMjAwCi1AQCAtNzIwLDYgKzcyMCw4IEBAIHN0YXRpYyBjb25zdCBFUlJfU1RSSU5HX0RB VEEgU1NMX3N0cl9mdW4KLSB9OwotIAotIHN0YXRpYyBjb25zdCBFUlJfU1RSSU5HX0RBVEEgU1NM X3N0cl9yZWFzb25zW10gPSB7Ci0rICAgIHtFUlJfUEFDSyhFUlJfTElCX1NTTCwgMCwgU1NMX1Jf QVBQTElDQVRJT05fREFUQV9BRlRFUl9DTE9TRV9OT1RJRlkpLAotKyAgICAiYXBwbGljYXRpb24g ZGF0YSBhZnRlciBjbG9zZSBub3RpZnkifSwKLSAgICAge0VSUl9QQUNLKEVSUl9MSUJfU1NMLCAw LCBTU0xfUl9BUFBfREFUQV9JTl9IQU5EU0hBS0UpLAotICAgICAiYXBwIGRhdGEgaW4gaGFuZHNo YWtlIn0sCi0gICAgIHtFUlJfUEFDSyhFUlJfTElCX1NTTCwgMCwgU1NMX1JfQVRURU1QVF9UT19S RVVTRV9TRVNTSU9OX0lOX0RJRkZFUkVOVF9DT05URVhUKSwKLWRpZmYgLXVwIG9wZW5zc2wtMS4x LjEtcHJlOC90ZXN0L3NzbGFwaXRlc3QuYy5iaWRpLXNodXRkb3duIG9wZW5zc2wtMS4xLjEtcHJl OC90ZXN0L3NzbGFwaXRlc3QuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC90ZXN0L3NzbGFwaXRl c3QuYy5iaWRpLXNodXRkb3duCTIwMTgtMDYtMjAgMTY6NDg6MTUuMDAwMDAwMDAwICswMjAwCi0r Kysgb3BlbnNzbC0xLjEuMS1wcmU4L3Rlc3Qvc3NsYXBpdGVzdC5jCTIwMTgtMDgtMTMgMTU6NDM6 MDcuMjUyNDM4MTI3ICswMjAwCi1AQCAtNDk3MSw2ICs0OTcxLDEzNSBAQCBzdGF0aWMgaW50IHRl c3RfdGlja2V0X2NhbGxiYWNrcyhpbnQgdHN0Ci0gICAgIHJldHVybiB0ZXN0cmVzdWx0OwotIH0K LSAKLSsvKgotKyAqIFRlc3QgYmktZGlyZWN0aW9uYWwgc2h1dGRvd24uCi0rICogVGVzdCAwOiBU TFN2MS4yCi0rICogVGVzdCAxOiBUTFN2MS4yLCBzZXJ2ZXIgY29udGludWVzIHRvIHJlYWQvd3Jp dGUgYWZ0ZXIgY2xpZW50IHNodXRkb3duCi0rICogVGVzdCAyOiBUTFN2MS4zLCBubyBwZW5kaW5n IE5ld1Nlc3Npb25UaWNrZXQgbWVzc2FnZXMKLSsgKiBUZXN0IDM6IFRMU3YxLjMsIHBlbmRpbmcg TmV3U2Vzc2lvblRpY2tldCBtZXNzYWdlcwotKyAqIFRlc3QgNDogVExTdjEuMywgc2VydmVyIGNv bnRpbnVlcyB0byByZWFkL3dyaXRlIGFmdGVyIGNsaWVudCBzaHV0ZG93biwgY2xpZW50Ci0rICog ICAgICAgICAgICAgICAgICByZWFkcyBpdAotKyAqIFRlc3QgNTogVExTdjEuMywgc2VydmVyIGNv bnRpbnVlcyB0byByZWFkL3dyaXRlIGFmdGVyIGNsaWVudCBzaHV0ZG93biwgY2xpZW50Ci0rICog ICAgICAgICAgICAgICAgICBkb2Vzbid0IHJlYWQgaXQKLSsgKi8KLStzdGF0aWMgaW50IHRlc3Rf c2h1dGRvd24oaW50IHRzdCkKLSt7Ci0rICAgIFNTTF9DVFggKmNjdHggPSBOVUxMLCAqc2N0eCA9 IE5VTEw7Ci0rICAgIFNTTCAqY2xpZW50c3NsID0gTlVMTCwgKnNlcnZlcnNzbCA9IE5VTEw7Ci0r ICAgIGludCB0ZXN0cmVzdWx0ID0gMDsKLSsgICAgY2hhciBtc2dbXSA9ICJBIHRlc3QgbWVzc2Fn ZSI7Ci0rICAgIGNoYXIgYnVmWzgwXTsKLSsgICAgc2l6ZV90IHdyaXR0ZW4sIHJlYWRieXRlczsK LSsKLSsjaWZkZWYgT1BFTlNTTF9OT19UTFMxXzIKLSsgICAgaWYgKHRzdCA9PSAwKQotKyAgICAg ICAgcmV0dXJuIDE7Ci0rI2VuZGlmCi0rI2lmZGVmIE9QRU5TU0xfTk9fVExTMV8zCi0rICAgIGlm ICh0c3QgIT0gMCkKLSsgICAgICAgIHJldHVybiAxOwotKyNlbmRpZgotKwotKyAgICBpZiAoIVRF U1RfdHJ1ZShjcmVhdGVfc3NsX2N0eF9wYWlyKFRMU19zZXJ2ZXJfbWV0aG9kKCksCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVExTX2NsaWVudF9tZXRob2QoKSwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUTFMxX1ZFUlNJT04sCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRzdCA8PSAxKSA/IFRMUzFfMl9W RVJTSU9OCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA6IFRMUzFfM19WRVJTSU9OLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZzY3R4LCAmY2N0eCwgY2VydCwgcHJpdmtleSkpCi0rICAgICAgICAgICAgfHwgIVRFU1Rf dHJ1ZShjcmVhdGVfc3NsX29iamVjdHMoc2N0eCwgY2N0eCwgJnNlcnZlcnNzbCwgJmNsaWVudHNz bCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBO VUxMKSkpCi0rICAgICAgICBnb3RvIGVuZDsKLSsKLSsgICAgaWYgKHRzdCA9PSAzKSB7Ci0rICAg ICAgICBpZiAoIVRFU1RfdHJ1ZShjcmVhdGVfYmFyZV9zc2xfY29ubmVjdGlvbihzZXJ2ZXJzc2ws IGNsaWVudHNzbCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFNTTF9FUlJPUl9OT05FKSkpCi0rICAgICAgICAgICAgZ290byBlbmQ7Ci0rICAgIH0g ZWxzZSBpZiAoIVRFU1RfdHJ1ZShjcmVhdGVfc3NsX2Nvbm5lY3Rpb24oc2VydmVyc3NsLCBjbGll bnRzc2wsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNT TF9FUlJPUl9OT05FKSkpIHsKLSsgICAgICAgIGdvdG8gZW5kOwotKyAgICB9Ci0rCi0rICAgIGlm ICghVEVTVF9pbnRfZXEoU1NMX3NodXRkb3duKGNsaWVudHNzbCksIDApKQotKyAgICAgICAgZ290 byBlbmQ7Ci0rCi0rICAgIGlmICh0c3QgPj0gNCkgewotKyAgICAgICAgLyoKLSsgICAgICAgICAq IFJlYWRpbmcgb24gdGhlIHNlcnZlciBhZnRlciB0aGUgY2xpZW50IGhhcyBzZW50IGNsb3NlX25v dGlmeSBzaG91bGQKLSsgICAgICAgICAqIGZhaWwgYW5kIHByb3ZpZGUgU1NMX0VSUk9SX1pFUk9f UkVUVVJOCi0rICAgICAgICAgKi8KLSsgICAgICAgIGlmICghVEVTVF9mYWxzZShTU0xfcmVhZF9l eChzZXJ2ZXJzc2wsIGJ1Ziwgc2l6ZW9mKGJ1ZiksICZyZWFkYnl0ZXMpKQotKyAgICAgICAgICAg ICAgICB8fCAhVEVTVF9pbnRfZXEoU1NMX2dldF9lcnJvcihzZXJ2ZXJzc2wsIDApLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU1NMX0VSUk9SX1pFUk9fUkVUVVJOKQotKyAgICAg ICAgICAgICAgICB8fCAhVEVTVF9pbnRfZXEoU1NMX2dldF9zaHV0ZG93bihzZXJ2ZXJzc2wpLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1NMX1JFQ0VJVkVEX1NIVVRET1dOKQot KyAgICAgICAgICAgICAgICAgICAvKgotKyAgICAgICAgICAgICAgICAgICAgKiBFdmVuIHRob3Vn aCB3ZSdyZSBzaHV0ZG93biBvbiByZWNlaXZlIHdlIHNob3VsZCBzdGlsbCBiZQotKyAgICAgICAg ICAgICAgICAgICAgKiBhYmxlIHRvIHdyaXRlLgotKyAgICAgICAgICAgICAgICAgICAgKi8KLSsg ICAgICAgICAgICAgICAgfHwgIVRFU1RfdHJ1ZShTU0xfd3JpdGUoc2VydmVyc3NsLCBtc2csIHNp emVvZihtc2cpKSkKLSsgICAgICAgICAgICAgICAgfHwgIVRFU1RfaW50X2VxKFNTTF9zaHV0ZG93 bihzZXJ2ZXJzc2wpLCAxKSkKLSsgICAgICAgICAgICBnb3RvIGVuZDsKLSsgICAgICAgIGlmICh0 c3QgPT0gNCkgewotKyAgICAgICAgICAgICAgICAgICAvKiBTaG91bGQgc3RpbGwgYmUgYWJsZSB0 byByZWFkIGRhdGEgZnJvbSBzZXJ2ZXIgKi8KLSsgICAgICAgICAgICBpZiAoIVRFU1RfdHJ1ZShT U0xfcmVhZF9leChjbGllbnRzc2wsIGJ1Ziwgc2l6ZW9mKGJ1ZiksCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlYWRieXRlcykpCi0rICAgICAgICAgICAgICAg ICAgICB8fCAhVEVTVF9zaXplX3RfZXEocmVhZGJ5dGVzLCBzaXplb2YobXNnKSkKLSsgICAgICAg ICAgICAgICAgICAgIHx8ICFURVNUX2ludF9lcShtZW1jbXAobXNnLCBidWYsIHJlYWRieXRlcyks IDApKQotKyAgICAgICAgICAgICAgICBnb3RvIGVuZDsKLSsgICAgICAgIH0KLSsgICAgfQotKwot KyAgICAvKiBXcml0aW5nIG9uIHRoZSBjbGllbnQgYWZ0ZXIgc2VuZGluZyBjbG9zZV9ub3RpZnkg c2hvdWxkbid0IGJlIHBvc3NpYmxlICovCi0rICAgIGlmICghVEVTVF9mYWxzZShTU0xfd3JpdGVf ZXgoY2xpZW50c3NsLCBtc2csIHNpemVvZihtc2cpLCAmd3JpdHRlbikpKQotKyAgICAgICAgZ290 byBlbmQ7Ci0rCi0rICAgIGlmICh0c3QgPCA0KSB7Ci0rICAgICAgICAvKgotKyAgICAgICAgICog Rm9yIHRoZXNlIHRlc3RzIHRoZSBjbGllbnQgaGFzIHNlbnQgY2xvc2Vfbm90aWZ5IGJ1dCBpdCBo YXMgbm90IHlldAotKyAgICAgICAgICogYmVlbiByZWNlaXZlZCBieSB0aGUgc2VydmVyLiBUaGUg c2VydmVyIGhhcyBub3Qgc2VudCBjbG9zZV9ub3RpZnkKLSsgICAgICAgICAqIHlldC4KLSsgICAg ICAgICAqLwotKyAgICAgICAgaWYgKCFURVNUX2ludF9lcShTU0xfc2h1dGRvd24oc2VydmVyc3Ns KSwgMCkKLSsgICAgICAgICAgICAgICAgICAgLyoKLSsgICAgICAgICAgICAgICAgICAgICogV3Jp dGluZyBvbiB0aGUgc2VydmVyIGFmdGVyIHNlbmRpbmcgY2xvc2Vfbm90aWZ5IHNob3VsZG4ndAot KyAgICAgICAgICAgICAgICAgICAgKiBiZSBwb3NzaWJsZS4KLSsgICAgICAgICAgICAgICAgICAg ICovCi0rICAgICAgICAgICAgICAgIHx8ICFURVNUX2ZhbHNlKFNTTF93cml0ZV9leChzZXJ2ZXJz c2wsIG1zZywgc2l6ZW9mKG1zZyksICZ3cml0dGVuKSkKLSsgICAgICAgICAgICAgICAgfHwgIVRF U1RfaW50X2VxKFNTTF9zaHV0ZG93bihjbGllbnRzc2wpLCAxKQotKyAgICAgICAgICAgICAgICB8 fCAhVEVTVF9pbnRfZXEoU1NMX3NodXRkb3duKHNlcnZlcnNzbCksIDEpKQotKyAgICAgICAgICAg IGdvdG8gZW5kOwotKyAgICB9IGVsc2UgaWYgKHRzdCA9PSA0KSB7Ci0rICAgICAgICAvKgotKyAg ICAgICAgICogSW4gdGhpcyB0ZXN0IHRoZSBjbGllbnQgaGFzIHNlbnQgY2xvc2Vfbm90aWZ5IGFu ZCBpdCBoYXMgYmVlbgotKyAgICAgICAgICogcmVjZWl2ZWQgYnkgdGhlIHNlcnZlciB3aGljaCBo YXMgcmVzcG9uZGVkIHdpdGggYSBjbG9zZV9ub3RpZnkuIFRoZQotKyAgICAgICAgICogY2xpZW50 IG5lZWRzIHRvIHJlYWQgdGhlIGNsb3NlX25vdGlmeSBzZW50IGJ5IHRoZSBzZXJ2ZXIuCi0rICAg ICAgICAgKi8KLSsgICAgICAgIGlmICghVEVTVF9pbnRfZXEoU1NMX3NodXRkb3duKGNsaWVudHNz bCksIDEpKQotKyAgICAgICAgICAgIGdvdG8gZW5kOwotKyAgICB9IGVsc2UgewotKyAgICAgICAg LyoKLSsgICAgICAgICAqIHRzdCA9PSA1Ci0rICAgICAgICAgKgotKyAgICAgICAgICogVGhlIGNs aWVudCBoYXMgc2VudCBjbG9zZV9ub3RpZnkgYW5kIGlzIGV4cGVjdGluZyBhIGNsb3NlX25vdGlm eQotKyAgICAgICAgICogYmFjaywgYnV0IGluc3RlYWQgdGhlcmUgaXMgYXBwbGljYXRpb24gZGF0 YSBmaXJzdC4gVGhlIHNodXRkb3duCi0rICAgICAgICAgKiBzaG91bGQgZmFpbCB3aXRoIGEgZmF0 YWwgZXJyb3IuCi0rICAgICAgICAgKi8KLSsgICAgICAgIGlmICghVEVTVF9pbnRfZXEoU1NMX3No dXRkb3duKGNsaWVudHNzbCksIC0xKQotKyAgICAgICAgICAgICAgICB8fCAhVEVTVF9pbnRfZXEo U1NMX2dldF9lcnJvcihjbGllbnRzc2wsIC0xKSwgU1NMX0VSUk9SX1NTTCkpCi0rICAgICAgICAg ICAgZ290byBlbmQ7Ci0rICAgIH0KLSsKLSsgICAgdGVzdHJlc3VsdCA9IDE7Ci0rCi0rIGVuZDoK LSsgICAgU1NMX2ZyZWUoc2VydmVyc3NsKTsKLSsgICAgU1NMX2ZyZWUoY2xpZW50c3NsKTsKLSsg ICAgU1NMX0NUWF9mcmVlKHNjdHgpOwotKyAgICBTU0xfQ1RYX2ZyZWUoY2N0eCk7Ci0rCi0rICAg IHJldHVybiB0ZXN0cmVzdWx0OwotK30KLSsKLSBpbnQgc2V0dXBfdGVzdHModm9pZCkKLSB7Ci0g ICAgIGlmICghVEVTVF9wdHIoY2VydCA9IHRlc3RfZ2V0X2FyZ3VtZW50KDApKQotQEAgLTUwNjgs NiArNTE5Nyw3IEBAIGludCBzZXR1cF90ZXN0cyh2b2lkKQotICAgICBBRERfQUxMX1RFU1RTKHRl c3Rfc3NsX3BlbmRpbmcsIDIpOwotICAgICBBRERfQUxMX1RFU1RTKHRlc3Rfc3NsX2dldF9zaGFy ZWRfY2lwaGVycywgT1NTTF9ORUxFTShzaGFyZWRfY2lwaGVyc19kYXRhKSk7Ci0gICAgIEFERF9B TExfVEVTVFModGVzdF90aWNrZXRfY2FsbGJhY2tzLCAxMik7Ci0rICAgIEFERF9BTExfVEVTVFMo dGVzdF9zaHV0ZG93biwgNik7Ci0gICAgIHJldHVybiAxOwotIH0KLSAKLWRpZmYgLXVwIG9wZW5z c2wtMS4xLjEtcHJlOC90ZXN0L3NzbHRlc3RsaWIuYy5iaWRpLXNodXRkb3duIG9wZW5zc2wtMS4x LjEtcHJlOC90ZXN0L3NzbHRlc3RsaWIuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC90ZXN0L3Nz bHRlc3RsaWIuYy5iaWRpLXNodXRkb3duCTIwMTgtMDYtMjAgMTY6NDg6MTUuMDAwMDAwMDAwICsw MjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L3Rlc3Qvc3NsdGVzdGxpYi5jCTIwMTgtMDgtMTMg MTU6NDI6MjIuMjUwMzU1NzkxICswMjAwCi1AQCAtNjgwLDEyICs2ODAsMTQgQEAgaW50IGNyZWF0 ZV9zc2xfb2JqZWN0cyhTU0xfQ1RYICpzZXJ2ZXJjdAotICAgICByZXR1cm4gMDsKLSB9Ci0gCi0t aW50IGNyZWF0ZV9zc2xfY29ubmVjdGlvbihTU0wgKnNlcnZlcnNzbCwgU1NMICpjbGllbnRzc2ws IGludCB3YW50KQotKy8qCi0rICogQ3JlYXRlIGFuIFNTTCBjb25uZWN0aW9uLCBidXQgZG9lcyBu b3QgcmVhZHkgYW55IHBvc3QtaGFuZHNoYWtlCi0rICogTmV3U2Vzc2lvblRpY2tldCBtZXNzYWdl cy4KLSsgKi8KLStpbnQgY3JlYXRlX2JhcmVfc3NsX2Nvbm5lY3Rpb24oU1NMICpzZXJ2ZXJzc2ws IFNTTCAqY2xpZW50c3NsLCBpbnQgd2FudCkKLSB7Ci0tICAgIGludCByZXRjID0gLTEsIHJldHMg PSAtMSwgZXJyLCBhYm9ydGN0ciA9IDAsIGk7Ci0rICAgIGludCByZXRjID0gLTEsIHJldHMgPSAt MSwgZXJyLCBhYm9ydGN0ciA9IDA7Ci0gICAgIGludCBjbGllbnRlcnIgPSAwLCBzZXJ2ZXJlcnIg PSAwOwotLSAgICB1bnNpZ25lZCBjaGFyIGJ1ZjsKLS0gICAgc2l6ZV90IHJlYWRieXRlczsKLSAg ICAgaW50IGlzZHRscyA9IFNTTF9pc19kdGxzKHNlcnZlcnNzbCk7Ci0gCi0gICAgIGRvIHsKLUBA IC03MzgsNiArNzQwLDIyIEBAIGludCBjcmVhdGVfc3NsX2Nvbm5lY3Rpb24oU1NMICpzZXJ2ZXJz c2wKLSAgICAgICAgIH0KLSAgICAgfSB3aGlsZSAocmV0YyA8PTAgfHwgcmV0cyA8PSAwKTsKLSAK LSsgICAgcmV0dXJuIDE7Ci0rfQotKwotKy8qCi0rICogQ3JlYXRlIGFuIFNTTCBjb25uZWN0aW9u IGluY2x1ZGluZyBhbnkgcG9zdCBoYW5kc2hha2UgTmV3U2Vzc2lvblRpY2tldAotKyAqIG1lc3Nh Z2VzLgotKyAqLwotK2ludCBjcmVhdGVfc3NsX2Nvbm5lY3Rpb24oU1NMICpzZXJ2ZXJzc2wsIFNT TCAqY2xpZW50c3NsLCBpbnQgd2FudCkKLSt7Ci0rICAgIGludCBpOwotKyAgICB1bnNpZ25lZCBj aGFyIGJ1ZjsKLSsgICAgc2l6ZV90IHJlYWRieXRlczsKLSsKLSsgICAgaWYgKCFjcmVhdGVfYmFy ZV9zc2xfY29ubmVjdGlvbihzZXJ2ZXJzc2wsIGNsaWVudHNzbCwgd2FudCkpCi0rICAgICAgICBy ZXR1cm4gMDsKLSsKLSAgICAgLyoKLSAgICAgICogV2UgYXR0ZW1wdCB0byByZWFkIHNvbWUgZGF0 YSBvbiB0aGUgY2xpZW50IHNpZGUgd2hpY2ggd2UgZXhwZWN0IHRvIGZhaWwuCi0gICAgICAqIFRo aXMgd2lsbCBlbnN1cmUgd2UgaGF2ZSByZWNlaXZlZCB0aGUgTmV3U2Vzc2lvblRpY2tldCBpbiBU TFN2MS4zIHdoZXJlCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvdGVzdC9zc2x0ZXN0bGli LmguYmlkaS1zaHV0ZG93biBvcGVuc3NsLTEuMS4xLXByZTgvdGVzdC9zc2x0ZXN0bGliLmgKLS0t LSBvcGVuc3NsLTEuMS4xLXByZTgvdGVzdC9zc2x0ZXN0bGliLmguYmlkaS1zaHV0ZG93bgkyMDE4 LTA3LTI2IDEyOjAzOjQ4LjE0Mzc3MDQxMyArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC90 ZXN0L3NzbHRlc3RsaWIuaAkyMDE4LTA4LTEzIDE1OjQyOjIyLjI1MDM1NTc5MSArMDIwMAotQEAg LTE4LDYgKzE4LDcgQEAgaW50IGNyZWF0ZV9zc2xfY3R4X3BhaXIoY29uc3QgU1NMX01FVEhPRAot ICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKnByaXZrZXlmaWxlKTsKLSBpbnQgY3JlYXRl X3NzbF9vYmplY3RzKFNTTF9DVFggKnNlcnZlcmN0eCwgU1NMX0NUWCAqY2xpZW50Y3R4LCBTU0wg Kipzc3NsLAotICAgICAgICAgICAgICAgICAgICAgICAgU1NMICoqY3NzbCwgQklPICpzX3RvX2Nf ZmJpbywgQklPICpjX3RvX3NfZmJpbyk7Ci0raW50IGNyZWF0ZV9iYXJlX3NzbF9jb25uZWN0aW9u KFNTTCAqc2VydmVyc3NsLCBTU0wgKmNsaWVudHNzbCwgaW50IHdhbnQpOwotIGludCBjcmVhdGVf c3NsX2Nvbm5lY3Rpb24oU1NMICpzZXJ2ZXJzc2wsIFNTTCAqY2xpZW50c3NsLCBpbnQgd2FudCk7 Ci0gdm9pZCBzaHV0ZG93bl9zc2xfY29ubmVjdGlvbihTU0wgKnNlcnZlcnNzbCwgU1NMICpjbGll bnRzc2wpOwotIAoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4xLjEtZmlwcy5wYXRjaCBiL29wZW5z c2wtMS4xLjEtZmlwcy5wYXRjaAppbmRleCA5ZjMyYjAzLi45YjM0YjdlIDEwMDY0NAotLS0gYS9v cGVuc3NsLTEuMS4xLWZpcHMucGF0Y2gKKysrIGIvb3BlbnNzbC0xLjEuMS1maXBzLnBhdGNoCkBA IC0xLDcgKzEsNyBAQAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2FwcHMvc3BlZWQuYy5m aXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9hcHBzL3NwZWVkLmMKLS0tLSBvcGVuc3NsLTEuMS4xLXBy ZTgvYXBwcy9zcGVlZC5jLmZpcHMJMjAxOC0wNy0yNSAxNzoyNjo1OC4zOTM2MjQ0MTYgKzAyMDAK LSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvYXBwcy9zcGVlZC5jCTIwMTgtMDctMjUgMTc6MjY6NTgu NDAyNjI0NjMyICswMjAwCi1AQCAtMTU1MCw3ICsxNTUwLDggQEAgaW50IHNwZWVkX21haW4oaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L2FwcHMvc3Bl ZWQuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9hcHBzL3NwZWVkLmMKKy0tLSBvcGVuc3NsLTEu MS4xLXByZTkvYXBwcy9zcGVlZC5jLmZpcHMJMjAxOC0wOC0yMiAxMjoxNzo1My4zOTk2NTQ1ODAg KzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvYXBwcy9zcGVlZC5jCTIwMTgtMDgtMjIgMTI6 MTc6NTMuNDE4NjU1MDQ1ICswMjAwCitAQCAtMTU1OCw3ICsxNTU4LDggQEAgaW50IHNwZWVkX21h aW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg ICAgaWYgKHN0cmNtcCgqYXJndiwgInJzYSIpID09IDApIHsKICAgICAgICAgICAgICBmb3IgKGxv b3AgPSAwOyBsb29wIDwgT1NTTF9ORUxFTShyc2FfZG9pdCk7IGxvb3ArKykKQEAgLTExLDcgKzEx LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2FwcHMvc3BlZWQuYy5maXBzIG9wZW5z c2wtMS4xLjEtcHJlOC9hcHBzL3NwZWVkLmMKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg ICAgIH0KICAgICAgICAgIGlmIChmb3VuZCgqYXJndiwgcnNhX2Nob2ljZXMsICZpKSkgewotQEAg LTE1NjAsNyArMTU2MSw5IEBAIGludCBzcGVlZF9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikK K0BAIC0xNTY4LDcgKzE1NjksOSBAQCBpbnQgc3BlZWRfbWFpbihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAgI2VuZGlmCiAgI2lmbmRlZiBPUEVOU1NMX05PX0RTQQogICAgICAgICAgaWYgKHN0cmNt cCgqYXJndiwgImRzYSIpID09IDApIHsKQEAgLTIyLDcgKzIyLDcgQEAgZGlmZiAtdXAgb3BlbnNz bC0xLjEuMS1wcmU4L2FwcHMvc3BlZWQuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9hcHBzL3Nw ZWVkLmMKICAgICAgICAgICAgICAgICAgZHNhX2RvaXRbUl9EU0FfMjA0OF0gPSAxOwogICAgICAg ICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQotQEAgLTE2ODMsMTUgKzE2ODYsMjEgQEAgaW50 IHNwZWVkX21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTE2OTEsMTUgKzE2OTQsMjEg QEAgaW50IHNwZWVkX21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAvKiBObyBwYXJh bWV0ZXJzOyB0dXJuIG9uIGV2ZXJ5dGhpbmcuICovCiAgICAgIGlmICgoYXJnYyA9PSAwKSAmJiAh ZG9pdFtEX0VWUF0pIHsKICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBBTEdPUl9OVU07IGkrKykK QEAgLTQ3LDcgKzQ3LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2FwcHMvc3BlZWQu Yy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9hcHBzL3NwZWVkLmMKICAjZW5kaWYKICAjaWZuZGVm IE9QRU5TU0xfTk9fRUMKICAgICAgICAgIGZvciAobG9vcCA9IDA7IGxvb3AgPCBPU1NMX05FTEVN KGVjZHNhX2RvaXQpOyBsb29wKyspCi1AQCAtMTc0NSwzMCArMTc1NCw0NiBAQCBpbnQgc3BlZWRf bWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitAQCAtMTc1MywzMCArMTc2Miw0NiBAQCBpbnQg c3BlZWRfbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgIEFFU19zZXRfZW5jcnlwdF9r ZXkoa2V5MjQsIDE5MiwgJmFlc19rczIpOwogICAgICBBRVNfc2V0X2VuY3J5cHRfa2V5KGtleTMy LCAyNTYsICZhZXNfa3MzKTsKICAjaWZuZGVmIE9QRU5TU0xfTk9fQ0FNRUxMSUEKQEAgLTEwNCw3 ICsxMDQsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvYXBwcy9zcGVlZC5jLmZpcHMg b3BlbnNzbC0xLjEuMS1wcmU4L2FwcHMvc3BlZWQuYwogICNlbmRpZgogICNpZm5kZWYgU0lHQUxS TQogICMgaWZuZGVmIE9QRU5TU0xfTk9fREVTCi1AQCAtMjA1OSw2ICsyMDg0LDcgQEAgaW50IHNw ZWVkX21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTIwNjcsNiArMjA5Miw3IEBAIGlu dCBzcGVlZF9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAKICAgICAgICAgIGZvciAoaSA9 IDA7IGkgPCBsb29wYXJnc19sZW47IGkrKykgewogICAgICAgICAgICAgIGxvb3BhcmdzW2ldLmhj dHggPSBITUFDX0NUWF9uZXcoKTsKQEAgLTExMiwxMCArMTEyLDEwIEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4xLjEtcHJlOC9hcHBzL3NwZWVkLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvYXBwcy9z cGVlZC5jCiAgICAgICAgICAgICAgaWYgKGxvb3BhcmdzW2ldLmhjdHggPT0gTlVMTCkgewogICAg ICAgICAgICAgICAgICBCSU9fcHJpbnRmKGJpb19lcnIsICJITUFDIG1hbGxvYyBmYWlsdXJlLCBl eGl0aW5nLi4uIik7CiAgICAgICAgICAgICAgICAgIGV4aXQoMSk7Ci1kaWZmIC11cCBvcGVuc3Ns LTEuMS4xLXByZTgvQ29uZmlndXJlLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L0NvbmZpZ3VyZQot LS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9Db25maWd1cmUuZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4 LjM5OTYyNDU2MCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9Db25maWd1cmUJMjAxOC0w Ny0yNSAxNzoyNjo1OC40MDI2MjQ2MzIgKzAyMDAKLUBAIC0zMDYsNyArMzA2LDcgQEAgJGNvbmZp Z3tzZGlyc30gPSBbCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvQ29uZmlndXJlLmZpcHMg b3BlbnNzbC0xLjEuMS1wcmU5L0NvbmZpZ3VyZQorLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9Db25m aWd1cmUuZmlwcwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQxMjY1NDg5OCArMDIwMAorKysrIG9wZW5z c2wtMS4xLjEtcHJlOS9Db25maWd1cmUJMjAxOC0wOC0yMiAxMjoxNzo1My40MTg2NTUwNDUgKzAy MDAKK0BAIC0zMTAsNyArMzEwLDcgQEAgJGNvbmZpZ3tzZGlyc30gPSBbCiAgICAgICJtZDIiLCAi bWQ0IiwgIm1kNSIsICJzaGEiLCAibWRjMiIsICJobWFjIiwgInJpcGVtZCIsICJ3aHJscG9vbCIs ICJwb2x5MTMwNSIsICJibGFrZTIiLCAic2lwaGFzaCIsICJzbTMiLAogICAgICAiZGVzIiwgImFl cyIsICJyYzIiLCAicmM0IiwgInJjNSIsICJpZGVhIiwgImFyaWEiLCAiYmYiLCAiY2FzdCIsICJj YW1lbGxpYSIsICJzZWVkIiwgInNtNCIsICJjaGFjaGEiLCAibW9kZXMiLAogICAgICAiYm4iLCAi ZWMiLCAicnNhIiwgImRzYSIsICJkaCIsICJzbTIiLCAiZHNvIiwgImVuZ2luZSIsCkBAIC0xMjQs OSArMTI0LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L0NvbmZpZ3VyZS5maXBzIG9w ZW5zc2wtMS4xLjEtcHJlOC9Db25maWd1cmUKICAgICAgImV2cCIsICJhc24xIiwgInBlbSIsICJ4 NTA5IiwgIng1MDl2MyIsICJjb25mIiwgInR4dF9kYiIsICJwa2NzNyIsICJwa2NzMTIiLCAiY29t cCIsICJvY3NwIiwgInVpIiwKICAgICAgImNtcyIsICJ0cyIsICJzcnAiLCAiY21hYyIsICJjdCIs ICJhc3luYyIsICJrZGYiLCAic3RvcmUiCiAgICAgIF07Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTgvY3J5cHRvL2RoL2RoX2Vyci5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9k aC9kaF9lcnIuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZGgvZGhfZXJyLmMuZmlw cwkyMDE4LTA2LTIwIDE2OjQ4OjEwLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEt cHJlOC9jcnlwdG8vZGgvZGhfZXJyLmMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MDI2MjQ2MzIgKzAy MDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZGgvZGhfZXJyLmMuZmlwcyBv cGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2RoL2RoX2Vyci5jCistLS0gb3BlbnNzbC0xLjEuMS1w cmU5L2NyeXB0by9kaC9kaF9lcnIuYy5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTIuMDAwMDAwMDAw ICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9kaC9kaF9lcnIuYwkyMDE4LTA4 LTIyIDEyOjE3OjUzLjQxOTY1NTA3MCArMDIwMAogQEAgLTI1LDYgKzI1LDkgQEAgc3RhdGljIGNv bnN0IEVSUl9TVFJJTkdfREFUQSBESF9zdHJfZnVuYwogICAgICB7RVJSX1BBQ0soRVJSX0xJQl9E SCwgREhfRl9ESF9DTVNfU0VUX1BFRVJLRVksIDApLCAiZGhfY21zX3NldF9wZWVya2V5In0sCiAg ICAgIHtFUlJfUEFDSyhFUlJfTElCX0RILCBESF9GX0RIX0NNU19TRVRfU0hBUkVEX0lORk8sIDAp LApAQCAtMTUyLDkgKzE1Miw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8v ZGgvZGhfZXJyLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2RoCiAgICAgIHtFUlJf UEFDSyhFUlJfTElCX0RILCAwLCBESF9SX1BBUkFNRVRFUl9FTkNPRElOR19FUlJPUiksCiAgICAg ICJwYXJhbWV0ZXIgZW5jb2RpbmcgZXJyb3IifSwKICAgICAge0VSUl9QQUNLKEVSUl9MSUJfREgs IDAsIERIX1JfUEVFUl9LRVlfRVJST1IpLCAicGVlciBrZXkgZXJyb3IifSwKLWRpZmYgLXVwIG9w ZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZGgvZGhfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXBy ZTgvY3J5cHRvL2RoL2RoX2dlbi5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9kaC9k aF9nZW4uYy5maXBzCTIwMTgtMDYtMjAgMTY6NDg6MTAuMDAwMDAwMDAwICswMjAwCi0rKysgb3Bl bnNzbC0xLjEuMS1wcmU4L2NyeXB0by9kaC9kaF9nZW4uYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQw MjYyNDYzMiArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9kaC9kaF9n ZW4uYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZGgvZGhfZ2VuLmMKKy0tLSBvcGVu c3NsLTEuMS4xLXByZTkvY3J5cHRvL2RoL2RoX2dlbi5jLmZpcHMJMjAxOC0wOC0yMSAxNDoxNDox Mi4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2RoL2RoX2dl bi5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNDE5NjU1MDcwICswMjAwCiBAQCAtMTYsNiArMTYsOSBA QAogICNpbmNsdWRlICJpbnRlcm5hbC9jcnlwdGxpYi5oIgogICNpbmNsdWRlIDxvcGVuc3NsL2Ju Lmg+CkBAIC0xOTgsOSArMTk4LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0 by9kaC9kaF9nZW4uYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZGgKICAgICAgY3R4 ID0gQk5fQ1RYX25ldygpOwogICAgICBpZiAoY3R4ID09IE5VTEwpCiAgICAgICAgICBnb3RvIGVy cjsKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZGgvZGhfa2V5LmMuZmlwcyBv cGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2RoL2RoX2tleS5jCi0tLS0gb3BlbnNzbC0xLjEuMS1w cmU4L2NyeXB0by9kaC9kaF9rZXkuYy5maXBzCTIwMTgtMDYtMjAgMTY6NDg6MTAuMDAwMDAwMDAw ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9kaC9kaF9rZXkuYwkyMDE4LTA3 LTI1IDE3OjI2OjU4LjQwMjYyNDYzMiArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5 L2NyeXB0by9kaC9kaF9rZXkuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZGgvZGhf a2V5LmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2RoL2RoX2tleS5jLmZpcHMJMjAx OC0wOC0yMSAxNDoxNDoxMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkv Y3J5cHRvL2RoL2RoX2tleS5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNDE5NjU1MDcwICswMjAwCiBA QCAtMTEsNiArMTEsOSBAQAogICNpbmNsdWRlICJpbnRlcm5hbC9jcnlwdGxpYi5oIgogICNpbmNs dWRlICJkaF9sb2NsLmgiCkBAIC0yODQsOSArMjg0LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEu MS1wcmU4L2NyeXB0by9kaC9kaF9rZXkuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8v ZGgKICAgICAgZGgtPmZsYWdzIHw9IERIX0ZMQUdfQ0FDSEVfTU9OVF9QOwogICAgICByZXR1cm4g MTsKICB9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2RzYS9kc2FfZXJyLmMu ZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2RzYS9kc2FfZXJyLmMKLS0tLSBvcGVuc3Ns LTEuMS4xLXByZTgvY3J5cHRvL2RzYS9kc2FfZXJyLmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjEw LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZHNhL2RzYV9l cnIuYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwMjYyNDYzMiArMDIwMAorZGlmZiAtdXAgb3BlbnNz bC0xLjEuMS1wcmU5L2NyeXB0by9kc2EvZHNhX2Vyci5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5 L2NyeXB0by9kc2EvZHNhX2Vyci5jCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9kc2Ev ZHNhX2Vyci5jLmZpcHMJMjAxOC0wOC0yMSAxNDoxNDoxMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBv cGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2RzYS9kc2FfZXJyLmMJMjAxOC0wOC0yMiAxMjoxNzo1 My40MTk2NTUwNzAgKzAyMDAKIEBAIC0xNiwxMiArMTYsMTUgQEAKICBzdGF0aWMgY29uc3QgRVJS X1NUUklOR19EQVRBIERTQV9zdHJfZnVuY3RzW10gPSB7CiAgICAgIHtFUlJfUEFDSyhFUlJfTElC X0RTQSwgRFNBX0ZfRFNBUEFSQU1TX1BSSU5ULCAwKSwgIkRTQXBhcmFtc19wcmludCJ9LApAQCAt MzE2LDkgKzMxNiw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZHNhL2Rz YV9lcnIuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vCiAgICAgIHtFUlJfUEFDSyhF UlJfTElCX0RTQSwgMCwgRFNBX1JfUEFSQU1FVEVSX0VOQ09ESU5HX0VSUk9SKSwKICAgICAgInBh cmFtZXRlciBlbmNvZGluZyBlcnJvciJ9LAogICAgICB7RVJSX1BBQ0soRVJSX0xJQl9EU0EsIDAs IERTQV9SX1FfTk9UX1BSSU1FKSwgInEgbm90IHByaW1lIn0sCi1kaWZmIC11cCBvcGVuc3NsLTEu MS4xLXByZTgvY3J5cHRvL2RzYS9kc2FfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5 cHRvL2RzYS9kc2FfZ2VuLmMKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2RzYS9kc2Ff Z2VuLmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjEwLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5z c2wtMS4xLjEtcHJlOC9jcnlwdG8vZHNhL2RzYV9nZW4uYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQw MzYyNDY1NiArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9kc2EvZHNh X2dlbi5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9kc2EvZHNhX2dlbi5jCistLS0g b3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9kc2EvZHNhX2dlbi5jLmZpcHMJMjAxOC0wOC0yMSAx NDoxNDoxMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2Rz YS9kc2FfZ2VuLmMJMjAxOC0wOC0yMiAxMjoxNzo1My40MTk2NTUwNzAgKzAyMDAKIEBAIC0yMiwx MiArMjIsMjIgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9yYW5kLmg+CiAgI2luY2x1ZGUgPG9wZW5z c2wvc2hhLmg+CkBAIC00ODAsOSArNDgwLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4 L2NyeXB0by9kc2EvZHNhX2dlbi5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by8KICt9 CiArCiArI2VuZGlmCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2RzYS9kc2Ff a2V5LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2RzYS9kc2Ffa2V5LmMKLS0tLSBv cGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2RzYS9kc2Ffa2V5LmMuZmlwcwkyMDE4LTA2LTIwIDE2 OjQ4OjEwLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZHNh L2RzYV9rZXkuYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwMzYyNDY1NiArMDIwMAorZGlmZiAtdXAg b3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9kc2EvZHNhX2tleS5jLmZpcHMgb3BlbnNzbC0xLjEu MS1wcmU5L2NyeXB0by9kc2EvZHNhX2tleS5jCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0 by9kc2EvZHNhX2tleS5jLmZpcHMJMjAxOC0wOC0yMSAxNDoxNDoxMi4wMDAwMDAwMDAgKzAyMDAK KysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2RzYS9kc2Ffa2V5LmMJMjAxOC0wOC0yMiAx MjoxNzo1My40MTk2NTUwNzAgKzAyMDAKIEBAIC0xMywxMCArMTMsNDkgQEAKICAjaW5jbHVkZSA8 b3BlbnNzbC9ibi5oPgogICNpbmNsdWRlICJkc2FfbG9jbC5oIgpAQCAtNTYyLDkgKzU2Miw5IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZHNhL2RzYV9rZXkuYy5maXBzIG9w ZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vCiAgICAgIG9rID0gMTsKICAKICAgZXJyOgotZGlmZiAt dXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9kc2EvZHNhX29zc2wuYy5maXBzIG9wZW5zc2wt MS4xLjEtcHJlOC9jcnlwdG8vZHNhL2RzYV9vc3NsLmMKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgv Y3J5cHRvL2RzYS9kc2Ffb3NzbC5jLmZpcHMJMjAxOC0wNi0yMCAxNjo0ODoxMC4wMDAwMDAwMDAg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2RzYS9kc2Ffb3NzbC5jCTIwMTgt MDctMjUgMTc6MjY6NTguNDAzNjI0NjU2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXBy ZTkvY3J5cHRvL2RzYS9kc2Ffb3NzbC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9k c2EvZHNhX29zc2wuYworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZHNhL2RzYV9vc3Ns LmMuZmlwcwkyMDE4LTA4LTIxIDE0OjE0OjEyLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wt MS4xLjEtcHJlOS9jcnlwdG8vZHNhL2RzYV9vc3NsLmMJMjAxOC0wOC0yMiAxMjoyMDo1NC44Mzkw OTg5MTQgKzAyMDAKIEBAIC0xMyw2ICsxMyw5IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvc2hhLmg+ CiAgI2luY2x1ZGUgImRzYV9sb2NsLmgiCkBAIC01NzUsOSArNTc1LDkgQEAgZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMS1wcmU4L2NyeXB0by9kc2EvZHNhX29zc2wuYy5maXBzIG9wZW5zc2wtMS4xLjEt cHJlOC9jcnlwdG8KICAKICBzdGF0aWMgRFNBX1NJRyAqZHNhX2RvX3NpZ24oY29uc3QgdW5zaWdu ZWQgY2hhciAqZGdzdCwgaW50IGRsZW4sIERTQSAqZHNhKTsKICBzdGF0aWMgaW50IGRzYV9zaWdu X3NldHVwX25vX2RpZ2VzdChEU0EgKmRzYSwgQk5fQ1RYICpjdHhfaW4sIEJJR05VTSAqKmtpbnZw LAotQEAgLTY2LDYgKzY5LDE5IEBAIHN0YXRpYyBEU0FfU0lHICpkc2FfZG9fc2lnbihjb25zdCB1 bnNpZ24KLSAgICAgRFNBX1NJRyAqcmV0ID0gTlVMTDsKLSAgICAgaW50IHJ2ID0gMDsKK0BAIC03 MCw2ICs3MywxOSBAQCBzdGF0aWMgRFNBX1NJRyAqZHNhX2RvX3NpZ24oY29uc3QgdW5zaWduCisg ICAgICAgICBnb3RvIGVycjsKKyAgICAgfQogIAogKyNpZmRlZiBPUEVOU1NMX0ZJUFMKICsgICAg aWYgKEZJUFNfc2VsZnRlc3RfZmFpbGVkKCkpIHsKQEAgLTU5MiwxMCArNTkyLDEwIEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZHNhL2RzYV9vc3NsLmMuZmlwcyBvcGVuc3Ns LTEuMS4xLXByZTgvY3J5cHRvCiArICAgIH0KICsjZW5kaWYKICsKLSAgICAgbSA9IEJOX25ldygp OwotICAgICB4ciA9IEJOX25ldygpOwotICAgICBpZiAobSA9PSBOVUxMIHx8IHhyID09IE5VTEwp Ci1AQCAtMjY0LDYgKzI4MCwxOCBAQCBzdGF0aWMgaW50IGRzYV9kb192ZXJpZnkoY29uc3QgdW5z aWduZWQKKyAgICAgcmV0ID0gRFNBX1NJR19uZXcoKTsKKyAgICAgaWYgKHJldCA9PSBOVUxMKQor ICAgICAgICAgZ290byBlcnI7CitAQCAtMjk2LDYgKzMxMiwxOCBAQCBzdGF0aWMgaW50IGRzYV9k b192ZXJpZnkoY29uc3QgdW5zaWduZWQKICAgICAgICAgIERTQWVycihEU0FfRl9EU0FfRE9fVkVS SUZZLCBEU0FfUl9CQURfUV9WQUxVRSk7CiAgICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KQEAg LTYxNCw3ICs2MTQsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2RzYS9k c2Ffb3NzbC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0bwogIAogICAgICBpZiAoQk5f bnVtX2JpdHMoZHNhLT5wKSA+IE9QRU5TU0xfRFNBX01BWF9NT0RVTFVTX0JJVFMpIHsKICAgICAg ICAgIERTQWVycihEU0FfRl9EU0FfRE9fVkVSSUZZLCBEU0FfUl9NT0RVTFVTX1RPT19MQVJHRSk7 Ci1AQCAtMzUyLDYgKzM4MCw5IEBAIHN0YXRpYyBpbnQgZHNhX2RvX3ZlcmlmeShjb25zdCB1bnNp Z25lZAorQEAgLTM4NCw2ICs0MTIsOSBAQCBzdGF0aWMgaW50IGRzYV9kb192ZXJpZnkoY29uc3Qg dW5zaWduZWQKICAKICBzdGF0aWMgaW50IGRzYV9pbml0KERTQSAqZHNhKQogIHsKQEAgLTYyNCwx MCArNjI0LDEwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZHNhL2RzYV9v c3NsLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvCiAgICAgIGRzYS0+ZmxhZ3MgfD0g RFNBX0ZMQUdfQ0FDSEVfTU9OVF9QOwogICAgICByZXR1cm4gMTsKICB9Ci1kaWZmIC11cCBvcGVu c3NsLTEuMS4xLXByZTgvY3J5cHRvL2RzYS9kc2FfcG1ldGguYy5maXBzIG9wZW5zc2wtMS4xLjEt cHJlOC9jcnlwdG8vZHNhL2RzYV9wbWV0aC5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0 by9kc2EvZHNhX3BtZXRoLmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjEwLjAwMDAwMDAwMCArMDIw MAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZHNhL2RzYV9wbWV0aC5jCTIwMTgtMDct MjUgMTc6MjY6NTguNDAzNjI0NjU2ICswMjAwCi1AQCAtMjIxLDggKzIyMSw4IEBAIHN0YXRpYyBp bnQgcGtleV9kc2FfcGFyYW1nZW4oRVZQX1BLRVlfQ1QKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEt cHJlOS9jcnlwdG8vZHNhL2RzYV9wbWV0aC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0 by9kc2EvZHNhX3BtZXRoLmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2RzYS9kc2Ff cG1ldGguYy5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTIuMDAwMDAwMDAwICswMjAwCisrKysgb3Bl bnNzbC0xLjEuMS1wcmU5L2NyeXB0by9kc2EvZHNhX3BtZXRoLmMJMjAxOC0wOC0yMiAxMjoxNzo1 My40MjA2NTUwOTQgKzAyMDAKK0BAIC0yMTEsOCArMjExLDggQEAgc3RhdGljIGludCBwa2V5X2Rz YV9wYXJhbWdlbihFVlBfUEtFWV9DVAogICAgICAgICAgQk5fR0VOQ0JfZnJlZShwY2IpOwogICAg ICAgICAgcmV0dXJuIDA7CiAgICAgIH0KQEAgLTYzOCw5ICs2MzgsOSBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMS4xLXByZTgvY3J5cHRvL2RzYS9kc2FfcG1ldGguYy5maXBzIG9wZW5zc2wtMS4xLjEt cHJlOC9jcnlwdAogICAgICBCTl9HRU5DQl9mcmVlKHBjYik7CiAgICAgIGlmIChyZXQpCiAgICAg ICAgICBFVlBfUEtFWV9hc3NpZ25fRFNBKHBrZXksIGRzYSk7Ci1kaWZmIC11cCBvcGVuc3NsLTEu MS4xLXByZTgvY3J5cHRvL2VjL2VjZGhfb3NzbC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2Ny eXB0by9lYy9lY2RoX29zc2wuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZWMvZWNk aF9vc3NsLmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjEwLjAwMDAwMDAwMCArMDIwMAotKysrIG9w ZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZWMvZWNkaF9vc3NsLmMJMjAxOC0wNy0yNSAxNzoyNjo1 OC40MDM2MjQ2NTYgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZWMv ZWNkaF9vc3NsLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2VjL2VjZGhfb3NzbC5j CistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9lYy9lY2RoX29zc2wuYy5maXBzCTIwMTgt MDgtMjEgMTQ6MTQ6MTIuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2Ny eXB0by9lYy9lY2RoX29zc2wuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQyMDY1NTA5NCArMDIwMAog QEAgLTE5LDkgKzE5LDIwIEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvZWMuaD4KICAjaW5jbHVkZSAi ZWNfbGNsLmgiCkBAIC02NjIsMTEgKzY2MiwxMSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXBy ZTgvY3J5cHRvL2VjL2VjZGhfb3NzbC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0bwog ICAgICBpZiAoZWNkaC0+Z3JvdXAtPm1ldGgtPmVjZGhfY29tcHV0ZV9rZXkgPT0gTlVMTCkgewog ICAgICAgICAgRUNlcnIoRUNfRl9PU1NMX0VDREhfQ09NUFVURV9LRVksIEVDX1JfQ1VSVkVfRE9F U19OT1RfU1VQUE9SVF9FQ0RIKTsKICAgICAgICAgIHJldHVybiAwOwotZGlmZiAtdXAgb3BlbnNz bC0xLjEuMS1wcmU4L2NyeXB0by9lYy9lY2RzYV9vc3NsLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXBy ZTgvY3J5cHRvL2VjL2VjZHNhX29zc2wuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8v ZWMvZWNkc2Ffb3NzbC5jLmZpcHMJMjAxOC0wNi0yMCAxNjo0ODoxMC4wMDAwMDAwMDAgKzAyMDAK LSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2VjL2VjZHNhX29zc2wuYwkyMDE4LTA3LTI1 IDE3OjI2OjU4LjQwMzYyNDY1NiArMDIwMAotQEAgLTE1LDYgKzE1LDEwIEBACi0gI2luY2x1ZGUg PG9wZW5zc2wvZWMuaD4KK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZWMvZWNk c2Ffb3NzbC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9lYy9lY2RzYV9vc3NsLmMK Ky0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2VjL2VjZHNhX29zc2wuYy5maXBzCTIwMTgt MDgtMjEgMTQ6MTQ6MTIuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2Ny eXB0by9lYy9lY2RzYV9vc3NsLmMJMjAxOC0wOC0yMiAxMjoyMTo0NS44MjgzNDc4ODcgKzAyMDAK K0BAIC0xNCw2ICsxNCwxMCBAQAorICNpbmNsdWRlICJpbnRlcm5hbC9ibl9pbnQuaCIKICAjaW5j bHVkZSAiZWNfbGNsLmgiCiAgCiArI2lmZGVmIE9QRU5TU0xfRklQUwpAQCAtNjc2LDcgKzY3Niw3 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZWMvZWNkc2Ffb3NzbC5jLmZp cHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0CiAgaW50IG9zc2xfZWNkc2Ffc2lnbihpbnQgdHlw ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqZGdzdCwgaW50IGRsZW4sCiAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBjaGFyICpzaWcsIHVuc2lnbmVkIGludCAqc2lnbGVuLAogICAgICAgICAg ICAgICAgICAgICAgY29uc3QgQklHTlVNICpraW52LCBjb25zdCBCSUdOVU0gKnIsIEVDX0tFWSAq ZWNrZXkpCi1AQCAtMjA0LDYgKzIwOCwxMyBAQCBFQ0RTQV9TSUcgKm9zc2xfZWNkc2Ffc2lnbl9z aWcoY29uc3QgdW5zCitAQCAtMTU5LDYgKzE2MywxMyBAQCBFQ0RTQV9TSUcgKm9zc2xfZWNkc2Ff c2lnbl9zaWcoY29uc3QgdW5zCiAgICAgIEVDRFNBX1NJRyAqcmV0OwogICAgICBjb25zdCBCSUdO VU0gKnByaXZfa2V5OwogIApAQCAtNjkwLDcgKzY5MCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4x LjEtcHJlOC9jcnlwdG8vZWMvZWNkc2Ffb3NzbC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2Ny eXB0CiAgICAgIGdyb3VwID0gRUNfS0VZX2dldDBfZ3JvdXAoZWNrZXkpOwogICAgICBwcml2X2tl eSA9IEVDX0tFWV9nZXQwX3ByaXZhdGVfa2V5KGVja2V5KTsKICAKLUBAIC00MDgsNiArNDE5LDEz IEBAIGludCBvc3NsX2VjZHNhX3ZlcmlmeV9zaWcoY29uc3QgdW5zaWduZWQKK0BAIC0zMTcsNiAr MzI4LDEzIEBAIGludCBvc3NsX2VjZHNhX3ZlcmlmeV9zaWcoY29uc3QgdW5zaWduZWQKICAgICAg Y29uc3QgRUNfR1JPVVAgKmdyb3VwOwogICAgICBjb25zdCBFQ19QT0lOVCAqcHViX2tleTsKICAK QEAgLTcwNCw5ICs3MDQsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2Vj L2VjZHNhX29zc2wuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdAogICAgICAvKiBjaGVj ayBpbnB1dCB2YWx1ZXMgKi8KICAgICAgaWYgKGVja2V5ID09IE5VTEwgfHwgKGdyb3VwID0gRUNf S0VZX2dldDBfZ3JvdXAoZWNrZXkpKSA9PSBOVUxMIHx8CiAgICAgICAgICAocHViX2tleSA9IEVD X0tFWV9nZXQwX3B1YmxpY19rZXkoZWNrZXkpKSA9PSBOVUxMIHx8IHNpZyA9PSBOVUxMKSB7Ci1k aWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2VjL2VjX2tleS5jLmZpcHMgb3BlbnNz bC0xLjEuMS1wcmU4L2NyeXB0by9lYy9lY19rZXkuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9j cnlwdG8vZWMvZWNfa2V5LmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjEwLjAwMDAwMDAwMCArMDIw MAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZWMvZWNfa2V5LmMJMjAxOC0wNy0yNSAx NzoyNjo1OC40MDM2MjQ2NTYgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlw dG8vZWMvZWNfa2V5LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2VjL2VjX2tleS5j CistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9lYy9lY19rZXkuYy5maXBzCTIwMTgtMDgt MjEgMTQ6MTQ6MTIuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0 by9lYy9lY19rZXkuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQyMjY1NTE0MyArMDIwMAogQEAgLTE3 OCwxNCArMTc4LDYyIEBAIEVOR0lORSAqRUNfS0VZX2dldDBfZW5naW5lKGNvbnN0IEVDX0tFWQog ICAgICByZXR1cm4gZWNrZXktPmVuZ2luZTsKICB9CkBAIC03NzIsOSArNzcyLDkgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9lYy9lY19rZXkuYy5maXBzIG9wZW5zc2wtMS4x LjEtcHJlOC9jcnlwdG8vZWMKICAgICAgRUNlcnIoRUNfRl9FQ19LRVlfR0VORVJBVEVfS0VZLCBF Q19SX09QRVJBVElPTl9OT1RfU1VQUE9SVEVEKTsKICAgICAgcmV0dXJuIDA7CiAgfQotZGlmZiAt dXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9ldnAvY19hbGxjLmMuZmlwcyBvcGVuc3NsLTEu MS4xLXByZTgvY3J5cHRvL2V2cC9jX2FsbGMuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlw dG8vZXZwL2NfYWxsYy5jLmZpcHMJMjAxOC0wNi0yMCAxNjo0ODoxMC4wMDAwMDAwMDAgKzAyMDAK LSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2cC9jX2FsbGMuYwkyMDE4LTA3LTI1IDE3 OjI2OjU4LjQwNDYyNDY4MCArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0 by9ldnAvY19hbGxjLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2V2cC9jX2FsbGMu YworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZXZwL2NfYWxsYy5jLmZpcHMJMjAxOC0w OC0yMSAxNDoxNDoxMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5 cHRvL2V2cC9jX2FsbGMuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQyMjY1NTE0MyArMDIwMAogQEAg LTE3LDYgKzE3LDkgQEAKICB2b2lkIG9wZW5zc2xfYWRkX2FsbF9jaXBoZXJzX2ludCh2b2lkKQog IHsKQEAgLTg1Niw5ICs4NTYsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2V2cC9jX2FsbGMuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZQogKyAgICB9CiAr I2VuZGlmCiAgfQotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9ldnAvY19hbGxk LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2cC9jX2FsbGQuYwotLS0tIG9wZW5z c2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZwL2NfYWxsZC5jLmZpcHMJMjAxOC0wNi0yMCAxNjo0ODox MC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2cC9jX2Fs bGQuYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwNDYyNDY4MCArMDIwMAorZGlmZiAtdXAgb3BlbnNz bC0xLjEuMS1wcmU5L2NyeXB0by9ldnAvY19hbGxkLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkv Y3J5cHRvL2V2cC9jX2FsbGQuYworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZXZwL2Nf YWxsZC5jLmZpcHMJMjAxOC0wOC0yMSAxNDoxNDoxMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVu c3NsLTEuMS4xLXByZTkvY3J5cHRvL2V2cC9jX2FsbGQuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQy MjY1NTE0MyArMDIwMAogQEAgLTE2LDYgKzE2LDkgQEAKICAKICB2b2lkIG9wZW5zc2xfYWRkX2Fs bF9kaWdlc3RzX2ludCh2b2lkKQpAQCAtODk0LDkgKzg5NCw5IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4xLjEtcHJlOC9jcnlwdG8vZXZwL2NfYWxsZC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2Ny eXB0by9lCiArICAgIH0KICsjZW5kaWYKICB9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgv Y3J5cHRvL2V2cC9kaWdlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZwL2Rp Z2VzdC5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9ldnAvZGlnZXN0LmMuZmlwcwky MDE4LTA2LTIwIDE2OjQ4OjEwLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJl OC9jcnlwdG8vZXZwL2RpZ2VzdC5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDA0NjI0NjgwICswMjAw CitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2V2cC9kaWdlc3QuYy5maXBzIG9w ZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZXZwL2RpZ2VzdC5jCistLS0gb3BlbnNzbC0xLjEuMS1w cmU5L2NyeXB0by9ldnAvZGlnZXN0LmMuZmlwcwkyMDE4LTA4LTIxIDE0OjE0OjEyLjAwMDAwMDAw MCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZXZwL2RpZ2VzdC5jCTIwMTgt MDgtMjIgMTI6MTc6NTMuNDIzNjU1MTY4ICswMjAwCiBAQCAtMTQsNiArMTQsOSBAQAogICNpbmNs dWRlIDxvcGVuc3NsL2VuZ2luZS5oPgogICNpbmNsdWRlICJpbnRlcm5hbC9ldnBfaW50LmgiCkBA IC05NTYsMTAgKzk1NiwxMCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2 cC9kaWdlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZQogICAgICBPUEVOU1NM X2Fzc2VydChjdHgtPmRpZ2VzdC0+bWRfc2l6ZSA8PSBFVlBfTUFYX01EX1NJWkUpOwogICAgICBy ZXQgPSBjdHgtPmRpZ2VzdC0+ZmluYWwoY3R4LCBtZCk7CiAgICAgIGlmIChzaXplICE9IE5VTEwp Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2cC9lX2Flcy5jLmZpcHMgb3Bl bnNzbC0xLjEuMS1wcmU4L2NyeXB0by9ldnAvZV9hZXMuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJl OC9jcnlwdG8vZXZwL2VfYWVzLmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjEwLjAwMDAwMDAwMCAr MDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZwL2VfYWVzLmMJMjAxOC0wNy0y NSAxNzoyNjo1OC40MDQ2MjQ2ODAgKzAyMDAKLUBAIC0yNzc2LDkgKzI3NzYsOSBAQCBzdGF0aWMg aW50IGFlc19jdHJfY2lwaGVyKEVWUF9DSVBIRVJfQ1RYCitkaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTkvY3J5cHRvL2V2cC9lX2Flcy5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9l dnAvZV9hZXMuYworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZXZwL2VfYWVzLmMuZmlw cwkyMDE4LTA4LTIxIDE0OjE0OjEyLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEt cHJlOS9jcnlwdG8vZXZwL2VfYWVzLmMJMjAxOC0wOC0yMiAxMjoxNzo1My40MjM2NTUxNjggKzAy MDAKK0BAIC0yNzk0LDkgKzI3OTQsOSBAQCBzdGF0aWMgaW50IGFlc19jdHJfY2lwaGVyKEVWUF9D SVBIRVJfQ1RYCiAgICAgIHJldHVybiAxOwogIH0KICAKQEAgLTk3Miw3ICs5NzIsNyBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2cC9lX2Flcy5jLmZpcHMgb3BlbnNzbC0x LjEuMS1wcmU4L2NyeXB0by9ldgogIAogIHN0YXRpYyBpbnQgYWVzX2djbV9jbGVhbnVwKEVWUF9D SVBIRVJfQ1RYICpjKQogIHsKLUBAIC0yODI0LDYgKzI4MjQsMTEgQEAgc3RhdGljIGludCBhZXNf Z2NtX2N0cmwoRVZQX0NJUEhFUl9DVFggKgorQEAgLTI4MjYsNiArMjgyNiwxMSBAQCBzdGF0aWMg aW50IGFlc19nY21fY3RybChFVlBfQ0lQSEVSX0NUWCAqCiAgICAgIGNhc2UgRVZQX0NUUkxfQUVB RF9TRVRfSVZMRU46CiAgICAgICAgICBpZiAoYXJnIDw9IDApCiAgICAgICAgICAgICAgcmV0dXJu IDA7CkBAIC05ODQsNyArOTg0LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0 by9ldnAvZV9hZXMuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXYKICAgICAgICAg IC8qIEFsbG9jYXRlIG1lbW9yeSBmb3IgSVYgaWYgbmVlZGVkICovCiAgICAgICAgICBpZiAoKGFy ZyA+IEVWUF9NQVhfSVZfTEVOR1RIKSAmJiAoYXJnID4gZ2N0eC0+aXZsZW4pKSB7CiAgICAgICAg ICAgICAgaWYgKGdjdHgtPml2ICE9IGMtPml2KQotQEAgLTMyNzMsMTEgKzMyNzgsMTQgQEAgc3Rh dGljIGludCBhZXNfZ2NtX2NpcGhlcihFVlBfQ0lQSEVSX0NUWAorQEAgLTMyNzUsMTEgKzMyODAs MTQgQEAgc3RhdGljIGludCBhZXNfZ2NtX2NpcGhlcihFVlBfQ0lQSEVSX0NUWAogICAgICAgICAg ICAgICAgICB8IEVWUF9DSVBIX0NVU1RPTV9DT1BZKQogIAogIEJMT0NLX0NJUEhFUl9jdXN0b20o TklEX2FlcywgMTI4LCAxLCAxMiwgZ2NtLCBHQ00sCkBAIC0xMDAyLDcgKzEwMDIsNyBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2cC9lX2Flcy5jLmZpcHMgb3BlbnNzbC0x LjEuMS1wcmU4L2NyeXB0by9ldgogIAogIHN0YXRpYyBpbnQgYWVzX3h0c19jdHJsKEVWUF9DSVBI RVJfQ1RYICpjLCBpbnQgdHlwZSwgaW50IGFyZywgdm9pZCAqcHRyKQogIHsKLUBAIC0zNDEyLDYg KzM0MjAsMTQgQEAgc3RhdGljIGludCBhZXNfeHRzX2NpcGhlcihFVlBfQ0lQSEVSX0NUWAorQEAg LTM0MTQsNiArMzQyMiwxNCBAQCBzdGF0aWMgaW50IGFlc194dHNfY2lwaGVyKEVWUF9DSVBIRVJf Q1RYCiAgICAgICAgICByZXR1cm4gMDsKICAgICAgaWYgKCFvdXQgfHwgIWluIHx8IGxlbiA8IEFF U19CTE9DS19TSVpFKQogICAgICAgICAgcmV0dXJuIDA7CkBAIC0xMDE3LDcgKzEwMTcsNyBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2cC9lX2Flcy5jLmZpcHMgb3BlbnNz bC0xLjEuMS1wcmU4L2NyeXB0by9ldgogICAgICBpZiAoeGN0eC0+c3RyZWFtKQogICAgICAgICAg KCp4Y3R4LT5zdHJlYW0pIChpbiwgb3V0LCBsZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAg IHhjdHgtPnh0cy5rZXkxLCB4Y3R4LT54dHMua2V5MiwKLUBAIC0zNDI5LDggKzM0NDUsMTAgQEAg c3RhdGljIGludCBhZXNfeHRzX2NpcGhlcihFVlBfQ0lQSEVSX0NUWAorQEAgLTM0MzEsOCArMzQ0 NywxMCBAQCBzdGF0aWMgaW50IGFlc194dHNfY2lwaGVyKEVWUF9DSVBIRVJfQ1RYCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgRVZQX0NJUEhfQUxXQVlTX0NBTExfSU5JVCB8IEVWUF9DSVBI X0NUUkxfSU5JVCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRVZQX0NJUEhfQ1VTVE9N X0NPUFkpCiAgCkBAIC0xMDMwLDcgKzEwMzAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXBy ZTgvY3J5cHRvL2V2cC9lX2Flcy5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9ldgog IAogIHN0YXRpYyBpbnQgYWVzX2NjbV9jdHJsKEVWUF9DSVBIRVJfQ1RYICpjLCBpbnQgdHlwZSwg aW50IGFyZywgdm9pZCAqcHRyKQogIHsKLUBAIC0zNjk1LDExICszNzEzLDExIEBAIHN0YXRpYyBp bnQgYWVzX2NjbV9jaXBoZXIoRVZQX0NJUEhFUl9DVFgKK0BAIC0zNjk3LDExICszNzE1LDExIEBA IHN0YXRpYyBpbnQgYWVzX2NjbV9jaXBoZXIoRVZQX0NJUEhFUl9DVFgKICAjZGVmaW5lIGFlc19j Y21fY2xlYW51cCBOVUxMCiAgCiAgQkxPQ0tfQ0lQSEVSX2N1c3RvbShOSURfYWVzLCAxMjgsIDEs IDEyLCBjY20sIENDTSwKQEAgLTEwNDUsNyArMTA0NSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4x LjEtcHJlOC9jcnlwdG8vZXZwL2VfYWVzLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2V2CiAgCiAgdHlwZWRlZiBzdHJ1Y3QgewogICAgICB1bmlvbiB7Ci1AQCAtMzc5Miw3ICszODEw LDcgQEAgc3RhdGljIGludCBhZXNfd3JhcF9jaXBoZXIoRVZQX0NJUEhFUl9DVAorQEAgLTM3OTQs NyArMzgxMiw3IEBAIHN0YXRpYyBpbnQgYWVzX3dyYXBfY2lwaGVyKEVWUF9DSVBIRVJfQ1QKICAg ICAgcmV0dXJuIHJ2ID8gKGludClydiA6IC0xOwogIH0KICAKQEAgLTEwNTQsOSArMTA1NCw5IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZwL2VfYWVzLmMuZmlwcyBvcGVu c3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2CiAgICAgICAgICAgICAgICAgIHwgRVZQX0NJUEhfQ1VT VE9NX0lWIHwgRVZQX0NJUEhfRkxBR19DVVNUT01fQ0lQSEVSIFwKICAgICAgICAgICAgICAgICAg fCBFVlBfQ0lQSF9BTFdBWVNfQ0FMTF9JTklUIHwgRVZQX0NJUEhfRkxBR19ERUZBVUxUX0FTTjEp CiAgCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2cC9lX2RlczMuYy5maXBz IG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZwL2VfZGVzMy5jCi0tLS0gb3BlbnNzbC0xLjEu MS1wcmU4L2NyeXB0by9ldnAvZV9kZXMzLmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjEwLjAwMDAw MDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZwL2VfZGVzMy5jCTIw MTgtMDctMjUgMTc6MjY6NTguNDA1NjI0NzA0ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTkvY3J5cHRvL2V2cC9lX2RlczMuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8v ZXZwL2VfZGVzMy5jCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9ldnAvZV9kZXMzLmMu ZmlwcwkyMDE4LTA4LTIxIDE0OjE0OjEyLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4x LjEtcHJlOS9jcnlwdG8vZXZwL2VfZGVzMy5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNDI0NjU1MTky ICswMjAwCiBAQCAtMjExLDE2ICsyMTEsMTkgQEAgQkxPQ0tfQ0lQSEVSX2RlZnMoZGVzX2VkZSwg REVTX0VERV9LRVksCiAgIyBkZWZpbmUgZGVzX2VkZTNfY2JjX2NpcGhlciBkZXNfZWRlX2NiY19j aXBoZXIKICAjIGRlZmluZSBkZXNfZWRlM19lY2JfY2lwaGVyIGRlc19lZGVfZWNiX2NpcGhlcgpA QCAtMTA4Myw5ICsxMDgzLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9l dnAvZV9kZXMzLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2UKICAKICBzdGF0aWMg aW50IGRlc19lZGVfaW5pdF9rZXkoRVZQX0NJUEhFUl9DVFggKmN0eCwgY29uc3QgdW5zaWduZWQg Y2hhciAqa2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBj aGFyICppdiwgaW50IGVuYykKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZw L2VfbnVsbC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9ldnAvZV9udWxsLmMKLS0t LSBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2cC9lX251bGwuYy5maXBzCTIwMTgtMDYtMjAg MTY6NDg6MTAuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9l dnAvZV9udWxsLmMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MDU2MjQ3MDQgKzAyMDAKK2RpZmYgLXVw IG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZXZwL2VfbnVsbC5jLmZpcHMgb3BlbnNzbC0xLjEu MS1wcmU5L2NyeXB0by9ldnAvZV9udWxsLmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRv L2V2cC9lX251bGwuYy5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTIuMDAwMDAwMDAwICswMjAwCisr Kysgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9ldnAvZV9udWxsLmMJMjAxOC0wOC0yMiAxMjox Nzo1My40MjQ2NTUxOTIgKzAyMDAKIEBAIC0xOSw3ICsxOSw4IEBAIHN0YXRpYyBpbnQgbnVsbF9j aXBoZXIoRVZQX0NJUEhFUl9DVFggKmMKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVu c2lnbmVkIGNoYXIgKmluLCBzaXplX3QgaW5sKTsKICBzdGF0aWMgY29uc3QgRVZQX0NJUEhFUiBu X2NpcGhlciA9IHsKQEAgLTEwOTYsOSArMTA5Niw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEt cHJlOC9jcnlwdG8vZXZwL2VfbnVsbC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9l CiAgICAgIG51bGxfaW5pdF9rZXksCiAgICAgIG51bGxfY2lwaGVyLAogICAgICBOVUxMLAotZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9ldnAvZXZwX2VuYy5jLmZpcHMgb3BlbnNz bC0xLjEuMS1wcmU4L2NyeXB0by9ldnAvZXZwX2VuYy5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4 L2NyeXB0by9ldnAvZXZwX2VuYy5jLmZpcHMJMjAxOC0wNi0yMCAxNjo0ODoxMC4wMDAwMDAwMDAg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2cC9ldnBfZW5jLmMJMjAxOC0w Ny0yNSAxNzoyNjo1OC40MDU2MjQ3MDQgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJl OS9jcnlwdG8vZXZwL2V2cF9lbmMuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZXZw L2V2cF9lbmMuYworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZXZwL2V2cF9lbmMuYy5m aXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTIuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjEu MS1wcmU5L2NyeXB0by9ldnAvZXZwX2VuYy5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNDI0NjU1MTky ICswMjAwCiBAQCAtMTcsMTAgKzE3LDE5IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvZW5naW5lLmg+ CiAgI2luY2x1ZGUgImludGVybmFsL2V2cF9pbnQuaCIKQEAgLTExNzQsOSArMTE3NCw5IEBAIGRp ZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZwL2V2cF9lbmMuYy5maXBzIG9wZW5z c2wtMS4xLjEtcHJlOC9jcnlwdG8vCiAgCiAgICAgIGlmIChrZXkgfHwgKGN0eC0+Y2lwaGVyLT5m bGFncyAmIEVWUF9DSVBIX0FMV0FZU19DQUxMX0lOSVQpKSB7CiAgICAgICAgICBpZiAoIWN0eC0+ Y2lwaGVyLT5pbml0KGN0eCwga2V5LCBpdiwgZW5jKSkKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEt cHJlOC9jcnlwdG8vZXZwL2V2cF9lcnIuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8v ZXZwL2V2cF9lcnIuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZwL2V2cF9lcnIu Yy5maXBzCTIwMTgtMDYtMjAgMTY6NDg6MTAuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0x LjEuMS1wcmU4L2NyeXB0by9ldnAvZXZwX2Vyci5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDA1NjI0 NzA0ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2V2cC9ldnBfZXJy LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2V2cC9ldnBfZXJyLmMKKy0tLSBvcGVu c3NsLTEuMS4xLXByZTkvY3J5cHRvL2V2cC9ldnBfZXJyLmMuZmlwcwkyMDE4LTA4LTIxIDE0OjE0 OjEyLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZXZwL2V2 cF9lcnIuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQyNDY1NTE5MiArMDIwMAogQEAgLTIwLDYgKzIw LDcgQEAgc3RhdGljIGNvbnN0IEVSUl9TVFJJTkdfREFUQSBFVlBfc3RyX2Z1bgogICAgICB7RVJS X1BBQ0soRVJSX0xJQl9FVlAsIEVWUF9GX0FFU19PQ0JfQ0lQSEVSLCAwKSwgImFlc19vY2JfY2lw aGVyIn0sCiAgICAgIHtFUlJfUEFDSyhFUlJfTElCX0VWUCwgRVZQX0ZfQUVTX1Q0X0lOSVRfS0VZ LCAwKSwgImFlc190NF9pbml0X2tleSJ9LApAQCAtMTIwMSw5ICsxMjAxLDkgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9ldnAvZXZwX2Vyci5jLmZpcHMgb3BlbnNzbC0xLjEu MS1wcmU4L2NyeXB0by8KICAgICAge0VSUl9QQUNLKEVSUl9MSUJfRVZQLCAwLCBFVlBfUl9VTktO T1dOX0NJUEhFUiksICJ1bmtub3duIGNpcGhlciJ9LAogICAgICB7RVJSX1BBQ0soRVJSX0xJQl9F VlAsIDAsIEVWUF9SX1VOS05PV05fRElHRVNUKSwgInVua25vd24gZGlnZXN0In0sCiAgICAgIHtF UlJfUEFDSyhFUlJfTElCX0VWUCwgMCwgRVZQX1JfVU5LTk9XTl9PUFRJT04pLCAidW5rbm93biBv cHRpb24ifSwKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZwL2V2cF9saWIu Yy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZwL2V2cF9saWIuYwotLS0tIG9wZW5z c2wtMS4xLjEtcHJlOC9jcnlwdG8vZXZwL2V2cF9saWIuYy5maXBzCTIwMTgtMDYtMjAgMTY6NDg6 MTAuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9ldnAvZXZw X2xpYi5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDA1NjI0NzA0ICswMjAwCitkaWZmIC11cCBvcGVu c3NsLTEuMS4xLXByZTkvY3J5cHRvL2V2cC9ldnBfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXBy ZTkvY3J5cHRvL2V2cC9ldnBfbGliLmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2V2 cC9ldnBfbGliLmMuZmlwcwkyMDE4LTA4LTIxIDE0OjE0OjEyLjAwMDAwMDAwMCArMDIwMAorKysr IG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZXZwL2V2cF9saWIuYwkyMDE4LTA4LTIyIDEyOjE3 OjUzLjQyNDY1NTE5MiArMDIwMAogQEAgLTE5Miw2ICsxOTIsOSBAQCBpbnQgRVZQX0NJUEhFUl9p bXBsX2N0eF9zaXplKGNvbnN0IEVWUF9DCiAgaW50IEVWUF9DaXBoZXIoRVZQX0NJUEhFUl9DVFgg KmN0eCwgdW5zaWduZWQgY2hhciAqb3V0LAogICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVk IGNoYXIgKmluLCB1bnNpZ25lZCBpbnQgaW5sKQpAQCAtMTIxNCw5ICsxMjE0LDkgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9ldnAvZXZwX2xpYi5jLmZpcHMgb3BlbnNzbC0x LjEuMS1wcmU4L2NyeXB0by8KICAgICAgcmV0dXJuIGN0eC0+Y2lwaGVyLT5kb19jaXBoZXIoY3R4 LCBvdXQsIGluLCBpbmwpOwogIH0KICAKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlw dG8vZXZwL21fc2hhMS5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9ldnAvbV9zaGEx LmMKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2V2cC9tX3NoYTEuYy5maXBzCTIwMTgt MDYtMjAgMTY6NDg6MTEuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2Ny eXB0by9ldnAvbV9zaGExLmMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MDU2MjQ3MDQgKzAyMDAKK2Rp ZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZXZwL21fc2hhMS5jLmZpcHMgb3BlbnNz bC0xLjEuMS1wcmU5L2NyeXB0by9ldnAvbV9zaGExLmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkv Y3J5cHRvL2V2cC9tX3NoYTEuYy5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTIuMDAwMDAwMDAwICsw MjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9ldnAvbV9zaGExLmMJMjAxOC0wOC0y MiAxMjoxNzo1My40MjQ2NTUxOTIgKzAyMDAKIEBAIC05NSw3ICs5NSw3IEBAIHN0YXRpYyBjb25z dCBFVlBfTUQgc2hhMV9tZCA9IHsKICAgICAgTklEX3NoYTEsCiAgICAgIE5JRF9zaGExV2l0aFJT QUVuY3J5cHRpb24sCkBAIC0xMjgwLDkgKzEyODAsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTgvY3J5cHRvL2V2cC9tX3NoYTEuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8v ZQogICAgICBpbml0NTEyLAogICAgICB1cGRhdGU1MTIsCiAgICAgIGZpbmFsNTEyLAotZGlmZiAt dXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2J1aWxkLmluZm8uZmlwcyBvcGVuc3Ns LTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvYnVpbGQuaW5mbwotLS0tIG9wZW5zc2wtMS4xLjEtcHJl OC9jcnlwdG8vZmlwcy9idWlsZC5pbmZvLmZpcHMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MDU2MjQ3 MDQgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvYnVpbGQuaW5mbwky MDE4LTA3LTI1IDE3OjI2OjU4LjQwNTYyNDcwNCArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEu MS1wcmU5L2NyeXB0by9maXBzL2J1aWxkLmluZm8uZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5 cHRvL2ZpcHMvYnVpbGQuaW5mbworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9i dWlsZC5pbmZvLmZpcHMJMjAxOC0wOC0yMiAxMjoxNzo1My40MjU2NTUyMTcgKzAyMDAKKysrKyBv cGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvYnVpbGQuaW5mbwkyMDE4LTA4LTIyIDEyOjE3 OjUzLjQyNTY1NTIxNyArMDIwMAogQEAgLTAsMCArMSwxNSBAQAogK0xJQlM9Li4vLi4vbGliY3J5 cHRvCiArU09VUkNFWy4uLy4uL2xpYmNyeXB0b109XApAQCAtMTI5OSw5ICsxMjk5LDkgQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2J1aWxkLmluZm8uZmlwcyBvcGVu c3NsLTEuMS4xLXByZTgvY3J5cHQKICtTT1VSQ0VbZmlwc19zdGFuZGFsb25lX2htYWNdPWZpcHNf c3RhbmRhbG9uZV9obWFjLmMKICtJTkNMVURFW2ZpcHNfc3RhbmRhbG9uZV9obWFjXT0uLi8uLi9p bmNsdWRlCiArREVQRU5EW2ZpcHNfc3RhbmRhbG9uZV9obWFjXT0uLi8uLi9saWJjcnlwdG8KLWRp ZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2Flc19zZWxmdGVzdC5j LmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMK LS0tLSBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19hZXNfc2VsZnRlc3QuYy5m aXBzCTIwMTgtMDctMjUgMTc6MjY6NTguNDA2NjI0NzI4ICswMjAwCi0rKysgb3BlbnNzbC0xLjEu MS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMJMjAxOC0wNy0yNSAxNzoyNjo1 OC40MDU2MjQ3MDQgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlw cy9maXBzX2Flc19zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBz L2ZpcHNfYWVzX3NlbGZ0ZXN0LmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMv Zmlwc19hZXNfc2VsZnRlc3QuYy5maXBzCTIwMTgtMDgtMjIgMTI6MTc6NTMuNDI1NjU1MjE3ICsw MjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0 LmMJMjAxOC0wOC0yMiAxMjoxNzo1My40MjU2NTUyMTcgKzAyMDAKIEBAIC0wLDAgKzEsMzcyIEBA CiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJv amVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xNjc1LDkgKzE2NzUsOSBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19hZXNfc2VsZnRlc3QuYy5maXBz IG9wZW5zc2wtMS4xLjEtcAogK30KICsKICsjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEt cHJlOC9jcnlwdG8vZmlwcy9maXBzLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2Zp cHMvZmlwcy5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHMuYy5maXBz CTIwMTgtMDctMjUgMTc6MjY6NTguNDA2NjI0NzI4ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1w cmU4L2NyeXB0by9maXBzL2ZpcHMuYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwNjYyNDcyOCArMDIw MAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHMuYy5maXBzIG9w ZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzLmMKKy0tLSBvcGVuc3NsLTEuMS4xLXBy ZTkvY3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMJMjAxOC0wOC0yMiAxMjoxNzo1My40MjU2NTUyMTcg KzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwcy5jCTIwMTgtMDgt MjIgMTI6MTc6NTMuNDI1NjU1MjE3ICswMjAwCiBAQCAtMCwwICsxLDUyNiBAQAogKy8qID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwg cmlnaHRzIHJlc2VydmVkLgpAQCAtMjIwNSw5ICsyMjA1LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHMuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlw dG8vZmkKICt9CiArCiArI2VuZGlmCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0LmMuZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwNjYy NDcyOCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2NtYWNf c2VsZnRlc3QuYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwNjYyNDcyOCArMDIwMAorZGlmZiAtdXAg b3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfY21hY19zZWxmdGVzdC5jLmZpcHMg b3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfY21hY19zZWxmdGVzdC5jCistLS0g b3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfY21hY19zZWxmdGVzdC5jLmZpcHMJ MjAxOC0wOC0yMiAxMjoxNzo1My40MjU2NTUyMTcgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXBy ZTkvY3J5cHRvL2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0LmMJMjAxOC0wOC0yMiAxMjoxNzo1My40 MjU2NTUyMTcgKzAyMDAKIEBAIC0wLDAgKzEsMTU2IEBACiArLyogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBD b3B5cmlnaHQgKGMpIDIwMTEgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2 ZWQuCkBAIC0yMzY1LDkgKzIzNjUsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5 cHRvL2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLQogKyAgICBy ZXR1cm4gcnY7CiArfQogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0 by9maXBzL2ZpcHNfZGVzX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2ZpcHMvZmlwc19kZXNfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8v Zmlwcy9maXBzX2Rlc19zZWxmdGVzdC5jLmZpcHMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MDY2MjQ3 MjggKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19kZXNfc2Vs ZnRlc3QuYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwNjYyNDcyOCArMDIwMAorZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfZGVzX3NlbGZ0ZXN0LmMuZmlwcyBvcGVu c3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19kZXNfc2VsZnRlc3QuYworLS0tIG9wZW5z c2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2Rlc19zZWxmdGVzdC5jLmZpcHMJMjAxOC0w OC0yMiAxMjoxNzo1My40MjU2NTUyMTcgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5 cHRvL2ZpcHMvZmlwc19kZXNfc2VsZnRlc3QuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQyNTY1NTIx NyArMDIwMAogQEAgLTAsMCArMSwxMzMgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdo dCAoYykgMjAwMyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAg LTI1MDIsOSArMjUwMiw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlw cy9maXBzX2Rlc19zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wCiArICAgIHJldHVybiBy ZXQ7CiArfQogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBz L2ZpcHNfZGhfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9m aXBzX2RoX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlw c19kaF9zZWxmdGVzdC5jLmZpcHMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MDY2MjQ3MjggKzAyMDAK LSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19kaF9zZWxmdGVzdC5jCTIw MTgtMDctMjUgMTc6MjY6NTguNDA2NjI0NzI4ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTkvY3J5cHRvL2ZpcHMvZmlwc19kaF9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1w cmU5L2NyeXB0by9maXBzL2ZpcHNfZGhfc2VsZnRlc3QuYworLS0tIG9wZW5zc2wtMS4xLjEtcHJl OS9jcnlwdG8vZmlwcy9maXBzX2RoX3NlbGZ0ZXN0LmMuZmlwcwkyMDE4LTA4LTIyIDEyOjE3OjUz LjQyNjY1NTI0MSArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBz X2RoX3NlbGZ0ZXN0LmMJMjAxOC0wOC0yMiAxMjoxNzo1My40MjY2NTUyNDEgKzAyMDAKIEBAIC0w LDAgKzEsMTgwIEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhl IE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0yNjg2LDEwICsyNjg2 LDEwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RoX3Nl bGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByCiArICAgIHJldHVybiByZXQ7CiArfQogKyNl bmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19j dHIuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfY3RyLmMK LS0tLSBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jLmZpcHMJ MjAxOC0wNy0yNSAxNzoyNjo1OC40MDY2MjQ3MjggKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXBy ZTgvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDA2NjI0 NzI4ICswMjAwCi1AQCAtMCwwICsxLDQxNSBAQAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5 L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19jdHIuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlw dG8vZmlwcy9maXBzX2RyYmdfY3RyLmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2Zp cHMvZmlwc19kcmJnX2N0ci5jLmZpcHMJMjAxOC0wOC0yMiAxMjoxNzo1My40MjY2NTUyNDEgKzAy MDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jCTIw MTgtMDgtMjIgMTI6MTc6NTMuNDI2NjU1MjQxICswMjAwCitAQCAtMCwwICsxLDQwNiBAQAogKy8q IGZpcHMvcmFuZC9maXBzX2RyYmdfY3RyLmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4g TiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKICsgKiBwcm9qZWN0 LgpAQCAtMzAwNiwyMiArMzAwNiwxMyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5 cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4LwogKwogKyAg ICBmb3IgKDs7KSB7CiArICAgICAgICBpbmNfMTI4KGNjdHgpOwotKyAgICAgICAgaWYgKCEoZGN0 eC0+eGZsYWdzICYgRFJCR19GTEFHX1RFU1QpICYmICFkY3R4LT5sYl92YWxpZCkgewotKyAgICAg ICAgICAgIEFFU19lbmNyeXB0KGNjdHgtPlYsIGRjdHgtPmxiLCAmY2N0eC0+a3MpOwotKyAgICAg ICAgICAgIGRjdHgtPmxiX3ZhbGlkID0gMTsKLSsgICAgICAgICAgICBjb250aW51ZTsKLSsgICAg ICAgIH0KICsgICAgICAgIGlmIChvdXRsZW4gPCAxNikgewogKyAgICAgICAgICAgIC8qIFVzZSBL IGFzIHRlbXAgc3BhY2UgYXMgaXQgd2lsbCBiZSB1cGRhdGVkICovCiArICAgICAgICAgICAgQUVT X2VuY3J5cHQoY2N0eC0+ViwgY2N0eC0+SywgJmNjdHgtPmtzKTsKLSsgICAgICAgICAgICBpZiAo IWZpcHNfZHJiZ19jcHJuZ190ZXN0KGRjdHgsIGNjdHgtPkspKQotKyAgICAgICAgICAgICAgICBy ZXR1cm4gMDsKICsgICAgICAgICAgICBtZW1jcHkob3V0LCBjY3R4LT5LLCBvdXRsZW4pOwogKyAg ICAgICAgICAgIGJyZWFrOwogKyAgICAgICAgfQogKyAgICAgICAgQUVTX2VuY3J5cHQoY2N0eC0+ Viwgb3V0LCAmY2N0eC0+a3MpOwotKyAgICAgICAgaWYgKCFmaXBzX2RyYmdfY3BybmdfdGVzdChk Y3R4LCBvdXQpKQotKyAgICAgICAgICAgIHJldHVybiAwOwogKyAgICAgICAgb3V0ICs9IDE2Owog KyAgICAgICAgb3V0bGVuIC09IDE2OwogKyAgICAgICAgaWYgKG91dGxlbiA9PSAwKQpAQCAtMzEw NSwxMCArMzA5NiwxMCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMv Zmlwc19kcmJnX2N0ci5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4LwogKwogKyAgICByZXR1cm4g MTsKICt9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19kcmJn X2hhc2guYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaGFz aC5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19oYXNoLmMu ZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwNjYyNDcyOCArMDIwMAotKysrIG9wZW5zc2wtMS4x LjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaGFzaC5jCTIwMTgtMDctMjUgMTc6MjY6NTgu NDA2NjI0NzI4ICswMjAwCi1AQCAtMCwwICsxLDM2MSBAQAorZGlmZiAtdXAgb3BlbnNzbC0xLjEu MS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19oYXNoLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXBy ZTkvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2hhc2guYworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9j cnlwdG8vZmlwcy9maXBzX2RyYmdfaGFzaC5jLmZpcHMJMjAxOC0wOC0yMiAxMjoxNzo1My40MzA2 NTUzMzkgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19kcmJn X2hhc2guYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzMDY1NTMzOSArMDIwMAorQEAgLTAsMCArMSwz NTQgQEAKICsvKiBmaXBzL3JhbmQvZmlwc19kcmJnX2hhc2guYyAqLwogKy8qIFdyaXR0ZW4gYnkg RHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTAog KyAqIHByb2plY3QuCkBAIC0zMjk2LDE5ICszMjg3LDEyIEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4x LjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaGFzaC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1w cmU4CiArICAgIGZvciAoOzspIHsKICsgICAgICAgIEZJUFNfZGlnZXN0aW5pdChoY3R4LT5tY3R4 LCBoY3R4LT5tZCk7CiArICAgICAgICBGSVBTX2RpZ2VzdHVwZGF0ZShoY3R4LT5tY3R4LCBoY3R4 LT52dG1wLCBkY3R4LT5zZWVkbGVuKTsKLSsgICAgICAgIGlmICghKGRjdHgtPnhmbGFncyAmIERS QkdfRkxBR19URVNUKSAmJiAhZGN0eC0+bGJfdmFsaWQpIHsKLSsgICAgICAgICAgICBGSVBTX2Rp Z2VzdGZpbmFsKGhjdHgtPm1jdHgsIGRjdHgtPmxiLCBOVUxMKTsKLSsgICAgICAgICAgICBkY3R4 LT5sYl92YWxpZCA9IDE7Ci0rICAgICAgICB9IGVsc2UgaWYgKG91dGxlbiA8IGRjdHgtPmJsb2Nr bGVuZ3RoKSB7CisrICAgICAgICBpZiAob3V0bGVuIDwgZGN0eC0+YmxvY2tsZW5ndGgpIHsKICsg ICAgICAgICAgICBGSVBTX2RpZ2VzdGZpbmFsKGhjdHgtPm1jdHgsIGhjdHgtPnZ0bXAsIE5VTEwp OwotKyAgICAgICAgICAgIGlmICghZmlwc19kcmJnX2Nwcm5nX3Rlc3QoZGN0eCwgaGN0eC0+dnRt cCkpCi0rICAgICAgICAgICAgICAgIHJldHVybiAwOwogKyAgICAgICAgICAgIG1lbWNweShvdXQs IGhjdHgtPnZ0bXAsIG91dGxlbik7CiArICAgICAgICAgICAgcmV0dXJuIDE7CiArICAgICAgICB9 IGVsc2UgewogKyAgICAgICAgICAgIEZJUFNfZGlnZXN0ZmluYWwoaGN0eC0+bWN0eCwgb3V0LCBO VUxMKTsKLSsgICAgICAgICAgICBpZiAoIWZpcHNfZHJiZ19jcHJuZ190ZXN0KGRjdHgsIG91dCkp Ci0rICAgICAgICAgICAgICAgIHJldHVybiAwOwogKyAgICAgICAgICAgIG91dGxlbiAtPSBkY3R4 LT5ibG9ja2xlbmd0aDsKICsgICAgICAgICAgICBpZiAob3V0bGVuID09IDApCiArICAgICAgICAg ICAgICAgIHJldHVybiAxOwpAQCAtMzQ3MCwxMCArMzQ1NCwxMCBAQCBkaWZmIC11cCBvcGVuc3Ns LTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2hhc2guYy5maXBzIG9wZW5zc2wtMS4x LjEtcHJlOAogKwogKyAgICByZXR1cm4gMTsKICt9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXBy ZTgvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2htYWMuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9j cnlwdG8vZmlwcy9maXBzX2RyYmdfaG1hYy5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0 by9maXBzL2ZpcHNfZHJiZ19obWFjLmMuZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwNzYyNDc1 MiArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1h Yy5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDA3NjI0NzUyICswMjAwCi1AQCAtMCwwICsxLDI3MiBA QAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19obWFj LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2htYWMuYwor LS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1hYy5jLmZpcHMJ MjAxOC0wOC0yMiAxMjoxNzo1My40MzE2NTUzNjQgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXBy ZTkvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2htYWMuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzMTY1 NTM2NCArMDIwMAorQEAgLTAsMCArMSwyNjIgQEAKICsvKiBmaXBzL3JhbmQvZmlwc19kcmJnX2ht YWMuYyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNz bC5vcmcpIGZvciB0aGUgT3BlblNTTAogKyAqIHByb2plY3QuCkBAIC0zNjUzLDIzICszNjM3LDEz IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1h Yy5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4CiArICAgICAgICAgICAgcmV0dXJuIDA7CiArICAg ICAgICBpZiAoIUhNQUNfVXBkYXRlKGhjdHgsIFZ0bXAsIGRjdHgtPmJsb2NrbGVuZ3RoKSkKICsg ICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgIGlmICghKGRjdHgtPnhmbGFncyAmIERSQkdf RkxBR19URVNUKSAmJiAhZGN0eC0+bGJfdmFsaWQpIHsKLSsgICAgICAgICAgICBpZiAoIUhNQUNf RmluYWwoaGN0eCwgZGN0eC0+bGIsIE5VTEwpKQotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsK LSsgICAgICAgICAgICBkY3R4LT5sYl92YWxpZCA9IDE7Ci0rICAgICAgICAgICAgVnRtcCA9IGRj dHgtPmxiOwotKyAgICAgICAgICAgIGNvbnRpbnVlOwotKyAgICAgICAgfSBlbHNlIGlmIChvdXRs ZW4gPiBkY3R4LT5ibG9ja2xlbmd0aCkgeworKyAgICAgICAgaWYgKG91dGxlbiA+IGRjdHgtPmJs b2NrbGVuZ3RoKSB7CiArICAgICAgICAgICAgaWYgKCFITUFDX0ZpbmFsKGhjdHgsIG91dCwgTlVM TCkpCiArICAgICAgICAgICAgICAgIHJldHVybiAwOwotKyAgICAgICAgICAgIGlmICghZmlwc19k cmJnX2Nwcm5nX3Rlc3QoZGN0eCwgb3V0KSkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAr ICAgICAgICAgICAgVnRtcCA9IG91dDsKICsgICAgICAgIH0gZWxzZSB7CiArICAgICAgICAgICAg aWYgKCFITUFDX0ZpbmFsKGhjdHgsIGhtYWMtPlYsIE5VTEwpKQogKyAgICAgICAgICAgICAgICBy ZXR1cm4gMDsKLSsgICAgICAgICAgICBpZiAoIWZpcHNfZHJiZ19jcHJuZ190ZXN0KGRjdHgsIGht YWMtPlYpKQotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKICsgICAgICAgICAgICBtZW1jcHko b3V0LCBobWFjLT5WLCBvdXRsZW4pOwogKyAgICAgICAgICAgIGJyZWFrOwogKyAgICAgICAgfQpA QCAtMzc0NiwxMCArMzcyMCwxMCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2ZpcHMvZmlwc19kcmJnX2htYWMuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOAogKwogKyAgICBy ZXR1cm4gMTsKICt9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlw c19kcmJnX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfZHJi Z19saWIuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfbGli LmMuZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwNzYyNDc1MiArMDIwMAotKysrIG9wZW5zc2wt MS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfbGliLmMJMjAxOC0wNy0yNSAxNzoyNjo1 OC40MDc2MjQ3NTIgKzAyMDAKLUBAIC0wLDAgKzEsNTU1IEBACitkaWZmIC11cCBvcGVuc3NsLTEu MS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjEuMS1w cmU5L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19saWIuYworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9j cnlwdG8vZmlwcy9maXBzX2RyYmdfbGliLmMuZmlwcwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzMTY1 NTM2NCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2RyYmdf bGliLmMJMjAxOC0wOC0yMiAxMjoxNzo1My40MzE2NTUzNjQgKzAyMDAKK0BAIC0wLDAgKzEsNTI4 IEBACiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9y ZykgZm9yIHRoZSBPcGVuU1NMCiArICogcHJvamVjdC4KICsgKi8KQEAgLTQyNzQsNDAgKzQyNDgs MTMgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19s aWIuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC8KICsgICAgZGN0eC0+cmVzZWVkX2ludGVydmFs ID0gaW50ZXJ2YWw7CiArfQogKwotK3N0YXRpYyBpbnQgZHJiZ19zdGljayA9IDA7Ci0rCiArdm9p ZCBGSVBTX2RyYmdfc3RpY2soaW50IG9ub2ZmKQogK3sKLSsgICAgZHJiZ19zdGljayA9IG9ub2Zm OworKyAgICAvKiBKdXN0IGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IEFQSSBjYWxsIHdpdGggbm8g ZWZmZWN0LiAqLwogK30KLSsKLSsvKiBDb250aW51b3VzIERSQkcgdXRpbGl0eSBmdW5jdGlvbiAq LwotK2ludCBmaXBzX2RyYmdfY3BybmdfdGVzdChEUkJHX0NUWCAqZGN0eCwgY29uc3QgdW5zaWdu ZWQgY2hhciAqb3V0KQotK3sKLSsgICAgLyogTm8gQ1BSTkcgaW4gdGVzdCBtb2RlICovCi0rICAg IGlmIChkY3R4LT54ZmxhZ3MgJiBEUkJHX0ZMQUdfVEVTVCkKLSsgICAgICAgIHJldHVybiAxOwot KyAgICAvKiBDaGVjayBibG9jayBpcyB2YWxpZDogc2hvdWxkIG5ldmVyIGhhcHBlbiAqLwotKyAg ICBpZiAoZGN0eC0+bGJfdmFsaWQgPT0gMCkgewotKyAgICAgICAgRklQU2VycihGSVBTX0ZfRklQ U19EUkJHX0NQUk5HX1RFU1QsIEZJUFNfUl9JTlRFUk5BTF9FUlJPUik7Ci0rICAgICAgICBmaXBz X3NldF9zZWxmdGVzdF9mYWlsKCk7Ci0rICAgICAgICByZXR1cm4gMDsKLSsgICAgfQotKyAgICBp ZiAoZHJiZ19zdGljaykKLSsgICAgICAgIG1lbWNweShkY3R4LT5sYiwgb3V0LCBkY3R4LT5ibG9j a2xlbmd0aCk7Ci0rICAgIC8qIENoZWNrIGFnYWluc3QgbGFzdCBibG9jazogZmFpbCBpZiBtYXRj aCAqLwotKyAgICBpZiAoIW1lbWNtcChkY3R4LT5sYiwgb3V0LCBkY3R4LT5ibG9ja2xlbmd0aCkp IHsKLSsgICAgICAgIEZJUFNlcnIoRklQU19GX0ZJUFNfRFJCR19DUFJOR19URVNULCBGSVBTX1Jf RFJCR19TVFVDSyk7Ci0rICAgICAgICBmaXBzX3NldF9zZWxmdGVzdF9mYWlsKCk7Ci0rICAgICAg ICByZXR1cm4gMDsKLSsgICAgfQotKyAgICAvKiBTYXZlIGxhc3QgYmxvY2sgZm9yIG5leHQgY29t cGFyaXNvbiAqLwotKyAgICBtZW1jcHkoZGN0eC0+bGIsIG91dCwgZGN0eC0+YmxvY2tsZW5ndGgp OwotKyAgICByZXR1cm4gMTsKLSt9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2ZpcHMvZmlwc19kcmJnX3JhbmQuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlw cy9maXBzX2RyYmdfcmFuZC5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2Zp cHNfZHJiZ19yYW5kLmMuZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwNzYyNDc1MiArMDIwMAot KysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RyYmdfcmFuZC5jCTIwMTgt MDctMjUgMTc6MjY6NTguNDA3NjI0NzUyICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXBy ZTkvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9j cnlwdG8vZmlwcy9maXBzX2RyYmdfcmFuZC5jCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0 by9maXBzL2ZpcHNfZHJiZ19yYW5kLmMuZmlwcwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzMTY1NTM2 NCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfcmFu ZC5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNDMxNjU1MzY0ICswMjAwCiBAQCAtMCwwICsxLDE4MyBA QAogKy8qIGZpcHMvcmFuZC9maXBzX2RyYmdfcmFuZC5jICovCiArLyogV3JpdHRlbiBieSBEciBT dGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC00 NDkyLDkgKzQ0MzksOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMv Zmlwc19kcmJnX3JhbmQuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOAogK3sKICsgICAgcmV0dXJu ICZyYW5kX2RyYmdfbWV0aDsKICt9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMuZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwNzYy NDc1MiArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RyYmdf c2VsZnRlc3QuYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwNzYyNDc1MiArMDIwMAorZGlmZiAtdXAg b3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5jLmZpcHMg b3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5jCistLS0g b3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5jLmZpcHMJ MjAxOC0wOC0yMiAxMjoxNzo1My40MzE2NTUzNjQgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXBy ZTkvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMJMjAxOC0wOC0yMiAxMjoxNzo1My40 MzE2NTUzNjQgKzAyMDAKIEBAIC0wLDAgKzEsODI4IEBACiArLyogZmlwcy9yYW5kL2ZpcHNfZHJi Z19zZWxmdGVzdC5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChzdGV2 ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC01MzI0LDkgKzUyNzEsOSBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMu ZmlwcyBvcGVuc3NsLTEuMS4xLQogKyAgICBGSVBTX2RyYmdfZnJlZShkY3R4KTsKICsgICAgcmV0 dXJuIHJ2OwogK30KLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBz X2RyYmdfc2VsZnRlc3QuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBz X2RyYmdfc2VsZnRlc3QuaAotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBz X2RyYmdfc2VsZnRlc3QuaC5maXBzCTIwMTgtMDctMjUgMTc6MjY6NTguNDA4NjI0Nzc2ICswMjAw Ci0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5o CTIwMTgtMDctMjUgMTc6MjY6NTguNDA4NjI0Nzc2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEu MS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmguZmlwcyBvcGVuc3NsLTEu MS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmgKKy0tLSBvcGVuc3NsLTEu MS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmguZmlwcwkyMDE4LTA4LTIy IDEyOjE3OjUzLjQzODY1NTUzNSArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8v Zmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuaAkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzODY1NTUzNSAr MDIwMAogQEAgLTAsMCArMSwxNzkxIEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQg KGMpIDIwMTEgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC03 MTE5LDkgKzcwNjYsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMv Zmlwc19kcmJnX3NlbGZ0ZXN0LmguZmlwcyBvcGVuc3NsLTEuMS4xLQogKyAgICAweGVmLCAweDA1 LCAweDllLCAweGI4LCAweGM3LCAweDUyLCAweGU0LCAweDBlLCAweDQyLCAweGFhLCAweDdjLCAw eDc5LAogKyAgICAweGMyLCAweGQ2LCAweGZkLCAweGE1CiArfTsKLWRpZmYgLXVwIG9wZW5zc2wt MS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0x LjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEu MS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19kc2Ffc2VsZnRlc3QuYy5maXBzCTIwMTgtMDctMjUg MTc6MjY6NTguNDA4NjI0Nzc2ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9m aXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MDg2MjQ3NzYgKzAy MDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2RzYV9zZWxm dGVzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0 ZXN0LmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19kc2Ffc2VsZnRl c3QuYy5maXBzCTIwMTgtMDgtMjIgMTI6MTc6NTMuNDM4NjU1NTM1ICswMjAwCisrKysgb3BlbnNz bC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMJMjAxOC0wOC0yMiAx MjoxNzo1My40Mzg2NTU1MzUgKzAyMDAKIEBAIC0wLDAgKzEsMTk1IEBACiArLyogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCkBAIC03MzE4LDkgKzcyNjUsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTgvY3J5cHRvL2ZpcHMvZmlwc19kc2Ffc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjEt cAogKyAgICByZXR1cm4gcmV0OwogK30KICsjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEt cHJlOC9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjEt cHJlOC9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4xLjEt cHJlOC9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3QuYy5maXBzCTIwMTgtMDctMjUgMTc6 MjY6NTguNDA4NjI0Nzc2ICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBz L2ZpcHNfZWNkaF9zZWxmdGVzdC5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDA4NjI0Nzc2ICswMjAw CitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19lY2RoX3NlbGZ0 ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19lY2RoX3NlbGZ0 ZXN0LmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19lY2RoX3NlbGZ0 ZXN0LmMuZmlwcwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzODY1NTUzNSArMDIwMAorKysrIG9wZW5z c2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3QuYwkyMDE4LTA4LTIy IDEyOjE3OjUzLjQzODY1NTUzNSArMDIwMAogQEAgLTAsMCArMSwyNDIgQEAKICsvKiBmaXBzL2Vj ZGgvZmlwc19lY2RoX3NlbGZ0ZXN0LmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBI ZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTc1NjQsOSArNzUx MSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2VjZGhf c2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjEtCiArfQogKwogKyNlbmRpZgotZGlmZiAtdXAg b3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfZWNkc2Ffc2VsZnRlc3QuYy5maXBz IG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2VjZHNhX3NlbGZ0ZXN0LmMKLS0t LSBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19lY2RzYV9zZWxmdGVzdC5jLmZp cHMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MDg2MjQ3NzYgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4x LXByZTgvY3J5cHRvL2ZpcHMvZmlwc19lY2RzYV9zZWxmdGVzdC5jCTIwMTgtMDctMjUgMTc6MjY6 NTguNDA4NjI0Nzc2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2Zp cHMvZmlwc19lY2RzYV9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9m aXBzL2ZpcHNfZWNkc2Ffc2VsZnRlc3QuYworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8v Zmlwcy9maXBzX2VjZHNhX3NlbGZ0ZXN0LmMuZmlwcwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzOTY1 NTU2MCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2VjZHNh X3NlbGZ0ZXN0LmMJMjAxOC0wOC0yMiAxMjoxNzo1My40Mzg2NTU1MzUgKzAyMDAKIEBAIC0wLDAg KzEsMTY2IEBACiArLyogZmlwcy9lY2RzYS9maXBzX2VjZHNhX3NlbGZ0ZXN0LmMgKi8KICsvKiBX cml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhl IE9wZW5TU0wKQEAgLTc3MzQsOSArNzY4MSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJl OC9jcnlwdG8vZmlwcy9maXBzX2VjZHNhX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xCiAr fQogKwogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2Zp cHNfZW5jLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19lbmMuYwot LS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2VuYy5jLmZpcHMJMjAxOC0w Ny0yNSAxNzoyNjo1OC40MDg2MjQ3NzYgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5 cHRvL2ZpcHMvZmlwc19lbmMuYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwODYyNDc3NiArMDIwMAor ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfZW5jLmMuZmlwcyBv cGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19lbmMuYworLS0tIG9wZW5zc2wtMS4x LjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2VuYy5jLmZpcHMJMjAxOC0wOC0yMiAxMjoxNzo1My40 Mzk2NTU1NjAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19l bmMuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzOTY1NTU2MCArMDIwMAogQEAgLTAsMCArMSwxODkg QEAKICsvKiBmaXBlL2V2cC9maXBzX2VuYy5jICovCiArLyogQ29weXJpZ2h0IChDKSAxOTk1LTE5 OTggRXJpYyBZb3VuZyAoZWF5QGNyeXB0c29mdC5jb20pCkBAIC03OTI3LDkgKzc4NzQsOSBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19lbmMuYy5maXBzIG9w ZW5zc2wtMS4xLjEtcHJlOC9jcnlwdAogKwogKyAgICB9CiArfQotZGlmZiAtdXAgb3BlbnNzbC0x LjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfZXJyLmguZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgv Y3J5cHRvL2ZpcHMvZmlwc19lcnIuaAotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlw cy9maXBzX2Vyci5oLmZpcHMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MDg2MjQ3NzYgKzAyMDAKLSsr KyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19lcnIuaAkyMDE4LTA3LTI1IDE3 OjI2OjU4LjQwODYyNDc3NiArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0 by9maXBzL2ZpcHNfZXJyLmguZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlw c19lcnIuaAorLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2Vyci5oLmZp cHMJMjAxOC0wOC0yMiAxMjoxNzo1My40Mzk2NTU1NjAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4x LXByZTkvY3J5cHRvL2ZpcHMvZmlwc19lcnIuaAkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzOTY1NTU2 MCArMDIwMAogQEAgLTAsMCArMSwxOTYgQEAKICsvKiBjcnlwdG8vZmlwc19lcnIuaCAqLwogKy8q ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CkBAIC04MTI3LDkgKzgwNzQsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTgvY3J5cHRvL2ZpcHMvZmlwc19lcnIuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlw dAogKyNlbmRpZgogKyAgICByZXR1cm4gMTsKICt9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXBy ZTgvY3J5cHRvL2ZpcHMvZmlwc19lcnMuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8v Zmlwcy9maXBzX2Vycy5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNf ZXJzLmMuZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwODYyNDc3NiArMDIwMAotKysrIG9wZW5z c2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2Vycy5jCTIwMTgtMDctMjUgMTc6MjY6NTgu NDA4NjI0Nzc2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMv Zmlwc19lcnMuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2Vycy5j CistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfZXJzLmMuZmlwcwkyMDE4 LTA4LTIyIDEyOjE3OjUzLjQzOTY1NTU2MCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9j cnlwdG8vZmlwcy9maXBzX2Vycy5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNDM5NjU1NTYwICswMjAw CiBAQCAtMCwwICsxLDcgQEAKICsjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3NsY29uZi5oPgogKwpA QCAtODEzOCw5ICs4MDg1LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9m aXBzL2ZpcHNfZXJzLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHQKICsjZWxzZQogK3N0 YXRpYyB2b2lkICpkdW1teSA9ICZkdW1teTsKICsjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4x LjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4x LjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4x LjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYy5maXBzCTIwMTgtMDctMjUg MTc6MjY6NTguNDA5NjI0ODAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9m aXBzL2ZpcHNfaG1hY19zZWxmdGVzdC5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDA5NjI0ODAwICsw MjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19obWFjX3Nl bGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19obWFjX3Nl bGZ0ZXN0LmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19obWFjX3Nl bGZ0ZXN0LmMuZmlwcwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzOTY1NTU2MCArMDIwMAorKysrIG9w ZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYwkyMDE4LTA4 LTIyIDEyOjE3OjUzLjQzOTY1NTU2MCArMDIwMAogQEAgLTAsMCArMSwxMzQgQEAKICsvKiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwNSBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxs IHJpZ2h0cyByZXNlcnZlZC4KQEAgLTgyNzYsOSArODIyMyw5IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wt MS4xLjEtCiArICAgIHJldHVybiAxOwogK30KICsjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4x LjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX2xvY2wuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9j cnlwdG8vZmlwcy9maXBzX2xvY2wuaAotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlw cy9maXBzX2xvY2wuaC5maXBzCTIwMTgtMDctMjUgMTc6MjY6NTguNDA5NjI0ODAwICswMjAwCi0r Kysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfbG9jbC5oCTIwMTgtMDctMjUg MTc6MjY6NTguNDA5NjI0ODAwICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5 cHRvL2ZpcHMvZmlwc19sb2NsLmguZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMv Zmlwc19sb2NsLmgKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19sb2Ns LmguZmlwcwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzOTY1NTU2MCArMDIwMAorKysrIG9wZW5zc2wt MS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX2xvY2wuaAkyMDE4LTA4LTIyIDEyOjE3OjUzLjQz OTY1NTU2MCArMDIwMAogQEAgLTAsMCArMSw3MSBAQAogKy8qID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29w eXJpZ2h0IChjKSAyMDExIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVk LgpAQCAtODM1MSw5ICs4Mjk4LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0 by9maXBzL2ZpcHNfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXAKICt9CiArIyBl bmRpZgogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2Zp cHNfbWQuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX21kLmMKLS0t LSBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19tZC5jLmZpcHMJMjAxOC0wNy0y NSAxNzoyNjo1OC40MDk2MjQ4MDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRv L2ZpcHMvZmlwc19tZC5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDA5NjI0ODAwICswMjAwCitkaWZm IC11cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19tZC5jLmZpcHMgb3BlbnNz bC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfbWQuYworLS0tIG9wZW5zc2wtMS4xLjEtcHJl OS9jcnlwdG8vZmlwcy9maXBzX21kLmMuZmlwcwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzOTY1NTU2 MCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX21kLmMJMjAx OC0wOC0yMiAxMjoxNzo1My40Mzk2NTU1NjAgKzAyMDAKIEBAIC0wLDAgKzEsMTQ0IEBACiArLyog Zmlwcy9ldnAvZmlwc19tZC5jICovCiArLyogQ29weXJpZ2h0IChDKSAxOTk1LTE5OTggRXJpYyBZ b3VuZyAoZWF5QGNyeXB0c29mdC5jb20pCkBAIC04NDk5LDkgKzg0NDYsOSBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19tZC5jLmZpcHMgb3BlbnNzbC0xLjEu MS1wcmU4L2NyeXB0bwogKyAgICAgICAgcmV0dXJuIE5VTEw7CiArICAgIH0KICt9Ci1kaWZmIC11 cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMuZmlwcyBvcGVuc3Ns LTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMKLS0tLSBvcGVuc3NsLTEuMS4xLXBy ZTgvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMuZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwOTYy NDgwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX3Bvc3Qu YwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwOTYyNDgwMCArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0x LjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5 L2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9m aXBzL2ZpcHNfcG9zdC5jLmZpcHMJMjAxOC0wOC0yMiAxMjoxNzo1My40Mzk2NTU1NjAgKzAyMDAK KysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMJMjAxOC0wOC0y MiAxMjoxNzo1My40Mzk2NTU1NjAgKzAyMDAKIEBAIC0wLDAgKzEsMjIyIEBACiArLyogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCBy aWdodHMgcmVzZXJ2ZWQuCkBAIC04NzI1LDEwICs4NjcyLDEwIEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJl OC9jcnlwCiArICAgIHJldHVybiAxOwogK30KICsjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4x LjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGNsLmguZmlwcyBvcGVuc3NsLTEuMS4xLXBy ZTgvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xjbC5oCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2Ny eXB0by9maXBzL2ZpcHNfcmFuZF9sY2wuaC5maXBzCTIwMTgtMDctMjUgMTc6MjY6NTguNDA5NjI0 ODAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfcmFuZF9s Y2wuaAkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwOTYyNDgwMCArMDIwMAotQEAgLTAsMCArMSwyMDkg QEAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGNs LmguZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xjbC5oCist LS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfcmFuZF9sY2wuaC5maXBzCTIw MTgtMDgtMjIgMTI6MTc6NTMuNDM5NjU1NTYwICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5 L2NyeXB0by9maXBzL2ZpcHNfcmFuZF9sY2wuaAkyMDE4LTA4LTIyIDEyOjE3OjUzLjQzOTY1NTU2 MCArMDIwMAorQEAgLTAsMCArMSwyMDMgQEAKICsvKiBmaXBzL3JhbmQvZmlwc19yYW5kX2xjbC5o ICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9y ZykgZm9yIHRoZSBPcGVuU1NMCiArICogcHJvamVjdC4KQEAgLTg5MTIsMTIgKzg4NTksNiBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xjbC5oLmZp cHMgb3BlbnNzbC0xLjEuMS1wcmU4LwogKyAgICAvKiBJbmRpY2F0ZXMgd2UgaGF2ZSBmaW5pc2hl ZCB3aXRoIG5vbmNlIGJ1ZmZlciAqLwogKyAgICB2b2lkICgqY2xlYW51cF9ub25jZSkgKERSQkdf Q1RYICpjdHgsIHVuc2lnbmVkIGNoYXIgKm91dCwgc2l6ZV90IG9sZW4pOwogKwotKyAgICAvKiBD b250aW51b3VzIHJhbmRvbSBudW1iZXIgdGVzdCB0ZW1wb3JhcnkgYXJlYSAqLwotKyAgICAvKiBM YXN0IGJsb2NrICovCi0rICAgIHVuc2lnbmVkIGNoYXIgbGJbRVZQX01BWF9NRF9TSVpFXTsKLSsg ICAgLyogc2V0IGlmIGxiIGlzIHZhbGlkICovCi0rICAgIGludCBsYl92YWxpZDsKLSsKICsgICAg LyogQ2FsbGJhY2tzIHVzZWQgd2hlbiBjYWxsZWQgdGhyb3VnaCBSQU5EIGludGVyZmFjZSAqLwog KyAgICAvKiBHZXQgYW55IGFkZGl0aW9uYWwgaW5wdXQgZm9yIGdlbmVyYXRlICovCiArICAgIHNp emVfdCAoKmdldF9hZGluKSAoRFJCR19DVFggKmN0eCwgdW5zaWduZWQgY2hhciAqKnBvdXQpOwpA QCAtODkzOCw5ICs4ODc5LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9m aXBzL2ZpcHNfcmFuZF9sY2wuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC8KICsjZGVmaW5lIEZJ UFNfZGlnZXN0dXBkYXRlIEVWUF9EaWdlc3RVcGRhdGUKICsjZGVmaW5lIEZJUFNfZGlnZXN0Zmlu YWwgRVZQX0RpZ2VzdEZpbmFsCiArI2RlZmluZSBNX0VWUF9NRF9zaXplIEVWUF9NRF9zaXplCi1k aWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xpYi5jLmZp cHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfcmFuZF9saWIuYwotLS0tIG9w ZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGliLmMuZmlwcwkyMDE4LTA3 LTI1IDE3OjI2OjU4LjQwOTYyNDgwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlw dG8vZmlwcy9maXBzX3JhbmRfbGliLmMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MDk2MjQ4MDAgKzAy MDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGli LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xpYi5jCist LS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfcmFuZF9saWIuYy5maXBzCTIw MTgtMDgtMjIgMTI6MTc6NTMuNDQwNjU1NTg0ICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5 L2NyeXB0by9maXBzL2ZpcHNfcmFuZF9saWIuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQ0MDY1NTU4 NCArMDIwMAogQEAgLTAsMCArMSwyMzQgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdo dCAoYykgMjAxMSBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAg LTkxNzYsMjYxICs5MTE3LDEwIEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8v Zmlwcy9maXBzX3JhbmRfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvCiArIyBlbmRpZgog K30KICsKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX3JhbmR0 ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19yYW5kdGVzdC5j Ci0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfcmFuZHRlc3QuYy5maXBz CTIwMTgtMDctMjUgMTc6MjY6NTguNDA5NjI0ODAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1w cmU4L2NyeXB0by9maXBzL2ZpcHNfcmFuZHRlc3QuYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQwOTYy NDgwMCArMDIwMAotQEAgLTAsMCArMSwyNDcgQEAKLSsvKiBDb3B5cmlnaHQgKEMpIDE5OTUtMTk5 OCBFcmljIFlvdW5nIChlYXlAY3J5cHRzb2Z0LmNvbSkKLSsgKiBBbGwgcmlnaHRzIHJlc2VydmVk LgotKyAqCi0rICogVGhpcyBwYWNrYWdlIGlzIGFuIFNTTCBpbXBsZW1lbnRhdGlvbiB3cml0dGVu Ci0rICogYnkgRXJpYyBZb3VuZyAoZWF5QGNyeXB0c29mdC5jb20pLgotKyAqIFRoZSBpbXBsZW1l bnRhdGlvbiB3YXMgd3JpdHRlbiBzbyBhcyB0byBjb25mb3JtIHdpdGggTmV0c2NhcGVzIFNTTC4K LSsgKiAKLSsgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBmb3IgY29tbWVyY2lhbCBhbmQgbm9uLWNv bW1lcmNpYWwgdXNlIGFzIGxvbmcgYXMKLSsgKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl IGFoZWFyZWQgdG8uICBUaGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSsgKiBhcHBseSB0byBhbGwg Y29kZSBmb3VuZCBpbiB0aGlzIGRpc3RyaWJ1dGlvbiwgYmUgaXQgdGhlIFJDNCwgUlNBLAotKyAq IGxoYXNoLCBERVMsIGV0Yy4sIGNvZGU7IG5vdCBqdXN0IHRoZSBTU0wgY29kZS4gIFRoZSBTU0wg ZG9jdW1lbnRhdGlvbgotKyAqIGluY2x1ZGVkIHdpdGggdGhpcyBkaXN0cmlidXRpb24gaXMgY292 ZXJlZCBieSB0aGUgc2FtZSBjb3B5cmlnaHQgdGVybXMKLSsgKiBleGNlcHQgdGhhdCB0aGUgaG9s ZGVyIGlzIFRpbSBIdWRzb24gKHRqaEBjcnlwdHNvZnQuY29tKS4KLSsgKiAKLSsgKiBDb3B5cmln aHQgcmVtYWlucyBFcmljIFlvdW5nJ3MsIGFuZCBhcyBzdWNoIGFueSBDb3B5cmlnaHQgbm90aWNl cyBpbgotKyAqIHRoZSBjb2RlIGFyZSBub3QgdG8gYmUgcmVtb3ZlZC4KLSsgKiBJZiB0aGlzIHBh Y2thZ2UgaXMgdXNlZCBpbiBhIHByb2R1Y3QsIEVyaWMgWW91bmcgc2hvdWxkIGJlIGdpdmVuIGF0 dHJpYnV0aW9uCi0rICogYXMgdGhlIGF1dGhvciBvZiB0aGUgcGFydHMgb2YgdGhlIGxpYnJhcnkg dXNlZC4KLSsgKiBUaGlzIGNhbiBiZSBpbiB0aGUgZm9ybSBvZiBhIHRleHR1YWwgbWVzc2FnZSBh dCBwcm9ncmFtIHN0YXJ0dXAgb3IKLSsgKiBpbiBkb2N1bWVudGF0aW9uIChvbmxpbmUgb3IgdGV4 dHVhbCkgcHJvdmlkZWQgd2l0aCB0aGUgcGFja2FnZS4KLSsgKiAKLSsgKiBSZWRpc3RyaWJ1dGlv biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSsg KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n IGNvbmRpdGlvbnMKLSsgKiBhcmUgbWV0OgotKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgY29weXJpZ2h0Ci0rICogICAgbm90aWNlLCB0aGlzIGxp c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKyAqIDIuIFJl ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w eXJpZ2h0Ci0rICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90 aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0rICogMy4gQWxs IGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlz IHNvZnR3YXJlCi0rICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2Vt ZW50OgotKyAqICAgICJUaGlzIHByb2R1Y3QgaW5jbHVkZXMgY3J5cHRvZ3JhcGhpYyBzb2Z0d2Fy ZSB3cml0dGVuIGJ5Ci0rICogICAgIEVyaWMgWW91bmcgKGVheUBjcnlwdHNvZnQuY29tKSIKLSsg KiAgICBUaGUgd29yZCAnY3J5cHRvZ3JhcGhpYycgY2FuIGJlIGxlZnQgb3V0IGlmIHRoZSByb3Vp bmVzIGZyb20gdGhlIGxpYnJhcnkKLSsgKiAgICBiZWluZyB1c2VkIGFyZSBub3QgY3J5cHRvZ3Jh cGhpYyByZWxhdGVkIDotKS4KLSsgKiA0LiBJZiB5b3UgaW5jbHVkZSBhbnkgV2luZG93cyBzcGVj aWZpYyBjb2RlIChvciBhIGRlcml2YXRpdmUgdGhlcmVvZikgZnJvbSAKLSsgKiAgICB0aGUgYXBw cyBkaXJlY3RvcnkgKGFwcGxpY2F0aW9uIGNvZGUpIHlvdSBtdXN0IGluY2x1ZGUgYW4gYWNrbm93 bGVkZ2VtZW50OgotKyAqICAgICJUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgd3JpdHRl biBieSBUaW0gSHVkc29uICh0amhAY3J5cHRzb2Z0LmNvbSkiCi0rICogCi0rICogVEhJUyBTT0ZU V0FSRSBJUyBQUk9WSURFRCBCWSBFUklDIFlPVU5HIGBgQVMgSVMnJyBBTkQKLSsgKiBBTlkgRVhQ UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP LCBUSEUKLSsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g RVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0rICogRk9S IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S IENPTlNFUVVFTlRJQUwKLSsgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotKyAqIE9SIFNFUlZJQ0VTOyBMT1NT IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotKyAq IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ TiBDT05UUkFDVCwgU1RSSUNUCi0rICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotKyAqIE9VVCBPRiBUSEUg VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg T0YKLSsgKiBTVUNIIERBTUFHRS4KLSsgKiAKLSsgKiBUaGUgbGljZW5jZSBhbmQgZGlzdHJpYnV0 aW9uIHRlcm1zIGZvciBhbnkgcHVibGljYWxseSBhdmFpbGFibGUgdmVyc2lvbiBvcgotKyAqIGRl cml2YXRpdmUgb2YgdGhpcyBjb2RlIGNhbm5vdCBiZSBjaGFuZ2VkLiAgaS5lLiB0aGlzIGNvZGUg Y2Fubm90IHNpbXBseSBiZQotKyAqIGNvcGllZCBhbmQgcHV0IHVuZGVyIGFub3RoZXIgZGlzdHJp YnV0aW9uIGxpY2VuY2UKLSsgKiBbaW5jbHVkaW5nIHRoZSBHTlUgUHVibGljIExpY2VuY2UuXQot KyAqLwotKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0rICogQ29weXJpZ2h0IChjKSAyMDAzIFRoZSBPcGVuU1NM IFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotKyAqCi0rICogUmVkaXN0cmlidXRpb24g YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0rICog bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj b25kaXRpb25zCi0rICogYXJlIG1ldDoKLSsgKgotKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0rICogICAgbm90aWNl LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAK LSsgKgotKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0rICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0 aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCi0rICogICAgdGhlIGRvY3VtZW50 YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotKyAqICAgIGRp c3RyaWJ1dGlvbi4KLSsgKgotKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlv bmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcwotKyAqICAgIHNvZnR3YXJlIG11c3QgZGlzcGxh eSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdtZW50OgotKyAqICAgICJUaGlzIHByb2R1Y3QgaW5j bHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBPcGVuU1NMIFByb2plY3QKLSsgKiAgICBm b3IgdXNlIGluIHRoZSBPcGVuU1NMIFRvb2xraXQuIChodHRwOi8vd3d3Lm9wZW5zc2wub3JnLyki Ci0rICoKLSsgKiA0LiBUaGUgbmFtZXMgIk9wZW5TU0wgVG9vbGtpdCIgYW5kICJPcGVuU1NMIFBy b2plY3QiIG11c3Qgbm90IGJlIHVzZWQgdG8KLSsgKiAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJv ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dAotKyAqICAgIHByaW9yIHdy aXR0ZW4gcGVybWlzc2lvbi4gRm9yIHdyaXR0ZW4gcGVybWlzc2lvbiwgcGxlYXNlIGNvbnRhY3QK LSsgKiAgICBvcGVuc3NsLWNvcmVAb3BlbnNzbC5vcmcuCi0rICoKLSsgKiA1LiBQcm9kdWN0cyBk ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSBtYXkgbm90IGJlIGNhbGxlZCAiT3BlblNTTCIKLSsg KiAgICBub3IgbWF5ICJPcGVuU1NMIiBhcHBlYXIgaW4gdGhlaXIgbmFtZXMgd2l0aG91dCBwcmlv ciB3cml0dGVuCi0rICogICAgcGVybWlzc2lvbiBvZiB0aGUgT3BlblNTTCBQcm9qZWN0LgotKyAq Ci0rICogNi4gUmVkaXN0cmlidXRpb25zIG9mIGFueSBmb3JtIHdoYXRzb2V2ZXIgbXVzdCByZXRh aW4gdGhlIGZvbGxvd2luZwotKyAqICAgIGFja25vd2xlZGdtZW50OgotKyAqICAgICJUaGlzIHBy b2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBPcGVuU1NMIFByb2plY3QK LSsgKiAgICBmb3IgdXNlIGluIHRoZSBPcGVuU1NMIFRvb2xraXQgKGh0dHA6Ly93d3cub3BlbnNz bC5vcmcvKSIKLSsgKgotKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIE9wZW5T U0wgUFJPSkVDVCBgYEFTIElTJycgQU5EIEFOWQotKyAqIEVYUFJFU1NFRCBPUiBJTVBMSUVEIFdB UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSsgKiBJTVBMSUVE IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIKLSsgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIE9w ZW5TU0wgUFJPSkVDVCBPUgotKyAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSsgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKLSsgKiBOT1QgTElNSVRFRCBU TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSsgKiBMT1NT IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotKyAq IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ TiBDT05UUkFDVCwKLSsgKiBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH TElHRU5DRSBPUiBPVEhFUldJU0UpCi0rICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRAotKyAqIE9GIFRIRSBQT1NTSUJJ TElUWSBPRiBTVUNIIERBTUFHRS4KLSsgKgotKyAqLwotKwotKyNpbmNsdWRlIDxzdGRpby5oPgot KyNpbmNsdWRlIDxzdGRsaWIuaD4KLSsjaW5jbHVkZSA8c3RyaW5nLmg+Ci0rI2luY2x1ZGUgPGN0 eXBlLmg+Ci0rI2luY2x1ZGUgPG9wZW5zc2wvcmFuZC5oPgotKyNpbmNsdWRlIDxvcGVuc3NsL2Zp cHNfcmFuZC5oPgotKyNpbmNsdWRlIDxvcGVuc3NsL2Vyci5oPgotKyNpbmNsdWRlIDxvcGVuc3Ns L2JuLmg+Ci0rCi0rI2luY2x1ZGUgImVfb3MuaCIKLSsKLSsjaWZuZGVmIE9QRU5TU0xfRklQUwot K2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCi0rewotKyAgICBwcmludGYoIk5vIEZJ UFMgUkFORCBzdXBwb3J0XG4iKTsKLSsgICAgcmV0dXJuICgwKTsKLSt9Ci0rCi0rI2Vsc2UKLSsK LSsjIGluY2x1ZGUgImZpcHNfdXRsLmgiCi0rIyBpbmNsdWRlIDxvcGVuc3NsL2ZpcHMuaD4KLSsK LSt0eXBlZGVmIHN0cnVjdCB7Ci0rICAgIHVuc2lnbmVkIGNoYXIgRFRbMTZdOwotKyAgICB1bnNp Z25lZCBjaGFyIFZbMTZdOwotKyAgICB1bnNpZ25lZCBjaGFyIFJbMTZdOwotK30gQUVTX1BSTkdf TUNUOwotKwotK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGFlc18xMjhfbWN0X2tleVsxNl0g PQotKyAgICB7IDB4OWYsIDB4NWIsIDB4NTEsIDB4MjAsIDB4MGIsIDB4ZjMsIDB4MzQsIDB4YjUs Ci0rICAgIDB4ZDgsIDB4MmIsIDB4ZTgsIDB4YzMsIDB4NzIsIDB4NTUsIDB4YzgsIDB4NDgKLSt9 OwotKwotK3N0YXRpYyBjb25zdCBBRVNfUFJOR19NQ1QgYWVzXzEyOF9tY3RfdHYgPSB7Ci0rICAg IC8qIERUICovCi0rICAgIHsweDYzLCAweDc2LCAweGJiLCAweGU1LCAweDI5LCAweDAyLCAweGJh LCAweDNiLAotKyAgICAgMHg2NywgMHhjOSwgMHgyNSwgMHhmYSwgMHg3MCwgMHgxZiwgMHgxMSwg MHhhY30sCi0rICAgIC8qIFYgKi8KLSsgICAgezB4NTcsIDB4MmMsIDB4OGUsIDB4NzYsIDB4ODcs IDB4MjYsIDB4NDcsIDB4OTcsCi0rICAgICAweDdlLCAweDc0LCAweGZiLCAweGRkLCAweGM0LCAw eDk1LCAweDAxLCAweGQxfSwKLSsgICAgLyogUiAqLwotKyAgICB7MHg0OCwgMHhlOSwgMHhiZCwg MHgwZCwgMHgwNiwgMHhlZSwgMHgxOCwgMHhmYiwKLSsgICAgIDB4ZTQsIDB4NTcsIDB4OTAsIDB4 ZDUsIDB4YzMsIDB4ZmMsIDB4OWIsIDB4NzN9Ci0rfTsKLSsKLStzdGF0aWMgY29uc3QgdW5zaWdu ZWQgY2hhciBhZXNfMTkyX21jdF9rZXlbMjRdID0KLSsgICAgeyAweGI3LCAweDZjLCAweDM0LCAw eGQxLCAweDA5LCAweDY3LCAweGFiLCAweDczLAotKyAgICAweDRkLCAweDVhLCAweGQ1LCAweDM0 LCAweDk4LCAweDE2LCAweDBiLCAweDkxLAotKyAgICAweGJjLCAweDM1LCAweDUxLCAweDE2LCAw eDZiLCAweGFlLCAweDkzLCAweDhhCi0rfTsKLSsKLStzdGF0aWMgY29uc3QgQUVTX1BSTkdfTUNU IGFlc18xOTJfbWN0X3R2ID0gewotKyAgICAvKiBEVCAqLwotKyAgICB7MHg4NCwgMHhjZSwgMHgy MiwgMHg3ZCwgMHg5MSwgMHg1YSwgMHhhMywgMHhjOSwKLSsgICAgIDB4ODQsIDB4M2MsIDB4MGEs IDB4YjMsIDB4YTksIDB4NjMsIDB4MTUsIDB4NTJ9LAotKyAgICAvKiBWICovCi0rICAgIHsweGI2 LCAweGFmLCAweGU2LCAweDhmLCAweDk5LCAweDllLCAweDkwLCAweDY0LAotKyAgICAgMHhkZCwg MHhjNywgMHg3YSwgMHhjMSwgMHhiYiwgMHg5MCwgMHgzYSwgMHg2ZH0sCi0rICAgIC8qIFIgKi8K LSsgICAgezB4ZmMsIDB4ODUsIDB4NjAsIDB4OWEsIDB4MjksIDB4NmYsIDB4ZWYsIDB4MjEsCi0r ICAgICAweGRkLCAweDg2LCAweDIwLCAweDMyLCAweDhhLCAweDI5LCAweDZmLCAweDQ3fQotK307 Ci0rCi0rc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgYWVzXzI1Nl9tY3Rfa2V5WzMyXSA9Ci0r ICAgIHsgMHg5YiwgMHgwNSwgMHhjOCwgMHg2OCwgMHhmZiwgMHg0NywgMHhmOCwgMHgzYSwKLSsg ICAgMHhhNiwgMHgzYSwgMHhhOCwgMHhjYiwgMHg0ZSwgMHg3MSwgMHhiMiwgMHhlMCwKLSsgICAg MHhiOCwgMHg3ZSwgMHhmMSwgMHgzNywgMHhiNiwgMHhiNCwgMHhmNiwgMHg2ZCwKLSsgICAgMHg4 NiwgMHgzMiwgMHhmYywgMHgxZiwgMHg1ZSwgMHgxZCwgMHgxZSwgMHg1MAotK307Ci0rCi0rc3Rh dGljIGNvbnN0IEFFU19QUk5HX01DVCBhZXNfMjU2X21jdF90diA9IHsKLSsgICAgLyogRFQgKi8K LSsgICAgezB4MzEsIDB4NmUsIDB4MzUsIDB4OWEsIDB4YjEsIDB4NDQsIDB4ZjAsIDB4ZWUsCi0r ICAgICAweDYyLCAweDZkLCAweDA0LCAweDQ2LCAweGUwLCAweGEzLCAweDkyLCAweDRjfSwKLSsg ICAgLyogViAqLwotKyAgICB7MHg0ZiwgMHhjZCwgMHhjMSwgMHg4NywgMHg4MiwgMHgxZiwgMHg0 ZCwgMHhhMSwKLSsgICAgIDB4M2UsIDB4MGUsIDB4NTYsIDB4NDQsIDB4NTksIDB4ZTgsIDB4ODMs IDB4Y2F9LAotKyAgICAvKiBSICovCi0rICAgIHsweGM4LCAweDg3LCAweGMyLCAweDYxLCAweDVi LCAweGQwLCAweGI5LCAweGUxLAotKyAgICAgMHhlNywgMHhmMywgMHg4YiwgMHhkNywgMHg1Yiwg MHhkNSwgMHhmMSwgMHg4ZH0KLSt9OwotKwotK3N0YXRpYyB2b2lkIGR1bXAoY29uc3QgdW5zaWdu ZWQgY2hhciAqYiwgaW50IG4pCi0rewotKyAgICB3aGlsZSAobi0tID4gMCkgewotKyAgICAgICAg cHJpbnRmKCIgJTAyeCIsICpiKyspOwotKyAgICB9Ci0rfQotKwotK3N0YXRpYyB2b2lkIGNvbXBh cmUoY29uc3QgdW5zaWduZWQgY2hhciAqcmVzdWx0LAotKyAgICAgICAgICAgICAgICAgICAgY29u c3QgdW5zaWduZWQgY2hhciAqZXhwZWN0ZWQsIGludCBuKQotK3sKLSsgICAgaW50IGk7Ci0rCi0r ICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpCi0rICAgICAgICBpZiAocmVzdWx0W2ldICE9IGV4 cGVjdGVkW2ldKSB7Ci0rICAgICAgICAgICAgcHV0cygiUmFuZG9tIHRlc3QgZmFpbGVkLCBnb3Q6 Iik7Ci0rICAgICAgICAgICAgZHVtcChyZXN1bHQsIG4pOwotKyAgICAgICAgICAgIHB1dHMoIlxu ICAgICAgICAgICAgICAgZXhwZWN0ZWQ6Iik7Ci0rICAgICAgICAgICAgZHVtcChleHBlY3RlZCwg bik7Ci0rICAgICAgICAgICAgcHV0Y2hhcignXG4nKTsKLSsgICAgICAgICAgICBFWElUKDEpOwot KyAgICAgICAgfQotK30KLSsKLStzdGF0aWMgdm9pZCBydW5fdGVzdChjb25zdCB1bnNpZ25lZCBj aGFyICprZXksIGludCBrZXlsZW4sCi0rICAgICAgICAgICAgICAgICAgICAgY29uc3QgQUVTX1BS TkdfTUNUICogdHYpCi0rewotKyAgICB1bnNpZ25lZCBjaGFyIGJ1ZlsxNl0sIGR0WzE2XTsKLSsg ICAgaW50IGksIGo7Ci0rICAgIEZJUFNfeDkzMV9yZXNldCgpOwotKyAgICBGSVBTX3g5MzFfdGVz dF9tb2RlKCk7Ci0rICAgIEZJUFNfeDkzMV9zZXRfa2V5KGtleSwga2V5bGVuKTsKLSsgICAgRklQ U194OTMxX3NlZWQodHYtPlYsIDE2KTsKLSsgICAgbWVtY3B5KGR0LCB0di0+RFQsIDE2KTsKLSsg ICAgZm9yIChpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsKLSsgICAgICAgIEZJUFNfeDkzMV9zZXRf ZHQoZHQpOwotKyAgICAgICAgRklQU194OTMxX2J5dGVzKGJ1ZiwgMTYpOwotKyAgICAgICAgLyog SW5jcmVtZW50IERUICovCi0rICAgICAgICBmb3IgKGogPSAxNTsgaiA+PSAwOyBqLS0pIHsKLSsg ICAgICAgICAgICBkdFtqXSsrOwotKyAgICAgICAgICAgIGlmIChkdFtqXSkKLSsgICAgICAgICAg ICAgICAgYnJlYWs7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsKLSsgICAgY29tcGFyZShidWYsIHR2 LT5SLCAxNik7Ci0rfQotKwotK2ludCBtYWluKCkKLSt7Ci0rICAgIHJ1bl90ZXN0KGFlc18xMjhf bWN0X2tleSwgMTYsICZhZXNfMTI4X21jdF90dik7Ci0rICAgIHByaW50ZigiRklQUyBQUk5HIHRl c3QgMSBkb25lXG4iKTsKLSsgICAgcnVuX3Rlc3QoYWVzXzE5Ml9tY3Rfa2V5LCAyNCwgJmFlc18x OTJfbWN0X3R2KTsKLSsgICAgcHJpbnRmKCJGSVBTIFBSTkcgdGVzdCAyIGRvbmVcbiIpOwotKyAg ICBydW5fdGVzdChhZXNfMjU2X21jdF9rZXksIDMyLCAmYWVzXzI1Nl9tY3RfdHYpOwotKyAgICBw cmludGYoIkZJUFMgUFJORyB0ZXN0IDMgZG9uZVxuIik7Ci0rICAgIHJldHVybiAwOwotK30KLSsK LSsjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX3Jz YV9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfcnNh X3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19yc2Ff c2VsZnRlc3QuYy5maXBzCTIwMTgtMDctMjUgMTc6MjY6NTguNDEwNjI0ODI0ICswMjAwCi0rKysg b3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMJMjAxOC0w Ny0yNSAxNzoyNjo1OC40MTA2MjQ4MjQgKzAyMDAKLUBAIC0wLDAgKzEsNTc4IEBACitkaWZmIC11 cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYy5maXBz IG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jCistLS0g b3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMuZmlwcwky MDE4LTA4LTIyIDEyOjE3OjUzLjQ0MDY1NTU4NCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJl OS9jcnlwdG8vZmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNDQw NjU1NTg0ICswMjAwCitAQCAtMCwwICsxLDMzOCBAQAogKy8qID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29w eXJpZ2h0IChjKSAyMDAzLTIwMDcgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVz ZXJ2ZWQuCiArICoKQEAgLTk2MzgsNTYgKzkzMjgsNiBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTgvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjEt cAogK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF90YnNbXSA9CiArICAgICJPcGVuU1NM IEZJUFMgMTQwLTIgUHVibGljIEtleSBSU0EgS0FUIjsKICsKLStzdGF0aWMgY29uc3QgdW5zaWdu ZWQgY2hhciBrYXRfUlNBX1BTU19TSEExW10gPSB7Ci0rICAgIDB4QzIsIDB4ODAsIDB4ODIsIDB4 NTYsIDB4RDgsIDB4QTcsIDB4QjIsIDB4OUMsIDB4RjUsIDB4RDYsIDB4M0MsIDB4RTMsCi0rICAg IDB4QkYsIDB4RTksIDB4M0EsIDB4NTMsIDB4NDAsIDB4QUUsIDB4RjIsIDB4QTksIDB4NkEsIDB4 MzksIDB4NDksIDB4NUIsCi0rICAgIDB4MDUsIDB4N0YsIDB4NjcsIDB4MzgsIDB4MkUsIDB4MUQs IDB4RTEsIDB4OTMsIDB4MjIsIDB4NjUsIDB4NzksIDB4ODQsCi0rICAgIDB4NjgsIDB4RkEsIDB4 RDgsIDB4QUYsIDB4QTEsIDB4OTgsIDB4NjEsIDB4NkYsIDB4NDQsIDB4MjcsIDB4QTYsIDB4OEIs Ci0rICAgIDB4Q0YsIDB4MEUsIDB4MTMsIDB4QTksIDB4Q0UsIDB4RDcsIDB4NkMsIDB4RDIsIDB4 MzgsIDB4QjUsIDB4MTYsIDB4QjksCi0rICAgIDB4NjYsIDB4OTQsIDB4NDgsIDB4REUsIDB4OUUs IDB4MTksIDB4M0QsIDB4NkYsIDB4QjMsIDB4QTEsIDB4OUEsIDB4MTksCi0rICAgIDB4REYsIDB4 RkIsIDB4QUIsIDB4QTUsIDB4OUYsIDB4MzgsIDB4REEsIDB4QzksIDB4MjEsIDB4OEYsIDB4Q0Us IDB4OTgsCi0rICAgIDB4MDEsIDB4M0EsIDB4QzgsIDB4RTAsIDB4REYsIDB4REEsIDB4RkMsIDB4 RjAsIDB4QTYsIDB4ODYsIDB4MjksIDB4QjUsCi0rICAgIDB4N0YsIDB4NjEsIDB4RkIsIDB4QkEs IDB4QzUsIDB4NDksIDB4QjIsIDB4N0MsIDB4NkEsIDB4MjYsIDB4ODIsIDB4QzQsCi0rICAgIDB4 OEYsIDB4QUEsIDB4NUIsIDB4MTAsIDB4RDUsIDB4RUUsIDB4QTAsIDB4NTUsIDB4NDIsIDB4RUYs IDB4MzIsIDB4NUEsCi0rICAgIDB4M0YsIDB4NTUsIDB4QjMsIDB4MkMsIDB4MjIsIDB4RTksIDB4 NjUsIDB4REEsIDB4OEQsIDB4MEEsIDB4QjksIDB4NzAsCi0rICAgIDB4NDMsIDB4Q0MsIDB4M0Ys IDB4NjQsIDB4OUMsIDB4QjUsIDB4NjUsIDB4NDksIDB4QkQsIDB4N0YsIDB4MzUsIDB4QzEsCi0r ICAgIDB4MjAsIDB4ODUsIDB4MjQsIDB4RkUsIDB4QUEsIDB4NkIsIDB4MzcsIDB4MDQsIDB4QTEs IDB4MEUsIDB4OUQsIDB4NUMsCi0rICAgIDB4QkEsIDB4N0YsIDB4MTQsIDB4NjksIDB4QzUsIDB4 OTMsIDB4QjIsIDB4MzMsIDB4QzIsIDB4QzAsIDB4QzcsIDB4REYsCi0rICAgIDB4N0UsIDB4OUUs IDB4QTQsIDB4QjAsIDB4QTAsIDB4NjQsIDB4RDIsIDB4QUMsIDB4RkMsIDB4RkQsIDB4RkQsIDB4 OTksCi0rICAgIDB4OEYsIDB4NkEsIDB4NDAsIDB4MjYsIDB4QzEsIDB4MkUsIDB4NEUsIDB4OEIs IDB4MzMsIDB4QkUsIDB4RjEsIDB4NDUsCi0rICAgIDB4NTksIDB4OEYsIDB4MzMsIDB4NDAsIDB4 MUQsIDB4MkEsIDB4RDIsIDB4RjcsIDB4NTAsIDB4ODMsIDB4ODksIDB4Q0YsCi0rICAgIDB4OTQs IDB4QzYsIDB4RjgsIDB4MzYsIDB4RjAsIDB4ODQsIDB4MEIsIDB4ODUsIDB4QTUsIDB4MDIsIDB4 QTksIDB4MEYsCi0rICAgIDB4NDEsIDB4N0EsIDB4NzcsIDB4QTMsIDB4MkYsIDB4NDcsIDB4MUUs IDB4MUQsIDB4RUMsIDB4RTYsIDB4RDMsIDB4MDEsCi0rICAgIDB4MUUsIDB4NkYsIDB4N0EsIDB4 OTYsIDB4NTAsIDB4MzcsIDB4MzcsIDB4NEIsIDB4MjcsIDB4NTIsIDB4MEIsIDB4REMsCi0rICAg IDB4REIsIDB4QzcsIDB4QTksIDB4MzEsIDB4QjIsIDB4NDAsIDB4RUUsIDB4NjAsIDB4NDEsIDB4 MjYsIDB4NkEsIDB4MDUsCi0rICAgIDB4Q0UsIDB4MDgsIDB4MUQsIDB4ODkKLSt9OwotKwotK3N0 YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfUFNTX1NIQTIyNFtdID0gewotKyAgICAw eEI0LCAweDAxLCAweDkzLCAweDE2LCAweDA1LCAweEY2LCAweEVCLCAweEUyLCAweEE0LCAweEVC LCAweDQ4LCAweEFBLAotKyAgICAweDAwLCAweEY0LCAweEExLCAweDk5LCAweDBBLCAweEI0LCAw eEI2LCAweDYzLCAweEU5LCAweDY4LCAweENBLCAweEIzLAotKyAgICAweDEzLCAweEQ3LCAweDY2 LCAweDZBLCAweENELCAweENCLCAweDMzLCAweDlGLCAweEU1LCAweDg0LCAweEUyLCAweEMzLAot KyAgICAweDBCLCAweDUzLCAweEU1LCAweDhCLCAweDk2LCAweDRCLCAweERCLCAweDJELCAweDgw LCAweEE0LCAweDFELCAweEUzLAotKyAgICAweDgxLCAweERDLCAweDUyLCAweDk5LCAweEJBLCAw eDlCLCAweDZBLCAweDlELCAweDQ4LCAweDFGLCAweDczLCAweEY3LAotKyAgICAweEFDLCAweDA5 LCAweDEzLCAweEExLCAweDE2LCAweDJDLCAweDYwLCAweEZCLCAweEJDLCAweDI1LCAweEY3LCAw eDUzLAotKyAgICAweEQxLCAweDA0LCAweDVBLCAweDNGLCAweDk1LCAweDA5LCAweDVFLCAweEU1 LCAweEEyLCAweDdELCAweEZDLCAweDJBLAotKyAgICAweDUxLCAweDFELCAweDIxLCAweENFLCAw eDJCLCAweDRFLCAweDFCLCAweEI4LCAweENCLCAweERELCAweDI0LCAweEVFLAotKyAgICAweDk5 LCAweDFELCAweDM3LCAweERDLCAweEVELCAweDVGLCAweDJGLCAweDQ4LCAweDVFLCAweDMzLCAw eDk0LCAweDA2LAotKyAgICAweDE5LCAweENELCAweDVBLCAweDI2LCAweDg1LCAweDc3LCAweDlE LCAweEFGLCAweDg2LCAweDk3LCAweEM5LCAweDA4LAotKyAgICAweEQ1LCAweDgxLCAweDBFLCAw eEI4LCAweDlGLCAweEI2LCAweEFGLCAweDIwLCAweDcyLCAweERDLCAweDEzLCAweDRELAotKyAg ICAweDdBLCAweEU0LCAweDVDLCAweDgxLCAweERFLCAweEMwLCAweDNELCAweDE5LCAweDlDLCAw eDMzLCAweDExLCAweDA3LAotKyAgICAweEQ1LCAweEE5LCAweDUxLCAweDY3LCAweENELCAweEZE LCAweDM3LCAweDYxLCAweDE0LCAweDlGLCAweEU3LCAweDcwLAotKyAgICAweDE4LCAweDMyLCAw eEMzLCAweDM0LCAweDU0LCAweDBELCAweDRGLCAweEI0LCAweEFFLCAweDlGLCAweEVDLCAweDY0 LAotKyAgICAweEQ4LCAweEIyLCAweDE2LCAweEE0LCAweEIyLCAweDk5LCAweDkyLCAweENCLCAw eDdGLCAweDFGLCAweDA2LCAweDE3LAotKyAgICAweDVGLCAweEExLCAweDA3LCAweDY4LCAweEFF LCAweEE3LCAweDJELCAweDAzLCAweDkxLCAweDJBLCAweDlELCAweDY5LAotKyAgICAweEMyLCAw eDlELCAweDkwLCAweEY3LCAweEY5LCAweDY2LCAweDVELCAweDEzLCAweEI3LCAweDdGLCAweEQz LCAweDk3LAotKyAgICAweDQ1LCAweDk3LCAweDQzLCAweEQ4LCAweENFLCAweDNDLCAweEYyLCAw eDk4LCAweDk4LCAweERELCAweEUyLCAweDJELAotKyAgICAweENGLCAweEExLCAweEM0LCAweDI1 LCAweDQ2LCAweDJFLCAweEQyLCAweEU1LCAweDVGLCAweEM2LCAweDAxLCAweEM1LAotKyAgICAw eDRGLCAweDQyLCAweDJCLCAweERFLCAweDBGLCAweEVBLCAweDRBLCAweDRGLCAweEMzLCAweDVC LCAweERGLCAweDlCLAotKyAgICAweDVELCAweDMwLCAweDE4LCAweDkzLCAweEQwLCAweERFLCAw eEM1LCAweDA5LCAweEFBLCAweDU3LCAweDU3LCAweEJELAotKyAgICAweDJELCAweDg0LCAweDAz LCAweEI3Ci0rfTsKLSsKICtzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1BTU19T SEEyNTZbXSA9IHsKICsgICAgMHgzOCwgMHhEQSwgMHg5OSwgMHg1MSwgMHgyNiwgMHgzOCwgMHhD NiwgMHg3RiwgMHhDNCwgMHg4MSwgMHg1NywgMHgxOSwKICsgICAgMHgzNSwgMHhDNiwgMHhGNiwg MHgxRSwgMHg5MCwgMHg0NywgMHgyMCwgMHg1NSwgMHg0NywgMHg1NiwgMHgyNiwgMHhFOSwKQEAg LTk3MTMsMTA2ICs5MzUzLDYgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9m aXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXAKICsgICAgMHgyQiwg MHgzMSwgMHhCOSwgMHg3RAogK307CiArCi0rc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0 X1JTQV9QU1NfU0hBMzg0W10gPSB7Ci0rICAgIDB4OTksIDB4MDIsIDB4QzksIDB4MUUsIDB4MzEs IDB4ODIsIDB4QjQsIDB4RTYsIDB4MUIsIDB4MzIsIDB4Q0UsIDB4NUQsCi0rICAgIDB4NDEsIDB4 MUQsIDB4MDAsIDB4MkYsIDB4MDQsIDB4OEIsIDB4QkQsIDB4MzcsIDB4NzksIDB4Q0YsIDB4Nzcs IDB4MDMsCi0rICAgIDB4MDUsIDB4NkEsIDB4MjEsIDB4QzcsIDB4OEQsIDB4MjQsIDB4NjAsIDB4 NDksIDB4MzksIDB4NTgsIDB4QzUsIDB4MjcsCi0rICAgIDB4OEYsIDB4QzUsIDB4OTcsIDB4NEEs IDB4QjIsIDB4RTEsIDB4RDQsIDB4MzYsIDB4NTcsIDB4QkQsIDB4NDMsIDB4Q0MsCi0rICAgIDB4 N0IsIDB4Q0UsIDB4RjIsIDB4QTUsIDB4MzAsIDB4RjgsIDB4NzIsIDB4MTQsIDB4QkIsIDB4RDAs IDB4OUYsIDB4QzEsCi0rICAgIDB4NDksIDB4QzgsIDB4MUMsIDB4QUYsIDB4Q0QsIDB4OTUsIDB4 NzgsIDB4NzIsIDB4MjUsIDB4RjksIDB4NDUsIDB4QzYsCi0rICAgIDB4NUIsIDB4NjIsIDB4NUUs IDB4MDEsIDB4RDcsIDB4NDAsIDB4NUUsIDB4QzgsIDB4Q0EsIDB4MEEsIDB4RjMsIDB4QkEsCi0r ICAgIDB4MDgsIDB4MDcsIDB4ODgsIDB4Q0EsIDB4NDksIDB4MzYsIDB4ODQsIDB4N0QsIDB4RjYs IDB4RkMsIDB4NUEsIDB4REIsCi0rICAgIDB4RkMsIDB4NTAsIDB4RDMsIDB4RUIsIDB4M0QsIDB4 ODMsIDB4QjAsIDB4RjUsIDB4OTQsIDB4NUUsIDB4ODgsIDB4QzMsCi0rICAgIDB4ODIsIDB4Q0Qs IDB4NTMsIDB4NDAsIDB4OTYsIDB4MTgsIDB4NkIsIDB4NEEsIDB4NkMsIDB4OUMsIDB4RkUsIDB4 RTUsCi0rICAgIDB4M0IsIDB4NzUsIDB4RjksIDB4RUIsIDB4QTUsIDB4NzcsIDB4MTEsIDB4RUYs IDB4ODgsIDB4MUMsIDB4MjUsIDB4NzAsCi0rICAgIDB4N0QsIDB4ODgsIDB4NUQsIDB4QzMsIDB4 Q0EsIDB4RTEsIDB4NDksIDB4MTQsIDB4OTAsIDB4QUQsIDB4RjIsIDB4NUUsCi0rICAgIDB4NDks IDB4RDcsIDB4OTksIDB4QTUsIDB4N0IsIDB4NzcsIDB4M0IsIDB4OEUsIDB4QjgsIDB4REIsIDB4 RjEsIDB4NEMsCi0rICAgIDB4RDYsIDB4OUEsIDB4REMsIDB4RTUsIDB4N0EsIDB4MUMsIDB4RTEs IDB4Q0UsIDB4OUQsIDB4RjEsIDB4RjMsIDB4QTAsCi0rICAgIDB4MEEsIDB4MzUsIDB4NTIsIDB4 OUQsIDB4QjksIDB4NDYsIDB4OTQsIDB4ODIsIDB4MEYsIDB4RjcsIDB4QjIsIDB4NjIsCi0rICAg IDB4NTEsIDB4NzAsIDB4NzUsIDB4RDIsIDB4MzcsIDB4OTYsIDB4NjcsIDB4MkYsIDB4RDAsIDB4 MjIsIDB4RDgsIDB4MDcsCi0rICAgIDB4OEQsIDB4NjksIDB4OUUsIDB4NkQsIDB4MEIsIDB4NDAs IDB4NEYsIDB4NzAsIDB4RUMsIDB4MEIsIDB4Q0EsIDB4ODgsCi0rICAgIDB4ODAsIDB4OEQsIDB4 OUEsIDB4RjQsIDB4RjksIDB4MTgsIDB4NTAsIDB4MjcsIDB4MDgsIDB4RkEsIDB4Q0MsIDB4Qzcs Ci0rICAgIDB4M0YsIDB4RTQsIDB4ODQsIDB4ODMsIDB4QTEsIDB4QjYsIDB4MUQsIDB4MjMsIDB4 MzQsIDB4RkUsIDB4NDgsIDB4RTUsCi0rICAgIDB4RTMsIDB4QUUsIDB4NEQsIDB4OTgsIDB4QkMs IDB4QTYsIDB4OEEsIDB4OUYsIDB4RkQsIDB4NEQsIDB4REIsIDB4OUQsCi0rICAgIDB4RjcsIDB4 RUIsIDB4NEUsIDB4QjYsIDB4NkYsIDB4MjUsIDB4RUEsIDB4N0EsIDB4RTksIDB4ODUsIDB4QjIs IDB4RUYsCi0rICAgIDB4OTAsIDB4RDIsIDB4QTYsIDB4MkIKLSt9OwotKwotK3N0YXRpYyBjb25z dCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfUFNTX1NIQTUxMltdID0gewotKyAgICAweDNGLCAweDgz LCAweDQzLCAweDc4LCAweDI1LCAweEJFLCAweDgxLCAweEIyLCAweDZFLCAweDc4LCAweDExLCAw eDMyLAotKyAgICAweEQwLCAweDg4LCAweDA1LCAweDUzLCAweDk1LCAweEVELCAweDgxLCAweDEy LCAweENFLCAweDUwLCAweEQ5LCAweDA2LAotKyAgICAweDQyLCAweDg5LCAweEEwLCAweDU1LCAw eDdBLCAweDA1LCAweDEzLCAweDk0LCAweDM1LCAweDlCLCAweENBLCAweDVELAotKyAgICAweENC LCAweEIyLCAweDMyLCAweEUxLCAweDA0LCAweDk5LCAweEVDLCAweEU3LCAweEE2LCAweDY5LCAw eDRELCAweDJCLAotKyAgICAweEMxLCAweDU3LCAweDEzLCAweDQ4LCAweDBELCAweDZCLCAweDRE LCAweDgzLCAweDI4LCAweDA2LCAweDc5LCAweDlELAotKyAgICAweEI0LCAweDcwLCAweENFLCAw eEMwLCAweEZDLCAweDNCLCAweDY5LCAweEIzLCAweDkxLCAweDU0LCAweEE5LCAweDQ0LAotKyAg ICAweDJFLCAweERBLCAweDRBLCAweEM1LCAweEMyLCAweDk5LCAweEYwLCAweERFLCAweENBLCAw eDc3LCAweDk5LCAweDZCLAotKyAgICAweDBDLCAweDc5LCAweEU1LCAweDI5LCAweDc0LCAweDgz LCAweDY5LCAweEVBLCAweEI4LCAweDcyLCAweDMwLCAweDNELAotKyAgICAweDdBLCAweDMwLCAw eEUxLCAweDAzLCAweDdCLCAweDA5LCAweEU2LCAweDExLCAweEMwLCAweERDLCAweEZGLCAweEZE LAotKyAgICAweEJELCAweEVDLCAweDlDLCAweENDLCAweDQ2LCAweDdCLCAweDRDLCAweDRDLCAw eDU5LCAweEJFLCAweDgyLCAweDdDLAotKyAgICAweEY1LCAweDYwLCAweDVBLCAweEMzLCAweEU4 LCAweEE4LCAweDhBLCAweDM4LCAweDlFLCAweDAxLCAweDU3LCAweEYxLAotKyAgICAweDc5LCAw eDNBLCAweDdDLCAweEEzLCAweDlGLCAweDEyLCAweDFBLCAweDRGLCAweDJFLCAweEEyLCAweEU1 LCAweDBBLAotKyAgICAweEFCLCAweEMwLCAweEY0LCAweEE1LCAweEUzLCAweDVGLCAweDg5LCAw eDFDLCAweDhGLCAweEE0LCAweDVFLCAweENFLAotKyAgICAweDBELCAweDkxLCAweDA1LCAweDFC LCAweDE3LCAweDYyLCAweDQ4LCAweEZFLCAweEE1LCAweDRDLCAweEVGLCAweDJELAotKyAgICAw eDI4LCAweEYxLCAweDVFLCAweEU2LCAweEQxLCAweDMwLCAweDg5LCAweDBBLCAweEFELCAweDE4 LCAweEFGLCAweDZGLAotKyAgICAweDA0LCAweDA5LCAweDM2LCAweDlBLCAweEZGLCAweENBLCAw eEExLCAweEE3LCAweDA1LCAweDdGLCAweEQ0LCAweEJGLAotKyAgICAweDNBLCAweEI1LCAweDQy LCAweDZELCAweEU5LCAweDA3LCAweDI5LCAweDY1LCAweDhCLCAweEFELCAweDRELCAweDBGLAot KyAgICAweDIyLCAweEUxLCAweDU5LCAweDQzLCAweDY4LCAweDg3LCAweEE4LCAweDhCLCAweEJD LCAweDY5LCAweEExLCAweDk0LAotKyAgICAweDIyLCAweDNFLCAweDhBLCAweDQ5LCAweEU4LCAw eEEzLCAweDZGLCAweEMyLCAweDkzLCAweDU4LCAweEU3LCAweEFFLAotKyAgICAweEM5LCAweDFG LCAweENGLCAweDYxLCAweDkzLCAweEZDLCAweEMxLCAweEY2LCAweEYzLCAweDI3LCAweDdGLCAw eDBBLAotKyAgICAweDkwLCAweEUwLCAweDY1LCAweDMyLCAweDU3LCAweDQ3LCAweEUyLCAweEVE LCAweDA4LCAweDU5LCAweEE2LCAweEYwLAotKyAgICAweDE3LCAweDJDLCAweDEzLCAweEUwCi0r fTsKLSsKLStzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1NIQTFbXSA9IHsKLSsg ICAgMHgzQiwgMHg2MCwgMHg0QiwgMHhGQywgMHg1NCwgMHgyOCwgMHgyMywgMHhFNiwgMHgyRiwg MHgwNSwgMHgwNCwgMHhCQSwKLSsgICAgMHg5RCwgMHhFNCwgMHgzQywgMHhCOCwgMHg1QiwgMHg2 MCwgMHg1QywgMHhDRCwgMHg5RCwgMHhFQSwgMHhDMywgMHg0QywKLSsgICAgMHhDMiwgMHgzMywg MHhFNiwgMHhDNiwgMHgyMSwgMHg0OCwgMHg3NiwgMHhFQywgMHhCMiwgMHhGNSwgMHgxMSwgMHhE RSwKLSsgICAgMHg0NCwgMHhCNCwgMHhBRiwgMHgxNiwgMHgxMSwgMHhDMywgMHgxOCwgMHgxNiwg MHhCMywgMHg2OSwgMHhCQiwgMHg5NCwKLSsgICAgMHhFRCwgMHhFOCwgMHhCMywgMHg5RSwgMHhC MSwgMHg0MywgMHg4RSwgMHhDRSwgMHhCNCwgMHgzNCwgMHg5QiwgMHgwOCwKLSsgICAgMHgyMiwg MHhBRiwgMHgzMSwgMHg3MywgMHhCNSwgMHhGQSwgMHgxMSwgMHg3RSwgMHg4RiwgMHgxMywgMHg1 MiwgMHhFQywKLSsgICAgMHhDOSwgMHgwMywgMHhFRSwgMHgwRCwgMHgyQiwgMHg5MSwgMHgzMiwg MHhGMiwgMHg4RSwgMHhERiwgMHgwMiwgMHhFMCwKLSsgICAgMHgwQSwgMHg0NywgMHhEMiwgMHgw QSwgMHg1MSwgMHgwMCwgMHgxQSwgMHgzMCwgMHg2RiwgMHgwQywgMHhCMywgMHg1NCwKLSsgICAg MHg2NCwgMHgyMCwgMHg5MCwgMHgwQywgMHgwMSwgMHhCRSwgMHhDMCwgMHg0MiwgMHg4QywgMHg1 RCwgMHgxOCwgMHg2RiwKLSsgICAgMHgzMiwgMHg3NSwgMHg0NSwgMHg3QiwgMHgxQywgMHgwNCwg MHhBMiwgMHg5RiwgMHg4NCwgMHhENywgMHhGNSwgMHgzQSwKLSsgICAgMHg5NSwgMHhENCwgMHhF OCwgMHg4RCwgMHhFQywgMHg5OSwgMHhFRiwgMHgxOCwgMHg1RSwgMHg2NCwgMHhEMywgMHhBRiwK LSsgICAgMHhGOCwgMHhENCwgMHhGRiwgMHgzQywgMHg4NywgMHhBMCwgMHgzRiwgMHhDNywgMHgy MiwgMHgwNSwgMHhGRCwgMHhGRCwKLSsgICAgMHgyOSwgMHg4QSwgMHgyOCwgMHhEQSwgMHhBOSwg MHg4QSwgMHg4QiwgMHgyMywgMHg2MiwgMHg5RCwgMHg0MiwgMHhCOCwKLSsgICAgMHg0QSwgMHg3 NiwgMHgwRCwgMHg5RiwgMHg5QSwgMHhFMCwgMHhFNiwgMHhERCwgMHhBRCwgMHg1RSwgMHg1Riwg MHhENSwKLSsgICAgMHgzMiwgMHhFOSwgMHg0QiwgMHg5NywgMHg3RCwgMHg2MiwgMHgwQSwgMHhC MywgMHhCRSwgMHhGMiwgMHg4QywgMHgxRiwKLSsgICAgMHgyQiwgMHgyMiwgMHgwNiwgMHgxNSwg MHgzMywgMHg3MSwgMHhFRCwgMHg5QiwgMHhBMCwgMHg4MiwgMHhDRSwgMHhCRiwKLSsgICAgMHgz QiwgMHgwOCwgMHg1RiwgMHhBNywgMHgyMCwgMHg5NCwgMHgwOSwgMHhFQiwgMHg4MiwgMHhBNSwg MHg0MSwgMHg2MCwKLSsgICAgMHhGMSwgMHgwOCwgMHhFQiwgMHg4RCwgMHhDQywgMHg4RCwgMHhD OSwgMHg1MiwgMHgwQSwgMHhBRiwgMHhGNCwgMHhGOSwKLSsgICAgMHg5RiwgMHg4MiwgMHhEOCwg MHgwQiwgMHg3NSwgMHg1RSwgMHhFNCwgMHhBRiwgMHg2NSwgMHg5NiwgMHhBRiwgMHhGQywKLSsg ICAgMHgzMywgMHhCRiwgMHg5RiwgMHgzRSwgMHhBNCwgMHg3QiwgMHg4NiwgMHhDNywgMHhGNywg MHg0NywgMHhBQiwgMHgzNywKLSsgICAgMHgwNSwgMHhENiwgMHgwRCwgMHgzMSwgMHg3MiwgMHg4 QywgMHg4MCwgMHgxRSwgMHhBOSwgMHg1NCwgMHhGQywgMHhERiwKLSsgICAgMHgyNywgMHg5MCwg MHhFMiwgMHgwMQotK307Ci0rCi0rc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0X1JTQV9T SEEyMjRbXSA9IHsKLSsgICAgMHhBMiwgMHhEOCwgMHg0MiwgMHg1MywgMHhERCwgMHhCRiwgMHgx RiwgMHg2QiwgMHgwNywgMHhFMCwgMHg2MCwgMHg4NiwKLSsgICAgMHg1QSwgMHg2MCwgMHgwNiwg MHg4RiwgMHg0NCwgMHhEOSwgMHhCMCwgMHg0QSwgMHhBQSwgMHg5MCwgMHg3MSwgMHhCOCwKLSsg ICAgMHhCMiwgMHhCQywgMHgzMCwgMHg0MSwgMHg1MCwgMHhCQiwgMHhGRCwgMHg0NiwgMHg5OCwg MHg0RCwgMHhDMCwgMHg4OSwKLSsgICAgMHg1NywgMHg4NSwgMHg4QSwgMHg5NywgMHg0OSwgMHgy NSwgMHhBOCwgMHgwQywgMHg2OSwgMHg3MCwgMHgxOSwgMHgzOSwKLSsgICAgMHg2NiwgMHgyNCwg MHhCNCwgMHg2OSwgMHg0NywgMHhEMiwgMHg3QywgMHhERSwgMHgyRCwgMHgzNywgMHg1OSwgMHhC MywKLSsgICAgMHhFMywgMHhDNywgMHg2QiwgMHhERCwgMHhCRSwgMHhFMSwgMHhFNiwgMHgyOCwg MHg5QSwgMHg4RCwgMHg0MiwgMHgzRSwKLSsgICAgMHgyOCwgMHgwMSwgMHhENywgMHgwMywgMHhD OSwgMHg3MywgMHhDMywgMHg2QiwgMHgwMywgMHhFQywgMHgxRSwgMHhGOCwKLSsgICAgMHg1Mywg MHg4QiwgMHg1MiwgMHg0MiwgMHg4OSwgMHg1NSwgMHhCNywgMHg4NywgMHhBOSwgMHg5NCwgMHhD MiwgMHhCNCwKLSsgICAgMHg0QiwgMHg3NiwgMHhGNSwgMHg2MSwgMHg0NywgMHhFMSwgMHg0NCwg MHg3QiwgMHhFQywgMHhCNCwgMHgyNSwgMHg2NiwKLSsgICAgMHhDMCwgMHhGRiwgMHhFQiwgMHg4 NiwgMHgyNCwgMHhBQSwgMHhBOCwgMHg3MiwgMHhDNywgMHhGQiwgMHhGQiwgMHhGNiwKLSsgICAg MHg4NCwgMHhBNywgMHg1QiwgMHhENCwgMHg4NywgMHhFNSwgMHg4NCwgMHg1NiwgMHgxRSwgMHg0 QywgMHhFNSwgMHhCQywKLSsgICAgMHg4NywgMHg5NCwgMHhBQywgMHg5QywgMHgxQiwgMHgzRCwg MHhGNywgMHhENCwgMHgzNiwgMHg4NSwgMHg5RiwgMHhDOSwKLSsgICAgMHhGNiwgMHg0MywgMHgz RiwgMHhCNiwgMHgyNSwgMHgzMywgMHg0OCwgMHgwRiwgMHhFNSwgMHg3QywgMHhDRCwgMHg1MywK LSsgICAgMHg0OCwgMHhFQiwgMHgwMiwgMHgxMSwgMHhCOSwgMHg5RSwgMHhDMywgMHhCNCwgMHhF MSwgMHg1NCwgMHhENiwgMHhBQSwKLSsgICAgMHgxQSwgMHg5RSwgMHgxMCwgMHhFMSwgMHgyNywg MHgyNSwgMHhGMiwgMHhFMSwgMHhBQiwgMHhBQiwgMHg2QywgMHg0NSwKLSsgICAgMHg2MSwgMHhE NSwgMHhBMywgMHg2QywgMHhCNiwgMHgzMywgMHg1MiwgMHhBRSwgMHgzRCwgMHhGRCwgMHgyMiwg MHhGQywKLSsgICAgMHgzQSwgMHhBQiwgMHg2MywgMHg5NCwgMHhCNSwgMHgzQSwgMHg2OSwgMHgx MSwgMHhBQywgMHg5OSwgMHg0RiwgMHgzMywKLSsgICAgMHg2NywgMHgwQSwgMHgxQSwgMHg3MCwg MHgxRSwgMHhCOSwgMHhFMiwgMHgyNiwgMHgyNywgMHg2OCwgMHhFQSwgMHhGNSwKLSsgICAgMHg5 NywgMHg1NSwgMHhBQywgMHg4MywgMHg2QSwgMHg0MCwgMHgzQiwgMHg1NiwgMHhBRSwgMHgxMywg MHg4OCwgMHhFOCwKLSsgICAgMHg5OCwgMHg3MiwgMHg1MiwgMHg5MSwgMHg3RiwgMHg3OCwgMHgw QSwgMHgxOCwgMHhENCwgMHg0NCwgMHg3OCwgMHg4MywKLSsgICAgMHgwRCwgMHg0NCwgMHg3Nywg MHhBNiwgMHhGMywgMHgwNCwgMHhGMSwgMHg4QywgMHhCQywgMHgyRiwgMHhGOSwgMHg1QiwKLSsg ICAgMHhEQiwgMHg3MCwgMHgwMCwgMHhGNgotK307Ci0rCiArc3RhdGljIGNvbnN0IHVuc2lnbmVk IGNoYXIga2F0X1JTQV9TSEEyNTZbXSA9IHsKICsgICAgMHhDMiwgMHhCMSwgMHg5NywgMHgwMCwg MHg5QSwgMHhFNSwgMHg4MCwgMHg2QSwgMHhFMiwgMHg1MSwgMHg2OCwgMHhCOSwKICsgICAgMHg3 QSwgMHgwQywgMHhGMiwgMHhCNCwgMHg3NywgMHhFRCwgMHgxNSwgMHgwQywgMHg0RSwgMHhFMSwg MHhEQywgMHhGRiwKQEAgLTk4MzgsNTYgKzkzNzgsNiBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTgvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjEt cAogKyAgICAweDQ3LCAweDlELCAweDE4LCAweEQ3CiArfTsKICsKLStzdGF0aWMgY29uc3QgdW5z aWduZWQgY2hhciBrYXRfUlNBX1NIQTM4NFtdID0gewotKyAgICAweDExLCAweDVFLCAweDYzLCAw eEZFLCAweDQ3LCAweEFBLCAweDZBLCAweDg0LCAweEVCLCAweDQ0LCAweDlBLCAweDAwLAotKyAg ICAweDk2LCAweDRBLCAweEVELCAweEQyLCAweEE3LCAweDY3LCAweDNBLCAweDY0LCAweDgyLCAw eDMwLCAweDYxLCAweDJELAotKyAgICAweEUzLCAweEY1LCAweDQ5LCAweDY4LCAweDVFLCAweDYw LCAweEQyLCAweDRELCAweEVGLCAweEYyLCAweEE0LCAweEIyLAotKyAgICAweDlBLCAweDgxLCAw eDFELCAweDQxLCAweEE1LCAweDczLCAweDU5LCAweEVCLCAweEJCLCAweEM0LCAweDlFLCAweDJC LAotKyAgICAweEVCLCAweEMzLCAweERFLCAweDNBLCAweEVBLCAweEY1LCAweEFELCAweERBLCAw eDg3LCAweDA4LCAweDY4LCAweENGLAotKyAgICAweDEyLCAweDlCLCAweEMxLCAweEU0LCAweEE3 LCAweDcxLCAweEY4LCAweEJELCAweDZCLCAweDZGLCAweDUwLCAweEYxLAotKyAgICAweEQxLCAw eEZGLCAweENFLCAweDZDLCAweEQ5LCAweEJFLCAweERBLCAweDc2LCAweEYzLCAweEVCLCAweEFC LCAweDlDLAotKyAgICAweDQxLCAweDZFLCAweDRGLCAweDM1LCAweDdBLCAweDYxLCAweDI3LCAw eEJDLCAweDAzLCAweDNFLCAweEFFLCAweDNFLAotKyAgICAweDFCLCAweERELCAweEFDLCAweEQ5 LCAweDFBLCAweEZGLCAweEQzLCAweEY1LCAweDY2LCAweDQzLCAweDA3LCAweDc2LAotKyAgICAw eDhBLCAweDY5LCAweDJELCAweDE0LCAweEIxLCAweEJFLCAweDU1LCAweDQ5LCAweDkwLCAweDg5 LCAweDRCLCAweEM0LAotKyAgICAweDExLCAweDY3LCAweEQ1LCAweDlELCAweEIwLCAweEIyLCAw eEVFLCAweDhELCAweDBBLCAweDQ3LCAweDRBLCAweEQ5LAotKyAgICAweDBFLCAweEQxLCAweDI0 LCAweEYwLCAweDMwLCAweDJCLCAweEYyLCAweDc5LCAweDQ3LCAweERCLCAweDcwLCAweEI0LAot KyAgICAweDQ2LCAweEYyLCAweEY4LCAweEI3LCAweEI0LCAweEY2LCAweDM0LCAweDc5LCAweEE4 LCAweDJELCAweDNELCAweDU2LAotKyAgICAweEQ1LCAweDlBLCAweDYwLCAweDdBLCAweDA0LCAw eEM3LCAweDY2LCAweDFELCAweENELCAweDNDLCAweEQ1LCAweDM5LAotKyAgICAweDM3LCAweDEy LCAweDUxLCAweDVFLCAweDlGLCAweEY4LCAweDFBLCAweEFGLCAweDEzLCAweEMxLCAweDEzLCAw eDAwLAotKyAgICAweDM1LCAweEQ1LCAweDhELCAweDE3LCAweEUzLCAweDAyLCAweDI4LCAweEQ5 LCAweEVDLCAweERFLCAweEQxLCAweDJGLAotKyAgICAweDkzLCAweDQ5LCAweDAzLCAweDExLCAw eDNFLCAweDU2LCAweDlELCAweEMyLCAweDMxLCAweEY4LCAweEFGLCAweDJELAotKyAgICAweEQ5 LCAweDk5LCAweEI3LCAweDhBLCAweEFDLCAweDVBLCAweDg2LCAweDIwLCAweDNBLCAweDgzLCAw eDI5LCAweDI2LAotKyAgICAweDlELCAweDAzLCAweDUyLCAweDJCLCAweDM0LCAweDU2LCAweDQw LCAweDE2LCAweDUzLCAweDUwLCAweDgyLCAweEM5LAotKyAgICAweEM3LCAweEQ1LCAweDUxLCAw eDRDLCAweEVELCAweEIzLCAweEUyLCAweEUxLCAweENGLCAweEE4LCAweENFLCAweEJELAotKyAg ICAweEIxLCAweDQ4LCAweEE2LCAweDhBLCAweDc5LCAweDE3LCAweDU1LCAweDExLCAweEVGLCAw eEU4LCAweDE0LCAweEY0LAotKyAgICAweDdFLCAweDM3LCAweDFELCAweDk2Ci0rfTsKLSsKLStz dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1NIQTUxMltdID0gewotKyAgICAweDM1 LCAweDZELCAweEYxLCAweDlFLCAweENGLCAweEIxLCAweEY2LCAweDBDLCAweDA0LCAweDIxLCAw eDE3LCAweEIzLAotKyAgICAweEM0LCAweDlELCAweEZFLCAweDYyLCAweDFDLCAweDFBLCAweDQ1 LCAweDAwLCAweDJFLCAweDZCLCAweEI2LCAweDlGLAotKyAgICAweDVDLCAweEIxLCAweENCLCAw eENGLCAweEY5LCAweDY3LCAweEVBLCAweDYyLCAweDhBLCAweEVCLCAweDc3LCAweDAyLAotKyAg ICAweDQyLCAweDMwLCAweDg4LCAweEIxLCAweDQ4LCAweERGLCAweDEyLCAweDYwLCAweDZFLCAw eDkyLCAweEJCLCAweDRCLAotKyAgICAweDA5LCAweDY4LCAweEQxLCAweDcwLCAweDJCLCAweDU5 LCAweEVFLCAweDU3LCAweDk2LCAweEY5LCAweEVBLCAweEEzLAotKyAgICAweDRDLCAweEU5LCAw eEM5LCAweEJELCAweDI1LCAweDM0LCAweDY2LCAweDE1LCAweDZDLCAweEM5LCAweDgxLCAweEQx LAotKyAgICAweDQ4LCAweDBGLCAweDMzLCAweDVGLCAweDA1LCAweDRGLCAweEMyLCAweEM0LCAw eERELCAweDA5LCAweDU0LCAweDc5LAotKyAgICAweEExLCAweDU3LCAweDA3LCAweDcwLCAweEEw LCAweDMzLCAweDAyLCAweDRELCAweDVELCAweEU5LCAweDI0LCAweEQxLAotKyAgICAweEVGLCAw eEYwLCAweDYxLCAweEQwLCAweDFELCAweDQxLCAweEUyLCAweDlCLCAweDJCLCAweDdDLCAweEQw LCAweDRFLAotKyAgICAweDU1LCAweEQ5LCAweDZELCAweEExLCAweDE2LCAweDlGLCAweERBLCAw eEMzLCAweDNCLCAweEYxLCAweDc0LCAweEQxLAotKyAgICAweDk5LCAweEYxLCAweDYzLCAweDU3 LCAweEFELCAweEM3LCAweDU1LCAweEY0LCAweDk3LCAweDQzLCAweDFDLCAweEVELAotKyAgICAw eDFCLCAweDdBLCAweDMyLCAweENCLCAweDI0LCAweEE2LCAweDNELCAweDkzLCAweDM3LCAweDkw LCAweDc0LCAweEVFLAotKyAgICAweEQyLCAweDhELCAweDRCLCAweEJDLCAweDcyLCAweERBLCAw eDI1LCAweDJCLCAweDY0LCAweEU5LCAweENBLCAweDY5LAotKyAgICAweDM2LCAweEI2LCAweEVD LCAweDZFLCAweDhGLCAweDMzLCAweDBFLCAweDc0LCAweDQwLCAweDQ4LCAweDUxLCAweEUyLAot KyAgICAweDU0LCAweDZGLCAweEFGLCAweDZFLCAweDM2LCAweDU0LCAweDNBLCAweEVDLCAweDc4 LCAweDM3LCAweEU2LCAweDFGLAotKyAgICAweDc2LCAweEE1LCAweDRELCAweEE2LCAweEQ5LCAw eEIzLCAweDZCLCAweDE3LCAweDZELCAweDYxLCAweEZDLCAweEEzLAotKyAgICAweDg1LCAweDRB LCAweENDLCAweERBLCAweDUyLCAweEFDLCAweDVCLCAweERBLCAweDUxLCAweEU1LCAweDdGLCAw eDVCLAotKyAgICAweDUyLCAweDhCLCAweDc0LCAweDc1LCAweDk5LCAweDVDLCAweDAxLCAweEZE LCAweDI1LCAweDNFLCAweENELCAweDg2LAotKyAgICAweDZGLCAweDdBLCAweEMwLCAweEQ4LCAw eDE3LCAweDZGLCAweEQxLCAweEQyLCAweDZCLCAweEFCLCAweDE0LCAweDFGLAotKyAgICAweDNC LCAweEI4LCAweDE1LCAweDA1LCAweDg2LCAweDQwLCAweDM2LCAweENGLCAweERBLCAweDU5LCAw eDJCLCAweDlBLAotKyAgICAweEU5LCAweDFFLCAweDZFLCAweEQzLCAweDZCLCAweEExLCAweDE5 LCAweEM1LCAweEU2LCAweDNGLCAweEU5LCAweDJFLAotKyAgICAweDQzLCAweEE4LCAweDM0LCAw eDBBCi0rfTsKLSsKICtzdGF0aWMgaW50IGZpcHNfcnNhX2VuY3J5cHRfdGVzdChSU0EgKnJzYSwg Y29uc3QgdW5zaWduZWQgY2hhciAqcGxhaW50ZXh0LAogKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCBwdGxlbikKICt7CkBAIC05OTQ0LDU2ICs5NDM0LDE2IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jLmZpcHMg b3BlbnNzbC0xLjEuMS1wCiArICAgIEVWUF9QS0VZX3NldDFfUlNBKHBrLCBrZXkpOwogKwogKyAg ICBpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdChwaywga2F0X3Ricywgc2l6ZW9mKGthdF90 YnMpIC0gMSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2F0X1JTQV9TSEEx LCBzaXplb2Yoa2F0X1JTQV9TSEExKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRVZQX3NoYTEoKSwgRVZQX01EX0NUWF9GTEFHX1BBRF9QS0NTMSwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIlJTQSBTSEExIFBLQ1MjMSIpKQotKyAgICAgICAgZ290byBl cnI7Ci0rICAgIGlmICghZmlwc19wa2V5X3NpZ25hdHVyZV90ZXN0KHBrLCBrYXRfdGJzLCBzaXpl b2Yoa2F0X3RicykgLSAxLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrYXRf UlNBX1NIQTIyNCwgc2l6ZW9mKGthdF9SU0FfU0hBMjI0KSwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRVZQX3NoYTIyNCgpLCBFVlBfTURfQ1RYX0ZMQUdfUEFEX1BLQ1MxLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUlNBIFNIQTIyNCBQS0NTIzEiKSkK LSsgICAgICAgIGdvdG8gZXJyOwotKyAgICBpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdChw aywga2F0X3Ricywgc2l6ZW9mKGthdF90YnMpIC0gMSwKICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAga2F0X1JTQV9TSEEyNTYsIHNpemVvZihrYXRfUlNBX1NIQTI1NiksCiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVWUF9zaGEyNTYoKSwgRVZQX01EX0NUWF9G TEFHX1BBRF9QS0NTMSwKICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJTQSBT SEEyNTYgUEtDUyMxIikpCiArICAgICAgICBnb3RvIGVycjsKLSsgICAgaWYgKCFmaXBzX3BrZXlf c2lnbmF0dXJlX3Rlc3QocGssIGthdF90YnMsIHNpemVvZihrYXRfdGJzKSAtIDEsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthdF9SU0FfU0hBMzg0LCBzaXplb2Yoa2F0X1JT QV9TSEEzODQpLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVlBfc2hhMzg0 KCksIEVWUF9NRF9DVFhfRkxBR19QQURfUEtDUzEsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJSU0EgU0hBMzg0IFBLQ1MjMSIpKQotKyAgICAgICAgZ290byBlcnI7Ci0rICAg IGlmICghZmlwc19wa2V5X3NpZ25hdHVyZV90ZXN0KHBrLCBrYXRfdGJzLCBzaXplb2Yoa2F0X3Ri cykgLSAxLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrYXRfUlNBX1NIQTUx Miwgc2l6ZW9mKGthdF9SU0FfU0hBNTEyKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRVZQX3NoYTUxMigpLCBFVlBfTURfQ1RYX0ZMQUdfUEFEX1BLQ1MxLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiUlNBIFNIQTUxMiBQS0NTIzEiKSkKLSsgICAgICAg IGdvdG8gZXJyOwogKwogKyAgICBpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdChwaywga2F0 X3Ricywgc2l6ZW9mKGthdF90YnMpIC0gMSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAga2F0X1JTQV9QU1NfU0hBMSwgc2l6ZW9mKGthdF9SU0FfUFNTX1NIQTEpLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVlBfc2hhMSgpLCBFVlBfTURfQ1RYX0ZMQUdf UEFEX1BTUywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJTQSBTSEExIFBT UyIpKQotKyAgICAgICAgZ290byBlcnI7Ci0rICAgIGlmICghZmlwc19wa2V5X3NpZ25hdHVyZV90 ZXN0KHBrLCBrYXRfdGJzLCBzaXplb2Yoa2F0X3RicykgLSAxLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBrYXRfUlNBX1BTU19TSEEyMjQsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNpemVvZihrYXRfUlNBX1BTU19TSEEyMjQpLCBFVlBfc2hhMjI0KCks Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVWUF9NRF9DVFhfRkxBR19QQURf UFNTLCAiUlNBIFNIQTIyNCBQU1MiKSkKLSsgICAgICAgIGdvdG8gZXJyOwotKyAgICBpZiAoIWZp cHNfcGtleV9zaWduYXR1cmVfdGVzdChwaywga2F0X3Ricywgc2l6ZW9mKGthdF90YnMpIC0gMSwK ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2F0X1JTQV9QU1NfU0hBMjU2LAog KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yoa2F0X1JTQV9QU1NfU0hB MjU2KSwgRVZQX3NoYTI1NigpLAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF VlBfTURfQ1RYX0ZMQUdfUEFEX1BTUywgIlJTQSBTSEEyNTYgUFNTIikpCiArICAgICAgICBnb3Rv IGVycjsKLSsgICAgaWYgKCFmaXBzX3BrZXlfc2lnbmF0dXJlX3Rlc3QocGssIGthdF90YnMsIHNp emVvZihrYXRfdGJzKSAtIDEsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGth dF9SU0FfUFNTX1NIQTM4NCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6 ZW9mKGthdF9SU0FfUFNTX1NIQTM4NCksIEVWUF9zaGEzODQoKSwKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRVZQX01EX0NUWF9GTEFHX1BBRF9QU1MsICJSU0EgU0hBMzg0IFBT UyIpKQotKyAgICAgICAgZ290byBlcnI7Ci0rICAgIGlmICghZmlwc19wa2V5X3NpZ25hdHVyZV90 ZXN0KHBrLCBrYXRfdGJzLCBzaXplb2Yoa2F0X3RicykgLSAxLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBrYXRfUlNBX1BTU19TSEE1MTIsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNpemVvZihrYXRfUlNBX1BTU19TSEE1MTIpLCBFVlBfc2hhNTEyKCks Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVWUF9NRF9DVFhfRkxBR19QQURf UFNTLCAiUlNBIFNIQTUxMiBQU1MiKSkKLSsgICAgICAgIGdvdG8gZXJyOwogKwogKyAgICBpZiAo IWZpcHNfcnNhX2VuY3J5cHRfdGVzdChrZXksIGthdF90YnMsIHNpemVvZihrYXRfdGJzKSAtIDEp KQogKyAgICAgICAgZ290byBlcnI7CkBAIC0xMDAwOSw5ICs5NDU5LDkgQEAgZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMuZmlwcyBvcGVu c3NsLTEuMS4xLXAKICt9CiArCiArI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBk ZWYgT1BFTlNTTF9GSVBTICovCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2Zp cHMvZmlwc19zaGFfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlw cy9maXBzX3NoYV9zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBz L2ZpcHNfc2hhX3NlbGZ0ZXN0LmMuZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQxMDYyNDgyNCAr MDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX3NoYV9zZWxmdGVz dC5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDEwNjI0ODI0ICswMjAwCitkaWZmIC11cCBvcGVuc3Ns LTEuMS4xLXByZTkvY3J5cHRvL2ZpcHMvZmlwc19zaGFfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wt MS4xLjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX3NoYV9zZWxmdGVzdC5jCistLS0gb3BlbnNzbC0x LjEuMS1wcmU5L2NyeXB0by9maXBzL2ZpcHNfc2hhX3NlbGZ0ZXN0LmMuZmlwcwkyMDE4LTA4LTIy IDEyOjE3OjUzLjQ0MDY1NTU4NCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8v Zmlwcy9maXBzX3NoYV9zZWxmdGVzdC5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNDQwNjU1NTg0ICsw MjAwCiBAQCAtMCwwICsxLDEzOCBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChj KSAyMDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMTAx NTEsOSArOTYwMSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9m aXBzX3NoYV9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wCiArfQogKwogKyNlbmRpZgot ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9o bWFjLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25l X2htYWMuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vZmlwcy9maXBzX3N0YW5kYWxv bmVfaG1hYy5jLmZpcHMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MTA2MjQ4MjQgKzAyMDAKLSsrKyBv cGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMuYwkyMDE4 LTA3LTI1IDE3OjI2OjU4LjQxMDYyNDgyNCArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1w cmU5L2NyeXB0by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9obWFjLmMuZmlwcyBvcGVuc3NsLTEuMS4x LXByZTkvY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMuYworLS0tIG9wZW5zc2wtMS4x LjEtcHJlOS9jcnlwdG8vZmlwcy9maXBzX3N0YW5kYWxvbmVfaG1hYy5jLmZpcHMJMjAxOC0wOC0y MiAxMjoxNzo1My40NDA2NTU1ODQgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRv L2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQ0MDY1NTU4 NCArMDIwMAogQEAgLTAsMCArMSwxMjcgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdo dCAoYykgMjAwMyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAg LTEwMjgyLDkgKzk3MzIsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2Zp cHMvZmlwc19zdGFuZGFsb25lX2htYWMuYy5maXBzIG9wZW5zc2wtMS4xLgogKyNlbmRpZgogKyAg ICByZXR1cm4gMDsKICt9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2htYWMv aG1hYy5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9obWFjL2htYWMuYwotLS0tIG9w ZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vaG1hYy9obWFjLmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4 OjExLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vaG1hYy9o bWFjLmMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MTA2MjQ4MjQgKzAyMDAKK2RpZmYgLXVwIG9wZW5z c2wtMS4xLjEtcHJlOS9jcnlwdG8vaG1hYy9obWFjLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkv Y3J5cHRvL2htYWMvaG1hYy5jCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9obWFjL2ht YWMuYy5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTIuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNz bC0xLjEuMS1wcmU5L2NyeXB0by9obWFjL2htYWMuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQ0MDY1 NTU4NCArMDIwMAogQEAgLTM1LDYgKzM1LDEzIEBAIGludCBITUFDX0luaXRfZXgoSE1BQ19DVFgg KmN0eCwgY29uc3Qgdm8KICAgICAgfQogIApAQCAtMTAyOTksOSArOTc0OSw5IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vaG1hYy9obWFjLmMuZmlwcyBvcGVuc3NsLTEuMS4x LXByZTgvY3J5cHRvL2htCiAgICAgICAgICByZXNldCA9IDE7CiAgICAgICAgICBqID0gRVZQX01E X2Jsb2NrX3NpemUobWQpOwogICAgICAgICAgaWYgKCFvc3NsX2Fzc2VydChqIDw9IChpbnQpc2l6 ZW9mKGN0eC0+a2V5KSkpCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL2luY2x1 ZGUvaW50ZXJuYWwvZmlwc19pbnQuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vaW5j bHVkZS9pbnRlcm5hbC9maXBzX2ludC5oCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9p bmNsdWRlL2ludGVybmFsL2ZpcHNfaW50LmguZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQxMDYy NDgyNCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vaW5jbHVkZS9pbnRlcm5h bC9maXBzX2ludC5oCTIwMTgtMDctMjUgMTc6MjY6NTguNDEwNjI0ODI0ICswMjAwCitkaWZmIC11 cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL2luY2x1ZGUvaW50ZXJuYWwvZmlwc19pbnQuaC5m aXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vaW5jbHVkZS9pbnRlcm5hbC9maXBzX2ludC5o CistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9pbmNsdWRlL2ludGVybmFsL2ZpcHNfaW50 LmguZmlwcwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQ0MDY1NTU4NCArMDIwMAorKysrIG9wZW5zc2wt MS4xLjEtcHJlOS9jcnlwdG8vaW5jbHVkZS9pbnRlcm5hbC9maXBzX2ludC5oCTIwMTgtMDgtMjIg MTI6MTc6NTMuNDQwNjU1NTg0ICswMjAwCiBAQCAtMCwwICsxLDEwMSBAQAogKy8qID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiArICogQ29weXJpZ2h0IChjKSAyMDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmln aHRzIHJlc2VydmVkLgpAQCAtMTA0MDQsOSArOTg1NCw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4x LjEtcHJlOC9jcnlwdG8vaW5jbHVkZS9pbnRlcm5hbC9maXBzX2ludC5oLmZpcHMgb3BlbnNzbC0x LjEuCiArdm9pZCBGSVBTX2dldF90aW1ldmVjKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgdW5zaWduZWQg bG9uZyAqcGN0cik7CiArCiArI2VuZGlmCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5 cHRvL29fZmlwcy5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9vX2ZpcHMuYwotLS0t IG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vb19maXBzLmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4 OjExLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vb19maXBz LmMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MTA2MjQ4MjQgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wt MS4xLjEtcHJlOS9jcnlwdG8vb19maXBzLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRv L29fZmlwcy5jCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9vX2ZpcHMuYy5maXBzCTIw MTgtMDgtMjEgMTQ6MTQ6MTMuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5 L2NyeXB0by9vX2ZpcHMuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQ0MDY1NTU4NCArMDIwMAogQEAg LTExLDE0ICsxMSwyNSBAQAogIAogIGludCBGSVBTX21vZGUodm9pZCkKQEAgLTEwNDMzLDkgKzk4 ODMsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL29fZmlwcy5jLmZpcHMg b3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9vX2ZpcAogICAgICByZXR1cm4gMDsKICsjZW5kaWYK ICB9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL29faW5pdC5jLmZpcHMgb3Bl bnNzbC0xLjEuMS1wcmU4L2NyeXB0by9vX2luaXQuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9j cnlwdG8vb19pbml0LmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjExLjAwMDAwMDAwMCArMDIwMAot KysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vb19pbml0LmMJMjAxOC0wNy0yNSAxNzoyNjo1 OC40MTA2MjQ4MjQgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vb19p bml0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL29faW5pdC5jCistLS0gb3BlbnNz bC0xLjEuMS1wcmU5L2NyeXB0by9vX2luaXQuYy5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTMuMDAw MDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9vX2luaXQuYwkyMDE4 LTA4LTIyIDEyOjE3OjUzLjQ0MTY1NTYwOSArMDIwMAogQEAgLTcsOCArNyw2OCBAQAogICAqIGh0 dHBzOi8vd3d3Lm9wZW5zc2wub3JnL3NvdXJjZS9saWNlbnNlLmh0bWwKICAgKi8KQEAgLTEwNTA1 LDkgKzk5NTUsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL29faW5pdC5j LmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9vX2luaQogIAogIC8qCiAgICogUGVyZm9y bSBhbnkgZXNzZW50aWFsIE9wZW5TU0wgaW5pdGlhbGl6YXRpb24gb3BlcmF0aW9ucy4gQ3VycmVu dGx5IGRvZXMKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcmFuZC9yYW5kX2xp Yi5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9yYW5kL3JhbmRfbGliLmMKLS0tLSBv cGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL3JhbmQvcmFuZF9saWIuYy5maXBzCTIwMTgtMDYtMjAg MTY6NDg6MTEuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9y YW5kL3JhbmRfbGliLmMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MTA2MjQ4MjQgKzAyMDAKK2RpZmYg LXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vcmFuZC9yYW5kX2xpYi5jLmZpcHMgb3BlbnNz bC0xLjEuMS1wcmU5L2NyeXB0by9yYW5kL3JhbmRfbGliLmMKKy0tLSBvcGVuc3NsLTEuMS4xLXBy ZTkvY3J5cHRvL3JhbmQvcmFuZF9saWIuYy5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTMuMDAwMDAw MDAwICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9yYW5kL3JhbmRfbGliLmMJ MjAxOC0wOC0yMiAxMjoxNzo1My40NDE2NTU2MDkgKzAyMDAKIEBAIC0xNiw2ICsxNiwxMCBAQAog ICNpbmNsdWRlICJpbnRlcm5hbC90aHJlYWRfb25jZS5oIgogICNpbmNsdWRlICJyYW5kX2xjbC5o IgpAQCAtMTA1MTksNyArOTk2OSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlw dG8vcmFuZC9yYW5kX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0CiAgCiAgI2lm bmRlZiBPUEVOU1NMX05PX0VOR0lORQogIC8qIG5vbi1OVUxMIGlmIGRlZmF1bHRfUkFORF9tZXRo IGlzIEVOR0lORS1wcm92aWRlZCAqLwotQEAgLTc3OCwzICs3ODIsMTUgQEAgaW50IFJBTkRfc3Rh dHVzKHZvaWQpCitAQCAtNzkzLDMgKzc5NywxNSBAQCBpbnQgUkFORF9zdGF0dXModm9pZCkKICAg ICAgICAgIHJldHVybiBtZXRoLT5zdGF0dXMoKTsKICAgICAgcmV0dXJuIDA7CiAgfQpAQCAtMTA1 MzUsOSArOTk4NSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcmFuZC9y YW5kX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0CiArICAgIHJldHVybiAxOwog K30KICsjZW5kaWYKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcnNhL3JzYV9j cnB0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL3JzYS9yc2FfY3JwdC5jCi0tLS0g b3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9yc2EvcnNhX2NycHQuYy5maXBzCTIwMTgtMDYtMjAg MTY6NDg6MTEuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9y c2EvcnNhX2NycHQuYwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQxMTYyNDg0OCArMDIwMAorZGlmZiAt dXAgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9yc2EvcnNhX2NycHQuYy5maXBzIG9wZW5zc2wt MS4xLjEtcHJlOS9jcnlwdG8vcnNhL3JzYV9jcnB0LmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkv Y3J5cHRvL3JzYS9yc2FfY3JwdC5jLmZpcHMJMjAxOC0wOC0yMSAxNDoxNDoxMy4wMDAwMDAwMDAg KzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL3JzYS9yc2FfY3JwdC5jCTIwMTgt MDgtMjIgMTI6MTc6NTMuNDQxNjU1NjA5ICswMjAwCiBAQCAtMjcsMjQgKzI3LDUyIEBAIGludCBS U0Ffc2l6ZShjb25zdCBSU0EgKnIpCiAgaW50IFJTQV9wdWJsaWNfZW5jcnlwdChpbnQgZmxlbiwg Y29uc3QgdW5zaWduZWQgY2hhciAqZnJvbSwgdW5zaWduZWQgY2hhciAqdG8sCiAgICAgICAgICAg ICAgICAgICAgICAgICBSU0EgKnJzYSwgaW50IHBhZGRpbmcpCkBAIC0xMDU5MSw5ICsxMDA0MSw5 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcnNhL3JzYV9jcnB0LmMuZmlw cyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvCiAgICAgIHJldHVybiByc2EtPm1ldGgtPnJzYV9w dWJfZGVjKGZsZW4sIGZyb20sIHRvLCByc2EsIHBhZGRpbmcpOwogIH0KICAKLWRpZmYgLXVwIG9w ZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcnNhL3JzYV9lcnIuYy5maXBzIG9wZW5zc2wtMS4xLjEt cHJlOC9jcnlwdG8vcnNhL3JzYV9lcnIuYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8v cnNhL3JzYV9lcnIuYy5maXBzCTIwMTgtMDYtMjAgMTY6NDg6MTEuMDAwMDAwMDAwICswMjAwCi0r Kysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9yc2EvcnNhX2Vyci5jCTIwMTgtMDctMjUgMTc6 MjY6NTguNDExNjI0ODQ4ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRv L3JzYS9yc2FfZXJyLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL3JzYS9yc2FfZXJy LmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL3JzYS9yc2FfZXJyLmMuZmlwcwkyMDE4 LTA4LTIxIDE0OjE0OjEzLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9j cnlwdG8vcnNhL3JzYV9lcnIuYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQ0MTY1NTYwOSArMDIwMAog QEAgLTE2LDYgKzE2LDggQEAKICBzdGF0aWMgY29uc3QgRVJSX1NUUklOR19EQVRBIFJTQV9zdHJf ZnVuY3RzW10gPSB7CiAgICAgIHtFUlJfUEFDSyhFUlJfTElCX1JTQSwgUlNBX0ZfQ0hFQ0tfUEFE RElOR19NRCwgMCksICJjaGVja19wYWRkaW5nX21kIn0sCkBAIC0xMDY2Miw5ICsxMDExMiw5IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcnNhL3JzYV9lcnIuYy5maXBzIG9w ZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vCiAgICAgIHtFUlJfUEFDSyhFUlJfTElCX1JTQSwgMCwg UlNBX1JfVU5TVVBQT1JURURfU0lHTkFUVVJFX1RZUEUpLAogICAgICAidW5zdXBwb3J0ZWQgc2ln bmF0dXJlIHR5cGUifSwKICAgICAge0VSUl9QQUNLKEVSUl9MSUJfUlNBLCAwLCBSU0FfUl9WQUxV RV9NSVNTSU5HKSwgInZhbHVlIG1pc3NpbmcifSwKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJl OC9jcnlwdG8vcnNhL3JzYV9nZW4uYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcnNh L3JzYV9nZW4uYwotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcnNhL3JzYV9nZW4uYy5m aXBzCTIwMTgtMDYtMjAgMTY6NDg6MTEuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEu MS1wcmU4L2NyeXB0by9yc2EvcnNhX2dlbi5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDExNjI0ODQ4 ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL3JzYS9yc2FfZ2VuLmMu ZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL3JzYS9yc2FfZ2VuLmMKKy0tLSBvcGVuc3Ns LTEuMS4xLXByZTkvY3J5cHRvL3JzYS9yc2FfZ2VuLmMuZmlwcwkyMDE4LTA4LTIxIDE0OjE0OjEz LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vcnNhL3JzYV9n ZW4uYwkyMDE4LTA4LTIyIDEyOjE3OjUzLjQ0MTY1NTYwOSArMDIwMAogQEAgLTE4LDYgKzE4LDc4 IEBACiAgI2luY2x1ZGUgImludGVybmFsL2NyeXB0bGliLmgiCiAgI2luY2x1ZGUgPG9wZW5zc2wv Ym4uaD4KQEAgLTExMDU5LDkgKzEwNTA5LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4 L2NyeXB0by9yc2EvcnNhX2dlbi5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by8KICBz dGF0aWMgaW50IHJzYV9idWlsdGluX2tleWdlbihSU0EgKnJzYSwgaW50IGJpdHMsIGludCBwcmlt ZXMsIEJJR05VTSAqZV92YWx1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCTl9H RU5DQiAqY2IpCiAgewotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9yc2EvcnNh X2xpYi5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9yc2EvcnNhX2xpYi5jCi0tLS0g b3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9yc2EvcnNhX2xpYi5jLmZpcHMJMjAxOC0wNi0yMCAx Njo0ODoxMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL3Jz YS9yc2FfbGliLmMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MTE2MjQ4NDggKzAyMDAKK2RpZmYgLXVw IG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vcnNhL3JzYV9saWIuYy5maXBzIG9wZW5zc2wtMS4x LjEtcHJlOS9jcnlwdG8vcnNhL3JzYV9saWIuYworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlw dG8vcnNhL3JzYV9saWIuYy5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTMuMDAwMDAwMDAwICswMjAw CisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9yc2EvcnNhX2xpYi5jCTIwMTgtMDgtMjIg MTI6MTc6NTMuNDQyNjU1NjMzICswMjAwCiBAQCAtMzQsNiArMzQsMTIgQEAgaW50IFJTQV9zZXRf bWV0aG9kKFJTQSAqcnNhLCBjb25zdCBSU0FfTQogICAgICAgKiB0byBkZWFsIHdpdGggd2hpY2gg RU5HSU5FIGl0IGNvbWVzIGZyb20uCiAgICAgICAqLwpAQCAtMTExMDQsOSArMTA1NTQsOSBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL3JzYS9yc2FfbGliLmMuZmlwcyBvcGVu c3NsLTEuMS4xLXByZTgvY3J5cHRvLwogICAgICBpZiAoIUNSWVBUT19uZXdfZXhfZGF0YShDUllQ VE9fRVhfSU5ERVhfUlNBLCByZXQsICZyZXQtPmV4X2RhdGEpKSB7CiAgICAgICAgICBnb3RvIGVy cjsKICAgICAgfQotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9yc2EvcnNhX29z c2wuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcnNhL3JzYV9vc3NsLmMKLS0tLSBv cGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL3JzYS9yc2Ffb3NzbC5jLmZpcHMJMjAxOC0wNi0yMCAx Njo0ODoxMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL3Jz YS9yc2Ffb3NzbC5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDExNjI0ODQ4ICswMjAwCitkaWZmIC11 cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL3JzYS9yc2Ffb3NzbC5jLmZpcHMgb3BlbnNzbC0x LjEuMS1wcmU5L2NyeXB0by9yc2EvcnNhX29zc2wuYworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9j cnlwdG8vcnNhL3JzYV9vc3NsLmMuZmlwcwkyMDE4LTA4LTIxIDE0OjE0OjEzLjAwMDAwMDAwMCAr MDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vcnNhL3JzYV9vc3NsLmMJMjAxOC0w OC0yMiAxMjoxNzo1My40NDI2NTU2MzMgKzAyMDAKIEBAIC0xMSw2ICsxMSwxMCBAQAogICNpbmNs dWRlICJpbnRlcm5hbC9ibl9pbnQuaCIKICAjaW5jbHVkZSAicnNhX2xvY2wuaCIKQEAgLTExMTU0 LDcgKzEwNjA0LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9yc2EvcnNh X29zc2wuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8KICAgICAgaWYgKEJOX251bV9i aXRzKHJzYS0+bikgPiBPUEVOU1NMX1JTQV9NQVhfTU9EVUxVU19CSVRTKSB7CiAgICAgICAgICBS U0FlcnIoUlNBX0ZfUlNBX09TU0xfUFVCTElDX0VOQ1JZUFQsIFJTQV9SX01PRFVMVVNfVE9PX0xB UkdFKTsKICAgICAgICAgIHJldHVybiAtMTsKLUBAIC0yNTEsNiArMjc3LDIyIEBAIHN0YXRpYyBp bnQgcnNhX29zc2xfcHJpdmF0ZV9lbmNyeXB0KGludAorQEAgLTI0Niw2ICsyNzIsMjIgQEAgc3Rh dGljIGludCByc2Ffb3NzbF9wcml2YXRlX2VuY3J5cHQoaW50CiAgICAgIEJJR05VTSAqdW5ibGlu ZCA9IE5VTEw7CiAgICAgIEJOX0JMSU5ESU5HICpibGluZGluZyA9IE5VTEw7CiAgCkBAIC0xMTE3 Nyw3ICsxMDYyNyw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcnNhL3Jz YV9vc3NsLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvCiAgICAgIGlmICgoY3R4ID0g Qk5fQ1RYX25ldygpKSA9PSBOVUxMKQogICAgICAgICAgZ290byBlcnI7CiAgICAgIEJOX0NUWF9z dGFydChjdHgpOwotQEAgLTM4OCw2ICs0MzAsMjIgQEAgc3RhdGljIGludCByc2Ffb3NzbF9wcml2 YXRlX2RlY3J5cHQoaW50CitAQCAtMzc4LDYgKzQyMCwyMiBAQCBzdGF0aWMgaW50IHJzYV9vc3Ns X3ByaXZhdGVfZGVjcnlwdChpbnQKICAgICAgQklHTlVNICp1bmJsaW5kID0gTlVMTDsKICAgICAg Qk5fQkxJTkRJTkcgKmJsaW5kaW5nID0gTlVMTDsKICAKQEAgLTExMjAwLDcgKzEwNjUwLDcgQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9yc2EvcnNhX29zc2wuYy5maXBzIG9w ZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8KICAgICAgaWYgKChjdHggPSBCTl9DVFhfbmV3KCkpID09 IE5VTEwpCiAgICAgICAgICBnb3RvIGVycjsKICAgICAgQk5fQ1RYX3N0YXJ0KGN0eCk7Ci1AQCAt NTEzLDYgKzU3MSwyMiBAQCBzdGF0aWMgaW50IHJzYV9vc3NsX3B1YmxpY19kZWNyeXB0KGludCBm CitAQCAtNTAxLDYgKzU1OSwyMiBAQCBzdGF0aWMgaW50IHJzYV9vc3NsX3B1YmxpY19kZWNyeXB0 KGludCBmCiAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZiA9IE5VTEw7CiAgICAgIEJOX0NUWCAqY3R4 ID0gTlVMTDsKICAKQEAgLTExMjIzLDkgKzEwNjczLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEu MS1wcmU4L2NyeXB0by9yc2EvcnNhX29zc2wuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlw dG8KICAgICAgaWYgKEJOX251bV9iaXRzKHJzYS0+bikgPiBPUEVOU1NMX1JTQV9NQVhfTU9EVUxV U19CSVRTKSB7CiAgICAgICAgICBSU0FlcnIoUlNBX0ZfUlNBX09TU0xfUFVCTElDX0RFQ1JZUFQs IFJTQV9SX01PRFVMVVNfVE9PX0xBUkdFKTsKICAgICAgICAgIHJldHVybiAtMTsKLWRpZmYgLXVw IG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcnNhL3JzYV9zaWduLmMuZmlwcyBvcGVuc3NsLTEu MS4xLXByZTgvY3J5cHRvL3JzYS9yc2Ffc2lnbi5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2Ny eXB0by9yc2EvcnNhX3NpZ24uYy5maXBzCTIwMTgtMDYtMjAgMTY6NDg6MTEuMDAwMDAwMDAwICsw MjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9yc2EvcnNhX3NpZ24uYwkyMDE4LTA3 LTI1IDE3OjI2OjU4LjQxMTYyNDg0OCArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5 L2NyeXB0by9yc2EvcnNhX3NpZ24uYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vcnNh L3JzYV9zaWduLmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL3JzYS9yc2Ffc2lnbi5j LmZpcHMJMjAxOC0wOC0yMSAxNDoxNDoxMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEu MS4xLXByZTkvY3J5cHRvL3JzYS9yc2Ffc2lnbi5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNDQyNjU1 NjMzICswMjAwCiBAQCAtNzMsNiArNzMsMTMgQEAgaW50IFJTQV9zaWduKGludCB0eXBlLCBjb25z dCB1bnNpZ25lZCBjaAogICAgICB1bnNpZ25lZCBjaGFyICp0bXBzID0gTlVMTDsKICAgICAgY29u c3QgdW5zaWduZWQgY2hhciAqZW5jb2RlZCA9IE5VTEw7CkBAIC0xMTI1Miw5ICsxMDcwMiw5IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcnNhL3JzYV9zaWduLmMuZmlwcyBv cGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvCiAgICAgIGlmIChlbmNyeXB0X2xlbiA8PSAwKQogICAg ICAgICAgZ290byBlcnI7CiAgCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL3No YS9zaGFfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9zaGEvc2hhX2xvY2wu aAotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vc2hhL3NoYV9sb2NsLmguZmlwcwkyMDE4 LTA3LTI1IDE3OjI2OjU3Ljg4NTYxMjI0MiArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9j cnlwdG8vc2hhL3NoYV9sb2NsLmgJMjAxOC0wNy0yNSAxNzoyNjo1OC40MTI2MjQ4NzIgKzAyMDAK K2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vc2hhL3NoYV9sb2NsLmguZmlwcyBv cGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL3NoYS9zaGFfbG9jbC5oCistLS0gb3BlbnNzbC0xLjEu MS1wcmU5L2NyeXB0by9zaGEvc2hhX2xvY2wuaC5maXBzCTIwMTgtMDgtMjIgMTI6MTc6NTIuNTQ2 NjMzNjg1ICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9zaGEvc2hhX2xvY2wu aAkyMDE4LTA4LTIyIDEyOjE3OjUzLjQ0MjY1NTYzMyArMDIwMAogQEAgLTUyLDYgKzUyLDkgQEAg dm9pZCBzaGExX2Jsb2NrX2RhdGFfb3JkZXIoU0hBX0NUWCAqYywgYwogIAogIGludCBIQVNIX0lO SVQoU0hBX0NUWCAqYykKQEAgLTExMjY1LDkgKzEwNzE1LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjEuMS1wcmU4L2NyeXB0by9zaGEvc2hhX2xvY2wuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9j cnlwdG8KICAgICAgbWVtc2V0KGMsIDAsIHNpemVvZigqYykpOwogICAgICBjLT5oMCA9IElOSVRf REFUQV9oMDsKICAgICAgYy0+aDEgPSBJTklUX0RBVEFfaDE7Ci1kaWZmIC11cCBvcGVuc3NsLTEu MS4xLXByZTgvY3J5cHRvL3NoYS9zaGEyNTYuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlw dG8vc2hhL3NoYTI1Ni5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9zaGEvc2hhMjU2 LmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjExLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wt MS4xLjEtcHJlOC9jcnlwdG8vc2hhL3NoYTI1Ni5jCTIwMTgtMDctMjUgMTc6MjY6NTguNDEyNjI0 ODcyICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvY3J5cHRvL3NoYS9zaGEyNTYu Yy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vc2hhL3NoYTI1Ni5jCistLS0gb3BlbnNz bC0xLjEuMS1wcmU5L2NyeXB0by9zaGEvc2hhMjU2LmMuZmlwcwkyMDE4LTA4LTIxIDE0OjE0OjEz LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlwdG8vc2hhL3NoYTI1 Ni5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNjYzNjYxMDQ3ICswMjAwCiBAQCAtMTgsNiArMTgsOSBA QAogIAogIGludCBTSEEyMjRfSW5pdChTSEEyNTZfQ1RYICpjKQpAQCAtMTEyODgsOSArMTA3Mzgs OSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL3NoYS9zaGEyNTYuYy5maXBz IG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vcwogICAgICBtZW1zZXQoYywgMCwgc2l6ZW9mKCpj KSk7CiAgICAgIGMtPmhbMF0gPSAweDZhMDllNjY3VUw7CiAgICAgIGMtPmhbMV0gPSAweGJiNjdh ZTg1VUw7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvY3J5cHRvL3NoYS9zaGE1MTIuYy5m aXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vc2hhL3NoYTUxMi5jCi0tLS0gb3BlbnNzbC0x LjEuMS1wcmU4L2NyeXB0by9zaGEvc2hhNTEyLmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjExLjAw MDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vc2hhL3NoYTUxMi5j CTIwMTgtMDctMjUgMTc6MjY6NTguNDEyNjI0ODcyICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEu MS4xLXByZTkvY3J5cHRvL3NoYS9zaGE1MTIuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9jcnlw dG8vc2hhL3NoYTUxMi5jCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2NyeXB0by9zaGEvc2hhNTEy LmMuZmlwcwkyMDE4LTA4LTIxIDE0OjE0OjEzLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wt MS4xLjEtcHJlOS9jcnlwdG8vc2hhL3NoYTUxMi5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNjY2NjYx MTIxICswMjAwCiBAQCAtOTgsNiArOTgsOSBAQCBpbnQgc2hhNTEyXzI1Nl9pbml0KFNIQTUxMl9D VFggKmMpCiAgCiAgaW50IFNIQTM4NF9Jbml0KFNIQTUxMl9DVFggKmMpCkBAIC0xMTMxMSw5ICsx MDc2MSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9jcnlwdG8vc2hhL3NoYTUxMi5j LmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2NyeXB0by9zCiAgICAgIGMtPmhbMF0gPSBVNjQoMHg2 YTA5ZTY2N2YzYmNjOTA4KTsKICAgICAgYy0+aFsxXSA9IFU2NCgweGJiNjdhZTg1ODRjYWE3M2Ip OwogICAgICBjLT5oWzJdID0gVTY0KDB4M2M2ZWYzNzJmZTk0ZjgyYik7Ci1kaWZmIC11cCBvcGVu c3NsLTEuMS4xLXByZTgvZG9jL21hbjMvRFNBX2dlbmVyYXRlX3BhcmFtZXRlcnMucG9kLmZpcHMg b3BlbnNzbC0xLjEuMS1wcmU4L2RvYy9tYW4zL0RTQV9nZW5lcmF0ZV9wYXJhbWV0ZXJzLnBvZAot LS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9kb2MvbWFuMy9EU0FfZ2VuZXJhdGVfcGFyYW1ldGVycy5w b2QuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjEyLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wt MS4xLjEtcHJlOC9kb2MvbWFuMy9EU0FfZ2VuZXJhdGVfcGFyYW1ldGVycy5wb2QJMjAxOC0wNy0y NSAxNzoyNjo1OC40MTI2MjQ4NzIgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9k b2MvbWFuMy9EU0FfZ2VuZXJhdGVfcGFyYW1ldGVycy5wb2QuZmlwcyBvcGVuc3NsLTEuMS4xLXBy ZTkvZG9jL21hbjMvRFNBX2dlbmVyYXRlX3BhcmFtZXRlcnMucG9kCistLS0gb3BlbnNzbC0xLjEu MS1wcmU5L2RvYy9tYW4zL0RTQV9nZW5lcmF0ZV9wYXJhbWV0ZXJzLnBvZC5maXBzCTIwMTgtMDgt MjEgMTQ6MTQ6MTQuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2RvYy9t YW4zL0RTQV9nZW5lcmF0ZV9wYXJhbWV0ZXJzLnBvZAkyMDE4LTA4LTIyIDEyOjE3OjUzLjY2NjY2 MTEyMSArMDIwMAogQEAgLTMwLDggKzMwLDEwIEBAIEI8Yml0cz4gaXMgdGhlIGxlbmd0aCBvZiB0 aGUgcHJpbWUgcCB0bwogIEZvciBsZW5ndGhzIHVuZGVyIDIwNDggYml0cywgdGhlIGxlbmd0aCBv ZiBxIGlzIDE2MCBiaXRzOyBmb3IgbGVuZ3RocwogIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAy MDQ4IGJpdHMsIHRoZSBsZW5ndGggb2YgcSBpcyBzZXQgdG8gMjU2IGJpdHMuCkBAIC0xMTMyNywx MCArMTA3NzcsMTAgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2RvYy9tYW4zL0RTQV9n ZW5lcmF0ZV9wYXJhbWV0ZXJzLnBvZC5maXBzIG9wZW5zc2wtMS4KICAKICBEU0FfZ2VuZXJhdGVf cGFyYW1ldGVyc19leCgpIHBsYWNlcyB0aGUgaXRlcmF0aW9uIGNvdW50IGluCiAgKkI8Y291bnRl cl9yZXQ+IGFuZCBhIGNvdW50ZXIgdXNlZCBmb3IgZmluZGluZyBhIGdlbmVyYXRvciBpbgotZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaC5maXBzIG9w ZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmgKLS0tLSBvcGVuc3NsLTEu MS4xLXByZTgvaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oLmZpcHMJMjAxOC0wNi0yMCAxNjo0ODox My4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3Ns L2NyeXB0by5oCTIwMTgtMDctMjUgMTc6MjY6NTguNDEyNjI0ODcyICswMjAwCi1AQCAtMzM4LDYg KzMzOCwxMSBAQCBpbnQgT1BFTlNTTF9pc3NlcnZpY2Uodm9pZCk7CitkaWZmIC11cCBvcGVuc3Ns LTEuMS4xLXByZTkvaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oLmZpcHMgb3BlbnNzbC0xLjEuMS1w cmU5L2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaAorLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNs dWRlL29wZW5zc2wvY3J5cHRvLmguZmlwcwkyMDE4LTA4LTIxIDE0OjE0OjE1LjAwMDAwMDAwMCAr MDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmgJMjAx OC0wOC0yMiAxMjoxNzo1My42NzM2NjEyOTIgKzAyMDAKK0BAIC0zMzYsNiArMzM2LDExIEBAIGlu dCBPUEVOU1NMX2lzc2VydmljZSh2b2lkKTsKICBpbnQgRklQU19tb2RlKHZvaWQpOwogIGludCBG SVBTX21vZGVfc2V0KGludCByKTsKICAKQEAgLTExMzQyLDkgKzEwNzkyLDkgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8uaC5maXBzIG9wZW5zc2wt MS4xLjEtcHJlOC9pbmMKICB2b2lkIE9QRU5TU0xfaW5pdCh2b2lkKTsKICAjIGlmZGVmIE9QRU5T U0xfU1lTX1VOSVgKICB2b2lkIE9QRU5TU0xfZm9ya19wcmVwYXJlKHZvaWQpOwotZGlmZiAtdXAg b3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9kaGVyci5oLmZpcHMgb3BlbnNzbC0x LjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9kaGVyci5oCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4 L2luY2x1ZGUvb3BlbnNzbC9kaGVyci5oLmZpcHMJMjAxOC0wNi0yMCAxNjo0ODoxMy4wMDAwMDAw MDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3NsL2RoZXJyLmgJ MjAxOC0wNy0yNSAxNzoyNjo1OC40MTI2MjQ4NzIgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4x LjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvZGhlcnIuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9p bmNsdWRlL29wZW5zc2wvZGhlcnIuaAorLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRlL29w ZW5zc2wvZGhlcnIuaC5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTUuMDAwMDAwMDAwICswMjAwCisr Kysgb3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9kaGVyci5oCTIwMTgtMDgtMjIg MTI6MTc6NTMuNjc0NjYxMzE2ICswMjAwCiBAQCAtMzIsNiArMzIsOSBAQCBpbnQgRVJSX2xvYWRf REhfc3RyaW5ncyh2b2lkKTsKICAjICBkZWZpbmUgREhfRl9ESF9DTVNfREVDUllQVCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDExNAogICMgIGRlZmluZSBESF9GX0RIX0NNU19TRVRfUEVF UktFWSAgICAgICAgICAgICAgICAgICAgICAgICAgMTE1CkBAIC0xMTM3MCw5ICsxMDgyMCw5IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvZGhlcnIuaC5maXBz IG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsCiAgIyAgZGVmaW5lIERIX1JfUEFSQU1FVEVSX0VOQ09E SU5HX0VSUk9SICAgICAgICAgICAgICAgICAgICAxMDUKICAjICBkZWZpbmUgREhfUl9QRUVSX0tF WV9FUlJPUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExMQogICMgIGRlZmluZSBESF9S X1NIQVJFRF9JTkZPX0VSUk9SICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEzCi1kaWZmIC11 cCBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3NsL2RoLmguZmlwcyBvcGVuc3NsLTEu MS4xLXByZTgvaW5jbHVkZS9vcGVuc3NsL2RoLmgKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgvaW5j bHVkZS9vcGVuc3NsL2RoLmguZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjEzLjAwMDAwMDAwMCArMDIw MAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvZGguaAkyMDE4LTA3LTI1 IDE3OjI2OjU4LjQxMjYyNDg3MiArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L2lu Y2x1ZGUvb3BlbnNzbC9kaC5oLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNz bC9kaC5oCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9kaC5oLmZpcHMJ MjAxOC0wOC0yMSAxNDoxNDoxNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXBy ZTkvaW5jbHVkZS9vcGVuc3NsL2RoLmgJMjAxOC0wOC0yMiAxMjoxNzo1My42Nzc2NjEzOTAgKzAy MDAKIEBAIC0zMSw2ICszMSw3IEBAIGV4dGVybiAiQyIgewogICMgZW5kaWYKICAKQEAgLTExMzgx LDkgKzEwODMxLDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNz bC9kaC5oLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUKICAKICAjIGRlZmluZSBESF9G TEFHX0NBQ0hFX01PTlRfUCAgICAgMHgwMQogIAotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4 L2luY2x1ZGUvb3BlbnNzbC9kc2FlcnIuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRl L29wZW5zc2wvZHNhZXJyLmgKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3Ns L2RzYWVyci5oLmZpcHMJMjAxOC0wNi0yMCAxNjo0ODoxMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBv cGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3NsL2RzYWVyci5oCTIwMTgtMDctMjUgMTc6 MjY6NTguNDEyNjI0ODcyICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvaW5jbHVk ZS9vcGVuc3NsL2RzYWVyci5oLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNz bC9kc2FlcnIuaAorLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvZHNhZXJy LmguZmlwcwkyMDE4LTA4LTIxIDE0OjE0OjE1LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wt MS4xLjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvZHNhZXJyLmgJMjAxOC0wOC0yMiAxMjoxNzo1My42 ODU2NjE1ODYgKzAyMDAKIEBAIC0yNSw4ICsyNSwxMSBAQCBpbnQgRVJSX2xvYWRfRFNBX3N0cmlu Z3Modm9pZCk7CiAgICovCiAgIyAgZGVmaW5lIERTQV9GX0RTQVBBUkFNU19QUklOVCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAxMDAKQEAgLTExNDA5LDkgKzEwODU5LDkgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9kc2FlcnIuaC5maXBzIG9wZW5zc2wt MS4xLjEtcHJlOC9pbmMKICAjICBkZWZpbmUgRFNBX1JfUEFSQU1FVEVSX0VOQ09ESU5HX0VSUk9S ICAgICAgICAgICAgICAgICAgIDEwNQogICMgIGRlZmluZSBEU0FfUl9RX05PVF9QUklNRSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEzCiAgIyAgZGVmaW5lIERTQV9SX1NFRURfTEVO X1NNQUxMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTAKLWRpZmYgLXVwIG9wZW5zc2wt MS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvZHNhLmguZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgv aW5jbHVkZS9vcGVuc3NsL2RzYS5oCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3Bl bnNzbC9kc2EuaC5maXBzCTIwMTgtMDYtMjAgMTY6NDg6MTMuMDAwMDAwMDAwICswMjAwCi0rKysg b3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9kc2EuaAkyMDE4LTA3LTI1IDE3OjI2 OjU4LjQxMzYyNDg5NSArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUv b3BlbnNzbC9kc2EuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvZHNh LmgKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvaW5jbHVkZS9vcGVuc3NsL2RzYS5oLmZpcHMJMjAx OC0wOC0yMSAxNDoxNDoxNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkv aW5jbHVkZS9vcGVuc3NsL2RzYS5oCTIwMTgtMDgtMjIgMTI6MTc6NTMuNjg2NjYxNjExICswMjAw CiBAQCAtMzEsNiArMzEsNyBAQCBleHRlcm4gIkMiIHsKICAjIGVuZGlmCiAgCkBAIC0xMTQyMCwy MSArMTA4NzAsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3Ns L2RzYS5oLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZAogIAogICMgZGVmaW5lIERTQV9G TEFHX0NBQ0hFX01PTlRfUCAgIDB4MDEKICAjIGlmIE9QRU5TU0xfQVBJX0NPTVBBVCA8IDB4MTAx MDAwMDBMCi1AQCAtMTQxLDkgKzE0Miw5IEBAIGludCBEU0FwYXJhbXNfcHJpbnRfZnAoRklMRSAq ZnAsIGNvbnN0IEQKLSBpbnQgRFNBX3ByaW50X2ZwKEZJTEUgKmJwLCBjb25zdCBEU0EgKngsIGlu dCBvZmYpOwotICMgZW5kaWYKLSAKLS0jIGRlZmluZSBEU1NfcHJpbWVfY2hlY2tzIDUwCi0rIyBk ZWZpbmUgRFNTX3ByaW1lX2NoZWNrcyA2NAotIC8qCi0tICogUHJpbWFsaXR5IHRlc3QgYWNjb3Jk aW5nIHRvIEZJUFMgUFVCIDE4NlstMV0sIEFwcGVuZGl4IDIuMTogNTAgcm91bmRzIG9mCi0rICog UHJpbWFsaXR5IHRlc3QgYWNjb3JkaW5nIHRvIEZJUFMgUFVCIDE4Ni00LCBBcHBlbmRpeCAyLjE6 IDY0IHJvdW5kcyBvZgotICAqIFJhYmluLU1pbGxlcgotICAqLwotICMgZGVmaW5lIERTQV9pc19w cmltZShuLCBjYWxsYmFjaywgY2JfYXJnKSBcCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgv aW5jbHVkZS9vcGVuc3NsL2V2cGVyci5oLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUv b3BlbnNzbC9ldnBlcnIuaAotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wv ZXZwZXJyLmguZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjEzLjAwMDAwMDAwMCArMDIwMAotKysrIG9w ZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvZXZwZXJyLmgJMjAxOC0wNy0yNSAxNzoy Njo1OC40MTM2MjQ4OTUgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRl L29wZW5zc2wvZXZwZXJyLmguZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvaW5jbHVkZS9vcGVuc3Ns L2V2cGVyci5oCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9ldnBlcnIu aC5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTUuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0x LjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9ldnBlcnIuaAkyMDE4LTA4LTIyIDEyOjE3OjUzLjY4 NzY2MTYzNSArMDIwMAogQEAgLTI1LDYgKzI1LDcgQEAgaW50IEVSUl9sb2FkX0VWUF9zdHJpbmdz KHZvaWQpOwogICMgZGVmaW5lIEVWUF9GX0FFU19PQ0JfQ0lQSEVSICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAxNjkKICAjIGRlZmluZSBFVlBfRl9BRVNfVDRfSU5JVF9LRVkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMTc4CkBAIC0xMTQ1OSw5ICsxMDg5Nyw5IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvZXZwZXJyLmguZmlwcyBvcGVuc3NsLTEu MS4xLXByZTgvaW5jCiAgIyBkZWZpbmUgRVZQX1JfVU5LTk9XTl9DSVBIRVIgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDE2MAogICMgZGVmaW5lIEVWUF9SX1VOS05PV05fRElHRVNUICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAxNjEKICAjIGRlZmluZSBFVlBfUl9VTktOT1dOX09QVElP TiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTY5Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTgvaW5jbHVkZS9vcGVuc3NsL2ZpcHMuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNs dWRlL29wZW5zc2wvZmlwcy5oCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNz bC9maXBzLmguZmlwcwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQxMzYyNDg5NSArMDIwMAotKysrIG9w ZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvZmlwcy5oCTIwMTgtMDctMjUgMTc6MjY6 NTguNDEzNjI0ODk1ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvaW5jbHVkZS9v cGVuc3NsL2ZpcHMuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvZmlw cy5oCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9maXBzLmguZmlwcwky MDE4LTA4LTIyIDEyOjE3OjUzLjY4NzY2MTYzNSArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJl OS9pbmNsdWRlL29wZW5zc2wvZmlwcy5oCTIwMTgtMDgtMjIgMTI6MTc6NTMuNjg3NjYxNjM1ICsw MjAwCiBAQCAtMCwwICsxLDE4NiBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChj KSAyMDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMTE2 NDksOSArMTEwODcsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVu c3NsL2ZpcHMuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdQogK30KICsjIGVuZGlmCiAr I2VuZGlmCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3NsL2ZpcHNf cmFuZC5oLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9maXBzX3JhbmQu aAotLS0tIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvZmlwc19yYW5kLmguZmlw cwkyMDE4LTA3LTI1IDE3OjI2OjU4LjQxMzYyNDg5NSArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEt cHJlOC9pbmNsdWRlL29wZW5zc2wvZmlwc19yYW5kLmgJMjAxOC0wNy0yNSAxNzoyNjo1OC40MTM2 MjQ4OTUgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRlL29wZW5zc2wv Zmlwc19yYW5kLmguZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvaW5jbHVkZS9vcGVuc3NsL2ZpcHNf cmFuZC5oCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9maXBzX3JhbmQu aC5maXBzCTIwMTgtMDgtMjIgMTI6MTc6NTMuNjg4NjYxNjU5ICswMjAwCisrKysgb3BlbnNzbC0x LjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9maXBzX3JhbmQuaAkyMDE4LTA4LTIyIDEyOjE3OjUz LjY4ODY2MTY1OSArMDIwMAogQEAgLTAsMCArMSwxNDUgQEAKICsvKiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAq IENvcHlyaWdodCAoYykgMjAwMyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNl cnZlZC4KQEAgLTExNzk4LDEwICsxMTIzNiwxMCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXBy ZTgvaW5jbHVkZS9vcGVuc3NsL2ZpcHNfcmFuZC5oLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4Lwog KyMgIGVuZGlmCiArIyBlbmRpZgogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4 L2luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oLmluLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4 L2luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oLmluCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4 L2luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oLmluLmZpcHMJMjAxOC0wNi0yMCAxNjo0ODox My4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3Ns L29wZW5zc2xjb25mLmguaW4JMjAxOC0wNy0yNSAxNzoyNjo1OC40MTM2MjQ4OTUgKzAyMDAKLUBA IC0xMzgsNiArMTM4LDExIEBAIGV4dGVybiAiQyIgeworZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1w cmU5L2luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oLmluLmZpcHMgb3BlbnNzbC0xLjEuMS1w cmU5L2luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oLmluCistLS0gb3BlbnNzbC0xLjEuMS1w cmU5L2luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5oLmluLmZpcHMJMjAxOC0wOC0yMSAxNDox NDoxNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvaW5jbHVkZS9vcGVu c3NsL29wZW5zc2xjb25mLmguaW4JMjAxOC0wOC0yMiAxMjoxNzo1My42ODg2NjE2NTkgKzAyMDAK K0BAIC0xNTAsNiArMTUwLDExIEBAIGV4dGVybiAiQyIgewogIAogICNkZWZpbmUgUkM0X0lOVCB7 LSAkY29uZmlne3JjNF9pbnR9IC19CiAgCkBAIC0xMTgxMyw5ICsxMTI1MSw5IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaC5pbi5maXBz IG9wZW5zc2wtMS4xLjEtCiAgI2lmZGVmICBfX2NwbHVzcGx1cwogIH0KICAjZW5kaWYKLWRpZmYg LXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvcmFuZGVyci5oLmZpcHMgb3Bl bnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9yYW5kZXJyLmgKLS0tLSBvcGVuc3NsLTEu MS4xLXByZTgvaW5jbHVkZS9vcGVuc3NsL3JhbmRlcnIuaC5maXBzCTIwMTgtMDYtMjAgMTY6NDg6 MTMuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNz bC9yYW5kZXJyLmgJMjAxOC0wNy0yNSAxNzoyNjo1OC40MTM2MjQ4OTUgKzAyMDAKK2RpZmYgLXVw IG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvcmFuZGVyci5oLmZpcHMgb3BlbnNz bC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9yYW5kZXJyLmgKKy0tLSBvcGVuc3NsLTEuMS4x LXByZTkvaW5jbHVkZS9vcGVuc3NsL3JhbmRlcnIuaC5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTUu MDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9y YW5kZXJyLmgJMjAxOC0wOC0yMiAxMjoxNzo1My42ODk2NjE2ODQgKzAyMDAKIEBAIC0zNSw2ICsz NSw3IEBAIGludCBFUlJfbG9hZF9SQU5EX3N0cmluZ3Modm9pZCk7CiAgIyBkZWZpbmUgUkFORF9G X1JBTkRfRFJCR19TRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwNAogICMgZGVmaW5l IFJBTkRfRl9SQU5EX0RSQkdfU0VUX0RFRkFVTFRTICAgICAgICAgICAgICAgICAgICAxMjEKQEAg LTExODI0LDEwICsxMTI2MiwxMCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVk ZS9vcGVuc3NsL3JhbmRlcnIuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9pbgogICMgZGVmaW5l IFJBTkRfRl9SQU5EX0xPQURfRklMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTEKICAj IGRlZmluZSBSQU5EX0ZfUkFORF9QT09MX0FDUVVJUkVfRU5UUk9QWSAgICAgICAgICAgICAgICAg MTIyCiAgIyBkZWZpbmUgUkFORF9GX1JBTkRfUE9PTF9BREQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDEwMwotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9y YW5kLmguZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3NsL3JhbmQuaAotLS0t IG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvcmFuZC5oLmZpcHMJMjAxOC0wNi0y MCAxNjo0ODoxMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVk ZS9vcGVuc3NsL3JhbmQuaAkyMDE4LTA3LTI1IDE3OjI2OjU4LjQxMzYyNDg5NSArMDIwMAotQEAg LTY4LDYgKzY4LDExIEBAIERFUFJFQ0FURURJTl8xXzFfMCh2b2lkIFJBTkRfc2NyZWVuKHZvaWQK K2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvcmFuZC5oLmZpcHMg b3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9yYW5kLmgKKy0tLSBvcGVuc3NsLTEu MS4xLXByZTkvaW5jbHVkZS9vcGVuc3NsL3JhbmQuaC5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTUu MDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9y YW5kLmgJMjAxOC0wOC0yMiAxMjoxNzo1My42ODk2NjE2ODQgKzAyMDAKK0BAIC02OSw2ICs2OSwx MSBAQCBERVBSRUNBVEVESU5fMV8xXzAodm9pZCBSQU5EX3NjcmVlbih2b2lkCiAgREVQUkVDQVRF RElOXzFfMV8wKGludCBSQU5EX2V2ZW50KFVJTlQsIFdQQVJBTSwgTFBBUkFNKSkKICAjIGVuZGlm CiAgCkBAIC0xMTgzOSw5ICsxMTI3Nyw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9p bmNsdWRlL29wZW5zc2wvcmFuZC5oLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1CiAgCiAg I2lmZGVmICBfX2NwbHVzcGx1cwogIH0KLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNs dWRlL29wZW5zc2wvcnNhZXJyLmguZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvaW5jbHVkZS9vcGVu c3NsL3JzYWVyci5oCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9yc2Fl cnIuaC5maXBzCTIwMTgtMDYtMjAgMTY6NDg6MTMuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNz bC0xLjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9yc2FlcnIuaAkyMDE4LTA3LTI1IDE3OjI2OjU4 LjQxMzYyNDg5NSArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3Bl bnNzbC9yc2FlcnIuaC5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvcnNh ZXJyLmgKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvaW5jbHVkZS9vcGVuc3NsL3JzYWVyci5oLmZp cHMJMjAxOC0wOC0yMSAxNDoxNDoxNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4x LXByZTkvaW5jbHVkZS9vcGVuc3NsL3JzYWVyci5oCTIwMTgtMDgtMjIgMTI6MTc6NTMuNjkxNjYx NzMzICswMjAwCiBAQCAtMjEsNiArMjEsNyBAQCBpbnQgRVJSX2xvYWRfUlNBX3N0cmluZ3Modm9p ZCk7CiAgICovCiAgIyBkZWZpbmUgUlNBX0ZfQ0hFQ0tfUEFERElOR19NRCAgICAgICAgICAgICAg ICAgICAgICAgICAgIDE0MApAQCAtMTE4OTcsOSArMTEzMzUsOSBAQCBkaWZmIC11cCBvcGVuc3Ns LTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3NsL3JzYWVyci5oLmZpcHMgb3BlbnNzbC0xLjEuMS1w cmU4L2luYwogICMgZGVmaW5lIFJTQV9SX1VOU1VQUE9SVEVEX1NJR05BVFVSRV9UWVBFICAgICAg ICAgICAgICAgICAxNTUKICAjIGRlZmluZSBSU0FfUl9WQUxVRV9NSVNTSU5HICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMTQ3CiAgIyBkZWZpbmUgUlNBX1JfV1JPTkdfU0lHTkFUVVJFX0xF TkdUSCAgICAgICAgICAgICAgICAgICAgIDExOQotZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4 L3NzbC9zc2xfY2lwaC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfY2lwaC5jCi0t LS0gb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfY2lwaC5jLmZpcHMJMjAxOC0wNy0yNSAxNzoy Njo1OC40MDA2MjQ1ODQgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvc3NsL3NzbF9jaXBo LmMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MTQ2MjQ5MTkgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wt MS4xLjEtcHJlOS9zc2wvc3NsX2NpcGguYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOS9zc2wvc3Ns X2NpcGguYworLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9zc2wvc3NsX2NpcGguYy5maXBzCTIwMTgt MDgtMjIgMTI6MTc6NTMuNDE0NjU0OTQ3ICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L3Nz bC9zc2xfY2lwaC5jCTIwMTgtMDgtMjIgMTI6MTc6NTMuNjkxNjYxNzMzICswMjAwCiBAQCAtMzg1 LDcgKzM4NSw3IEBAIGludCBzc2xfbG9hZF9jaXBoZXJzKHZvaWQpCiAgICAgICAgICB9CiAgICAg IH0KQEAgLTExOTA5LDcgKzExMzQ3LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L3Nz bC9zc2xfY2lwaC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfY2lwaC4KICAgICAg ICAgIHJldHVybiAwOwogICAgICBpZiAoIW9zc2xfYXNzZXJ0KHNzbF9kaWdlc3RfbWV0aG9kc1tT U0xfTURfU0hBMV9JRFhdICE9IE5VTEwpKQogICAgICAgICAgcmV0dXJuIDA7Ci1AQCAtNTYwLDYg KzU2MCw5IEBAIGludCBzc2xfY2lwaGVyX2dldF9ldnAoY29uc3QgU1NMX1NFU1NJT04KK0BAIC01 NTcsNiArNTU3LDkgQEAgaW50IHNzbF9jaXBoZXJfZ2V0X2V2cChjb25zdCBTU0xfU0VTU0lPTgog ICAgICAgICAgICAgIHMtPnNzbF92ZXJzaW9uIDwgVExTMV9WRVJTSU9OKQogICAgICAgICAgICAg IHJldHVybiAxOwogIApAQCAtMTE5MTksNyArMTEzNTcsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEu MS4xLXByZTgvc3NsL3NzbF9jaXBoLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvc3NsL3NzbF9j aXBoLgogICAgICAgICAgaWYgKGMtPmFsZ29yaXRobV9lbmMgPT0gU1NMX1JDNCAmJgogICAgICAg ICAgICAgIGMtPmFsZ29yaXRobV9tYWMgPT0gU1NMX01ENSAmJgogICAgICAgICAgICAgIChldnAg PSBFVlBfZ2V0X2NpcGhlcmJ5bmFtZSgiUkM0LUhNQUMtTUQ1IikpKQotQEAgLTY2OCw2ICs2NzEs OCBAQCBzdGF0aWMgdm9pZCBzc2xfY2lwaGVyX2NvbGxlY3RfY2lwaGVycyhjCitAQCAtNjY1LDYg KzY2OCw4IEBAIHN0YXRpYyB2b2lkIHNzbF9jaXBoZXJfY29sbGVjdF9jaXBoZXJzKGMKICAgICAg ICAgIC8qIGRyb3AgdGhvc2UgdGhhdCB1c2UgYW55IG9mIHRoYXQgaXMgbm90IGF2YWlsYWJsZSAq LwogICAgICAgICAgaWYgKGMgPT0gTlVMTCB8fCAhYy0+dmFsaWQpCiAgICAgICAgICAgICAgY29u dGludWU7CkBAIC0xMTkyOCw3ICsxMTM2Niw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJl OC9zc2wvc3NsX2NpcGguYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9zc2wvc3NsX2NpcGguCiAg ICAgICAgICBpZiAoKGMtPmFsZ29yaXRobV9ta2V5ICYgZGlzYWJsZWRfbWtleSkgfHwKICAgICAg ICAgICAgICAoYy0+YWxnb3JpdGhtX2F1dGggJiBkaXNhYmxlZF9hdXRoKSB8fAogICAgICAgICAg ICAgIChjLT5hbGdvcml0aG1fZW5jICYgZGlzYWJsZWRfZW5jKSB8fAotQEAgLTE2NzEsNyArMTY3 Niw4IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xfY3JlYXRlX2NpcGhlcl8KK0BAIC0xNjY4 LDcgKzE2NzMsOCBAQCBTVEFDS19PRihTU0xfQ0lQSEVSKSAqc3NsX2NyZWF0ZV9jaXBoZXJfCiAg ICAgICAqIHRvIHRoZSByZXN1bHRpbmcgcHJlY2VkZW5jZSB0byB0aGUgU1RBQ0tfT0YoU1NMX0NJ UEhFUikuCiAgICAgICAqLwogICAgICBmb3IgKGN1cnIgPSBoZWFkOyBjdXJyICE9IE5VTEw7IGN1 cnIgPSBjdXJyLT5uZXh0KSB7CkBAIC0xMTkzOCw5ICsxMTM3Niw5IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4xLjEtcHJlOC9zc2wvc3NsX2NpcGguYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9zc2wv c3NsX2NpcGguCiAgICAgICAgICAgICAgaWYgKCFza19TU0xfQ0lQSEVSX3B1c2goY2lwaGVyc3Rh Y2ssIGN1cnItPmNpcGhlcikpIHsKICAgICAgICAgICAgICAgICAgT1BFTlNTTF9mcmVlKGNvX2xp c3QpOwogICAgICAgICAgICAgICAgICBza19TU0xfQ0lQSEVSX2ZyZWUoY2lwaGVyc3RhY2spOwot ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfaW5pdC5jLmZpcHMgb3BlbnNzbC0x LjEuMS1wcmU4L3NzbC9zc2xfaW5pdC5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xf aW5pdC5jLmZpcHMJMjAxOC0wNi0yMCAxNjo0ODoxMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVu c3NsLTEuMS4xLXByZTgvc3NsL3NzbF9pbml0LmMJMjAxOC0wNy0yNSAxNzoyNjo1OC40MTQ2MjQ5 MTkgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9zc2wvc3NsX2luaXQuYy5maXBz IG9wZW5zc2wtMS4xLjEtcHJlOS9zc2wvc3NsX2luaXQuYworLS0tIG9wZW5zc2wtMS4xLjEtcHJl OS9zc2wvc3NsX2luaXQuYy5maXBzCTIwMTgtMDgtMjEgMTQ6MTQ6MTUuMDAwMDAwMDAwICswMjAw CisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L3NzbC9zc2xfaW5pdC5jCTIwMTgtMDgtMjIgMTI6MTc6 NTMuNjkxNjYxNzMzICswMjAwCiBAQCAtMjcsNiArMjcsMTAgQEAgREVGSU5FX1JVTl9PTkNFX1NU QVRJQyhvc3NsX2luaXRfc3NsX2JhcwogICAgICBmcHJpbnRmKHN0ZGVyciwgIk9QRU5TU0xfSU5J VDogb3NzbF9pbml0X3NzbF9iYXNlOiAiCiAgICAgICAgICAgICAgIkFkZGluZyBTU0wgY2lwaGVy cyBhbmQgZGlnZXN0c1xuIik7CkBAIC0xMTk4NCwxMCArMTE0MjIsMTAgQEAgZGlmZiAtdXAgb3Bl bnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfaW5pdC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU4L3Nz bC9zc2xfaW5pdC4KICAjaWZuZGVmIE9QRU5TU0xfTk9fQ09NUAogICMgaWZkZWYgT1BFTlNTTF9J TklUX0RFQlVHCiAgICAgIGZwcmludGYoc3RkZXJyLCAiT1BFTlNTTF9JTklUOiBvc3NsX2luaXRf c3NsX2Jhc2U6ICIKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9zc2wvc3NsX2xpYi5jLmZp cHMgb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfbGliLmMKLS0tLSBvcGVuc3NsLTEuMS4xLXBy ZTgvc3NsL3NzbF9saWIuYy5maXBzCTIwMTgtMDctMjUgMTc6MjY6NTguNDAwNjI0NTg0ICswMjAw Ci0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfbGliLmMJMjAxOC0wNy0yNSAxNzoyNjo1 OC40MTQ2MjQ5MTkgKzAyMDAKLUBAIC0yODg1LDYgKzI4ODUsMTEgQEAgU1NMX0NUWCAqU1NMX0NU WF9uZXcoY29uc3QgU1NMX01FVEhPRCAqbQorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L3Nz bC9zc2xfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTkvc3NsL3NzbF9saWIuYworLS0tIG9w ZW5zc2wtMS4xLjEtcHJlOS9zc2wvc3NsX2xpYi5jLmZpcHMJMjAxOC0wOC0yMiAxMjoxNzo1My40 MTU2NTQ5NzIgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvc3NsL3NzbF9saWIuYwkyMDE4 LTA4LTIyIDEyOjE3OjUzLjY5MjY2MTc1NyArMDIwMAorQEAgLTI4ODcsNiArMjg4NywxMSBAQCBT U0xfQ1RYICpTU0xfQ1RYX25ldyhjb25zdCBTU0xfTUVUSE9EICptCiAgICAgIGlmICghT1BFTlNT TF9pbml0X3NzbChPUEVOU1NMX0lOSVRfTE9BRF9TU0xfU1RSSU5HUywgTlVMTCkpCiAgICAgICAg ICByZXR1cm4gTlVMTDsKICAKQEAgLTExOTk5LDcgKzExNDM3LDcgQEAgZGlmZiAtdXAgb3BlbnNz bC0xLjEuMS1wcmU4L3NzbC9zc2xfbGliLmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvc3NsL3Nz bF9saWIuYwogICAgICBpZiAoU1NMX2dldF9leF9kYXRhX1g1MDlfU1RPUkVfQ1RYX2lkeCgpIDwg MCkgewogICAgICAgICAgU1NMZXJyKFNTTF9GX1NTTF9DVFhfTkVXLCBTU0xfUl9YNTA5X1ZFUklG SUNBVElPTl9TRVRVUF9QUk9CTEVNUyk7CiAgICAgICAgICBnb3RvIGVycjsKLUBAIC0yOTQxLDEz ICsyOTQ2LDE3IEBAIFNTTF9DVFggKlNTTF9DVFhfbmV3KGNvbnN0IFNTTF9NRVRIT0QgKm0KK0BA IC0yOTQzLDEzICsyOTQ4LDE3IEBAIFNTTF9DVFggKlNTTF9DVFhfbmV3KGNvbnN0IFNTTF9NRVRI T0QgKm0KICAgICAgaWYgKHJldC0+cGFyYW0gPT0gTlVMTCkKICAgICAgICAgIGdvdG8gZXJyOwog IApAQCAtMTIwMjQsOSArMTE0NjIsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvc3Ns L3NzbF9saWIuYy5maXBzIG9wZW5zc2wtMS4xLjEtcHJlOC9zc2wvc3NsX2xpYi5jCiAgICAgIH0K ICAKICAgICAgaWYgKChyZXQtPmNhX25hbWVzID0gc2tfWDUwOV9OQU1FX25ld19udWxsKCkpID09 IE5VTEwpCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvdGVzdC9kc2F0ZXN0LmMuZmlwcyBv cGVuc3NsLTEuMS4xLXByZTgvdGVzdC9kc2F0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgv dGVzdC9kc2F0ZXN0LmMuZmlwcwkyMDE4LTA2LTIwIDE2OjQ4OjE0LjAwMDAwMDAwMCArMDIwMAot KysrIG9wZW5zc2wtMS4xLjEtcHJlOC90ZXN0L2RzYXRlc3QuYwkyMDE4LTA3LTI1IDE3OjI2OjU4 LjQxNTYyNDk0MyArMDIwMAorZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L3Rlc3QvZHNhdGVz dC5jLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L3Rlc3QvZHNhdGVzdC5jCistLS0gb3BlbnNzbC0x LjEuMS1wcmU5L3Rlc3QvZHNhdGVzdC5jLmZpcHMJMjAxOC0wOC0yMSAxNDoxNDoxNS4wMDAwMDAw MDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvdGVzdC9kc2F0ZXN0LmMJMjAxOC0wOC0y MiAxMjoxNzo1My42OTI2NjE3NTcgKzAyMDAKIEBAIC0yNCw0MSArMjQsNDIgQEAKICAjaWZuZGVm IE9QRU5TU0xfTk9fRFNBCiAgc3RhdGljIGludCBkc2FfY2IoaW50IHAsIGludCBuLCBCTl9HRU5D QiAqYXJnKTsKQEAgLTEyMTA5LDEzICsxMTU0NywxMyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTgvdGVzdC9kc2F0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvdGVzdC9kc2F0ZXN0 LgogICAgICAgICAgZ290byBlbmQ7CiAgICAgIGlmICghVEVTVF9pbnRfZXEoaCwgMikpCiAgICAg ICAgICBnb3RvIGVuZDsKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC91dGlsL2xpYmNyeXB0 by5udW0uZmlwcyBvcGVuc3NsLTEuMS4xLXByZTgvdXRpbC9saWJjcnlwdG8ubnVtCi0tLS0gb3Bl bnNzbC0xLjEuMS1wcmU4L3V0aWwvbGliY3J5cHRvLm51bS5maXBzCTIwMTgtMDYtMjAgMTY6NDg6 MTUuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L3V0aWwvbGliY3J5cHRv Lm51bQkyMDE4LTA3LTI1IDE3OjQ5OjMxLjkwOTA0MzA0OSArMDIwMAotQEAgLTQ1NjgsMyArNDU2 OCwzOCBAQCBFVlBfUEtFWV9nZXRfcmF3X3ByaXZhdGVfa2V5Ci0gRVZQX1BLRVlfYXNuMV9zZXRf Z2V0X3ByaXZfa2V5ICAgICAgICAgIDQ1MjAJMV8xXzEJRVhJU1Q6OkZVTkNUSU9OOgotIEVWUF9Q S0VZX2FzbjFfc2V0X2dldF9wdWJfa2V5ICAgICAgICAgICA0NTIxCTFfMV8xCUVYSVNUOjpGVU5D VElPTjoKLSBFVlBfUEtFWV9zZXRfYWxpYXNfdHlwZSAgICAgICAgICAgICAgICAgNDUyMgkxXzFf MQlFWElTVDo6RlVOQ1RJT046CitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvdXRpbC9saWJj cnlwdG8ubnVtLmZpcHMgb3BlbnNzbC0xLjEuMS1wcmU5L3V0aWwvbGliY3J5cHRvLm51bQorLS0t IG9wZW5zc2wtMS4xLjEtcHJlOS91dGlsL2xpYmNyeXB0by5udW0uZmlwcwkyMDE4LTA4LTIyIDEy OjE3OjUzLjY5MzY2MTc4MiArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS91dGlsL2xpYmNy eXB0by5udW0JMjAxOC0wOC0yMiAxMjoyNDo0My4xNjI2OTE2NTIgKzAyMDAKK0BAIC00NTcyLDMg KzQ1NzIsMzggQEAgRUNfUE9JTlRfc2V0X2FmZmluZV9jb29yZGluYXRlcworIEVDX1BPSU5UX2dl dF9hZmZpbmVfY29vcmRpbmF0ZXMgICAgICAgICA0NTI2CTFfMV8xCUVYSVNUOjpGVU5DVElPTjpF QworIEVDX0dST1VQX3NldF9jdXJ2ZSAgICAgICAgICAgICAgICAgICAgICA0NTI3CTFfMV8xCUVY SVNUOjpGVU5DVElPTjpFQworIEVDX0dST1VQX2dldF9jdXJ2ZSAgICAgICAgICAgICAgICAgICAg ICA0NTI4CTFfMV8xCUVYSVNUOjpGVU5DVElPTjpFQwogK0ZJUFNfZHJiZ19yZXNlZWQgICAgICAg ICAgICAgICAgICAgICAgICA2MzQ4CTFfMV8wZwlFWElTVDo6RlVOQ1RJT046CiArRklQU19zZWxm dGVzdF9jaGVjayAgICAgICAgICAgICAgICAgICAgIDYzNDkJMV8xXzBnCUVYSVNUOjpGVU5DVElP TjoKICtGSVBTX3JhbmRfc2V0X21ldGhvZCAgICAgICAgICAgICAgICAgICAgNjM1MAkxXzFfMGcJ RVhJU1Q6OkZVTkNUSU9OOgoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4xLjEtbWFuLXJlbmFtZS5w YXRjaCBiL29wZW5zc2wtMS4xLjEtbWFuLXJlbmFtZS5wYXRjaAppbmRleCA2YWVmNTQ5Li40ZTUw NGI0IDEwMDY0NAotLS0gYS9vcGVuc3NsLTEuMS4xLW1hbi1yZW5hbWUucGF0Y2gKKysrIGIvb3Bl bnNzbC0xLjEuMS1tYW4tcmVuYW1lLnBhdGNoCkBAIC0xLDI1ICsxLDcgQEAKLWRpZmYgLXVwIG9w ZW5zc2wtMS4xLjEtcHJlMi9kb2MvbWFuMS9vcGVuc3NsLnBvZC5tYW4tcmVuYW1lIG9wZW5zc2wt MS4xLjEtcHJlMi9kb2MvbWFuMS9vcGVuc3NsLnBvZAotLS0tIG9wZW5zc2wtMS4xLjEtcHJlMi9k b2MvbWFuMS9vcGVuc3NsLnBvZC5tYW4tcmVuYW1lCTIwMTgtMDItMjcgMTQ6NDA6NDMuMDAwMDAw MDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmUyL2RvYy9tYW4xL29wZW5zc2wucG9kCTIw MTgtMDMtMDYgMTU6MzI6NDQuNzM3NjUyOTM5ICswMTAwCi1AQCAtMTcwLDcgKzE3MCw3IEBAIENy ZWF0ZSBvciBleGFtaW5lIGEgTmV0c2NhcGUgY2VydGlmaWNhdGUKLSAKLSBPbmxpbmUgQ2VydGlm aWNhdGUgU3RhdHVzIFByb3RvY29sIHV0aWxpdHkuCi0gCi0tPWl0ZW0gTDxCPHBhc3N3ZD58cGFz c3dkKDEpPgotKz1pdGVtIEw8QjxwYXNzd2Q+fHNzbHBhc3N3ZCgxKT4KLSAKLSBHZW5lcmF0aW9u IG9mIGhhc2hlZCBwYXNzd29yZHMuCi0gCi1AQCAtMjAyLDcgKzIwMiw3IEBAIFB1YmxpYyBrZXkg YWxnb3JpdGhtIGNyeXB0b2dyYXBoaWMgb3BlcmEKLSAKLSBDb21wdXRlIHByaW1lIG51bWJlcnMu Ci0gCi0tPWl0ZW0gTDxCPHJhbmQ+fHJhbmQoMSk+Ci0rPWl0ZW0gTDxCPHJhbmQ+fHNzbHJhbmQo MSk+Ci0gCi0gR2VuZXJhdGUgcHNldWRvLXJhbmRvbSBieXRlcy4KLSAKLUBAIC00NDQsMTMgKzQ0 NCwxMyBAQCBMPGRocGFyYW0oMSk+LCBMPGRzYSgxKT4sIEw8ZHNhcGFyYW0oMSk+CitkaWZmIC11 cCBvcGVuc3NsLTEuMS4xLXByZTkvZG9jL21hbjEvb3BlbnNzbC5wb2QubWFuLXJlbmFtZSBvcGVu c3NsLTEuMS4xLXByZTkvZG9jL21hbjEvb3BlbnNzbC5wb2QKKy0tLSBvcGVuc3NsLTEuMS4xLXBy ZTkvZG9jL21hbjEvb3BlbnNzbC5wb2QubWFuLXJlbmFtZQkyMDE4LTA4LTIxIDE0OjE0OjEzLjAw MDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9kb2MvbWFuMS9vcGVuc3NsLnBv ZAkyMDE4LTA4LTIyIDEyOjEzOjA0LjA5MjU2ODA2NCArMDIwMAorQEAgLTQ4MiwxMyArNDgyLDEz IEBAIEw8ZGhwYXJhbSgxKT4sIEw8ZHNhKDEpPiwgTDxkc2FwYXJhbSgxKT4KICBMPGVjKDEpPiwg TDxlY3BhcmFtKDEpPiwKICBMPGVuYygxKT4sIEw8ZW5naW5lKDEpPiwgTDxlcnJzdHIoMSk+LCBM PGdlbmRzYSgxKT4sIEw8Z2VucGtleSgxKT4sCiAgTDxnZW5yc2EoMSk+LCBMPG5zZXEoMSk+LCBM PG9jc3AoMSk+LAoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4xLjEtc2VjbGV2ZWwtY2hlY2sucGF0 Y2ggYi9vcGVuc3NsLTEuMS4xLXNlY2xldmVsLWNoZWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmUwMjNjNmUKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuc3NsLTEu MS4xLXNlY2xldmVsLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK2RpZmYgLS1naXQgYS9z c2wvc3NsX2NlcnQuYyBiL3NzbC9zc2xfY2VydC5jCitpbmRleCBkZjVjZmY3OWM5Li5lNzQwYThj MjVkIDEwMDY0NAorLS0tIGEvc3NsL3NzbF9jZXJ0LmMKKysrKyBiL3NzbC9zc2xfY2VydC5jCitA QCAtOTQ3LDcgKzk0Nyw4IEBAIHN0YXRpYyBpbnQgc3NsX3NlY3VyaXR5X2RlZmF1bHRfY2FsbGJh Y2soY29uc3QgU1NMICpzLCBjb25zdCBTU0xfQ1RYICpjdHgsCisgICAgICAgICAgICAgaWYgKGxl dmVsID49IDIgJiYgYy0+YWxnb3JpdGhtX2VuYyA9PSBTU0xfUkM0KQorICAgICAgICAgICAgICAg ICByZXR1cm4gMDsKKyAgICAgICAgICAgICAvKiBMZXZlbCAzOiBmb3J3YXJkIHNlY3VyZSBjaXBo ZXJzdWl0ZXMgb25seSAqLworLSAgICAgICAgICAgIGlmIChsZXZlbCA+PSAzICYmICEoYy0+YWxn b3JpdGhtX21rZXkgJiAoU1NMX2tFREggfCBTU0xfa0VFQ0RIKSkpCisrICAgICAgICAgICAgaWYg KGxldmVsID49IDMgJiYgKGMtPm1pbl90bHMgIT0gVExTMV8zX1ZFUlNJT04gfHwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIShjLT5hbGdvcml0aG1fbWtleSAmIChTU0xfa0VESCB8 IFNTTF9rRUVDREgpKSkpCisgICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAg IGJyZWFrOworICAgICAgICAgfQoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4xLjEtc3lzdGVtLWNp cGhlcmxpc3QucGF0Y2ggYi9vcGVuc3NsLTEuMS4xLXN5c3RlbS1jaXBoZXJsaXN0LnBhdGNoCmlu ZGV4IDk4YzA4NTEuLmI4M2MyOWIgMTAwNjQ0Ci0tLSBhL29wZW5zc2wtMS4xLjEtc3lzdGVtLWNp cGhlcmxpc3QucGF0Y2gKKysrIGIvb3BlbnNzbC0xLjEuMS1zeXN0ZW0tY2lwaGVybGlzdC5wYXRj aApAQCAtMSw3ICsxLDcgQEAKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9Db25maWd1cmF0 aW9ucy91bml4LU1ha2VmaWxlLnRtcGwuc3lzdGVtLWNpcGhlcmxpc3Qgb3BlbnNzbC0xLjEuMS1w cmU4L0NvbmZpZ3VyYXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbAotLS0tIG9wZW5zc2wtMS4xLjEt cHJlOC9Db25maWd1cmF0aW9ucy91bml4LU1ha2VmaWxlLnRtcGwuc3lzdGVtLWNpcGhlcmxpc3QJ MjAxOC0wNy0yNSAxMDoxMzowNi4zMjUyMzIzNTYgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXBy ZTgvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsCTIwMTgtMDctMjUgMTA6MTg6Mjcu MDY3ODYzMjUxICswMjAwCi1AQCAtMTc2LDYgKzE3NiwxMCBAQCBNQU5ESVI9JChJTlNUQUxMVE9Q KS9zaGFyZS9tYW4KK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS9Db25maWd1cmF0aW9ucy91 bml4LU1ha2VmaWxlLnRtcGwuc3lzdGVtLWNpcGhlcmxpc3Qgb3BlbnNzbC0xLjEuMS1wcmU5L0Nv bmZpZ3VyYXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbAorLS0tIG9wZW5zc2wtMS4xLjEtcHJlOS9D b25maWd1cmF0aW9ucy91bml4LU1ha2VmaWxlLnRtcGwuc3lzdGVtLWNpcGhlcmxpc3QJMjAxOC0w OC0yMiAxMjoxNTo1NC41MjA3NDI2NzggKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvQ29u ZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsCTIwMTgtMDgtMjIgMTI6MTU6NTQuNTU0NzQz NTExICswMjAwCitAQCAtMTgwLDYgKzE4MCwxMCBAQCBNQU5ESVI9JChJTlNUQUxMVE9QKS9zaGFy ZS9tYW4KICBET0NESVI9JChJTlNUQUxMVE9QKS9zaGFyZS9kb2MvJChCQVNFTkFNRSkKICBIVE1M RElSPSQoRE9DRElSKS9odG1sCiAgCkBAIC0xMiw3ICsxMiw3IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4xLjEtcHJlOC9Db25maWd1cmF0aW9ucy91bml4LU1ha2VmaWxlLnRtcGwuc3lzdGVtLWNpcGhl cmxpc3QgCiAgIyBNQU5TVUZGSVggaXMgZm9yIHRoZSBiZW5lZml0IG9mIGFueW9uZSB3aG8gbWF5 IHdhbnQgdG8gaGF2ZSBhIHN1ZmZpeAogICMgYXBwZW5kZWQgYWZ0ZXIgdGhlIG1hbnBhZ2UgZmls ZSBzZWN0aW9uIG51bWJlci4gICJzc2wiIGlzIHBvcHVsYXIsCiAgIyByZXN1bHRpbmcgaW4gZmls ZXMgc3VjaCBhcyBjb25maWcuNXNzbCByYXRoZXIgdGhhbiBjb25maWcuNS4KLUBAIC0xOTksNiAr MjAzLDcgQEAgQ0M9JChDUk9TU19DT01QSUxFKXstICRjb25maWd7Q0N9IC19CitAQCAtMjAzLDYg KzIwNyw3IEBAIENDPSQoQ1JPU1NfQ09NUElMRSl7LSAkY29uZmlne0NDfSAtfQogIENYWD17LSAk Y29uZmlne0NYWH0gPyAiXCQoQ1JPU1NfQ09NUElMRSkkY29uZmlne0NYWH0iIDogJycgLX0KICBD UFBGTEFHUz17LSBvdXIgJGNwcGZsYWdzMSA9IGpvaW4oIiAiLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAobWFwIHsgIi1EIi4kX30gQHskY29uZmlne0NQUERFRklORVN9fSks CkBAIC0yMCwxOSArMjAsMTkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L0NvbmZpZ3Vy YXRpb25zL3VuaXgtTWFrZWZpbGUudG1wbC5zeXN0ZW0tY2lwaGVybGlzdCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKG1hcCB7ICItSSIuJF99IEB7JGNvbmZpZ3tDUFBJTkNM VURFU319KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHskY29uZmlne0NQ UEZMQUdTfX0pIC19CiAgQ0ZMQUdTPXstIGpvaW4oJyAnLCBAeyRjb25maWd7Q0ZMQUdTfX0pIC19 Ci1kaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvQ29uZmlndXJlLnN5c3RlbS1jaXBoZXJsaXN0 IG9wZW5zc2wtMS4xLjEtcHJlOC9Db25maWd1cmUKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgvQ29u ZmlndXJlLnN5c3RlbS1jaXBoZXJsaXN0CTIwMTgtMDYtMjAgMTY6NDg6MDkuMDAwMDAwMDAwICsw MjAwCi0rKysgb3BlbnNzbC0xLjEuMS1wcmU4L0NvbmZpZ3VyZQkyMDE4LTA3LTI1IDEwOjEzOjA2 LjM0NjIzMjg1NiArMDIwMAotQEAgLTIxLDcgKzIxLDcgQEAgdXNlIE9wZW5TU0w6Okdsb2I7Ci0g Ci0gIyBzZWUgSU5TVEFMTCBmb3IgaW5zdHJ1Y3Rpb25zLgorZGlmZiAtdXAgb3BlbnNzbC0xLjEu MS1wcmU5L0NvbmZpZ3VyZS5zeXN0ZW0tY2lwaGVybGlzdCBvcGVuc3NsLTEuMS4xLXByZTkvQ29u ZmlndXJlCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L0NvbmZpZ3VyZS5zeXN0ZW0tY2lwaGVybGlz dAkyMDE4LTA4LTIxIDE0OjE0OjExLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEt cHJlOS9Db25maWd1cmUJMjAxOC0wOC0yMiAxMjoxNjo0Ni42MDAwMTgzNDMgKzAyMDAKK0BAIC0y NCw3ICsyNCw3IEBAIHVzZSBPcGVuU1NMOjpHbG9iOworIG15ICRvcmlnX2RlYXRoX2hhbmRsZXIg PSAkU0lHe19fRElFX199OworICRTSUd7X19ESUVfX30gPSBcJmRlYXRoX2hhbmRsZXI7CiAgCiAt bXkgJHVzYWdlPSJVc2FnZTogQ29uZmlndXJlIFtuby08Y2lwaGVyPiAuLi5dIFtlbmFibGUtPGNp cGhlcj4gLi4uXSBbLUR4eHhdIFstbHh4eF0gWy1MeHh4XSBbLWZ4eHhdIFstS3h4eF0gW25vLWh3 LXh4eHxuby1od10gW1tuby1ddGhyZWFkc10gW1tuby1dc2hhcmVkXSBbW25vLV16bGlifHpsaWIt ZHluYW1pY10gW25vLWFzbV0gW25vLWRzb10gW25vLWVnZF0gW3NjdHBdIFszODZdIFstLXByZWZp eD1ESVJdIFstLW9wZW5zc2xkaXI9T1BFTlNTTERJUl0gWy0td2l0aC14eHhbPXZ2dl1dIFstLWNv bmZpZz1GSUxFXSBvcy9jb21waWxlcls6ZmxhZ3NdXG4iOwogK215ICR1c2FnZT0iVXNhZ2U6IENv bmZpZ3VyZSBbbm8tPGNpcGhlcj4gLi4uXSBbZW5hYmxlLTxjaXBoZXI+IC4uLl0gWy1EeHh4XSBb LWx4eHhdIFstTHh4eF0gWy1meHh4XSBbLUt4eHhdIFtuby1ody14eHh8bm8taHddIFtbbm8tXXRo cmVhZHNdIFtbbm8tXXNoYXJlZF0gW1tuby1demxpYnx6bGliLWR5bmFtaWNdIFtuby1hc21dIFtu by1kc29dIFtuby1lZ2RdIFtzY3RwXSBbMzg2XSBbLS1wcmVmaXg9RElSXSBbLS1vcGVuc3NsZGly PU9QRU5TU0xESVJdIFstLXN5c3RlbS1jaXBoZXJzLWZpbGU9U1lTVEVNQ0lQSEVSRklMRV0gWy0t d2l0aC14eHhbPXZ2dl1dIFstLWNvbmZpZz1GSUxFXSBvcy9jb21waWxlcls6ZmxhZ3NdXG4iOwog IAogICMgT3B0aW9uczoKICAjCi1AQCAtMzgsNiArMzgsOSBAQCBteSAkdXNhZ2U9IlVzYWdlOiBD b25maWd1cmUgW25vLTxjaXBoZXI+CitAQCAtNDEsNiArNDEsOSBAQCBteSAkdXNhZ2U9IlVzYWdl OiBDb25maWd1cmUgW25vLTxjaXBoZXI+CiAgIyAgICAgICAgICAgICAgIFRoaXMgYmVjb21lcyB0 aGUgdmFsdWUgb2YgT1BFTlNTTERJUiBpbiBNYWtlZmlsZSBhbmQgaW4gQy4KICAjICAgICAgICAg ICAgICAgKERlZmF1bHQ6IFBSRUZJWC9zc2wpCiAgIwpAQCAtNDIsNyArNDIsNyBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMS4xLXByZTgvQ29uZmlndXJlLnN5c3RlbS1jaXBoZXJsaXN0IG9wZW5zc2wt MS4xLjEtcHJlOC9Db25maQogICMgLS1jcm9zcy1jb21waWxlLXByZWZpeCBBZGQgc3BlY2lmaWVk IHByZWZpeCB0byBiaW51dGlscyBjb21wb25lbnRzLgogICMKICAjIC0tYXBpICAgICAgICAgT25l IG9mIDAuOS44LCAxLjAuMCBvciAxLjEuMC4gIERvIG5vdCBjb21waWxlIHN1cHBvcnQgZm9yCi1A QCAtMjkxLDYgKzI5NCw3IEBAICRjb25maWd7cHJlZml4fT0iIjsKK0BAIC0yOTUsNiArMjk4LDcg QEAgJGNvbmZpZ3twcmVmaXh9PSIiOwogICRjb25maWd7b3BlbnNzbGRpcn09IiI7CiAgJGNvbmZp Z3twcm9jZXNzb3J9PSIiOwogICRjb25maWd7bGliZGlyfT0iIjsKQEAgLTUwLDcgKzUwLDcgQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L0NvbmZpZ3VyZS5zeXN0ZW0tY2lwaGVybGlzdCBv cGVuc3NsLTEuMS4xLXByZTgvQ29uZmkKICBteSAkYXV0b190aHJlYWRzPTE7ICAgICMgZW5hYmxl IHRocmVhZHMgYXV0b21hdGljYWxseT8gdHJ1ZSBieSBkZWZhdWx0CiAgbXkgJGRlZmF1bHRfcmFu bGliOwogIAotQEAgLTgxNCw2ICs4MTgsMTAgQEAgd2hpbGUgKEBhcmd2Y29weSkKK0BAIC04MTcs NiArODIxLDEwIEBAIHdoaWxlIChAYXJndmNvcHkpCiAgCQkJICAgIHB1c2ggQHNlZWRfc291cmNl cywgJHg7CiAgCQkJICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICB9CkBAIC02MSw3ICs2 MSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9Db25maWd1cmUuc3lzdGVtLWNpcGhl cmxpc3Qgb3BlbnNzbC0xLjEuMS1wcmU4L0NvbmZpCiAgCQllbHNpZiAoL14tLWNyb3NzLWNvbXBp bGUtcHJlZml4PSguKikkLykKICAJCQl7CiAgCQkJJHVzZXJ7Q1JPU1NfQ09NUElMRX09JDE7Ci1A QCAtMTAwMCw2ICsxMDA4LDggQEAgaWYgKCR0YXJnZXQgZXEgIkhBU0giKSB7CitAQCAtMTAwMyw2 ICsxMDExLDggQEAgaWYgKCR0YXJnZXQgZXEgIkhBU0giKSB7CiAgICAgIGV4aXQgMDsKICB9CiAg CkBAIC03MCwxMCArNzAsMTAgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L0NvbmZpZ3Vy ZS5zeXN0ZW0tY2lwaGVybGlzdCBvcGVuc3NsLTEuMS4xLXByZTgvQ29uZmkKICBwcmludCAiQ29u ZmlndXJpbmcgT3BlblNTTCB2ZXJzaW9uICRjb25maWd7dmVyc2lvbn0gKCRjb25maWd7dmVyc2lv bl9udW19KSAiOwogIHByaW50ICJmb3IgJHRhcmdldFxuIjsKICAKLWRpZmYgLXVwIG9wZW5zc2wt MS4xLjEtcHJlOC9kb2MvbWFuMS9jaXBoZXJzLnBvZC5zeXN0ZW0tY2lwaGVybGlzdCBvcGVuc3Ns LTEuMS4xLXByZTgvZG9jL21hbjEvY2lwaGVycy5wb2QKLS0tLSBvcGVuc3NsLTEuMS4xLXByZTgv ZG9jL21hbjEvY2lwaGVycy5wb2Quc3lzdGVtLWNpcGhlcmxpc3QJMjAxOC0wNi0yMCAxNjo0ODox Mi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXByZTgvZG9jL21hbjEvY2lwaGVy cy5wb2QJMjAxOC0wNy0yNSAxMDoxMzowNi4zNDYyMzI4NTYgKzAyMDAKLUBAIC0yMDAsNiArMjAw LDE1IEBAIEFzIG9mIE9wZW5TU0wgMS4wLjAsIHRoZSBCPEFMTD4gY2lwaGVyIHMKK2RpZmYgLXVw IG9wZW5zc2wtMS4xLjEtcHJlOS9kb2MvbWFuMS9jaXBoZXJzLnBvZC5zeXN0ZW0tY2lwaGVybGlz dCBvcGVuc3NsLTEuMS4xLXByZTkvZG9jL21hbjEvY2lwaGVycy5wb2QKKy0tLSBvcGVuc3NsLTEu MS4xLXByZTkvZG9jL21hbjEvY2lwaGVycy5wb2Quc3lzdGVtLWNpcGhlcmxpc3QJMjAxOC0wOC0y MSAxNDoxNDoxMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvZG9jL21h bjEvY2lwaGVycy5wb2QJMjAxOC0wOC0yMiAxMjoxNTo1NC41NTU3NDM1MzYgKzAyMDAKK0BAIC0x ODIsNiArMTgyLDE1IEBAIEFzIG9mIE9wZW5TU0wgMS4wLjAsIHRoZSBCPEFMTD4gY2lwaGVyIHMK ICAKICBUaGUgY2lwaGVyIHN1aXRlcyBub3QgZW5hYmxlZCBieSBCPEFMTD4sIGN1cnJlbnRseSBC PGVOVUxMPi4KICAKQEAgLTg5LDkgKzg5LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4 L2RvYy9tYW4xL2NpcGhlcnMucG9kLnN5c3RlbS1jaXBoZXJsaXN0IG9wZW5zc2wtMS4xLjEKICA9 aXRlbSBCPEhJR0g+CiAgCiAgIkhpZ2giIGVuY3J5cHRpb24gY2lwaGVyIHN1aXRlcy4gVGhpcyBj dXJyZW50bHkgbWVhbnMgdGhvc2Ugd2l0aCBrZXkgbGVuZ3RocwotZGlmZiAtdXAgb3BlbnNzbC0x LjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9zc2wuaC5zeXN0ZW0tY2lwaGVybGlzdCBvcGVuc3Ns LTEuMS4xLXByZTgvaW5jbHVkZS9vcGVuc3NsL3NzbC5oCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4 L2luY2x1ZGUvb3BlbnNzbC9zc2wuaC5zeXN0ZW0tY2lwaGVybGlzdAkyMDE4LTA2LTIwIDE2OjQ4 OjEzLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5z c2wvc3NsLmgJMjAxOC0wNy0yNSAxMDoxMzowNi4zNDYyMzI4NTYgKzAyMDAKK2RpZmYgLXVwIG9w ZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvc3NsLmguc3lzdGVtLWNpcGhlcmxpc3Qg b3BlbnNzbC0xLjEuMS1wcmU5L2luY2x1ZGUvb3BlbnNzbC9zc2wuaAorLS0tIG9wZW5zc2wtMS4x LjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvc3NsLmguc3lzdGVtLWNpcGhlcmxpc3QJMjAxOC0wOC0y MSAxNDoxNDoxNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMS4xLXByZTkvaW5jbHVk ZS9vcGVuc3NsL3NzbC5oCTIwMTgtMDgtMjIgMTI6MTU6NTQuNTU3NzQzNTg1ICswMjAwCiBAQCAt MTg2LDYgKzE4NiwxMSBAQCBleHRlcm4gIkMiIHsKICAgKiB0aHJvd2luZyBvdXQgYW5vbnltb3Vz IGFuZCB1bmVuY3J5cHRlZCBjaXBoZXJzdWl0ZXMhIChUaGUgbGF0dGVyIGFyZSBub3QKICAgKiBh Y3R1YWxseSBlbmFibGVkIGJ5IEFMTCwgYnV0ICJBTEw6UlNBIiB3b3VsZCBlbmFibGUgc29tZSBv ZiB0aGVtLikKQEAgLTEwNCw5ICsxMDQsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgv aW5jbHVkZS9vcGVuc3NsL3NzbC5oLnN5c3RlbS1jaXBoZXJsaXN0IG9wZW5zc2wtMS4xLgogIAog IC8qIFVzZWQgaW4gU1NMX3NldF9zaHV0ZG93bigpL1NTTF9nZXRfc2h1dGRvd24oKTsgKi8KICAj IGRlZmluZSBTU0xfU0VOVF9TSFVURE9XTiAgICAgICAxCi1kaWZmIC11cCBvcGVuc3NsLTEuMS4x LXByZTgvc3NsL3NzbF9jaXBoLmMuc3lzdGVtLWNpcGhlcmxpc3Qgb3BlbnNzbC0xLjEuMS1wcmU4 L3NzbC9zc2xfY2lwaC5jCi0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfY2lwaC5jLnN5 c3RlbS1jaXBoZXJsaXN0CTIwMTgtMDYtMjAgMTY6NDg6MTMuMDAwMDAwMDAwICswMjAwCi0rKysg b3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfY2lwaC5jCTIwMTgtMDctMjUgMTA6MzY6MzYuNDc1 ODk2ODY2ICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvc3NsL3NzbF9jaXBoLmMu c3lzdGVtLWNpcGhlcmxpc3Qgb3BlbnNzbC0xLjEuMS1wcmU5L3NzbC9zc2xfY2lwaC5jCistLS0g b3BlbnNzbC0xLjEuMS1wcmU5L3NzbC9zc2xfY2lwaC5jLnN5c3RlbS1jaXBoZXJsaXN0CTIwMTgt MDgtMjEgMTQ6MTQ6MTUuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjEuMS1wcmU5L3Nz bC9zc2xfY2lwaC5jCTIwMTgtMDgtMjIgMTI6MTU6NTQuNTU3NzQzNTg1ICswMjAwCiBAQCAtOSw2 ICs5LDggQEAKICAgKiBodHRwczovL3d3dy5vcGVuc3NsLm9yZy9zb3VyY2UvbGljZW5zZS5odG1s CiAgICovCkBAIC0xMTYsNyArMTE2LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L3Nz bC9zc2xfY2lwaC5jLnN5c3RlbS1jaXBoZXJsaXN0IG9wZW5zc2wtMS4xLjEtcHJlOC8KICAjaW5j bHVkZSA8c3RkaW8uaD4KICAjaW5jbHVkZSA8Y3R5cGUuaD4KICAjaW5jbHVkZSA8b3BlbnNzbC9v YmplY3RzLmg+Ci1AQCAtMTQwMCw2ICsxNDAyLDUzIEBAIGludCBTU0xfc2V0X2NpcGhlcnN1aXRl cyhTU0wgKnMsIGNvbnN0IGMKK0BAIC0xMzk3LDYgKzEzOTksNTMgQEAgaW50IFNTTF9zZXRfY2lw aGVyc3VpdGVzKFNTTCAqcywgY29uc3QgYwogICAgICByZXR1cm4gcmV0OwogIH0KICAKQEAgLTE3 MCw3ICsxNzAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvc3NsL3NzbF9jaXBoLmMu c3lzdGVtLWNpcGhlcmxpc3Qgb3BlbnNzbC0xLjEuMS1wcmU4LwogIFNUQUNLX09GKFNTTF9DSVBI RVIpICpzc2xfY3JlYXRlX2NpcGhlcl9saXN0KGNvbnN0IFNTTF9NRVRIT0QgKnNzbF9tZXRob2Qs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RBQ0tfT0Yo U1NMX0NJUEhFUikgKnRsczEzX2NpcGhlcnN1aXRlcywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTVEFDS19PRihTU0xfQ0lQSEVSKSAqKmNpcGhlcl9saXN0 LAotQEAgLTE0MTMsMTUgKzE0NjIsMjUgQEAgU1RBQ0tfT0YoU1NMX0NJUEhFUikgKnNzbF9jcmVh dGVfY2lwaGVyXworQEAgLTE0MTAsMTUgKzE0NTksMjUgQEAgU1RBQ0tfT0YoU1NMX0NJUEhFUikg KnNzbF9jcmVhdGVfY2lwaGVyXwogICAgICBjb25zdCBjaGFyICpydWxlX3A7CiAgICAgIENJUEhF Ul9PUkRFUiAqY29fbGlzdCA9IE5VTEwsICpoZWFkID0gTlVMTCwgKnRhaWwgPSBOVUxMLCAqY3Vy cjsKICAgICAgY29uc3QgU1NMX0NJUEhFUiAqKmNhX2xpc3QgPSBOVUxMOwpAQCAtMTk4LDcgKzE5 OCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9zc2wvc3NsX2NpcGguYy5zeXN0ZW0t Y2lwaGVybGlzdCBvcGVuc3NsLTEuMS4xLXByZTgvCiAgI2VuZGlmCiAgCiAgICAgIC8qCi1AQCAt MTQ0NCw3ICsxNTAzLDcgQEAgU1RBQ0tfT0YoU1NMX0NJUEhFUikgKnNzbF9jcmVhdGVfY2lwaGVy XworQEAgLTE0NDEsNyArMTUwMCw3IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xfY3JlYXRl X2NpcGhlcl8KICAgICAgY29fbGlzdCA9IE9QRU5TU0xfbWFsbG9jKHNpemVvZigqY29fbGlzdCkg KiBudW1fb2ZfY2lwaGVycyk7CiAgICAgIGlmIChjb19saXN0ID09IE5VTEwpIHsKICAgICAgICAg IFNTTGVycihTU0xfRl9TU0xfQ1JFQVRFX0NJUEhFUl9MSVNULCBFUlJfUl9NQUxMT0NfRkFJTFVS RSk7CkBAIC0yMDcsNyArMjA3LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9z c2xfY2lwaC5jLnN5c3RlbS1jaXBoZXJsaXN0IG9wZW5zc2wtMS4xLjEtcHJlOC8KICAgICAgfQog IAogICAgICBzc2xfY2lwaGVyX2NvbGxlY3RfY2lwaGVycyhzc2xfbWV0aG9kLCBudW1fb2ZfY2lw aGVycywKLUBAIC0xNTEwLDggKzE1NjksNyBAQCBTVEFDS19PRihTU0xfQ0lQSEVSKSAqc3NsX2Ny ZWF0ZV9jaXBoZXJfCitAQCAtMTUwNyw4ICsxNTY2LDcgQEAgU1RBQ0tfT0YoU1NMX0NJUEhFUikg KnNzbF9jcmVhdGVfY2lwaGVyXwogICAgICAgKiBpbiBmb3JjZSB3aXRoaW4gZWFjaCBjbGFzcwog ICAgICAgKi8KICAgICAgaWYgKCFzc2xfY2lwaGVyX3N0cmVuZ3RoX3NvcnQoJmhlYWQsICZ0YWls KSkgewpAQCAtMjE3LDcgKzIxNyw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9zc2wv c3NsX2NpcGguYy5zeXN0ZW0tY2lwaGVybGlzdCBvcGVuc3NsLTEuMS4xLXByZTgvCiAgICAgIH0K ICAKICAgICAgLyoKLUBAIC0xNTU2LDkgKzE2MTQsOCBAQCBTVEFDS19PRihTU0xfQ0lQSEVSKSAq c3NsX2NyZWF0ZV9jaXBoZXJfCitAQCAtMTU1Myw5ICsxNjExLDggQEAgU1RBQ0tfT0YoU1NMX0NJ UEhFUikgKnNzbF9jcmVhdGVfY2lwaGVyXwogICAgICBudW1fb2ZfYWxpYXNfbWF4ID0gbnVtX29m X2NpcGhlcnMgKyBudW1fb2ZfZ3JvdXBfYWxpYXNlcyArIDE7CiAgICAgIGNhX2xpc3QgPSBPUEVO U1NMX21hbGxvYyhzaXplb2YoKmNhX2xpc3QpICogbnVtX29mX2FsaWFzX21heCk7CiAgICAgIGlm IChjYV9saXN0ID09IE5VTEwpIHsKQEAgLTIyOCw3ICsyMjgsNyBAQCBkaWZmIC11cCBvcGVuc3Ns LTEuMS4xLXByZTgvc3NsL3NzbF9jaXBoLmMuc3lzdGVtLWNpcGhlcmxpc3Qgb3BlbnNzbC0xLjEu MS1wcmU4LwogICAgICB9CiAgICAgIHNzbF9jaXBoZXJfY29sbGVjdF9hbGlhc2VzKGNhX2xpc3Qs IG51bV9vZl9ncm91cF9hbGlhc2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk aXNhYmxlZF9ta2V5LCBkaXNhYmxlZF9hdXRoLCBkaXNhYmxlZF9lbmMsCi1AQCAtMTU4NCw4ICsx NjQxLDcgQEAgU1RBQ0tfT0YoU1NMX0NJUEhFUikgKnNzbF9jcmVhdGVfY2lwaGVyXworQEAgLTE1 ODEsOCArMTYzOCw3IEBAIFNUQUNLX09GKFNTTF9DSVBIRVIpICpzc2xfY3JlYXRlX2NpcGhlcl8K ICAgICAgT1BFTlNTTF9mcmVlKGNhX2xpc3QpOyAgICAgIC8qIE5vdCBuZWVkZWQgYW55bW9yZSAq LwogIAogICAgICBpZiAoIW9rKSB7ICAgICAgICAgICAgICAgICAgLyogUnVsZSBwcm9jZXNzaW5n IGZhaWx1cmUgKi8KQEAgLTIzOCw3ICsyMzgsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXBy ZTgvc3NsL3NzbF9jaXBoLmMuc3lzdGVtLWNpcGhlcmxpc3Qgb3BlbnNzbC0xLjEuMS1wcmU4Lwog ICAgICB9CiAgCiAgICAgIC8qCi1AQCAtMTU5MywxNCArMTY0OSwxOCBAQCBTVEFDS19PRihTU0xf Q0lQSEVSKSAqc3NsX2NyZWF0ZV9jaXBoZXJfCitAQCAtMTU5MCwxNCArMTY0NiwxOCBAQCBTVEFD S19PRihTU0xfQ0lQSEVSKSAqc3NsX2NyZWF0ZV9jaXBoZXJfCiAgICAgICAqIGlmIHdlIGNhbm5v dCBnZXQgb25lLgogICAgICAgKi8KICAgICAgaWYgKChjaXBoZXJzdGFjayA9IHNrX1NTTF9DSVBI RVJfbmV3X251bGwoKSkgPT0gTlVMTCkgewpAQCAtMjU5LDcgKzI1OSw3IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4xLjEtcHJlOC9zc2wvc3NsX2NpcGguYy5zeXN0ZW0tY2lwaGVybGlzdCBvcGVuc3Ns LTEuMS4xLXByZTgvCiAgICAgICAgICAgICAgc2tfU1NMX0NJUEhFUl9mcmVlKGNpcGhlcnN0YWNr KTsKICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgIH0KLUBAIC0xNjMyLDYgKzE2 OTIsMTQgQEAgU1RBQ0tfT0YoU1NMX0NJUEhFUikgKnNzbF9jcmVhdGVfY2lwaGVyXworQEAgLTE2 MjksNiArMTY4OSwxNCBAQCBTVEFDS19PRihTU0xfQ0lQSEVSKSAqc3NsX2NyZWF0ZV9jaXBoZXJf CiAgICAgICpjaXBoZXJfbGlzdCA9IGNpcGhlcnN0YWNrOwogIAogICAgICByZXR1cm4gY2lwaGVy c3RhY2s7CkBAIC0yNzQsOSArMjc0LDkgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L3Nz bC9zc2xfY2lwaC5jLnN5c3RlbS1jaXBoZXJsaXN0IG9wZW5zc2wtMS4xLjEtcHJlOC8KICB9CiAg CiAgY2hhciAqU1NMX0NJUEhFUl9kZXNjcmlwdGlvbihjb25zdCBTU0xfQ0lQSEVSICpjaXBoZXIs IGNoYXIgKmJ1ZiwgaW50IGxlbikKLWRpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOC9zc2wvc3Ns X2xpYi5jLnN5c3RlbS1jaXBoZXJsaXN0IG9wZW5zc2wtMS4xLjEtcHJlOC9zc2wvc3NsX2xpYi5j Ci0tLS0gb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfbGliLmMuc3lzdGVtLWNpcGhlcmxpc3QJ MjAxOC0wNy0yNSAxMDoxMzowNi4zNDcyMzI4ODAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMS4xLXBy ZTgvc3NsL3NzbF9saWIuYwkyMDE4LTA3LTI1IDEwOjM3OjM4LjcxNTM5NDk4OSArMDIwMAorZGlm ZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU5L3NzbC9zc2xfbGliLmMuc3lzdGVtLWNpcGhlcmxpc3Qg b3BlbnNzbC0xLjEuMS1wcmU5L3NzbC9zc2xfbGliLmMKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkv c3NsL3NzbF9saWIuYy5zeXN0ZW0tY2lwaGVybGlzdAkyMDE4LTA4LTIyIDEyOjE1OjU0LjU1Mjc0 MzQ2MiArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9zc2wvc3NsX2xpYi5jCTIwMTgtMDgt MjIgMTI6MTU6NTQuNTU4NzQzNjA5ICswMjAwCiBAQCAtNjU4LDcgKzY1OCw3IEBAIGludCBTU0xf Q1RYX3NldF9zc2xfdmVyc2lvbihTU0xfQ1RYICpjdHgKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGN0eC0+dGxzMTNfY2lwaGVyc3VpdGVzLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJihjdHgtPmNpcGhlcl9saXN0KSwKQEAgLTI4Niw3ICsyODYsNyBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMS4xLXByZTgvc3NsL3NzbF9saWIuYy5zeXN0ZW0tY2lwaGVybGlzdCBv cGVuc3NsLTEuMS4xLXByZTgvcwogICAgICBpZiAoKHNrID09IE5VTEwpIHx8IChza19TU0xfQ0lQ SEVSX251bShzaykgPD0gMCkpIHsKICAgICAgICAgIFNTTGVycihTU0xfRl9TU0xfQ1RYX1NFVF9T U0xfVkVSU0lPTiwgU1NMX1JfU1NMX0xJQlJBUllfSEFTX05PX0NJUEhFUlMpOwogICAgICAgICAg cmV0dXJuIDA7Ci1AQCAtMjkzMSw3ICsyOTMxLDcgQEAgU1NMX0NUWCAqU1NMX0NUWF9uZXcoY29u c3QgU1NMX01FVEhPRCAqbQorQEAgLTI5MzMsNyArMjkzMyw3IEBAIFNTTF9DVFggKlNTTF9DVFhf bmV3KGNvbnN0IFNTTF9NRVRIT0QgKm0KICAgICAgaWYgKCFzc2xfY3JlYXRlX2NpcGhlcl9saXN0 KHJldC0+bWV0aG9kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0LT50bHMx M19jaXBoZXJzdWl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmV0LT5j aXBoZXJfbGlzdCwgJnJldC0+Y2lwaGVyX2xpc3RfYnlfaWQsCkBAIC0yOTUsOSArMjk1LDkgQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjEuMS1wcmU4L3NzbC9zc2xfbGliLmMuc3lzdGVtLWNpcGhlcmxp c3Qgb3BlbnNzbC0xLjEuMS1wcmU4L3MKICAgICAgICAgIHx8IHNrX1NTTF9DSVBIRVJfbnVtKHJl dC0+Y2lwaGVyX2xpc3QpIDw9IDApIHsKICAgICAgICAgIFNTTGVycihTU0xfRl9TU0xfQ1RYX05F VywgU1NMX1JfTElCUkFSWV9IQVNfTk9fQ0lQSEVSUyk7CiAgICAgICAgICBnb3RvIGVycjI7Ci1k aWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTgvdGVzdC9jaXBoZXJsaXN0X3Rlc3QuYy5zeXN0ZW0t Y2lwaGVybGlzdCBvcGVuc3NsLTEuMS4xLXByZTgvdGVzdC9jaXBoZXJsaXN0X3Rlc3QuYwotLS0t IG9wZW5zc2wtMS4xLjEtcHJlOC90ZXN0L2NpcGhlcmxpc3RfdGVzdC5jLnN5c3RlbS1jaXBoZXJs aXN0CTIwMTgtMDctMjUgMTA6MTM6MDYuMzQ4MjMyOTAzICswMjAwCi0rKysgb3BlbnNzbC0xLjEu MS1wcmU4L3Rlc3QvY2lwaGVybGlzdF90ZXN0LmMJMjAxOC0wNy0yNSAxMDozOTowOC44ODc1NTI4 MTQgKzAyMDAKK2RpZmYgLXVwIG9wZW5zc2wtMS4xLjEtcHJlOS90ZXN0L2NpcGhlcmxpc3RfdGVz dC5jLnN5c3RlbS1jaXBoZXJsaXN0IG9wZW5zc2wtMS4xLjEtcHJlOS90ZXN0L2NpcGhlcmxpc3Rf dGVzdC5jCistLS0gb3BlbnNzbC0xLjEuMS1wcmU5L3Rlc3QvY2lwaGVybGlzdF90ZXN0LmMuc3lz dGVtLWNpcGhlcmxpc3QJMjAxOC0wOC0yMSAxNDoxNDoxNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBv cGVuc3NsLTEuMS4xLXByZTkvdGVzdC9jaXBoZXJsaXN0X3Rlc3QuYwkyMDE4LTA4LTIyIDEyOjE1 OjU0LjU1ODc0MzYwOSArMDIwMAogQEAgLTIxNyw3ICsyMTcsOSBAQCBzdGF0aWMgaW50IHRlc3Rf ZGVmYXVsdF9jaXBoZXJsaXN0X2V4cGxpCiAgCiAgaW50IHNldHVwX3Rlc3RzKHZvaWQpCgpkaWZm IC0tZ2l0IGEvb3BlbnNzbC0xLjEuMS12ZXJzaW9uLW92ZXJyaWRlLnBhdGNoIGIvb3BlbnNzbC0x LjEuMS12ZXJzaW9uLW92ZXJyaWRlLnBhdGNoCmluZGV4IGRhZTYzZjkuLjIwYTY3NjIgMTAwNjQ0 Ci0tLSBhL29wZW5zc2wtMS4xLjEtdmVyc2lvbi1vdmVycmlkZS5wYXRjaAorKysgYi9vcGVuc3Ns LTEuMS4xLXZlcnNpb24tb3ZlcnJpZGUucGF0Y2gKQEAgLTEsMTQgKzEsMTQgQEAKLWRpZmYgLXVw IG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaC52ZXJzaW9uLW92 ZXJyaWRlIG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaAotLS0t IG9wZW5zc2wtMS4xLjEtcHJlOC9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaC52ZXJzaW9uLW92 ZXJyaWRlCTIwMTgtMDYtMjAgMTY6NDg6MTMuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0x LjEuMS1wcmU4L2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5oCTIwMTgtMDctMjUgMTE6MDM6Mjku Mjk3NTQzMzkyICswMjAwCitkaWZmIC11cCBvcGVuc3NsLTEuMS4xLXByZTkvaW5jbHVkZS9vcGVu c3NsL29wZW5zc2x2LmgudmVyc2lvbi1vdmVycmlkZSBvcGVuc3NsLTEuMS4xLXByZTkvaW5jbHVk ZS9vcGVuc3NsL29wZW5zc2x2LmgKKy0tLSBvcGVuc3NsLTEuMS4xLXByZTkvaW5jbHVkZS9vcGVu c3NsL29wZW5zc2x2LmgudmVyc2lvbi1vdmVycmlkZQkyMDE4LTA4LTIyIDEyOjI1OjMxLjk1OTg4 NjkyOSArMDIwMAorKysrIG9wZW5zc2wtMS4xLjEtcHJlOS9pbmNsdWRlL29wZW5zc2wvb3BlbnNz bHYuaAkyMDE4LTA4LTIyIDEyOjI2OjE3Ljk5NzAxNDU5NSArMDIwMAogQEAgLTM5LDggKzM5LDgg QEAgZXh0ZXJuICJDIiB7CiAgICogKFByaW9yIHRvIDAuOS41YSBiZXRhMSwgYSBkaWZmZXJlbnQg c2NoZW1lIHdhcyB1c2VkOiBNTU5ORkZSQkIgZm9yCiAgICogIG1ham9yIG1pbm9yIGZpeCBmaW5h bCBwYXRjaC9iZXRhKQogICAqLwotLSMgZGVmaW5lIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgIDB4 MTAxMDEwMDhMCi0tIyBkZWZpbmUgT1BFTlNTTF9WRVJTSU9OX1RFWFQgICAgIk9wZW5TU0wgMS4x LjEtcHJlOCAoYmV0YSkgMjAgSnVuIDIwMTgiCistIyBkZWZpbmUgT1BFTlNTTF9WRVJTSU9OX05V TUJFUiAgMHgxMDEwMTAwOUwKKy0jIGRlZmluZSBPUEVOU1NMX1ZFUlNJT05fVEVYVCAgICAiT3Bl blNTTCAxLjEuMS1wcmU5IChiZXRhKSAyMSBBdWcgMjAxOCIKICsjIGRlZmluZSBPUEVOU1NMX1ZF UlNJT05fTlVNQkVSICAweDEwMTAxMDBmTAotKyMgZGVmaW5lIE9QRU5TU0xfVkVSU0lPTl9URVhU ICAgICJPcGVuU1NMIDEuMS4xLXByZTggKGJldGEpIEZJUFMgMjAgSnVuIDIwMTgiCisrIyBkZWZp bmUgT1BFTlNTTF9WRVJTSU9OX1RFWFQgICAgIk9wZW5TU0wgMS4xLjEtcHJlOSAoYmV0YSkgRklQ UyAyMSBBdWcgMjAxOCIKICAKICAvKi0KICAgKiBUaGUgbWFjcm9zIGJlbG93IGFyZSB0byBiZSB1 c2VkIGZvciBzaGFyZWQgbGlicmFyeSAoLnNvLCAuZGxsLCAuLi4pCgpkaWZmIC0tZ2l0IGEvb3Bl bnNzbC5zcGVjIGIvb3BlbnNzbC5zcGVjCmluZGV4IDc1ODFjZmEuLjViMmQxNzEgMTAwNjQ0Ci0t LSBhL29wZW5zc2wuc3BlYworKysgYi9vcGVuc3NsLnNwZWMKQEAgLTE5LDEyICsxOSwxMiBAQAog CiAlZ2xvYmFsIF9wZXJmb3JtYW5jZV9idWlsZCAxCiAKLSVnbG9iYWwgcHJlcmVsZWFzZSBwcmU4 CislZ2xvYmFsIHByZXJlbGVhc2UgcHJlOQogCiBTdW1tYXJ5OiBVdGlsaXRpZXMgZnJvbSB0aGUg Z2VuZXJhbCBwdXJwb3NlIGNyeXB0b2dyYXBoeSBsaWJyYXJ5IHdpdGggVExTIGltcGxlbWVudGF0 aW9uCiBOYW1lOiBvcGVuc3NsCiBWZXJzaW9uOiAxLjEuMQotUmVsZWFzZTogMC4le3ByZXJlbGVh c2V9LjQlez9kaXN0fQorUmVsZWFzZTogMC4le3ByZXJlbGVhc2V9LjElez9kaXN0fQogRXBvY2g6 IDEKICMgV2UgaGF2ZSB0byByZW1vdmUgY2VydGFpbiBwYXRlbnRlZCBhbGdvcml0aG1zIGZyb20g dGhlIG9wZW5zc2wgc291cmNlCiAjIHRhcmJhbGwgd2l0aCB0aGUgaG9iYmxlLW9wZW5zc2wgc2Ny aXB0IHdoaWNoIGlzIGluY2x1ZGVkIGJlbG93LgpAQCAtNjAsNyArNjAsNyBAQCBQYXRjaDQzOiBv cGVuc3NsLTEuMS4xLWlnbm9yZS1ib3VuZC5wYXRjaAogUGF0Y2g0NDogb3BlbnNzbC0xLjEuMS12 ZXJzaW9uLW92ZXJyaWRlLnBhdGNoCiBQYXRjaDQ1OiBvcGVuc3NsLTEuMS4wLXdlYWstY2lwaGVy cy5wYXRjaAogIyBCYWNrcG9ydGVkIGZpeGVzIGluY2x1ZGluZyBzZWN1cml0eSBmaXhlcwotUGF0 Y2g3MDogb3BlbnNzbC0xLjEuMS1iaWRpLXNodXRkb3duLnBhdGNoCitQYXRjaDcwOiBvcGVuc3Ns LTEuMS4xLXNlY2xldmVsLWNoZWNrLnBhdGNoCiAKIExpY2Vuc2U6IE9wZW5TU0wKIEdyb3VwOiBT eXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzCkBAIC0xNjMsNyArMTYzLDcgQEAgY3AgJXtTT1VS Q0UxM30gdGVzdC8KICVwYXRjaDQ0IC1wMSAtYiAudmVyc2lvbi1vdmVycmlkZQogJXBhdGNoNDUg LXAxIC1iIC53ZWFrLWNpcGhlcnMKIAotJXBhdGNoNzAgLXAxIC1iIC5iaWRpLXNodXRkb3duCisl cGF0Y2g3MCAtcDEgLWIgLnNlY2xldmVsLWNoZWNrCiAKICVidWlsZAogIyBGaWd1cmUgb3V0IHdo aWNoIGZsYWdzIHdlIHdhbnQgdG8gdXNlLgpAQCAtNDQ0LDYgKzQ0NCw5IEBAIGV4cG9ydCBMRF9M SUJSQVJZX1BBVEgKICVwb3N0dW4gbGlicyAtcCAvc2Jpbi9sZGNvbmZpZwogCiAlY2hhbmdlbG9n CisqIFdlZCBBdWcgMjIgMjAxOCBUb23DocWhIE1yw6F6IDx0bXJhekByZWRoYXQuY29tPiAxLjEu MS0wLnByZTkuMQorLSB1cGRhdGUgdG8gdGhlIGxhdGVzdCAxLjEuMSBiZXRhIHZlcnNpb24KKwog KiBNb24gQXVnIDEzIDIwMTggVG9tw6HFoSBNcsOheiA8dG1yYXpAcmVkaGF0LmNvbT4gMS4xLjEt MC5wcmU4LjQKIC0gYmlkaXJlY3Rpb25hbCBzaHV0ZG93biBmaXhlcyBmcm9tIHVwc3RyZWFtCiAK CmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCAxZTBkODFhLi45YzEyMWFiIDEw MDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEgQEAKLVNIQTUxMiAob3Bl bnNzbC0xLjEuMS1wcmU4LWhvYmJsZWQudGFyLnh6KSA9IGVjYTBjODg0M2M2OWZjM2RjZDFhMjdk NTYxMDczNjg1NDhmNTY3NGE2NGRlY2M2MmZmNDgxOTZkMzA0ODVmMjg3NTUwYmI2NzFjYThiYzQ4 YWVlZjQ4MmE4NDE5NDYyNjM4YmYxNTI4NTBjNzQxZTQ1NTQyMTkyMzBmNGM0NTgyCitTSEE1MTIg KG9wZW5zc2wtMS4xLjEtcHJlOS1ob2JibGVkLnRhci54eikgPSAwZjcyM2NkYjE3ODlhOGVhODkz YmI2ZjE5NDMyMWU1ODZkNzBjZTFkMTliOTgzMjA3MmFiOTBjMDI4MDVmNGFiMTFmZDc2MmI1ZDdi NDQzMzA2MzQzMmM5MWExOTA0ZjlmYWMyMDJlNjRmMjJiODlmM2RmNmNkNmUyZWYyNTQwMQo=